/* =========================================================
   VicMos Wellness Theme 3.1
   Header Cart • Readability • Compact Cart • Mobile Polish
========================================================= */

/* ---------- Readability baseline ---------- */
body { font-size: 16px; line-height: 1.55; }
.vwt-page-content p,
.entry-content p,
.woocommerce p { font-size: 15px; line-height: 1.65; }

.vwt-menu a { font-size: 13.5px; }
.vwt-drawer-nav .vwt-menu > li > a,
.vwt-drawer-nav .vwt-drawer-menu > li > a { font-size: 14px !important; }
.vwt-drawer-menu .sub-menu a { font-size: 13px; }
.vwt-drawer-quick span { font-size: 12px; }
.vwt-drawer-quick strong { font-size: 11px; }

/* Header cart is mobile-only. Desktop already has its normal cart action. */
.vwt-mobile-header-cart { display: none; }
.vwt-cart-count.is-empty { display: none !important; }

/* ---------- WooCommerce readability ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error { font-size: 13px !important; line-height: 1.5; }

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 13.5px !important;
  line-height: 1.42 !important;
}
.woocommerce ul.products li.product .price { font-size: 15px !important; }
.woocommerce ul.products li.product .price del { font-size: 10.5px !important; }
.woocommerce ul.products li.product .button { font-size: 11px !important; }
.woocommerce ul.products li.product .vmw-brand-label { font-size: 9.5px !important; }
.woocommerce span.onsale { font-size: 8.5px !important; }

.woocommerce form .form-row label,
.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { font-size: 13px; }

/* ---------- Custom VicMos page readability ---------- */
.vms-kicker, .vsc-kicker, .vmw-kicker, .vma-kicker,
.vmb-kicker, .vmc-kicker, .vcc-kicker, .vmt-kicker,
.vwt-eyebrow { font-size: 10.5px !important; }

.vms-btn, .vmb-btn, .vmc-btn,
.vcc-whatsapp, .vcc-call,
.vmt-whatsapp, .vmt-call { font-size: 10.5px !important; }

.vms-location-row b,
.vms-category-card strong,
.vms-benefits-grid strong,
.vmb-path-card strong,
.vmc-fast-grid strong,
.vmt-action-grid strong { font-size: 12px !important; }

.vms-location-row span,
.vms-category-card small,
.vms-benefits-grid p,
.vmb-path-card small,
.vmc-fast-grid small,
.vmt-action-grid small { font-size: 10.5px !important; line-height: 1.45; }

.vcc-header p,
.vmt-header p { font-size: 11.5px !important; }
.vcc-back, .vmt-orders-link { font-size: 10.5px !important; }
.vcc-steps { font-size: 10px !important; }
.vcc-help-inner strong { font-size: 11.5px !important; }
.vcc-trust .vcc-shell { font-size: 9.5px !important; }
.vmt-track-heading > span { font-size: 9.5px !important; }

/* ---------- Footer: easier to read ---------- */
.vwt-footer-brand > p { font-size: 13.5px !important; line-height: 1.65; }
.vwt-footer-trust { font-size: 10.5px !important; }
.vwt-footer-column h3 { font-size: 13px !important; }
.vwt-footer-column > a { font-size: 12px !important; line-height: 1.45; }
.vwt-footer-bottom p,
.vwt-footer-policy-links a { font-size: 10.5px !important; }

