/* ==========================================================================
   Rinascita — tema custom
   Token + base + scaffold (navbar, drawer, footer, WhatsApp).
   I componenti di volume (home, catalogo, scheda, cassa) si portano dal
   prototipo rinascita-shop-fullsite/index.html durante le Fasi 3-6 del piano.
   ========================================================================== */

:root {
  --blush: #d4a89a;        /* accento primario, rosa cipria */
  --blush-lt: #ecdcd6;
  --tortora: #b8a89a;
  --cream: #faf7f4;        /* sfondo pagina */
  --warm-white: #f5f0eb;   /* sfondi sezione/card */
  --bark: #5a4a42;
  --charcoal: #2c2420;     /* sezioni scure / CTA */
  --gold: #c8a96e;
  --text: #2e2420;
    --border: rgba(180,160,150,.18);
  --ff-serif: "Cormorant Garamond", Georgia, serif;
  --ff-sans: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
  --blush-text: #9e5848;   /* rosa terra: accento TESTO accessibile (AA su crema) */
  --ease-out: cubic-bezier(.22,.61,.36,1);
  --ease-drawer: cubic-bezier(.22,1,.36,1);
}

/* anti dark-mode iOS: il design è light per scelta */
html { background: var(--cream); }
body.rinascita {
  margin: 0;
  background: var(--cream) !important;
  color: var(--text) !important;
  font-family: var(--ff-sans);
  font-size: 16px;           /* min 16px ovunque: anti auto-zoom iOS */
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-color-scheme: dark) {
  body.rinascita { background: var(--cream) !important; color: var(--text) !important; }
}

h1, h2, h3, .rinascita-logo, .rinascita-footer__logo { font-family: var(--ff-serif); font-weight: 400; color: var(--charcoal); }
a { color: inherit; }
input, select, textarea, button { font-size: 16px; font-family: inherit; }

.rinascita-skip { position: absolute; left: -9999px; }
.rinascita-skip:focus { left: 8px; top: 8px; background: #fff; padding: 8px 12px; z-index: 1000; }

/* --- Navbar --- */
.rinascita-navbar { position: sticky; top: 0; z-index: 200; }
.rinascita-navbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: 1280px; margin: 0 auto; padding: 14px 24px; }
.rinascita-logo { letter-spacing: .12em; text-decoration: none; }
.rinascita-logo span { color: var(--blush); }
.rinascita-nav__list { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.rinascita-nav__list a { text-decoration: none; }
.rinascita-nav__list a:hover { color: var(--blush-text); }
.rinascita-navbar__actions { display: flex; align-items: center; gap: 14px; }
.rinascita-icon { position: relative; background: none; border: 0; cursor: pointer; color: var(--bark); padding: 6px; }
.rinascita-cart-count { position: absolute; top: -2px; right: -4px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 9px; background: var(--blush-text); color: var(--cream); font-size: 11px; line-height: 16px; text-align: center; }
.rinascita-burger { display: none; }
.rinascita-minicart-backbone { display: none !important; }

/* --- Carrello a tendina --- */
.rinascita-drawer-overlay { position: fixed; inset: 0; background: rgba(44,36,32,.4); z-index: 390; }
.rinascita-drawer { position: fixed; top: 0; right: 0; height: 100%; width: min(420px, 92vw); background: var(--cream); z-index: 400; transform: translateX(100%); display: flex; flex-direction: column; }
.rinascita-drawer.is-open { transform: translateX(0); }
.rinascita-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 20px; border-bottom: 1px solid var(--border); }
.rinascita-drawer__title { font-family: var(--ff-serif); font-size: 20px; }
.rinascita-drawer__close { background: none; border: 0; font-size: 26px; line-height: 1; cursor: pointer; color: var(--bark); }
.rinascita-drawer__items { flex: 1; overflow: auto; padding: 12px 20px; }
.rinascita-drawer__shipbar, .rinascita-drawer__coupon { padding: 12px 20px; border-bottom: 1px solid var(--border); }
.rinascita-drawer__foot { padding: 18px 20px; border-top: 1px solid var(--border); }

/* --- Footer --- */
.rinascita-footer { background: var(--charcoal); color: var(--warm-white); margin-top: 64px; }
.rinascita-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 32px; max-width: 1280px; margin: 0 auto; padding: 56px 24px; }
.rinascita-footer__logo { color: var(--warm-white); font-size: 24px; text-decoration: none; }
.rinascita-footer__logo span { color: var(--blush); }
.rinascita-footer__tagline { color: rgba(245,240,235,.7); max-width: 38ch; }
.rinascita-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rinascita-footer__links a { text-decoration: none; color: rgba(245,240,235,.8); }
.rinascita-footer__coltitle { font-family: var(--ff-serif); font-size: 18px; margin-bottom: 8px; }
.rinascita-footer__legal { text-align: center; padding: 18px; border-top: 1px solid rgba(255,255,255,.08); font-size: 13px; color: rgba(245,240,235,.5); }

/* --- WhatsApp FAB --- */
.rinascita-wa { position: fixed; right: 20px; bottom: 20px; z-index: 300; align-items: center; justify-content: center; border-radius: 50%; text-decoration: none; transition: background .2s var(--ease-out); }
.rinascita-wa:hover { background: var(--bark); }
.elementor-kit-39 a.rinascita-wa, .elementor-kit-39 a.rinascita-wa:hover { color: var(--cream); }
.rinascita-wa__tip { position: absolute; right: 68px; white-space: nowrap; background: #fff; color: var(--charcoal); padding: 8px 12px; border-radius: 8px; font-size: 13px; opacity: 0; pointer-events: none; transition: opacity .2s; }
.rinascita-wa:hover .rinascita-wa__tip { opacity: 1; }

/* --- Responsive --- */
@media (max-width: 900px) {
  .rinascita-nav { display: none; }
  .rinascita-burger { display: inline-flex; }
  .rinascita-footer__grid { grid-template-columns: 1fr; gap: 24px; }
}

/* ===== WooCommerce — stile editoriale (catalogo + scheda) ===== */
.rinascita-wc { max-width: 1280px; margin: 0 auto; padding: 32px 24px 64px; }
.woocommerce-breadcrumb { font-size: 13px; letter-spacing: .04em; color: var(--muted); margin-bottom: 24px; }
.woocommerce-breadcrumb a { color: var(--bark); text-decoration: none; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { color: var(--muted); font-size: 14px; }

/* Griglia shop */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 36px 24px; margin: 0 0 40px; padding: 0; list-style: none; }
.woocommerce ul.products li.product { margin: 0; }
.woocommerce ul.products li.product a img { border-radius: 4px; background: var(--warm-white); margin-bottom: 14px; }
.woocommerce ul.products li.product .price del { opacity: .6; font-size: .85em; }
.woocommerce span.onsale { background: var(--blush-text); color: var(--cream); border-radius: 2px; font-family: var(--ff-sans); text-transform: uppercase; min-height: 0; min-width: 0; line-height: 1.4; }

/* Bottoni */
.woocommerce a.button, .woocommerce button.button, .woocommerce .button, .woocommerce #respond input#submit {
  background: var(--charcoal); color: var(--warm-white); border-radius: 2px; font-family: var(--ff-sans);
  font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 400; padding: 13px 24px; border: 0; transition: background .25s, color .25s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button:hover, .woocommerce #respond input#submit:hover { background: #1c1512; color: var(--cream); }
.woocommerce ul.products li.product .button.add_to_cart_button:hover { background: var(--charcoal); border-color: var(--charcoal); }

/* Scheda prodotto */
.single-product div.product { display: grid; }
.single-product div.product .woocommerce-product-gallery { margin: 0; }
.single-product div.product .product_title { font-family: var(--ff-serif); font-weight: 400; font-size: clamp(32px, 4vw, 52px); line-height: 1.05; color: var(--charcoal); text-transform: none; margin: 0 0 14px; }
.single-product div.product .summary .price { font-family: var(--ff-serif); font-size: 28px; color: var(--bark); margin: 0 0 22px; }
.single-product div.product .woocommerce-product-details__short-description { color: var(--text); line-height: 1.7; }
.single-product div.product form.cart { margin-top: 26px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.single-product div.product .quantity input.qty { border: 1px solid var(--border); border-radius: 2px; padding: 12px 8px; width: 64px; background: #fff; }
.single-product .single_add_to_cart_button { background: var(--charcoal); }
.single-product .stock { color: var(--bark); font-size: 14px; }

/* Tabs (descrizione / INCI / ecc.) come sezioni editoriali */
.woocommerce-tabs { margin-top: 48px; }
.woocommerce-tabs ul.tabs { border: 0; padding: 0 0 8px; margin: 0; border-bottom: 1px solid var(--border); }
.woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce-tabs ul.tabs li { background: transparent; border: 0; border-radius: 0; margin: 0 24px 0 0; padding: 0; }
.woocommerce-tabs ul.tabs li a { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); padding: 6px 0; }
.woocommerce-tabs ul.tabs li.active a { color: var(--charcoal); }
.woocommerce-tabs .panel { padding-top: 18px; color: var(--text); line-height: 1.75; }
.woocommerce-tabs .panel h2 { font-family: var(--ff-serif); font-weight: 400; font-size: 24px; }

/* Messaggi WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews { border-top-color: var(--blush); background: var(--warm-white); }

/* ===== Carrello a tendina — righe e controlli ===== */
.rinascita-drawer__empty { color: var(--muted); font-style: italic; padding: 24px 0; }
.rinascita-citem { display: grid; grid-template-columns: 56px 1fr auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--border); }
.rinascita-citem__img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; background: var(--warm-white); }
.rinascita-citem__name { font-family: var(--ff-serif); font-size: 16px; color: var(--charcoal); line-height: 1.2; margin-bottom: 6px; }
.rinascita-citem__qty { display: flex; align-items: center; font-size: 13px; }
.rinascita-citem__qty button { border: 1px solid var(--border); background: #fff; border-radius: 2px; cursor: pointer; font-size: 14px; line-height: 1; color: var(--bark); padding: 0; }
.rinascita-citem__qty span { text-align: center; }
.rinascita-citem__rm { width: auto !important; height: auto !important; border: 0 !important; background: none !important; }
.rinascita-citem__price { font-family: var(--ff-serif); color: var(--bark); white-space: nowrap; }
.rinascita-shipbar { font-size: 13px; color: var(--muted); }
.rinascita-shipbar strong { color: var(--bark); }
.rinascita-shipbar__track { height: 4px; background: var(--blush-lt); border-radius: 4px; margin-top: 8px; overflow: hidden; }
.rinascita-shipbar__track span { display: block; height: 100%; width: 100%; background: var(--blush); transform: scaleX(0); transform-origin: left center; transition: transform .4s var(--ease-out); }
.rinascita-drawer__total { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 14px; font-family: var(--ff-serif); }
.rinascita-drawer__total strong { font-size: 20px; color: var(--charcoal); }
.rinascita-btn { display: inline-block; text-align: center; text-decoration: none; cursor: pointer; }
.rinascita-btn--primary { width: 100%; background: var(--charcoal); color: var(--warm-white); padding: 14px; border-radius: 2px; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.rinascita-btn--primary:hover { background: #1c1512; color: var(--cream); }
.rinascita-btn--ghost { display: inline-block; border: 1px solid var(--border); color: var(--bark); padding: 13px 24px; border-radius: 2px; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; background: transparent; text-decoration: none; transition: background .25s, color .25s; }
.rinascita-btn--ghost:hover { background: var(--charcoal); color: var(--warm-white); border-color: var(--charcoal); }

/* ===== Home (front page) ===== */
.rh-eyebrow { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--blush-text); margin-bottom: 16px; }
.rh-hero { background: var(--warm-white); }
.rh-hero__title { font-family: var(--ff-serif); font-weight: 400; font-size: clamp(40px, 6vw, 72px); line-height: 1.04; color: var(--charcoal); margin: 0 0 20px; }
.rh-hero__title em { font-style: italic; color: var(--blush-text); }
.rh-hero__sub { margin: 0 auto 28px; color: var(--text); font-size: 18px; line-height: 1.7; }
.rh-hero__cta { width: auto; }
.rh-featured { max-width: 1280px; margin: 0 auto; padding: 80px 24px; }
.rh-section-head { text-align: center; }
.rh-section-title { font-family: var(--ff-serif); font-weight: 400; color: var(--charcoal); margin: 0; }
.rh-featured__more { text-align: center; margin-top: 40px; }
/* ===== Nav dropdown (sottomenu) ===== */
.rinascita-nav__list li { position: relative; }
.rinascita-nav__list .sub-menu { position: absolute; top: 100%; left: 0; background: var(--cream); border: 1px solid var(--border); list-style: none; margin: 0; padding: 8px 0; min-width: 210px; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease, visibility .2s; z-index: 210; box-shadow: 0 10px 30px rgba(44,36,32,.08); }
.rinascita-nav__list li:hover > .sub-menu, .rinascita-nav__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.rinascita-nav__list .sub-menu li { display: block; }
.rinascita-nav__list .sub-menu a { display: block; padding: 9px 20px; white-space: nowrap; font-size: 13px; }
.rinascita-nav__list .menu-item-has-children > a::after { content: " ⌄"; opacity: .6; }

/* ===== Pagine statiche / articolo ===== */
.rinascita-main { max-width: 820px; margin: 0 auto; padding: 56px 24px 72px; }
.rinascita-article__content { color: var(--text); line-height: 1.8; font-size: 17px; }
.rinascita-article__content h2, .rinascita-article__content h3, .rinascita-article__content h4 { font-family: var(--ff-serif); font-weight: 400; color: var(--charcoal); margin: 1.8em 0 .5em; line-height: 1.2; }
.rinascita-article__content ul, .rinascita-article__content ol { padding-left: 1.2em; margin: 0 0 1.2em; }

/* ===== Cassa / carrello (Woo classico) — vestito editoriale ===== */
.woocommerce-cart .rinascita-wc, .woocommerce-checkout .rinascita-wc, .woocommerce-account .rinascita-wc { max-width: 1080px; }
.woocommerce form .form-row label { font-size: 13px; letter-spacing: .02em; color: var(--bark); margin-bottom: 4px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-checkout select, .select2-container .select2-selection { border: 1px solid var(--border); border-radius: 2px; padding: 12px; background: #fff; font-size: 16px; min-height: 46px; }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout #order_review_heading, .woocommerce-cart h2 { font-family: var(--ff-serif); font-weight: 400; font-size: 24px; color: var(--charcoal); }
.woocommerce-checkout #order_review, .woocommerce #payment { background: var(--warm-white); border: 1px solid var(--border); border-radius: 4px; padding: 24px; }
.woocommerce table.shop_table { border: 1px solid var(--border); border-radius: 4px; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-top-color: var(--border); }
.woocommerce #payment #place_order, .woocommerce .checkout-button { width: 100%; }
.woocommerce-info, .woocommerce-message { border-top-color: var(--blush); }
.woocommerce .cart_totals h2 { font-family: var(--ff-serif); font-weight: 400; }
@media (min-width: 769px) { .woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: 0; } }

/* ==========================================================================
   Ritocchi UI/UX — batch 0-2 (motion base, a11y, serif display, menu mobile)
   ========================================================================== */

/* Motion: rispetta chi preferisce meno animazioni (target 40+) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* Focus ring di brand (visibile solo da tastiera) */
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 2px solid var(--charcoal); outline-offset: 2px; border-radius: 2px; }
.rinascita-footer :focus-visible, .rinascita-drawer__close:focus-visible, .rh-brand :focus-visible, .rinascita-wa:focus-visible { outline-color: var(--cream); }

/* Serif display più leggero (peso 300, già caricato ma mai usato) */
.rh-hero__title, .rh-section-title, .rh-brand__title,
.single-product div.product .product_title, .rinascita-article__title { font-weight: 300; }
/* Misura di riga long-form: vincola il testo, non il contenitore */
.rinascita-article__content p, .rinascita-article__content li { max-width: 68ch; }

/* Icone SVG navbar/azioni + touch target >=44px */
.rinascita-icon { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.rinascita-svg { width: 22px; height: 22px; display: block; }
.rinascita-citem__qty button { width: 32px; height: 32px; }
.rinascita-citem__rm { padding: 6px 0 6px 8px !important; }

/* Overlay carrello con dissolvenza (niente attributo hidden) */
.rinascita-drawer-overlay { opacity: 0; visibility: hidden; transition: opacity .3s var(--ease-out), visibility .3s; }
.rinascita-drawer-overlay.is-open { opacity: 1; visibility: visible; }
.rinascita-drawer { transition: transform .4s var(--ease-drawer); }

/* ===== Menu mobile (drawer di navigazione) ===== */
.rinascita-mnav-overlay { position: fixed; inset: 0; background: rgba(44,36,32,.4); z-index: 410; opacity: 0; visibility: hidden; transition: opacity .3s var(--ease-out), visibility .3s; }
.rinascita-mnav-overlay.is-open { opacity: 1; visibility: visible; }
.rinascita-mnav { position: fixed; top: 0; left: 0; height: 100%; width: min(360px, 88vw); background: var(--cream); z-index: 420; transform: translateX(-100%); transition: transform .4s var(--ease-drawer); display: flex; flex-direction: column; }
.rinascita-mnav.is-open { transform: translateX(0); }
.rinascita-mnav__head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border); }
.rinascita-mnav__title { font-family: var(--ff-serif); font-size: 20px; color: var(--charcoal); }
.rinascita-mnav__close { background: none; border: 0; font-size: 28px; line-height: 1; cursor: pointer; color: var(--bark); min-width: 44px; min-height: 44px; }
.rinascita-mnav__nav { flex: 1; overflow: auto; padding: 8px 0; }
.rinascita-mnav__list { list-style: none; margin: 0; padding: 0; }
.rinascita-mnav__list a { display: block; padding: 14px 24px; text-decoration: none; font-size: 15px; letter-spacing: .04em; color: var(--charcoal); }
.rinascita-mnav__list .sub-menu { list-style: none; margin: 0; padding: 0 0 6px; }
.rinascita-mnav__list .sub-menu a { padding: 10px 24px 10px 40px; font-size: 14px; color: var(--bark); }
.rinascita-mnav__list .menu-item-has-children > a { font-weight: 500; }
.rinascita-mnav__foot { padding: 18px 24px; border-top: 1px solid var(--border); }
.rinascita-mnav__foot a { text-decoration: none; color: var(--bark); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }

/* WhatsApp glyph */
.rinascita-wa svg { display: block; }

/* ==========================================================================
   Ritocchi UI/UX — batch 3 (micro-animazioni di qualità)
   ========================================================================== */

/* Scroll-reveal (la classe .reveal la mette il JS solo sotto la piega) */
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.is-visible { opacity: 1; transform: none; }

/* Bump del contatore carrello quando aggiungi un prodotto */
@keyframes rinascita-bump { 0% { transform: scale(1); } 35% { transform: scale(1.38); } 100% { transform: scale(1); } }
.rinascita-cart-count.is-bump { animation: rinascita-bump .45s var(--ease-out); }

/* Lift delle card prodotto al passaggio del mouse */
.woocommerce ul.products li.product { transition: transform .4s var(--ease-out); }
/* Navbar: ombra discreta dopo lo scroll */
.rinascita-navbar { transition: box-shadow .3s var(--ease-out); }
.rinascita-navbar.is-scrolled { box-shadow: 0 6px 24px rgba(44,36,32,.07); }

/* Micro-lift dei bottoni (movimento minimo, registro sussurrato) */
.rinascita-btn--primary, .rinascita-btn--ghost, .rh-hero__cta { transition: background .25s, color .25s, transform .2s var(--ease-out); }
.rinascita-btn--primary:hover, .rh-hero__cta:hover { transform: translateY(-1px); }
.rinascita-btn--primary:active, .rh-hero__cta:active { transform: translateY(0); }

/* ==========================================================================
   Ritocchi UI/UX — batch 4 (ritmo verticale + trust-bar)
   ========================================================================== */

/* Alternanza degli sfondi per dare battito alla scroll: WW / cream / WW / charcoal */
.rh-featured { background: var(--warm-white); }
/* .rh-values: da "hero-metric" (4 numeroni serif = anti-pattern) a trust-bar sobria e inline */
/* Hero: un filo più di respiro sotto, secondo livello tipografico più disteso */
.rh-hero { padding: 104px 24px 92px; }
.rh-hero__sub { max-width: 54ch; }

/* Scheda prodotto: leggero sbilanciamento gallery/testo per peso visivo */
.single-product div.product { grid-template-columns: 1.05fr 0.95fr; gap: 60px; }
@media (max-width: 768px) { .single-product div.product { grid-template-columns: 1fr; gap: 28px; } .rh-hero { padding: 64px 24px 56px; } }

/* ===== Carrello: coupon (Store API apply/remove) ===== */
.rinascita-coupon__applied { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--bark); margin-bottom: 6px; }
.rinascita-coupon__applied button { background: none; border: 0; font-size: 18px; line-height: 1; cursor: pointer; color: var(--muted); }
.rinascita-coupon__saved { font-size: 13px; color: var(--blush-text); margin-bottom: 8px; }
.rinascita-coupon__row { display: flex; gap: 8px; }
.rinascita-coupon__input { flex: 1; min-width: 0; border: 1px solid var(--border); border-radius: 2px; padding: 10px 12px; background: #fff; font-size: 14px; }
.rinascita-coupon__apply { border: 1px solid var(--charcoal); background: transparent; color: var(--charcoal); padding: 10px 16px; border-radius: 2px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: background .2s var(--ease-out), color .2s var(--ease-out); }
.rinascita-coupon__apply:hover { background: var(--charcoal); color: var(--cream); }
.rinascita-coupon__msg { font-size: 13px; color: var(--blush-text); margin-top: 6px; }

/* ==========================================================================
   Ritocchi UI/UX — batch 6 (catalogo/scheda: zoom card, trust-row)
   ========================================================================== */
.rh-card-media { overflow: hidden; border-radius: 4px; background: var(--warm-white); margin-bottom: 14px; }
.rh-card-media img { display: block; margin: 0 !important; transition: transform .5s var(--ease-out); }
.rh-trust { list-style: none; margin: 24px 0 0; padding: 18px 0 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(2, auto); gap: 12px 28px; justify-content: start; }
.rh-trust li { display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--bark); }
.rh-trust svg { width: 18px; height: 18px; flex: none; color: var(--blush-text); }
@media (max-width: 480px) { .rh-trust { grid-template-columns: 1fr; } }

/* ==========================================================================
   Ritocchi UI/UX — fix impaginazione (review 18/06)
   ========================================================================== */
/* box-sizing border-box globale: il tema non lo aveva → width:100% + padding sui
   bottoni/campi causava overflow orizzontale (es. CTA "Scopri il metodo"). */
