/* ═══════════════════════════════════════════════════
   Exal Pass — Homely Rent · palette dark coerente
   ═══════════════════════════════════════════════════ */
:root {
  --hm-bg:        var(--e-global-color-accent, #FFFFFF);
  --hm-surface:   var(--e-global-color-primary, #F5FCEB);
  --hm-card:      #FFFFFF;
  --hm-elevated:  var(--e-global-color-4028a99a, #F4F4F4);
  --hm-border:    rgba(6,18,18,.12);
  --hm-gold:      var(--e-global-color-3a6113d, #8D3808);
  --hm-gold-l:    var(--e-global-color-7780774, #C7A979);
  --hm-heading:   var(--e-global-color-secondary, #1C3D29);
  --hm-text:      var(--e-global-color-text, #061212);
  --hm-muted:     rgba(6,18,18,.58);
  --hm-subtle:    rgba(6,18,18,.42);
  --hm-radius:    0;
  --hm-radius-lg: 0;
  --hm-font-head: var(--e-global-typography-primary-font-family, "Chloe"), Georgia, serif;
  --hm-font-body: var(--e-global-typography-text-font-family, "Lora"), Georgia, serif;
}

/* ── GUIDA "Come usare i crediti" ───────────────────── */
.exal-guide-wrap {
  background: var(--hm-bg);
  color: var(--hm-text);
  font-family: var(--hm-font-body);
  box-sizing: border-box;
}
.exal-guide-wrap * { box-sizing: border-box; }

.exal-guide-hero {
  padding: clamp(60px, 8vw, 100px) 1.5rem;
  text-align: center;
}
.exal-guide-hero__inner { max-width: 680px; margin: 0 auto; }
.exal-guide-hero h1 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 1.5rem;
  color: var(--hm-text);
}
.exal-guide-hero p {
  font-size: 1.1rem;
  color: var(--hm-muted);
  max-width: 560px;
  margin: 0 auto;
  line-height: 1.6;
}

.exal-guide-eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--hm-gold);
  display: block;
  margin-bottom: 1.5rem;
}

.exal-guide-steps {
  padding: clamp(60px, 8vw, 100px) 1.5rem;
  background: var(--hm-surface);
}
.exal-guide-steps__inner {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.exal-guide-step {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
}
.exal-guide-step__num {
  font-size: 3.5rem;
  font-weight: 700;
  color: var(--hm-border);
  line-height: 1;
  min-width: 80px;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}
.exal-guide-step__body h3 {
  font-size: 1.2rem;
  font-weight: 600;
  margin: 0 0 .75rem;
  color: var(--hm-text);
}
.exal-guide-step__body p {
  color: var(--hm-muted);
  line-height: 1.6;
  margin: 0 0 .75rem;
}
.exal-guide-step__body a { color: var(--hm-gold); text-decoration: none; }
.exal-guide-step__body a:hover { color: var(--hm-gold-l); }
.exal-guide-step__body strong { color: var(--hm-text); }
.exal-guide-step__body code {
  background: var(--hm-elevated);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: .9rem;
  color: var(--hm-gold-l);
}
.exal-guide-step__tip {
  background: var(--hm-card);
  border-left: 3px solid var(--hm-gold);
  padding: .75rem 1rem;
  border-radius: 0 var(--hm-radius) var(--hm-radius) 0;
  font-size: .875rem;
  color: var(--hm-muted);
  margin-top: .75rem;
}
.exal-guide-step__example {
  background: var(--hm-card);
  border: 1px solid var(--hm-border);
  padding: 1rem;
  border-radius: var(--hm-radius);
  font-size: .9rem;
  margin-top: .75rem;
  color: var(--hm-muted);
}
.exal-guide-step__example strong { color: var(--hm-gold-l); }

.exal-guide-denominations {
  padding: clamp(60px, 8vw, 100px) 1.5rem;
}
.exal-guide-inner { max-width: 760px; margin: 0 auto; }
.exal-guide-denominations h2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0 0 .5rem;
  color: var(--hm-text);
}
.exal-guide-denominations > .exal-guide-inner > p {
  color: var(--hm-muted);
  margin: 0 0 2rem;
}

.exal-denom-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
}
.exal-denom-card {
  background: var(--hm-card);
  border: 1px solid var(--hm-border);
  border-radius: var(--hm-radius-lg);
  padding: 1.5rem 1rem;
  text-align: center;
  position: relative;
  transition: border-color .2s ease, transform .2s ease;
}
.exal-denom-card:hover {
  border-color: rgba(141, 56, 8, 0.4);
  transform: translateY(-2px);
}
.exal-denom-card--popular {
  border-color: var(--hm-gold);
  box-shadow: 0 0 0 1px rgba(141, 56, 8, 0.3);
}
.exal-denom-value {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--hm-gold);
  margin-bottom: .25rem;
  line-height: 1;
}
.exal-denom-credits {
  display: block;
  font-size: .875rem;
  color: var(--hm-muted);
  margin-bottom: .5rem;
}
.exal-denom-desc {
  display: block;
  font-size: .8rem;
  color: var(--hm-subtle);
}
.exal-denom-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--hm-gold);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 10px;
  border-radius: 999px;
  letter-spacing: 0.3px;
}

.exal-guide-faq {
  padding: clamp(40px, 6vw, 80px) 1.5rem;
  background: var(--hm-surface);
}
.exal-guide-faq h2 {
  font-size: 1.8rem;
  font-weight: 600;
  margin: 0 0 1.5rem;
  color: var(--hm-text);
}
.exal-guide-faq .exal-guide-inner { max-width: 680px; }
.exal-guide-faq .exal-faq-item {
  border-bottom: 1px solid var(--hm-border);
  padding: .75rem 0;
}
.exal-guide-faq .exal-faq-item summary {
  font-weight: 500;
  cursor: pointer;
  color: var(--hm-text);
  padding: .5rem 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1rem;
}
.exal-guide-faq .exal-faq-item summary::-webkit-details-marker { display: none; }
.exal-guide-faq .exal-faq-item summary::after {
  content: '↓';
  color: var(--hm-gold);
  transition: transform .2s ease;
  margin-left: 1rem;
}
.exal-guide-faq .exal-faq-item[open] summary::after { content: '↑'; }
.exal-guide-faq .exal-faq-item p {
  color: var(--hm-muted);
  padding: .75rem 0 .25rem;
  font-size: .95rem;
  line-height: 1.6;
  margin: 0;
}
.exal-guide-faq .exal-faq-item a { color: var(--hm-gold); text-decoration: none; }
.exal-guide-faq .exal-faq-item a:hover { color: var(--hm-gold-l); }

.exal-guide-cta {
  padding: clamp(60px, 8vw, 100px) 1.5rem;
  text-align: center;
}
.exal-guide-cta__inner { max-width: 560px; margin: 0 auto; }
.exal-guide-cta h2 {
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 600;
  margin: 0 0 1rem;
  color: var(--hm-text);
}
.exal-guide-cta p { color: var(--hm-muted); margin: 0 0 2rem; font-size: 1.05rem; }
.exal-guide-cta__buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.exal-btn-primary-dark {
  background: var(--hm-gold);
  color: #FFFFFF !important;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: var(--hm-radius);
  text-decoration: none;
  transition: all .25s ease;
  display: inline-block;
}
.exal-btn-primary-dark:hover {
  background: var(--hm-gold-l);
  transform: translateY(-1px);
}

.exal-btn-secondary-dark {
  background: transparent;
  color: var(--hm-text) !important;
  border: 1px solid var(--hm-border);
  font-weight: 500;
  padding: 13px 28px;
  border-radius: var(--hm-radius);
  text-decoration: none;
  transition: all .25s ease;
  display: inline-block;
}
.exal-btn-secondary-dark:hover {
  border-color: var(--hm-gold);
  color: var(--hm-gold) !important;
}

