/* ============================================================
   Elicandra — ritocchi SOLO per telefono (10/10/2026)
   Questo foglio è collegato con media="(max-width: 599px)" (includes/header.php):
   su schermi più larghi il browser lo ignora, quindi desktop e tablet non cambiano.
   Regole: margini laterali 20px, testo ≥16px (le micro-etichette ≥13px),
   aree toccabili ≥44px, titoli H1 34–40px / H2 28–30px, niente decorazioni sopra testi o foto.
   ============================================================ */

html body { font-size: 16px; letter-spacing: 0; }

/* ── Header e menu laterale ─────────────────────────────── */
.hamburger { width: 48px; height: 48px; padding: 0 10px; justify-content: center; gap: 6px; margin-left: -10px; }
.hamburger span { width: 24px; }
.navbar__center .site-logo a { display: inline-flex; align-items: center; min-height: 48px; }
/* ── Menu a tutto schermo (14/10/2026) ───────────────────────
   Fondo crema del sito, testo verde scuro, voci in serif; entra da sinistra, dal lato dell'hamburger (niente movimento con prefers-reduced-motion). */
.mobile-drawer {
  --mn-verde: #04211A; --mn-verde-2: #0E3B2E; --mn-bronzo: #8A5A2B; --mn-filo: rgba(138, 90, 43, 0.32);
  left: 0; right: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh;
  padding: 0 20px calc(24px + env(safe-area-inset-bottom));
  background: var(--sito-bg, #FAF8F4); color: var(--mn-verde);
  display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain;
  transform: translateX(-100%); visibility: hidden;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.4s;
}
.mobile-drawer.open { transform: none; visibility: visible; transition-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .mobile-drawer, .mobile-drawer.open { transition: none; } }
.drawer-overlay, .drawer-overlay.active { display: none; }   /* a tutto schermo non serve lo sfondo scuro */

.mobile-drawer .drawer-top { display: grid; grid-template-columns: 48px 1fr 48px; align-items: center; min-height: 72px; padding-top: env(safe-area-inset-top); flex: 0 0 auto; }
.mobile-drawer .drawer-brand { grid-column: 2; justify-self: center; display: inline-flex; align-items: center; min-height: 48px; text-decoration: none; }
.mobile-drawer .drawer-brand .logo-text { font-size: 20px; color: var(--mn-verde); }
.mobile-drawer .drawer-close {
  position: static; grid-column: 3; justify-self: end; width: 48px; height: 48px; margin-right: -12px;
  display: flex; align-items: center; justify-content: center; font-size: 22px; color: var(--mn-verde);
}

.mobile-drawer .drawer-nav { list-style: none; margin: 8px 0 0; padding: 0; border-top: 1px solid var(--mn-filo); flex: 0 0 auto; }
.mobile-drawer .drawer-nav li { margin: 0; border-bottom: 1px solid var(--mn-filo); }
.mobile-drawer .drawer-nav li a {
  display: flex; align-items: center; min-height: 68px; padding: 10px 0;
  font-family: 'Cormorant Garamond', Georgia, 'Times New Roman', serif; font-size: 32px; font-weight: 500; line-height: 1.1;
  letter-spacing: 0; color: var(--mn-verde); text-decoration: none; text-wrap: balance;
}
.mobile-drawer .drawer-nav li a:active { opacity: .6; }
.mobile-drawer .drawer-nav li a.is-current::after { content: ""; flex: none; width: 8px; height: 8px; margin-left: 14px; border-radius: 50%; background: var(--mn-bronzo); }

/* i selettori a tendina del pannello laterale: sul telefono ci sono le pillole */
.mobile-drawer .drawer-language, .mobile-drawer .drawer-currency { display: none; }
.mobile-drawer .drawer-group { display: block; margin-top: 26px; flex: 0 0 auto; }
.mobile-drawer .drawer-label { margin: 0 0 10px; font-size: 12px; font-weight: 500; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mn-bronzo); }
.mobile-drawer .drawer-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.mobile-drawer .drawer-pill {
  display: inline-flex; align-items: center; justify-content: center; min-width: 64px; min-height: 44px; padding: 0 18px;
  border: 1px solid rgba(4, 33, 26, 0.35); border-radius: 999px; background: transparent; color: var(--mn-verde);
  font: 500 15px/1 'Inter', sans-serif; letter-spacing: 0.06em; text-decoration: none; cursor: pointer; -webkit-appearance: none; appearance: none;
}
.mobile-drawer .drawer-pill.is-active { background: var(--mn-verde); border-color: var(--mn-verde); color: #fff; }

.mobile-drawer .drawer-foot { display: block; margin-top: auto; padding-top: 30px; flex: 0 0 auto; }
.mobile-drawer .drawer-wa {
  display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 56px; padding: 0 20px;
  border-radius: 999px; background: var(--mn-verde); color: #fff; text-decoration: none;
  font-size: 16px; font-weight: 500; letter-spacing: 0; text-align: center;
  box-shadow: 0 1px 2px rgba(4, 33, 26, .16), 0 6px 14px -8px rgba(4, 33, 26, .4);
}
.mobile-drawer .drawer-wa:active { background: var(--mn-verde-2); }
.mobile-drawer .drawer-contact { margin: 14px 0 0; display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: 14px; line-height: 1.4; color: var(--mn-verde); text-align: center; }
.mobile-drawer .drawer-contact a { display: inline-flex; align-items: center; min-height: 44px; color: var(--mn-verde); text-decoration: underline; text-underline-offset: 4px; }
.mobile-drawer .drawer-contact span { opacity: .8; }


/* ── Footer ─────────────────────────────────────────────── */
.footer { padding: 14px 20px calc(14px + env(safe-area-inset-bottom)); }
.footer__copy { font-size: 14px; line-height: 1.5; }
.footer .footer__link { display: inline-block; padding: 12px 4px; font-size: 14px; }
.footer:has(+ .wa-bar) { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }

/* ── Barra WhatsApp fissa (scheda e contatti; la landing ha la sua) ── */
.wa-bar {
  display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90;
  padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
  background: rgba(250, 248, 244, 0.96); border-top: 1px solid #E6DED2;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.wa-bar__btn {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; border-radius: 999px; background: #04211A; color: #fff;
  font-size: 16px; font-weight: 500; letter-spacing: 0; text-decoration: none;
  box-shadow: 0 1px 2px rgba(4, 33, 26, .16), 0 6px 14px -8px rgba(4, 33, 26, .4);
}
.wa-bar__btn:active { background: #0E3B2E; }

/* ── HOME ───────────────────────────────────────────────── */
.hm-root .hm-hero__inner { padding: 32px 20px 36px; }
.hm-root .hm-eyebrow { font-size: 13px; }
.hm-root .hm-hero__title { font-size: 38px; line-height: 1.12; margin-top: 18px; }
html[lang='de'] .hm-root .hm-hero__title { font-size: 32px; }
html[lang='fr'] .hm-root .hm-hero__title { font-size: 35px; }
.hm-root .hm-hero__text { font-size: 16px; line-height: 1.6; margin-top: 18px; max-width: 34em; }
.hm-root .hm-hero__ctas { flex-direction: column; align-items: stretch; gap: 6px; margin-top: 24px; }
.hm-root .hm-hero__ctas .hm-btn { width: 100%; justify-content: center; min-height: 54px; font-size: 16px; }
.hm-root .hm-hero__ctas .hm-link { display: flex; align-items: center; justify-content: center; min-height: 48px; font-size: 16px; border-bottom: 0; text-decoration: underline; text-underline-offset: 5px; }
.hm-root .hm-points { gap: 14px; margin-top: 22px; }
.hm-root .hm-points li span, .hm-root .hm-points span { font-size: 16px; line-height: 1.4; }
.hm-root .hm-hero__stamp { display: none; }   /* timbro decorativo: tolto su telefono */
.hm-root .hm-hero__media { height: auto; aspect-ratio: 900 / 692; }

.hm-root .hm-collection { padding: 40px 0 56px; }
.hm-root .hm-collection__head h2 { font-size: 30px; line-height: 1.15; }
.hm-root #cat-root { padding: 28px 16px 0; }

/* barra strumenti: ricerca sempre visibile, "Filtri" apre il pannello con marca e ordinamento */
.hm-root .hm-toolbar { grid-template-columns: 1fr auto; gap: 12px; margin-bottom: 22px; align-items: stretch; }
.hm-root .hm-search { order: 1; grid-column: 1 / -1; height: 52px; }
.hm-root .hm-search input { font-size: 16px; }
.hm-root .hm-filters-btn {
  order: 2; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 0 18px; border: 1px solid var(--hm-hair); border-radius: 6px;
  background: #fff; color: #1b1b1b; font: 500 16px/1 var(--hm-sans); cursor: pointer;
}
.hm-root .hm-filters-btn[aria-expanded="true"] { border-color: #071a14; }
.hm-root .hm-filters-btn__n { min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #071a14; color: #fff; font: 500 13px/22px var(--hm-sans); text-align: center; }
.hm-root .hm-filters-btn__n[hidden] { display: none; }
.hm-root .hm-toolbar .hm-views { order: 3; grid-column: 2 / 3; gap: 8px; }
.hm-root .hm-view { width: 48px; height: 48px; }
.hm-root .hm-toolbar .hm-field { order: 4; grid-column: 1 / -1; display: none; }
.hm-root .hm-toolbar.is-filters-open .hm-field { display: block; }
.hm-root .hm-field label { font-size: 13px; letter-spacing: 0.12em; }
.hm-root .hm-select select { height: 52px; font-size: 16px; }
.hm-root .hm-toolbar .hm-count { order: 5; grid-column: 1 / -1; font-size: 14px; }

.hm-root .cat-grid { gap: 22px; }
.hm-root .cat-card__ref { font-size: 14px; }
.hm-root .cat-card__cur { font-size: 14px; }
.hm-root .cat-card__badge { font-size: 13px; }

/* Collezione su telefono (14/10/2026): 2 card per riga, compatte. La vista a elenco resta com'è (selettore :not). */
.hm-root .cat-grid:not([data-view="list"]) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.hm-root .cat-grid:not([data-view="list"]) .cat-card__body { padding: 10px 12px 12px; }
.hm-root .cat-grid:not([data-view="list"]) .cat-card__name {
  font-size: 15px; line-height: 1.25;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;   /* max 2 righe, poi … */
}
.hm-root .cat-grid:not([data-view="list"]) .cat-card__ref { margin-top: 2px; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hm-root .cat-grid:not([data-view="list"]) .cat-card__price { padding-top: 8px; font-size: 15px; font-weight: 600; }
.hm-root .cat-grid:not([data-view="list"]) .cat-card__cur { margin-right: 3px; font-size: 12px; }
.hm-root .cat-grid:not([data-view="list"]) .cat-card__arrow { display: none; }   /* tutta la card resta cliccabile */
.hm-root .cat-grid:not([data-view="list"]) .cat-card__badge { left: 8px; top: 8px; padding: 4px 9px; font-size: 12px; letter-spacing: 0.08em; }
.hm-root .cat-more { margin-top: 28px; }
.hm-root .cat-more .hm-btn { width: 100%; justify-content: center; min-height: 54px; font-size: 16px; }

/* ── SCHEDA OROLOGIO ────────────────────────────────────── */
.product-layout { width: 100%; box-sizing: border-box; padding: 0 20px 36px; margin: 20px 0 0; gap: 22px; }
.product__media-wrapper { overflow: visible; min-width: 0; }   /* senza questo la foto a tutta larghezza veniva tagliata di 20px per lato */
.product-gallery__stage { margin-inline: -20px; width: calc(100% + 40px); }
.product-gallery__arrow { width: 44px; height: 44px; }
.product-gallery__thumb { width: 68px; height: 68px; }
.product__info-wrapper { padding-left: 0; }
.product-info__brand { font-size: 14px; letter-spacing: 0.18em; }
.product-info__title { font-size: 30px; line-height: 1.15; }
.product-info__ref { font-size: 14px; }
.product-info__price { font-size: 28px; font-weight: 500; }
.product-info__price-ref { font-size: 14px; }
.product-info__pill { font-size: 13px; padding: 6px 12px; }
.product-details dt { font-size: 14px; letter-spacing: 0.08em; }
.product-details dd { font-size: 16px; line-height: 1.5; }
.product-info__desc { font-size: 16px; line-height: 1.6; }
.product-enquire-link { display: flex; align-items: center; justify-content: center; min-height: 52px; font-size: 16px; }

/* ── LANDING VENDI-OROLOGIO ─────────────────────────────── */
.vo-hero2 { --g: 20px; }
.vo-root .vo-eyebrow, .vo-faq2__eyebrow, .vo-story__eyebrow { font-size: 13px; }
.vo-root .vo-hero2__title { font-size: 38px; line-height: 1.12; }
html[lang='de'] .vo-root .vo-hero2__title { font-size: 33px; }
html[lang='fr'] .vo-root .vo-hero2__title { font-size: 35px; }
.vo-root .vo-hero2__subtitle { font-size: 16px; margin-top: 20px; }
.vo-btn--hero { min-height: 56px; font-size: 16px; }
.vo-root .vo-hero2__notes { flex-direction: column; flex-wrap: nowrap; gap: 8px; font-size: 13px; letter-spacing: 0.12em; }
.vo-hero2__notes li { padding-left: 16px; }
.vo-root .vo-privacy-note a, .vo-privacy-note a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.vo-hero2__ring { display: none; }                        /* scritta circolare decorativa: tolta su telefono */
.vo-hero2__panel { display: none; }                       /* pannello verde decorativo dietro la foto */
.vo-root .vo-photo--hero { margin-right: 0; }
.vo-root .vo-guarantees { margin: 12px 0 0; padding: 4px 0; grid-template-columns: 1fr; box-shadow: none; background: var(--vo-card); }
.vo-guarantees li { flex-direction: row; justify-content: flex-start; gap: 16px; padding: 14px 18px; text-align: left; font-size: 16px; }
.vo-guarantees li + li { border-left: 0; border-top: 1px solid var(--vo-hair); }

.vo-process { padding: 40px 0 48px; }
.vo-process .vo-shell, .vo-brands2 .vo-shell { padding-inline: 20px; }
.vo-root .vo-process__title, .vo-root .vo-faq2__title, .vo-root .vo-cta2__title { font-size: 30px; line-height: 1.15; }
.vo-root .vo-cta2__text { font-size: 16px; }
.vo-mobile-bar .vo-btn { font-size: 16px; }
.vo-process__more { min-height: 44px; font-size: 16px; padding-bottom: 0; align-items: center; }
.vo-root .vo-reviews__label { font-size: 13px; letter-spacing: 0.1em; }
.vo-reviews__count { font-size: 14px; }
.vo-root .vo-steps2__title { font-size: 18px; }
.vo-root .vo-steps2__text { font-size: 16px; line-height: 1.55; }
.vo-steps2__item { gap: 16px; padding: 22px 0; }

.vo-root .vo-brands2__label { font-size: 13px; max-width: none; }
.vo-brands2__item { min-height: 76px; }
.vo-root .vo-brands2__note { font-size: 13px; line-height: 1.5; }

.vo-story__text { padding: 28px 20px 32px; }
.vo-root .vo-story__text p { font-size: 16px; }
.vo-faq2 { padding: 40px 20px 36px; }
.vo-faq2__list summary { min-height: 56px; padding-block: 14px; font-size: 20px; }
.vo-root .vo-faq2__list details p { font-size: 16px; line-height: 1.6; }
.vo-faq2__all { min-height: 48px; font-size: 16px; }

.vo-cta2 .vo-btn { min-height: 56px; font-size: 16px; }
/* barra WhatsApp della landing: lo spazio sotto è del footer, niente fascia vuota dopo */
.vo-has-mobile-bar { padding-bottom: 0; }
.vo-has-mobile-bar .footer { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }

/* ── CONTATTI ───────────────────────────────────────────── */
.ct-root { --ct-pad: 20px; }
.ct-root .ct-eyebrow { font-size: 13px; }
.ct-root .ct-title { font-size: 38px; line-height: 1.12; }
.ct-root .ct-lead { font-size: 16px; }
.ct-root .ct-row__label { font-size: 13px; letter-spacing: 0.14em; }
.ct-root .ct-row__value { font-size: 17px; }
.ct-root .ct-row { padding: 16px 0; min-height: 80px; }
.ct-root .ct-feat span, .ct-root .ct-feat small, .ct-root .ct-feat p { font-size: 14px; }
.ct-root .ct-card__title { font-size: 30px; line-height: 1.15; }
.ct-root .ct-card__text { font-size: 16px; }
.ct-root .ct-help__title { font-size: 30px; line-height: 1.15; }
.ct-root .ct-help__text { font-size: 16px; }
.ct-root .ct-btn, .ct-root .ct-card .ct-btn { width: 100%; min-height: 54px; font-size: 16px; justify-content: center; }
.ct-root .ct-map__pinlabel { font-size: 15px; }
.ct-root .ct-map__attr { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; padding: 0 12px; right: 6px; bottom: 4px; }
.ct-root .ct-privacy a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