*, *::before, *::after { box-sizing: border-box; }
/* Hero CTA: larghezza al contenuto, non full-width */
.rh-hero .rinascita-btn--primary, .rh-hero__cta { width: auto; }
/* La home featured ora è dentro .woocommerce: limita la larghezza griglia e centra come il resto */
.rh-featured .woocommerce { width: 100%; }
.rh-featured .woocommerce ul.products { margin-bottom: 0; }
/* Bottoni primari Woo (.button.alt) + "Compra ora" (plugin Merchant): charcoal del brand,
   non il viola default WooCommerce (#7f54b3, vinceva per specificità). */
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.single-product .single_add_to_cart_button, .merchant-buy-now-button {
  background: var(--charcoal); color: var(--cream);
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover,
.single-product .single_add_to_cart_button:hover, .merchant-buy-now-button:hover {
  background: #1c1512; color: var(--cream);
}

/* ==========================================================================
   Home — hero banner (immagine) + quiz pelle (portati dal prototipo)
   ========================================================================== */
.rh-hero--banner { background: none; padding: 0; min-height: min(80vh, 760px); position: relative; overflow: hidden; display: flex; align-items: center; }
.rh-hero__bg { position: absolute; inset: 0; background-size: cover; transform: scale(1.04); z-index: 0; }
.rh-hero__bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(250,247,244,.95) 0%, rgba(250,247,244,.82) 42%, rgba(250,247,244,.3) 70%, transparent 100%); }
.rh-hero__content { position: relative; z-index: 1; max-width: 600px; margin: 0; padding: 72px 24px 72px 64px; text-align: left; }
.rh-hero--banner .rh-hero__title { margin-bottom: 24px; }
.rh-hero--banner .rh-hero__sub { max-width: 440px; margin: 0 0 36px; font-size: 16px; }
.rh-hero__ctas { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.rinascita-btn--text { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--bark); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: color .25s var(--ease-out); }
.rinascita-btn--text:hover { color: var(--blush-text); }
/* Sezione "Raccontami la tua pelle" (quiz) */
.rh-section-title em { font-style: italic; color: var(--blush-text); }
.rh-skin { background: var(--warm-white); padding: 88px 24px; }
.rh-skin .rh-section-head { max-width: 720px; margin: 0 auto 48px; }
.rh-skin__sub { max-width: 52ch; margin: 14px auto 0; color: var(--muted); font-size: 16px; }
.rh-skin__grid { display: grid; max-width: 1100px; margin: 0 auto; }
.rh-skin__card { text-decoration: none; color: inherit; display: flex; flex-direction: column; transition: background .25s var(--ease-out), transform .25s var(--ease-out); }
.rh-skin__card:hover { background: var(--blush-lt); }
.rh-skin__name { font-family: var(--ff-serif); font-weight: 400; color: var(--charcoal); }
.rh-skin__btn { display: inline-block; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; transition: background .25s var(--ease-out), color .25s var(--ease-out), border-color .25s; }
.rh-skin__card:hover .rh-skin__btn { border-color: var(--charcoal); }
@media (max-width: 768px) { .rh-skin { padding: 60px 20px; } .rh-skin__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   Home: sezioni prototipo ri-tematizzate
   ========================================================================== */
/* fdl-marquee-pause-v1: contenuto in movimento oltre i 5 secondi deve poter essere
   fermato (WCAG 2.2.2). Pausa da bottone, al passaggio del mouse e quando il focus
   entra nella striscia. Con reduced-motion l'animazione e' gia' ferma -> niente bottone. */
@keyframes rh-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.rh-about { padding: 96px 24px; background: var(--charcoal); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); gap: 72px; align-items: center; position: relative; overflow: hidden; }
.rh-about::before { content: "R"; position: absolute; right: -60px; top: -50px; font-family: var(--ff-serif); font-size: clamp(280px, 27vw, 470px); font-weight: 300; color: rgba(212,168,154,.035); line-height: 1; pointer-events: none; }
.rh-about__content { max-width: 560px; justify-self: end; position: relative; z-index: 1; }
.rh-about .rh-eyebrow { color: rgba(245,240,235,.72); }
.rh-about .rh-section-title { color: var(--cream); text-align: left; }
.rh-about .rh-section-title em { color: var(--blush-lt); }
.rh-about__text { font-size: 15px; line-height: 1.85; margin: 24px 0 36px; }
.rh-about__media { position: relative; z-index: 1; max-width: 480px; }
.rh-about__frame { position: relative; overflow: hidden; background: #3a2e29; aspect-ratio: 4 / 5; }
.rh-about__frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rh-about__quote { position: absolute; left: 16px; right: 16px; bottom: 18px; background: rgba(44,36,32,.78); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.12); padding: 22px 24px; }
.rh-about__quote p { font-family: var(--ff-serif); font-size: 16px; font-style: italic; font-weight: 300; color: rgba(255,255,255,.84); line-height: 1.55; margin: 0 0 12px; }
.rh-about__quote span { font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--blush-lt); }
.rh-about__corner { position: absolute; top: -16px; right: -16px; width: 80px; height: 80px; background: var(--blush-text); display: flex; align-items: center; justify-content: center; }
.rh-about__corner span { font-family: var(--ff-serif); font-size: 13px; font-weight: 400; letter-spacing: .1em; text-align: center; color: var(--cream); line-height: 1.4; }

.rh-ritual { text-align: center; position: relative; overflow: hidden; }
.rh-ritual::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(212,168,154,.12) 0%, transparent 70%); pointer-events: none; }
.rh-ritual .rh-section-head, .rh-ritual__steps { position: relative; z-index: 1; }
.rh-ritual__steps { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 1180px; margin: 64px auto 0; }
.rh-ritual__steps::before { content: ''; position: absolute; top: 28px; left: 12.5%; right: 12.5%; height: 1px; background: linear-gradient(to right, transparent, var(--blush-lt), var(--gold), var(--blush-lt), transparent); }
.rh-step { padding: 0 24px; display: flex; flex-direction: column; align-items: center; }
.rh-step__num { width: 56px; height: 56px; border-radius: 50%; background: var(--cream); border: 1px solid var(--blush-text); display: flex; align-items: center; justify-content: center; font-family: var(--ff-serif); font-size: 22px; font-weight: 400; color: var(--blush-text); margin-bottom: 28px; position: relative; z-index: 1; }
.rh-step__title { font-family: var(--ff-serif); font-weight: 400; color: var(--charcoal); margin: 0 0 12px; }
.rh-step__desc { font-weight: 400; line-height: 1.75; margin: 0; }

.rh-gift { padding: 96px 24px; text-align: center; position: relative; overflow: hidden; }
.rh-gift::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 80% at 50% 50%, rgba(212,168,154,.08) 0%, transparent 70%); pointer-events: none; }
.rh-gift .rh-section-head, .rh-gift__visual, .rh-gift .rinascita-btn { position: relative; z-index: 1; }
.rh-gift .rh-eyebrow { color: rgba(245,240,235,.72); }
.rh-gift .rh-section-title { color: var(--cream); }
.rh-gift .rh-section-title em { color: var(--blush-lt); }
.rh-gift__sub { color: rgba(255,255,255,.52); max-width: 52ch; margin: 14px auto 0; line-height: 1.7; }

.rh-nl { padding: 80px 24px; background: var(--blush-lt); }
.rh-nl__sub { margin: 14px auto 0; max-width: 56ch; color: var(--bark); line-height: 1.7; }
@media (max-width: 980px) {
    .rh-about { grid-template-columns: 1fr; gap: 44px; }
  .rh-about__content, .rh-about__media { justify-self: center; width: 100%; max-width: 620px; }
  .rh-ritual__steps { grid-template-columns: repeat(2, 1fr); gap: 40px 0; }
  .rh-ritual__steps::before { display: none; }
}

@media (max-width: 768px) {
  .rh-features, .rh-routine, .rh-about, .rh-ritual, .rh-testi, .rh-gift { padding: 64px 20px; }
  .rh-features__grid, .rh-routine__grid, .rh-testi__grid, .rh-ritual__steps { grid-template-columns: 1fr; }
          .rh-about { padding-left: 20px; padding-right: 20px; }
  .rh-about__corner { right: -8px; }
  .rh-about__quote { left: 12px; right: 12px; padding: 18px; }
  .rh-step { padding: 0; }
  .rh-nl { padding: 64px 20px; }
      }

/* ==========================================================================
   Fix griglia prodotti (home featured + shop): i <li> non riempivano la cella
   della griglia (restavano larghi quanto l'immaginina) → card minuscole,
   titoli a capo parola-per-parola, altezze diverse. Qui li forzo a riempire,
   immagini uniformi (4:5), bottoni allineati in basso.
   ========================================================================== */
.woocommerce ul.products li.product { width: auto !important; max-width: none !important; float: none !important; display: flex; flex-direction: column; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { white-space: normal; }
.woocommerce ul.products li.product .price { margin-bottom: 14px; }
.woocommerce ul.products li.product .button.add_to_cart_button { margin-top: auto; }

/* ==========================================================================
   Shop "di classe" — griglia boutique editoriale: 3 colonne, molta aria,
   foto grandi, NIENTE bottone bordato (CTA discreta che compare in hover),
   nomi serif, prezzo sobrio. (Aesop / Le Labo vibe.)
   ========================================================================== */
.woocommerce-shop ul.products, .tax-product_cat ul.products, .post-type-archive-product ul.products { grid-template-columns: repeat(3, 1fr); gap: 60px 44px; }
.rh-featured ul.products { grid-template-columns: repeat(4, 1fr); }

.woocommerce ul.products li.product { gap: 0; }
.woocommerce ul.products li.product .rh-card-media { margin-bottom: 18px; }
.woocommerce ul.products li.product:hover { transform: none; }
.woocommerce ul.products li.product .rh-card-media img { transition: transform .3s var(--ease-out); }
.woocommerce ul.products li.product:hover .rh-card-media img { transform: scale(1.05); }

.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--ff-serif); font-size: 22px; font-weight: 400; line-height: 1.25; color: var(--charcoal); padding: 0; margin: 0 0 7px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.4em; }
.woocommerce ul.products li.product .price { font-family: var(--ff-sans); font-size: 14px; letter-spacing: .03em; color: var(--bark); margin: 0; }
.woocommerce ul.products li.product .price del { color: var(--muted); }
.woocommerce ul.products li.product .price ins { text-decoration: none; }

.woocommerce ul.products li.product .button.add_to_cart_button {
  margin: 16px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  color: var(--blush-text) !important; font-family: var(--ff-sans); font-size: 13px; font-weight: 400;
  letter-spacing: .2em; text-transform: uppercase; display: inline-block; width: auto;
  opacity: 0; transform: translateY(6px); transition: opacity .35s var(--ease-out), transform .35s var(--ease-out), color .2s;
}
.woocommerce ul.products li.product:hover .button.add_to_cart_button { opacity: 1; transform: none; }
.woocommerce ul.products li.product .button.add_to_cart_button:hover { color: var(--charcoal) !important; text-decoration: underline; text-underline-offset: 4px; }
@media (hover: none) {
  .woocommerce ul.products li.product .button.add_to_cart_button,
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product .added_to_cart {
    opacity: 1 !important; transform: none !important;
    /* fdl-tap-target-v1: su touch il CTA non ha hover che lo riveli, quindi deve essere
       un bersaglio vero e proprio: 11px di altezza erano ingovernabili col pollice. */
    margin-top: 4px !important; padding: 13px 16px !important; min-height: 44px;
    display: inline-flex; align-items: center; justify-content: center;
  }
}

.woocommerce span.onsale { font-size: 13px; padding: 3px 9px; letter-spacing: .14em; }

@media (max-width: 900px) { .woocommerce-shop ul.products, .tax-product_cat ul.products, .post-type-archive-product ul.products, .rh-featured ul.products { grid-template-columns: repeat(2, 1fr); gap: 40px 24px; } }
@media (max-width: 560px) { .woocommerce-shop ul.products, .tax-product_cat ul.products, .post-type-archive-product ul.products, .rh-featured ul.products { grid-template-columns: 1fr; } }

/* Via il banner nero PayPal "Paga in 3 rate" dal catalogo (ingombrante, non elegante in boutique).
   Resta su prodotto/carrello/cassa dove il finanziamento può aiutare l'acquisto. */
.woocommerce-shop .ppcp-messages, .tax-product_cat .ppcp-messages, .post-type-archive-product .ppcp-messages { display: none !important; }

/* Card shop centrate + micro-etichetta macro-categoria sopra il nome */
.woocommerce ul.products li.product { text-align: center; }
.rh-cat-eyebrow { display: block; font-family: var(--ff-sans); font-size: 13px; font-weight: 400; letter-spacing: .22em; text-transform: uppercase; color: var(--blush-text); margin-bottom: 7px; }
.woocommerce ul.products li.product .button.add_to_cart_button { align-self: center; }

/* ===== Shop a sezioni per macro-categoria (Viso, Corpo, ...) ===== */
.rh-shop__intro { max-width: 640px; margin: 0 auto 64px; }
.rh-shop__intro .rh-section-title { font-size: clamp(30px, 3.4vw, 46px); margin-top: 4px; }
.rh-shop-cat { margin-bottom: 88px; }
.rh-shop-cat__head { text-align: center; max-width: 600px; margin: 0 auto 44px; }
.rh-shop-cat__head .rh-section-title { font-size: clamp(26px, 2.8vw, 38px); margin: 4px 0 16px; }
.rh-shop-cat__head .rinascita-btn--text { font-size: 13px; }

/* ===== Barra di navigazione sezioni shop (ispirata a Nardi): nome + conteggio ===== */
.rh-shop-nav { display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: 8px 30px; max-width: 900px; margin: 0 auto 56px; padding: 4px 24px 26px; border-bottom: 1px solid var(--border); }
.rh-shop-nav a { text-decoration: none; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--bark); transition: color .2s var(--ease-out); }
.rh-shop-nav a span { color: var(--muted); font-size: 13px; margin-left: 3px; }
.rh-shop-nav a:hover { color: var(--blush-text); }
.rh-shop-cat { scroll-margin-top: 90px; }
html { scroll-behavior: smooth; }

/* ===== Barra annuncio in cima (stile Nardi): claim brevi ===== */
.rh-topbar { background: var(--charcoal); color: rgba(245,240,235,.82); text-align: center; font-family: var(--ff-sans); padding: 9px 16px; line-height: 1.5; }
.rh-topbar span { color: var(--blush-lt); margin: 0 8px; }

/* === fdl-grid-clearfix-fix-v1 === ::before/::after clearfix WC diventano celle grid: buco a sx + ultimo a capo. Azzerati. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
  content: none !important;
  display: none !important;
}

/* === fdl-card-media-uniform-v1 === card foto uniformi. In flex-column align-items:center la media non si stirava: foto piccole (300px) restavano strette/basse, le grandi riempivano la colonna -> card disallineate. Larghezza piena + ratio fisso + cover. */
.woocommerce ul.products li.product .rh-card-media {
      aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 4px;
}
.woocommerce ul.products li.product .rh-card-media img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  display: block;
}
/* nomi prodotto uniformi: alcuni titoli sono minuscoli a sorgente */
/* === fdl-card-media-uniform-v2 === FIX: align-items:center sulla li impediva alla media di riempire la colonna (width:100% si risolveva sul contenuto -> 208px). Passo la li a stretch: la media riempie la colonna uniforme. text-align:center gia presente mantiene nome/prezzo centrati; il bottone torna discreto con align-self:center. */
.woocommerce ul.products li.product { align-items: stretch !important; }
.woocommerce ul.products li.product .rh-card-media { width: auto !important; align-self: stretch; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { align-self: center; }

/* === fdl-single-product-layout-v1 === scheda: galleria + riepilogo riempiono le colonne della griglia. WC le lasciava float a larghezza fissa (~48%) -> galleria 295px in colonna 615px, vuoto enorme a destra. */
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary,
.single-product div.product .entry-summary {
  width: auto !important;
  float: none !important;
  max-width: none !important;
  margin: 0 !important;
}
/* Solo per le gallerie a UNA foto: con più foto (i percorsi) le larghezze le decide
   FlexSlider via inline style, e un width:100%!important qui le schiaccerebbe -> slide
   impilate in verticale e portate fuori vista dal transform. Vedi fdl-grouped-gallery-v1. */
.single-product .woocommerce-product-gallery__wrapper:not(:has(.woocommerce-product-gallery__image + .woocommerce-product-gallery__image)),
.single-product .woocommerce-product-gallery__wrapper:not(:has(.woocommerce-product-gallery__image + .woocommerce-product-gallery__image)) .woocommerce-product-gallery__image { width: 100% !important; }
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img { width: 100% !important; height: auto !important; }

/* === fdl-single-product-gallery-v2 === foto galleria a ratio naturale (2:3) diventa altissima (922px) con headroom vuoto in alto -> sembra beige. La incornicio in un box 4/5 cover come le card: prodotto centrato, altezza controllata, coerente con lo shop. */
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image > a { display: block; width: 100%; }
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery img.wp-post-image {
  aspect-ratio: 4 / 5;
  object-fit: cover !important;
  object-position: center;
  height: auto !important;
  border-radius: 4px;
}

/* === fdl-coupon-apply-fix-v1 === il bottone APPLICA del drawer rende a 35px (font-size base sovrascritto): forzo sizing discreto con specificita #id. L'altezza si allinea all'input via flex-stretch della row. */
#rinascita-drawer .rinascita-coupon__apply {
  font-size: 13px !important;
  line-height: 1 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 0 18px !important;
  white-space: nowrap;
  border: 1px solid var(--charcoal);
  background: transparent;
  color: var(--charcoal);
  border-radius: 2px;
  cursor: pointer;
}
#rinascita-drawer .rinascita-coupon__apply:hover { background: var(--charcoal); color: var(--cream); }

/* ============================================================
   === fdl-checkout-reskin-v1 === Cassa (checkout classico WC con classi rimosse).
   Target via ID/name stabili. Solo estetica: nessun cambio al flusso pagamento. */
.woocommerce-checkout .rinascita-article__content > form { max-width: 760px; margin-inline: auto; }
.woocommerce-checkout .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-checkout form h3 { font-family: var(--ff-serif); font-weight: 500; font-size: 26px; color: var(--charcoal); margin: 0 0 20px; }
.woocommerce-checkout #order_review_heading { margin-top: 44px; }
.woocommerce-checkout p[id$="_field"] { display: flex; flex-direction: column; gap: 6px; }
.woocommerce-checkout p[id$="_field"] > label { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--bark); font-weight: 500; }
.woocommerce-checkout abbr.required, .woocommerce-checkout .required { color: var(--blush-text) !important; text-decoration: none !important; border: 0 !important; }
.woocommerce-checkout p[id$="_field"] input, .woocommerce-checkout p[id$="_field"] select, .woocommerce-checkout p[id$="_field"] textarea {
  width: 100% !important; box-sizing: border-box; font-family: var(--ff-sans); font-size: 15px; color: var(--charcoal);
  background: #fff; border: 1px solid var(--border); border-radius: 3px; padding: 12px 14px; line-height: 1.3;
  transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.woocommerce-checkout p[id$="_field"] textarea { min-height: 90px; resize: vertical; }
.woocommerce-checkout p[id$="_field"] input:focus, .woocommerce-checkout p[id$="_field"] select:focus, .woocommerce-checkout p[id$="_field"] textarea:focus {
  outline: none; border-color: var(--blush); box-shadow: 0 0 0 3px rgba(212,168,154,.20); }
@media (min-width: 600px) {
  .woocommerce-checkout p#billing_first_name_field, .woocommerce-checkout p#shipping_first_name_field { width: calc(50% - 8px); float: left; }
  .woocommerce-checkout p#billing_last_name_field, .woocommerce-checkout p#shipping_last_name_field { width: calc(50% - 8px); float: right; }
  .woocommerce-checkout p#billing_cf_piva_field, .woocommerce-checkout p#billing_company_field { clear: both; }
}
.woocommerce-checkout #ship-to-different-address { font-family: var(--ff-sans); font-size: 15px; text-transform: none; letter-spacing: 0; display: flex; align-items: center; gap: 10px; clear: both; }
.woocommerce-checkout #ship-to-different-address input { width: auto !important; }
.woocommerce-checkout form table { width: 100%; border-collapse: collapse; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; background: var(--warm-white); font-family: var(--ff-sans); }
.woocommerce-checkout form table th, .woocommerce-checkout form table td { padding: 13px 18px; text-align: left; border-bottom: 1px solid var(--border); font-size: 15px; color: var(--charcoal); }
.woocommerce-checkout form table tfoot tr:last-child th, .woocommerce-checkout form table tfoot tr:last-child td { font-size: 18px; font-weight: 600; border-bottom: 0; }
.woocommerce-checkout form table .product-name { color: var(--bark); }
.woocommerce-checkout #shipping_method, .woocommerce-checkout ul.payment_methods, .woocommerce-checkout .wc_payment_methods { list-style: none; margin: 18px 0; padding: 0; }
.woocommerce-checkout #shipping_method li, .woocommerce-checkout ul.payment_methods li { padding: 6px 0; }
.woocommerce-checkout input[name="payment_method"] + label { font-family: var(--ff-sans); font-size: 15px; color: var(--charcoal); margin-left: 8px; }
.woocommerce-checkout #place_order { width: 100%; background: var(--charcoal); color: var(--gold); font-family: var(--ff-sans); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; border: 0; border-radius: 3px; padding: 17px 24px; margin-top: 18px; cursor: pointer; transition: opacity .2s var(--ease-out); }
.woocommerce-checkout #place_order:hover { opacity: .9; }

/* === fdl-checkout-reskin-v2 === spedizione single-column (il 2-col causava overlap col campo Azienda) + nascondi i campi indirizzo-spedizione finche la checkbox e spenta (il template custom ha rimosso il wrapper .shipping_address). */
@media (min-width: 600px) {
  .woocommerce-checkout p#shipping_first_name_field,
  .woocommerce-checkout p#shipping_last_name_field { width: 100% !important; float: none !important; }
}
.woocommerce-checkout form:has(input[name="ship_to_different_address"]:not(:checked)) p[id^="shipping_"] { display: none !important; }

/* === fdl-checkout-reskin-v3 === lista pagamenti: <br> tra radio e label tolto; descrizione/form sotto; separatori. */
.woocommerce-checkout input[name="payment_method"] + br { display: none !important; }
.woocommerce-checkout input[name="payment_method"] { display: inline-block; width: auto !important; margin: 0 10px 0 0; vertical-align: middle; }
.woocommerce-checkout li:has(> input[name="payment_method"]) > label { display: inline; font-family: var(--ff-sans); font-size: 15px; font-weight: 500; color: var(--charcoal); vertical-align: middle; cursor: pointer; }
.woocommerce-checkout li:has(> input[name="payment_method"]) { padding: 14px 2px; border-top: 1px solid var(--border); list-style: none; }
.woocommerce-checkout li:has(> input[name="payment_method"]) p { font-size: 13px; color: var(--muted); margin: 8px 0 0; }
.woocommerce-checkout li:has(> input[name="payment_method"]) img { vertical-align: middle; margin-left: 8px; max-height: 24px; width: auto; display: inline-block; }

/* === fdl-checkout-reskin-v4 === radio+label pagamento sulla stessa riga via grid; descrizione/form carta a tutta larghezza sotto. */
.woocommerce-checkout li:has(> input[name="payment_method"]) { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 10px; }
.woocommerce-checkout li:has(> input[name="payment_method"]) > input[name="payment_method"] { grid-column: 1; }
.woocommerce-checkout li:has(> input[name="payment_method"]) > label { grid-column: 2; margin: 0; }
.woocommerce-checkout li:has(> input[name="payment_method"]) > *:not(input[name="payment_method"]):not(label) { grid-column: 1 / -1; }

/* === fdl-static-pages-v1 === Pagine statiche (Laura/Filosofia/Contatti) — articolo editoriale. .rinascita-article = solo statiche (le pagine WC usano .rinascita-wc). */
.rinascita-article__title { font-family: var(--ff-serif); font-weight: 500; font-size: clamp(38px, 5.5vw, 60px); line-height: 1.06; color: var(--charcoal); max-width: 760px; margin: 28px auto 14px; }
.rinascita-article__content { max-width: 720px; margin-inline: auto; font-family: var(--ff-sans); }
.rinascita-article__content p { font-size: 17px; line-height: 1.8; color: var(--charcoal); margin: 0 0 1.4em; }
.rinascita-article__content a { color: var(--blush-text); text-underline-offset: 3px; }
.rinascita-article__content img { display: block; max-width: 600px; width: 100%; height: auto; margin: 2.6em auto; border-radius: 8px; box-shadow: 0 24px 60px -30px rgba(44,36,32,.45); }

/* === fdl-static-pages-v2 === heading sezione uniformi h2 E h3 (le statiche mescolano i livelli: es. Contatti RECAPITI=h3, VIENI=h2). Eyebrow uniforme per tutte le etichette di sezione. */
.rinascita-article__content h2, .rinascita-article__content h3, .rinascita-article__content h2:first-of-type {
  font-family: var(--ff-sans); font-size: 13px; font-weight: 600; font-style: normal;
  letter-spacing: .16em; text-transform: uppercase; color: var(--bark); margin: 2.8em 0 1em;
}
.rinascita-article__content > h2:first-child, .rinascita-article__content > h3:first-child { margin-top: .2em; }

/* === fdl-static-pages-v3 === pulizia residui Elementor nel contenuto (collassa <p> vuoti, neutralizza <style> orfani) + pull-quote + blurb leggibili. Universale -> vale anche su PROD. */
.rinascita-article__content p:empty { display: none !important; }
.rinascita-article__content style { display: none !important; }
.rinascita-article__content blockquote { border: 0; margin: 1.8em auto; padding: 0 0 0 18px; border-left: 2px solid var(--blush); font-family: var(--ff-serif); font-size: 24px; font-style: italic; line-height: 1.45; color: var(--blush-text); }
.rinascita-article__content h4 { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--charcoal); font-weight: 600; margin: 1.8em 0 .3em; }

/* === fdl-static-pages-v4 === icone SVG nel contenuto (loto Elementor) rese a piena larghezza -> rimpicciolite a icona centrata. */
.rinascita-article__content svg { width: auto; height: auto; display: block; margin: 1.6em auto 0.4em; }
.rinascita-article__content a:has(> svg) { display: block; width: -moz-max-content; width: max-content; margin-inline: auto; }

/* === fdl-static-pages-v5 === loto SVG erano nero pieno ("sparati"): tinta brand soft (blush) + un filo piu piccoli. I path non hanno fill proprio -> ereditano svg{fill}, forzato anche sui path. */
.rinascita-article__content svg { max-width: 44px !important; max-height: 44px !important; fill: var(--blush) !important; opacity: .92; }
.rinascita-article__content svg path, .rinascita-article__content svg polygon, .rinascita-article__content svg g { fill: var(--blush) !important; }

