/* =========================================================
   MANIPURA — Tema "Atelier"
   Strato opzionale sopra style.css: tipografia da gioielleria,
   oro champagne, angoli netti, linee sottili, animazioni sobrie.
   Si attiva con THEME = 'atelier' in includes/config.php.
   ========================================================= */
:root {
  --f-titolo: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --f-mano: 'Cormorant Garamond', Georgia, serif;
  --f-label: 'Cormorant Garamond', Georgia, serif;
  --sole: #C9A24B;
  --sole-2: #E0BE6A;
  --avorio: #EFE9DC;
  --avorio-2: #F6F2EA;
  --notte: #0B2E33;
  --notte-2: #10393F;
  --terra: #8A6A2E;
  --r: 4px;
  --ombra: 0 12px 30px -22px rgba(11,46,51,.35);
}
body { font-weight: 300; }
h1, h2, h3, h4 { font-weight: 500; letter-spacing: .005em; }
h2 { font-size: clamp(2.2rem, 3.2vw, 3.8rem); line-height: 1.08; }
h3 { font-weight: 500; }
.lead { font-weight: 300; }
.script, .quote, .about-quote, .t-why, .t-ritual-text { font-style: italic; font-weight: 400; }

/* Etichette: piccole, spaziate, con filetto oro */
.eyebrow { font-family: var(--f-testo); font-weight: 400; font-size: .7rem; letter-spacing: .34em; color: var(--sole); display: flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: var(--sole); flex: none; }
.center .eyebrow, .section-head.center .eyebrow, .t-intro .eyebrow, .t-result-body .eyebrow { justify-content: center; }
.center .eyebrow::after, .section-head.center .eyebrow::after { content: ""; width: 28px; height: 1px; background: var(--sole); flex: none; }

/* Bottoni: angoli netti, maiuscoletto spaziato */
.btn { border-radius: 2px; font-family: var(--f-testo); font-weight: 400; text-transform: uppercase; font-size: .74rem; letter-spacing: .24em; padding: 1.1em 2.1em 1em; transition: .3s; }
.btn-sun { background: var(--sole); color: var(--notte); }
.btn-sun:hover { background: var(--sole-2); transform: none; }
.btn-line { border: 1px solid rgba(239,233,220,.55); color: var(--avorio); }
.btn-line:hover { border-color: var(--sole); background: transparent; color: var(--sole); }
.btn-dark { background: var(--notte); color: var(--avorio); }
.btn-dark:hover { background: var(--notte-2); color: var(--sole); }
.link-arrow { font-family: var(--f-testo); text-transform: uppercase; font-size: .7rem; letter-spacing: .22em; border-bottom-color: rgba(201,162,75,.6); }
.tag, .chip { border-radius: 2px; font-family: var(--f-testo); letter-spacing: .12em; text-transform: uppercase; font-size: .66rem; }

/* Header */
.site-header { border-bottom-color: rgba(239,233,220,.1); }
.brand-name { font-family: var(--f-titolo); font-weight: 500; text-transform: uppercase; letter-spacing: .34em; font-size: clamp(1rem, .9rem + .3vw, 1.25rem); }
.nav a { font-family: var(--f-testo); text-transform: uppercase; font-size: .7rem; letter-spacing: .22em; padding: .6em .7em; }
.nav a:hover { color: var(--sole); }
.nav a[aria-current="page"] { color: var(--sole); box-shadow: inset 0 -1px 0 var(--sole); }
.test-cta { border-radius: 2px; background: transparent; border: 1px solid var(--sole); color: var(--sole); animation: none; font-family: var(--f-testo); text-transform: uppercase; font-size: .68rem; letter-spacing: .22em; padding: .8em 1.3em .7em; }
.test-cta:hover { background: var(--sole); color: var(--notte); }
.test-cta.is-current { background: var(--sole); color: var(--notte); }

/* Hero: editoriale, sobrio */
.hero::before { background: linear-gradient(180deg, rgba(11,46,51,.72) 0%, rgba(11,46,51,.5) 40%, rgba(11,46,51,.94) 100%), linear-gradient(90deg, rgba(11,46,51,.55), rgba(11,46,51,0) 60%); }
.hero::after { display: none; }
.spark { display: none; }
.hero-sun { opacity: .45; filter: blur(30px); }
.hero-halo { opacity: .4; }
.hero-kicker { font-size: .68rem; letter-spacing: .42em; color: var(--sole); display: flex; align-items: center; gap: 14px; }
.hero-kicker::before { content: ""; width: 36px; height: 1px; background: var(--sole); }
.hero h1 { font-family: var(--f-titolo); font-weight: 400; text-transform: uppercase; letter-spacing: .12em; font-size: clamp(2.6rem, 5.4vw, 6rem); text-shadow: none; margin-bottom: .3em; }
.hero .claim { font-family: var(--f-titolo); font-style: italic; font-weight: 400; font-size: clamp(1.4rem, 2vw, 2.2rem); line-height: 1.35; color: var(--avorio); border-left: 1px solid rgba(201,162,75,.6); padding-left: 24px; }
.hero-sub { font-weight: 300; opacity: .8; }
.hero-emblem::before { border: 1px solid rgba(201,162,75,.35); animation: none; inset: 2%; }
.hero-emblem::after { display: none; }
.hero-emblem img { width: 70%; filter: drop-shadow(0 0 18px rgba(201,162,75,.22)); animation-duration: 10s; }
.scroll-hint { font-family: var(--f-testo); font-size: .6rem; letter-spacing: .42em; opacity: .6; }
.scroll-hint i { background: linear-gradient(var(--sole), transparent); }

