/* =============================================
   VILANO GLOBAL SHELL 2026 — Phase 3 CSS overlay
   Scope: body.vilano-2026-shell | html.vilano-2026
   Tokens align with PDP 2026. Soft overrides; !important
   only where needed to kill purple chrome.
   ============================================= */

body.vilano-2026-shell,
html.vilano-2026 {
  --vl-bg: #F7F6F3;
  --vl-ivory: #FDFBF7;
  --vl-linen: #F5F0E8;
  --vl-sand: #EDE7DB;
  --vl-ink: #1F1C1A;
  --vl-accent: #6E5A3E;
  --vl-border: #D9D3C9;
  --vl-sage: #C5CCBF;
  --vl-sage-soft: rgba(197, 204, 191, 0.18);
  --vl-bronze-ring: rgba(110, 90, 62, 0.38);
  --vl-charcoal: #1F1C1A;
  --vl-ink-soft: #5a524b;
  --vl-muted: #81776e;
  --vl-container-max: 1360px;
  --vl-radius-sm: 10px;
  --vl-radius-md: 14px;
  --vl-radius-lg: 22px;
  --vl-space-1: 4px;
  --vl-space-2: 8px;
  --vl-space-3: 12px;
  --vl-space-4: 16px;
  --vl-space-5: 20px;
  --vl-space-6: 24px;
  --vl-space-8: 32px;
  --vl-space-12: 48px;
  --vl-space-16: 64px;
  --vl-font-ui: "Heebo", system-ui, sans-serif;
  --vl-font-brand: "Absoluti", serif;
  --vl-shadow-sm: 0 1px 2px rgba(31, 28, 26, 0.06);
  --vl-shadow-md: 0 4px 16px rgba(31, 28, 26, 0.08);
  --vl-float-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

body.vilano-2026-shell,
html.vilano-2026 body {
  background-color: var(--vl-bg);
  color: var(--vl-ink);
  font-family: var(--vl-font-ui);
}

body.vilano-2026-shell :focus-visible,
html.vilano-2026 :focus-visible {
  outline: 2px solid var(--vl-accent);
  outline-offset: 2px;
}

/* ── Sample / dugmit kill ── */
body.vilano-2026-shell a[href*="dugmit"],
body.vilano-2026-shell a[href*="%d7%93%d7%95%d7%92%d7%9e"],
html.vilano-2026 a[href*="dugmit"],
html.vilano-2026 a[href*="%d7%93%d7%95%d7%92%d7%9e"] {
  display: none !important;
}

/* =============================================
   PROMO BAR — charcoal, slim, no purple
   ============================================= */
body.vilano-2026-shell .woocommerce-store-notice,
body.vilano-2026-shell .woocommerce-store-notice.demo_store,
body.vilano-2026-shell p.demo_store,
html.vilano-2026 .woocommerce-store-notice,
html.vilano-2026 .woocommerce-store-notice.demo_store,
html.vilano-2026 p.demo_store {
  background: #1F1C1A !important;
  background-color: #1F1C1A !important;
  background-image: none !important;
  color: var(--vl-ivory) !important;
  font-family: var(--vl-font-ui) !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: 40px !important;
  padding: 8px 40px 8px 16px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  z-index: 99998;
}

body.vilano-2026-shell .woocommerce-store-notice a,
body.vilano-2026-shell .woocommerce-store-notice.demo_store a,
html.vilano-2026 .woocommerce-store-notice a,
html.vilano-2026 .woocommerce-store-notice.demo_store a {
  color: var(--vl-ivory) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.vilano-2026-shell .woocommerce-store-notice .woocommerce-store-notice__dismiss-link,
body.vilano-2026-shell .demo_store .woocommerce-store-notice__dismiss-link,
html.vilano-2026 .woocommerce-store-notice .woocommerce-store-notice__dismiss-link {
  color: var(--vl-ivory) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: 0.72;
}

/* =============================================
   HEADER — lighter, quieter, no purple
   ============================================= */
body.vilano-2026-shell .elementor-location-header,
body.vilano-2026-shell header[data-elementor-type="header"],
body.vilano-2026-shell .site-header,
html.vilano-2026 .elementor-location-header,
html.vilano-2026 header[data-elementor-type="header"],
html.vilano-2026 .site-header {
  background-color: var(--vl-bg) !important;
  background-image: none !important;
  font-family: var(--vl-font-ui);
  box-shadow: none;
}

body.vilano-2026-shell .elementor-location-header .elementor-section,
body.vilano-2026-shell .elementor-location-header .e-con,
html.vilano-2026 .elementor-location-header .elementor-section,
html.vilano-2026 .elementor-location-header .e-con {
  background-color: transparent;
  background-image: none !important;
}

body.vilano-2026-shell .elementor-location-header .elementor-element,
html.vilano-2026 .elementor-location-header .elementor-element {
  --padding-block-start: 8px;
  --padding-block-end: 8px;
}

body.vilano-2026-shell .elementor-location-header .elementor-container,
body.vilano-2026-shell .elementor-location-header .e-con-inner,
html.vilano-2026 .elementor-location-header .elementor-container,
html.vilano-2026 .elementor-location-header .e-con-inner {
  padding-top: 6px;
  padding-bottom: 6px;
  min-height: 0;
}

body.vilano-2026-shell .elementor-location-header a,
body.vilano-2026-shell .elementor-location-header .elementor-nav-menu a,
body.vilano-2026-shell .elementor-location-header .elementor-icon,
body.vilano-2026-shell .site-header a,
html.vilano-2026 .elementor-location-header a,
html.vilano-2026 .elementor-location-header .elementor-nav-menu a {
  color: var(--vl-ink) !important;
  font-family: var(--vl-font-ui) !important;
  font-weight: 500;
  background-color: transparent !important;
  box-shadow: none !important;
}

body.vilano-2026-shell .elementor-location-header a:hover,
body.vilano-2026-shell .elementor-location-header a:focus,
body.vilano-2026-shell .elementor-location-header .elementor-item-active,
body.vilano-2026-shell .elementor-location-header .current-menu-item > a,
html.vilano-2026 .elementor-location-header a:hover,
html.vilano-2026 .elementor-location-header a:focus,
html.vilano-2026 .elementor-location-header .elementor-item-active {
  color: var(--vl-accent) !important;
  background-color: transparent !important;
}

body.vilano-2026-shell .elementor-location-header .elementor-nav-menu--main .elementor-item,
html.vilano-2026 .elementor-location-header .elementor-nav-menu--main .elementor-item {
  padding-inline: 10px !important;
  padding-block: 6px !important;
  font-size: 15px !important;
  letter-spacing: 0;
}

body.vilano-2026-shell .elementor-location-header .elementor-nav-menu--main .elementor-item:before,
body.vilano-2026-shell .elementor-location-header .elementor-nav-menu--main .elementor-item:after,
html.vilano-2026 .elementor-location-header .elementor-nav-menu--main .elementor-item:before,
html.vilano-2026 .elementor-location-header .elementor-nav-menu--main .elementor-item:after {
  background-color: var(--vl-accent) !important;
  border-color: var(--vl-accent) !important;
}

body.vilano-2026-shell .elementor-location-header .elementor-button,
body.vilano-2026-shell .elementor-location-header .elementor-button-wrapper a,
html.vilano-2026 .elementor-location-header .elementor-button,
html.vilano-2026 .elementor-location-header .elementor-button-wrapper a {
  background-color: var(--vl-accent) !important;
  color: var(--vl-ivory) !important;
  border-color: var(--vl-accent) !important;
  border-radius: var(--vl-radius-sm) !important;
  font-family: var(--vl-font-ui) !important;
  box-shadow: none !important;
}

body.vilano-2026-shell .elementor-location-header .elementor-menu-toggle,
html.vilano-2026 .elementor-location-header .elementor-menu-toggle {
  color: var(--vl-ink) !important;
  background: transparent !important;
  border-color: var(--vl-border) !important;
  min-width: 48px;
  min-height: 48px;
}

body.vilano-2026-shell .elementor-location-header .elementor-menu-toggle i,
body.vilano-2026-shell .elementor-location-header .elementor-menu-toggle svg,
html.vilano-2026 .elementor-location-header .elementor-menu-toggle i,
html.vilano-2026 .elementor-location-header .elementor-menu-toggle svg {
  color: var(--vl-ink) !important;
  fill: var(--vl-ink) !important;
}

/* Kill purple / lilac washes in header chrome */
body.vilano-2026-shell .elementor-location-header [style*="#602991"],
body.vilano-2026-shell .elementor-location-header [style*="#440E74"],
body.vilano-2026-shell .elementor-location-header [style*="#270842"],
body.vilano-2026-shell .elementor-location-header [style*="#E3E0FC"],
body.vilano-2026-shell .elementor-location-header [style*="#D7D2FF"],
body.vilano-2026-shell .elementor-location-header [style*="#DAD1EF"],
body.vilano-2026-shell .elementor-location-header [style*="#B2ACE6"] {
  color: var(--vl-ink) !important;
  background-color: transparent !important;
  border-color: var(--vl-border) !important;
}

@media (max-width: 767px) {
  body.vilano-2026-shell .elementor-location-header .elementor-container,
  body.vilano-2026-shell .elementor-location-header .e-con-inner,
  html.vilano-2026 .elementor-location-header .elementor-container,
  html.vilano-2026 .elementor-location-header .e-con-inner {
    padding-top: 4px;
    padding-bottom: 4px;
  }
}

/* =============================================
   FOOTER — stone band, charcoal text, no purple
   ============================================= */
body.vilano-2026-shell .elementor-location-footer,
body.vilano-2026-shell footer[data-elementor-type="footer"],
body.vilano-2026-shell .site-footer,
html.vilano-2026 .elementor-location-footer,
html.vilano-2026 footer[data-elementor-type="footer"],
html.vilano-2026 .site-footer {
  background-color: var(--vl-sand) !important;
  background-image: none !important;
  color: var(--vl-ink) !important;
  font-family: var(--vl-font-ui);
  border-top: 1px solid var(--vl-border);
}

body.vilano-2026-shell .elementor-location-footer .elementor-section,
body.vilano-2026-shell .elementor-location-footer .e-con,
html.vilano-2026 .elementor-location-footer .elementor-section,
html.vilano-2026 .elementor-location-footer .e-con {
  background-color: transparent !important;
  background-image: none !important;
}

body.vilano-2026-shell .elementor-location-footer h1,
body.vilano-2026-shell .elementor-location-footer h2,
body.vilano-2026-shell .elementor-location-footer h3,
body.vilano-2026-shell .elementor-location-footer h4,
body.vilano-2026-shell .elementor-location-footer h5,
body.vilano-2026-shell .elementor-location-footer .elementor-heading-title,
html.vilano-2026 .elementor-location-footer h2,
html.vilano-2026 .elementor-location-footer h3,
html.vilano-2026 .elementor-location-footer h4,
html.vilano-2026 .elementor-location-footer .elementor-heading-title {
  color: var(--vl-ink) !important;
  font-family: var(--vl-font-ui) !important;
  font-weight: 600 !important;
}

body.vilano-2026-shell .elementor-location-footer a,
body.vilano-2026-shell .elementor-location-footer p,
body.vilano-2026-shell .elementor-location-footer li,
body.vilano-2026-shell .elementor-location-footer span,
body.vilano-2026-shell .site-footer a,
html.vilano-2026 .elementor-location-footer a,
html.vilano-2026 .elementor-location-footer p,
html.vilano-2026 .elementor-location-footer li,
html.vilano-2026 .elementor-location-footer span {
  color: var(--vl-ink) !important;
  font-family: var(--vl-font-ui);
}

body.vilano-2026-shell .elementor-location-footer a:hover,
body.vilano-2026-shell .elementor-location-footer a:focus,
html.vilano-2026 .elementor-location-footer a:hover,
html.vilano-2026 .elementor-location-footer a:focus {
  color: var(--vl-accent) !important;
}

body.vilano-2026-shell .elementor-location-footer .elementor-widget-container,
html.vilano-2026 .elementor-location-footer .elementor-widget-container {
  color: var(--vl-ink);
}

body.vilano-2026-shell .elementor-location-footer .elementor-button,
body.vilano-2026-shell .elementor-location-footer .elementor-button-wrapper a,
html.vilano-2026 .elementor-location-footer .elementor-button,
html.vilano-2026 .elementor-location-footer .elementor-button-wrapper a {
  background-color: var(--vl-accent) !important;
  color: var(--vl-ivory) !important;
  border-color: var(--vl-accent) !important;
  box-shadow: none !important;
}

body.vilano-2026-shell .elementor-location-footer .elementor-column,
body.vilano-2026-shell .elementor-location-footer .e-con.e-child,
html.vilano-2026 .elementor-location-footer .elementor-column,
html.vilano-2026 .elementor-location-footer .e-con.e-child {
  border-color: var(--vl-border);
}

@media (min-width: 1025px) {
  body.vilano-2026-shell .elementor-location-footer .elementor-container,
  html.vilano-2026 .elementor-location-footer .elementor-container {
    max-width: var(--vl-container-max);
  }
}

/* =============================================
   FLOATING WIDGETS — clear sticky ATC, ≤2 mobile
   ============================================= */
body.vilano-2026-shell .trigger-position-left,
body.vilano-2026-shell .trigger-position-right,
body.vilano-2026-shell [class*="whatsapp"],
body.vilano-2026-shell [id*="whatsapp"],
body.vilano-2026-shell .joinchat,
body.vilano-2026-shell .joinchat__button,
body.vilano-2026-shell .wa__btn_popup,
body.vilano-2026-shell .floating-wpp,
body.vilano-2026-shell #pojo-a11y-toolbar,
body.vilano-2026-shell .pojo-a11y-toolbar-toggle,
body.vilano-2026-shell .uicore-accessibility,
html.vilano-2026 .trigger-position-left,
html.vilano-2026 .joinchat,
html.vilano-2026 .joinchat__button,
html.vilano-2026 .floating-wpp,
html.vilano-2026 #pojo-a11y-toolbar {
  bottom: var(--vl-float-bottom) !important;
  z-index: 150 !important;
}

body.vilano-2026-shell.single-product .quick-links-position-center,
body.vilano-2026-shell.vilano-pdp-2026 .quick-links-position-center,
html.vilano-2026.single-product .quick-links-position-center {
  display: none !important;
}

@media (max-width: 767px) {
  body.vilano-2026-shell .quick-links-position-center,
  html.vilano-2026 .quick-links-position-center {
    display: none !important;
  }

  body.vilano-2026-shell .trigger-position-left,
  body.vilano-2026-shell .joinchat,
  body.vilano-2026-shell .joinchat__button,
  body.vilano-2026-shell .floating-wpp,
  body.vilano-2026-shell #pojo-a11y-toolbar,
  html.vilano-2026 .trigger-position-left,
  html.vilano-2026 .joinchat,
  html.vilano-2026 .floating-wpp,
  html.vilano-2026 #pojo-a11y-toolbar {
    bottom: var(--vl-float-bottom) !important;
    transform: scale(0.92);
    transform-origin: bottom center;
  }
}