/* =========================================================
   CART PAGE — compact, clearer and more premium
========================================================= */
body.woocommerce-cart .vwt-site-main { background: #fff; }
body.woocommerce-cart .vwt-content-wrap,
body.woocommerce-cart .vwt-page-content { padding-top: 26px; }
body.woocommerce-cart .entry-title,
body.woocommerce-cart .vwt-page-head h1 { font-size: clamp(38px, 6vw, 54px); }

/* Progressive delivery accordion inserted by theme JS. */
.vwt-cart-delivery {
  width: 100%;
  margin: 0 0 16px;
  border: 1px solid var(--vwt-border);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.vwt-cart-delivery-toggle {
  width: 100%;
  min-height: 60px;
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  color: var(--vwt-ink);
  text-align: left;
  background: #fff;
  border: 0;
}
.vwt-cart-delivery-toggle:hover { background: var(--vwt-soft); }
.vwt-cart-delivery-symbol {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--vwt-green-dark);
  background: var(--vwt-green-soft);
  border-radius: 10px;
  font-size: 16px;
  font-weight: 800;
}
.vwt-cart-delivery-copy strong { display: block; font-size: 13px; }
.vwt-cart-delivery-copy small { display: block; margin-top: 2px; color: var(--vwt-muted); font-size: 11px; }
.vwt-cart-delivery-chevron { transition: transform .2s ease; }
.vwt-cart-delivery.is-open .vwt-cart-delivery-chevron { transform: rotate(180deg); }
.vwt-cart-delivery .vmw-delivery-notice {
  margin: 0 !important;
  padding: 0 12px 12px;
  border-top: 1px solid var(--vwt-border);
}
.vwt-cart-delivery:not(.is-open) .vmw-delivery-notice { display: none !important; }
.vwt-cart-delivery .vmw-delivery-item {
  padding: 10px !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.vwt-cart-delivery .vmw-delivery-icon {
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
}
.vwt-cart-delivery .vmw-delivery-item strong { font-size: 12.5px !important; }
.vwt-cart-delivery .vmw-delivery-item > div > span { font-size: 11.5px !important; line-height: 1.4 !important; }

/* Empty cart. */
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .cart-empty.woocommerce-info {
  max-width: 680px;
  margin: 35px auto 16px !important;
  padding: 24px !important;
  text-align: center;
  border: 1px solid var(--vwt-border) !important;
  border-left: 1px solid var(--vwt-border) !important;
  border-radius: 14px !important;
  background: var(--vwt-soft) !important;
}
body.woocommerce-cart .return-to-shop { text-align: center; }
body.woocommerce-cart .return-to-shop .button { min-height: 46px !important; padding-inline: 22px !important; }

/* Floating support should never fight with mobile navigation. */
@media (max-width: 760px) {
  .vmw-floating-whatsapp {
    right: 14px !important;
    bottom: calc(var(--vwt-mobile-nav-height) + 24px + env(safe-area-inset-bottom)) !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
  }

  /* Permanent cart in header: Logo | Search | Cart | Menu */
  .vwt-mobile-header-cart { display: inline-grid; }
  .vwt-header-actions { gap: 4px; }
  .vwt-icon-button { width: 42px; height: 42px; }
  .vwt-mobile-header-cart svg { width: 22px; height: 22px; }

  /* Larger mobile navigation labels. */
  .vwt-mobile-nav-label { font-size: 10px !important; line-height: 1.05 !important; }

  /* Mobile product text no longer feels miniature. */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    min-height: 36px !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
  }
  .woocommerce ul.products li.product .price { font-size: 14px !important; }
  .woocommerce ul.products li.product .price del { font-size: 10px !important; }
  .woocommerce ul.products li.product .button {
    min-height: 36px !important;
    font-size: 10.5px !important;
  }
  .woocommerce ul.products li.product .vmw-brand-label { font-size: 9px !important; }
  .woocommerce span.onsale { font-size: 8.5px !important; }

  /* Compact delivery detail once expanded. */
  .vwt-cart-delivery .vmw-delivery-notice {
    grid-template-columns: 1fr !important;
    gap: 7px !important;
  }

  /* Footer typography. */
  .vwt-footer-brand > p { font-size: 13px !important; }
  .vwt-footer-column h3 { font-size: 13px !important; }
  .vwt-footer-column > a { font-size: 12px !important; }
  .vwt-footer-bottom p,
  .vwt-footer-policy-links a { font-size: 10px !important; }

  /* Generic VicMos custom-page small text. */
  .vms-btn, .vmb-btn, .vmc-btn,
  .vcc-whatsapp, .vcc-call,
  .vmt-whatsapp, .vmt-call { font-size: 10px !important; }
  .vms-category-card strong,
  .vms-benefits-grid strong,
  .vmb-path-card strong,
  .vmc-fast-grid strong,
  .vmt-action-grid strong { font-size: 11px !important; }
  .vms-category-card small,
  .vms-benefits-grid p,
  .vmb-path-card small,
  .vmc-fast-grid small,
  .vmt-action-grid small { font-size: 9.5px !important; }

  /* Cart content spacing. */
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart-collaterals { margin-top: 14px !important; }
  body.woocommerce-cart .cart_totals { padding: 15px !important; }
  body.woocommerce-cart .cart_totals h2 { font-size: 24px; }
}

@media (max-width: 380px) {
  .vwt-brand .custom-logo { max-width: 138px !important; }
  .vwt-icon-button { width: 39px; height: 39px; }
  .vwt-header-actions { gap: 2px; }
}

/* Checkout remains intentionally distraction-free. */
body.woocommerce-checkout .vwt-mobile-header-cart,
body.vicmos-whatsapp-checkout-page .vwt-mobile-header-cart { display: none !important; }


/* =========================================================
   VICMOS WELLNESS THEME 3.2
   Final mobile polish: Header • Cart • Product • Drawer • Footer
========================================================= */

/* Header cart is a permanent primary action. */
.vwt-header-cart-link {
  display: inline-grid !important;
  position: relative;
}

body.woocommerce-checkout .vwt-header-cart-link,
body.vicmos-whatsapp-checkout-page .vwt-header-cart-link {
  display: none !important;
}

/* Drawer support row. */
.vwt-drawer-whatsapp {
  min-height: 58px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 10px 12px;
  color: var(--vwt-green-dark);
  background: var(--vwt-green-soft);
  border: 1px solid #d9e6db;
  border-radius: 12px;
}
.vwt-drawer-whatsapp:hover {
  color: var(--vwt-green-dark);
  border-color: #c4d9c7;
}
.vwt-drawer-whatsapp-icon {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--vwt-green);
  border-radius: 10px;
}
.vwt-drawer-whatsapp-icon svg { width: 20px; height: 20px; }
.vwt-drawer-whatsapp-copy strong { display:block; font-size:12px; }
.vwt-drawer-whatsapp-copy small { display:block; margin-top:2px; color:#68746b; font-size:9.5px; line-height:1.35; }
.vwt-drawer-whatsapp-arrow { font-weight:800; }

/* Footer structure. */
.vwt-footer-column {
  min-width: 0;
}
.vwt-footer-column summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 2px 0 10px;
  color: var(--vwt-ink);
  font-size: 13px;
  font-weight: 850;
}
.vwt-footer-column summary::-webkit-details-marker { display:none; }
.vwt-footer-column summary b { display:none; }
.vwt-footer-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}
.vwt-footer-links > a {
  color: #5f6961;
  font-size: 12px;
  font-weight: 650;
}
.vwt-footer-links > a:hover { color: var(--vwt-green-dark); }
.vwt-footer-links .vwt-footer-whatsapp {
  margin-top: 4px;
  padding: 8px 10px;
  border: 1px solid #d9e5db;
  border-radius: 8px;
  background: var(--vwt-green-soft);
  color: var(--vwt-green-dark);
  font-size: 11px;
  font-weight: 800;
}