/* === fdl-reviews-carousel-v1 === carosello recensioni clienti (home): scroll-snap orizzontale + frecce desktop + swipe nativo mobile. */
.rh-reviews { padding: 72px 24px; background: var(--cream); }
.rh-reviews__wrap { position: relative; max-width: 1200px; margin: 0 auto; }
.rh-reviews__track { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 8px 4px 22px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.rh-reviews__track::-webkit-scrollbar { display: none; }
.rh-review { flex: 0 0 360px; scroll-snap-align: start; display: flex; flex-direction: column; gap: 14px; padding: 28px 26px; }
.rh-review__text { font-family: var(--ff-sans); font-size: 15px; line-height: 1.7; color: var(--charcoal); margin: 0; flex: 1; }
.rh-review__foot { display: flex; flex-direction: column; gap: 3px; padding-top: 14px; }
.rh-review__author { font-family: var(--ff-serif); font-size: 18px; color: var(--charcoal); }
.rh-review__product { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--blush-text); }
.rh-reviews__arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--border); background: #fff; color: var(--charcoal); font-size: 22px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background .2s var(--ease-out), color .2s var(--ease-out); box-shadow: 0 6px 20px -10px rgba(44,36,32,.4); }
.rh-reviews__arrow:hover { background: var(--charcoal); color: var(--cream); }
.rh-reviews__arrow--prev { left: -12px; }
.rh-reviews__arrow--next { right: -12px; }
@media (max-width: 760px) {
  .rh-reviews { padding: 52px 0 52px 18px; }
  .rh-review { flex-basis: 82vw; }
  .rh-reviews__arrow { display: none; }
}

/* === fdl-sticky-atc-v1 === barra "Aggiungi al carrello" sticky sulla scheda prodotto, compare scrollando oltre il bottone principale (classe .is-visible da rinascita.js). */
.rh-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; background: rgba(250,246,242,.98); border-top: 1px solid var(--border); box-shadow: 0 -8px 30px -16px rgba(44,36,32,.35); transform: translateY(110%); transition: transform .35s var(--ease-out); }
.rh-sticky-atc.is-visible { transform: translateY(0); }
.rh-sticky-atc__inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 16px; padding: 10px 22px; }
.rh-sticky-atc__media { flex: 0 0 auto; width: 50px; height: 50px; border-radius: 6px; overflow: hidden; background: var(--warm-white); }
.rh-sticky-atc__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rh-sticky-atc__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rh-sticky-atc__name { font-family: var(--ff-serif); font-size: 17px; color: var(--charcoal); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rh-sticky-atc__price { font-family: var(--ff-sans); font-size: 14px; color: var(--charcoal); }
.rh-sticky-atc__price del { color: var(--muted); margin-right: 6px; font-size: 13px; }
.rh-sticky-atc__price ins { text-decoration: none; color: var(--blush-text); font-weight: 600; }
.rh-sticky-atc__btn { flex: 0 0 auto; background: var(--charcoal); color: var(--cream); font-family: var(--ff-sans); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 14px 26px; border-radius: 4px; cursor: pointer; white-space: nowrap; transition: opacity .2s var(--ease-out); }
.rh-sticky-atc__btn:hover { opacity: .9; color: var(--cream); }
/* === fdl-cart-refine-v1 === carrello-tendina meno "grezzo": stepper quantità a pillola compatta connessa (non 3 box bordati), Rimuovi discreto, prezzo un filo più presente. */
.rinascita-citem { align-items: center; }
.rinascita-citem__qty { gap: 0; }
.rinascita-citem__qty button:not(.rinascita-citem__rm) {
  width: 30px; height: 30px; border: 1px solid var(--border); background: #fff; color: var(--bark);
  font-size: 15px; line-height: 1; padding: 0; cursor: pointer;
  transition: background .15s var(--ease-out), color .15s var(--ease-out);
}
.rinascita-citem__qty button:not(.rinascita-citem__rm):first-of-type { border-radius: 18px 0 0 18px; border-right: 0; }
.rinascita-citem__qty button:not(.rinascita-citem__rm):nth-of-type(2) { border-radius: 0 18px 18px 0; border-left: 0; }
.rinascita-citem__qty button:not(.rinascita-citem__rm):hover { background: var(--blush-lt); color: var(--charcoal); }
.rinascita-citem__qty span { min-width: 32px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); font-family: var(--ff-sans); font-size: 14px; color: var(--charcoal); }
.rinascita-citem__rm { margin-left: 16px !important; font-size: 13px !important; letter-spacing: .04em; text-transform: uppercase; text-decoration: none !important; color: var(--muted) !important; }
.rinascita-citem__rm:hover { color: var(--blush-text) !important; text-decoration: underline !important; }
.rinascita-citem__price { font-size: 17px; }

/* === fdl-sticky-atc-mobile-v2 === mobile: barra sticky a 2 righe (foto+nome+prezzo sopra, bottone full-width sotto). La 1-riga si schiacciava e troncava il nome. */
@media (max-width: 600px) {
  .rh-sticky-atc__inner { flex-wrap: wrap; padding: 10px 16px; gap: 4px 12px; }
  .rh-sticky-atc__media { width: 44px; height: 44px; }
  .rh-sticky-atc__info { flex: 1 1 auto; min-width: 0; }
  .rh-sticky-atc__name { font-size: 15px; white-space: normal; }
  .rh-sticky-atc__price { font-size: 14px; font-weight: 600; color: var(--charcoal); }
  .rh-sticky-atc__btn { flex: 1 0 100%; order: 3; text-align: center; padding: 15px; font-size: 13px; letter-spacing: .08em; margin-top: 4px; }
}

/* === fdl-skin-filter-v1 === vista shop filtrata dal quiz "tipo pelle" (selezione curata). */
.rh-shop__lead { text-align: center; }
.rh-shop__back { text-align: center; margin-top: 32px; }

/* === fdl-upsell-v1 === sezione "Completa il tuo rituale" sotto la scheda prodotto (sostituisce i correlati generici). */
.rh-upsell { max-width: 1232px; margin: 56px auto 0; padding: 0 24px; clear: both; }
.rh-upsell .rh-shop-cat__head { text-align: center; margin-bottom: 24px; }
/* tutto ciò che sta sotto galleria+riepilogo (tabs/accordion + upsell) spana a tutta larghezza, non schiacciato in colonna */
.single-product div.product > *:not(.woocommerce-product-gallery):not(.summary):not(.entry-summary) { grid-column: 1 / -1; }
/* l'auto-margin restringeva l'upsell (grid item) al contenuto: lo faccio stirare a tutta la colonna span */
.single-product div.product > .rh-upsell { margin-inline: 0; max-width: none; }

/* === fdl-shop-sub-v1 === sotto-titoli fase di routine nelle sezioni shop (Detersione/Trattamento, ecc.). */
.rh-shop-sub { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--blush-text); text-align: center; margin: 34px 0 18px; }
.rh-shop-cat .rh-shop-sub:first-of-type { margin-top: 8px; }

/* === fdl-elementor-link-override-v1 ===
   Il kit globale di Elementor (.elementor-kit-39 a / a:hover) resta enqueued e vince per specificità
   sui nostri bottoni-link: forza il testo in oro (normale) e nel colore "primary" scuro in hover →
   su fondo charcoal il testo spariva. Qui ri-affermiamo la palette del tema con specificità superiore
   (.elementor-kit-39 a.<classe> = (0,3,x) batte .elementor-kit-39 a:hover = (0,2,1)). */
.elementor-kit-39 a.rinascita-btn--ghost,
.rinascita-btn--ghost { color: var(--bark); }
.elementor-kit-39 a.rinascita-btn--ghost:hover,
.rinascita-btn--ghost:hover { color: var(--warm-white); }
.elementor-kit-39 a.rinascita-btn--primary,
.rinascita-btn--primary { color: var(--warm-white); }
.elementor-kit-39 a.rinascita-btn--primary:hover,
.rinascita-btn--primary:hover { color: var(--cream); }
.elementor-kit-39 a.rinascita-btn--text,
.rinascita-btn--text { color: var(--bark); }
.elementor-kit-39 a.rinascita-btn--text:hover,
.rinascita-btn--text:hover { color: var(--blush-text); }
/* sticky add-to-cart: anch'esso un <a> su fondo charcoal → in hover Elementor lo scuriva */
.elementor-kit-39 a.rh-sticky-atc__btn,
.rh-sticky-atc__btn { color: var(--cream); }
.elementor-kit-39 a.rh-sticky-atc__btn:hover,
.rh-sticky-atc__btn:hover { color: var(--cream); }

/* === fdl-shop-lead-v1 === sottotitolo a voce sotto l'H1 dello shop */
.rh-shop__lead { max-width: 52ch; margin: 12px auto 0; color: var(--bark); font-family: var(--ff-sans); font-size: 15px; line-height: 1.6; }
.rh-shop__intro { text-align: center; }

/* === fdl-reassure-v1 === righe di rassicurazione (carrello + cassa), fattuali, voce sobria */
.rinascita-drawer__reassure { margin: 12px 0 0; text-align: center; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .04em; line-height: 1.5; color: var(--muted); }
.rinascita-checkout-reassure { margin: 0 0 22px; text-align: center; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .04em; color: var(--bark); padding-bottom: 16px; border-bottom: 1px solid var(--border); }

/* === fdl-checkout-slim-v6 === il checkout (plugin "Checkout Field Editor") è un form PIATTO: i campi sono <p id="*_field"> figli diretti del form, niente #customer_details/#order_review. Snellimento affidabile via CSS: nascondo i campi OPZIONALI-zavorra (azienda/indirizzo-2/note → display:none; restano nel POST vuoti, submit ok), compatto le righe, affianco nome+cognome. Il 2-col pieno è fragile su struttura piatta → da affrontare a parte. */
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #shipping_company_field,
.woocommerce-checkout #shipping_address_2_field,
.woocommerce-checkout #order_comments_field { display: none !important; }
.woocommerce-checkout form[name="checkout"] > p[id$="_field"] { margin-bottom: 14px; }
@media (min-width: 768px) {
  .woocommerce-checkout form[name="checkout"] > #billing_first_name_field { width: calc(50% - 9px); float: left; margin-right: 18px; }
  .woocommerce-checkout form[name="checkout"] > #billing_last_name_field { width: calc(50% - 9px); float: left; }
  .woocommerce-checkout form[name="checkout"] > #billing_cf_piva_field { clear: both; }
}

/* === fdl-buy-now-v1 === "Compra ora" sulla scheda prodotto (CTA secondaria sotto "Aggiungi al carrello", va dritto in cassa). Soppresso il buy-now del plugin Merchant per evitare doppione. */
.merchant-buy-now-button { display: none !important; }
.rh-buy-now { display: block; width: 100%; margin-top: 12px; background: transparent; color: var(--charcoal); border: 1px solid var(--charcoal); font-family: var(--ff-sans); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; padding: 15px 24px; border-radius: 3px; cursor: pointer; transition: background .2s var(--ease-out), color .2s var(--ease-out); }
.rh-buy-now:hover { background: var(--charcoal); color: var(--cream); }
.rh-buy-now[disabled] { opacity: .6; cursor: default; }

/* === fdl-checkout-focus-v8 === pagina cassa "Shopify-style": spogliata e focalizzata. Solo logo in testa; via menu, azioni (icone), topbar promo, footer, WhatsApp. Centra il contenuto. Solo su body.woocommerce-checkout. */
body.woocommerce-checkout .rh-topbar,
body.woocommerce-checkout .rinascita-navbar .rinascita-nav,
body.woocommerce-checkout .rinascita-navbar__actions,
body.woocommerce-checkout .rinascita-wa,
body.woocommerce-checkout .rinascita-footer { display: none !important; }
body.woocommerce-checkout .rinascita-navbar__inner { justify-content: center; }
body.woocommerce-checkout .rinascita-article__content { margin-inline: auto; }