/* =============================================
   GLOBAL PURPLE KILL (soft — scoped chrome only)
   ============================================= */
body.vilano-2026-shell .elementor-location-header a[style*="602991"],
body.vilano-2026-shell .elementor-location-footer a[style*="602991"],
body.vilano-2026-shell .elementor-location-header a[style*="440E74"],
body.vilano-2026-shell .elementor-location-footer a[style*="440E74"],
body.vilano-2026-shell .elementor-location-header a[style*="270842"],
body.vilano-2026-shell .elementor-location-footer a[style*="270842"] {
  color: var(--vl-ink) !important;
}

body.vilano-2026-shell .elementor-location-header .elementor-button[style*="602991"],
body.vilano-2026-shell .elementor-location-header .elementor-button[style*="440E74"],
body.vilano-2026-shell .elementor-location-header .elementor-button[style*="270842"],
body.vilano-2026-shell .elementor-location-footer .elementor-button[style*="602991"],
body.vilano-2026-shell .elementor-location-footer .elementor-button[style*="440E74"],
body.vilano-2026-shell .elementor-location-footer .elementor-button[style*="270842"] {
  background-color: var(--vl-accent) !important;
  border-color: var(--vl-accent) !important;
  color: var(--vl-ivory) !important;
}

/* =============================================
   CART / CHECKOUT — 2026 chrome (no Meshulam change)
   ============================================= */