/* Titoli: le parole emergono una dopo l'altra (al posto della scrittura a macchina) */
.typing .cursor { display: none; }
.typing .ch { animation: none; opacity: 1; }
.typing .w { display: inline-block; opacity: 0; transform: translateY(.35em); animation: w-in .8s cubic-bezier(.2,.7,.2,1) forwards; animation-delay: calc(var(--i) * 90ms); }
@keyframes w-in { to { opacity: 1; transform: none; } }

/* Sezioni e foto */
.section-head { margin-bottom: 40px; }
.photo { border-radius: 3px; box-shadow: 0 30px 60px -40px rgba(11,46,51,.6); }
.photo-stack .photo:last-child { border: 8px solid var(--avorio-2); }
.elements { counter-reset: el; gap: clamp(20px, 3vw, 48px); }
.elements li { counter-increment: el; background: transparent; box-shadow: none; border: 0; border-top: 1px solid rgba(11,46,51,.18); border-radius: 0; padding: 18px 0 0; }
.elements li::before { content: "0" counter(el); display: block; font-family: var(--f-testo); font-size: .66rem; letter-spacing: .3em; color: var(--sole); margin-bottom: 8px; }
.elements b { font-family: var(--f-titolo); font-weight: 500; font-size: 1.5rem; letter-spacing: .02em; }
.elements span { font-size: .92rem; }

/* Banner test */
.test-banner { background: var(--notte); border: 1px solid rgba(201,162,75,.35); border-radius: 3px; box-shadow: none; }
.test-banner-art { animation: none; color: var(--sole); opacity: .85; width: 90px; }
.test-banner h2 { font-weight: 400; }

/* Card collezioni */
.cat-card { border-radius: 3px; box-shadow: none; }
.cat-card::after { background: linear-gradient(180deg, rgba(11,46,51,0) 30%, rgba(11,46,51,.55) 60%, rgba(11,46,51,.96)); }
.cat-card h3 { font-weight: 500; font-size: 1.5rem; }
.cat-card h3, .cat-card p { text-shadow: none; }
.cat-card div { padding: 28px; border-top: 1px solid rgba(201,162,75,.35); margin: 0 28px; padding-left: 0; padding-right: 0; }
.cat-card:hover img { transform: scale(1.03); }

/* Pietra della settimana */
.stone-week { border-radius: 3px; background: transparent; border: 1px solid rgba(239,233,220,.16); padding: clamp(28px, 4vw, 56px); }
.stone-week .stone-img { box-shadow: 0 0 0 1px rgba(201,162,75,.6), 0 0 0 12px rgba(239,233,220,.04); }
.stone-week h2 { font-weight: 400; }

/* Mosaico */
.orbs-section::before { display: none; }
.orb::after { display: none; }
.orb img, .orb-l img { box-shadow: 0 0 0 1px rgba(201,162,75,.5), 0 0 0 7px rgba(239,233,220,.03); animation: none; }
.orb:hover img { transform: scale(1.03); box-shadow: 0 0 0 1px rgba(201,162,75,.95), 0 0 0 7px rgba(201,162,75,.08), 0 0 46px rgba(201,162,75,.25); }
.orb figcaption { font-family: var(--f-titolo); font-style: italic; font-size: 1.15rem; }
.orbs-section h2 { font-weight: 400; }

/* Anima Manipura */
.anima { background: var(--avorio); color: var(--notte); border-top: 1px solid rgba(11,46,51,.12); }
.anima .eyebrow { color: var(--sole); opacity: 1; }
.anima h2 { font-weight: 400; }
.anima-form input[type=email] { border-radius: 2px; border: 1px solid rgba(11,46,51,.25); background: #fff; }
.anima-form .btn-sun { background: var(--notte); color: var(--avorio); border-radius: 2px; }
.anima-form .btn-sun:hover { background: var(--notte-2); color: var(--sole); }

/* Footer */
.footer-logo span, .footer-nav { font-family: var(--f-testo); text-transform: uppercase; letter-spacing: .22em; font-size: .66rem; }
.footer-nav .is-accent { color: var(--sole); }
.social a { border-radius: 2px; }

/* Pagine interne: coerenza */
.page-hero h1 { font-weight: 400; text-transform: uppercase; letter-spacing: .1em; font-size: clamp(2.2rem, 4.6vw, 4.6rem); }
.page-hero .num { font-family: var(--f-titolo); font-weight: 300; }
.card, .service, .pillar, .stone, .stone-card, .quiz, .test-shell, .soon, .contact-card, .chakra-tile, .chakra-info, .t-why-box, .t-portrait, .t-ritual, .t-offer, .lockup-lg { border-radius: 3px; }
.service { border-top-color: var(--sole); }
.pillar .ico, .service .ico { color: var(--sole); }
.stone-dialog { border-radius: 4px; }
.lightbox img { border-radius: 3px; }
.t-opts button, .t-colors button, .t-signs button, .t-looks button, .t-alt, .quiz-options button { border-radius: 3px; }
.chosen { box-shadow: 0 0 0 2px var(--sole); }
.letter { color: var(--sole); font-weight: 300; }
.az a:hover { background: var(--sole); }
.btn-wa { border-radius: 2px; }
@media (max-width: 760px) {
  .cat-card div { margin: 0 14px; padding: 14px 0; }
  .cat-card h3 { font-size: 1.1rem; overflow-wrap: anywhere; }
}