/* === fdl-checkout-steps-v1 === flusso a 2 step lineari (Dati → Pagamento). Confine = #order_review_heading. */
.rh-cstep-bar { display: flex; gap: 28px; justify-content: center; margin: 0 0 30px; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.rh-cstep { color: var(--muted); border-bottom: 2px solid transparent; padding-bottom: 6px; }
.rh-cstep.is-active { color: var(--charcoal); border-color: var(--blush-text); }
.rh-cstep-next { display: block; width: 100%; background: var(--charcoal); color: var(--gold); border: 0; border-radius: 3px; padding: 16px 24px; margin-top: 8px; font-family: var(--ff-sans); font-size: 14px; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: opacity .2s var(--ease-out); }
.rh-cstep-next:hover { opacity: .92; }
.rh-cstep-back { display: inline-block; background: none; border: 0; color: var(--bark); font-family: var(--ff-sans); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; margin: 0 0 16px; padding: 0; }
.rh-cstep-back:hover { color: var(--blush-text); }
.rh-step-1 #order_review_heading,
.rh-step-1 #order_review_heading ~ *,
.rh-step-1 .rh-cstep-back { display: none !important; }
.rh-step-2 [data-rhstep="1"],
.rh-step-2 .rh-cstep-next { display: none !important; }
body.woocommerce-checkout #brevo-conversations,
body.woocommerce-checkout [id^="brevo-conversations"] { display: none !important; }

/* === fdl-checkout-polish-v9 === rifinitura grafica cassa: input definiti+focus brand, colonna stretta, titolo gigante via, tabella riepilogo editoriale. */
body.woocommerce-checkout .rinascita-article__title { display: none; }
.woocommerce-checkout .input-text,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
  width: 100%; box-sizing: border-box; min-height: 50px; padding: 13px 15px;
  border: 1px solid #e0d8cf; border-radius: 4px; background: #fff;
  font-family: var(--ff-sans); font-size: 15px; color: var(--charcoal);
  transition: border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
  outline: none; border-color: var(--blush); box-shadow: 0 0 0 3px rgba(213,168,154,.16);
}
.woocommerce-checkout ::placeholder { color: #b9afa6; opacity: 1; }
.woocommerce-checkout p[id$="_field"] { margin: 0 0 16px; }
.woocommerce-checkout #billing_country_field .woocommerce-input-wrapper strong { font-family: var(--ff-sans); font-weight: 500; font-size: 15px; color: var(--charcoal); }
.woocommerce-checkout .woocommerce-checkout-review-order-table { border: 1px solid #e0d8cf; border-radius: 6px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: var(--warm-white); margin-bottom: 24px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding: 15px 18px; border: 0; border-bottom: 1px solid rgba(180,160,150,.16); }
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { background: transparent; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); font-weight: 500; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr:last-child td,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr:last-child th { border-bottom: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th { font-family: var(--ff-serif); font-weight: 400; font-size: 18px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount { font-family: var(--ff-serif); font-size: 22px; color: var(--charcoal); }

/* === fdl-payment-polish-v10 === pulizia metodi di pagamento (markup custom): via i fieldset-box col bordo grigio default, le descrizioni inglesi di default e il <br>. Il riquadro carta vuoto (Stripe non rende in safe-mode su staging) collassa; in PROD i campi carta rendono dentro il fieldset, borderless. */
.woocommerce-checkout li:has(> input[name="payment_method"]) > br { display: none; }
.woocommerce-checkout li:has(> input[name="payment_method"]) > p { display: none; }
.woocommerce-checkout li:has(> input[name="payment_method"]) fieldset { border: 0; margin: 10px 0 0; padding: 0; }
.woocommerce-checkout li:has(> input[name="payment_method"]) fieldset label { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ff-sans); font-size: 13px; color: var(--muted); text-transform: none; letter-spacing: 0; }

/* === fdl-pdp-reviews-v1 === recensioni reali sulla scheda prodotto: rating sintetico (vicino al titolo) + 2-3 recensioni (dopo l'add-to-cart). */
.single-product .rh-pdp-rating { font-family: var(--ff-sans); font-size: 14px; letter-spacing: .02em; color: var(--gold); margin: 2px 0 16px; }
.single-product .rh-pdp-rating strong { color: var(--charcoal); margin-left: 5px; }
.single-product .rh-pdp-rating span { color: var(--muted); }
.single-product .rh-pdp-reviews { margin: 30px 0 0; padding-top: 24px; border-top: 1px solid var(--border); }
.single-product .rh-pdp-reviews .rh-eyebrow { display: block; margin-bottom: 16px; }
.single-product .rh-pdp-review { margin: 0 0 18px; }
.single-product .rh-pdp-review:last-child { margin-bottom: 0; }
.single-product .rh-pdp-review__stars { color: var(--gold); font-size: 13px; letter-spacing: .12em; }
.single-product .rh-pdp-review p { margin: 6px 0 5px; font-size: 14px; line-height: 1.6; color: var(--bark); }
.single-product .rh-pdp-review cite { font-style: normal; font-size: 13px; letter-spacing: .04em; color: var(--muted); }

/* === fdl-btn-size-fix-v1 === alcuni bottoni (newsletter "ISCRIVITI", "Compra ora") venivano ingranditi da uno stile button base (Elementor/tema) che scavalcava il font-size del tema → forziamo la dimensione corretta. */
.single-product .rh-buy-now { font-size: 13px !important; line-height: 1.2 !important; }

/* ===================================================================== */
/* === fdl-giftcard-v1 === Pagina Gift Card (redesign B). Scoped .rh-giftcard. */
/* ===================================================================== */

/* Task 2 — Hero regalo (full-width sopra la scheda) */
.rh-gc-hero { max-width: 760px; margin: 0 auto 2.5rem; padding: 2rem 1.25rem 0; text-align: center; }
.rh-gc-hero__title { font-family: var(--ff-serif); font-weight: 500; font-size: clamp(2.4rem, 5vw, 3.6rem); line-height: 1.05; margin: .4rem 0 .8rem; color: var(--text); }
.rh-gc-hero__lead { font-family: var(--ff-sans); font-weight: 300; font-size: 1.05rem; line-height: 1.6; color: var(--muted); max-width: 54ch; margin: 0 auto 1.4rem; }
.rh-gc-hero__cta { display: inline-block; font-family: var(--ff-sans); letter-spacing: .04em; text-transform: uppercase; font-size: .85rem; border: 1px solid var(--charcoal); border-radius: 999px; padding: .7rem 1.6rem; text-decoration: none; color: var(--charcoal); transition: background .2s, color .2s; }
.rh-gc-hero__cta:hover { background: var(--charcoal); color: #fff; }
.rh-gc-hero__trust { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; justify-content: center; padding: 1.4rem 0 0; margin: 0; font-family: var(--ff-sans); font-size: .8rem; letter-spacing: .03em; color: var(--tortora); }
.rh-gc-hero__trust li { position: relative; }
.rh-gc-hero__trust li + li::before { content: '·'; position: absolute; left: -.9rem; color: var(--tortora); }

/* Task 3 — Selettore importo a tile (griglia su .gift-cards-list: H3 full-width, hidden input ignorati) */
.rh-giftcard .gift-cards-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin: 1rem 0 1.6rem; align-items: stretch; }
.rh-giftcard .gift-cards-list > h3 { grid-column: 1 / -1; margin: 0; font-family: var(--ff-sans); font-size: .78rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.rh-giftcard .gift-cards-list input[type="hidden"] { display: none; }
.rh-giftcard button.ywgc-predefined-amount-button { width: 100%; font-family: var(--ff-serif); font-size: 1.5rem; font-weight: 500; color: var(--text); background: #fff; border: 1px solid var(--blush-lt); border-radius: 10px; padding: 1.1rem .5rem; min-height: 82px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.rh-giftcard button.ywgc-predefined-amount-button:hover { border-color: var(--blush); box-shadow: 0 3px 14px rgba(212,168,154,.18); }
.rh-giftcard button.ywgc-predefined-amount-button.selected_button { color: var(--text) !important; }
@media (max-width: 520px) { .rh-giftcard .gift-cards-list { grid-template-columns: repeat(2, 1fr); } }

/* Task 4 — Form consegna / destinatario (heading sezione + campi + CTA) */
.rh-giftcard form.gift-cards_form h3 { font-family: var(--ff-sans); font-size: .78rem; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin: 1.4rem 0 .5rem; }
.rh-giftcard form.gift-cards_form label { font-family: var(--ff-sans); font-size: .82rem; color: var(--bark); display: block; margin: .5rem 0 .15rem; }
.rh-giftcard form.gift-cards_form input[type="text"],
.rh-giftcard form.gift-cards_form input[type="email"],
.rh-giftcard form.gift-cards_form textarea { width: 100%; font-family: var(--ff-sans); font-size: .95rem; color: var(--text); border: 1px solid var(--blush-lt); border-radius: 8px; padding: .7rem .8rem; background: #fff; }
.rh-giftcard form.gift-cards_form input[type="text"]:focus,
.rh-giftcard form.gift-cards_form input[type="email"]:focus,
.rh-giftcard form.gift-cards_form textarea:focus { outline: none; border-color: var(--blush); }
.rh-giftcard .single_add_to_cart_button { width: 100%; font-family: var(--ff-sans); letter-spacing: .05em; text-transform: uppercase; font-size: .9rem; background: var(--charcoal); color: #fff; border: none; border-radius: 999px; padding: 1rem; margin-top: .8rem; cursor: pointer; transition: background .2s; }
.rh-giftcard .single_add_to_cart_button:hover { background: var(--blush-text); }

/* ATC pill: vince sul border-radius 2px del tema (3 classi + !important, come il pattern fdl-btn-size-fix del tema) */
.rh-giftcard form.gift-cards_form .single_add_to_cart_button { border-radius: 999px !important; }

/* anchor scroll + smooth (scoped alla pagina gift card via :has) */
.rh-gc-anchor { display: block; height: 0; scroll-margin-top: 100px; }
html:has(.rh-giftcard) { scroll-behavior: smooth; }

/* Task 5 — Come funziona (3 step) */
.rh-gc-how { max-width: 1000px; margin: 3rem auto 0; padding: 0 1.25rem; }
.rh-gc-how__grid { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.6rem; padding: 1.4rem 0 0; margin: 0; }
.rh-gc-how__grid li { text-align: center; }
.rh-gc-how__ico { display: inline-flex; width: 48px; height: 48px; align-items: center; justify-content: center; color: var(--blush-text); }
.rh-gc-how__ico svg { width: 32px; height: 32px; }
.rh-gc-how__grid h3 { font-family: var(--ff-serif); font-size: 1.35rem; font-weight: 500; margin: .5rem 0 .3rem; color: var(--text); text-transform: none; letter-spacing: 0; }
.rh-gc-how__grid p { font-family: var(--ff-sans); font-weight: 300; font-size: .92rem; color: var(--muted); margin: 0; line-height: 1.5; }
@media (max-width: 680px) { .rh-gc-how__grid { grid-template-columns: 1fr; gap: 1.4rem; } }

/* Task 6 — Riprova sociale (riusa .rh-pdp-review del tema, layout a 3 col) */
.rh-gc-reviews { max-width: 1000px; margin: 3rem auto 0; padding: 0 1.25rem; }
.rh-gc-reviews .rh-pdp-reviews { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; margin-top: 1rem; }
@media (max-width: 680px) { .rh-gc-reviews .rh-pdp-reviews { grid-template-columns: 1fr; } }

/* Task 7 — FAQ accordion (<details>) */
.rh-gc-faq { max-width: 760px; margin: 3rem auto 0; padding: 0 1.25rem; }
.rh-gc-faq__list { margin-top: 1rem; border-top: 1px solid var(--border); }
.rh-gc-faq__item { border-bottom: 1px solid var(--border); }
.rh-gc-faq__item summary { font-family: var(--ff-sans); font-weight: 400; font-size: 1rem; color: var(--text); padding: 1rem 0; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.rh-gc-faq__item summary::-webkit-details-marker { display: none; }
.rh-gc-faq__item summary::after { content: '+'; font-size: 1.3rem; color: var(--blush-text); flex: none; }
.rh-gc-faq__item[open] summary::after { content: '−'; }
.rh-gc-faq__item p { font-family: var(--ff-sans); font-weight: 300; color: var(--muted); margin: 0 0 1rem; line-height: 1.55; }

/* Task 8 — CTA finale */
.rh-gc-final { max-width: 760px; margin: 3.5rem auto 1rem; padding: 2.4rem 1.25rem; text-align: center; background: var(--warm-white); border-radius: 14px; }
.rh-gc-final .rh-section-title { margin-bottom: 1rem; }
.rh-gc-final__reassure { font-family: var(--ff-sans); font-size: .8rem; letter-spacing: .03em; color: var(--tortora); margin: 1.1rem 0 0; }

/* ===================================================================== */
/* === fdl-blocks-checkout-v1 === Brand dei blocchi Cart + Checkout (Store API) */
/* ===================================================================== */
.wp-block-woocommerce-cart, .wc-block-checkout, .wc-block-cart { font-family: var(--ff-sans); color: var(--text); }
.wp-block-woocommerce-cart, .wc-block-checkout { max-width: 1100px; margin: 2rem auto; }

.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary .wc-block-components-title,
.wp-block-woocommerce-cart h1 {
	font-family: var(--ff-serif) !important;
	font-weight: 500 !important;
	color: var(--text) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.wc-block-components-checkout-step__title { font-size: 1.35rem !important; }
.wc-block-components-checkout-step__heading-content { font-family: var(--ff-sans); color: var(--muted); }

.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select .wc-block-components-select__container,
.wc-block-components-combobox .components-form-token-field__input-container,
.wc-block-components-address-form input {
	font-family: var(--ff-sans) !important;
	border-radius: 8px !important;
	border-color: var(--blush-lt) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus {
	border-color: var(--blush) !important;
	box-shadow: 0 0 0 1px var(--blush) !important;
}
.wc-block-components-text-input label { color: var(--muted); font-family: var(--ff-sans); }

.wc-block-components-button.contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button.contained {
	background: var(--charcoal) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: var(--ff-sans) !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	font-weight: 400 !important;
}
.wc-block-components-button.contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover { background: var(--blush-text) !important; }

.wc-block-checkout a, .wp-block-woocommerce-cart a,
.wc-block-components-totals-coupon__button-text { color: var(--blush-text); }

.wc-block-components-radio-control-accordion-option:has(input:checked),
.wc-block-components-radio-control__option--checked { border-color: var(--charcoal) !important; }
.wc-block-components-radio-control__input:checked { accent-color: var(--charcoal); }

.wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
	background: var(--warm-white);
	border-radius: 12px;
}
.wc-block-components-totals-footer-item { font-family: var(--ff-serif); }
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount { font-weight: 500; color: var(--text); }

/* Trust strip sopra "Effettua ordine" (item 1, da critique: chiude l'arco emotivo al pagamento) */
.wc-block-checkout__actions, .wp-block-woocommerce-checkout-actions-block { position: relative; }
.wc-block-checkout__actions::before, .wp-block-woocommerce-checkout-actions-block::before {
	content: 'Pagamento sicuro e cifrato (Stripe / PayPal)'; /* fdl-trust-no-gift-v1: la frase sulla carta regalo usciva su ogni ordine */
	display: block;
	font-family: var(--ff-sans);
	font-size: .78rem;
	letter-spacing: .02em;
	color: var(--tortora);
	text-align: center;
	margin: 0 0 1rem;
}

/* === fdl-giftcard-tile-selected-v2 === tile importo: stato selezionato netto + spunta (item 3, da critique) */
.rh-giftcard button.ywgc-predefined-amount-button { position: relative; }
.rh-giftcard button.ywgc-predefined-amount-button.selected_button {
	border-color: var(--charcoal) !important;
	border-width: 2px !important;
	background: var(--warm-white) !important;
	box-shadow: inset 0 0 0 1px var(--charcoal);
}
.rh-giftcard button.ywgc-predefined-amount-button.selected_button::after {
	content: '\2713';
	position: absolute;
	top: 6px;
	right: 9px;
	font-size: .85rem;
	line-height: 1;
	color: var(--gold);
}

/* === fdl-giftcard-form-v1 === Fase 2: campi destinatario ricchi (cognome/telefono/scheduling) + nomi tier */
.rh-giftcard .rh-gc-extra {
	display: grid;
	gap: 1rem;
	margin: 1.25rem 0;
	padding: 1.1rem 1.2rem;
	border: 1px solid var(--hairline, #e7e0d8);
	border-radius: 12px;
	background: var(--warm-white, #fbf8f4);
}
.rh-giftcard .rh-gc-field { display: grid; gap: .35rem; }
.rh-giftcard .rh-gc-field > label,
.rh-giftcard .rh-gc-when legend {
	font-family: var(--ff-sans);
	font-size: .82rem;
	letter-spacing: .02em;
	color: var(--charcoal);
	font-weight: 600;
}
.rh-giftcard .rh-gc-field input[type="text"],
.rh-giftcard .rh-gc-field input[type="tel"],
.rh-giftcard .rh-gc-field input[type="datetime-local"] {
	width: 100%;
	padding: .6rem .7rem;
	border: 1px solid var(--hairline, #d9d2c8);
	border-radius: 8px;
	font-family: var(--ff-sans);
	font-size: .95rem;
	background: #fff;
	box-sizing: border-box;
}
.rh-giftcard .rh-gc-field small { color: var(--tortora); font-size: .76rem; }
.rh-giftcard .rh-gc-when { border: 0; padding: 0; margin: 0; display: grid; gap: .4rem; }
.rh-giftcard .rh-gc-radio { display: flex; align-items: center; gap: .5rem; font-family: var(--ff-sans); font-size: .9rem; color: var(--charcoal); }
.rh-giftcard .rh-gc-when__dt { max-width: 16rem; }

/* nome tier sopra l'importo (Fase 2): stack verticale + oro SCURO leggibile (contrasto AA);
   no mutazione del textContent che YITH legge per gift_amounts */
.rh-giftcard button.ywgc-predefined-amount-button[data-rgc-tier] {
  position: relative;
  flex-direction: column;
  gap: .1rem;
}
.rh-giftcard button.ywgc-predefined-amount-button[data-rgc-tier]::before {
  content: attr(data-rgc-tier);
  font-family: var(--ff-sans);
  font-size: .78rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #7c5e22;
}
.rh-giftcard button.ywgc-predefined-amount-button[data-rgc-popular]::after {
  content: attr(data-rgc-popular);
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--ff-sans);
  font-size: .6rem;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--blush-text, #9e5848);
  background: var(--blush-lt, #ecdcd6);
  padding: 3px 9px;
  border-radius: 999px;
}

/* === fdl-giftcard-redeem-v1 === box "Hai un buono regalo?" su cart/checkout */
.rgc-redeem {
	max-width: 760px;
	margin: 0 auto 1rem;
	border: 1px solid var(--hairline, #e7e0d8);
	border-radius: 12px;
	background: var(--warm-white, #fbf8f4);
}
.rgc-redeem__d > summary {
	cursor: pointer;
	padding: .85rem 1.1rem;
	font-family: var(--ff-sans);
	font-size: .92rem;
	font-weight: 600;
	color: var(--charcoal);
	list-style: none;
}
.rgc-redeem__d > summary::-webkit-details-marker { display: none; }
.rgc-redeem__d > summary::after { content: '+'; float: right; color: var(--gold); font-size: 1.1rem; line-height: 1; }
.rgc-redeem__d[open] > summary::after { content: '\2212'; }
.rgc-redeem__row {
	display: flex;
	gap: .5rem;
	padding: 0 1.1rem;
	flex-wrap: wrap;
}
.rgc-redeem__row input {
	flex: 1 1 12rem;
	padding: .6rem .7rem;
	border: 1px solid var(--hairline, #d9d2c8);
	border-radius: 8px;
	font-family: var(--ff-sans);
	font-size: .95rem;
	text-transform: uppercase;
	box-sizing: border-box;
}
/* #rgc-redeem davanti (04/11/2026): sul checkout Elementor lo stile globale dei pulsanti
   vinceva e «Rimuovi» usciva in The Seasons 35px, senza fondo. */
#rgc-redeem .rgc-redeem__btn,
.rgc-redeem__btn {
	line-height: 1.2;
	text-transform: none;
	letter-spacing: normal;
	padding: .6rem 1.2rem;
	border: 0;
	border-radius: 8px;
	background: var(--charcoal, #2c2622);
	color: #fff;
	font-family: var(--ff-sans);
	font-size: .9rem;
	cursor: pointer;
}
.rgc-redeem__btn:disabled { opacity: .55; cursor: default; }
.rgc-redeem__msg { padding: .4rem 1.1rem 1rem; margin: 0; font-family: var(--ff-sans); font-size: .82rem; color: var(--tortora); min-height: 1em; }
.rgc-redeem__msg.is-ok { color: #2e7d52; }
.rgc-redeem__msg.is-err { color: #b5455b; }

/* ===================================================================== */
/* === fdl-giftcard-refine-v3 === Redesign totale: how pre-form, no galleria, form uniforme, pannelli caldi, preview live, CTA finale scura. Override in coda → vince su YITH per source-order. */
/* ===================================================================== */

/* (1) Galleria immagine prodotto rimossa (gia via remove_action PHP) + grid PDP a colonna singola */
.rh-giftcard .woocommerce-product-gallery { display: none !important; }
.rh-giftcard div.product { grid-template-columns: 1fr !important; gap: 0 !important; }

/* (2) Preview card YITH grezza nascosta → striscia live scura in cima al form */
.rh-giftcard .ywgc-main-form-preview-container { display: none !important; }
.rh-giftcard .rh-gc-live { display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: var(--charcoal); border-radius: 12px; padding: .9rem 1.1rem; margin: 0 0 1.3rem; }
.rh-giftcard .rh-gc-live__brand { font-family: var(--ff-sans); font-size: .62rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--blush); }
.rh-giftcard .rh-gc-live__amt { font-family: var(--ff-serif); font-size: 1.6rem; color: var(--warm-white); line-height: 1.1; margin-top: .1rem; }
.rh-giftcard .rh-gc-live__note { font-family: var(--ff-sans); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tortora); text-align: right; max-width: 92px; line-height: 1.3; }

/* (3) Form: tutti i campi full-width → batte il max-width:85% di YITH sull'email */
.rh-giftcard form.cart input[type="text"],
.rh-giftcard form.cart input[type="email"],
.rh-giftcard form.cart input[type="tel"],
.rh-giftcard form.cart textarea,
.rh-giftcard .ywgc-single-recipient input { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }

/* (3b) Label uniformi: Jost 500, bark, allineate a sinistra */
.rh-giftcard form.cart label,
.rh-giftcard .ywgc-single-recipient label,
.rh-giftcard .rh-gc-field > label { display: block !important; text-align: left !important; font-family: var(--ff-sans) !important; font-size: .82rem !important; font-weight: 500 !important; color: var(--bark) !important; letter-spacing: .02em; margin: .6rem 0 .2rem !important; }
.rh-giftcard .rh-req { text-transform: uppercase; letter-spacing: .05em; margin-left: .35rem; }
.rh-giftcard .rh-opt { text-transform: uppercase; letter-spacing: .05em; margin-left: .35rem; }

/* (3c) Heading sezione form (DATI DESTINATARIO / I TUOI DATI) coerenti */
.rh-giftcard form.cart h5 { font-family: var(--ff-sans); font-size: .72rem; font-weight: 500; text-transform: uppercase; letter-spacing: .12em; color: var(--bark); margin: 1.5rem 0 .7rem; text-align: left; }

/* (4) Pannello caldo "Come funziona" (ora prima della form) */
.rh-giftcard .rh-gc-how { background: var(--warm-white); border: .5px solid #ece0d6; border-radius: 16px; box-shadow: 0 8px 24px rgba(90,74,66,.06); padding: 1.6rem 1.25rem; max-width: 760px; margin: 1.5rem auto 0; }

/* (5) Hero CTA pieno charcoal */
.rh-giftcard .rh-gc-hero__cta { background: var(--charcoal); color: #fff; border-color: var(--charcoal); }
.rh-giftcard .rh-gc-hero__cta:hover { background: var(--blush-text); border-color: var(--blush-text); color: #fff; }

/* (6) CTA finale a fascia scura, pillola invertita */
.rh-giftcard .rh-gc-final { background: var(--charcoal) !important; }
.rh-giftcard .rh-gc-final .rh-section-title { color: var(--warm-white) !important; }
.rh-giftcard .rh-gc-final__reassure { color: var(--tortora) !important; }
.rh-giftcard .rh-gc-final .rh-gc-hero__cta { background: var(--blush); color: var(--charcoal); border-color: var(--blush); }
.rh-giftcard .rh-gc-final .rh-gc-hero__cta:hover { background: var(--warm-white); border-color: var(--warm-white); color: var(--charcoal); }

/* (7) Trust row sotto il bottone (iniettata via JS) */
.rh-giftcard .rh-gc-trust { display: flex; justify-content: space-between; gap: .5rem; margin: 1rem 0 0; width: 100%; flex: 0 0 100%; box-sizing: border-box; }
.rh-giftcard .rh-gc-trust__i { flex: 1; text-align: center; font-family: var(--ff-sans); font-size: .66rem; color: var(--muted); line-height: 1.3; }
.rh-giftcard .rh-gc-trust__i svg { display: inline-block; width: 18px; height: 18px; color: var(--blush-text); margin-bottom: 3px; }
.rh-giftcard .rh-gc-securenote { text-align: center; margin: .7rem 0 0; font-family: var(--ff-sans); font-size: .68rem; color: var(--muted); }

/* (8) FIX desktop — la colonna acquisto, senza la galleria, restava full-width (~1232px) e sbracava: vincolala e centrala come le altre sezioni. */
.rh-giftcard div.product { max-width: 680px !important; margin-left: auto !important; margin-right: auto !important; float: none !important; }
.rh-giftcard .summary, .rh-giftcard .entry-summary { width: 100% !important; max-width: 100% !important; float: none !important; }
.rh-giftcard .rh-gc-reviews { max-width: 760px; margin-left: auto; margin-right: auto; }
@media (max-width: 700px) { .rh-giftcard div.product { max-width: 100% !important; } }

/* === fdl-giftcard-trust-tidy === striscia trust piu' compatta e centrata; via la nota ridondante */
.rh-giftcard .rh-gc-trust { max-width: 520px; margin-left: auto; margin-right: auto; }
.rh-giftcard .rh-gc-securenote { display: none !important; }
/* === fdl-giftcard-hide-staticprice === il prezzo lo da il selettore importo, non un valore fisso */
.rh-giftcard .entry-summary p.price,
.rh-giftcard .summary p.price { display: none !important; }

/* === fdl-giftcard-redesign-v4 === form regalo: anteprima viva + chip a 2 righe + campi a gruppi + segmented "quando". Scoped .rh-giftcard. */
.rh-giftcard .rgc-form { max-width: 620px; margin: 0 auto; }
.rh-giftcard #rh-gc-live,
.rh-giftcard .rh-gc-emailnote,
.rh-giftcard .product_meta,
.rh-giftcard .wc-stripe-product-checkout-container,
.rh-giftcard #wc-stripe-payment-request-wrapper,
.rh-giftcard .wc-stripe-express-checkout-wrapper { display: none !important; }

.rh-giftcard .rgc-sec { margin-top: 1.9rem; }
.rh-giftcard .rgc-eyebrow { display: block; font-family: var(--ff-sans); font-size: .72rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); margin: 0 0 .85rem; }

.rh-giftcard .rgc-preview { border-radius: 16px; padding: 1.5rem 1.6rem; }
.rh-giftcard .rgc-preview__top { display: flex; justify-content: space-between; align-items: center; }
.rh-giftcard .rgc-preview__brand { font-family: var(--ff-sans); font-weight: 500; font-size: .8rem; letter-spacing: .26em; color: var(--blush); }
.rh-giftcard .rgc-preview__kind { font-family: var(--ff-sans); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.rh-giftcard .rgc-preview__amt { font-family: var(--ff-serif); font-size: 2.6rem; line-height: 1.1; margin: .7rem 0 .4rem; color: var(--warm-white); }
.rh-giftcard .rgc-preview:not(.is-set) .rgc-preview__amt { font-size: 1.5rem; color: var(--tortora); }
.rh-giftcard .rgc-preview__to { font-family: var(--ff-sans); font-size: .9rem; color: var(--tortora); }
.rh-giftcard .rgc-preview__to em { font-family: var(--ff-serif); font-style: italic; color: var(--warm-white); }
.rh-giftcard .rgc-preview__msg { font-family: var(--ff-serif); font-style: italic; font-size: 1rem; color: var(--blush); margin: .7rem 0; min-height: 1.3em; line-height: 1.4; }
.rh-giftcard .rgc-preview__from { font-family: var(--ff-sans); font-size: .82rem; color: var(--gold); }
.rh-giftcard .rgc-preview__from span { color: var(--tortora); }
.rh-giftcard .rgc-preview__when { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid rgba(199,165,107,.22); font-family: var(--ff-sans); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--gold); }
.rh-giftcard .rgc-when__hint { display: block; margin-top: .55rem; max-width: 24rem; font-family: var(--ff-sans); font-size: .78rem; line-height: 1.5; color: var(--muted); }

.rh-giftcard .rgc-amounts { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem; margin: 0; }
.rh-giftcard button.rgc-cf-amount { flex-direction: column; gap: .2rem; min-height: 78px; padding: .85rem .4rem; }
.rh-giftcard button.rgc-cf-amount::before,
.rh-giftcard button.rgc-cf-amount::after { content: none !important; }
.rh-giftcard .rgc-amount__tier { font-family: var(--ff-sans); font-size: .66rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.rh-giftcard .rgc-amount__val { font-family: var(--ff-serif); font-size: 1.5rem; color: var(--text); line-height: 1; }
.rh-giftcard button.rgc-cf-amount.selected_button { border-color: var(--blush); border-width: 1px; background: #F7EEEC; box-shadow: inset 0 0 0 1px var(--blush); }
.rh-giftcard button.rgc-cf-amount.selected_button .rgc-amount__tier { color: var(--blush-text); }
@media (max-width: 520px) { .rh-giftcard .rgc-amounts { grid-template-columns: repeat(2, 1fr); } }

.rh-giftcard .rgc-cf-free { margin: .75rem 0 0; font-family: var(--ff-sans); font-size: .85rem; }
.rh-giftcard .rgc-cf-free a { color: var(--gold); }
.rh-giftcard .rgc-cf-free-input { width: 100%; max-width: 14rem; margin-top: .6rem; font-family: var(--ff-sans); font-size: .95rem; border: 1px solid var(--blush-lt); border-radius: 9px; padding: .7rem .8rem; box-sizing: border-box; }

.rh-giftcard .rgc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.1rem; }
.rh-giftcard .rgc-grid--one { grid-template-columns: 1fr; }
.rh-giftcard .rgc-field { display: flex; flex-direction: column; }
.rh-giftcard .rgc-field label { font-family: var(--ff-sans); font-size: .82rem; font-weight: 500; color: var(--text); margin: 0 0 .35rem; }
.rh-giftcard .rgc-field input,
.rh-giftcard .rgc-field textarea { width: 100%; font-family: var(--ff-sans); font-size: .95rem; color: var(--text); border: 1px solid var(--blush-lt); border-radius: 9px; padding: .7rem .8rem; background: #fff; box-sizing: border-box; }
.rh-giftcard .rgc-field input:focus,
.rh-giftcard .rgc-field textarea:focus { outline: none; border-color: var(--blush); box-shadow: 0 0 0 3px rgba(181,112,107,.15); }
.rh-giftcard .rgc-field small { font-family: var(--ff-sans); font-size: .74rem; color: var(--tortora); margin-top: .3rem; }
.rh-giftcard .rgc-req { color: var(--blush-text); font-weight: 500; font-size: .76rem; }
.rh-giftcard .rgc-opt { color: var(--tortora); font-weight: 400; font-size: .76rem; }
@media (max-width: 520px) { .rh-giftcard .rgc-grid { grid-template-columns: 1fr; } }

.rh-giftcard .rgc-when { display: flex; gap: .6rem; }
.rh-giftcard .rgc-seg { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; font-family: var(--ff-sans); font-size: .9rem; color: var(--muted); border: 1px solid var(--blush-lt); border-radius: 10px; padding: .75rem; cursor: pointer; }
.rh-giftcard .rgc-seg input { position: absolute; opacity: 0; pointer-events: none; }
.rh-giftcard .rgc-seg:has(input:checked) { border-color: var(--blush); background: #F7EEEC; color: var(--text); box-shadow: inset 0 0 0 1px var(--blush); }
.rh-giftcard .rgc-when__dt { margin-top: .7rem; max-width: 16rem; font-family: var(--ff-sans); font-size: .95rem; border: 1px solid var(--blush-lt); border-radius: 9px; padding: .6rem .7rem; box-sizing: border-box; }
.rh-giftcard .rh-req { color: var(--blush-text); font-weight: 500; font-size: .76rem; }
.rh-giftcard .rh-opt { color: var(--tortora); font-weight: 400; font-size: .76rem; }

/* === fdl-giftcard-v4-polish === rifiniture: nascondi quantità + express checkout verde, label sussurrate (no maiuscolo) */
.rh-giftcard form.cart .quantity { display: none !important; }
.rh-giftcard .StripeElement,
.rh-giftcard [id*="express-checkout"],
.rh-giftcard [class*="express-checkout"],
.rh-giftcard .wc-stripe-product-checkout-container { display: none !important; }
.rh-giftcard .rh-req, .rh-giftcard .rh-opt,
.rh-giftcard .rgc-req, .rh-giftcard .rgc-opt { text-transform: none !important; letter-spacing: 0 !important; }
.rh-giftcard .rh-req::before, .rh-giftcard .rgc-req::before,
.rh-giftcard .rh-opt::before, .rh-giftcard .rgc-opt::before { content: '· '; }

/* fdl-ig-feed-home-v1 — sezione Instagram della home (shortcode [fdl_ig_feed]) */
/* === fdl-gift-card-final === card regalo (home): dark luxe + tilt 3D al cursore + glare foil */
.rh-gift { perspective: 1300px; }
.rh-gift__visual { position: relative; width: min(392px, 88vw); aspect-ratio: 1.6 / 1; height: auto; margin: 56px auto 48px; padding: 0; border: 1px solid rgba(216,184,124,.20); border-radius: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 30' fill='none' stroke='%23D6B478' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 28C17 19 19 9 22 4 25 9 27 19 22 28Z'/%3E%3Cpath d='M22 28C26 21 33 15 39 12 38 20 31 26 22 28Z'/%3E%3Cpath d='M22 28C18 21 11 15 5 12 6 20 13 26 22 28Z'/%3E%3Cpath d='M22 28C24 22 29 17 34 14'/%3E%3Cpath d='M22 28C20 22 15 17 10 14'/%3E%3C/svg%3E") no-repeat right 26px top 24px / 44px auto, repeating-linear-gradient(45deg, rgba(214,180,120,.03) 0 1px, transparent 1px 8px), radial-gradient(125% 120% at 28% 12%, #38271b 0%, #261a11 52%, #1a110a 100%); box-shadow: 0 44px 72px -26px rgba(0,0,0,.7), 0 6px 18px rgba(0,0,0,.42); transform-style: preserve-3d; transition: transform .18s cubic-bezier(.22,1,.36,1), box-shadow .35s cubic-bezier(.22,1,.36,1); will-change: transform; --mx: 50%; --my: 30%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.rh-gift__visual::before { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(199,165,107,.5); border-radius: 12px; box-shadow: inset 0 1px 0 rgba(255,240,220,.12); pointer-events: none; }
.rh-gift__visual::after { content: ''; position: absolute; inset: 0; border-radius: 18px; pointer-events: none; z-index: 2; background: radial-gradient(circle 560px at var(--mx) var(--my), rgba(248,230,188,.36) 0%, rgba(248,230,188,.13) 42%, rgba(248,230,188,0) 100%); opacity: 0; transition: opacity .25s ease-out; }
.rh-gift__visual.is-tilt { box-shadow: 0 60px 92px -28px rgba(0,0,0,.78), 0 10px 26px rgba(0,0,0,.46); }
.rh-gift__visual.is-tilt::after { opacity: 1; }
.rh-gift__label { position: absolute; top: 26px; left: 30px; margin: 0; z-index: 3; font-family: var(--ff-sans); font-size: 13px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: #C9A86E; }
.rh-gift__title { margin: 2px 0 0 30px; z-index: 3; font-family: var(--ff-serif); font-style: italic; font-weight: 400; font-size: 44px; line-height: 1; color: #F2E7DA; }
.rh-gift__title::after { content: 'Valore a tua scelta · da 25 €'; display: block; margin-top: 15px; font-family: var(--ff-sans); font-style: normal; font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #B79B79; }
.rh-gift .rinascita-btn--primary { display: inline-flex; width: auto; align-items: center; justify-content: center; background: var(--blush); color: #2e2420; border: 1px solid var(--blush); padding: 16px 46px; border-radius: 999px; letter-spacing: .14em; }
.rh-gift .rinascita-btn--primary:hover { background: var(--warm-white); border-color: var(--warm-white); color: #2e2420; }
@media (max-width: 520px) { .rh-gift__title { font-size: 36px; } }

/* === fdl-gift-preview-align === anteprima pagina gift-card: stessa pelle premium della card home */
.rh-giftcard .rgc-preview { position: relative; border: 1px solid rgba(199,165,107,.42); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 30' fill='none' stroke='%23D6B478' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 28C17 19 19 9 22 4 25 9 27 19 22 28Z'/%3E%3Cpath d='M22 28C26 21 33 15 39 12 38 20 31 26 22 28Z'/%3E%3Cpath d='M22 28C18 21 11 15 5 12 6 20 13 26 22 28Z'/%3E%3Cpath d='M22 28C24 22 29 17 34 14'/%3E%3Cpath d='M22 28C20 22 15 17 10 14'/%3E%3C/svg%3E") no-repeat right 20px bottom 18px / 40px auto, repeating-linear-gradient(45deg, rgba(214,180,120,.03) 0 1px, transparent 1px 8px), radial-gradient(125% 120% at 28% 10%, #2f2115 0%, #241914 55%, #190f08 100%); box-shadow: 0 24px 46px -22px rgba(0,0,0,.6); }
.rh-giftcard .rgc-preview::after { content: ''; position: absolute; inset: 9px; border: 1px solid rgba(199,165,107,.30); border-radius: 11px; pointer-events: none; }

/* === fdl-atc-notice-v1 === Notice "aggiunto al carrello" redesign brand: card calda, spunta oro, bottone pillola. Sostituisce lo stile Woo di default sul messaggio di successo. */
.woocommerce-message { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem 1rem; padding: 1.05rem 1.2rem; background: #fcfaf7; border: 1px solid var(--blush-lt); border-radius: 14px; box-shadow: 0 16px 34px -26px rgba(44,36,32,.55); font-family: var(--ff-sans); font-size: .97rem; color: var(--text); line-height: 1.4; }
.woocommerce-message::before { content: "\2713"; order: 0; flex: none; position: static; width: 32px; height: 32px; margin: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(200,169,110,.15); color: #a8842f; font-family: var(--ff-sans); font-size: 1rem; font-weight: 500; line-height: 1; }
.woocommerce-message .rgc-atc { order: 0; flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.woocommerce-message .rgc-atc__ey { font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--tortora); }
.woocommerce-message .rgc-atc__txt { font-size: 1rem; color: var(--text); line-height: 1.3; }
.woocommerce-message .rgc-atc__txt strong { font-weight: 500; }
.woocommerce-message a.button, .woocommerce-message a.button.wc-forward { order: 3; margin: 0 0 0 auto; flex: none; background: var(--charcoal); color: var(--cream); border-radius: 999px; padding: .62rem 1.3rem; font-family: var(--ff-sans); font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.woocommerce-message a.button:hover, .woocommerce-message a.button.wc-forward:hover { background: #1c1512; color: var(--cream); }

/* === fdl-gift-cta-fix === Home CTA "Regala una Rinascita" sulla sezione scura: testo scuro leggibile sul bottone rosa (il color si perdeva -> testo cream illeggibile). */
.rh-gift a.rinascita-btn--primary { background: var(--blush); border-color: var(--blush); color: #2e2420; }
.rh-gift a.rinascita-btn--primary:hover { background: var(--warm-white); border-color: var(--warm-white); color: #2e2420; }

/* === fdl-btn-pill === Bottoni CTA del tema a PILLOLA (coerenza con gift/recenti, erano squadrati 2px). Scoped a .rinascita-btn--primary/--ghost: NON tocca i bottoni prodotto WooCommerce (.add_to_cart_button, single_add_to_cart) che restano com'erano. */
.rinascita-btn--primary, .rinascita-btn--ghost, .rh-skin__btn, .rh-nl__btn { border-radius: 999px; }
.rinascita-btn--primary { padding-left: 38px; padding-right: 38px; }
.rinascita-btn--ghost { padding-left: 32px; padding-right: 32px; }
/* PDP: bottoni della scheda prodotto a pillola (Aggiungi al carrello + Compra ora). NON il catalogo "a scomparsa" (.add_to_cart_button) ne' i bottoni pagamento Apple Pay/Link (stile Stripe). */
.single-product .single_add_to_cart_button, .rh-buy-now { border-radius: 999px !important; }


/* fdl-giftcard-dedup-trust-v1: la pagina gift card ha la sua striscia trust su misura (.rh-gc-trust). Nascondo i badge generici di prodotto (.rh-trust) che duplicano "Made in Italy"/"Pagamento sicuro" e mostrano "Spedizione gratuita" (irrilevante per un buono digitale). Scoped a body.rh-giftcard: gli altri prodotti li tengono. */
body.rh-giftcard .rh-trust { display: none !important; }


/* fdl-nl-input-rounded-v1: input newsletter arrotondato per coerenza col bottone-pillola */
/* ============ fdl-account-v1 — reskin My Account ============ */
body.woocommerce-account{--rh-line:#e7ddd1;--rh-muted:#8a7d70;--rh-terra:#B4502E;--rh-blush:#B5706B;--rh-blush-t:#9e5848;--rh-card:#FFFDFB;--rh-crema:#FBF6F0;--rh-serif:"Cormorant Garamond",Georgia,serif}
body.woocommerce-account .rinascita-article__title{font-family:var(--rh-serif);font-weight:500;font-size:clamp(42px,6vw,68px);line-height:1;letter-spacing:-.01em;margin:0 0 34px;padding:34px 0 30px;border-bottom:1px solid var(--rh-line);position:relative}
body.woocommerce-account .rinascita-article__title::before{content:"Area riservata";position:absolute;top:0;left:2px;font-family:"Jost",sans-serif;font-weight:500;font-size: 13px;letter-spacing:.24em;text-transform:uppercase;color:var(--rh-blush-t)}
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){display:grid;grid-template-columns:230px 1fr;gap:64px;align-items:start;max-width:1160px}
body.woocommerce-account .rinascita-main{max-width:1200px}
body.woocommerce-account .rinascita-article__content{max-width:none}
body.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto;grid-column:1;grid-row:1}
body.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto;grid-column:2;grid-row:1}
.woocommerce-MyAccount-navigation{position:sticky;top:26px}
body.admin-bar .woocommerce-MyAccount-navigation{top:58px}
.woocommerce-MyAccount-navigation::before{content:"Il tuo spazio";display:block;font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.22em;text-transform:uppercase;color:var(--rh-muted);margin:0 0 16px 2px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{border-top:1px solid var(--rh-line);margin:0}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout{border-bottom:1px solid var(--rh-line);margin-top:12px}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;gap:13px;padding:13px 6px 13px 16px;position:relative;color:#26211d;font-size:14px;text-decoration:none;transition:color .18s,padding .18s;line-height:1.3}
.woocommerce-MyAccount-navigation li a:hover{color:var(--rh-terra);padding-left:20px}
.woocommerce-MyAccount-navigation li.is-active a{font-weight:500;color:#26211d}
.woocommerce-MyAccount-navigation li.is-active a::after{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--rh-terra)}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{color:var(--rh-blush-t)}
.woocommerce-MyAccount-content{margin:0;padding:0}
.rh-acc__greet{font-size:16px;line-height:1.75;color:#26211d;max-width:620px;margin:0 0 40px}
.rh-acc__greet b{font-weight:500}
.rh-acc__greet .rh-acc__sig{display:block;margin-top:9px;font-family:var(--rh-serif);font-style:italic;font-size:21px;color:var(--rh-blush-t)}
.rh-acc__h2{font-family:var(--rh-serif);font-weight:500;font-size:32px;line-height:1.1;margin:0 0 10px}
.rh-acc__intro p{color:var(--rh-muted);font-size:15px;line-height:1.7;max-width:600px;margin:0}
.rh-acc__stats{display:grid;grid-template-columns:repeat(3,1fr);margin:36px 0;border-top:1px solid var(--rh-line);border-bottom:1px solid var(--rh-line)}
.rh-acc__stat{padding:24px 4px 22px}
.rh-acc__stat+.rh-acc__stat{border-left:1px solid var(--rh-line);padding-left:28px}
.rh-acc__stat-lbl{display:block;font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.16em;text-transform:uppercase;color:var(--rh-muted);margin-bottom:12px}
.rh-acc__stat-val{font-family:var(--rh-serif);font-size:34px;font-weight:500;line-height:1;color:#26211d}
.rh-acc__block{margin-top:44px}
.rh-acc__block-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px}
.rh-acc__block-head h3{font-family:var(--rh-serif);font-weight:500;font-size:26px;margin:0}
.rh-acc__block-head a{font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.14em;text-transform:uppercase;color:var(--rh-blush-t);text-decoration:none}
.rh-acc__block-head a:hover{color:var(--rh-terra)}
.rh-acc__order{border:1px solid var(--rh-line);background:var(--rh-card)}
.rh-acc__order-top{display:flex;justify-content:space-between;gap:20px;padding:24px 26px}
.rh-acc__mini{display:block;font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.16em;text-transform:uppercase;color:var(--rh-muted);margin-bottom:7px}
.rh-acc__ordno{font-family:var(--rh-serif);font-size:23px;font-weight:500}
.rh-acc__date{display:block;font-size: 13px;color:var(--rh-muted);margin-top:4px}
.rh-acc__order-tot{text-align:right}
.rh-acc__price{font-family:var(--rh-serif);font-size:23px;font-weight:600}
.rh-acc__price .woocommerce-Price-amount{font-family:var(--rh-serif)}
.rh-acc__timeline{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rh-line);border-bottom:1px solid var(--rh-line);padding:26px 26px 22px}
.rh-acc__notice{border-top:1px solid var(--rh-line);border-bottom:1px solid var(--rh-line);padding:22px 26px}
.rh-acc__tl-node{text-align:center;position:relative}
.rh-acc__tl-node::before{content:"";position:absolute;top:6px;left:-50%;width:100%;height:1px;background:var(--rh-line);z-index:0}
.rh-acc__tl-node:first-child::before{display:none}
.rh-acc__tl-dot{position:relative;z-index:1;display:block;width:13px;height:13px;border-radius:50%;border:1.5px solid var(--rh-line);background:#fff;margin:0 auto 12px}
.rh-acc__tl-lbl{font-size:13px;color:var(--rh-muted)}
.rh-acc__timeline.rh-step-0 .rh-acc__tl-node:nth-child(1) .rh-acc__tl-dot,.rh-acc__timeline.rh-step-1 .rh-acc__tl-node:nth-child(-n+2) .rh-acc__tl-dot,.rh-acc__timeline.rh-step-2 .rh-acc__tl-node .rh-acc__tl-dot{background:var(--rh-terra);border-color:var(--rh-terra)}
.rh-acc__timeline.rh-step-1 .rh-acc__tl-node:nth-child(2)::before,.rh-acc__timeline.rh-step-2 .rh-acc__tl-node::before{background:var(--rh-terra)}
.rh-acc__timeline.rh-step-0 .rh-acc__tl-node:nth-child(1) .rh-acc__tl-lbl,.rh-acc__timeline.rh-step-1 .rh-acc__tl-node:nth-child(2) .rh-acc__tl-lbl,.rh-acc__timeline.rh-step-2 .rh-acc__tl-node:nth-child(3) .rh-acc__tl-lbl{color:#26211d;font-weight:500}
.rh-acc__order-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 26px}
.rh-acc__items{font-size:13.5px;color:var(--rh-muted)}
.rh-acc__items b{color:#26211d;font-weight:500}
.rh-acc__btn{width:auto;white-space:nowrap;text-decoration:none}
.rh-acc__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rh-line)}
.rh-acc__row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:22px;padding:17px 2px;border-bottom:1px solid var(--rh-line)}
.rh-acc__row-name{display:block;font-size:15px;color:#26211d}
.rh-acc__row-meta{display:block;font-size: 13px;color:var(--rh-muted);margin-top:3px}
.rh-acc__status{font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.11em;text-transform:uppercase;color:var(--rh-muted);display:flex;align-items:center;gap:7px}
.rh-acc__status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rh-muted)}
.rh-acc__status.rh-s-refunded::before{background:var(--rh-blush)}
.rh-acc__row-price{font-family:var(--rh-serif);font-size:19px;font-weight:600}
.rh-acc__row-link{font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rh-blush-t);text-decoration:none;white-space:nowrap}
.rh-acc__row-link:hover{color:var(--rh-terra)}
.rh-acc__empty{border:1px solid var(--rh-line);background:var(--rh-card);padding:44px 40px;text-align:center}
.rh-acc__empty h3{font-family:var(--rh-serif);font-weight:500;font-size:27px;margin:0 0 10px}
.rh-acc__empty p{color:var(--rh-muted);font-size:15px;max-width:420px;margin:0 auto 22px;line-height:1.6}
.rh-acc__help{display:flex;align-items:flex-start;gap:24px;margin-top:44px;padding:30px;background:var(--rh-crema);border:1px solid var(--rh-line)}
.rh-acc__help-av{flex:none;width:76px;height:76px;border-radius:50%;background:var(--rh-blush);color:var(--rh-crema);display:grid;place-items:center;font-family:var(--rh-serif);font-size:34px;font-weight:500;line-height:1}
.rh-acc__help-body{flex:1;min-width:0}
.rh-acc__help-q{margin:10px 0 0;font-family:var(--rh-serif);font-style:italic;font-size:21px;line-height:1.5;color:#26211d;max-width:62ch}
.rh-acc__help-sign{margin-top:12px;font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.12em;text-transform:uppercase;color:var(--rh-muted)}
.rh-acc__help-sign b{color:#26211d;font-weight:500}
.rh-acc__help-cta{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}
.rh-acc__help-cta a{width:auto;white-space:nowrap;text-decoration:none}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--rh-serif);font-weight:500}
.woocommerce-orders-table,.woocommerce-MyAccount-content table.shop_table{border:1px solid var(--rh-line);border-collapse:collapse;width:100%}
.woocommerce-orders-table th,.woocommerce-MyAccount-content .shop_table th{font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.1em;text-transform:uppercase;color:var(--rh-muted);text-align:left;padding:14px 16px;border-bottom:1px solid var(--rh-line);font-weight:500}
.woocommerce-orders-table td,.woocommerce-MyAccount-content .shop_table td{padding:16px;border-bottom:1px solid var(--rh-line);font-size:14px}
.woocommerce-MyAccount-content input:not([type=radio]):not([type=checkbox]):not([type=submit]),.woocommerce-MyAccount-content select,.woocommerce-MyAccount-content textarea{width:100%;border:1px solid var(--rh-line);background:#fff;padding:12px 14px;font-size:14px;border-radius:0;min-height:48px}
.woocommerce-MyAccount-content input:not([type=radio]):not([type=checkbox]):not([type=submit]):focus,.woocommerce-MyAccount-content select:focus,.woocommerce-MyAccount-content textarea:focus{outline:none;border-color:var(--rh-blush);box-shadow:0 0 0 3px rgba(181,112,107,.12)}
.woocommerce-MyAccount-content label{font-family:"Jost",sans-serif;font-size: 13px;letter-spacing:.04em;color:#4b433c}
.woocommerce-MyAccount-content .button,.woocommerce-MyAccount-content button[type=submit],.woocommerce-MyAccount-content input[type=submit],.woocommerce-Button{display:inline-block!important;width:auto!important;background:var(--charcoal,#2c2420)!important;color:var(--warm-white,#f5f0eb)!important;border:0!important;border-radius:999px!important;font-family:"Jost",sans-serif!important;font-size: 13px!important;letter-spacing:.14em!important;text-transform:uppercase!important;padding:14px 26px!important;text-decoration:none!important;transition:background .25s,color .25s!important;cursor:pointer}
.woocommerce-MyAccount-content .button:hover,.woocommerce-MyAccount-content button[type=submit]:hover,.woocommerce-MyAccount-content input[type=submit]:hover,.woocommerce-Button:hover{background:#1c1512!important;color:var(--cream,#F6F2EB)!important}
/* azioni secondarie ordine = ghost del sito (l'azione primaria "Visualizza" resta piena) */
.woocommerce-MyAccount-content .button.rr_recesso,.woocommerce-MyAccount-content .button.invoice,.woocommerce-MyAccount-content .button.cancel,.woocommerce-MyAccount-content .button.rr-button{background:transparent!important;color:var(--bark,#5a4a42)!important;border:1px solid var(--border,#e7ddd1)!important}
.woocommerce-MyAccount-content .button.rr_recesso:hover,.woocommerce-MyAccount-content .button.invoice:hover,.woocommerce-MyAccount-content .button.cancel:hover,.woocommerce-MyAccount-content .button.rr-button:hover{background:var(--charcoal,#2c2420)!important;color:var(--warm-white,#f5f0eb)!important;border-color:var(--charcoal,#2c2420)!important}
.woocommerce-Addresses .woocommerce-Address{border:1px solid var(--rh-line);background:var(--rh-card);padding:24px}
.woocommerce-Addresses .woocommerce-Address address{font-style:normal;font-size:14px;line-height:1.7;color:#3a332d}
@media(max-width:900px){
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation){grid-template-columns:1fr;gap:30px}
body.woocommerce-account .woocommerce-MyAccount-navigation,body.woocommerce-account .woocommerce-MyAccount-content{grid-column:auto!important;grid-row:auto!important;min-width:0}
.woocommerce-MyAccount-navigation{position:static;overflow-x:auto}
.woocommerce-MyAccount-navigation ul{display:flex;gap:4px}
.woocommerce-MyAccount-navigation li{border:0!important;flex:none}
.woocommerce-MyAccount-navigation li a{padding:10px 14px;border:1px solid var(--rh-line);white-space:nowrap}
.woocommerce-MyAccount-navigation li a::after{display:none}
.woocommerce-MyAccount-navigation li.is-active a{border-color:var(--rh-terra)}
.woocommerce-MyAccount-navigation::before{display:none}
.rh-acc__stats{grid-template-columns:1fr;border:0}
.rh-acc__stat{border-top:1px solid var(--rh-line)!important;border-left:0!important;padding-left:4px!important}
.rh-acc__row{grid-template-columns:1fr auto;gap:8px 14px}
.rh-acc__help{flex-direction:column;align-items:flex-start}
.rh-acc__order-foot{flex-direction:column;align-items:flex-start;gap:14px}
.rh-acc__items{width:100%}
.rh-acc__block-head{flex-wrap:wrap;gap:4px 12px}
.rh-acc__block-head h3{font-size:22px}
.rh-acc__order-top{gap:12px}
.rh-acc__timeline{padding:24px 16px 20px}
.rh-acc__order-top,.rh-acc__order-foot{padding-left:18px;padding-right:18px}
}
/* ============ /fdl-account-v1 ============ */
/* ============ fdl-account-icons-v1 ============ */
.woocommerce-MyAccount-navigation li a::before{content:"";width:18px;height:18px;flex:none;background-color:var(--rh-muted);transition:background-color .18s;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.woocommerce-MyAccount-navigation-link--dashboard a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNCAxMWw4LTcgOCA3Jy8+PHBhdGggZD0nTTYgMTB2OWgxMnYtOScvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNCAxMWw4LTcgOCA3Jy8+PHBhdGggZD0nTTYgMTB2OWgxMnYtOScvPjwvc3ZnPg==)}
.woocommerce-MyAccount-navigation-link--orders a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNiAzaDlsNCA0djE0bC0zLTItMyAyLTMtMi0zIDJ6Jy8+PHBhdGggZD0nTTkgOWg2TTkgMTNoNk05IDE3aDQnLz48L3N2Zz4=);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNNiAzaDlsNCA0djE0bC0zLTItMyAyLTMtMi0zIDJ6Jy8+PHBhdGggZD0nTTkgOWg2TTkgMTNoNk05IDE3aDQnLz48L3N2Zz4=)}
.woocommerce-MyAccount-navigation-link--downloads a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTIgM3YxMW0wIDBsLTQtNG00IDRsNC00TTUgMjBoMTQnLz48L3N2Zz4=);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTIgM3YxMW0wIDBsLTQtNG00IDRsNC00TTUgMjBoMTQnLz48L3N2Zz4=)}
.woocommerce-MyAccount-navigation-link--edit-address a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTIgMjFzLTYtNS02LTEwYTYgNiAwIDExMTIgMGMwIDUtNiAxMC02IDEweicvPjxjaXJjbGUgY3g9JzEyJyBjeT0nMTEnIHI9JzIuNCcvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTIgMjFzLTYtNS02LTEwYTYgNiAwIDExMTIgMGMwIDUtNiAxMC02IDEweicvPjxjaXJjbGUgY3g9JzEyJyBjeT0nMTEnIHI9JzIuNCcvPjwvc3ZnPg==)}
.woocommerce-MyAccount-navigation-link--payment-methods a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cmVjdCB4PSczJyB5PSc1JyB3aWR0aD0nMTgnIGhlaWdodD0nMTQnIHJ4PScyJy8+PHBhdGggZD0nTTMgMTBoMTgnLz48L3N2Zz4=);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cmVjdCB4PSczJyB5PSc1JyB3aWR0aD0nMTgnIGhlaWdodD0nMTQnIHJ4PScyJy8+PHBhdGggZD0nTTMgMTBoMTgnLz48L3N2Zz4=)}
.woocommerce-MyAccount-navigation-link--edit-account a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PScxMicgY3k9JzgnIHI9JzMuNCcvPjxwYXRoIGQ9J001IDIwYzAtMy42IDMuMS01LjYgNy01LjZzNyAyIDcgNS42Jy8+PC9zdmc+);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48Y2lyY2xlIGN4PScxMicgY3k9JzgnIHI9JzMuNCcvPjxwYXRoIGQ9J001IDIwYzAtMy42IDMuMS01LjYgNy01LjZzNyAyIDcgNS42Jy8+PC9zdmc+)}
.woocommerce-MyAccount-navigation-link--customer-logout a::before{-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTQgNEg2djE2aDgnLz48cGF0aCBkPSdNMTggMTVsMy0zLTMtM00xMCAxMmgxMScvPjwvc3ZnPg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScjMDAwJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMTQgNEg2djE2aDgnLz48cGF0aCBkPSdNMTggMTVsMy0zLTMtM00xMCAxMmgxMScvPjwvc3ZnPg==)}
.woocommerce-MyAccount-navigation li a:hover::before,.woocommerce-MyAccount-navigation li.is-active a::before{background-color:var(--rh-terra)}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a::before{background-color:var(--rh-blush-t)}
/* ============ /fdl-account-icons-v1 ============ */

/* fdl-grouped-pdp-v1 — scheda di un percorso (prodotto raggruppato).
   Il tema era tarato sui prodotti semplici: la tabella dei figli restava senza stile. */
.rh-grouped-price { display: inline-flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rh-grouped-price small { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--bark); opacity: .7; }
.woocommerce-grouped-product-list { width: 100%; border-collapse: collapse; margin: 0 0 28px; }
.woocommerce-grouped-product-list td { border: 0; border-bottom: 1px solid rgba(44, 36, 32, .1); padding: 16px 0; vertical-align: middle; background: none; }
.woocommerce-grouped-product-list tr:last-child td { border-bottom: 0; }
.woocommerce-grouped-product-list-item__quantity { width: 84px; padding-right: 16px !important; }
.woocommerce-grouped-product-list-item__quantity .quantity input.qty { width: 64px; min-height: 44px; text-align: center; border: 1px solid #e0d8cf; border-radius: 2px; background: var(--warm-white); font-family: var(--ff-sans); font-size: 14px; color: var(--charcoal); }
.woocommerce-grouped-product-list-item__quantity .quantity input.qty:focus { outline: none; border-color: var(--blush); box-shadow: 0 0 0 3px rgba(212, 168, 154, .25); }
.woocommerce-grouped-product-list-item__label { padding-right: 16px !important; }
.woocommerce-grouped-product-list-item__label label { margin: 0; font-weight: 400; }
.woocommerce-grouped-product-list-item__label a { font-family: var(--ff-serif); font-size: 19px; font-weight: 300; color: var(--charcoal); text-decoration: none; line-height: 1.3; }
.woocommerce-grouped-product-list-item__label a::first-letter { text-transform: uppercase; }
.woocommerce-grouped-product-list-item__label a:hover { color: var(--blush-text); }
.woocommerce-grouped-product-list-item__price { text-align: right; white-space: nowrap; font-family: var(--ff-serif); font-size: 17px; color: var(--bark); }
.woocommerce-grouped-product-list-item__price del { opacity: .45; margin-right: 6px; }
.woocommerce-grouped-product-list-item__price .stock { display: none; }
@media (max-width: 560px) {
	.woocommerce-grouped-product-list-item__label a { font-size: 16px; }
	.woocommerce-grouped-product-list-item__quantity { width: 68px; padding-right: 10px !important; }
	/* il tema ha gia' .single-product div.product .quantity input.qty {64px}, piu' specifica:
	   le media query NON aggiungono specificita' -> serve risalire di rango, non basta venire dopo. */
	.single-product div.product .woocommerce-grouped-product-list-item__quantity .quantity input.qty { width: 54px; }
}


/* fdl-grouped-sale-v1 — i prezzi ora arrivano da get_price_html(): gestisce saldi
   (<del>/<ins>) e le impostazioni IVA. <ins> di default è sottolineato. */
.rh-routine-prod-price del, .woocommerce-grouped-product-list-item__price del { opacity: .45; margin-right: 5px; text-decoration: line-through; }
.rh-routine-prod-price ins, .woocommerce-grouped-product-list-item__price ins { text-decoration: none; background: none; color: inherit; font-weight: 400; }
.rh-routine-prod-price .screen-reader-text,
.woocommerce-grouped-product-list-item__price .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }


/* fdl-grouped-gallery-v1 — scheda percorso: la galleria è derivata dai figli (vedi il
   filtro woocommerce_product_get_gallery_image_ids), quindi qui compare per la prima volta
   una striscia di miniature. Il tema non l'aveva mai stilata: tutti gli altri prodotti
   hanno una foto sola. */
.single-product .flex-control-thumbs { position: static !important; }
.single-product .flex-control-thumbs li { flex: 1 1 0; }
.single-product .flex-control-thumbs img { width: 100% !important; height: auto !important; cursor: pointer; transition: opacity .25s var(--ease-out); }
.single-product .flex-control-thumbs img:hover,
.single-product .flex-control-thumbs img.flex-active { opacity: 1; }


/* fdl-grouped-loop-cta-v1 — card dei percorsi nel catalogo. Un raggruppato NON è
   acquistabile → WooCommerce non gli mette .add_to_cart_button, quindi la CTA discreta a
   scomparsa non lo agganciava e restava il bottone pieno di default (regola generica
   .woocommerce .button). Stesse dichiarazioni del blocco .add_to_cart_button sopra: se
   tocchi quello, tocca anche questo. NB: non si può risolvere aggiungendo la classe
   .add_to_cart_button al link — rinascita.js ci aggancia l'add-to-cart e intercetterebbe
   il click invece di lasciar aprire la scheda. */
.woocommerce ul.products li.product .button.product_type_grouped {
  margin: 16px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  color: var(--blush-text) !important; font-family: var(--ff-sans); font-size: 13px; font-weight: 400;
  letter-spacing: .2em; text-transform: uppercase; align-self: center; display: inline-block; width: auto;
  opacity: 0; transform: translateY(6px); transition: opacity .35s var(--ease-out), transform .35s var(--ease-out), color .2s;
}
.woocommerce ul.products li.product:hover .button.product_type_grouped { opacity: 1; transform: none; }
.woocommerce ul.products li.product .button.product_type_grouped:hover { color: var(--charcoal) !important; text-decoration: underline; text-underline-offset: 4px; }
@media (hover: none) { .woocommerce ul.products li.product .button.product_type_grouped { opacity: 1 !important; transform: none !important; } }

/* === fdl-giftcard-magiclink-v1 === banner esito magic link "Usa subito il buono" (sul negozio, non scoped) */
.rh-gc-flash { max-width: 760px; margin: 1.2rem auto; padding: .9rem 1.2rem; border-radius: 10px; font-family: var(--ff-sans); font-size: .95rem; line-height: 1.5; text-align: center; }
.rh-gc-flash--ok { background: var(--warm-white); color: var(--charcoal); border: 1px solid var(--blush); }
.rh-gc-flash--err { background: #fbecec; color: #9b3b3b; border: 1px solid #e6c2c2; }


/* === fdl-checkout-steps-v2 === 2 step (Dati → Pagamento) sul BLOCK checkout.
   Il v1 qui sopra è per il checkout CLASSICO e oggi è dormiente (rinascita.shop usa i blocchi).

   Perché ci agganciamo a .wc-block-checkout__* e non a .wp-block-woocommerce-checkout-*-block:
   la lista corrieri è un fieldset .wc-block-checkout__shipping-option che NON ha nessun wrapper
   wp-block-* → con le sole classi wp-block-* restava visibile nello step 2. Le .wc-block-checkout__*
   ci sono invece su tutti gli step renderizzati.

   Perché il pannello pagamento nello step 1 va FUORI SCHERMO e non in display:none: gli iframe di
   Stripe/PayPal si montano misurando il contenitore; con display:none nascerebbero ad altezza 0 e
   il campo carta arriverebbe allo step 2 invisibile. Verificato: parcheggiato, l'iframe Stripe
   misura 568x195, quindi monta correttamente. */
.rh-cstep-bar--block { margin: 4px 0 30px; }
.rh-cstep-bar--block .rh-cstep { background: none; border: 0; border-bottom: 2px solid transparent; font: inherit; letter-spacing: .12em; text-transform: uppercase; cursor: default; }
.rh-cstep-bar--block .rh-cstep.is-done { cursor: pointer; }
.rh-cstep-bar--block .rh-cstep.is-done:hover { color: var(--charcoal); }

.rh-cstep-nav { margin: 4px 0 0; }
.rh-cstep-trust { list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .06em; color: var(--muted); }
.rh-cstep-trust li::before { content: "\2713"; margin-right: 7px; color: var(--blush-text); }

/* --- STEP 1: dati. Il pagamento resta montato ma parcheggiato fuori schermo. --- */
body.rh-bstep-1 .wc-block-checkout__payment-method {
  position: absolute !important;
  left: -10000px !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 620px !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.rh-bstep-1 .wc-block-checkout__terms,
body.rh-bstep-1 .wc-block-checkout__actions,
body.rh-bstep-1 .rh-cstep-trust { display: none !important; }

/* --- STEP 2: solo pagamento. L'express payment è una scorciatoia dello step 1. --- */
body.rh-bstep-2 .wc-block-components-express-payment--checkout,
body.rh-bstep-2 .wc-block-components-express-payment-continue-rule--checkout,
body.rh-bstep-2 .wc-block-checkout__contact-fields,
body.rh-bstep-2 .wc-block-checkout__shipping-fields,
body.rh-bstep-2 .wc-block-checkout__billing-fields,
body.rh-bstep-2 .wc-block-checkout__shipping-option,
body.rh-bstep-2 .wc-block-checkout__order-notes,
body.rh-bstep-2 .rh-cstep-next { display: none !important; }


/* ==========================================================================
   fdl-min-type-v1 — nessun testo sotto i 12px sullo schermo piccolo.
   Pubblico 40+: i micro-label restano maiuscoli e tracciati, ma leggibili.
   Escluso di proposito .rinascita-cart-count: e' un badge numerico dentro un
   cerchio piccolo, ingrandirlo lo farebbe sbordare.
   ========================================================================== */
@media (max-width: 767px) {
  .rh-strip__item,
  .rh-cat-eyebrow,
  .rh-routine-goal,
  .rh-gift__label,
  .rh-review__product,
  .rh-skin__btn,
  .rh-trust2__label,
  .woocommerce ul.products li.product .button.add_to_cart_button,
  .rinascita-footer small,
  .rinascita-drawer small,
  .rh-grouped-price small,
  .rh-about__quote span,
  .woocommerce ul.products li.product a.button { font-size: 13px; }
  /* stessa specificita del blocco gemello .product_type_grouped, altrimenti perde */
  .woocommerce ul.products li.product .button.product_type_grouped { font-size: 13px; }
}


/* ==========================================================================
   fdl-consulenza-v1 — pagina "Da dove parto"
   Tutto sotto .rc per non toccare nient'altro del tema. Si rimuove insieme
   allo shortcode. Nessun colore nuovo: usa le variabili gia' esistenti.
   ========================================================================== */
.rc { max-width: 780px; margin: 0 auto; padding: clamp(28px,5vw,56px) 0; }
.rc-view { display: none; }
.rc-view.is-on { display: block; }
.rc-step { display: none; }
.rc-step.is-on { display: block; }

.rc-eyebrow { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .22em; text-transform: uppercase; color: var(--muted); margin: 0 0 6px; }
/* .rc davanti: il contenuto pagina del tema stila gli h2 in maiuscolo tracciato
   e vinceva su .rc-title, schiacciando i titoli degli obiettivi. */
/* Il tema stila gli h2 del contenuto pagina in Jost 13px maiuscolo tracciato, e
   vinceva su qualunque selettore ragionevole. Qui !important e circoscritto a .rc:
   non esce da questa pagina. */
.rc .rc-title, .rc h2.rc-title { font-family: var(--ff-serif) !important; font-weight: 300 !important; font-size: clamp(26px,3.4vw,36px) !important; line-height: 1.18 !important; margin: 0 0 8px !important; text-transform: none !important; letter-spacing: normal !important; color: var(--charcoal) !important; }
.rc h2.rc-title--big { font-size: clamp(28px,4vw,44px) !important; }
.rc-title--big { font-size: clamp(28px,4vw,44px); }
.rc-hint { color: var(--bark); font-size: 16px; line-height: 1.6; margin: 0 0 24px; max-width: 60ch; }

.rc-opts { display: flex; flex-direction: column; gap: 10px; }
.rc-opt {
  width: 100%; text-align: left; padding: 18px 20px; min-height: 60px;
  border: 1px solid var(--border); border-radius: 2px; background: #fff;
  display: flex; align-items: center; gap: 14px; font-size: 16px; cursor: pointer;
  font-family: var(--ff-serif); color: var(--charcoal);
  transition: border-color .2s var(--ease-out), transform .2s var(--ease-out);
}
.rc-opt:hover { border-color: var(--blush-text); transform: translateX(3px); }
.rc-opt small { margin-left: auto; padding-left: 14px; white-space: nowrap; font-family: var(--ff-sans); font-size: 13px; color: var(--muted); letter-spacing: .06em; }
.rc-opt--out { background: transparent; border-style: dashed; color: var(--bark); }

.rc-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 4px; }

.rc-btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px;
  padding: 0 22px; border-radius: 2px; font-family: var(--ff-sans); font-size: 13px;
  letter-spacing: .16em; text-transform: uppercase; text-decoration: none; cursor: pointer;
  border: 1px solid transparent;
  transition: background .24s var(--ease-out), color .24s var(--ease-out), border-color .24s var(--ease-out);
}
.rc-btn--primary { background: var(--charcoal); color: var(--warm-white); }
.rc-btn--primary:hover { background: var(--blush-text); color: #fff; }
.rc-btn--ghost { border-color: var(--border); color: var(--charcoal); background: transparent; }
.rc-btn--ghost:hover { border-color: var(--blush-text); color: var(--blush-text); }

.rc-linky { background: none; border: 0; padding: 0; text-decoration: underline; color: var(--blush-text); font-size: 14.5px; cursor: pointer; font-family: inherit; }
.rc-back { background: none; border: 0; padding: 0; min-height: 44px; display: inline-flex; align-items: center; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--bark); cursor: pointer; }
.rc-back:hover { color: var(--blush-text); }

@media (min-width: 900px) {
  .rc { max-width: 1060px; }
  }
@media (max-width: 700px) {
  .rc-opt { font-size: 15.5px; padding: 16px 16px; }
  .rc-opt small { display: none; }
  .rc-hint, .rc-prose p { font-size: 16px; }
}


/* Le tre porte in home: la scelta prima del catalogo. */
/* Altezza esplicita invece di aspect-ratio: con gli attributi width/height sul tag
   e le regole img del tema, la proporzione non veniva usata e le foto uscivano ad
   altezza naturale (1024px), sfondando le card. */

/* Le opzioni arrivano in sequenza: dice che sono una lista da leggere, non un modulo. */
.rc-step.is-on .rc-opt { opacity: 0; transform: translateY(6px); animation: rcIn .38s var(--ease-out) forwards; }
.rc-step.is-on .rc-opt:nth-child(1) { animation-delay: .03s; }
.rc-step.is-on .rc-opt:nth-child(2) { animation-delay: .09s; }
.rc-step.is-on .rc-opt:nth-child(3) { animation-delay: .15s; }
.rc-step.is-on .rc-opt:nth-child(4) { animation-delay: .21s; }
.rc-step.is-on .rc-opt:nth-child(5) { animation-delay: .27s; }
@keyframes rcIn { to { opacity: 1; transform: none; } }

/* La barra di avanzamento sta con le domande, non sopra l'apertura: riordino
   senza toccare il markup, cosi' il PHP resta leggibile nell'ordine logico. */
.rc-step { order: 3; }



/* === fdl-ingresso-schede-v1 === Sobria di proposito: e' un ripiego per chi esita,
   non deve tirare via l'occhio da chi ha gia' deciso di comprare. */
.rh-nonsicura { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--line-soft, rgba(44,36,32,.09)); display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; font-family: var(--ff-sans); }
.rh-nonsicura__d { font-size: 14.5px; color: var(--muted); }
.rh-nonsicura a { text-decoration: none; border-bottom: 1px solid transparent; transition: border-color .2s var(--ease-out); }
.rh-nonsicura a:hover { border-bottom-color: var(--blush-text); }
@media (max-width: 700px) { .rh-nonsicura { gap: 4px; } .rh-nonsicura__d, .rh-nonsicura a { width: 100%; } .rh-nonsicura a { min-height: 44px; display: inline-flex; align-items: center; } }


/* === fdl-carrello-avvisi-v1 === L'avviso sta sopra il carrello, non al posto suo. */
.rinascita-drawer__avviso { margin: 0 0 14px; padding: 12px 14px; background: var(--blush-lt); border-left: 2px solid var(--blush); font-family: var(--ff-sans); font-size: 14px; line-height: 1.5; color: var(--charcoal); }
.rinascita-citem__max { font-family: var(--ff-sans); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin-left: 10px; }
.rinascita-citem__qty button[disabled] { opacity: .35; cursor: not-allowed; }

/* ==========================================================================
   fdl-nav-fix-v1 (12/10/2026)
   Le voci della barra non vanno a capo. Account, Gift card e Contatti hanno la
   classe rh-solo-burger (Aspetto > Menu): stanno nel menu ≡, sempre visibile,
   non nella barra, perche' nove voci non entrano nemmeno a 1440px. Sotto i
   1200px non entrano neanche le sei rimaste, e resta solo il ≡.
   ========================================================================== */
.rinascita-nav__list a { white-space: nowrap; }
@media (max-width: 1199px) { .rinascita-nav { display: none; } }
/* Telefono: logo + tre icone sforavano di 5px e la pagina scorreva di lato. */
@media (max-width: 480px) { .rinascita-navbar__inner { padding-left: 16px; padding-right: 16px; gap: 12px; } }
/* Cassa: pagamenti rapidi uno sotto l'altro. Affiancati, a 181px PayPal mostrava
   solo l'icona della carta, senza la scritta "Carta di debito o credito". */
/* body davanti: checkout.css di Woo ha la stessa specificita' e viene caricato dopo */
body .wc-block-components-express-payment--checkout .wc-block-components-express-payment__event-buttons { grid-template-columns: 1fr; }
/* fdl-footer-legali-v1: riga dei link legali sopra il copyright (footer.php). */
.rinascita-footer__legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 18px; margin: 0 auto 10px; max-width: 1080px; }
.rinascita-footer__legal-links a { display: inline-block; padding: 6px 0; color: rgba(245,240,235,.72); text-decoration: none; }
.rinascita-footer__legal-links a:hover { color: var(--warm-white); text-decoration: underline; }

/* === fdl-premium-v1 (01/11/2026) === Più quiete: meno scritte piccole, testo più leggibile,
   scheda prodotto senza gli avanzi standard di WooCommerce, pulsanti fissi nei colori del marchio. */
:root { --muted: #5c504a; }
.rh-hero--banner .rh-hero__sub { color: var(--text); }
.rh-about__text { color: rgba(255,255,255,.74); font-weight: 400; }
.rh-section-head { margin-bottom: 64px; }

/* Scheda prodotto: codice, categorie, tag e «N disponibili» non servono a chi compra. */
.single-product div.product .product_meta,
.single-product div.product p.stock.in-stock { display: none; }

/* Le schede «A chi è indicato / Ingredienti / Modo d'uso» (accordion Elementor nella descrizione). */
.single-product .e-n-accordion .e-n-accordion-item { background: transparent; border: 0; border-bottom: 1px solid rgba(46,36,32,.12); margin: 0; }
.single-product .e-n-accordion .e-n-accordion-item:first-child { border-top: 1px solid rgba(46,36,32,.12); }
.single-product .e-n-accordion .e-n-accordion-item-title { background: transparent !important; border: 0 !important; padding: 20px 0 !important; }
.single-product .e-n-accordion .e-n-accordion-item-title-text { font-family: var(--ff-serif); font-size: 1.35rem; font-weight: 500; letter-spacing: 0; text-transform: lowercase; color: var(--text); }
.single-product .e-n-accordion .e-n-accordion-item-title-text::first-letter { text-transform: uppercase; }
.single-product .e-n-accordion .e-n-accordion-item-title-icon { color: var(--muted); }
.single-product .e-n-accordion .e-n-accordion-item > [role="region"] { padding: 0 0 22px !important; border: 0 !important; background: transparent !important; color: var(--text); line-height: 1.75; }

/* WhatsApp: scuro e più piccolo, l'oro resta nell'icona. */
.rinascita-wa { background: var(--charcoal) !important; color: var(--gold) !important; width: 48px !important; height: 48px !important; box-shadow: 0 6px 20px rgba(44,36,32,.18) !important; }
.rinascita-wa svg { width: 22px; height: 22px; }
/* Con la barra «Aggiungi al carrello» in basso il pulsante le stava sopra: sale. */
body:has(.rh-sticky-atc.is-visible) .rinascita-wa { bottom: 96px !important; }
@media (max-width: 760px) { body:has(.rh-sticky-atc.is-visible) .rinascita-wa { bottom: 148px !important; } }

/* Complianz «Gestisci consenso»: resta (serve per revocare) ma come un'etichetta discreta. */
.cmplz-manage-consent.cmplz-show { background: var(--cream) !important; color: var(--muted) !important; border: 1px solid rgba(46,36,32,.12) !important; box-shadow: none !important; font-family: var(--ff-sans) !important; font-size: 13px !important; letter-spacing: .04em !important; padding: 6px 12px !important; border-radius: 6px 6px 0 0 !important; }

/* === fdl-premium-v2 «lusso» (01/11/2026) === Scritte normali al posto delle etichette in maiuscolo
   spaziato, niente icone/stelline/sfumature, superfici separate dal tono e non da linee, titoli più grandi. */
.rh-topbar { font-size: 13px; letter-spacing: .02em; text-transform: none; }
.rinascita-navbar { border-bottom: 0; }
.rinascita-nav__list a { font-size: 15px; letter-spacing: .01em; text-transform: none; color: var(--text); }
.rinascita-btn--primary, .rinascita-btn--ghost, .rinascita-btn--text, .rh-skin__btn, .rh-nl__btn, .rh-sticky-atc__btn,
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_grouped { text-transform: none !important; letter-spacing: .02em !important; font-size: 15px !important; }
.rh-routine-goal, .rh-trust2__label, .rh-review__product, .rh-gift__label, .rh-cat-eyebrow { text-transform: none; letter-spacing: .02em; font-size: 14px; }
.rh-section-title { font-size: clamp(34px, 4.4vw, 60px); line-height: 1.05; letter-spacing: -.01em; }
.rh-hero__title { letter-spacing: -.02em; }
body { font-size: 16px; }

/* Test della pelle: niente icone e niente griglia a righe, tre campi di tono. */
.rh-skin__grid { background: transparent; border: 0; gap: 20px; }
.rh-skin__card { background: var(--cream); text-align: left; align-items: flex-start; }
.rh-skin__card:hover { transform: none; }
.rh-skin__btn { border: 0; padding: 0; color: var(--blush-text); text-decoration: underline; text-underline-offset: 5px; }
.rh-skin__card:hover .rh-skin__btn { background: none; color: var(--charcoal); }

/* Garanzie: senza stanghette fra una voce e l'altra. */
/* Recensioni: fondo di tono, senza bordo. */
.rh-review { border: 0; border-radius: 0; background: var(--warm-white); }
.rh-review__foot { border-top: 0 !important; }

/* Regala: campo pieno, niente sfumatura né alone. */
.rh-gift { background: #3a2e29; }
.rh-gift::before { display: none; }

/* Le etichette sopra i titoli (shop, gift card, account) non aggiungono niente al titolo. */
.rh-eyebrow { display: none; }

/* Titolo d'apertura su due righe, non quattro. */
@media (min-width: 1000px) { .rh-hero__content { width: min(760px, 58vw); max-width: none; flex: none; } .rh-hero--banner .rh-hero__title { font-size: clamp(44px, 4.2vw, 60px); } }

/* Metodo: niente cerchi numerati né linea che li unisce; l'ordine lo dà la lettura. */
.rh-ritual__steps::before, .rh-ritual__steps::after { display: none !important; }
.rh-step { text-align: left; }
.rh-step__title { font-size: 26px; }
.rh-step__desc { font-size: 16px; color: var(--text); }
.rh-ritual__steps { gap: 48px; }
.rh-step__title, .rh-step__desc { text-align: left; }
/* Menu scuro (l'oro su crema non si leggeva) e Metodo allineato a sinistra anche dove i media query lo centravano. */
.rinascita-navbar .rinascita-nav__list a { color: var(--text); }
.rinascita-navbar .rinascita-nav__list a:hover { color: var(--blush-text); }
.rh-ritual .rh-step .rh-step__title, .rh-ritual .rh-step .rh-step__desc { text-align: left; }
/* === fdl-premium-v3 (01/11/2026) === Daniel: «menu un po' più grande, le scritte importanti in grassetto,
   sono poco visibili». Il Cormorant leggero (300) diventa medio, prezzi e nomi più pieni. */
.rinascita-navbar .rinascita-nav__list a { font-size: 16.5px; font-weight: 500; }
.rh-section-title, .rh-hero__title, .rh-skin__name, .rh-step__title,
.single-product div.product .product_title, .woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-grouped-product-list-item__label a, .rc-title { font-weight: 500; }
.woocommerce ul.products li.product .price, .single-product div.product p.price, .single-product div.product span.price,
.rh-routine-prod-price, .rh-sticky-atc__price { font-weight: 600; color: var(--charcoal); }
.rinascita-btn--primary, .rinascita-btn--ghost, .rinascita-btn--text, .rh-skin__btn, .rh-nl__btn, .rh-sticky-atc__btn,
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_grouped { font-weight: 500 !important; }
.rh-hero--banner .rh-hero__sub, .rh-skin__sub, .rh-nl__sub { font-weight: 400; color: var(--text); }
.rh-trust2__label, .rh-routine-prod-name, .rh-review__product { font-weight: 500; }
.rh-nonsicura a { text-transform: none !important; letter-spacing: .02em !important; font-size: 15px !important; font-weight: 500; }
.rh-nl .rh-nl__cta { display: inline-flex; margin-top: 8px; }
.rh-nl { text-align: center; }
.rh-nl a.rh-nl__cta { width: auto !important; display: inline-flex; justify-content: center; padding: 16px 44px; margin: 8px auto 0; }
.rh-grouped-price small, .woocommerce ul.products li.product .price small { text-transform: none !important; letter-spacing: .02em !important; font-size: 14px; font-weight: 400; color: var(--muted); }

/* === fdl-taste-v1 (02/11/2026) === Esito del controllo con taste + Lighthouse sullo staging:
   galleria visibile senza attendere il JS, hero mobile leggibile, contrasti, testi >= 13px,
   recensioni dentro il margine, banner cookie compatto, margini allineati all'header. */

/* Scheda: WooCommerce tiene la galleria a opacity 0 finche' non parte il suo JS (1-2 s di buco bianco). */
.single-product .woocommerce-product-gallery { opacity: 1 !important; }
.single-product .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.single-product .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0; list-style: none; }
.single-product .flex-control-thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; max-height: 96px; border-radius: 3px; opacity: .7; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity: 1; }
@media (max-width: 900px) {
  .single-product .woocommerce-product-gallery__image img.wp-post-image { max-height: 64vh; }
}
/* Lente dello zoom: l'emoji diventa un'icona del tema. */
.single-product .woocommerce-product-gallery__trigger { font-size: 0 !important; background: var(--warm-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c2420' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center / 18px no-repeat; }
.single-product .woocommerce-product-gallery__trigger span, .single-product .woocommerce-product-gallery__trigger::before { display: none !important; }
.single-product .summary p, .woocommerce-product-details__short-description { max-width: 68ch; }
.rh-review__stars, .rh-pdp-reviews [class*="star"] { color: #8f6f2e; }
.e-n-accordion-item-title { padding-left: 20px; padding-right: 20px; }

/* Hero: allineato ai margini dell'header (104px a 1440). */
@media (min-width: 1000px) { .rh-hero__content { padding-left: max(24px, calc((100vw - 1232px) / 2)); } }
/* Hero mobile: titolo e testo sopra, foto sotto, senza velo ne' bordo netto dietro il testo. */
@media (max-width: 768px) {
  .rh-hero--banner { display: flex; }
        .rh-section-title { font-size: clamp(27px, 7.6vw, 34px); }
}

/* Contrasti. */
.cmplz-cookiebanner .cmplz-link, .cmplz-cookiebanner .cmplz-links a, .cmplz-cookiebanner a { color: var(--blush-text) !important; }

/* Testi non sotto 13px, corpo 16px dove si legge davvero. */
.cmplz-cookiebanner .cmplz-description, .cmplz-cookiebanner .cmplz-link, .cmplz-cookiebanner .cmplz-always-active,
.wc-block-components-product-metadata__description, .wc-block-components-totals-item__description { font-size: 13px !important; }
.rh-feat-desc, .rh-step__desc, .rh-review__text, .rh-values__d { font-size: 16px; }

/* Recensioni: la card sta nel margine, la successiva fa capolino. */
@media (max-width: 600px) {
  .rh-reviews__track { padding-left: 20px; padding-right: 20px; scroll-padding-left: 20px; }
  .rh-review { flex-basis: 82vw; }
  /* Banner cookie: meno schermo, bottoni in riga. */
  .cmplz-cookiebanner { max-height: 48vh; overflow-y: auto; padding: 14px 16px !important; }
  .cmplz-cookiebanner .cmplz-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
  .cmplz-cookiebanner .cmplz-btn { flex: 1 1 30%; min-width: 0; padding: 10px 6px; font-size: 14px; }
}

/* === fdl-taste-v2 (02/11/2026) === ritocchi dopo la prima prova: foto hero mobile sul volto, banner cookie
   (specificita' con l'id del contenitore di Complianz), oro del logo e dei link a contrasto. */
@media (max-width: 768px) {
  .rh-hero__bg { background-size: cover; }
}
@media (max-width: 600px) {
  #cmplz-cookiebanner-container .cmplz-cookiebanner.banner-1 { max-height: 46vh !important; overflow-y: auto !important; padding: 12px 16px !important; row-gap: 6px !important; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { display: flex !important; flex-direction: row !important; flex-wrap: wrap !important; gap: 8px !important; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn { flex: 1 1 30% !important; min-width: 0 !important; width: auto !important; height: auto !important; padding: 10px 4px !important; font-size: 14px !important; }
  #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { margin: 0 !important; }
}
.rinascita-navbar .rinascita-logo { color: #9c7a35; }
.rr-footer-link { color: #7d5f22 !important; }
.star-rating, .star-rating span::before, .star-rating::before { color: #8f6f2e !important; }
/* === fdl-taste-v3 (02/11/2026) === foto hero mobile (il contenitore collassava a larghezza 0 nel flex),
   barra in alto opaca, stelle della scheda, fisarmonica dentro il margine. */
@media (max-width: 768px) {
  .rh-hero__bg { flex: none; }
}
.rinascita-navbar { background: var(--warm-white); backdrop-filter: none; }
.rh-pdp-rating, .rh-pdp-review__stars { color: #8f6f2e !important; }
.single-product .e-n-accordion { padding-left: 12px; padding-right: 12px; }

/* === fdl-taste-v4 (02/11/2026) === il colore dei link del kit Elementor (oro) vinceva sul menu mobile e sul link «Rispondi a quattro domande». */
.rinascita-mnav a, .rinascita-mnav__nav a { color: var(--text) !important; }
.rh-nonsicura a { color: var(--blush-text) !important; }

/* === fdl-taste-v5 (02/11/2026) === la riga delle miniature la crea il JS di WooCommerce dopo il primo disegno: tengo il posto per non far saltare il riepilogo (CLS). */
.single-product .woocommerce-product-gallery:has(.woocommerce-product-gallery__image + .woocommerce-product-gallery__image):not(:has(.flex-control-nav)) { padding-bottom: calc(min(96px, (100% - 24px) / 4) + 8px); }
.rr-footer-link a, a.wc-backward, .return-to-shop a { color: #7d5f22 !important; }

/* === fdl-taste-v6 (02/11/2026) === hero mobile: la foto sopra e il testo sotto. Con la foto sotto, ogni cambio di carattere
   spostava tutta la fascia (CLS 0,2); cosi' si muove solo il testo. */
/* === fdl-allineamento-live-v1 (02/11/2026) === briciole di pane e riga «mai e poi mai» presenti sul sito attuale. */
.rh-bc { max-width: 1232px; margin: 0 auto; padding: 20px 24px 0; }
.rh-bc .woocommerce-breadcrumb { margin: 0; font-size: 13px; color: var(--muted); }
.rh-bc .woocommerce-breadcrumb a { color: var(--muted) !important; text-decoration: none; }
.rh-bc .woocommerce-breadcrumb a:hover { color: var(--blush-text) !important; }
.rh-trust li:last-child { grid-column: 1 / -1; }

/* === fdl-taste-v7 (02/11/2026) === contrasto delle stelle e del link nel mini carrello vuoto. */
.rh-pdp-rating, .rh-pdp-review__stars, .rh-review__stars, .star-rating, .star-rating span::before { color: #856628 !important; }
[class*="wc-block-mini-cart"] a, .rinascita-drawer a:not(.rinascita-btn) { color: var(--blush-text) !important; }

/* === fdl-logo-e-quiz-foto-v1 (03/11/2026) === il nome nell'intestazione era piccolo; nel percorso a domande la foto cambia
   con la scelta: Laura all'inizio, una mano con la crema per il viso, le gambe per il corpo. */
.rinascita-logo { font-size: 34px; }
@media (max-width: 480px) { .rinascita-logo { font-size: 28px; letter-spacing: .1em; } }
.rq-split { display: grid; gap: clamp(20px,3vw,40px); align-items: start; }
.rq-foto { display: block; width: 100%; border-radius: 2px; }
@media (max-width: 759px) { .rq-foto { object-position: center 35%; } }

/* === fdl-hero-mobile-sfumato-v1 (02/11/2026) === su telefono la foto sta in alto e si scioglie in sfumatura verso il
   testo, che le scorre sopra (come prima del tema nuovo): niente bordo netto tra foto e testo. */
@media (max-width: 768px) {
  .rh-hero--banner { flex-direction: row; align-items: flex-end; min-height: 0; }
  .rh-hero__bg { position: absolute; inset: 0 0 auto 0; width: auto; height: 430px; align-self: auto; background-position: 74% 18%; transform: none; }
  .rh-hero__bg::after { display: block; background: linear-gradient(180deg, rgba(250,247,244,0) 0%, rgba(250,247,244,0) 45%, rgba(250,247,244,.85) 82%, #faf7f4 100%); }
  .rh-hero__content { padding: 330px 24px 44px; max-width: 100%; }
}


/* === fdl-ricerca-e-kit-v1 (02/11/2026) === lente nel menu in alto con pannello di ricerca prodotti; sezione «I kit» in testa al negozio. */
.rinascita-search { background: var(--warm-white); border-bottom: 1px solid rgba(44,36,32,.12); padding: 14px 24px; }
.rinascita-search[hidden] { display: none; }
.rinascita-search__form { display: flex; gap: 12px; max-width: 720px; margin: 0 auto; align-items: stretch; }
.rinascita-search__input { flex: 1; min-width: 0; min-height: 48px; padding: 0 18px; border: 1px solid rgba(44,36,32,.28); border-radius: 999px; background: #fff; font: inherit; font-size: 16px; color: var(--charcoal); }
.rinascita-search__input:focus-visible { outline: 3px solid #a77a2a; outline-offset: 2px; }
.rinascita-search__go { flex: none; min-height: 48px; }
@media (max-width: 560px) { .rinascita-search { padding: 12px 16px; } .rinascita-search__go { padding-left: 18px; padding-right: 18px; } }
.rh-shop-cat__lead { max-width: 56ch; margin: 10px 0 0; font-size: 16px; line-height: 1.6; color: var(--text); }
.rh-shop-cat__lead a { color: var(--charcoal); text-decoration: underline; text-underline-offset: 3px; }
#cat-i-kit { margin-bottom: 24px; }
.rinascita-search__form .rinascita-search__input { flex: 1 1 auto; width: auto; }
.rinascita-search__form .rinascita-search__go { flex: none; width: auto !important; padding: 0 28px; }


/* === fdl-home-kit-v1 (03/11/2026) === home: le frasi del questionario, divise viso/corpo; scheda kit: la frase scelta */
.rh-skin__area { max-width: 1100px; margin: 0 auto 16px; font-family: var(--ff-sans); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--blush-text); }
.rh-skin__grid + .rh-skin__area { margin-top: 48px; }
.rh-skin__grid { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.rh-skin__card { padding: 36px 28px; }
.rh-skin__name { font-size: 24px; margin-bottom: 12px; }
.rh-skin__frase { margin: 0 0 24px; font-size: 16px; line-height: 1.55; color: var(--text); flex: 1; }
.rh-skin__altro { max-width: 1100px; margin: 40px auto 0; text-align: center; font-size: 16px; color: var(--text); }
.rh-skin__altro a { color: var(--blush-text); text-underline-offset: 4px; }
.rh-dakit { margin: 18px 0 22px; padding: 18px 20px; background: var(--blush-lt); border-radius: 14px; }
.rh-dakit__frase { margin: 0 0 6px; font-family: var(--ff-serif); font-size: 19px; color: var(--charcoal); }
.rh-dakit__why { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text); }
@media (max-width: 768px) { .rh-skin__card { padding: 28px 22px; } }

/* === fdl-home-kit-v2 (03/11/2026, rivisto lo stesso giorno) === «Raccontami la tua pelle»: due pulsanti, Viso e Corpo,
   e solo dopo la scelta le frasi di quell'area, nelle schede di sempre (Daniel: tutte insieme da cellulare erano dispersive;
   poi «anche sul pc: prima 2 bottoni, poi le 4»). Radio + label, niente JS (LiteSpeed può ritardare gli script). */
.rh-skin .rh-section-head { margin-bottom: 36px; }
.rh-skin__sub--largo { display: none; }
.rh-skin__radio { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.rh-skin__scegli { display: flex; justify-content: center; gap: 12px; margin: 0 auto; }
.rh-skin__tab { min-width: 150px; padding: 14px 38px; text-align: center; font-family: var(--ff-sans); font-size: 15px; font-weight: 500; letter-spacing: .3px; line-height: 1.2; color: var(--bark); background: transparent; border: 1px solid rgba(90,74,66,.3); border-radius: 999px; cursor: pointer; -webkit-tap-highlight-color: transparent; transition: background .25s var(--ease-out), color .25s var(--ease-out), border-color .25s var(--ease-out); }
@media (hover: hover) { .rh-skin__tab:hover { border-color: var(--charcoal); } }
#rh-skin-viso:checked ~ .rh-skin__scegli [for="rh-skin-viso"],
#rh-skin-corpo:checked ~ .rh-skin__scegli [for="rh-skin-corpo"] { background: var(--charcoal); border-color: var(--charcoal); }
#rh-skin-viso:focus-visible ~ .rh-skin__scegli [for="rh-skin-viso"],
#rh-skin-corpo:focus-visible ~ .rh-skin__scegli [for="rh-skin-corpo"] { outline: 2px solid var(--blush-text); outline-offset: 3px; }
.rh-skin__gruppo, .rh-skin__gruppo + .rh-skin__gruppo { display: none; margin-top: 40px; }
#rh-skin-viso:checked ~ .rh-skin__gruppo--viso,
#rh-skin-corpo:checked ~ .rh-skin__gruppo--corpo { display: block; animation: rh-skin-in .35s var(--ease-out); }
.rh-skin__gruppo .rh-skin__area { display: none; }
.rh-skin__altro { display: none; }
.rh-skin__radio:checked ~ .rh-skin__altro { display: block; }
@media (max-width: 899px) {
  .rh-skin { padding: 64px 20px; }
  .rh-skin .rh-section-head { margin-bottom: 28px; }
  .rh-skin__tab { flex: 1; max-width: 170px; min-width: 0; padding: 14px 20px; }
  .rh-skin__gruppo, .rh-skin__gruppo + .rh-skin__gruppo { margin-top: 28px; }
  .rh-skin__card { padding: 24px 22px; }
  .rh-skin__name { font-size: 1.375rem; margin-bottom: 8px; }
  .rh-skin__frase { margin-bottom: 16px; }
  .rh-skin__altro { margin-top: 28px; }
}
@keyframes rh-skin-in { from { opacity: 0; transform: translateY(8px); } }
@media (prefers-reduced-motion: reduce) { .rh-skin__gruppo { animation: none !important; } }

/* === fdl-forme-v1 (03/11/2026) === Forme uguali su tutto il sito (Daniel: «è tutto arrotondato, anche le foto non
   le vedo tutte uguali come riquadro»). Misurato prima: foto a 0/4/8/18/28px, riquadri 0–28px, pulsanti pillola
   tranne «Aggiungi al carrello»/«Leggi tutto» delle card e quello Elementor. Ora: foto e riquadri 16px, pulsanti pillola. */
:root { --fdl-r: 16px; }
/* Foto */
.rh-card-media, .rh-card-media img,
.woocommerce-product-gallery__image, .woocommerce-product-gallery__image img, .woocommerce-product-gallery .flex-viewport,
.rh-about__frame, .rh-gift__visual, .rc-intro__foto, .rn-foto, .rn-foto img,
.elementor-widget-image img { border-radius: var(--fdl-r) !important; }
.woocommerce-product-gallery .flex-viewport, .rn-foto { overflow: hidden; }
/* Pagina di Laura: le foto erano 3:4, 3:4 e 2:3, ora tutte 4:5 come i prodotti */
.page-id-98 .elementor-widget-image img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; height: auto; }
/* Riquadri e scelte */
.rh-skin__card, .rh-about__quote, .rh-review, .rn-scheda, .rn-chiusura, .rh-gc-faq__list,
.rc-opt, .ywgc-amount-buttons { border-radius: var(--fdl-r) !important; }
.rh-gc-faq__list { overflow: hidden; }
/* Pulsanti: pillola, Jost 15px, niente maiuscolo, come quelli della home */
.rh-card .button, .rh-card .added_to_cart, ul.products .button, .woocommerce a.button.add_to_cart_button,
.woocommerce a.button.product_type_simple, .single_add_to_cart_button, .rh-buy-now, .elementor-button {
  border-radius: 999px !important; font-family: var(--ff-sans) !important; font-size: 15px !important;
  font-weight: 500 !important; letter-spacing: .3px !important; text-transform: none !important; }
.single-product .rh-buy-now, .single-product .single_add_to_cart_button { font-size: 15px !important; }


/* fdl-tap-mobile-v2 (03/11/2026): su telefono i link-chip del negozio e quelli legali del footer erano alti 21 e 33px, sotto i 44px del pollice. */
@media (hover: none), (max-width: 768px) {
  .rh-shop-nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .rinascita-footer__legal-links a { padding: 12px 0; }
}

/* === fdl-checkout-elementor-v1 (03/11/2026) === /pagamento/ è il widget checkout di ELEMENTOR
   (non il block checkout, non il classico piatto). Pagina unica, due colonne vere, campi leggibili,
   errori visibili, un solo pulsante forte. Tutto sotto body.woocommerce-checkout. */
body.woocommerce-checkout .rinascita-article__content { max-width: 1120px !important; }
body.woocommerce-checkout .elementor-element-e662d46 { --content-width: 100% !important; --padding-left: 0px; --padding-right: 0px; }
body.woocommerce-checkout .fdl-wa-float,
body.woocommerce-checkout .ppcp-messages,
.elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields { display: none !important; }
.elementor-widget-woocommerce-checkout-page {
  --fdl-campo: #d9cfc4;
  font-family: var(--ff-sans);
}
@media (min-width: 900px) {
  .elementor-widget-woocommerce-checkout-page .e-checkout__container { grid-template-columns: minmax(0, 1.3fr) minmax(340px, 1fr) !important; gap: 56px !important; }
}
/* sezioni piatte: niente scatole nelle scatole */
.elementor-widget-woocommerce-checkout-page .col-1,
.elementor-widget-woocommerce-checkout-page .shipping_address,
.elementor-widget-woocommerce-checkout-page .e-checkout__order_review,
.elementor-widget-woocommerce-checkout-page .e-coupon-box,
.elementor-widget-woocommerce-checkout-page #payment,
.elementor-widget-woocommerce-checkout-page #order_review,
.elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table {
  background: transparent !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; box-shadow: none !important;
}
.elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__column-inner {
  background: var(--warm-white); border-radius: var(--fdl-r, 16px); padding: 28px 28px 32px;
}
.elementor-widget-woocommerce-checkout-page .e-coupon-box,
.elementor-widget-woocommerce-checkout-page #payment { margin-top: 22px !important; padding-top: 22px !important; border-top: 1px solid rgba(90,74,66,.14) !important; }
/* titoli */
.elementor-widget-woocommerce-checkout-page h3,
.elementor-widget-woocommerce-checkout-page #order_review_heading {
  font-family: var(--ff-serif) !important; font-weight: 500 !important; font-size: 28px !important; line-height: 1.2 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: var(--charcoal) !important; margin: 0 0 20px !important;
}
.elementor-widget-woocommerce-checkout-page #ship-to-different-address,
.elementor-widget-woocommerce-checkout-page #ship-to-different-address label {
  font-family: var(--ff-sans) !important; font-size: 16px !important; font-weight: 400 !important; margin: 8px 0 0 !important;
}
/* etichette e campi */
.elementor-widget-woocommerce-checkout-page .form-row label {
  font-family: var(--ff-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important;
  text-transform: none !important; color: var(--bark) !important; margin-bottom: 6px !important;
}
.elementor-widget-woocommerce-checkout-page .form-row .input-text,
.elementor-widget-woocommerce-checkout-page .form-row select,
.elementor-widget-woocommerce-checkout-page .form-row textarea,
.elementor-widget-woocommerce-checkout-page .select2-container .select2-selection {
  font-family: var(--ff-sans) !important; font-size: 16px !important; color: var(--text) !important;
  background: #fff !important; border: 1px solid var(--fdl-campo) !important; border-radius: 12px !important;
  min-height: 50px; padding: 12px 14px !important; box-shadow: none !important; width: 100% !important; max-width: 100%;
}
.elementor-widget-woocommerce-checkout-page .form-row .input-text:focus,
.elementor-widget-woocommerce-checkout-page .form-row select:focus {
  border-color: var(--bark) !important; outline: 0; box-shadow: 0 0 0 3px rgba(158,88,72,.16) !important;
}
/* errori visibili (Woo mette .woocommerce-invalid sulla riga, prima non cambiava niente) */
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid .input-text,
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid select {
  border-color: var(--blush-text) !important; background: #fbf1ee !important;
}
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid-required-field::after,
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid-email:not(.woocommerce-invalid-required-field)::after,
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid-phone:not(.woocommerce-invalid-required-field)::after {
  display: block; margin-top: 6px; font-size: 14px; line-height: 1.4; color: var(--blush-text);
}
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid-required-field::after { content: "Questo campo serve per spedire l'ordine"; }
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid-email:not(.woocommerce-invalid-required-field)::after { content: "Controlla l'email: sembra incompleta"; }
.elementor-widget-woocommerce-checkout-page .form-row.woocommerce-invalid-phone:not(.woocommerce-invalid-required-field)::after { content: "Controlla il numero di telefono"; }
/* scelte grandi da toccare */
.elementor-widget-woocommerce-checkout-page input[type="radio"],
.elementor-widget-woocommerce-checkout-page input[type="checkbox"] { width: 20px !important; height: 20px !important; accent-color: var(--charcoal); flex: none; }
.elementor-widget-woocommerce-checkout-page li.wc_payment_method > label { display: block !important; padding: 10px 0 !important; min-height: 24px; }
.elementor-widget-woocommerce-checkout-page .payment_box { background: #fff !important; border-radius: 12px !important; }
.elementor-widget-woocommerce-checkout-page .woocommerce-terms-and-conditions-wrapper label { display: flex !important; gap: 10px; align-items: flex-start; font-size: 15px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }
.elementor-widget-woocommerce-checkout-page .woocommerce-privacy-policy-text,
.elementor-widget-woocommerce-checkout-page .woocommerce-privacy-policy-text p { font-family: var(--ff-sans) !important; font-weight: 400 !important; font-size: 13px !important; color: var(--muted) !important; }
/* riepilogo: totale chiaro, importi senza a capo */
.elementor-widget-woocommerce-checkout-page .woocommerce-Price-amount { white-space: nowrap; }
.elementor-widget-woocommerce-checkout-page .shop_table th,
.elementor-widget-woocommerce-checkout-page .shop_table td { font-family: var(--ff-sans) !important; color: var(--charcoal) !important; }
.elementor-widget-woocommerce-checkout-page tr.order-total th,
.elementor-widget-woocommerce-checkout-page tr.order-total td,
.elementor-widget-woocommerce-checkout-page tr.order-total .woocommerce-Price-amount { font-family: var(--ff-sans) !important; font-size: 19px !important; font-weight: 600 !important; color: var(--charcoal) !important; }
.elementor-widget-woocommerce-checkout-page .woocommerce-shipping-totals td::after { content: "Gratuita da 100 €"; display: block; font-size: 13px; color: var(--muted); font-weight: 400; }
/* link leggibili (l'oro su bianco era 2,9:1) */
.elementor-widget-woocommerce-checkout-page a,
body.woocommerce-checkout .woocommerce-info a { color: var(--blush-text) !important; }
/* il pulsante: uno, forte, a pillola */
.elementor-widget-woocommerce-checkout-page #place_order {
  width: 100% !important; min-height: 56px !important; height: auto !important; border-radius: 999px !important; border: 0 !important;
  background: var(--charcoal) !important; color: var(--cream) !important;
  font-family: var(--ff-sans) !important; font-size: 16px !important; font-weight: 500 !important; letter-spacing: .02em !important; text-transform: none !important;
  margin-top: 18px !important; transition: opacity .2s var(--ease-out);
}
.elementor-widget-woocommerce-checkout-page #place_order:hover { background: var(--charcoal) !important; color: var(--cream) !important; opacity: .9; }
/* avviso buono regalo sopra il modulo */
body.woocommerce-checkout .rinascita-article__content > .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { font-size: 15px; }
@media (max-width: 899px) {
  .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__column-inner { padding: 22px 18px 26px; }
  .elementor-widget-woocommerce-checkout-page .e-checkout__container { gap: 28px !important; }
  .elementor-widget-woocommerce-checkout-page .form-row-first,
  .elementor-widget-woocommerce-checkout-page .form-row-last { width: 100% !important; float: none !important; }
}
body.woocommerce-checkout .rinascita-main { max-width: 1168px !important; }
body.woocommerce-checkout .rinascita-checkout-reassure { max-width: none !important; }
body.woocommerce-checkout .ywgc_have_code .woocommerce-info { padding: 0 !important; border: 0 !important; background: none !important; font-family: var(--ff-sans) !important; font-weight: 400 !important; font-size: 15px !important; color: var(--bark) !important; }
body.woocommerce-checkout .ywgc_have_code .woocommerce-info::before { display: none !important; }
.elementor-widget-woocommerce-checkout-page .woocommerce-shipping-totals label { color: var(--charcoal) !important; font-weight: 500; }
.elementor-widget-woocommerce-checkout-page .select2-container .select2-selection { padding: 0 14px !important; height: 50px !important; display: flex !important; align-items: center; }
.elementor-widget-woocommerce-checkout-page .select2-container .select2-selection__rendered { line-height: 1.3 !important; padding: 0 28px 0 0 !important; color: var(--text) !important; font-size: 16px !important; }
.elementor-widget-woocommerce-checkout-page .select2-container .select2-selection__arrow { height: 48px !important; top: 0 !important; right: 10px !important; }
.elementor-widget-woocommerce-checkout-page li.wc_payment_method > label { color: var(--charcoal) !important; font-family: var(--ff-sans) !important; font-size: 16px !important; font-weight: 500 !important; }
/* carrello (/carrello/, widget carrello di Elementor): stessa larghezza e stesso pulsante della cassa */
body.woocommerce-cart .rinascita-main { max-width: 1168px !important; }
body.woocommerce-cart .rinascita-article__content { max-width: 1120px !important; }
body.woocommerce-cart .rinascita-article__content .e-con,
body.woocommerce-checkout .rinascita-article__content .e-con { --content-width: 100% !important; --padding-left: 0px; --padding-right: 0px; }
@media (min-width: 900px) {
  .elementor-widget-woocommerce-cart .e-cart__container { grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr) !important; gap: 48px !important; }
}
.elementor-widget-woocommerce-cart .product-thumbnail { width: 88px !important; }
.elementor-widget-woocommerce-cart .product-thumbnail img { width: 72px !important; max-width: 72px !important; height: auto !important; border-radius: 10px !important; }
.elementor-widget-woocommerce-cart .shop_table td,
.elementor-widget-woocommerce-cart .shop_table th { font-family: var(--ff-sans) !important; color: var(--charcoal) !important; }
.elementor-widget-woocommerce-cart .woocommerce-Price-amount { white-space: nowrap; }
.elementor-widget-woocommerce-cart .woocommerce-shipping-totals label { color: var(--charcoal) !important; }
.elementor-widget-woocommerce-cart a:not(.button) { color: var(--blush-text) !important; }
body.woocommerce-cart .checkout-button {
  display: flex !important; align-items: center; justify-content: center; width: 100% !important; min-height: 56px !important; margin: 0 0 14px !important;
  border-radius: 999px !important; border: 0 !important; background: var(--charcoal) !important; color: var(--cream) !important;
  font-family: var(--ff-sans) !important; font-size: 16px !important; font-weight: 500 !important; letter-spacing: .02em !important; text-transform: none !important;
}
body.woocommerce-cart .checkout-button:hover { background: var(--charcoal) !important; color: var(--cream) !important; opacity: .9; }
.elementor-widget-woocommerce-cart button[name="apply_coupon"],
.elementor-widget-woocommerce-cart button[name="update_cart"] {
  border-radius: 999px !important; border: 1px solid rgba(90,74,66,.35) !important; background: transparent !important; color: var(--charcoal) !important;
  font-family: var(--ff-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; min-height: 48px; padding: 0 22px !important;
}
.elementor-widget-woocommerce-cart .coupon .input-text,
.elementor-widget-woocommerce-cart .quantity .qty { font-size: 16px !important; border: 1px solid #d9cfc4 !important; border-radius: 12px !important; background: #fff !important; min-height: 48px; }


/* === fdl-quiz-v2 (03/11/2026) === «Trova il tuo kit»: su telefono la prima domanda stava a due schermate dal titolo
   (titolo, foto tagliata, testo lungo), le scelte erano scritte piccole e il bottone era marrone su fondo scuro (2,6:1). Ora: un solo titolo (quello della pagina resta per i
   lettori di schermo), foto 4:5 accanto al testo (sotto, su telefono), scelte più grandi. La seconda risposta porta
   dritta alla scheda del kit (come la home), senza la pagina «consiglio» in mezzo. */
body.page-id-3149 .rinascita-article__title { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.rq { max-width: 1060px; padding-top: clamp(12px,3vw,40px); }
.rq .rc-eyebrow { margin-bottom: 10px; }
.rq .rc-title--big { margin-bottom: 14px !important; }
.rq .rc-hint { font-size: 17px; line-height: 1.65 !important; margin-bottom: 26px; }
.rq-domanda { margin-top: clamp(26px,3.5vw,40px); padding-top: clamp(24px,3vw,34px); border-top: 1px solid rgba(90,74,66,.16); }
.rq-split { grid-template-columns: minmax(0,1fr); }
@media (min-width: 760px) {
  .rq-split { grid-template-columns: minmax(0,1fr) 340px; gap: clamp(36px,6vw,84px); }
  .rq-foto { position: sticky; top: 120px; }
}
.rq-foto { aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 20%; background: var(--blush-lt); }
@media (max-width: 759px) { .rq-foto { order: 2; aspect-ratio: 4 / 5; max-height: none; width: 100%; } }

.rq .rc-opt { font-size: 19px; line-height: 1.32; padding: 18px 22px; min-height: 66px; gap: 18px; border-color: rgba(90,74,66,.22); }
.rq .rc-opt small { font-size: 13.5px; letter-spacing: .03em; color: var(--bark); }
@media (max-width: 700px) {
  .rq .rc-opt { flex-direction: column; align-items: flex-start; gap: 4px; font-size: 18.5px; padding: 16px 18px; }
  .rq .rc-opt small { display: block; margin: 0; padding: 0; white-space: normal; }
}
.rq .rc-back { font-size: 15px; letter-spacing: .2px; text-transform: none; margin-top: 12px; }

.rq .rc-btn { border-radius: 999px; font-size: 15px; font-weight: 500; letter-spacing: .3px; text-transform: none; padding: 0 30px; min-height: 52px; }
.rq a.rc-btn--primary, .rq a.rc-btn--primary:visited { background: var(--charcoal); color: var(--warm-white) !important; }
.rq a.rc-btn--primary:hover, .rq a.rc-btn--primary:focus-visible { background: var(--blush-text); color: #fff !important; }
/* Il contenitore pagina è 820px: la colonna del testo restava a 300px e le scelte andavano a capo su 3-4 righe. */
body.page-id-3149 .rinascita-main { max-width: 1160px; }
body.page-id-3149 .rinascita-article__content { max-width: none; }
.rq a.rc-opt--out { text-decoration: none; }

/* Scelte con la riga «come lo riconosci»: chi non sa che pelle ha si orienta dalla sensazione, non dall'etichetta. */
.rq .rc-opt__txt { display: block; }
.rq .rc-opt__d { display: block; margin-top: 6px; font-family: var(--ff-sans); font-style: normal; font-size: 14.5px; line-height: 1.5; color: var(--bark); }
.rq-nota { margin: 18px 0 6px; font-size: 15.5px; line-height: 1.6; color: var(--bark); max-width: 56ch; }
.rq a.rc-opt:not(.rc-opt--out) { text-decoration: none; color: var(--charcoal); }

/* === fdl-mail-btn-v1 (03/11/2026) === «Mostra l'email»: .elementor-kit-39 button (0,1,1) vinceva su .rh-mail--link
   (0,1,0) e lo colorava quasi nero: nel footer cacao non si vedeva (contrasto 1,1:1). Ora prende il colore del testo intorno. */
.rh-mail.rh-mail--link,
.rh-mail.rh-mail--link:focus { color: inherit; }
.rh-mail.rh-mail--link:hover { color: var(--blush-text, #9e5848); }
.rinascita-footer .rh-mail.rh-mail--link:hover { color: inherit; text-decoration-thickness: 2px; }

/* === fdl-checkout-a11y-v1 (03/11/2026) === la riga del coupon era nel grigio di Elementor (#69727d, 4,3:1);
   i titoli della cassa diventano h2 in rinascita.js (dopo «Pagamento» h1 c'erano h3): stesso aspetto di prima. */
.e-woocommerce-coupon-nudge { color: var(--bark) !important; }
.elementor-widget-woocommerce-checkout-page h2 {
  font-family: var(--ff-serif) !important; font-weight: 500 !important; font-size: 28px !important; line-height: 1.2 !important;
  letter-spacing: 0 !important; text-transform: none !important; color: var(--charcoal) !important; margin: 0 0 20px !important;
}

/* === fdl-mail-btn-v2 (03/11/2026) === lo stesso .elementor-kit-39 button dava anche il carattere: «Mostra l'email»
   usciva in serif grande accanto al telefono. Prende il carattere del testo intorno. */
.rh-mail.rh-mail--link { font: inherit; letter-spacing: inherit; text-transform: inherit; }

/* === fdl-popup-centro-v1 (03/11/2026, Daniel) === il popup «Ricevi il 10% di sconto» (Elementor 1084) stava in basso
   a destra, sotto il pulsante WhatsApp e sopra il footer: al centro dello schermo, con 16px di margine sul telefono. */
#elementor-popup-modal-1084 { justify-content: center !important; align-items: center !important; }
#elementor-popup-modal-1084 .dialog-widget-content {
  position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
  margin: 16px !important; max-width: calc(100vw - 32px);
}

/* === fdl-buy-now-wa-v1 (03/11/2026, Daniel) === «Compra ora» al passaggio del mouse diventava nero su nero:
   .elementor-kit-39 button:hover gli dava il testo #1d1d1d sopra lo sfondo charcoal. E sotto il pulsante verde
   .fdl-wa-float c'era anche quello del tema (quadrato scuro dietro, emoji rotta nel messaggio): ne resta uno, il verde. */
.elementor-kit-39 .rh-buy-now:hover, .elementor-kit-39 .rh-buy-now:focus-visible { color: var(--cream) !important; }
.rinascita-wa { display: none !important; }

/* === fdl-ritual-v2 (03/11/2026, Daniel: «sottotono, smorta») === i 4 gesti: numero oro grande, etichetta di cosa
   usare, filo oro sopra ogni gesto, fondo sabbia che la stacca dalle recensioni, tasto «Trova il tuo kit» in fondo.
   Su telefono numero a sinistra e testo a destra. Markup in index.php (.rh-step__num/.rh-step__cue/.rh-ritual__cta). */
.rh-ritual { background: #f3ece4; padding: 112px 24px 104px; }
.rh-ritual::before { display: none; }
.rh-ritual .rh-ritual__steps { grid-template-columns: repeat(4, 1fr); gap: 0 40px; max-width: 1180px; margin: 72px auto 0; }
.rh-ritual .rh-step { flex-direction: column; align-items: flex-start; padding: 28px 0 0; border-top: 1px solid rgba(200,169,110,.6); }
.rh-ritual .rh-step__num {
  width: auto; height: auto; border: 0; border-radius: 0; background: none; display: block;
  font-family: var(--ff-serif); font-style: italic; font-weight: 400; font-size: 88px; line-height: .8;
  color: var(--gold); margin: 0 0 28px;
}
.rh-ritual .rh-step__cue {
  display: block; font-family: var(--ff-sans); font-size: 12px; font-weight: 500; letter-spacing: .18em;
  text-transform: uppercase; color: var(--blush-text); margin: 0 0 10px;
}
.rh-ritual .rh-step__title { font-size: 28px; line-height: 1.15; margin: 0 0 14px; }
.rh-ritual .rh-step__desc { font-size: 16px; line-height: 1.7; color: var(--text); }
.rh-ritual__cta { position: relative; z-index: 1; margin-top: 64px; text-align: center; }
.rh-ritual__cta .rinascita-btn--primary { width: auto; padding: 16px 44px; }
@media (max-width: 1024px) {
  .rh-ritual .rh-ritual__steps { grid-template-columns: repeat(2, 1fr); gap: 56px 40px; }
}
@media (max-width: 768px) {
  .rh-ritual { padding: 72px 20px 64px; }
  .rh-ritual .rh-ritual__steps { grid-template-columns: 1fr; gap: 0; margin-top: 40px; }
  .rh-ritual .rh-step { flex-direction: row; gap: 18px; padding: 28px 0; }
  .rh-ritual .rh-step:last-child { border-bottom: 1px solid rgba(200,169,110,.6); }
  .rh-ritual .rh-step__num { font-size: 60px; width: 44px; flex: none; margin: 0; }
  .rh-ritual .rh-step__title { font-size: 26px; }
  .rh-ritual__cta { margin-top: 40px; }
  .rh-ritual__cta .rinascita-btn--primary { width: 100%; }
}

/* === fdl-wa-brand-v1 (03/11/2026, Daniel) === il pulsante WhatsApp nei colori del sito: cacao con il simbolo oro,
   all'hover oro con il simbolo cacao. Il pulsante è .fdl-wa-float (non è del tema), quello del tema resta nascosto. */
.fdl-wa-float {
  background: var(--charcoal) !important; box-shadow: 0 8px 24px rgba(44,36,32,.28), inset 0 0 0 1px rgba(200,169,110,.45) !important;
  transition: background .25s, transform .2s var(--ease-out) !important;
}
.fdl-wa-float svg, .fdl-wa-float svg path { fill: var(--gold) !important; transition: fill .25s; }
.fdl-wa-float:hover, .fdl-wa-float:focus-visible { background: var(--gold) !important; transform: translateY(-2px); }
.fdl-wa-float:hover svg, .fdl-wa-float:hover svg path, .fdl-wa-float:focus-visible svg, .fdl-wa-float:focus-visible svg path { fill: var(--charcoal) !important; }

/* === fdl-home-v3 (03/11/2026, Daniel: revisione della home) ===
   1) «La mia storia» era un bottone cacao sulla fascia cacao: invisibile. Ora oro.
   2) nomi prodotto con text-transform:capitalize («Bava Di Lumaca — 30 Ml»): si scrivono come in catalogo.
   3) «Vedi tutti i prodotti» aveva il bordo quasi trasparente.
   4) striscia crema vuota fra newsletter e footer (margin-top del footer) e «Recedere dal contratto» su fondo chiaro
      sotto il footer: il link resta ben visibile (è il pulsante di recesso), ma dentro il fondo del footer.
   5) «Raccontami la tua pelle»: Viso e Corpo da pillole piccole a due riquadri con foto. */
.rh-about .rinascita-btn--primary { width: auto; display: inline-block; padding: 16px 44px; background: var(--gold); color: var(--charcoal); }
.rh-about .rinascita-btn--primary:hover, .rh-about .rinascita-btn--primary:focus-visible { background: var(--cream); color: var(--charcoal); }
.elementor-kit-39 .rh-about a.rinascita-btn--primary, .elementor-kit-39 .rh-about a.rinascita-btn--primary:hover { color: var(--charcoal); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { text-transform: none !important; }
.rh-featured__more .rinascita-btn--ghost { border: 1px solid var(--charcoal); color: var(--charcoal); padding: 15px 40px; }
.rh-featured__more .rinascita-btn--ghost:hover { background: var(--charcoal); color: var(--cream); }
body.home .rinascita-footer { margin-top: 0; }
.rr-footer-link { background: var(--charcoal); margin: 0; padding: 0 24px 28px; text-align: center; }
.rr-footer-link a { color: rgba(250,247,244,.78); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.rr-footer-link a:hover { color: var(--gold); }

.rh-skin .rh-skin__scegli { display: grid; grid-template-columns: repeat(2, minmax(0, 400px)); justify-content: center; gap: 24px; margin: 8px auto 0; }
.rh-skin .rh-skin__tab {
  position: relative; display: flex; align-items: flex-end; justify-content: flex-start; min-width: 0; max-width: none;
  aspect-ratio: 4 / 5; padding: 28px; border: 0; border-radius: 16px; overflow: hidden; text-align: left;
  font-family: var(--ff-serif); font-size: 36px; font-weight: 400; letter-spacing: 0; line-height: 1; color: var(--cream);
  background-size: cover; background-position: center; box-shadow: 0 10px 30px rgba(44,36,32,.12);
  transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out), opacity .3s;
}
.rh-skin .rh-skin__tab::after {
  content: 'Scegli \2192'; position: absolute; right: 28px; bottom: 32px; font-family: var(--ff-sans); font-size: 13px;
  font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--cream);
}
.rh-skin .rh-skin__tab[for="rh-skin-viso"] { background-image: linear-gradient(180deg, rgba(44,36,32,0) 45%, rgba(44,36,32,.62) 100%), url('https://rinascita.shop/wp-content/uploads/2026/11/rinascita-kit-matura.webp'); }
.rh-skin .rh-skin__tab[for="rh-skin-corpo"] { background-image: linear-gradient(180deg, rgba(44,36,32,0) 45%, rgba(44,36,32,.62) 100%), url('https://rinascita.shop/wp-content/uploads/2026/11/rinascita-kit-detox.webp'); }
@media (hover: hover) { .rh-skin .rh-skin__tab:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(44,36,32,.18); } }
#rh-skin-viso:checked ~ .rh-skin__scegli [for="rh-skin-viso"],
#rh-skin-corpo:checked ~ .rh-skin__scegli [for="rh-skin-corpo"] { background-color: transparent; color: var(--cream); outline: 2px solid var(--gold); outline-offset: 5px; }
#rh-skin-viso:checked ~ .rh-skin__scegli [for="rh-skin-viso"] { background-image: linear-gradient(180deg, rgba(44,36,32,0) 45%, rgba(44,36,32,.62) 100%), url('https://rinascita.shop/wp-content/uploads/2026/11/rinascita-kit-matura.webp'); background-size: cover; background-position: center; }
#rh-skin-corpo:checked ~ .rh-skin__scegli [for="rh-skin-corpo"] { background-image: linear-gradient(180deg, rgba(44,36,32,0) 45%, rgba(44,36,32,.62) 100%), url('https://rinascita.shop/wp-content/uploads/2026/11/rinascita-kit-detox.webp'); background-size: cover; background-position: center; }
#rh-skin-viso:checked ~ .rh-skin__scegli [for="rh-skin-corpo"],
#rh-skin-corpo:checked ~ .rh-skin__scegli [for="rh-skin-viso"] { opacity: .55; }
#rh-skin-viso:checked ~ .rh-skin__scegli [for="rh-skin-viso"]::after,
#rh-skin-corpo:checked ~ .rh-skin__scegli [for="rh-skin-corpo"]::after { content: '\2193'; letter-spacing: 0; font-size: 18px; }
@media (max-width: 768px) {
  .rh-skin .rh-skin__scegli { grid-template-columns: 1fr 1fr; gap: 12px; }
  .rh-skin .rh-skin__tab { padding: 16px; font-size: 26px; border-radius: 12px; flex: none; }
  .rh-skin .rh-skin__tab::after { right: 16px; bottom: 19px; font-size: 11px; letter-spacing: .1em; content: '\2192'; font-size: 16px; }
}

/* === fdl-hero-prodotti-v1 (03/11/2026, Daniel) === la foto di apertura era una modella giovane di repertorio:
   ora la routine anti-age vera (latte, tonico, siero, crema antirughe), prodotti nel terzo destro, parete crema a sinistra
   dove sta il testo. Media 3303. */
.rh-hero__bg { background-image: url('https://rinascita.shop/wp-content/uploads/2026/11/rinascita-home-apertura.webp'); background-position: right center; }
@media (min-width: 769px) { .rh-hero__bg { background-size: auto 100%; background-position: right bottom; background-repeat: no-repeat; background-color: #ede6dd; transform: none; } }

/* === fdl-footer-senza-striscia-v1 (03/11/2026) === Le pagine che chiudono con una fascia a tutta larghezza
   (Laura Ruta, Regali di Natale, carrello) lasciavano 64px di crema fra la fascia e il footer. Come in home,
   il footer parte subito. Le altre pagine finiscono sul crema e tengono i 64px. */
body.page-id-98 .rinascita-footer, body.page-id-3061 .rinascita-footer, body.woocommerce-cart .rinascita-footer { margin-top: 0; }

/* =======================================================================
   ORDINE RICEVUTO (04/11/2026) — /pagamento/order-received/<id>/
   Era la pagina grezza di Woo dentro il widget Elementor: titolo in Roboto,
   cinque dati grigi in fila, tabella sgranata, due pulsanti di recesso con
   testo rosa su cacao. Una colonna sola, i colori e i caratteri di Rinascita.
   ========================================================================== */
body.rinascita .woocommerce-order {
	max-width: 46rem;
	margin: 0 auto;
	padding: 1rem 0 3rem;
	font-family: var(--ff-sans) !important;
	color: var(--text);
}
body.rinascita .woocommerce-order * { font-family: inherit; }

/* Il grazie */
body.rinascita .woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--ff-serif) !important;
	font-size: clamp(2rem, 1.4rem + 2.4vw, 2.9rem) !important;
	font-weight: 500 !important;
	line-height: 1.1 !important;
	color: var(--text) !important;
	text-align: center;
	text-wrap: balance;
	margin: 0 0 2.25rem !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}
body.rinascita .woocommerce-order .woocommerce-thankyou-order-received::before { content: none !important; }

/* I dati dell'ordine: griglia, etichetta piccola sopra, valore sotto */
body.rinascita .woocommerce-order ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
	gap: 1.25rem 1.5rem;
	list-style: none;
	margin: 0 0 3rem !important;
	padding: 1.5rem 1.75rem !important;
	background: var(--warm-white);
	border: 1px solid var(--border);
	border-radius: 14px;
}
body.rinascita .woocommerce-order ul.woocommerce-order-overview::before,
body.rinascita .woocommerce-order ul.woocommerce-order-overview::after { content: none !important; display: none !important; }
body.rinascita .woocommerce-order ul.woocommerce-order-overview li.email { grid-column: span 2; }
body.rinascita .woocommerce-order ul.woocommerce-order-overview li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	float: none !important;
	font-size: .7rem !important;
	font-weight: 500 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted, #5c504a) !important;
	line-height: 1.4;
	min-width: 0;
}
body.rinascita .woocommerce-order ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: .35rem;
	font-size: 1rem !important;
	font-weight: 500 !important;
	letter-spacing: normal;
	text-transform: none;
	color: var(--text) !important;
	overflow-wrap: break-word;
}

/* Titoli di sezione */
body.rinascita .woocommerce-order h2 {
	font-family: var(--ff-serif) !important;
	font-size: 1.75rem !important;
	font-weight: 500 !important;
	line-height: 1.2;
	color: var(--text) !important;
	margin: 0 0 1rem !important;
}

/* La tabella del dettaglio: righe sottili, importi a destra */
body.rinascita .woocommerce-order table.shop_table {
	width: 100%;
	border-collapse: collapse;
	border: 0 !important;
	margin: 0 0 1.5rem !important;
	background: none !important;
}
body.rinascita .woocommerce-order table.shop_table th,
body.rinascita .woocommerce-order table.shop_table td {
	padding: .8rem 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(46,36,32,.1) !important;
	background: none !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: var(--text) !important;
	text-align: left;
	vertical-align: top;
	line-height: 1.5;
}
body.rinascita .woocommerce-order table.shop_table tfoot th { font-weight: 500 !important; }
body.rinascita .woocommerce-order table.shop_table td:last-child,
body.rinascita .woocommerce-order table.shop_table th.product-total { text-align: right; }
body.rinascita .woocommerce-order table.shop_table thead th {
	font-size: .7rem !important;
	font-weight: 500 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted, #5c504a) !important;
	padding-bottom: .6rem !important;
}
body.rinascita .woocommerce-order table.shop_table td a { color: var(--text) !important; text-decoration: none; }
body.rinascita .woocommerce-order table.shop_table td.product-name { font-weight: 500 !important; }
body.rinascita .woocommerce-order table.shop_table .product-quantity { font-weight: 400; color: var(--muted, #5c504a); }
body.rinascita .woocommerce-order table.shop_table small,
body.rinascita .woocommerce-order table.shop_table .shipped_via { display: block; font-size: .85rem !important; color: var(--muted, #5c504a); }
/* Il totale: la riga che conta */
body.rinascita .woocommerce-order table.shop_table tfoot tr:has(.woocommerce-Price-amount) th,
body.rinascita .woocommerce-order table.shop_table tfoot tr:has(.woocommerce-Price-amount) td { white-space: nowrap; }
body.rinascita .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) th,
body.rinascita .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) td {
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	border-bottom: 0 !important;
	padding-top: 1.1rem !important;
}
body.rinascita .woocommerce-order table.shop_table tfoot tr:nth-last-child(2) .includes_tax {
	display: block; font-size: .8rem; font-weight: 400; color: var(--muted, #5c504a);
}
/* Riga «Azioni»: niente etichetta, pulsanti a sinistra */
body.rinascita .woocommerce-order table.shop_table tfoot tr:last-child th { display: none; }
body.rinascita .woocommerce-order table.shop_table tfoot tr:last-child td {
	text-align: left !important;
	border-bottom: 0 !important;
	padding-top: 1.25rem !important;
	display: flex; flex-wrap: wrap; gap: .6rem;
}
/* Il recesso compariva due volte (riga Azioni + pulsante del plugin): resta quello con il testo per esteso. */
body.rinascita .woocommerce-order a.woocommerce-button.rr_recesso { display: none !important; }
body.rinascita .woocommerce-order section.woocommerce-order-details > p:has(.rr-button) { margin: 0 0 1.5rem; }

/* Pulsanti: contorno cacao, testo leggibile */
body.rinascita .woocommerce-order a.button,
body.rinascita .woocommerce-order a.woocommerce-button {
	display: inline-flex !important;
	align-items: center;
	min-height: 2.75rem;
	padding: 0 1.25rem !important;
	background: transparent !important;
	border: 1px solid var(--charcoal) !important;
	border-radius: 999px !important;
	color: var(--charcoal) !important;
	font-size: .85rem !important;
	font-weight: 500 !important;
	letter-spacing: .04em !important;
	text-transform: none !important;
	text-decoration: none !important;
	line-height: 1 !important;
	transition: background-color .2s var(--ease-out), color .2s var(--ease-out);
}
body.rinascita .woocommerce-order a.button:hover,
body.rinascita .woocommerce-order a.woocommerce-button:hover {
	background: var(--charcoal) !important;
	color: var(--cream) !important;
}

/* Codice fiscale: stessa tabella, valore a destra come gli importi ma vicino */
body.rinascita .woocommerce-order table.woocommerce-table--custom-fields { margin-top: 0 !important; }
body.rinascita .woocommerce-order table.woocommerce-table--custom-fields th { color: var(--muted, #5c504a) !important; font-weight: 400 !important; }

/* Indirizzi */
body.rinascita .woocommerce-order .woocommerce-customer-details { margin-top: 2.5rem; }
body.rinascita .woocommerce-order .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: 2rem;
}
body.rinascita .woocommerce-order .woocommerce-columns--addresses::before,
body.rinascita .woocommerce-order .woocommerce-columns--addresses::after { content: none !important; display: none !important; }
body.rinascita .woocommerce-order .woocommerce-columns--addresses > * { width: auto !important; float: none !important; margin: 0 !important; }
body.rinascita .woocommerce-order .woocommerce-columns--addresses h2 { font-size: 1.35rem !important; }
body.rinascita .woocommerce-order address {
	font-style: normal;
	font-size: 1rem !important;
	line-height: 1.7;
	padding: 0 !important;
	border: 0 !important;
	color: var(--text);
}
body.rinascita .woocommerce-order address p { margin: .5rem 0 0; font-size: 1rem !important; }

@media (max-width: 600px) {
	body.rinascita .woocommerce-order ul.woocommerce-order-overview { grid-template-columns: 1fr 1fr; padding: 1.25rem !important; }
	body.rinascita .woocommerce-order ul.woocommerce-order-overview li.email { grid-column: 1 / -1; }
}

/* fdl-gift-logo-v1 (04/11/2026, Daniel): sulla Gift Card della home il logo vero del centro al posto del fiore disegnato. */
.rh-gift__visual { background-image: repeating-linear-gradient(45deg, rgba(214,180,120,.03) 0 1px, transparent 1px 8px), radial-gradient(125% 120% at 28% 12%, #38271b 0%, #261a11 52%, #1a110a 100%); background-size: auto; background-position: 0 0; }
.rh-gift__logo { position: absolute; top: 22px; right: 24px; z-index: 3; width: 44px; height: 44px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px rgba(199,165,107,.5); }