body.vilano-2026-shell.woocommerce-cart,
body.vilano-2026-shell.woocommerce-checkout {
  background: var(--vl-bg);
}

body.vilano-2026-shell.woocommerce-cart .woocommerce,
body.vilano-2026-shell.woocommerce-checkout .woocommerce {
  max-width: 960px;
  margin-inline: auto;
  padding: var(--vl-space-6) var(--vl-space-4) var(--vl-space-12);
  font-family: var(--vl-font-ui);
  color: var(--vl-ink);
}

body.vilano-2026-shell.woocommerce-cart table.shop_table,
body.vilano-2026-shell.woocommerce-checkout table.shop_table,
body.vilano-2026-shell.woocommerce-cart .cart_totals,
body.vilano-2026-shell.woocommerce-checkout #order_review {
  background: var(--vl-ivory);
  border: 1px solid var(--vl-border) !important;
  border-radius: var(--vl-radius-md);
  box-shadow: none !important;
}

body.vilano-2026-shell.woocommerce-cart .button,
body.vilano-2026-shell.woocommerce-checkout .button,
body.vilano-2026-shell.woocommerce-cart button.button,
body.vilano-2026-shell.woocommerce-checkout button.button {
  background: var(--vl-accent) !important;
  border-color: var(--vl-accent) !important;
  color: var(--vl-ivory) !important;
  border-radius: var(--vl-radius-sm) !important;
  font-family: var(--vl-font-ui) !important;
  font-weight: 700 !important;
  min-height: 44px;
  box-shadow: none !important;
}