/* Compact server-rendered delivery information on Cart. */
.vmw-cart-delivery-compact {
  width: 100%;
  margin: 10px 0 14px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--vwt-border);
  border-radius: 14px;
}
.vmw-cart-delivery-compact > summary {
  min-height: 60px;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  color: var(--vwt-ink);
  cursor: pointer;
  list-style: none;
}
.vmw-cart-delivery-compact > summary::-webkit-details-marker { display:none; }
.vmw-cart-delivery-symbol {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  color: var(--vwt-green-dark);
  background: var(--vwt-green-soft);
  border-radius: 10px;
  font-weight: 850;
}
.vmw-cart-delivery-summary strong,
.vmw-cart-delivery-summary small { display:block; }
.vmw-cart-delivery-summary strong { font-size:13px; }
.vmw-cart-delivery-summary small { margin-top:2px; color:var(--vwt-muted); font-size:10.5px; }
.vmw-cart-delivery-chevron { transition:transform .2s ease; }
.vmw-cart-delivery-compact[open] .vmw-cart-delivery-chevron { transform:rotate(180deg); }
.vmw-cart-delivery-body {
  padding: 10px;
  border-top: 1px solid var(--vwt-border);
}
.vmw-cart-delivery-body .vmw-delivery-notice {
  margin:0 !important;
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.vmw-cart-delivery-body .vmw-delivery-item {
  padding:10px !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.vmw-cart-delivery-body .vmw-delivery-item strong { font-size:12px; }
.vmw-cart-delivery-body .vmw-delivery-item > div > span { font-size:10.5px; line-height:1.4; }

/* Sticky product purchase bar: cleaner and less repetitive. */
.vmw-sticky-product > span del { display:none !important; }
.vmw-sticky-product > span ins { text-decoration:none !important; }
.vmw-sticky-product > span,
.vmw-sticky-product > span * {
  white-space: nowrap !important;
}

/* WhatsApp checkout already is WhatsApp: no floating support bubble there. */
body.vicmos-whatsapp-checkout-page .vmw-floating-whatsapp {
  display:none !important;
}

/* The internal assisted-checkout heading is the only heading needed. */
body.vicmos-whatsapp-checkout-page .vwt-page-head {
  display:none !important;
}


@media (min-width: 761px) {
  .vwt-footer-column > .vwt-footer-links {
    display:flex !important;
  }
  .vwt-footer-column summary {
    pointer-events:none;
  }
}


@media (max-width: 760px) {

  /* ---------- Header: Logo | Search | Cart | Menu ---------- */

  .vwt-header-main {
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 8px !important;
  }

  .vwt-desktop-menu {
    display:none !important;
  }

  .vwt-brand {
    min-width:0 !important;
  }

  .vwt-brand .custom-logo {
    max-width: 148px !important;
    max-height: 47px !important;
  }

  .vwt-header-actions {
    gap: 2px !important;
  }

  .vwt-icon-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
  }

  .vwt-search-toggle svg,
  .vwt-header-cart-link svg {
    width: 23px !important;
    height: 23px !important;
  }

  .vwt-menu-toggle {
    display:inline-grid !important;
  }

  .vwt-menu-toggle svg {
    width: 28px !important;
    height: 28px !important;
    stroke-width: 2.15 !important;
  }

  .vwt-header-cart-link {
    display:inline-grid !important;
  }

  .vwt-header-cart-link .vwt-cart-count {
    top:-4px !important;
    right:-3px !important;
  }

  /* ---------- Single product ---------- */

  .vwt-product-offer-strip{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 16px;background:#e9f7ec;color:#124f32;text-decoration:none;font-size:14px;text-align:center;border-bottom:1px solid #d4ebda}

  .single-product div.product .woocommerce-product-gallery{padding:10px!important;border:1px solid #e4ebe6!important;border-radius:20px!important;background:#fff!important;box-shadow:0 8px 26px rgba(17,65,43,.055)!important}
  .single-product .woocommerce-product-gallery__image a{display:flex!important;align-items:center!important;justify-content:center!important;aspect-ratio:1/1!important;min-height:0!important;padding:12px!important;background:#fbfcfb!important;border-radius:15px!important;overflow:hidden!important}
  .single-product .woocommerce-product-gallery__image img{display:block!important;width:100%!important;height:100%!important;max-height:520px!important;object-fit:contain!important;margin:auto!important}
  .single-product .flex-control-thumbs{display:flex!important;gap:9px!important;margin:10px 0 0!important;padding:0!important;overflow-x:auto!important}
  .single-product .flex-control-thumbs li{flex:0 0 62px!important;width:62px!important;margin:0!important}.single-product .flex-control-thumbs img{width:62px!important;height:62px!important;object-fit:contain!important;padding:4px!important;border:1px solid #e2e9e4!important;border-radius:10px!important;background:#fff!important}

  .single-product div.product {
    padding-top: 8px !important;
  }

  .single-product div.product .woocommerce-product-gallery {
    margin-bottom: 20px !important;
  }

  .single-product div.product .summary {
    margin-bottom: 26px !important;
  }

  .single-product div.product .summary .product_title {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    font-size: 30px !important;
    line-height: 1.04 !important;
  }

  /* The sticky purchase bar now replaces the floating support bubble here. */
  body.single-product .vmw-floating-whatsapp,
  body.woocommerce-cart .vmw-floating-whatsapp {
    display:none !important;
  }

  .vmw-sticky-cart {
    left: 9px !important;
    right: 9px !important;
    bottom: calc(var(--vwt-mobile-nav-height) + 12px + env(safe-area-inset-bottom)) !important;
    padding: 9px 10px !important;
    border: 1px solid var(--vwt-border) !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 28px rgba(20,40,24,.12) !important;
  }

  .vmw-sticky-product {
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .vmw-sticky-product strong {
    max-width: 48vw !important;
    font-size: 11.5px !important;
    line-height: 1.25 !important;
  }

  .vmw-sticky-product > span {
    display:block !important;
    margin-top:3px !important;
    color:var(--vwt-green-dark) !important;
    font-size:14px !important;
    font-weight:900 !important;
    line-height:1.15 !important;
  }

  .vmw-sticky-cart .button {
    flex:0 0 auto !important;
    min-height:44px !important;
    padding:9px 15px !important;
    font-size:11.5px !important;
  }


  /* ---------- Cart: clean product cards with images ---------- */

  body.woocommerce-cart .woocommerce-cart-form {
    margin-top: 12px !important;
    padding: 0 !important;
    overflow: visible !important;
    border:0 !important;
    background:transparent !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart {
    display:block !important;
    border:0 !important;
    background:transparent !important;
    overflow:visible !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart thead {
    display:none !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart tbody {
    display:grid !important;
    gap:10px !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item {
    display:grid !important;
    grid-template-columns: 78px minmax(0,1fr) 28px !important;
    grid-template-areas:
      "thumb name remove"
      "thumb price remove"
      "thumb qty remove" !important;
    align-items:center !important;
    gap:5px 10px !important;
    margin:0 !important;
    padding:12px !important;
    background:#fff !important;
    border:1px solid var(--vwt-border) !important;
    border-radius:13px !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item > td {
    display:block !important;
    width:auto !important;
    min-height:0 !important;
    padding:0 !important;
    text-align:left !important;
    border:0 !important;
    background:transparent !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart tr.cart_item > td::before {
    display:none !important;
    content:none !important;
  }

  body.woocommerce-cart td.product-thumbnail {
    grid-area:thumb !important;
    display:block !important;
    align-self:start !important;
  }

  body.woocommerce-cart td.product-thumbnail a {
    display:block !important;
  }

  body.woocommerce-cart td.product-thumbnail img {
    width:78px !important;
    height:78px !important;
    margin:0 !important;
    object-fit:contain !important;
    background:#fff !important;
    border:1px solid #eef1ee !important;
    border-radius:10px !important;
  }

  body.woocommerce-cart td.product-name {
    grid-area:name !important;
    align-self:end !important;
  }

  body.woocommerce-cart td.product-name a {
    display:-webkit-box !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:2 !important;
    color:var(--vwt-ink) !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
  }

  body.woocommerce-cart td.product-price {
    grid-area:price !important;
    color:var(--vwt-green-dark) !important;
    font-size:13px !important;
    font-weight:850 !important;
  }

  body.woocommerce-cart td.product-quantity {
    grid-area:qty !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
  }

  body.woocommerce-cart td.product-quantity::after {
    content:"Qty";
    order:-1;
    color:var(--vwt-muted);
    font-size:9px;
    font-weight:750;
  }

  body.woocommerce-cart td.product-quantity .quantity {
    display:inline-flex !important;
  }

  body.woocommerce-cart td.product-quantity .qty {
    width:52px !important;
    min-height:36px !important;
    padding:5px 6px !important;
    text-align:center !important;
    border:1px solid var(--vwt-border) !important;
    border-radius:8px !important;
  }

  body.woocommerce-cart td.product-subtotal {
    display:none !important;
  }

  body.woocommerce-cart td.product-remove {
    grid-area:remove !important;
    align-self:start !important;
    justify-self:end !important;
  }

  body.woocommerce-cart td.product-remove a.remove {
    width:28px !important;
    height:28px !important;
    display:grid !important;
    place-items:center !important;
    margin:0 !important;
    color:#9f3029 !important;
    background:#fff5f4 !important;
    border-radius:8px !important;
    font-size:18px !important;
    line-height:1 !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart tr:last-child:not(.cart_item) {
    display:block !important;
    margin-top:2px !important;
    background:transparent !important;
    border:0 !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart td.actions {
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    padding:4px 0 !important;
    border:0 !important;
  }

  body.woocommerce-cart table.shop_table_responsive.cart td.actions .coupon {
    flex:1 1 100% !important;
  }

  body.woocommerce-cart button[name="update_cart"] {
    width:auto !important;
    min-height:36px !important;
    margin-left:auto !important;
    padding:7px 12px !important;
    border-radius:8px !important;
    font-size:10px !important;
  }

  body.woocommerce-cart .vmw-share-cart {
    margin:8px 0 2px !important;
  }

  body.woocommerce-cart .vmw-share-cart .button {
    width:auto !important;
    min-height:36px !important;
    padding:7px 12px !important;
    color:var(--vwt-green-dark) !important;
    background:#fff !important;
    border:1px solid #d6e2d8 !important;
    border-radius:8px !important;
    font-size:10px !important;
  }

  body.woocommerce-cart .cart-collaterals {
    margin-top: 14px !important;
  }

  body.woocommerce-cart .cart_totals {
    padding:14px !important;
    border-radius:13px !important;
  }

  body.woocommerce-cart .cart_totals h2 {
    font-size:23px !important;
    margin-bottom:12px !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout {
    padding:8px 0 0 !important;
  }

  body.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
  body.woocommerce-cart .vmw-whatsapp-cart {
    min-height:48px !important;
    margin-top:8px !important;
    font-size:12px !important;
  }

  .vmw-cart-delivery-body .vmw-delivery-notice {
    grid-template-columns:1fr !important;
    gap:7px !important;
  }


  /* ---------- Footer: compact and organized ---------- */

  .vwt-site-footer {
    margin-top: 28px !important;
  }

  .vwt-footer-grid {
    grid-template-columns:1fr !important;
    gap:0 !important;
    padding:30px 2px 18px !important;
  }

  .vwt-footer-brand {
    grid-column:auto !important;
    padding-bottom:20px !important;
  }

  .vwt-footer-brand .custom-logo {
    max-width:175px !important;
    max-height:54px !important;
  }

  .vwt-footer-brand > p {
    max-width:100% !important;
    margin:12px 0 12px !important;
    font-size:12.5px !important;
    line-height:1.55 !important;
  }

  .vwt-footer-trust {
    gap:6px 12px !important;
    font-size:9.5px !important;
  }

  .vwt-footer-column {
    border-top:1px solid var(--vwt-border);
  }

  .vwt-footer-column:last-of-type {
    border-bottom:1px solid var(--vwt-border);
  }

  .vwt-footer-column summary {
    min-height:48px;
    margin:0 !important;
    padding:0 2px;
    cursor:pointer;
    font-size:12.5px !important;
  }

  .vwt-footer-column summary b {
    display:block;
    color:var(--vwt-green-dark);
    font-size:18px;
    line-height:1;
    transition:transform .18s ease;
  }

  .vwt-footer-column[open] summary b {
    transform:rotate(45deg);
  }

  .vwt-footer-links {
    gap:0 !important;
    padding:0 2px 10px;
  }

  .vwt-footer-links > a {
    width:100%;
    min-height:38px;
    display:flex;
    align-items:center;
    margin:0 !important;
    color:#5f6961;
    font-size:11.5px !important;
    border:0;
  }

  .vwt-footer-links .vwt-footer-whatsapp {
    width:auto;
    min-height:36px;
    display:inline-flex;
    margin:4px 0 6px !important;
    padding:8px 10px;
  }

  .vwt-footer-bottom {
    min-height:0 !important;
    flex-direction:column !important;
    gap:7px !important;
    padding:15px 0 14px !important;
    text-align:center !important;
  }

  .vwt-footer-bottom p {
    font-size:9.5px !important;
    line-height:1.4 !important;
  }

  .vwt-footer-policy-links {
    gap:14px !important;
  }

  .vwt-footer-policy-links a {
    font-size:9.5px !important;
  }

  /* Only one safety offset for the fixed navigation. */
  body.vicmos-mobile-nav-enabled:not(.woocommerce-checkout):not(.vicmos-whatsapp-checkout-page) {
    padding-bottom: calc(var(--vwt-mobile-nav-height) + 16px + env(safe-area-inset-bottom)) !important;
  }

  body.vicmos-mobile-nav-enabled:not(.woocommerce-checkout):not(.vicmos-whatsapp-checkout-page) .vwt-footer-bottom {
    padding-bottom:14px !important;
  }

  /* Make the bottom navigation slightly calmer. */
  .vwt-mobile-nav {
    box-shadow:0 12px 30px rgba(20,40,24,.12) !important;
  }

  .vwt-mobile-cart-orb {
    box-shadow:0 8px 20px rgba(47,125,50,.22) !important;
  }

}


/* Very narrow phones still fit Logo + Search + Cart + Menu. */
@media (max-width: 380px) {
  .vwt-brand .custom-logo {
    max-width:132px !important;
  }
  .vwt-icon-button {
    width:39px !important;
    height:39px !important;
    min-width:39px !important;
  }
  .vwt-menu-toggle svg {
    width:26px !important;
    height:26px !important;
  }
}


/* ==========================================================
   VicMos 3.2.3 — Professional mobile footer grid
   Brand row + Shop/Help 2 columns + VicMos full-width row.
   No accordion, no hidden links, no JS dependency.
========================================================== */

.vwt-footer-column > h3 {
  margin: 0 0 12px;
  color: var(--vwt-ink);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: -.01em;
}

@media (max-width: 760px) {
  .vwt-site-footer {
    margin-top: 30px !important;
  }

  .vwt-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 20px !important;
    padding: 28px 4px 16px !important;
  }

  /* Row 1: brand uses the full width. */
  .vwt-footer-brand {
    grid-column: 1 / -1 !important;
    padding: 0 0 22px !important;
    margin: 0 0 20px !important;
    border-bottom: 1px solid var(--vwt-border);
  }

  .vwt-footer-brand .custom-logo {
    max-width: 170px !important;
    max-height: 52px !important;
  }

  .vwt-footer-brand > p {
    max-width: 100% !important;
    margin: 11px 0 12px !important;
    color: #677169 !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
  }

  .vwt-footer-trust {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px 12px !important;
    font-size: 9.5px !important;
  }

  /* Row 2: Shop and Help are side-by-side. */
  .vwt-footer-column {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  .vwt-footer-shop-column,
  .vwt-footer-help-column {
    padding-bottom: 20px !important;
  }

  .vwt-footer-column > h3 {
    margin: 0 0 11px !important;
    color: var(--vwt-ink) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }

  .vwt-footer-links {
    display: flex !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .vwt-footer-links > a {
    width: 100% !important;
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    color: #667068 !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
    border: 0 !important;
  }

  .vwt-footer-links > a:hover,
  .vwt-footer-links > a:focus-visible {
    color: var(--vwt-green-dark) !important;
  }

  /* Row 3: VicMos spans both columns, compact two-column links. */
  .vwt-footer-support {
    grid-column: 1 / -1 !important;
    margin-top: 2px !important;
    padding-top: 18px !important;
    border-top: 1px solid var(--vwt-border) !important;
  }

  .vwt-footer-support .vwt-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 0 !important;
  }

  .vwt-footer-support .vwt-footer-links > a:not(.vwt-footer-app-card) { grid-column: 1 !important; }
  .vwt-footer-app-card { grid-column:2!important;grid-row:1/span 4!important;align-self:start!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 16px!important;gap:9px!important;min-height:118px!important;padding:14px 12px!important;border:1px solid #cfe3d8!important;border-radius:16px!important;background:linear-gradient(145deg,#eff9f3,#fff)!important;color:var(--vwt-green-dark)!important;text-decoration:none!important;box-shadow:0 10px 26px rgba(25,73,50,.07)!important;}
  .vwt-footer-app-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:var(--vwt-green);color:#fff;font-weight:900}.vwt-footer-app-card strong,.vwt-footer-app-card small{display:block}.vwt-footer-app-card strong{font-size:11.5px;line-height:1.25}.vwt-footer-app-card small{margin-top:5px;color:#627269;font-size:9px;line-height:1.35}.vwt-footer-app-card b{font-size:18px}
  .vwt-footer-support-actions{grid-column:1/-1!important;width:100%!important;margin-top:14px!important}

  .vwt-footer-support .vwt-footer-whatsapp {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 42px !important;
    margin: 10px 0 0 !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    color: var(--vwt-green-dark) !important;
    background: var(--vwt-green-soft) !important;
    border: 1px solid #d5e4d8 !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
  }

  /* Compact legal row directly above the mobile navigation. */
  .vwt-footer-bottom {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 14px 0 15px !important;
    text-align: center !important;
  }

  .vwt-footer-bottom p {
    margin: 0 !important;
    font-size: 9.5px !important;
    line-height: 1.4 !important;
  }

  .vwt-footer-policy-links {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
  }

  .vwt-footer-policy-links a {
    font-size: 9.5px !important;
  }

  body.vicmos-mobile-nav-enabled:not(.woocommerce-checkout):not(.vicmos-whatsapp-checkout-page) .vwt-footer-bottom {
    padding-bottom: 15px !important;
  }
}

@media (max-width: 380px) {
  .vwt-footer-grid {
    gap: 0 14px !important;
  }
  .vwt-footer-links > a {
    font-size: 11px !important;
  }
  .vwt-footer-support .vwt-footer-links {
    column-gap: 14px !important;
  }
}


/* =========================================================
   VICMOS THEME 3.2.4 — Wishlist / dynamic commerce polish
========================================================= */

/* Dynamic product collections can be rendered outside a normal Woo archive.
   Scope them explicitly so Wishlist and Recently Viewed always keep the same cards. */
.vmw-product-grid-scope ul.products,
.vmw-wishlist-page ul.products,
.vmw-recently-viewed ul.products{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.vmw-product-grid-scope ul.products::before,
.vmw-product-grid-scope ul.products::after,
.vmw-wishlist-page ul.products::before,
.vmw-wishlist-page ul.products::after,
.vmw-recently-viewed ul.products::before,
.vmw-recently-viewed ul.products::after{display:none!important;content:none!important}

.vmw-product-grid-scope ul.products li.product,
.vmw-wishlist-page ul.products li.product,
.vmw-recently-viewed ul.products li.product{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:9px 9px 12px!important;
  list-style:none!important;
  background:#fff!important;
  border:1px solid var(--vwt-border)!important;
  border-radius:14px!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.vmw-product-grid-scope ul.products li.product::marker,
.vmw-wishlist-page ul.products li.product::marker,
.vmw-recently-viewed ul.products li.product::marker{content:""}

.vmw-product-grid-scope ul.products li.product a img,
.vmw-wishlist-page ul.products li.product a img,
.vmw-recently-viewed ul.products li.product a img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  margin:0 0 8px!important;
  padding:3px!important;
  background:#fff!important;
  border-radius:10px!important;
}
.vmw-product-grid-scope .woocommerce-loop-product__title,
.vmw-wishlist-page .woocommerce-loop-product__title,
.vmw-recently-viewed .woocommerce-loop-product__title{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-height:36px!important;
  margin:2px 1px 5px!important;
  color:var(--vwt-ink)!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:780!important;
}
.vmw-product-grid-scope .price,
.vmw-wishlist-page .price,
.vmw-recently-viewed .price{
  margin:0 1px 6px!important;
  color:var(--vwt-green-dark)!important;
  font-size:14px!important;
  font-weight:850!important;
}
.vmw-product-grid-scope .button,
.vmw-wishlist-page ul.products .button,
.vmw-recently-viewed ul.products .button{
  width:100%!important;
  min-height:38px!important;
  margin-top:auto!important;
  padding:8px 6px!important;
  color:#fff!important;
  background:var(--vwt-green)!important;
  border:0!important;
  border-radius:9px!important;
  font-size:11px!important;
  font-weight:800!important;
}

/* One clean top-right heart; collections do not need Quick View. */
.vmw-product-grid-scope .vmw-quick-view-button,
.vmw-wishlist-page .vmw-quick-view-button,
.vmw-recently-viewed .vmw-quick-view-button{display:none!important}
.vmw-product-grid-scope .vmw-wishlist-button,
.vmw-wishlist-page .vmw-wishlist-button,
.vmw-recently-viewed .vmw-wishlist-button{
  top:8px!important;
  right:8px!important;
  left:auto!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
}

/* Avoid duplicate Woo Sale! label when the plugin supplies -XX%. */
body.vmw-hide-theme-sale .onsale{display:none!important}

/* Old custom Wishlist page already prints its own Recently Viewed heading. */
.vm-wishlist-page .vmw-recently-viewed>.vmw-section-heading{display:none!important}
.vmw-recently-viewed{margin-top:20px!important}

/* Wishlist actions: secondary utilities, not oversized hero buttons. */
.vmw-wishlist-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px!important}
.vmw-wishlist-actions .button{
  width:auto!important;
  min-height:40px!important;
  margin:0!important;
  padding:9px 14px!important;
  color:var(--vwt-ink)!important;
  background:#f2f4f2!important;
  border:1px solid #e4e9e5!important;
  border-radius:9px!important;
  font-size:11px!important;
  font-weight:800!important;
}
.vmw-wishlist-actions .button:hover{color:var(--vwt-green-dark)!important;background:var(--vwt-green-soft)!important}

/* My Account order actions must never render as empty outlined boxes. */
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button,
.woocommerce-account .woocommerce-orders-table__cell-order-actions .woocommerce-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:80px!important;
  min-height:38px!important;
  margin:3px 5px 3px 0!important;
  padding:8px 12px!important;
  color:var(--vwt-green-dark)!important;
  background:#fff!important;
  border:1px solid var(--vwt-green)!important;
  border-radius:8px!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:800!important;
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions a.button:first-child{
  color:#fff!important;
  background:var(--vwt-green)!important;
}

/* PWA row in hamburger: compact and only becomes prominent when install is available. */
.vwt-drawer-install[hidden],
.vwt-drawer-install .vmw-install-button[hidden],
.vwt-drawer-install .vmw-install-wrap[hidden]{display:none!important}
.vwt-drawer-install{
  min-height:58px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  margin-top:12px;
  padding:10px 12px;
  border:1px solid var(--vwt-border);
  border-radius:12px;
  background:#fff;
}
.vwt-drawer-install-icon{width:38px;height:38px;display:grid;place-items:center;color:var(--vwt-green-dark);background:var(--vwt-green-soft);border-radius:10px;font-size:18px;font-weight:900}
.vwt-drawer-install-copy strong{display:block;color:var(--vwt-ink);font-size:12px}
.vwt-drawer-install-copy small{display:block;margin-top:2px;color:var(--vwt-muted);font-size:9.5px;line-height:1.3}
.vwt-drawer-install-control .vmw-install-wrap{display:block!important}
.vwt-drawer-install-control .vmw-install-button{width:auto!important;min-height:34px!important;margin:0!important;padding:7px 10px!important;border-radius:8px!important;font-size:9px!important}
.vwt-drawer-install-control .vmw-install-status{display:block;max-width:90px;font-size:8px;text-align:right}

@media(max-width:900px){
  .vmw-product-grid-scope ul.products,
  .vmw-wishlist-page ul.products,
  .vmw-recently-viewed ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
}

@media(max-width:700px){
  .vmw-product-grid-scope ul.products,
  .vmw-wishlist-page ul.products,
  .vmw-recently-viewed ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .vmw-product-grid-scope ul.products li.product,
  .vmw-wishlist-page ul.products li.product,
  .vmw-recently-viewed ul.products li.product{padding:7px 7px 9px!important;border-radius:12px!important}
  .vmw-product-grid-scope ul.products li.product a img,
  .vmw-wishlist-page ul.products li.product a img,
  .vmw-recently-viewed ul.products li.product a img{margin-bottom:5px!important;padding:2px!important;border-radius:8px!important}
  .vmw-product-grid-scope .woocommerce-loop-product__title,
  .vmw-wishlist-page .woocommerce-loop-product__title,
  .vmw-recently-viewed .woocommerce-loop-product__title{min-height:34px!important;font-size:11.5px!important}
  .vmw-product-grid-scope .price,
  .vmw-wishlist-page .price,
  .vmw-recently-viewed .price{font-size:13px!important}
  .vmw-product-grid-scope .button,
  .vmw-wishlist-page ul.products .button,
  .vmw-recently-viewed ul.products .button{min-height:36px!important;padding:7px 4px!important;font-size:10.5px!important}
  .vmw-wishlist-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .vmw-wishlist-actions .button{width:100%!important;padding:8px 4px!important;font-size:10.5px!important}
  .woocommerce-account .woocommerce-orders-table__cell-order-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  .woocommerce-account .woocommerce-orders-table__cell-order-actions a.button{min-width:84px!important;margin:0!important;font-size:11px!important}
}


/* ==========================================================
   VICMOS 3.2.5 — Footer visibility hardening
   Fixed mobile grid; footer links must never be hidden.
========================================================== */
@media (max-width: 760px) {
  .vwt-site-footer .vwt-footer-column > .vwt-footer-links,
  .vwt-site-footer .vwt-footer-column:not([open]) > .vwt-footer-links,
  .vwt-site-footer .vwt-footer-column[open] > .vwt-footer-links {
    display: flex !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    transform: none !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .vwt-site-footer .vwt-footer-links > a {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .vwt-site-footer .vwt-footer-support > .vwt-footer-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 0 !important;
  }

  .vwt-site-footer .vwt-footer-support .vwt-footer-whatsapp {
    grid-column: 1 / -1 !important;
  }
}
