/* Functional and responsive fixes kept separate from the generated base stylesheet. */
.search { position:relative; }
.search-submit { width:1px; height:1px; overflow:hidden; padding:0; border:0; position:absolute; }
.search-suggestions { display:none; position:absolute; z-index:80; top:calc(100% + 8px); left:0; right:0; max-height:360px; overflow:auto; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-md); border-radius:6px; padding:6px; }
.search-suggestions.is-open { display:block; }
.search-suggestions a { display:flex; align-items:center; gap:12px; padding:9px; color:var(--ink); border-radius:4px; }
.search-suggestions a:hover { background:var(--soft); }
.search-suggestions img { width:48px; height:42px; object-fit:contain; flex:0 0 auto; }
.search-suggestions span { display:flex; flex:1; flex-direction:column; font-weight:600; font-size:13px; }
.search-suggestions small { color:var(--accent); margin-top:3px; }
.search-suggestions p { padding:12px; margin:0; color:var(--muted); font-size:13px; }

.mobile-drawer { display:none; }
.vov-toast { position:fixed; z-index:1001; right:20px; bottom:20px; max-width:calc(100vw - 40px); padding:13px 16px; background:var(--dark); color:#fff; border-radius:6px; box-shadow:var(--shadow-md); transform:translateY(12px); opacity:0; transition:opacity .2s ease,transform .2s ease; }
.vov-toast.is-visible { opacity:1; transform:translateY(0); }
.vov-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; }
.vov-modal__backdrop { position:absolute; inset:0; background:rgba(13,17,48,.58); }
.vov-modal__panel { position:relative; width:min(100%,560px); max-height:calc(100vh - 40px); overflow:auto; padding:28px; background:#fff; border-radius:8px; box-shadow:0 22px 56px rgba(0,0,0,.25); }
.vov-modal__panel h2 { margin:0 32px 20px 0; font-size:24px; }
.vov-modal__close { position:absolute; right:16px; top:14px; width:34px; height:34px; border-radius:50%; background:var(--soft); font-size:24px; line-height:1; }
.vov-modal-open { overflow:hidden; }
.vov-cart-loading { position:relative !important; pointer-events:none !important; min-width:42px; }
.btn.btn-primary.vov-cart-loading { color:transparent !important; }
.vov-cart-loading > * { opacity:0 !important; }
.btn.btn-primary.vov-cart-loading::after,.vov-cart-loading::after { content:"" !important; position:absolute; inset:0; width:18px; height:18px; margin:auto; border:2px solid rgba(255,255,255,.45); border-top-color:#fff; border-radius:50%; transform:none !important; transition:none !important; animation:vov-cart-spin .7s linear infinite; }
.icon-btn.vov-cart-loading::after { border-color:rgba(15,21,53,.28); border-top-color:var(--accent); }
@keyframes vov-cart-spin { to { transform:rotate(360deg); } }
.vov-cart-modal__panel { width:min(100%,440px); padding:36px 28px 28px; text-align:center; }
.vov-cart-modal__check { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 16px; border-radius:50%; background:#eaf8ef; color:#16803c; font-size:30px; font-weight:800; }
.vov-cart-modal__panel h2 { margin:0 36px 8px; }
.vov-cart-modal__description p { margin:0; color:var(--muted); }
.vov-cart-modal__description strong { color:var(--ink); }
.vov-cart-modal__actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.vov-cart-modal__actions .btn { width:100%; padding:13px 12px; }
@media (max-width:480px) {
  .vov-cart-modal__panel { padding:32px 20px 20px; }
  .vov-cart-modal__actions { grid-template-columns:1fr; }
}
.vov-saved { margin:0; padding:0; list-style:none; }
.vov-saved__item { display:flex; align-items:center; gap:14px; padding:12px 0; border-top:1px solid var(--line); }
.vov-saved__item img { width:64px; height:54px; object-fit:contain; }
.vov-saved__item div { display:flex; flex:1; flex-direction:column; gap:3px; }
.vov-saved__item a { font-weight:600; color:var(--ink); }
.vov-saved__item strong { color:var(--accent); font-size:14px; }
.vov-saved__item button { width:30px; height:30px; border-radius:50%; background:var(--soft); font-size:20px; }
.vov-saved__empty { color:var(--muted); padding:12px 0; }
.vov-modal__panel--compare { width:min(100%,1120px); }
.vov-compare__hint { margin:-8px 0 16px; color:var(--muted); font-size:14px; }
.vov-compare__scroll { overflow-x:auto; }
.vov-compare { width:100%; min-width:640px; border-collapse:collapse; font-size:13px; }
.vov-compare th,.vov-compare td { padding:12px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.vov-compare thead th { min-width:180px; background:var(--soft); font-weight:600; }
.vov-compare thead th:first-child { min-width:130px; }
.vov-compare thead img { width:72px; height:56px; margin:0 0 8px; object-fit:contain; }
.vov-compare thead a { color:var(--ink); }
.vov-compare tbody th { background:var(--soft); font-weight:700; white-space:nowrap; }
.vov-question { display:grid; gap:14px; }
.vov-question label { display:grid; gap:6px; color:var(--ink); font-size:13px; font-weight:700; }
.vov-question input,.vov-question textarea { width:100%; padding:11px 12px; color:var(--ink); border:1px solid var(--line); border-radius:4px; font:inherit; }
.vov-question__message { min-height:20px; margin:0; color:var(--accent); font-size:13px; }
.vov-honeypot { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.prod-actions .icon-btn-dark { border:0; cursor:pointer; }
.prod-actions .icon-btn-dark.is-active { background:var(--gradient-primary); }
.socials a[aria-label="Twitter"],.socials a[aria-label="YouTube"] { display:none; }

/* Homepage: fully interactive tab panels and comfortable small-screen rails. */
.vov-tab-panel[hidden] { display:none!important; }
.vov-hp-products .tabs,.vov-hp-blog .tabs { flex-wrap:wrap; }
.vov-hp-products .prod-card h3 a,.vov-hp-blog .blog-card h3 a { color:inherit; text-decoration:none; }
.vov-hp-products .prod-card h3 a:hover,.vov-hp-blog .blog-card h3 a:hover { color:var(--accent); }
.vov-hp-blog .blog-card .blog-body > p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.heritage .h-icon { filter:none!important; }

/* Keep highlighted words in headings consistent with the Newsletter gradient. */
h1 .accent,
h2 .accent,
h3 .accent {
  background:var(--gradient-primary);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

/* My Account: match the shop's cards, typography and primary colour system. */
body.woocommerce-account article.container {
  padding-top:46px;
  padding-bottom:64px;
}
body.woocommerce-account article.container > h1 {
  position:relative;
  margin:0 0 30px;
  padding-bottom:16px;
  color:var(--ink);
  font-size:40px;
  font-weight:800;
  letter-spacing:-1.2px;
  line-height:1.12;
}
body.woocommerce-account article.container > h1::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:64px;
  height:4px;
  background:var(--gradient-primary);
}
body.woocommerce-account .woocommerce {
  grid-template-columns:220px minmax(0,1fr);
  gap:24px;
  align-items:start;
}
body.woocommerce-account .woocommerce-MyAccount-navigation {
  position:sticky;
  top:20px;
  overflow:hidden;
  padding:10px;
  border:0;
  border-radius:8px;
  background:var(--gradient-dark);
  box-shadow:0 14px 32px rgba(15,21,53,.18);
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display:grid;
  gap:3px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display:flex;
  align-items:center;
  min-height:46px;
  padding:12px 14px;
  border:0;
  border-radius:5px;
  color:#dfe3f0;
  font-size:14px;
  font-weight:650;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
  background:rgba(255,255,255,.1);
  color:#fff;
  transform:translateX(2px);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  border:0;
  background:#fff;
  color:var(--ink);
  box-shadow:0 5px 14px rgba(0,0,0,.14);
}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top:7px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.18);
}
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color:#ffd3c1;
}
body.woocommerce-account .woocommerce-MyAccount-content {
  min-width:0;
  padding:34px;
  border:1px solid var(--line);
  border-top:4px solid var(--accent);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
  margin:0 0 24px;
  padding:16px 18px;
  border:1px solid #ffd8c8;
  border-radius:5px;
  background:#fff8f4;
  color:var(--ink);
  line-height:1.65;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color:var(--accent);
  font-weight:650;
  text-decoration:underline;
  text-decoration-color:rgba(255,2,1,.28);
  text-underline-offset:3px;
}
body.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover {
  color:var(--primary-700);
  text-decoration-color:currentColor;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3 {
  margin:0 0 18px;
  color:var(--ink);
  font-size:24px;
  font-weight:750;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address {
  min-height:100%;
  padding:22px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--soft);
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
  margin:0;
  font-size:17px;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit {
  padding:7px 11px;
  border:1px solid rgba(255,2,1,.22);
  border-radius:4px;
  background:#fff;
  font-size:12px;
  font-weight:750;
  text-decoration:none;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover {
  border-color:var(--accent);
  background:#fff4ef;
}
body.woocommerce-account .woocommerce-MyAccount-content address {
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
}
body.woocommerce-account .woocommerce-MyAccount-content fieldset {
  margin:28px 0 0;
  padding:22px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--soft);
}
body.woocommerce-account .woocommerce-MyAccount-content legend {
  padding:0 8px;
  color:var(--ink);
  font-weight:750;
}
body.woocommerce-account .woocommerce-MyAccount-content .form-row {
  margin-bottom:18px;
}
body.woocommerce-account .woocommerce-MyAccount-content button.button {
  min-height:48px;
  margin-top:4px;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table {
  margin:0;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button {
  padding:9px 13px!important;
  font-size:12px!important;
}

/* Sign-in and registration use two balanced cards instead of the default layout. */
body.woocommerce-account:not(.logged-in) .woocommerce {
  display:block;
  max-width:980px;
  margin:0 auto;
}
body.woocommerce-account:not(.logged-in) .u-columns {
  gap:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  box-shadow:var(--shadow-sm);
}
body.woocommerce-account:not(.logged-in) .u-column1,
body.woocommerce-account:not(.logged-in) .u-column2 {
  padding:36px;
  border:0;
  border-radius:0;
  background:#fff;
}
body.woocommerce-account:not(.logged-in) .u-column1 {
  border-right:1px solid var(--line);
}
body.woocommerce-account:not(.logged-in) .u-column1 h2,
body.woocommerce-account:not(.logged-in) .u-column2 h2 {
  margin:0 0 22px;
  color:var(--ink);
  font-size:26px;
  font-weight:800;
}
body.woocommerce-account:not(.logged-in) form.login,
body.woocommerce-account:not(.logged-in) form.register {
  margin:0;
  padding:0;
  border:0;
}
body.woocommerce-account:not(.logged-in) .woocommerce-form-login__rememberme {
  color:var(--muted);
  font-size:13px;
}
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword {
  margin:16px 0 0;
}
body.woocommerce-account:not(.logged-in) .woocommerce-LostPassword a {
  color:var(--accent);
  font-weight:650;
}

@media (max-width:900px) {
  body.woocommerce-account article.container { padding-top:30px; padding-bottom:40px; }
  body.woocommerce-account article.container > h1 { margin-bottom:22px; font-size:32px; }
  body.woocommerce-account .woocommerce { grid-template-columns:minmax(0,1fr)!important; gap:16px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { position:static; padding:8px; }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex; gap:4px; width:max-content; }
  body.woocommerce-account .woocommerce-MyAccount-navigation { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li { flex:0 0 auto; }
  body.woocommerce-account .woocommerce-MyAccount-navigation li a { min-height:42px; padding:10px 12px; white-space:nowrap; }
  body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin:0; padding:0; border:0; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding:26px 22px; }
  body.woocommerce-account:not(.logged-in) .u-columns { grid-template-columns:1fr; }
  body.woocommerce-account:not(.logged-in) .u-column1 { border-right:0; border-bottom:1px solid var(--line); }
}
@media (max-width:560px) {
  body.woocommerce-account article.container { padding-right:16px; padding-left:16px; }
  body.woocommerce-account article.container > h1 { padding-bottom:13px; font-size:29px; }
  body.woocommerce-account article.container > h1::after { width:50px; height:3px; }
  body.woocommerce-account .woocommerce-MyAccount-content { padding:22px 16px; }
  body.woocommerce-account .woocommerce-MyAccount-content > p:first-child { padding:14px; font-size:14px; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { padding:17px; }
  body.woocommerce-account .woocommerce-MyAccount-content fieldset { padding:16px; }
  body.woocommerce-account:not(.logged-in) .u-column1,
  body.woocommerce-account:not(.logged-in) .u-column2 { padding:26px 20px; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tbody,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr,
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td { display:block; width:100%; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table thead { display:none; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr { padding:14px 0; border-bottom:1px solid var(--line); }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table tr:last-child { border-bottom:0; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td { padding:5px 0!important; border:0!important; text-align:left!important; }
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td::before { content:attr(data-title); display:block; margin-bottom:2px; color:var(--muted); font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
}

@media (max-width:860px) {
  .vov-hp-products .section-head,.vov-hp-blog .section-head { align-items:flex-start; gap:14px; }
  .vov-hp-products .tabs,.vov-hp-blog .tabs { width:100%; overflow-x:auto; flex-wrap:nowrap; padding:4px; -webkit-overflow-scrolling:touch; }
  .vov-hp-products .tab,.vov-hp-blog .tab { flex:0 0 auto; white-space:nowrap; }
  .reviews-grid { display:block!important; }
  .reviews-aside { margin-bottom:22px; }
  .reviews { display:flex!important; gap:14px!important; overflow-x:auto!important; overflow-y:hidden; padding:0 2px 8px!important; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .reviews::-webkit-scrollbar { display:none; }
  .reviews .review { flex:0 0 min(82vw,360px)!important; min-width:0; scroll-snap-align:start; }
  .reviews-dots { display:flex!important; justify-content:center; gap:10px; margin-top:14px; }
  .newsletter { padding-left:16px!important; padding-right:16px!important; }
  .newsletter .newsletter-inner { width:100%; padding-left:20px!important; padding-right:20px!important; }
  .newsletter .newsletter-fields { width:100%; }
  .newsletter .newsletter-fields input,.newsletter .newsletter-fields .btn { min-width:0; }
  .features { padding-left:0!important; padding-right:0!important; }
  .features .container { padding-left:16px; padding-right:16px; }
  .features-grid { display:flex!important; gap:14px!important; overflow-x:auto!important; overflow-y:hidden; padding:0 2px 8px!important; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
  .features-grid::-webkit-scrollbar { display:none; }
  .features-grid .feat { flex:0 0 min(78vw,310px)!important; min-width:0; scroll-snap-align:start; }
  .features-dots { display:flex!important; justify-content:center; gap:10px; margin-top:14px; }
}

@media (max-width:520px) {
  .newsletter { padding-left:12px!important; padding-right:12px!important; }
  .newsletter .newsletter-inner { padding:22px 18px!important; }
  .newsletter .newsletter-fields { display:grid!important; grid-template-columns:1fr!important; gap:10px; }
  .newsletter .newsletter-fields input,.newsletter .newsletter-fields .btn { width:100%!important; }
  .reviews .review { flex-basis:calc(100vw - 48px)!important; }
  .features-grid .feat { flex-basis:calc(100vw - 48px)!important; }
}

/* Checkout removes marketing sections and uses a calm two-column checkout at desktop widths. */
body.woocommerce-checkout .newsletter,
body.woocommerce-checkout .reviews-section,
body.woocommerce-checkout .footer-banner,
body.woocommerce-checkout .features { display:none; }
@media (min-width:1000px) {
  .woocommerce-checkout form.woocommerce-checkout { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); gap:0 32px; align-items:start; }
  .woocommerce-checkout form.woocommerce-checkout #customer_details { grid-column:1; grid-row:1 / span 3; }
  .woocommerce-checkout form.woocommerce-checkout #order_review_heading,
  .woocommerce-checkout form.woocommerce-checkout #order_review { grid-column:2; }
  .woocommerce-checkout form.woocommerce-checkout #order_review { position:sticky; top:20px; }
}
.woocommerce-checkout form.checkout_coupon { display:flex; align-items:end; gap:10px; max-width:430px; }
.woocommerce-checkout form.checkout_coupon .form-row { float:none!important; width:auto!important; margin:0!important; }
.woocommerce-checkout form.checkout_coupon .input-text { width:180px!important; min-width:0; }
.woocommerce-checkout form.checkout_coupon button { white-space:nowrap; }

@media (max-width:860px) {
  .topbar { display:none; }
  .header-inner { grid-template-columns:1fr auto; gap:12px; padding:12px 16px; }
  .header-inner > .search { display:none; }
  .logo img { height:34px; }
  .header-actions { gap:8px; }
  .header-actions > .iconlink:first-child { display:none; }
  .iconlink { width:38px; height:38px; }
  .mainnav-inner { min-height:50px; padding:0 16px; justify-content:space-between; }
  .mainnav .megamenu-wrap,.mainnav .nav-links,.mainnav .nav-deals { display:none; }
  .mobile-toggle { display:inline-flex!important; width:42px; height:42px; align-items:center; justify-content:center; color:#fff; }
  .mobile-drawer { display:block; position:fixed; z-index:999; inset:0; pointer-events:none; visibility:hidden; }
  .mobile-drawer.is-open { pointer-events:auto; visibility:visible; }
  .mobile-drawer__backdrop { position:absolute; inset:0; background:rgba(13,17,48,.58); opacity:0; transition:opacity .25s ease; }
  .mobile-drawer__panel { position:absolute; top:0; bottom:0; left:0; width:min(92vw,390px); padding:20px 16px; overflow:auto; background:#fff; transform:translateX(-100%); transition:transform .25s ease; }
  .mobile-drawer.is-open .mobile-drawer__backdrop { opacity:1; }
  .mobile-drawer.is-open .mobile-drawer__panel { transform:translateX(0); }
  .mobile-drawer__head { display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; font-size:20px; }
  .mobile-close { width:36px; height:36px; border-radius:50%; background:var(--soft); font-size:20px; }
  .mobile-search { display:flex!important; max-width:none; margin:0 0 18px; }
  .mobile-menu { padding:0; margin:0; list-style:none; border-top:1px solid var(--line); }
  .mobile-menu > li { border-bottom:1px solid var(--line); }
  .mobile-menu > li > a,.mobile-menu__row a { display:block; padding:15px 2px; color:var(--ink); font-weight:700; }
  .mobile-menu__row { display:flex; align-items:center; }
  .mobile-menu__row a { flex:1; }
  /* The base theme also styles `.m-toggle span`, which produced a small
     off-centre orange square inside the round control. Keep a single,
     centred tap target and colour the whole control only when expanded. */
  .mobile-menu .m-toggle { display:inline-flex!important; align-items:center!important; justify-content:center!important; flex:0 0 42px; width:42px; height:42px; margin:0; padding:0; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font-size:23px; font-weight:500; line-height:1; }
  .mobile-menu .m-toggle span { display:flex!important; align-items:center!important; justify-content:center!important; width:100%!important; height:100%!important; margin:0!important; padding:0!important; border-radius:inherit!important; background:transparent!important; color:inherit!important; font-size:inherit!important; line-height:1!important; transform:translateY(-1px); }
  .mobile-menu .m-has-sub.is-open .m-toggle { border-color:transparent; background:var(--gradient-primary); color:#fff; box-shadow:0 5px 12px rgba(255,90,31,.22); }
  .mobile-menu .m-has-sub.is-open .m-toggle span { background:transparent!important; color:#fff!important; }
  .mobile-submenu { display:none; padding:0 0 10px 14px; }
  .m-has-sub.is-open .mobile-submenu { display:block; }
  .mobile-submenu a { display:block; padding:9px 0; color:var(--muted); }
  .prod-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px; }
  .prod-body { padding:12px; gap:8px; }
  .prod-card h3 { font-size:14px; }
  .prod-desc,.prod-tags,.stock { display:none; }
  .prod-foot { align-items:center; padding-top:6px; }
  .price { font-size:18px; }
  .prod-actions { gap:4px; }
  .prod-actions .icon-btn,.prod-actions .icon-btn-dark { width:34px; height:34px; }
  .woocommerce-checkout form.checkout_coupon { align-items:stretch; flex-wrap:wrap; }
  .woocommerce-checkout form.checkout_coupon .input-text { width:100%!important; }
}
@media (max-width:390px) {
  .header-actions > .iconlink:nth-child(2) { display:none; }
  .prod-grid { grid-template-columns:1fr!important; }
}

/* Cart: give both primary checkout actions the same clear emphasis. */
.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button {
  min-height:52px;
  margin:0!important;
  padding:15px 24px!important;
  background:var(--gradient-primary)!important;
  color:#fff!important;
  font-weight:700!important;
  font-size:15px!important;
  box-shadow:0 6px 16px rgba(255,90,31,.28)!important;
}
.woocommerce .cart-collaterals .wc-proceed-to-checkout .checkout-button:hover {
  background:var(--gradient-primary-hover)!important;
  box-shadow:var(--shadow-orange)!important;
}
.woocommerce .cart-collaterals {
  margin-bottom:48px;
}
form.woocommerce-cart-form table.cart td.actions .coupon .input-text {
  width:220px!important;
  height:46px!important;
  padding:10px 14px!important;
  margin-right:10px!important;
}
form.woocommerce-cart-form table.cart td.actions .coupon button {
  min-height:46px;
}

/* WPify Woo: withdrawal form aligned with the store's cards and controls. */
#wpify-woo-withdrawal-form {
  position:relative;
  max-width:820px;
  margin:0 0 48px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-top:4px solid var(--accent);
  box-shadow:var(--shadow-sm);
}
#wpify-woo-withdrawal-form::before {
  content:'ODSTÚPENIE OD ZMLUVY';
  display:block;
  margin:0 0 8px;
  color:var(--accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:1.2px;
}
#wpify-woo-withdrawal-form::after {
  content:'Overte svoju objednávku a vyberte položky, ktoré chcete vrátiť.';
  position:absolute;
  top:57px;
  left:30px;
  right:30px;
  margin:0;
  color:var(--muted);
  font-size:14px;
}
#wpify-woo-withdrawal-form .woocommerce-form-withdrawal {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 20px;
  margin-top:38px;
}
#wpify-woo-withdrawal-form .form-row {
  float:none!important;
  width:auto!important;
  margin:0!important;
}
#wpify-woo-withdrawal-form .form-row-wide,
#wpify-woo-withdrawal-form .form-row:last-child {
  grid-column:1 / -1;
}
#wpify-woo-withdrawal-form label {
  display:block;
  margin:0 0 7px;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
}
#wpify-woo-withdrawal-form abbr.required {
  color:var(--accent);
  text-decoration:none;
}
#wpify-woo-withdrawal-form input:not([type="hidden"]),
#wpify-woo-withdrawal-form textarea {
  width:100%;
  min-height:48px;
  padding:11px 13px;
  color:var(--ink);
  background:#fff;
  border:1px solid var(--line);
  border-radius:4px;
  font:inherit;
  transition:border-color var(--transition),box-shadow var(--transition);
}
#wpify-woo-withdrawal-form textarea { min-height:112px; resize:vertical; }
#wpify-woo-withdrawal-form input:focus,
#wpify-woo-withdrawal-form textarea:focus {
  outline:0;
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(255,90,31,.14);
}
#wpify-woo-withdrawal-form .form-row-hint,
#wpify-woo-withdrawal-form .wpify-woo-helper-text {
  color:var(--muted);
  font-size:12.5px;
  line-height:1.45;
}
#wpify-woo-withdrawal-form .button {
  min-height:48px;
  padding:13px 22px!important;
  background:var(--gradient-primary)!important;
  color:#fff!important;
  border:0!important;
  border-radius:0!important;
  font-weight:700!important;
  box-shadow:0 6px 16px rgba(255,90,31,.28)!important;
}
#wpify-woo-withdrawal-form .button:hover {
  background:var(--gradient-primary-hover)!important;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:var(--shadow-orange)!important;
}
#wpify-woo-withdrawal-form .wpify-woo-helper-text { max-width:560px; }

@media (max-width:680px) {
  .woocommerce .cart-collaterals { margin-bottom:32px; }
  form.woocommerce-cart-form table.cart td.actions .coupon { display:flex; flex-wrap:wrap; gap:10px; }
  form.woocommerce-cart-form table.cart td.actions .coupon .input-text { width:100%!important; margin:0!important; }
  form.woocommerce-cart-form table.cart td.actions .coupon button { flex:1; }
  #wpify-woo-withdrawal-form { margin-bottom:32px; padding:22px 18px; }
  #wpify-woo-withdrawal-form::after { top:49px; left:18px; right:18px; }
  #wpify-woo-withdrawal-form .woocommerce-form-withdrawal { grid-template-columns:1fr; gap:16px; margin-top:38px; }
  #wpify-woo-withdrawal-form .form-row-wide,
  #wpify-woo-withdrawal-form .form-row:last-child { grid-column:auto; }
}

/* Checkout: billing on the left, a prominent order summary on the right. */
.woocommerce form.woocommerce-checkout #order_review_heading {
  margin:0;
  padding:25px 28px 14px;
  color:var(--ink);
  background:linear-gradient(135deg,#fff2eb 0%,#fff8f4 100%);
  border:1px solid #ffd8c8;
  border-bottom:0;
  font-size:23px;
  line-height:1.25;
}
.woocommerce form.woocommerce-checkout #order_review {
  padding:0 28px 28px;
  background:linear-gradient(135deg,#fff2eb 0%,#fff8f4 100%);
  border:1px solid #ffd8c8;
  border-top:0;
  box-shadow:var(--shadow-sm);
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table {
  width:100%;
  margin:0 0 20px;
  background:#fff;
  border:1px solid rgba(255,90,31,.18);
  border-collapse:collapse;
  border-spacing:0;
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table th,
.woocommerce form.woocommerce-checkout #order_review table.shop_table td {
  padding:14px 16px;
  border:0!important;
  border-bottom:1px solid rgba(255,90,31,.18)!important;
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table thead th {
  background:#fff;
  color:var(--ink);
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table tr,
.woocommerce form.woocommerce-checkout #order_review table.shop_table th,
.woocommerce form.woocommerce-checkout #order_review table.shop_table td {
  background:#fff;
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table thead th {
  border-bottom:1px solid rgba(255,90,31,.18)!important;
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child th,
.woocommerce form.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child td {
  border-bottom:0!important;
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table tbody tr:first-child td {
  padding-top:16px;
}
.woocommerce form.woocommerce-checkout #order_review table.shop_table .order-total th,
.woocommerce form.woocommerce-checkout #order_review table.shop_table .order-total td {
  background:#fff;
  color:var(--accent);
  font-size:17px;
}
.woocommerce form.woocommerce-checkout #payment {
  margin:0;
  padding:18px;
  background:#fff;
  border:1px solid rgba(255,90,31,.18);
}
.woocommerce form.woocommerce-checkout #payment ul.payment_methods {
  margin:0 0 16px;
  padding:0;
  border-bottom:1px solid var(--line);
}
.woocommerce form.woocommerce-checkout #payment .payment_box {
  margin:10px 0 14px;
  padding:12px;
  background:var(--soft);
  color:var(--muted);
  font-size:13px;
}
.woocommerce form.woocommerce-checkout #payment #place_order {
  width:100%;
  min-height:52px;
  margin:14px 0 0;
  padding:15px 18px!important;
  background:var(--gradient-primary)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  box-shadow:0 6px 16px rgba(255,90,31,.28)!important;
}
.woocommerce form.woocommerce-checkout #payment #place_order:hover {
  background:var(--gradient-primary-hover)!important;
  transform:translateY(-2px);
  box-shadow:var(--shadow-orange)!important;
}

@media (min-width:1000px) {
  .woocommerce form.woocommerce-checkout {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:32px;
    align-items:start;
  }
  .woocommerce form.woocommerce-checkout #customer_details { grid-column:1; grid-row:1 / span 2; }
  .woocommerce form.woocommerce-checkout #customer_details .col-1,
  .woocommerce form.woocommerce-checkout #customer_details .col-2 {
    float:none;
    width:100%;
    margin:0;
  }
  .woocommerce form.woocommerce-checkout #customer_details .col-2 { margin-top:26px; }
  .woocommerce form.woocommerce-checkout #order_review_heading { grid-column:2; grid-row:1; }
  .woocommerce form.woocommerce-checkout #order_review { grid-column:2; grid-row:2; }
}

@media (max-width:999px) {
  .woocommerce form.woocommerce-checkout #order_review_heading { margin-top:32px; }
}
@media (max-width:560px) {
  .woocommerce form.woocommerce-checkout #order_review_heading { padding:21px 18px 8px; font-size:21px; }
  .woocommerce form.woocommerce-checkout #order_review { padding:0 18px 18px; }
  .woocommerce form.woocommerce-checkout #payment { padding:14px; }
}

/* Homepage: wide editorial hero images supplied through the Homepage editor. */
.slide--photo {
  background-image:var(--vov-hero-photo);
  background-position:center;
  background-repeat:no-repeat;
  background-size:cover;
}
.slide--photo .slide-bg {
  background:linear-gradient(90deg,rgba(248,250,255,.98) 0%,rgba(248,250,255,.95) 39%,rgba(248,250,255,.42) 54%,rgba(248,250,255,0) 72%);
}
.slide--photo .slide-bg::after { display:none; }
.slide--photo .slide-inner { grid-template-columns:minmax(0, 55%) minmax(0, 45%); }
.slide--photo .hero-copy { max-width:500px; }
.slide--photo .hero-visual { visibility:hidden; pointer-events:none; }

@media (max-width:900px) {
  .slide--photo { background-position:62% center; }
  .slide--photo .slide-bg {
    background:linear-gradient(90deg,rgba(248,250,255,.98) 0%,rgba(248,250,255,.93) 52%,rgba(248,250,255,.48) 72%,rgba(248,250,255,.08) 100%);
  }
}

@media (max-width:620px) {
  .slide--photo { background-position:68% center; }
  .slide--photo .slide-bg { background:rgba(248,250,255,.84); }
  .slide--photo .slide-inner { grid-template-columns:1fr; }
  .slide--photo .hero-copy { max-width:100%; }
  .slide--photo .hero-visual { display:none; }
}

/* Product archives: clear, touch-friendly pagination.
   Category templates do not always include WooCommerce's outer `.woocommerce`
   class, so deliberately target the pagination component itself. */
nav.woocommerce-pagination {
  margin:42px 0 12px;
  text-align:center;
}
nav.woocommerce-pagination ul {
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px!important;
  margin:0!important;
  padding:9px!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:#fff;
  box-shadow:0 8px 24px rgba(21,31,45,.07);
}
nav.woocommerce-pagination ul li {
  float:none!important;
  margin:0!important;
  overflow:visible!important;
  border:0!important;
}
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span {
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-width:42px!important;
  width:42px!important;
  height:42px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--ink)!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1!important;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
nav.woocommerce-pagination ul li a:hover,
nav.woocommerce-pagination ul li a:focus-visible {
  border-color:var(--accent)!important;
  background:var(--soft)!important;
  color:var(--accent)!important;
  transform:translateY(-1px);
}
nav.woocommerce-pagination ul li span.current {
  border-color:transparent!important;
  background:var(--gradient-primary)!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(255,90,31,.25);
}
nav.woocommerce-pagination .prev,
nav.woocommerce-pagination .next {
  font-size:21px!important;
}
@media (max-width:520px) {
  nav.woocommerce-pagination { margin-top:30px; }
  nav.woocommerce-pagination ul { gap:5px!important; padding:6px!important; }
  nav.woocommerce-pagination ul li a,
  nav.woocommerce-pagination ul li span {
    min-width:38px!important;
    width:38px!important;
    height:38px!important;
  }
}