@media (max-width: 640px) {
  .exal-guide-step { flex-direction: column; gap: 1rem; }
  .exal-guide-step__num { font-size: 2.5rem; min-width: auto; }
  .exal-denom-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── ACQUISTA COUPON ─────────────────────────────────── */
.exal-coupon-page-wrap {
  background: var(--hm-bg);
  color: var(--hm-text);
  min-height: 80vh;
  font-family: var(--hm-font-body);
}
.exal-coupon-page-wrap * { box-sizing: border-box; }

.exal-coupon-header {
  padding: clamp(48px, 6vw, 80px) 1.5rem;
  background: var(--hm-surface);
  border-bottom: 1px solid var(--hm-border);
}
.exal-coupon-header__inner {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.exal-coupon-header h1 {
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 600;
  margin: .5rem 0 1rem;
  color: var(--hm-text);
}
.exal-coupon-header p {
  color: var(--hm-muted);
  font-size: 1.05rem;
  max-width: 560px;
  margin: 0 auto 1.5rem;
  line-height: 1.6;
}

.exal-back-link {
  color: var(--hm-muted);
  font-size: .875rem;
  text-decoration: none;
  display: inline-block;
  margin-bottom: 1rem;
}
.exal-back-link:hover { color: var(--hm-gold); }

.exal-coupon-balance {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: var(--hm-card);
  border: 1px solid rgba(141, 56, 8, 0.3);
  border-radius: var(--hm-radius-lg);
  padding: .75rem 1.5rem;
  margin-top: 1rem;
}
.exal-coupon-balance__label {
  font-size: .8rem;
  color: var(--hm-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.exal-coupon-balance__value {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--hm-gold);
}
.exal-coupon-balance__link {
  font-size: .875rem;
  color: var(--hm-gold);
  text-decoration: none;
}
.exal-coupon-balance__link:hover { color: var(--hm-gold-l); }

.exal-coupon-auth-notice {
  background: var(--hm-card);
  border: 1px solid var(--hm-border);
  border-left: 3px solid var(--hm-gold);
  border-radius: var(--hm-radius);
  padding: 1rem 1.5rem;
  margin-top: 1rem;
  text-align: left;
}
.exal-coupon-auth-notice p { color: var(--hm-muted); margin: 0; }
.exal-coupon-auth-notice a { color: var(--hm-gold); text-decoration: none; }
.exal-coupon-auth-notice a:hover { color: var(--hm-gold-l); }

.exal-coupon-product {
  padding: clamp(48px, 6vw, 80px) 1.5rem;
}
.exal-coupon-product__inner { max-width: 900px; margin: 0 auto; }
.exal-coupon-help {
  padding: 2rem 1.5rem;
  text-align: center;
  border-top: 1px solid var(--hm-border);
}
.exal-coupon-help p { color: var(--hm-muted); margin: 0; }
.exal-coupon-help a { color: var(--hm-gold); text-decoration: none; }
.exal-coupon-help a:hover { color: var(--hm-gold-l); }

/* WooCommerce overrides per palette dark sulla pagina coupon */
.exal-coupon-product .product { color: var(--hm-text); }
.exal-coupon-product .product .price,
.exal-coupon-product .product .price .amount,
.exal-coupon-product .product .price bdi { color: var(--hm-gold) !important; font-weight: 600; }
.exal-coupon-product .product h1,
.exal-coupon-product .product h2,
.exal-coupon-product .product h3,
.exal-coupon-product .product .product_title { color: var(--hm-text); }
.exal-coupon-product .woocommerce-product-details__short-description {
  color: var(--hm-muted);
  margin-bottom: 1rem;
}
.exal-coupon-product table.variations,
.exal-coupon-product .variations_form .variations { width: 100%; margin-bottom: 1rem; }
.exal-coupon-product .variations select {
  background: var(--hm-elevated) !important;
  border: 1px solid var(--hm-border) !important;
  color: var(--hm-text) !important;
  border-radius: var(--hm-radius) !important;
  padding: .75rem 1rem !important;
  font-size: 1rem;
}
.exal-coupon-product .single_add_to_cart_button,
.exal-coupon-product button.single_add_to_cart_button {
  background: var(--hm-gold) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  border: none !important;
  padding: 14px 28px !important;
  border-radius: var(--hm-radius) !important;
  text-shadow: none !important;
}
.exal-coupon-product .single_add_to_cart_button:hover { background: var(--hm-gold-l) !important; }
.exal-coupon-product .reset_variations { color: var(--hm-muted); }
.exal-coupon-product .woocommerce-variation-price .amount { color: var(--hm-gold) !important; }
.exal-coupon-unavail {
  background: var(--hm-card);
  border: 1px solid var(--hm-border);
  border-radius: var(--hm-radius);
  padding: 2rem;
  text-align: center;
  color: var(--hm-muted);
}

/* ── BANNER CREDITI su single struttura ──────────────── */
/* Sprint 5bd: refresh palette Homely Griya (verde #1C3D29 + cream + terracotta accent) */
.exal-struct-banner {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  background: #F5FCEB;
  color: #1C3D29;
  border: 1px solid rgba(28, 61, 41, 0.18);
  border-left: 4px solid #1C3D29;
  border-radius: 8px;
  padding: 1rem 1.5rem;
  margin: 1.5rem 0;
  font-size: .95rem;
  box-shadow: 0 1px 4px rgba(28, 61, 41, 0.08);
}
.exal-struct-banner__icon {
  font-size: 1.5rem;
  color: #1C3D29;
  flex-shrink: 0;
}
.exal-struct-banner__body {
  flex: 1;
  color: #25212F;
  line-height: 1.5;
}
.exal-struct-banner__body strong { color: #1C3D29; font-weight: 700; }
.exal-struct-banner__body a {
  color: #8D3808;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.exal-struct-banner__body a:hover { color: #1C3D29; }
.exal-struct-banner__cta {
  background: #1C3D29;
  color: #FFFFFF !important;
  font-weight: 600;
  padding: 10px 22px;
  border-radius: 6px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  font-size: .875rem;
  letter-spacing: .01em;
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 2px 6px rgba(28, 61, 41, 0.18);
}
.exal-struct-banner__cta:hover {
  background: #0F2618;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(28, 61, 41, 0.28);
}

/* Variante promo (utenti non membri o senza crediti) — stile più invitante */
/* Sprint 5bd: refresh promo verso palette Griya (era terracotta su dark) */
.exal-struct-banner--promo {
  background: linear-gradient(135deg, rgba(28, 61, 41, 0.06) 0%, rgba(245, 252, 235, 1) 100%);
  border-color: rgba(28, 61, 41, 0.35);
  border-left-color: #8D3808;
}
.exal-struct-banner--promo .exal-struct-banner__icon { color: #8D3808; }
.exal-struct-banner--promo .exal-struct-banner__body strong { color: #8D3808; }
.exal-struct-banner--promo .exal-struct-banner__cta {
  background: #8D3808;
}
.exal-struct-banner--promo .exal-struct-banner__cta:hover {
  background: #6E2A06;
}

@media (max-width: 640px) {
  .exal-struct-banner { flex-direction: column; align-items: flex-start; }
  .exal-struct-banner__cta { align-self: stretch; text-align: center; }
}

/* ── Voce menu "Usa i Crediti" ───────────────────────── */
.menu-item-exal-credits > a {
  color: #8D3808 !important;
  font-weight: 600;
}
.menu-item-exal-credits > a:hover { color: #C7A979 !important; }

/* Sprint 5be: cleanup header Homely */
.menu-item-exal-credits { display: none !important; }
.exal-nav-user__balance { display: none !important; }
body.home { background-color: #F5FCEB; }


/* Pulizia layout WC sulla pagina coupon: minimal, no fronzoli */
.exal-coupon-product .woocommerce-product-gallery,
.exal-coupon-product .woocommerce-product-gallery__wrapper,
.exal-coupon-product .images,
.exal-coupon-product .wp-post-image,
.exal-coupon-product .woocommerce-tabs,
.exal-coupon-product .related,
.exal-coupon-product .upsells,
.exal-coupon-product .product_meta {
  display: none !important;
}
.exal-coupon-product .product.type-product { display: block; }
.exal-coupon-product .product .summary,
.exal-coupon-product .product .entry-summary {
  float: none !important; width: 100% !important; margin: 0 !important;
}
.exal-coupon-product .product .price { font-size: 1.5rem; }
.exal-coupon-product .product .price del { display: none; }
.exal-coupon-product .variations_form { background: transparent; }
.exal-coupon-product .variations th label,
.exal-coupon-product .variations td label { color: var(--hm-text); font-weight: 600; }
.exal-coupon-product .single_variation_wrap { margin-top: 1rem; }


/* Card tagli ora cliccabili (<a>) */
a.exal-denom-card {
  text-decoration: none;
  color: inherit;
  display: block;
  cursor: pointer;
}
a.exal-denom-card:hover { transform: translateY(-3px); border-color: var(--hm-gold); }
a.exal-denom-card:hover .exal-denom-value { color: var(--hm-gold-l); }


/* Bottone "Sconto crediti Exal" dentro le card del loop strutture */
/* Sprint 5bg: dimensione IDENTICA a "Prenota Adesso" Elementor size-sm */
.exal-card-btn-wrap {
  margin: 0.75rem 0 1.25rem;
  padding-left: 15px;  /* Sprint 5bh: allineato orizzontalmente a Prenota Adesso (offset bordo card) */
  text-align: left;
}
.exal-card-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: #1C3D29 !important;
  color: #F5FCEB !important;
  border: 1px solid #1C3D29;
  border-radius: 0;
  padding: 12px 24px;
  font-size: 15px;
  font-weight: 400;
  line-height: 15px;
  letter-spacing: normal;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.exal-card-btn:hover {
  background: #0F2618 !important;
  border-color: #0F2618;
  color: #FFFFFF !important;
}
.exal-card-btn__icon { font-size: 1em; color: #C7A979; }
.exal-card-btn__label { line-height: 1.2; }


/* ═══════════════════════════════════════════════
   FIX #2 — Notice checkout (3 varianti)
   ═══════════════════════════════════════════════ */
.exal-checkout-notice {
  background: #F5FCEB;
  border: 1px solid #E3E3DE;
  border-radius: 8px;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
  font-size: .9rem;
  line-height: 1.5;
  color: #6B6B6B;
}
.exal-checkout-notice strong { color: #061212; display: block; margin-bottom: .25rem; }
.exal-checkout-notice--auth    { border-left: 3px solid #3B82F6; }
.exal-checkout-notice--member  { border-left: 3px solid #8D3808; }
.exal-checkout-notice--balance { border-left: 3px solid #EF4444; }
.exal-notice-link { color: #8D3808; font-weight: 600; text-decoration: none; }
.exal-notice-link:hover { color: #C7A979; text-decoration: underline; }

/* ═══════════════════════════════════════════════
   FIX #4 — Dark skin Cart/Checkout Block-based
   ═══════════════════════════════════════════════ */
body.exal-light-page {
  background-color: #FFFFFF !important;
  color: #061212 !important;
}
body.exal-light-page .entry-content,
body.exal-light-page .wp-block-woocommerce-cart,
body.exal-light-page .wp-block-woocommerce-checkout {
  background: #FFFFFF;
  color: #061212;
}
body.exal-light-page .wc-block-cart,
body.exal-light-page .wc-block-checkout { background: #FFFFFF; }

body.exal-light-page .wc-block-cart-items,
body.exal-light-page .wc-block-cart-items__header {
  background: #F5FCEB; border-color: #E3E3DE; color: #061212;
}
body.exal-light-page .wc-block-cart-item__description,
body.exal-light-page .wc-block-cart-item__individual-prices,
body.exal-light-page .wc-block-components-product-name { color: #061212 !important; }
body.exal-light-page .wc-block-cart-item__prices .price,
body.exal-light-page .wc-block-components-order-summary-item__total-price { color: #8D3808 !important; }

body.exal-light-page .wc-block-cart__totals,
body.exal-light-page .wc-block-components-totals-wrapper,
body.exal-light-page .wc-block-components-totals-coupon,
body.exal-light-page .wc-block-components-totals-item {
  background: #F5FCEB; border-color: #E3E3DE; color: #061212;
}
body.exal-light-page .wc-block-components-totals-item__label { color: #6B6B6B; }
body.exal-light-page .wc-block-components-totals-item__value { color: #061212; }

body.exal-light-page .wc-block-checkout__sidebar,
body.exal-light-page .wc-block-components-sidebar {
  background: #F5FCEB; border-color: #E3E3DE;
}
body.exal-light-page .wc-block-components-text-input input,
body.exal-light-page .wc-block-components-select select,
body.exal-light-page .wc-block-components-textarea textarea {
  background: #FFFFFF !important; border-color: #E3E3DE !important;
  color: #061212 !important; border-radius: 6px !important;
}
body.exal-light-page .wc-block-components-text-input input:focus,
body.exal-light-page .wc-block-components-select select:focus {
  border-color: #8D3808 !important;
  box-shadow: 0 0 0 3px rgba(141, 56, 8,0.15) !important;
  outline: none !important;
}
body.exal-light-page .wc-block-components-text-input label,
body.exal-light-page .wc-block-components-select label,
body.exal-light-page .wc-block-components-checkbox__label { color: #6B6B6B !important; }

body.exal-light-page .wc-block-components-payment-method-label,
body.exal-light-page .wc-block-components-payment-methods,
body.exal-light-page .wc-block-components-radio-control {
  background: #F5FCEB; border-color: #E3E3DE; color: #061212;
}
body.exal-light-page .wc-block-components-radio-control-accordion-content { background: #FFFFFF; }
body.exal-light-page .wc-block-components-radio-control__input:checked { accent-color: #8D3808; }

body.exal-light-page .wc-block-components-checkout-place-order-button,
body.exal-light-page .wc-block-cart__submit-button {
  background-color: #8D3808 !important; color: #FFFFFF !important;
  font-weight: 600 !important; border: none !important; border-radius: 8px !important;
}
body.exal-light-page .wc-block-components-checkout-place-order-button:hover,
body.exal-light-page .wc-block-cart__submit-button:hover { background-color: #C7A979 !important; }

body.exal-light-page a { color: #8D3808; }
body.exal-light-page a:hover { color: #C7A979; }

body.exal-light-page .wc-block-components-totals-coupon__form input {
  background: #FFFFFF !important; border-color: #E3E3DE !important; color: #061212 !important;
}
body.exal-light-page .wc-block-components-notice-banner,
body.exal-light-page .wp-block-woocommerce-checkout-notice-banner-block {
  background: #F4F4F4 !important; border-color: #EF4444 !important; color: #061212 !important;
}

/* ═══════════════════════════════════════════════
   FIX #5 — Order-received coupon section
   ═══════════════════════════════════════════════ */
.exal-order-coupon {
  background: #F5FCEB; border: 1px solid #E3E3DE;
  border-radius: 12px; padding: 2rem; margin: 2rem 0; color: #061212;
}
.exal-order-coupon__header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1.5rem; }
.exal-order-coupon__icon { font-size: 1.5rem; color: #8D3808; }
.exal-order-coupon__title { font-size: 1.25rem; font-weight: 600; color: #061212; margin: 0; }
.exal-order-coupon__code-wrap {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
  background: #FFFFFF; border: 1px solid rgba(141, 56, 8,0.3);
  border-radius: 8px; padding: 1rem 1.5rem; margin-bottom: 1rem;
}
.exal-order-coupon__code {
  font-size: 1.5rem; font-weight: 700; letter-spacing: .05em;
  color: #8D3808; font-family: monospace; flex: 1;
  background: none; border: none; padding: 0;
  word-break: break-all;
}
.exal-order-coupon__copy-btn {
  display: inline-flex; align-items: center; gap: .5rem;
  background: #8D3808; color: #FFFFFF; border: none;
  border-radius: 6px; padding: .5rem 1rem;
  font-size: .875rem; font-weight: 600; cursor: pointer;
  transition: all .2s; white-space: nowrap;
}
.exal-order-coupon__copy-btn:hover { background: #C7A979; }
.exal-copy-icon { font-size: 1em; }
.exal-order-coupon__meta {
  display: flex; gap: 2rem; flex-wrap: wrap;
  font-size: .9rem; color: #6B6B6B; margin-bottom: 1.5rem;
}
.exal-order-coupon__meta strong { color: #061212; }
.exal-order-coupon__steps { margin-bottom: 1.5rem; }
.exal-order-coupon__steps-label {
  font-size: .875rem; font-weight: 600; color: #6B6B6B;
  text-transform: uppercase; letter-spacing: .05em; margin-bottom: .75rem;
}
.exal-order-coupon__steps-list {
  padding-left: 1.25rem; margin: 0; color: #6B6B6B;
  font-size: .95rem; line-height: 1.8;
}
.exal-order-coupon__steps-list strong { color: #061212; }
.exal-order-coupon__steps-list li::marker { color: #8D3808; font-weight: 700; }
.exal-order-coupon__cta {
  display: inline-flex; align-items: center; gap: .5rem;
  background: #8D3808; color: #FFFFFF !important; font-weight: 600;
  padding: 12px 24px; border-radius: 8px; text-decoration: none;
  font-size: .95rem; transition: all .25s;
}
.exal-order-coupon__cta:hover { background: #C7A979; transform: translateY(-1px); color: #FFFFFF !important; }

/* ═══════════════════════════════════════════════
   FIX #6 — Balance equivalence €
   ═══════════════════════════════════════════════ */
.exal-coupon-balance__equiv {
  font-size: .8rem; color: #7A7A7A; margin-left: .25rem;
  font-weight: 500;
}

/* ═══════════════════════════════════════════════
   FIX #8 — Select2 / selectWoo dark override
   ═══════════════════════════════════════════════ */
.select2-container--default .select2-selection--single {
  background-color: #FFFFFF !important;
  border-color: #E3E3DE !important;
  color: #061212 !important;
  border-radius: 6px !important;
  height: 42px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #061212 !important; line-height: 40px !important; padding-left: .75rem !important;
}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: #8A8A8A !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 8px !important; right: 8px !important; }
.select2-dropdown {
  background-color: #FFFFFF !important;
  border-color: #E3E3DE !important;
  color: #061212 !important;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: #F5FCEB !important;
  border-color: #E3E3DE !important;
  color: #061212 !important;
  border-radius: 4px !important;
  padding: .5rem !important;
}
.select2-container--default .select2-results__option { color: #6B6B6B !important; padding: .5rem .75rem; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted {
  background-color: #8D3808 !important; color: #FFFFFF !important;
}
.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: rgba(141, 56, 8,0.15) !important; color: #8D3808 !important;
}

/* ════════════════════════════════════════
   Sprint 5e — Cart/Checkout polish
   ════════════════════════════════════════ */

/* Chrome Hello Theme: nascondi page-header + breadcrumb su cart/checkout */
body.exal-light-page .page-header,
body.exal-light-page .breadcrumbs,
body.exal-light-page .yoast-breadcrumbs,
body.exal-light-page .aioseo-breadcrumbs,
body.exal-light-page nav[aria-label="Breadcrumb"] {
    display: none !important;
}

/* Padding consistente del wrapper main su dark page */
body.exal-light-page .site-main,
body.exal-light-page main#content {
    padding: 0 !important;
    background: #FFFFFF !important;
}
body.exal-light-page .page-content {
    max-width: 1180px;
    margin: 0 auto;
    padding: 2rem 1.5rem 4rem;
}

/* Step indicator */
.exal-checkout-steps {
    display: flex; align-items: center; justify-content: center;
    gap: 2rem; padding: 2rem 1rem 1rem; flex-wrap: wrap;
    font-family: var(--hm-font-body);
}
.exal-checkout-steps__step {
    display: inline-flex; align-items: center; gap: .65rem;
    font-size: .9rem; color: #7A7A7A; position: relative;
}
.exal-checkout-steps__step:not(:last-child)::after {
    content: ''; display: inline-block; width: 32px; height: 1px;
    background: #E3E3DE; margin-left: 1.25rem;
}
.exal-checkout-steps__num {
    width: 28px; height: 28px; border-radius: 999px;
    background: #FFFFFF; border: 1px solid #E3E3DE;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: .85rem; font-weight: 600; color: #7A7A7A;
}
.exal-checkout-steps__step--done { color: #8D3808; }
.exal-checkout-steps__step--done .exal-checkout-steps__num {
    background: rgba(141, 56, 8,0.15); border-color: #8D3808; color: #8D3808;
}
.exal-checkout-steps__step--current { color: #061212; }
.exal-checkout-steps__step--current .exal-checkout-steps__num {
    background: #8D3808; border-color: #8D3808; color: #FFFFFF;
}
.exal-checkout-steps__step--current .exal-checkout-steps__label { font-weight: 600; }
.exal-checkout-steps__label { letter-spacing: .01em; }
@media (max-width: 600px) {
    .exal-checkout-steps { gap: 1rem; padding-top: 1.5rem; }
    .exal-checkout-steps__step { font-size: .8rem; }
    .exal-checkout-steps__step:not(:last-child)::after { width: 16px; margin-left: .65rem; }
    .exal-checkout-steps__num { width: 24px; height: 24px; font-size: .75rem; }
}

/* Empty cart custom */
.exal-empty-cart {
    text-align: center;
    background: #F5FCEB;
    border: 1px solid #E3E3DE;
    border-radius: 16px;
    padding: 3rem 1.5rem;
    margin: 2rem auto;
    max-width: 560px;
    color: #061212;
}
.exal-empty-cart__diamond {
    display: inline-flex; align-items: center; justify-content: center;
    width: 64px; height: 64px; border-radius: 50%;
    background: rgba(141, 56, 8,0.15); color: #8D3808;
    font-size: 2rem; margin-bottom: 1.5rem;
}
.exal-empty-cart__title { font-size: 1.5rem; font-weight: 600; margin: 0 0 .75rem; color: #061212; }
.exal-empty-cart__sub { color: #6B6B6B; line-height: 1.6; margin: 0 0 2rem; max-width: 420px; margin-left: auto; margin-right: auto; }
.exal-empty-cart__actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }
.exal-empty-cart__btn {
    display: inline-block; padding: 12px 24px; border-radius: 8px;
    text-decoration: none; font-weight: 600; font-size: .95rem; transition: all .2s;
}
.exal-empty-cart__btn--primary { background: #8D3808; color: #FFFFFF !important; }
.exal-empty-cart__btn--primary:hover { background: #C7A979; transform: translateY(-1px); }
.exal-empty-cart__btn--ghost { background: transparent; color: #061212 !important; border: 1px solid #E3E3DE; }
.exal-empty-cart__btn--ghost:hover { border-color: #8D3808; color: #8D3808 !important; }

/* Nasconde core/heading + separator del default WC empty-cart (fallback se ancora presenti) */
body.exal-light-page .wp-block-woocommerce-empty-cart-block > .wp-block-heading,
body.exal-light-page .wp-block-woocommerce-empty-cart-block > .wp-block-separator,
body.exal-light-page .wp-block-woocommerce-empty-cart-block > .wc-block-grid,
body.exal-light-page .wp-block-woocommerce-empty-cart-block > .wp-block-woocommerce-product-new {
    display: none !important;
}

/* Prezzi crediti + € — via data-attribute + pseudo-elements (robusto vs React) */
.exal-price-credits {
    color: #8D3808; font-weight: 700; letter-spacing: .005em;
}
.exal-price-eur {
    color: #8A8A8A; font-weight: 400; font-size: .85em; margin-left: .35em;
}
[data-exal-credits] {
    color: #8A8A8A !important;
    font-size: .88em !important;
    font-weight: 500 !important;
    display: inline;
}
[data-exal-credits]::before {
    content: attr(data-exal-credits) " crediti ";
    color: #8D3808;
    font-weight: 700;
    font-size: 1.18em;
    margin-right: .25em;
    letter-spacing: .005em;
    white-space: nowrap;
}
.wc-block-components-totals-item__value[data-exal-credits],
.wc-block-components-totals-item__value > [data-exal-credits],
.wc-block-components-order-summary-item__total-price[data-exal-credits],
.wc-block-components-order-summary-item__total-price > [data-exal-credits] {
    text-align: right;
}
/* Wrap full value (credits + eur) right-aligned in parents */
.wc-block-components-totals-item__value:has([data-exal-credits]),
.wc-block-components-order-summary-item__total-price:has([data-exal-credits]) {
    display: inline-block;
    text-align: right;
}

/* Hide native WC "no payment method" notice quando il nostro è attivo */
.wp-block-woocommerce-checkout-payment-block.exal-payment-empty .wc-block-components-notice-banner,
.wp-block-woocommerce-checkout-payment-block.exal-payment-empty p:not(.exal-payment-notice p),
.wp-block-woocommerce-checkout-payment-block.exal-payment-empty .wc-block-components-checkout-step__description {
    display: none !important;
}

/* Payment notice (injected in checkout payment-block when no method) */
.exal-payment-notice {
    background: #F5FCEB;
    border: 1px solid #E3E3DE;
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin-bottom: 1rem;
    font-size: .9rem;
    line-height: 1.55;
    color: #6B6B6B;
}
.exal-payment-notice strong {
    color: #061212;
    display: block;
    margin-bottom: .35rem;
    font-size: .95rem;
}
.exal-payment-notice b { color: #8D3808; }
.exal-payment-notice--auth    { border-left: 3px solid #3B82F6; }
.exal-payment-notice--member  { border-left: 3px solid #8D3808; }
.exal-payment-notice--balance { border-left: 3px solid #EF4444; }
.exal-payment-notice .exal-notice-link {
    color: #8D3808; font-weight: 600; text-decoration: none;
}
.exal-payment-notice .exal-notice-link:hover {
    color: #C7A979; text-decoration: underline;
}

/* Trust signal */
.exal-trust-signal {
    display: flex; align-items: center; gap: .65rem;
    background: rgba(141, 56, 8,0.08);
    border: 1px solid rgba(141, 56, 8,0.25);
    border-radius: 8px;
    padding: .85rem 1rem; margin: 1rem 0;
    font-size: .875rem; color: #8D3808;
}
.exal-trust-signal__icon { font-size: 1.1em; }
.exal-trust-signal span:last-child { color: #6B6B6B; }
.exal-trust-signal span:last-child strong { color: #061212; }

/* Badge sticky carrello — stack sopra credits badge (#exal-credit-badge @ bottom:24px) */
/* credits badge h~44px + 12px gap → cart badge a bottom: 80px */
:root {
    --exal-iubenda-height: 0px;
    --exal-badge-credits-bottom: 24px;
    --exal-badge-gap: 12px;
}
/* Sprint 5ah: cart pill stile Hostsereno + brand Homely (dark green #1C3D29 / cream #C7A979) */
.exal-cart-badge {
    position: fixed;
    right: 24px !important;
    left: auto !important;
    bottom: calc(var(--exal-badge-credits-bottom) + 44px + var(--exal-badge-gap) + var(--exal-iubenda-height));
    z-index: 9999;
    display: none; align-items: center; gap: 6px;
    background: #FFFFFF !important; color: #1C3D29 !important;
    border: 1.5px solid #E5E7EB !important;
    padding: 8px 16px !important; border-radius: 99px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
    font-weight: 600 !important; font-size: 13px !important; text-decoration: none !important;
    transition: all .2s ease !important;
    transform: translateY(8px); opacity: 0;
    white-space: nowrap !important;
    font-family: 'Poppins', -apple-system, sans-serif !important;
}
.exal-cart-badge.is-visible { display: inline-flex; transform: translateY(0); opacity: 1; }
.exal-cart-badge:hover {
    background: #1C3D29 !important; color: #FFFFFF !important; border-color: #1C3D29 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(28, 61, 41, .35) !important;
}
.exal-cart-badge__icon { font-size: 1.05em; line-height: 1; }
.exal-cart-badge__count {
    background: #1C3D29; color: #FFFFFF; min-width: 18px; height: 18px;
    border-radius: 99px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 11px; padding: 0 6px; font-weight: 700; line-height: 1;
}
.exal-cart-badge:hover .exal-cart-badge__count { background: #FFFFFF; color: #1C3D29; }
.exal-cart-badge__label { letter-spacing: .01em; }

/* Sprint 5ah: credit badge (SSO injected) stile pill Hostsereno + brand Homely */
html body #exal-credit-badge, html body .exal-credit-badge {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    left: auto !important;
    width: auto !important;
    max-width: max-content !important;
    z-index: 9998 !important;
    background: #FFFFFF !important;
    color: #1C3D29 !important;
    border: 1.5px solid #E5E7EB !important;
    border-radius: 99px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.12) !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: all .2s ease !important;
    font-family: 'Poppins', -apple-system, sans-serif !important;
    white-space: nowrap !important;
}
html body #exal-credit-badge:hover, html body .exal-credit-badge:hover {
    background: #1C3D29 !important; color: #FFFFFF !important; border-color: #1C3D29 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(28, 61, 41, .35) !important;
}

/* Quando iubenda banner è visibile, alza ANCHE il credits badge SSO (#exal-credit-badge inline-style) */
body.exal-iubenda-visible #exal-credit-badge {
    bottom: calc(24px + var(--exal-iubenda-height)) !important;
    transition: bottom .25s ease;
}

@media (max-width: 600px) {
    :root { --exal-badge-credits-bottom: 16px; }
    .exal-cart-badge {
        right: 16px;
        padding: .5rem .85rem;
        font-size: .8rem;
    }
    .exal-cart-badge__label { display: none; }
    .exal-cart-badge__count { min-width: 20px; height: 20px; font-size: .75rem; }
}

/* Loading skeleton dark per block-based cart/checkout */
body.exal-light-page .wp-block-woocommerce-cart.is-loading,
body.exal-light-page .wp-block-woocommerce-checkout.is-loading {
    min-height: 480px; position: relative;
}
body.exal-light-page .wp-block-woocommerce-cart.is-loading::before,
body.exal-light-page .wp-block-woocommerce-checkout.is-loading::before {
    content: ''; position: absolute; inset: 0;
    background:
        linear-gradient(90deg, #F5FCEB 0%, #FFFFFF 50%, #F5FCEB 100%) no-repeat,
        #FFFFFF;
    background-size: 200% 100%;
    border-radius: 12px;
    animation: exalShimmer 1.4s linear infinite;
    opacity: .35;
}
@keyframes exalShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Sticky summary su mobile checkout */
@media (max-width: 1023px) {
    body.exal-light-page.woocommerce-checkout .wc-block-checkout__sidebar,
    body.exal-light-page.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        position: sticky; top: 0; z-index: 5;
        background: #F5FCEB;
    }
}

/* Place-order polish */
body.exal-light-page .wc-block-components-checkout-place-order-button {
    padding: 16px 28px !important;
    font-size: 1rem !important;
    letter-spacing: .01em !important;
    transition: all .25s !important;
}
body.exal-light-page .wc-block-components-checkout-place-order-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(141, 56, 8,0.35) !important;
}
/* ════════════════════════════════════════
   Mobile fixes — cart/checkout responsive
   ════════════════════════════════════════ */
@media (max-width: 768px) {
    body.exal-light-page .page-content { padding: 1rem .85rem 3rem; }

    /* Step indicator: layout più compatto, no horizontal scroll */
    .exal-checkout-steps {
        gap: .5rem;
        padding: 1.25rem .5rem .5rem;
        justify-content: center;
    }
    .exal-checkout-steps__step { font-size: .75rem; gap: .4rem; }
    .exal-checkout-steps__step:not(:last-child)::after { width: 12px; margin-left: .4rem; }
    .exal-checkout-steps__num { width: 22px; height: 22px; font-size: .7rem; }

    /* Empty cart compact */
    .exal-empty-cart { padding: 2rem 1rem; margin: 1rem auto; }
    .exal-empty-cart__title { font-size: 1.25rem; }
    .exal-empty-cart__diamond { width: 52px; height: 52px; font-size: 1.6rem; margin-bottom: 1rem; }
    .exal-empty-cart__actions { flex-direction: column; gap: .65rem; }
    .exal-empty-cart__btn { width: 100%; text-align: center; }

    /* Cart items + totals: full width, no horizontal overflow */
    body.exal-light-page .wp-block-woocommerce-cart,
    body.exal-light-page .wp-block-woocommerce-checkout {
        padding: 0 !important;
    }
    body.exal-light-page .wc-block-cart,
    body.exal-light-page .wc-block-checkout {
        flex-direction: column !important;
    }
    body.exal-light-page .wc-block-cart-items,
    body.exal-light-page .wc-block-cart__totals,
    body.exal-light-page .wc-block-checkout__main,
    body.exal-light-page .wc-block-checkout__sidebar {
        max-width: 100% !important;
        flex: 1 1 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    /* Cart item: più leggibile */
    body.exal-light-page .wc-block-cart-items__row {
        padding: 1rem .85rem;
        gap: .75rem;
    }
    body.exal-light-page .wc-block-cart-item__image img {
        max-width: 64px; height: auto;
    }
    body.exal-light-page .wc-block-components-product-name {
        font-size: .95rem !important; line-height: 1.35;
    }

    /* Totali: typo più grande, line-height generoso, no text-cramp */
    body.exal-light-page .wc-block-components-totals-item {
        padding: .65rem 0 !important;
        font-size: .9rem;
    }
    body.exal-light-page .wc-block-components-totals-footer-item,
    body.exal-light-page .wc-block-components-totals-item--total {
        font-size: 1rem;
        padding: 1rem 0 !important;
        border-top: 1px solid #E3E3DE !important;
    }
    body.exal-light-page .wc-block-components-totals-item__value {
        font-size: .9em !important;
    }
    [data-exal-credits]::before {
        font-size: 1.05em !important;
    }

    /* CTA buttons: full width + adeguato touch target */
    body.exal-light-page .wc-block-cart__submit-button,
    body.exal-light-page .wc-block-components-checkout-place-order-button {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: .95rem !important;
        min-height: 48px !important;
        border-radius: 8px !important;
    }
    body.exal-light-page .wc-block-cart__submit-container {
        padding: 0 !important; margin-top: 1rem !important;
    }

    /* Trust signal mobile */
    .exal-trust-signal {
        font-size: .8rem;
        padding: .7rem .85rem;
        gap: .5rem;
    }

    /* Payment notice mobile */
    .exal-payment-notice { padding: .85rem 1rem; font-size: .85rem; }
    .exal-payment-notice strong { font-size: .9rem; }

    /* Form inputs: 16px font (no zoom iOS) + larger tap target */
    body.exal-light-page .wc-block-components-text-input input,
    body.exal-light-page .wc-block-components-select select,
    body.exal-light-page .wc-block-components-textarea textarea {
        font-size: 16px !important;
        min-height: 44px !important;
        padding: .75rem .85rem !important;
    }

    /* Sidebar checkout: no sticky su mobile (era utile su tablet) */
    body.exal-light-page.woocommerce-checkout .wc-block-checkout__sidebar,
    body.exal-light-page.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block {
        position: static !important;
    }
}

@media (max-width: 400px) {
    .exal-checkout-steps__label { display: none; }
    .exal-checkout-steps__step { gap: 0; }
    .exal-checkout-steps__step:not(:last-child)::after { width: 18px; margin-left: .35rem; }
    body.exal-light-page .page-content { padding: .75rem .65rem 2rem; }
}

/* ════════════════════════════════════════
   Round 4 fixes — heading overrides, trust full-width, safe-area
   ════════════════════════════════════════ */

/* Override Hello Theme heading styles dentro cart/checkout block-based */
body.exal-light-page h1,
body.exal-light-page h2,
body.exal-light-page h3,
body.exal-light-page h4,
body.exal-light-page .wp-block-heading,
body.exal-light-page .wc-block-components-title,
body.exal-light-page .wc-block-components-checkout-step__title,
body.exal-light-page .wc-block-components-totals-item__label,
body.exal-light-page .wc-block-components-totals-footer-item__label,
body.exal-light-page .wc-block-components-order-summary__title {
    font-family: var(--hm-font-body) !important;
    font-style: normal !important;
    color: #061212 !important;
    font-weight: 600 !important;
}
body.exal-light-page h2,
body.exal-light-page h3.wp-block-heading,
body.exal-light-page .wc-block-components-checkout-step__title {
    font-size: 1.1rem !important;
    letter-spacing: -0.01em;
    margin: 1.5rem 0 .75rem;
}
body.exal-light-page .wc-block-components-totals-item__label {
    color: #6B6B6B !important;
    font-weight: 500 !important;
}
body.exal-light-page .wc-block-components-totals-footer-item__label {
    color: #061212 !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}

/* Trust signal: full-width row, NON inline col bottoni */
.exal-trust-signal {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box;
    align-items: center;
    gap: .65rem;
    background: rgba(141, 56, 8,0.08);
    border: 1px solid rgba(141, 56, 8,0.25);
    border-radius: 8px;
    padding: .85rem 1rem;
    margin: 0 0 1rem 0;
    font-size: .875rem;
    color: #8D3808;
    flex: 0 0 100% !important;
    order: -1;
}
.wp-block-woocommerce-checkout-actions-block .exal-trust-signal {
    margin-bottom: 1rem;
}
.exal-trust-signal__icon { font-size: 1.1em; flex-shrink: 0; }
.exal-trust-signal span:last-child { color: #6B6B6B; flex: 1; }
.exal-trust-signal span:last-child strong { color: #061212; }

/* Safe area: alza badge sticky sopra eventuale browser-UI (iOS Safari) */
.exal-cart-badge {
    bottom: calc(var(--exal-badge-credits-bottom) + 44px + var(--exal-badge-gap) + var(--exal-iubenda-height) + env(safe-area-inset-bottom, 0px)) !important;
}
body.exal-iubenda-visible #exal-credit-badge,
#exal-credit-badge {
    bottom: calc(24px + var(--exal-iubenda-height) + env(safe-area-inset-bottom, 0px)) !important;
}

/* Hide eventuale notification badge/dot su placeholder images in cart */
body.exal-light-page .wc-block-cart-item__image::before,
body.exal-light-page .wc-block-cart-item__image::after,
body.exal-light-page .wc-block-cart-items .has-notification,
body.exal-light-page .woocommerce-loop-product__link::before {
    display: none !important;
}

/* Migliora visibilità prezzi crediti+€ — evita line-break sbagliati */
[data-exal-credits] {
    display: inline-flex !important;
    align-items: baseline;
    gap: .25em;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.wc-block-components-totals-item__value[data-exal-credits],
.wc-block-components-order-summary-item__total[data-exal-credits],
.wc-block-components-order-summary-item__total-price[data-exal-credits] {
    text-align: right !important;
    display: inline-flex !important;
    width: 100%;
    justify-content: flex-end;
}

/* Layout actions block (Torna al carrello | Trust | Place order) */
.wp-block-woocommerce-checkout-actions-block {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
}
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-return-to-cart-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-checkout-place-order-button {
    align-self: stretch;
}
@media (min-width: 768px) {
    .wp-block-woocommerce-checkout-actions-block {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
    }
    .wp-block-woocommerce-checkout-actions-block .exal-trust-signal {
        flex-basis: 100%;
        margin-bottom: 0;
    }
}

/* ════════════════════════════════════════
   HR-004 — SSO error banner (top of page)
   ════════════════════════════════════════ */
.exal-sso-error {
    position: relative; z-index: 9998;
    background: #F4F4F4;
    border-bottom: 2px solid #EF4444;
    color: #061212;
    font-family: var(--hm-font-body);
}
.exal-sso-error__inner {
    max-width: 1180px; margin: 0 auto;
    padding: .85rem 1.25rem;
    display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.exal-sso-error__icon { color: #EF4444; font-size: 1.4em; flex-shrink: 0; }
.exal-sso-error__text { display: flex; flex-direction: column; gap: .15rem; flex: 1; min-width: 240px; }
.exal-sso-error__text strong { color: #061212; font-weight: 600; font-size: .95rem; }
.exal-sso-error__text span { color: #6B6B6B; font-size: .875rem; line-height: 1.45; }
.exal-sso-error__btn {
    background: #8D3808; color: #FFFFFF !important;
    padding: .55rem 1rem; border-radius: 6px;
    font-weight: 600; font-size: .875rem;
    text-decoration: none; transition: background .2s; flex-shrink: 0;
}
.exal-sso-error__btn:hover { background: #C7A979; }
.exal-sso-error__close {
    background: transparent; border: 1px solid #E3E3DE; color: #6B6B6B;
    width: 32px; height: 32px; border-radius: 50%;
    cursor: pointer; font-size: 1.1rem; line-height: 1; flex-shrink: 0;
}
.exal-sso-error__close:hover { color: #061212; border-color: #061212; }
@media (max-width: 600px) {
    .exal-sso-error__inner { padding: .75rem 1rem; gap: .65rem; }
    .exal-sso-error__btn { width: 100%; text-align: center; order: 3; }
    .exal-sso-error__close { order: 2; }
}

/* ════════════════════════════════════════
   Round 2 — P1/P2/P3 batch
   ════════════════════════════════════════ */
.exal-denom-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
}
@media (min-width: 1200px) {
    .exal-denom-grid { grid-template-columns: repeat(5, 1fr) !important; }
}
@media (max-width: 480px) {
    .exal-denom-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
body.exal-light-page .wc-block-cart-items__header-product,
body.exal-light-page .wc-block-cart-items__header-total,
body.exal-light-page .wc-block-components-title,
body.exal-light-page .wc-block-components-checkout-step__title,
body.exal-light-page .wc-block-components-totals-wrapper > h2,
body.exal-light-page .wp-block-woocommerce-checkout h2,
body.exal-light-page .wp-block-woocommerce-cart h2,
body.exal-light-page .woocommerce table.shop_table th,
body.exal-light-page .wc-block-components-order-summary__title {
    font-family: var(--hm-font-body) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    color: #061212 !important;
}
body.exal-light-page .wc-block-cart-items__header-product,
body.exal-light-page .wc-block-cart-items__header-total,
body.exal-light-page .woocommerce table.shop_table th {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6B6B6B !important;
    font-size: .75rem !important;
}
body.exal-light-page .wc-block-cart-item__image,
body.exal-light-page .wc-block-components-order-summary-item__image {
    position: relative;
    background: rgba(141, 56, 8,0.10);
    border: 1px solid rgba(141, 56, 8,0.25);
    border-radius: 10px;
    overflow: hidden;
}
body.exal-light-page .wc-block-cart-item__image::after,
body.exal-light-page .wc-block-components-order-summary-item__image::after {
    content: '◈';
    position: absolute; inset: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; color: #8D3808;
    pointer-events: none;
}
body.exal-light-page .wc-block-cart-item__image img[src*="placeholder"],
body.exal-light-page .wc-block-components-order-summary-item__image img[src*="placeholder"] {
    visibility: hidden;
}
.exal-bridge-banner,
.exal-home-strip {
    background: linear-gradient(90deg, rgba(10,10,10,0.95) 0%, rgba(10,10,10,0.85) 100%) !important;
}
.exal-bridge-banner *,
.exal-home-strip * {
    text-shadow: 0 1px 2px rgba(6, 18, 18,0.45);
}
body.exal-light-page .site-header,
body.exal-light-page header.elementor-location-header {
    border-bottom: 1px solid rgba(141, 56, 8,0.18) !important;
}
body.exal-light-page .wc-block-cart__submit-button,
body.exal-light-page a.checkout-button,
body.exal-light-page .exal-empty-cart__btn,
body.exal-light-page .exal-btn-primary-dark,
body.exal-light-page .exal-btn-secondary-dark,
body.exal-light-page .wc-block-components-checkout-place-order-button {
    text-decoration: none !important;
}
body.exal-light-page .exal-struttura-select-wrap { position: relative; z-index: 1; }
body.exal-light-page .exal-struttura-select-wrap p { margin-top: 12px !important; position: relative; z-index: 1; }
#exal-credit-badge {
    width: auto !important;
    min-width: 130px;
    white-space: nowrap !important;
    padding-inline: 14px !important;
}
.iubenda-tp-btn,
.iub-btn-floating,
.iub-cs-floating-button,
#iubenda-iframe-tag,
.iubenda-cs-preferences-link {
    bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    left: 16px !important;
    right: auto !important;
    z-index: 9990 !important;
}
@media (max-width: 600px) {
    .iubenda-tp-btn,
    .iub-btn-floating,
    .iub-cs-floating-button,
    #iubenda-iframe-tag,
    .iubenda-cs-preferences-link {
        bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        left: 12px !important;
    }
}
.exal-nav-user {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    font-family: var(--hm-font-body);
    font-size: .85rem;
}
.exal-nav-user__balance {
    color: #8D3808;
    text-decoration: none;
    font-weight: 600;
    padding: 4px 10px;
    border: 1px solid rgba(141, 56, 8,0.35);
    border-radius: 999px;
    transition: all .2s;
}
.exal-nav-user__balance:hover { background: rgba(141, 56, 8,0.10); color: #C7A979; }
.exal-nav-user__balance__icon { margin-right: 4px; }
.exal-nav-user__logout { color: #6B6B6B; text-decoration: none; font-weight: 500; transition: color .2s; }
.exal-nav-user__logout:hover { color: #061212; }
body.exal-light-page .exal-btn-primary-dark:focus-visible,
body.exal-light-page .exal-btn-secondary-dark:focus-visible,
body.exal-light-page .wc-block-components-checkout-place-order-button:focus-visible,
body.exal-light-page .wc-block-cart__submit-button:focus-visible {
    outline: 2px solid #C7A979;
    outline-offset: 3px;
}
.exal-guide-faq .exal-faq-item summary:hover {
    background: rgba(6, 18, 18,0.02);
    padding-inline: .5rem;
    border-radius: 6px;
}
.exal-denom-card { transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.exal-denom-card:hover { box-shadow: 0 8px 24px rgba(6,18,18,0.10); }

/* Payment method UI WC Blocks — styling Crediti Exal */
.exal-pm-label { display: inline-flex; align-items: center; gap: .55em; }
.exal-pm-label__icon { color: #8D3808; font-size: 1.1em; }
.exal-pm-content { padding: .75rem 0; color: #6B6B6B; }
.exal-pm-content__desc { margin: 0 0 .85rem; color: #6B6B6B; font-size: .9rem; }
.exal-pm-content__row { display: flex; justify-content: space-between; padding: .35rem 0; font-size: .9rem; }
.exal-pm-content__label { color: #6B6B6B; }
.exal-pm-content__value { color: #061212; font-weight: 600; }
.exal-pm-content__value.is-low { color: #EF4444; }
.exal-pm-content__warning {
    margin-top: .75rem; padding: .75rem; background: #F4F4F4;
    border-left: 3px solid #EF4444; border-radius: 6px;
    color: #061212; font-size: .875rem;
}
.exal-pm-content__warning a { color: #8D3808; }

/* Round 4 — order-received polish */
.exal-credits-prefix {
    color: #8D3808;
    font-weight: 700;
    letter-spacing: .005em;
}
.exal-eur-suffix {
    color: #8A8A8A;
    font-weight: 400;
    font-size: .88em;
    margin-left: .35em;
}
body.exal-light-page .woocommerce-thankyou-order-received {
    font-size: 1.05rem;
    padding: 1rem 1.25rem;
    background: rgba(141, 56, 8,0.06);
    border-left: 3px solid #8D3808;
    border-radius: 8px;
    margin-bottom: 1.5rem;
    color: #061212;
}

/* Round 7 — micro polish */
@media (max-width: 480px) {
    #exal-credit-badge {
        bottom: 16px !important;
        right: 12px !important;
        transform: scale(0.9);
        transform-origin: bottom right;
        padding: 6px 10px !important;
        font-size: 12px !important;
    }
    body.exal-light-page.woocommerce-order-received main,
    body.exal-light-page.woocommerce-order-received .page-content,
    body.exal-light-page.woocommerce-order-received .woocommerce-order {
        padding-bottom: 80px !important;
    }
}
body.exal-light-page .exal-order-coupon__cta,
body.exal-light-page .exal-order-coupon__cta:hover,
body.exal-light-page .exal-order-coupon__cta:focus,
body.exal-light-page .exal-order-coupon__cta:active {
    text-decoration: none !important;
}


/* ════════════════════════════════════════
   Round 8 Deep Audit — Sprint Q+P+M+O batch
   ════════════════════════════════════════ */

/* OPT-06 — Skip-link a11y */
.exal-skip-link {
    position: absolute;
    left: -9999px;
    top: 8px;
    z-index: 100000;
    background: #8D3808;
    color: #FFFFFF !important;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 600;
    text-decoration: none;
}
.exal-skip-link:focus,
.exal-skip-link:focus-visible {
    left: 8px;
    outline: 2px solid #061212;
    outline-offset: 2px;
}

/* OPT-05 — Focus visible su tutti bottoni pill */
body.exal-light-page :is(
    .wc-block-cart__submit-button,
    .single_add_to_cart_button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-checkout-return-to-cart-button,
    .exal-cta,
    .exal-btn-primary-dark,
    .exal-btn-secondary-dark,
    .exal-empty-cart__btn,
    .exal-coupon-balance__link,
    .exal-order-coupon__cta,
    .exal-order-coupon__copy-btn,
    .exal-nav-user__balance,
    .exal-nav-user__logout,
    #exal-credit-badge,
    #exal-cart-badge
):focus-visible {
    outline: 2px solid #C7A979 !important;
    outline-offset: 3px !important;
}

/* DA-04 — No underline su bottoni pill (regression hardening) */
body.exal-light-page :is(
    .wc-block-cart__submit-button,
    .single_add_to_cart_button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-checkout-return-to-cart-button,
    .exal-cta,
    .exal-btn-primary-dark,
    .exal-btn-secondary-dark,
    .exal-empty-cart__btn,
    .exal-coupon-balance__link,
    .exal-order-coupon__cta,
    .exal-order-coupon__copy-btn,
    .exal-nav-user__balance,
    .exal-nav-user__logout,
    .exal-sso-error__btn
),
body.exal-light-page :is(
    .wc-block-cart__submit-button,
    .single_add_to_cart_button,
    .wc-block-components-checkout-place-order-button,
    .wc-block-components-checkout-return-to-cart-button,
    .exal-cta,
    .exal-btn-primary-dark,
    .exal-btn-secondary-dark,
    .exal-empty-cart__btn,
    .exal-coupon-balance__link,
    .exal-order-coupon__cta,
    .exal-order-coupon__copy-btn,
    .exal-nav-user__balance,
    .exal-nav-user__logout
):where(:hover, :focus, :active) {
    text-decoration: none !important;
}

/* OPT-08 — Contrast: schiarire text subtle (3.5 → 5.0:1) */
:root {
    --exal-text-subtle: #7a7a7a;
}

/* UI-02 — Hide product title WC (ridondante con hero) */
body.exal-light-page.page-template-page-buy-coupon .product .product_title,
body.exal-light-page .exal-coupon-product .product .product_title {
    display: none;
}

/* UI-06 — Numerali step entry meno dominanti */
body.exal-light-page .exal-guide-step__num,
body.exal-light-page [class*="step__number"] {
    font-size: 56px !important;
    opacity: 0.25 !important;
    color: #8D3808 !important;
}
body.exal-light-page .exal-guide-step__body h3 {
    font-size: 28px !important;
    line-height: 1.2;
}

/* UI-07 — Quantity stepper dark */
body.exal-light-page :is(.quantity input.qty, .wc-block-components-quantity-selector) {
    background: rgba(6, 18, 18,0.05);
    border: 1px solid rgba(141, 56, 8,0.32);
    color: #061212;
    border-radius: 8px;
}
body.exal-light-page .wc-block-components-quantity-selector__button {
    color: #8D3808 !important;
    background: transparent !important;
}
body.exal-light-page .wc-block-components-quantity-selector__button:hover {
    background: rgba(141, 56, 8,0.1) !important;
}

/* UI-08 — Bottone Copia in gold puro (non copper) */
body.exal-light-page .exal-order-coupon__copy-btn {
    background: transparent !important;
    border: 1px solid #8D3808 !important;
    color: #8D3808 !important;
    transition: background 160ms ease, transform 120ms ease, box-shadow 200ms ease, color 160ms ease;
}
body.exal-light-page .exal-order-coupon__copy-btn:hover {
    background: rgba(141, 56, 8,0.12) !important;
    color: #C7A979 !important;
}
body.exal-light-page .exal-order-coupon__copy-btn:active {
    transform: scale(0.97);
}
body.exal-light-page .exal-order-coupon__copy-btn.is-copied {
    color: #22c55e !important;
    border-color: #22c55e !important;
    animation: exalCopyPulse 600ms ease;
}
@keyframes exalCopyPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0.5); }
    50% { box-shadow: 0 0 0 8px rgba(34,197,94,0); }
}

/* UI-11 — Badge "Più scelto" risaltato */
body.exal-light-page .exal-denom-badge,
.exal-denom-card--popular .exal-denom-badge {
    background: #8D3808 !important;
    color: #FFFFFF !important;
    padding: 4px 12px !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    position: absolute !important;
    top: -10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* UI-12 — Hide cart thumbnail column vuota */
body.exal-light-page .woocommerce-cart-form td.product-thumbnail,
body.exal-light-page .woocommerce-cart-form th.product-thumbnail {
    display: none;
}

/* UI-04 — Hello Theme remnants: heading uniformity */
body.exal-light-page :is(
    .wc-block-components-totals-item__label,
    .wc-block-cart-items__header-product,
    .wc-block-cart-items__header-total,
    .woocommerce-table thead th,
    .woocommerce-table tfoot th
) {
    font-family: var(--hm-font-body) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #6B6B6B !important;
    font-style: normal !important;
}

/* UI-03 — Vuoti verticali sezioni ridotti */
body.exal-light-page :is(.exal-guide-section, .exal-guide-steps, .exal-guide-denominations, .exal-guide-faq) {
    padding-block: clamp(48px, 8vw, 96px);
}

/* UX-01 — Link inline gold per entry point */
.exal-inline-link {
    color: #8D3808;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
    font-weight: 600;
    transition: color 160ms ease;
}
.exal-inline-link:hover {
    color: #C7A979;
    text-decoration-thickness: 2px;
}

/* UI-01 + UX-09 + HR-021 — Mobile fixes batch (<= 480px) */
@media (max-width: 480px) {
    body.exal-light-page .exal-coupon-balance {
        display: grid !important;
        grid-template-columns: 1fr !important;
        text-align: center;
        gap: 8px !important;
        padding: 16px !important;
    }
    body.exal-light-page .exal-coupon-balance__link {
        justify-self: center !important;
        margin-top: 8px;
    }
    #exal-credit-badge {
        transform: scale(0.85) !important;
        transform-origin: bottom right !important;
    }
    body:is(.single-product, .woocommerce-cart, .woocommerce-checkout, .woocommerce-order-received, .page-template-page-buy-coupon) {
        padding-bottom: 80px !important;
    }
    body.exal-light-page .wc-block-components-quantity-selector__button {
        min-width: 36px !important;
        min-height: 36px !important;
        font-size: 18px !important;
    }
    body.exal-light-page :is(.wc-block-cart-item__remove-link, .product-remove a.remove) {
        min-width: 44px !important;
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    body.exal-light-page .wc-block-components-address-card__edit {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }
    body.exal-light-page .product .product_title {
        font-size: clamp(20px, 6vw, 28px) !important;
        line-height: 1.2;
    }
    body.exal-light-page .exal-coupon-header h1,
    body.exal-light-page .exal-guide-hero h1 {
        font-size: clamp(24px, 7vw, 34px) !important;
    }
}

/* UX-07 — Empty cart third CTA */
.exal-empty-cart__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
}

/* UI-03 alternative — Section spacing fluid mobile */
@media (max-width: 768px) {
    body.exal-light-page :is(.exal-guide-hero, .exal-guide-steps, .exal-guide-denominations, .exal-guide-faq, .exal-guide-cta) {
        padding-block: clamp(40px, 10vw, 64px) !important;
    }
}


/* ════════════════════════════════════════
   Round 9 — Re-fix + UX + Polish + Delight
   ════════════════════════════════════════ */

@media (max-width: 480px) {
    body .exal-coupon-balance,
    body.exal-light-page .exal-coupon-balance,
    body.page-template-page-buy-coupon .exal-coupon-balance,
    .exal-coupon-header .exal-coupon-balance {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        text-align: center !important;
        padding: 16px 20px !important;
        align-items: center !important;
        justify-items: center !important;
    }
    .exal-coupon-balance__label {
        font-size: 11px !important;
        letter-spacing: 0.08em !important;
        opacity: .7 !important;
        text-transform: uppercase !important;
    }
    .exal-coupon-balance__value {
        font-size: 28px !important;
        font-weight: 700 !important;
        color: #8D3808 !important;
        margin-block: 4px !important;
    }
    .exal-coupon-balance__equiv {
        font-size: 13px !important;
        color: #6B6B6B !important;
    }
    .exal-coupon-balance__link {
        margin-top: 8px !important;
        justify-self: center !important;
    }
}

body.exal-light-page .exal-denom-badge,
.exal-denom-card--popular .exal-denom-badge {
    white-space: nowrap !important;
    padding: 4px 14px !important;
    font-size: 10px !important;
    letter-spacing: 0.04em !important;
}

body.exal-light-page .exal-guide-denominations h2,
body.exal-light-page .exal-guide-faq h2 {
    font-size: clamp(28px, 4vw, 40px) !important;
    font-weight: 700 !important;
    color: #061212 !important;
    margin-bottom: 1rem !important;
}

body.exal-light-page .wc-block-cart-item__prices > .wc-block-components-product-price:not(:first-child),
body.exal-light-page .wc-block-cart-items__row .wc-block-cart-item__prices {
    opacity: .65;
    font-size: .85em;
}

body.exal-light-page .exal-nav-user__logout {
    color: #6B6B6B !important;
    font-size: 13px !important;
    text-decoration: none !important;
}
body.exal-light-page .exal-nav-user__logout:hover {
    color: #8D3808 !important;
    text-decoration: underline !important;
    text-decoration-color: #8D3808 !important;
}

.exal-guide-faq .exal-faq-item summary {
    cursor: pointer;
    list-style: none;
    transition: color 200ms ease;
}
.exal-guide-faq .exal-faq-item summary::-webkit-details-marker { display: none; }
.exal-guide-faq .exal-faq-item summary::after {
    content: '+';
    float: right;
    color: #8D3808;
    font-size: 1.4em;
    line-height: 1;
    transition: transform 280ms ease;
}
.exal-guide-faq .exal-faq-item[open] summary::after { transform: rotate(45deg); }
.exal-guide-faq .exal-faq-item p {
    overflow: hidden;
    animation: faqExpand 280ms ease-out;
}
@keyframes faqExpand {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}

.exal-checkout-steps__step--current .exal-checkout-steps__num {
    animation: exalStepIn 400ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes exalStepIn {
    0% { transform: scale(0.6); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.exal-taglio-calc {
    background: #F5FCEB;
    border: 1px solid rgba(141, 56, 8,0.32);
    border-radius: 16px;
    padding: 1.5rem;
    margin: 0 auto 2.5rem;
    max-width: 520px;
    box-shadow: 0 8px 24px rgba(6, 18, 18,0.25);
}
.exal-taglio-calc__inner { display: flex; flex-direction: column; gap: .75rem; }
.exal-taglio-calc__label { color: #061212; font-weight: 600; font-size: .95rem; }
.exal-taglio-calc__input-wrap { position: relative; display: flex; align-items: center; }
.exal-taglio-calc__prefix { position: absolute; left: 14px; color: #8D3808; font-weight: 700; pointer-events: none; }
.exal-taglio-calc__input {
    width: 100%; background: #FFFFFF; border: 1px solid #E3E3DE;
    border-radius: 8px; padding: 12px 14px 12px 34px;
    color: #061212; font-size: 16px; font-weight: 500;
    transition: border-color 160ms ease;
}
.exal-taglio-calc__input:focus {
    outline: none; border-color: #8D3808;
    box-shadow: 0 0 0 3px rgba(141, 56, 8,0.15);
}
.exal-taglio-calc__output {
    color: #6B6B6B; font-size: .95rem; line-height: 1.5;
    min-height: 1.5em; transition: opacity 200ms ease; opacity: 0;
}
.exal-taglio-calc__output.is-active { opacity: 1; }
.exal-taglio-calc__output strong { color: #8D3808; font-weight: 700; }
.exal-denom-card.is-suggested {
    box-shadow: 0 0 0 2px #8D3808, 0 12px 28px rgba(141, 56, 8,0.3);
    transform: translateY(-2px);
}

.exal-checkout-back { padding: 1rem 0 .5rem; max-width: 1180px; margin: 0 auto; }
.exal-checkout-back__link {
    color: #8D3808; text-decoration: none; font-size: .9rem; font-weight: 500;
    transition: color 160ms ease;
}
.exal-checkout-back__link:hover { color: #C7A979; text-decoration: underline; }

.exal-billing-hint {
    margin: 8px 0 0 !important;
    padding: 8px 12px;
    background: rgba(34,197,94,0.08);
    border-left: 3px solid #22c55e;
    border-radius: 4px;
    color: #6B6B6B;
    font-size: .85rem;
    line-height: 1.4;
}
.exal-billing-hint span { color: #22c55e; font-weight: 700; margin-right: .35em; }

.exal-cross-sell {
    margin: 2rem auto; max-width: 720px; padding: 2rem;
    background: linear-gradient(135deg, rgba(141, 56, 8,0.10) 0%, rgba(141, 56, 8,0.04) 100%);
    border: 1px solid rgba(141, 56, 8,0.32);
    border-radius: 16px; text-align: center;
}
.exal-cross-sell__title { color: #061212; font-size: 1.4rem; font-weight: 700; margin: 0 0 .75rem; }
.exal-cross-sell__body { color: #6B6B6B; font-size: 1rem; line-height: 1.6; margin: 0 0 1.5rem; }
.exal-cross-sell__body strong { color: #8D3808; font-weight: 700; }
.exal-cross-sell__cta {
    display: inline-block; padding: 12px 28px;
    background: #8D3808; color: #FFFFFF !important;
    font-weight: 700; text-decoration: none !important;
    border-radius: 999px; transition: all .25s ease;
    min-height: 48px; line-height: 1.2;
}
.exal-cross-sell__cta:hover {
    background: #C7A979; transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(141, 56, 8,0.35);
}

.exal-email-confirm {
    display: flex; align-items: center; gap: .65rem;
    background: rgba(34,197,94,0.06);
    border: 1px solid rgba(34,197,94,0.32);
    border-radius: 8px;
    padding: .85rem 1.25rem;
    margin: 1.5rem auto; max-width: 720px;
    color: #6B6B6B; font-size: .9rem; line-height: 1.5;
}
.exal-email-confirm span { font-size: 1.2em; flex-shrink: 0; }
.exal-email-confirm strong { color: #061212; font-weight: 600; }

@media (max-width: 480px) {
    .exal-taglio-calc { padding: 1.25rem; margin: 0 1rem 2rem; }
    .exal-cross-sell { padding: 1.5rem; margin: 1.5rem 1rem; }
    .exal-cross-sell__title { font-size: 1.2rem; }
    .exal-cross-sell__cta { width: 100%; box-sizing: border-box; padding: 14px; }
    .exal-email-confirm { margin: 1rem; font-size: .85rem; }
}


/* Round 10 — DA-01 fix + Sprint U residuo + NEW polish */

.exal-saldo-widget {
    background: linear-gradient(135deg, rgba(141, 56, 8,0.10), rgba(141, 56, 8,0.04));
    border: 1px solid rgba(141, 56, 8,0.32);
    border-radius: 12px;
    padding: 16px 18px;
    margin-bottom: 1rem;
    color: #061212;
    font-family: var(--hm-font-body);
}
.exal-saldo-widget__title {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8D3808;
    margin-bottom: 10px;
}
.exal-saldo-widget__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 4px 0;
    font-size: .9rem;
}
.exal-saldo-widget__row span { color: #6B6B6B; }
.exal-saldo-widget__row strong { color: #061212; font-weight: 600; }
.exal-saldo-widget__row--res {
    border-top: 1px solid rgba(141, 56, 8,0.25);
    margin-top: 6px;
    padding-top: 8px;
}
.exal-saldo-widget__row--res strong { color: #8D3808; font-size: 1.05rem; font-weight: 700; }

.exal-denom-card.is-suggested {
    border-color: #8D3808 !important;
    box-shadow: 0 0 0 2px #8D3808, 0 12px 28px rgba(141, 56, 8,0.3) !important;
    transform: translateY(-2px) !important;
    position: relative;
}
.exal-denom-card.is-suggested::before {
    content: '✓ Consigliato per te';
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #8D3808;
    color: #FFFFFF;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.exal-taglio-calc__input::placeholder { color: #7A7A7A; opacity: 1; }
.exal-taglio-calc__input:focus::placeholder { color: #7A7A7A; }

.exal-order-coupon__copy-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    line-height: 1 !important;
}
.exal-order-coupon__copy-btn svg,
.exal-order-coupon__copy-btn .exal-copy-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.exal-denom-card {
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease !important;
    cursor: pointer;
}
.exal-denom-card:not(.is-suggested):hover {
    transform: translateY(-2px);
    border-color: rgba(141, 56, 8,0.6);
    box-shadow: 0 8px 20px rgba(6,18,18,0.10);
}

.exal-guide-faq .exal-faq-item p strong { color: #061212; }
.exal-guide-faq .exal-faq-item p a {
    color: #8D3808;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 160ms ease;
}
.exal-guide-faq .exal-faq-item p a:hover { color: #C7A979; }

@media (max-width: 480px) {
    .exal-saldo-widget { padding: 14px 16px; margin-bottom: .75rem; }
    .exal-saldo-widget__row { font-size: .85rem; }
}


/* R10 Lighthouse a11y — Color contrast + link distinction + skip-link focus */

body.exal-light-page .exal-guide-step__num,
body .exal-guide-step__num,
.exal-guide-step__num {
    color: #8D3808 !important;
    opacity: 1 !important;
}

.exal-taglio-calc__input,
.exal-taglio-calc__input:focus {
    color: #FFFFFF !important;
    background: #F4F4F4 !important;
    -webkit-text-fill-color: #FFFFFF !important;
}
.exal-taglio-calc__input::placeholder {
    color: #6B6B6B !important;
    opacity: 1;
}

.exal-guide-step__body p a,
.exal-guide-faq .exal-faq-item p a {
    text-decoration: underline !important;
    text-underline-offset: 2px;
    text-decoration-color: rgba(141, 56, 8,0.5);
}
.exal-guide-step__body p a:hover {
    text-decoration-color: #C7A979;
}

.exal-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100000;
    background: #8D3808;
    color: #FFFFFF;
    padding: 12px 18px;
    font-weight: 600;
    border-radius: 0 0 8px 8px;
    text-decoration: none;
}
.exal-skip-link:focus,
.exal-skip-link:focus-visible {
    left: 12px;
    top: 12px;
    outline: 2px solid #061212;
    outline-offset: 2px;
}


/* R10 a11y — denom-desc da #7A7A7A (2.33:1) a #6B6B6B (5.7:1) */
.exal-denom-card .exal-denom-desc,
.exal-denom-desc { color: #6B6B6B !important; }


/* R11 NEW-27 — Calcolatore: prefix € spazio maggiore */
.exal-taglio-calc__input {
    padding-left: 42px !important;
    font-size: 17px !important;
}
.exal-taglio-calc__prefix {
    left: 16px !important;
    font-size: 17px !important;
    top: 50%;
    transform: translateY(-50%);
}

/* R11 NEW-29 — Widget saldo separator visibile */
.exal-saldo-widget__row--res {
    border-top: 1px solid rgba(141, 56, 8,0.45) !important;
    margin-top: 8px !important;
    padding-top: 10px !important;
}
.exal-saldo-widget__row--res strong {
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #8D3808 !important;
}

/* R11 NEW-31 — Hint billing inline italic compatto */
.exal-billing-hint {
    background: transparent !important;
    border-left: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-top: 6px !important;
    font-size: .8rem !important;
    font-style: italic;
    color: #8A8A8A !important;
    line-height: 1.4;
}
.exal-billing-hint span,
.exal-billing-hint > [aria-hidden="true"] {
    color: #22c55e !important;
    font-style: normal;
    margin-right: 4px;
    font-weight: 700;
}

/* R11 NEW-32 — Sticky badges stack gap esplicito */
:root {
    --exal-badge-stack-gap: 10px;
}
.exal-cart-badge {
    bottom: calc(var(--exal-badge-credits-bottom) + 44px + var(--exal-badge-stack-gap) + var(--exal-iubenda-height)) !important;
}
@media (max-width: 600px) {
    .exal-cart-badge {
        bottom: calc(16px + 40px + var(--exal-badge-stack-gap) + var(--exal-iubenda-height)) !important;
    }
}


/* R11-fix-popular-suggested removed: badge "Più scelto" rimosso dal template, "Consigliato per te" resta sempre al top */


/* -- Coordinamento kit Griya: heading display Chloe + verde foresta -- */
.exal-guide-wrap h1, .exal-guide-wrap h2, .exal-guide-wrap h3, .exal-guide-wrap h4,
.exal-coupon-page-wrap h1, .exal-coupon-page-wrap h2, .exal-coupon-page-wrap h3, .exal-coupon-page-wrap h4,
.exal-order-coupon__title, .exal-empty-cart__title, .exal-guide-hero h1 {
  font-family: var(--hm-font-head);
  color: var(--hm-heading);
}


/* ════════════════════════════════
   Sprint 5bf — Leggibilità pagina /come-usare-i-crediti/
   ════════════════════════════════ */
body.page-template-page-use-credits .elementor-widget-text-editor,
body.page-template-page-use-credits .elementor-widget-text-editor p,
body.page-template-page-use-credits .elementor-widget-text-editor li,
body.page-template-page-use-credits .elementor-widget-text-editor span:not(.elementor-button-text):not([class*="elementor-icon"]),
body.page-template-page-use-credits .elementor-icon-list-text,
body.page-template-page-use-credits .elementor-widget-icon-list .elementor-icon-list-text,
body.page-template-page-use-credits .e-loop-item p,
body.page-template-page-use-credits .elementor-shortcode p,
body.page-template-page-use-credits .elementor-shortcode li {
  color: #25212F !important;
  opacity: 1 !important;
}
body.page-template-page-use-credits .elementor-widget-text-editor small,
body.page-template-page-use-credits .elementor-widget-text-editor .small {
  color: #1C3D29 !important;
  opacity: 1 !important;
}
body.page-template-page-use-credits .elementor-widget-text-editor strong { color: #1C3D29; }
body.page-template-page-use-credits .elementor-widget-text-editor a {
  color: #8D3808;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
body.page-template-page-use-credits .elementor-widget-text-editor a:hover { color: #1C3D29; }


/* Sprint 5bf fix2 — selettori giusti per template page-use-credits.php (.exal-guide-*) */
body.page-template-page-use-credits .exal-guide-wrap,
body.page-template-page-use-credits .exal-guide-wrap p,
body.page-template-page-use-credits .exal-guide-wrap li,
body.page-template-page-use-credits .exal-guide-step__body,
body.page-template-page-use-credits .exal-guide-step__body p,
body.page-template-page-use-credits .exal-guide-step__body li,
body.page-template-page-use-credits .exal-guide-step__body span:not([class*="icon"]) {
  color: #25212F !important;
  opacity: 1 !important;
}
body.page-template-page-use-credits .exal-guide-step__body strong { color: #1C3D29; }
body.page-template-page-use-credits .exal-guide-step__body a {
  color: #8D3808;
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
body.page-template-page-use-credits .exal-guide-step__body a:hover { color: #1C3D29; }
/* "Suggerimento" box / callout dentro le step */
body.page-template-page-use-credits .exal-guide-step__body blockquote,
body.page-template-page-use-credits .exal-guide-step__body .exal-tip,
body.page-template-page-use-credits .exal-guide-step__body .tip {
  background: rgba(28, 61, 41, 0.05);
  border-left: 3px solid #8D3808;
  padding: .75rem 1rem;
  border-radius: 4px;
  color: #25212F !important;
  font-size: .9rem;
  margin: .75rem 0 0;
}
/* Sezione tagli coupon (.exal-tagli-*) — se esistono */
body.page-template-page-use-credits .exal-tagli-card,
body.page-template-page-use-credits [class*="exal-tagli"] p,
body.page-template-page-use-credits [class*="exal-tagli"] span {
  color: #25212F !important;
  opacity: 1 !important;
}


/* Sprint 5bg — Sezione "Tagli coupon" calc input: testo era BIANCO invisibile + box troppo stretched */
body.page-template-page-use-credits .exal-taglio-calc {
  max-width: 380px;
  margin: 1rem auto 1.5rem !important;
}
body.page-template-page-use-credits .exal-taglio-calc__input {
  color: #25212F !important;
  background: #FFFFFF !important;
  border: 1.5px solid #1C3D29 !important;
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 1rem;
  font-weight: 600;
  max-width: 200px;
  opacity: 1 !important;
}
body.page-template-page-use-credits .exal-taglio-calc__input::placeholder {
  color: rgba(37, 33, 47, 0.4) !important;
  font-weight: 400;
  opacity: 1 !important;
}
body.page-template-page-use-credits .exal-taglio-calc__input:focus {
  outline: none;
  border-color: #8D3808 !important;
  box-shadow: 0 0 0 3px rgba(141, 56, 8, 0.15);
}
/* Label "Quanto costa la tua prenotazione?" + simbolo € */
body.page-template-page-use-credits .exal-taglio-calc label,
body.page-template-page-use-credits .exal-taglio-calc__label {
  color: #1C3D29 !important;
  font-weight: 600;
  display: block;
  margin-bottom: .5rem;
}
body.page-template-page-use-credits .exal-taglio-calc__currency {
  color: #25212F !important;
  font-weight: 600;
}


/* Sprint 5bh — Fix definitivo Tagli coupon */
/* (1) Box più largo (allineato a titolo + sottotitolo 760px) */
body.page-template-page-use-credits .exal-taglio-calc {
  max-width: 760px !important;
  width: 100%;
  margin: 1rem auto 1.5rem !important;
}
/* (2) Input: -webkit-text-fill-color era BIANCO → testo digitato invisibile su Chrome. */
/*     Override webkit + permette input larghezza naturale. */
body.page-template-page-use-credits .exal-taglio-calc__input,
body.page-template-page-use-credits input#exal-calc-total {
  -webkit-text-fill-color: #25212F !important;
  color: #25212F !important;
  max-width: 320px;
  font-family: "Poppins", -apple-system, sans-serif !important;
}
body.page-template-page-use-credits .exal-taglio-calc__input::placeholder {
  -webkit-text-fill-color: rgba(37, 33, 47, 0.5) !important;
  color: rgba(37, 33, 47, 0.5) !important;
}


/* Sprint 5bj — Selettore struttura a SCHEDE (pagina coupon) */
.exal-struct-pick-grid { border: none; margin: 0 0 1.75rem; padding: 0; }
.exal-struct-pick__legend { display: block; width: 100%; font-family: var(--hm-font-head, 'Poppins', sans-serif); font-size: 1.15rem; font-weight: 700; color: #1C3D29; padding: 0; margin: 0 0 .35rem; }
.exal-struct-pick__hint { font-size: .85rem; color: #25212F; margin: 0 0 1rem; }
.exal-struct-pick__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.exal-struct-pick { position: relative; background: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; overflow: hidden; transition: border-color .15s ease, box-shadow .15s ease; }
.exal-struct-pick:hover { border-color: #1C3D29; box-shadow: 0 4px 14px rgba(28,61,41,.12); }
.exal-struct-pick__label { display: block; cursor: pointer; margin: 0; }
.exal-struct-pick__radio { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.exal-struct-pick__img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: #F5FCEB; }
.exal-struct-pick__img--ph { display: flex; align-items: center; justify-content: center; font-size: 2rem; color: #C7A979; }
.exal-struct-pick__body { display: block; padding: 10px 12px 12px; }
.exal-struct-pick__name { display: block; font-weight: 700; color: #1C3D29; font-size: .95rem; line-height: 1.25; margin-bottom: 3px; }
.exal-struct-pick__loc { display: block; color: #25212F; font-size: .8rem; line-height: 1.35; margin-bottom: 4px; }
.exal-struct-pick__cin { display: block; color: #6B6B6B; font-size: .68rem; letter-spacing: .02em; font-family: ui-monospace, 'SFMono-Regular', Menlo, monospace; }
.exal-struct-pick__check { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #1C3D29; color: #F5FCEB; font-size: .85rem; opacity: 0; transform: scale(.6); transition: opacity .15s ease, transform .15s ease; pointer-events: none; }
.exal-struct-pick:has(.exal-struct-pick__radio:checked), .exal-struct-pick--selected { border-color: #1C3D29; border-width: 2px; box-shadow: 0 4px 16px rgba(28,61,41,.18); }
.exal-struct-pick:has(.exal-struct-pick__radio:checked) .exal-struct-pick__check, .exal-struct-pick--selected .exal-struct-pick__check { opacity: 1; transform: scale(1); }
/* Sprint 5br — highlight scheda selezionata robusto (border-color sovrascritto dal tema) */
.exal-struct-pick.exal-struct-pick--selected, .exal-struct-pick:has(.exal-struct-pick__radio:checked) { border-color: #1C3D29 !important; border-width: 2px !important; }
.exal-struct-pick.exal-struct-pick--selected .exal-struct-pick__check, .exal-struct-pick:has(.exal-struct-pick__radio:checked) .exal-struct-pick__check { opacity: 1 !important; transform: scale(1) !important; }
/* Sprint 5br — Select Taglio (variazione WC) coordinato Griya */
.woocommerce div.product form.cart .variations select, .woocommerce div.product .variations td.value select, .woocommerce div.product .variations select { background-color: #FFFFFF !important; border: 1.5px solid #1C3D29 !important; border-radius: 8px !important; padding: 11px 40px 11px 14px !important; font-family: Lora, Georgia, serif !important; font-size: .95rem !important; color: #1C3D29 !important; -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231C3D29' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; }
.woocommerce div.product .variations select:focus { outline: none !important; border-color: #1C3D29 !important; box-shadow: 0 0 0 3px rgba(28,61,41,.15) !important; }
.exal-struct-pick__price { display: block; padding: 8px 12px 12px; color: #8D3808; font-size: .8rem; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; border-top: 1px solid #F0F0EC; }
.exal-struct-pick__price:hover { color: #1C3D29; }
.exal-struct-pick__change { display: none; margin: 0 0 1rem; background: transparent; color: #1C3D29; border: 1px solid #1C3D29; border-radius: 6px; padding: 8px 16px; font-size: .85rem; font-weight: 600; cursor: pointer; transition: background .15s ease, color .15s ease; }
.exal-struct-pick__change:hover { background: #1C3D29; color: #F5FCEB; }
.exal-struct-pick-grid--collapsed .exal-struct-pick:not(.exal-struct-pick--confirmed) { display: none; }
.exal-struct-pick-grid--collapsed .exal-struct-pick__change { display: inline-block; }
.exal-struct-pick-grid--collapsed .exal-struct-pick__cards { grid-template-columns: minmax(220px, 320px); }
.exal-struct-pick__error { display: none; margin: .75rem 0 0; color: #8D3808; font-size: .85rem; font-weight: 600; }
.exal-struct-pick__error.is-visible { display: block; }
@media (max-width: 640px) { .exal-struct-pick__cards { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
@media (max-width: 420px) { .exal-struct-pick__cards { grid-template-columns: 1fr; } .exal-struct-pick-grid--collapsed .exal-struct-pick__cards { grid-template-columns: 1fr; } }