body.vilano-2026-shell.woocommerce-checkout .woocommerce-checkout-payment,
body.vilano-2026-shell.woocommerce-checkout #payment {
  background: var(--vl-linen) !important;
  border: 1px solid var(--vl-border) !important;
  border-radius: var(--vl-radius-md);
}

body.vilano-2026-shell.woocommerce-checkout ul#shipping_method li,
body.vilano-2026-shell.woocommerce-cart ul#shipping_method li {
  padding: var(--vl-space-3) 0;
  border-bottom: 1px solid var(--vl-border);
  font-size: 15px;
  line-height: 1.45;
}

body.vilano-2026-shell.woocommerce-checkout .woocommerce-form__label-for-checkbox,
body.vilano-2026-shell.woocommerce-checkout label {
  font-family: var(--vl-font-ui);
  color: var(--vl-ink);
}

body.vilano-2026-shell .woocommerce-error,
body.vilano-2026-shell .woocommerce-info,
body.vilano-2026-shell .woocommerce-message {
  border-radius: var(--vl-radius-sm);
  border-color: var(--vl-border) !important;
  font-family: var(--vl-font-ui);
}

/* Trust strip near purchase (markup optional; safe if absent) */
body.vilano-2026-shell .vilano-checkout-trust {
  margin: var(--vl-space-4) 0 var(--vl-space-6);
  padding: var(--vl-space-4) 0;
  border-top: 1px solid var(--vl-border);
  border-bottom: 1px solid var(--vl-border);
  font-size: 14px;
  line-height: 1.5;
  color: var(--vl-ink-soft);
}

body.vilano-2026-shell .vilano-checkout-trust li {
  margin: 0 0 var(--vl-space-2);
}

/* Shop / archive listing soft cleanup under shell */
body.vilano-2026-shell.woocommerce-shop .onsale,
body.vilano-2026-shell.tax-product_cat .onsale {
  background: var(--vl-sand) !important;
  color: var(--vl-ink) !important;
  border-radius: 4px !important;
  font-family: var(--vl-font-ui) !important;
  box-shadow: none !important;
}
