/*
Theme Name: Felings
Theme URI: https://felings.com
Author: Felings
Description: Tema su misura per Felings e la stella HOPE. Sistema visivo in DESIGN.md (cartella del progetto): Bodoni Moda, Albert Sans, Kalam, font ospitati nel tema; nessuna libreria esterna.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: felings
*/

/* Fonts (self-hosted, latin + latin-ext) */
@font-face{font-family:'Albert Sans';font-style:italic;font-weight:300 700;font-display:swap;src:url('assets/fonts/albert-sans-italic-300-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Albert Sans';font-style:italic;font-weight:300 700;font-display:swap;src:url('assets/fonts/albert-sans-italic-300-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/fonts/albert-sans-normal-300-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Albert Sans';font-style:normal;font-weight:300 700;font-display:swap;src:url('assets/fonts/albert-sans-normal-300-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400 700;font-display:swap;src:url('assets/fonts/bodoni-moda-italic-400-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400 700;font-display:swap;src:url('assets/fonts/bodoni-moda-italic-400-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/bodoni-moda-normal-400-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/bodoni-moda-normal-400-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Kalam';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/kalam-normal-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Kalam';font-style:normal;font-weight:300;font-display:swap;src:url('assets/fonts/kalam-normal-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Kalam';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/kalam-normal-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Kalam';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/kalam-normal-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ============================================================
   Tokens (see DESIGN.md in the project folder)
   ============================================================ */
:root{
  --notte:#111A2E; --notte-2:#1B2641; --luce:#E8ECF5; --luce-2:#A7B1C7;
  --neve:#F6F6F3; --bianco:#FFFFFF; --inchiostro:#17171B; --grigio:#5D5D66;
  --linea:rgba(23,23,27,.12); --linea-notte:rgba(232,236,245,.14);
  --bacio:#C8232C; --bacio-scuro:#A51B23;
  --pergamena:#EFE4CC; --pergamena-ombra:#D8C6A0; --rovere:#B48A5E;
  --f-display:'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --f-text:'Albert Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --f-hand:'Kalam', 'Segoe Print', cursive;
  --ease:cubic-bezier(.2,.7,.2,1);
  --wrap:1280px; --gutter:clamp(1.25rem,4vw,3rem);
  --space:clamp(5rem,11vw,9rem);
  --radius:8px;
}

/* ============================================================
   Base
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth;}
html,body{overflow-x:clip;}
body{margin:0; background:var(--neve); color:var(--inchiostro); font-family:var(--f-text); font-size:1.0625rem; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
img,video{max-width:100%; height:auto; display:block;}
a{color:inherit; text-decoration:none;}
p{margin:0 0 1em;}
h1,h2,h3,h4{margin:0; font-weight:500;}
button{font:inherit;}
:focus-visible{outline:2px solid var(--bacio); outline-offset:3px;}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;}
.skip{position:absolute; left:1rem; top:-3rem; z-index:200; background:var(--inchiostro); color:var(--neve); padding:.6rem 1rem; border-radius:999px;}
.skip:focus{top:1rem;}
::selection{background:var(--bacio); color:#fff;}

/* Type */
.t-hero,.t-h2,.t-h3,.t-quote{font-family:var(--f-display); font-optical-sizing:auto; letter-spacing:-.012em; text-wrap:balance;}
.t-hero{font-size:clamp(3rem,7.4vw,6.6rem); line-height:.96; font-weight:500;}
.t-h2{font-size:clamp(2.2rem,4.8vw,4rem); line-height:1.02; font-weight:500;}
.t-h3{font-size:clamp(1.35rem,2.1vw,1.75rem); line-height:1.15; font-weight:500;}
.t-quote{font-size:clamp(1.7rem,3.4vw,2.9rem); line-height:1.14; font-weight:400;}
.t-hero em,.t-h2 em,.t-h3 em,.t-quote em{font-style:italic;}
.t-lead{font-size:clamp(1.12rem,1.5vw,1.32rem); line-height:1.55; color:var(--grigio); max-width:48ch; text-wrap:pretty;}
.t-body{max-width:60ch; color:var(--grigio); text-wrap:pretty;}
.eyebrow{display:block; font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio); margin-bottom:1.4rem;}
.red{color:var(--bacio);}
.hand{font-family:var(--f-hand); font-weight:300;}

/* Layout */
.wrap{max-width:var(--wrap); margin:0 auto; padding-inline:var(--gutter);}
.wrap--narrow{max-width:860px;}
.section{padding-block:var(--space);}
.section--tight{padding-block:clamp(3.5rem,7vw,5.5rem);}
.section--bianco{background:var(--bianco);}
.section--notte{background:var(--notte); color:var(--luce);}
.section--notte .eyebrow,.section--notte .t-lead,.section--notte .t-body{color:var(--luce-2);}
.section--notte a:not(.btn){color:var(--luce);}
.section-head{max-width:760px; margin-bottom:clamp(2.5rem,5vw,4.5rem);}
.section-head .t-lead{margin-top:1.4rem;}
.split{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,6.5rem); align-items:center;}
.split--text-wide{grid-template-columns:1.1fr .9fr;}
.split--media-wide{grid-template-columns:.9fr 1.1fr;}
.split--top{align-items:start;}
.split--aside{grid-template-columns:.7fr 1.3fr;}
.aside-sticky{position:sticky; top:130px;}
@media(max-width:900px){ .split,.split--text-wide,.split--media-wide,.split--aside{grid-template-columns:1fr;} .aside-sticky{position:static;} }
.stack>*+*{margin-top:1.4rem;}
.actions{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.2rem;}

/* Buttons & links */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.6rem; padding:1rem 1.6rem; border-radius:999px; border:1px solid transparent; font-weight:600; font-size:.95rem; letter-spacing:.01em; line-height:1.1; cursor:pointer; transition:background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease), transform .2s var(--ease); white-space:nowrap;}
.btn:active{transform:translateY(1px);}
.btn--ink{background:var(--inchiostro); color:var(--neve);}
.btn--ink:hover{background:var(--bacio);}
.btn--line{border-color:currentColor; color:inherit; background:transparent;}
.btn--line:hover{background:var(--inchiostro); border-color:var(--inchiostro); color:var(--neve);}
.btn--luce{background:var(--neve); color:var(--notte);}
.btn--luce:hover{background:var(--bacio); color:#fff;}
.section--notte .btn--line:hover{background:var(--neve); border-color:var(--neve); color:var(--notte);}
.link-arrow{display:inline-flex; align-items:center; gap:.5rem; font-weight:600; border-bottom:1px solid currentColor; padding-bottom:.15rem;}
.link-arrow::after{content:"\2192"; transition:transform .3s var(--ease);}
.link-arrow:hover::after{transform:translateX(4px);}

/* Photos */
.ph{position:relative; margin:0; overflow:hidden; border-radius:var(--radius); background:#ECEBE6;}
.ph img{width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease);}
.ph--4x5{aspect-ratio:4/5;} .ph--1x1{aspect-ratio:1/1;} .ph--3x2{aspect-ratio:3/2;} .ph--16x10{aspect-ratio:16/10;} .ph--3x4{aspect-ratio:3/4;}
.ph--white{background:var(--bianco);}
.ph__cap{position:absolute; left:.9rem; bottom:.9rem; right:.9rem; font-size:.8rem; letter-spacing:.02em; color:var(--inchiostro);}
.ph__cap span{background:rgba(255,255,255,.88); padding:.35rem .65rem; border-radius:999px; backdrop-filter:blur(6px);}
a:hover>.ph img,a:hover .ph img{transform:scale(1.035);}

/* ============================================================
   Header
   ============================================================ */
.announce{background:var(--notte); color:var(--luce); text-align:center; font-size:.8rem; letter-spacing:.06em; padding:.55rem 1rem;}
.site-header{position:sticky; top:0; z-index:60; background:rgba(246,246,243,.88); backdrop-filter:saturate(1.4) blur(10px); -webkit-backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s;}
.site-header.is-scrolled{border-bottom-color:var(--linea); box-shadow:0 8px 30px rgba(17,26,46,.06);}
.nav{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:80px;}
.felings-logo{display:inline-flex; line-height:0; flex:0 0 auto;}
.felings-logo img{height:42px; width:auto;}
@media(min-width:1100px){ .felings-logo img{height:48px;} .nav{height:88px;} }
.felings-menu{list-style:none; margin:0; padding:0; display:none; align-items:center; gap:1.9rem; font-size:.95rem; font-weight:500;}
@media(min-width:1100px){ .felings-menu{display:flex;} }
.felings-menu>li{position:relative;}
.felings-menu a{padding:.4rem 0; background:linear-gradient(var(--bacio),var(--bacio)) left bottom/0 1px no-repeat; transition:background-size .35s var(--ease), color .2s;}
.felings-menu a:hover,.felings-menu .current-menu-item:not(.menu-item-type-custom)>a{background-size:100% 1px;}
.felings-menu .menu-item-has-children>a::after{content:""; display:inline-block; width:.4em; height:.4em; margin-left:.45em; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-.2em) rotate(45deg);}
.felings-menu .sub-menu{position:absolute; top:calc(100% + .7rem); left:-1.2rem; min-width:220px; list-style:none; margin:0; padding:.6rem 0; background:var(--bianco); border-radius:var(--radius); box-shadow:0 20px 50px rgba(17,26,46,.14); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .25s, transform .25s var(--ease), visibility .25s;}
.felings-menu>li:hover>.sub-menu,.felings-menu>li:focus-within>.sub-menu{opacity:1; visibility:visible; transform:none;}
.felings-menu .sub-menu a{display:block; padding:.55rem 1.2rem; background:none;}
.felings-menu .sub-menu a:hover{color:var(--bacio);}
.felings-menu .felings-cta{display:inline-flex; padding:.7rem 1.25rem; border-radius:999px; background:var(--inchiostro); color:var(--neve); font-weight:600; transition:background .3s;}
.felings-menu .felings-cta:hover{background:var(--bacio); background-size:auto;}
.nav__tools{display:flex; align-items:center; gap:1.1rem; font-size:.92rem; font-weight:500;}
.nav__cart{display:inline-flex; align-items:center; gap:.4rem;}
.nav__cart:hover{color:var(--bacio);}
.nav__bag{display:none;}
@media(max-width:600px){ .nav__cart-label{display:none;} .nav__bag{display:block;} .nav__tools{gap:.6rem;} .nav{gap:.8rem;} .felings-logo img{height:36px;} }
.felings-cart-count{font-variant-numeric:tabular-nums; color:var(--grigio);}
.felings-lang{display:flex; align-items:center; gap:.1rem; font-size:.78rem; font-weight:600; letter-spacing:.08em;}
.felings-lang a,.felings-lang span{padding:.3rem .35rem;}
.felings-lang span{color:var(--inchiostro); box-shadow:inset 0 -1.5px 0 var(--bacio);}
.felings-lang a{color:var(--grigio);}
.felings-lang a:hover{color:var(--inchiostro);}
.felings-burger{display:inline-flex; flex-direction:column; justify-content:center; gap:5px; width:40px; height:40px; padding:9px; background:none; border:0; cursor:pointer;}
@media(min-width:1100px){ .felings-burger{display:none;} }
.felings-burger span{display:block; height:1.5px; background:var(--inchiostro); transition:transform .3s var(--ease), opacity .2s;}
.felings-burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.felings-burger.is-open span:nth-child(2){opacity:0;}
.felings-burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.felings-mobile-nav{position:absolute; left:0; right:0; top:100%; background:var(--neve); border-top:1px solid var(--linea); padding:.5rem var(--gutter) 1.5rem; max-height:calc(100vh - 110px); overflow-y:auto; box-shadow:0 30px 50px rgba(17,26,46,.12);}
@media(min-width:1100px){ .felings-mobile-nav{display:none!important;} }
.felings-mobile-menu,.felings-mobile-menu .sub-menu{list-style:none; margin:0; padding:0;}
.felings-mobile-menu>li{border-bottom:1px solid var(--linea);}
.felings-mobile-menu a{display:block; padding:1rem 0; font-family:var(--f-display); font-size:1.4rem;}
.felings-mobile-menu .sub-menu{padding:0 0 .8rem;}
.felings-mobile-menu .sub-menu a{font-family:var(--f-text); font-size:1rem; padding:.45rem 0; color:var(--grigio);}
.felings-mobile-menu .felings-cta{margin:1rem 0 .3rem; padding:1rem; border-radius:999px; background:var(--inchiostro); color:var(--neve); text-align:center; font-family:var(--f-text); font-size:1rem; font-weight:600;}
.felings-mobile-menu li:has(.felings-cta){border-bottom:0;}

/* ============================================================
   Footer
   ============================================================ */
.site-footer{background:var(--notte); color:var(--luce-2); padding-top:clamp(4rem,8vw,6.5rem);}
.site-footer a{color:var(--luce);}
.site-footer a:hover{color:#fff;}
.footer__top{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:3rem; padding-bottom:4rem; border-bottom:1px solid var(--linea-notte);}
@media(max-width:900px){ .footer__top{grid-template-columns:1fr 1fr;} .footer__brand{grid-column:1/-1;} }
@media(max-width:520px){ .footer__top{grid-template-columns:1fr;} }
.footer__brand .felings-logo img{height:48px;}
.footer__claim{font-family:var(--f-display); font-style:italic; font-size:1.6rem; color:var(--luce); margin:1.4rem 0 .6rem;}
.footer__col h2{font-family:var(--f-text); font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--luce-2); margin-bottom:1.2rem;}
.footer__col ul{list-style:none; margin:0; padding:0; display:grid; gap:.65rem;}
.footer__bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; padding:1.6rem 0 2rem; font-size:.84rem;}
.footer__legal{display:flex; flex-wrap:wrap; gap:.5rem 1.4rem;}

/* ============================================================
   Home: hero
   ============================================================ */
.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(4rem,8vw,7rem);}
.hero__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,5rem); align-items:center;}
@media(max-width:900px){ .hero__grid{grid-template-columns:1fr;} }
.hero__title .ln{display:block; overflow:hidden; padding-bottom:.06em;}
.hero__title .ln>span{display:inline-block;}
.hero__stage{position:relative; aspect-ratio:1/1; max-width:620px; justify-self:end; width:100%;}
.hero__star{position:absolute; left:3%; top:2%; width:94%; height:auto; filter:drop-shadow(0 34px 34px rgba(140,20,30,.22)) drop-shadow(0 8px 12px rgba(17,26,46,.16)); transform-origin:50% 48%;}
.hero__shadow{position:absolute; left:18%; right:14%; bottom:1%; height:9%; border-radius:50%; background:radial-gradient(closest-side, rgba(17,26,46,.22), rgba(17,26,46,0)); filter:blur(4px);}
.hero__panel{position:absolute; inset:0; border-radius:14px; overflow:hidden; background:var(--bianco); box-shadow:0 40px 80px -40px rgba(17,26,46,.35);}
.hero__panel video{width:100%; height:100%; object-fit:cover;}
.hero__note{position:absolute; left:-1rem; bottom:6%; width:min(62%,320px); padding:1.1rem 1.3rem 1.2rem; background:var(--pergamena); border-radius:3px; box-shadow:0 18px 40px -18px rgba(90,60,20,.45), inset 0 0 0 1px rgba(120,90,40,.12); transform:rotate(-5deg); font-family:var(--f-hand); font-weight:300; font-size:1.35rem; line-height:1.3; color:#5a4430;}
.hero__note small{display:block; font-family:var(--f-hand); font-size:.95rem; color:#9a7d59; margin-bottom:.2rem;}
@media(max-width:900px){ .hero__note{left:.8rem; bottom:.8rem;} }

/* Scrigno */
.scrigno__img{margin-top:clamp(2.5rem,5vw,4rem);}

/* ============================================================
   Home: il rito (sticky media + steps)
   ============================================================ */
.rito__grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2.5rem,6vw,6rem); align-items:start;}
.rito__media{position:sticky; top:120px;}
.rito__frame{position:relative; aspect-ratio:4/5; border-radius:var(--radius); overflow:hidden; background:var(--notte-2);}
.rito__frame img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.04); transition:opacity .8s var(--ease), transform 1.4s var(--ease);}
.rito__frame img.is-active{opacity:1; transform:none;}
.rito__progress{display:flex; gap:.4rem; margin-top:1rem;}
.rito__progress i{flex:1; height:2px; background:var(--linea-notte); position:relative; overflow:hidden;}
.rito__progress i::after{content:""; position:absolute; inset:0; background:var(--luce); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease);}
.rito__progress i.is-done::after{transform:scaleX(1);}
.rito__steps{list-style:none; margin:0; padding:0;}
.rito__step{min-height:clamp(320px,52vh,520px); display:flex; flex-direction:column; justify-content:center; padding-block:2rem; opacity:.35; transition:opacity .6s var(--ease);}
.rito__step.is-active{opacity:1;}
.rito__num{font-family:var(--f-display); font-style:italic; font-size:1.1rem; color:var(--luce-2); margin-bottom:.8rem;}
.rito__step .t-h3{font-size:clamp(1.8rem,3.2vw,2.7rem); margin-bottom:1rem;}
.rito__step p{color:var(--luce-2); max-width:42ch; font-size:1.1rem;}
.rito__step .ph{display:none;}
@media(max-width:900px){
  .rito__grid{grid-template-columns:1fr;}
  .rito__media{display:none;}
  .rito__step{min-height:0; opacity:1; padding-block:1.2rem 2.4rem;}
  .rito__step .ph{display:block; margin-bottom:1.4rem;}
}

/* ============================================================
   Home: the wish (signature)
   ============================================================ */
.wish{border-top:1px solid var(--linea-notte);}
.wish__grid{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,5rem); align-items:center; margin-top:clamp(2.5rem,5vw,4rem);}
@media(max-width:900px){ .wish__grid{grid-template-columns:1fr;} }
.parchment{position:relative; background:var(--pergamena); color:#4f3b28; border-radius:4px; padding:clamp(1.6rem,3vw,2.6rem) clamp(1.4rem,3vw,2.6rem) clamp(1.4rem,3vw,2.2rem); box-shadow:0 30px 60px -30px rgba(0,0,0,.6), inset 0 0 60px rgba(160,120,60,.18), inset 0 0 0 1px rgba(120,90,40,.15); transform-origin:50% 50%;}
.parchment::before,.parchment::after{content:""; position:absolute; left:0; right:0; height:16px; background:linear-gradient(180deg,var(--pergamena-ombra),transparent); opacity:.7;}
.parchment::before{top:0; border-radius:4px 4px 0 0;}
.parchment::after{bottom:0; transform:scaleY(-1); border-radius:0 0 4px 4px;}
.parchment__head{font-family:var(--f-hand); font-size:1.5rem; color:#a8875c; margin:0 0 .6rem;}
.parchment textarea{display:block; width:100%; min-height:7.5em; resize:none; border:0; background:repeating-linear-gradient(transparent 0 2.15em, rgba(120,90,40,.2) 2.15em calc(2.15em + 1px)); font-family:var(--f-hand); font-weight:300; font-size:clamp(1.35rem,2.3vw,1.75rem); line-height:2.15em; color:#4f3b28; padding:0; outline:none;}
.parchment textarea::placeholder{color:rgba(79,59,40,.45);}
.parchment__foot{display:flex; justify-content:space-between; align-items:center; margin-top:1rem; font-size:.82rem; color:#8c7454;}
.wish__controls{display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.4rem; margin-top:1.6rem;}
.wish__note{font-size:.88rem; color:var(--luce-2); margin:0;}
.wish__star{position:relative; aspect-ratio:1/1;}
.wish__star img{position:absolute; inset:6%; width:88%; height:88%; object-fit:contain; z-index:1; filter:drop-shadow(0 30px 40px rgba(0,0,0,.45)); transition:transform 1.4s var(--ease);}
.wish__glow{position:absolute; left:50%; top:47%; width:70%; aspect-ratio:1/1; border-radius:50%; transform:translate(-50%,-50%) scale(.8); background:radial-gradient(circle, rgba(200,35,44,.55) 0%, rgba(200,35,44,.18) 38%, rgba(200,35,44,0) 70%); opacity:.35; pointer-events:none; z-index:0;}
.wish.is-sealed .wish__glow{animation:glow 2.6s var(--ease) forwards;}
.wish.is-sealed .wish__star img{transform:rotate(-6deg) scale(1.03);}
@keyframes glow{0%{opacity:.35; transform:translate(-50%,-50%) scale(.8);} 35%{opacity:1; transform:translate(-50%,-50%) scale(1.35);} 100%{opacity:.8; transform:translate(-50%,-50%) scale(1.1);}}
.wish__done{display:none; margin-top:1.6rem;}
.wish.is-sealed .wish__done{display:block; animation:rise .8s var(--ease) both .9s;}
.wish.is-sealed .wish__controls{display:none;}
.wish__done p{font-family:var(--f-display); font-style:italic; font-size:clamp(1.6rem,2.8vw,2.3rem); color:var(--luce); margin:0 0 1rem; line-height:1.15;}

/* ============================================================
   Home: colors
   ============================================================ */
.colori__grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,6rem); align-items:center;}
@media(max-width:900px){ .colori__grid{grid-template-columns:1fr;} }
.colori__stage{position:relative; aspect-ratio:1/1; border-radius:14px; overflow:hidden; background:var(--bianco);}
.colori__stage img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.03) rotate(-1.5deg); transition:opacity .7s var(--ease), transform 1.1s var(--ease);}
.colori__stage img.is-active{opacity:1; transform:none;}
/* Home: the star and its bases */
.basi__grid{display:grid; grid-template-columns:.95fr 1.05fr; grid-template-areas:"head side" "list side"; column-gap:clamp(2.5rem,6vw,6rem); align-items:start;}
.basi__head{grid-area:head;}
.basi__list{grid-area:list; display:flex; flex-direction:column;}
.basi__side{grid-area:side; align-self:center;}
@media(max-width:900px){ .basi__grid{grid-template-columns:1fr; grid-template-areas:"head" "side" "list"; row-gap:1.6rem;} }
.basi__group{display:grid; grid-template-columns:9.5rem 1fr; gap:.5rem 1.2rem; align-items:start; padding:1rem 0; border-top:1px solid var(--linea);}
.basi__group:last-child{border-bottom:1px solid var(--linea);}
.basi__glabel{padding-top:.6rem; font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; line-height:1.4; color:var(--grigio);}
.basi__items{display:flex; flex-wrap:wrap; gap:.5rem;}
.basi__item{padding:.55rem 1.05rem; border:1px solid var(--linea); border-radius:999px; background:transparent; color:var(--inchiostro); font-size:.95rem; line-height:1.3; cursor:pointer; transition:background-color .25s, color .25s, border-color .25s;}
.basi__item:hover{border-color:var(--inchiostro);}
.basi__item[aria-pressed="true"]{background:var(--inchiostro); border-color:var(--inchiostro); color:var(--neve);}
@media(max-width:560px){ .basi__group{grid-template-columns:1fr;} .basi__glabel{padding-top:0;} }
.basi__stage{position:relative; aspect-ratio:1/1; border-radius:14px; overflow:hidden; background:var(--bianco);}
.basi__stage img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); transition:opacity .6s var(--ease), transform 1s var(--ease);}
.basi__stage img.is-active{opacity:1; transform:none;}
.basi__caption{margin-top:1.2rem;}
.basi__cgroup{display:block; font-size:.7rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--bacio); margin-bottom:.35rem;}
.basi__caption p{margin:0 0 .8rem; color:var(--grigio);}
.basi__box{max-width:72ch; margin:clamp(2.5rem,5vw,4rem) 0 0; color:var(--grigio);}
@media(prefers-reduced-motion:reduce){ .basi__stage img{transition:none; transform:none;} }
.colori__tabs{list-style:none; margin:0 0 2rem; padding:0; border-top:1px solid var(--linea);}
.colori__tab{display:flex; width:100%; align-items:center; gap:1rem; padding:1.05rem 0; background:none; border:0; border-bottom:1px solid var(--linea); cursor:pointer; text-align:left; color:var(--grigio); transition:color .25s;}
.colori__tab:hover{color:var(--inchiostro);}
.colori__tab[aria-selected="true"]{color:var(--inchiostro);}
.colori__dot{width:22px; height:22px; border-radius:50%; flex:0 0 auto; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14); transition:transform .3s var(--ease);}
.colori__tab[aria-selected="true"] .colori__dot{transform:scale(1.25); box-shadow:inset 0 0 0 1px rgba(0,0,0,.14), 0 0 0 4px var(--bianco), 0 0 0 5px var(--inchiostro);}
.colori__name{font-family:var(--f-display); font-size:1.5rem; line-height:1.1;}
.colori__alias{margin-left:auto; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase;}
.colori__desc{min-height:5.2em; color:var(--grigio); max-width:46ch;}
.finish{display:inline-flex; padding:4px; border-radius:999px; background:#EDEDE8; margin:.4rem 0 1.6rem;}
.finish button{border:0; background:transparent; padding:.55rem 1.1rem; border-radius:999px; font-weight:600; font-size:.88rem; color:var(--grigio); cursor:pointer; transition:background .25s, color .25s;}
.finish button[aria-pressed="true"]{background:var(--bianco); color:var(--inchiostro); box-shadow:0 2px 8px rgba(17,26,46,.1);}

/* Versions */

/* Where it lives: horizontal gallery */
.scroller{display:flex; gap:clamp(1rem,2vw,1.6rem); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter); scroll-padding-inline:var(--gutter);}
.scroller::-webkit-scrollbar{display:none;}
.scroller-wrap{position:relative; --card-w:clamp(250px,30vw,380px);}
.scroller>figure{flex:0 0 var(--card-w,clamp(250px,30vw,380px)); scroll-snap-align:start; margin:0;}
.scroller figcaption{margin-top:.8rem; font-size:.92rem; color:var(--grigio);}
.scroller figcaption strong{display:block; font-family:var(--f-display); font-weight:500; font-size:1.3rem; color:var(--inchiostro);}
/* Arrows on the photos, at half the height of a 3:4 frame. */
.scroller-arrow{position:absolute; z-index:2; top:calc(var(--card-w) * 2 / 3); transform:translateY(-50%); display:grid; place-items:center; width:50px; height:50px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:var(--inchiostro); box-shadow:0 10px 26px -10px rgba(17,26,46,.45); cursor:pointer; transition:background-color .25s, color .25s;}
.scroller-arrow:hover{background:var(--inchiostro); color:var(--neve);}
.scroller-arrow--prev{left:.9rem;}
.scroller-arrow--next{right:.9rem;}
.scroller-arrow[hidden]{display:none;}
@media(max-width:600px){ .scroller-arrow{width:42px; height:42px;} .scroller-arrow--prev{left:.4rem;} .scroller-arrow--next{right:.4rem;} }
.head-row{display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; margin-bottom:clamp(2rem,4vw,3.2rem);}

/* Experience facts */
.facts{list-style:none; margin:2.2rem 0 0; padding:0; border-top:1px solid var(--linea-notte);}
.facts li{display:grid; grid-template-columns:minmax(9rem,.6fr) 1fr; gap:1.5rem; padding:1.1rem 0; border-bottom:1px solid var(--linea-notte);}
.facts strong{font-family:var(--f-display); font-weight:500; font-size:1.2rem; color:var(--luce);}
.facts span{color:var(--luce-2);}
.facts--light,.facts--light li{border-color:var(--linea);}
.facts--light strong{color:var(--inchiostro);}
.facts--light span{color:var(--grigio);}
@media(max-width:560px){ .facts li{grid-template-columns:1fr; gap:.2rem;} }

/* FAQ accordion */
.faq details{border-bottom:1px solid var(--linea);}
.faq details:first-of-type{border-top:1px solid var(--linea);}
.faq summary{list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.35rem 0; font-family:var(--f-display); font-size:clamp(1.2rem,1.8vw,1.45rem); line-height:1.25;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:""; flex:0 0 auto; width:12px; height:12px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translate(-3px,-3px); transition:transform .35s var(--ease);}
.faq details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px);}
.faq .answer{padding:0 0 1.5rem; color:var(--grigio); max-width:62ch;}
.faq .answer a{color:var(--inchiostro); text-decoration:underline; text-underline-offset:3px;}
.faq-group+.faq-group{margin-top:clamp(3rem,6vw,4.5rem);}
.faq-group h2{margin-bottom:1.2rem;}

/* Final CTA band */
.cta-band{background:var(--bacio); color:#fff; padding-block:clamp(4.5rem,9vw,7.5rem); text-align:center;}
.cta-band .t-h2{max-width:14ch; margin:0 auto;}
.cta-band p{color:rgba(255,255,255,.82); margin:1.4rem auto 0; max-width:44ch;}
.cta-band .btn{background:#fff; color:var(--bacio);}
.cta-band .btn:hover{background:var(--notte); color:#fff;}

/* ============================================================
   Inner pages
   ============================================================ */
.page-hero{padding-block:clamp(3.5rem,8vw,6.5rem) clamp(2.5rem,5vw,4rem);}
.page-hero .t-hero{font-size:clamp(2.8rem,6.4vw,5.6rem);}
.page-hero .t-lead{margin-top:1.6rem;}
.page-hero--notte{background:var(--notte); color:var(--luce);}
.page-hero--notte .t-lead,.page-hero--notte .eyebrow{color:var(--luce-2);}
.crumbs,.felings-breadcrumb{font-size:.82rem; color:var(--grigio); margin-bottom:1.6rem;}
.crumbs a:hover,.felings-breadcrumb a:hover{color:var(--bacio);}
.values{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,4vw,3.5rem);}
@media(max-width:860px){ .values{grid-template-columns:1fr;} }
.values h3{margin:1rem 0 .6rem;}
.values p{color:var(--grigio); margin:0;}
.section--notte .values p{color:var(--luce-2);}
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.2rem,2.5vw,2rem); counter-reset:step;}
@media(max-width:980px){ .steps{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .steps{grid-template-columns:1fr;} }
.steps li{counter-increment:step;}
.steps h3{margin:1.1rem 0 .4rem; font-family:var(--f-display); font-size:1.4rem; font-weight:500;}
.steps h3::before{content:counter(step) ". "; font-style:italic; color:var(--grigio);}
.section--notte .steps h3::before{color:var(--luce-2);}
.steps p{color:var(--grigio); margin:0; font-size:.98rem;}
.section--notte .steps p{color:var(--luce-2);}

.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.2rem,2.5vw,2rem);}
@media(max-width:980px){ .grid-4{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .grid-4{grid-template-columns:1fr;} }

/* Prose (page.php, single.php, legal pages) */
.prose{max-width:68ch;}
.prose,.felings-page-content{font-size:1.08rem; line-height:1.75; color:#34343b;}
.felings-page-content p{margin:0 0 1.15em;}
.felings-page-content h2{font-family:var(--f-display); font-weight:500; font-size:clamp(1.6rem,2.6vw,2.1rem); line-height:1.15; margin:2em 0 .6em; color:var(--inchiostro);}
.felings-page-content h3{font-family:var(--f-display); font-weight:500; font-size:1.35rem; margin:1.6em 0 .4em; color:var(--inchiostro);}
.felings-page-content a{color:var(--inchiostro); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--bacio);}
.felings-page-content ul,.felings-page-content ol{margin:0 0 1.15em 1.2em;}
.felings-page-content blockquote{margin:2em 0; padding-left:1.4rem; border-left:2px solid var(--bacio); font-family:var(--f-display); font-style:italic; font-size:1.35rem; line-height:1.4;}
.felings-page-content img{border-radius:var(--radius);}
.felings-page-content .hand-note{font-family:var(--f-hand); font-weight:300; font-size:1.5rem; background:var(--pergamena); padding:.8rem 1.1rem; border-radius:3px; display:inline-block; transform:rotate(-1.5deg); color:#5a4430;}
/* Legal pages (contenuti/legali): date, summary, index, seller card, tables, withdrawal form */
.felings-page-content h2[id],.felings-page-content [id]{scroll-margin-top:110px;}
.legal-meta{font-size:.9rem; color:var(--grigio);}
.legal-summary{margin:1.6em 0 2em; padding:1.4rem 1.6rem 1.1rem; background:var(--bianco); border:1px solid var(--linea); border-left:3px solid var(--bacio); border-radius:var(--radius);}
.legal-summary__title,.legal-toc__title{margin:0 0 .6rem!important; font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio);}
.legal-summary ul{margin:0 0 .8em 1.1em;}
.legal-summary li{margin-bottom:.35em;}
.legal-summary p:last-child{margin:0; font-size:.92rem; color:var(--grigio);}
.legal-toc{margin:0 0 2.4em; padding:1.2rem 1.6rem; border-top:1px solid var(--linea); border-bottom:1px solid var(--linea);}
.legal-toc ol{margin:0 0 0 1.3em; columns:2 16rem; column-gap:2.5rem; font-size:.95rem;}
.legal-toc li{break-inside:avoid; margin-bottom:.25em;}
.legal-toc a{text-decoration:none!important;}
.legal-toc a:hover{text-decoration:underline!important;}
.legal-card{padding:1.1rem 1.3rem; background:var(--bianco); border-radius:var(--radius); line-height:1.7;}
.legal-table{margin:1.4em 0 1.8em; overflow-x:auto;}
.legal-table table{width:100%; border-collapse:collapse; font-size:.9rem; line-height:1.5; background:var(--bianco);}
.legal-table th{text-align:left; font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--grigio); padding:.8rem .9rem; border-bottom:1px solid var(--linea);}
.legal-table td{padding:.8rem .9rem; border-bottom:1px solid var(--linea); vertical-align:top;}
.legal-table td:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.82rem; word-break:break-word; min-width:11rem;}
.legal-form{margin:1.2em 0 0; padding:1.4rem 1.6rem; background:var(--bianco); border:1px dashed rgba(23,23,27,.25); border-radius:var(--radius); font-size:.98rem;}
.legal-form p{margin:0 0 .9em;}
.legal-form__note{font-size:.85rem; color:var(--grigio); margin:0!important;}

/* Print (and the PDF of the terms attached to the order email): the text only. */
@media print{
  .announce,.site-header,.site-footer,.felings-cookies,.felings-sticky-atc,.legal-toc,#richiedi-reso{display:none!important;}
  body{background:#fff; color:#000; font-size:10.5pt;}
  .page-hero{padding:0 0 1rem!important;}
  .page-hero .t-hero{font-size:22pt!important;}
  .wrap{max-width:none!important; padding:0!important;}
  .felings-page-content{font-size:10.5pt; line-height:1.5; color:#000;}
  .felings-page-content h2{font-size:14pt; margin:1.4em 0 .4em; break-after:avoid;}
  .felings-page-content a{color:#000; text-decoration:none;}
  .legal-summary,.legal-card,.legal-form,.legal-table table{background:#fff;}
  [data-reveal]{opacity:1!important; transform:none!important;}
}

/* Story cards */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,3vw,2.5rem);}
@media(max-width:900px){ .cards{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .cards{grid-template-columns:1fr;} }
.card h2,.card h3{font-family:var(--f-display); font-weight:500; font-size:1.5rem; line-height:1.15; margin:.5rem 0 .6rem;}
.card p{color:var(--grigio); margin:0;}
.card__meta{margin-top:1.1rem; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--grigio);}
.card:hover h2,.card:hover h3{color:var(--bacio);}

/* Chips (shop filter) */
.chips{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:2rem;}
.chips a{padding:.6rem 1.1rem; border-radius:999px; border:1px solid var(--linea); font-size:.9rem; font-weight:500; transition:background .25s,color .25s,border-color .25s;}
.chips a:hover{border-color:var(--inchiostro);}
.chips a.is-current{background:var(--inchiostro); color:var(--neve); border-color:var(--inchiostro);}

/* Forms */
.felings-form__row{display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.3rem;}
.felings-form label{font-weight:600; font-size:.9rem;}
.felings-form label span{color:var(--bacio);}
.felings-form input,.felings-form textarea,.felings-form select{width:100%; border:1px solid var(--linea); background:var(--bianco); padding:.95rem 1.05rem; font:inherit; color:var(--inchiostro); border-radius:var(--radius); transition:border-color .2s, box-shadow .2s;}
.felings-form input:focus,.felings-form textarea:focus,.felings-form select:focus{outline:none; border-color:var(--inchiostro); box-shadow:0 0 0 3px rgba(23,23,27,.08);}
.felings-form textarea{resize:vertical;}
.felings-form select{-webkit-appearance:none; appearance:none; background:var(--bianco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2317171B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1.4rem center; padding-right:3.2rem; cursor:pointer;}
.felings-alert{padding:1rem 1.25rem; margin-bottom:1.5rem; border-radius:var(--radius); line-height:1.5;}
.felings-alert--ok{background:#E9F2EC; color:#1D4B30;}
.felings-alert--err{background:#FBEBEC; color:#8A1D24;}
.felings-alert a{text-decoration:underline;}
.felings-hp{position:absolute!important; left:-9999px!important; width:1px; height:1px; overflow:hidden;}
.contact-list{list-style:none; margin:2rem 0 0; padding:0; border-top:1px solid var(--linea);}
.contact-list li{padding:1.1rem 0; border-bottom:1px solid var(--linea);}
.contact-list strong{display:block; font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio); margin-bottom:.3rem;}
.contact-list a{font-family:var(--f-display); font-size:1.35rem;}

/* Manual link */
.felings-manual{display:inline-flex; align-items:center; gap:.5rem; font-weight:600; border-bottom:1px solid currentColor; padding-bottom:.1rem;}
.felings-manual:hover{color:var(--bacio);}
.felings-manual small{font-weight:400; color:var(--grigio);}
.felings-manual-row{margin:1.2rem 0 0;}
.felings-manual--btn{border:1px solid currentColor; border-radius:999px; padding:.9rem 1.4rem;}
.felings-manual--btn:hover{background:var(--neve); color:var(--notte);}
.felings-manual--btn:hover small{color:var(--grigio);}
.section--notte .felings-manual small{color:var(--luce-2);}

/* 404 */
.nf{min-height:clamp(420px,60vh,720px); display:flex; align-items:center;}

/* Cookie banner */
/* Cookie banner: Accetta and Rifiuta look the same (no nudging), the X closes
   keeping technical cookies only (Garante Privacy, 10 giugno 2021). */
.felings-cookies{position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:100; max-width:640px; margin:0 auto; background:var(--notte); color:var(--luce); padding:1.3rem 1.4rem 1.3rem; border-radius:14px; box-shadow:0 24px 60px rgba(0,0,0,.3); font-size:.9rem;}
.felings-cookies[hidden]{display:none;}
.felings-cookies__title{margin:0 2.5rem .35rem 0; font-family:var(--f-display); font-size:1.25rem; line-height:1.2; color:#fff;}
.felings-cookies__text{margin:0; line-height:1.55; color:var(--luce-2);}
.felings-cookies a{color:var(--luce); text-decoration:underline; text-underline-offset:3px;}
.felings-cookies__actions{display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-top:1.1rem;}
.felings-cookies__actions button{border:1px solid var(--luce); cursor:pointer; padding:.75rem 1.1rem; border-radius:999px; font-weight:600; background:transparent; color:var(--luce); transition:background-color .2s, color .2s;}
.felings-cookies__actions button:hover{background:var(--luce); color:var(--notte);}
.felings-cookies__close{position:absolute; top:.7rem; right:.7rem; display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:50%; background:transparent; color:var(--luce); cursor:pointer;}
.felings-cookies__close:hover{background:var(--notte-2);}
.felings-cookies :focus-visible{outline:2px solid var(--luce); outline-offset:2px;}
.footer__company{display:flex; flex-direction:column; gap:.3rem;}
.footer__prefs{border:0; padding:0; background:none; color:var(--luce); font:inherit; cursor:pointer;}
.footer__prefs:hover{color:#fff;}

/* ============================================================
   WooCommerce
   ============================================================ */
.felings-wc{padding-block:clamp(2.5rem,5vw,4rem) var(--space);}
.woocommerce-products-header{display:none;}
.shop-hero{padding-block:clamp(3rem,7vw,5.5rem) clamp(2rem,4vw,3rem);}
.shop-hero .term-description,.shop-hero .page-description{margin-top:1.4rem; color:var(--grigio); font-size:clamp(1.12rem,1.5vw,1.3rem); max-width:52ch;}
.shop-hero .term-description p,.shop-hero .page-description p{margin:0;}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:.88rem; color:var(--grigio); margin-bottom:2rem;}
.woocommerce .woocommerce-ordering select{border:1px solid var(--linea); border-radius:999px; padding:.7rem 3rem .7rem 1.2rem; font:inherit; color:var(--inchiostro); background:var(--bianco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2317171B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1.25rem center; -webkit-appearance:none; appearance:none; cursor:pointer;}

/* Product grid + card (woocommerce/content-product.php) */
.woocommerce ul.products{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,3vw,2.5rem) clamp(1rem,2.5vw,2rem); margin:0 0 2rem; padding:0; list-style:none;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product{width:auto!important; margin:0!important; float:none!important; padding:0!important; display:flex; flex-direction:column;}
@media(max-width:900px){ .woocommerce ul.products{grid-template-columns:repeat(2,1fr);} }
@media(max-width:520px){ .woocommerce ul.products{grid-template-columns:1fr;} }
.felings-card{display:block;}
.felings-card__media{position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--radius); background:var(--bianco);}
.felings-card__media img{width:100%!important; height:100%!important; object-fit:cover; margin:0!important; transition:transform 1.2s var(--ease);}
.felings-card:hover .felings-card__media img{transform:scale(1.04);}
.felings-card__badge{position:absolute; top:.8rem; left:.8rem; z-index:1; background:var(--bianco); color:var(--inchiostro); font-size:.72rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:.35rem .7rem; border-radius:999px;}
.felings-card__badge--sale{background:var(--bacio); color:#fff;}
.felings-card__badge--info{left:auto; right:.8rem;}
.felings-card__price--soon{font-weight:400; font-style:italic; font-size:.88rem; color:var(--grigio);}
.felings-note{display:inline-block; margin:.9rem 0 0; padding:.35rem .8rem; border-radius:999px; background:var(--pergamena); font-size:.85rem; font-weight:600; color:var(--inchiostro);}
.felings-note+.felings-price-trust{margin-top:.8rem;}
.woocommerce div.product .summary .felings-soon{margin-top:1.8rem;}
.felings-card__row{display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-top:1.1rem;}
.felings-card__title{font-family:var(--f-display); font-weight:500; font-size:1.4rem; line-height:1.15; margin:0; transition:color .25s;}
.felings-card:hover .felings-card__title{color:var(--bacio);}
.felings-card__price{font-weight:600; white-space:nowrap;}
.felings-card__price del{color:var(--grigio); font-weight:400; margin-right:.3em;}
.felings-card__price ins{text-decoration:none; color:var(--bacio);}
.felings-card__desc{color:var(--grigio); margin:.4rem 0 0; font-size:.95rem;}
.woocommerce ul.products li.product .button{margin-top:1.1rem; align-self:flex-start;}

/* Buttons (WooCommerce) */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--inchiostro)!important; color:var(--neve)!important; border-radius:999px!important; padding:.95em 1.6em!important; font-weight:600!important; font-family:var(--f-text); transition:background .3s var(--ease);}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--bacio)!important;}
.woocommerce .button.disabled,.woocommerce button.button:disabled,.woocommerce button.button.alt.disabled{opacity:.45!important;}
.woocommerce span.onsale{background:var(--bacio); border-radius:999px; min-height:0; line-height:1; padding:.5em .9em;}
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{border-top:0; border-radius:var(--radius); background:var(--bianco); box-shadow:inset 3px 0 0 var(--bacio);}
.woocommerce .woocommerce-message::before,.woocommerce .woocommerce-info::before{color:var(--bacio);}

/* Single product */
.woocommerce div.product{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,5vw,5rem); align-items:start;}
@media(max-width:860px){ .woocommerce div.product{grid-template-columns:1fr;} }
.woocommerce div.product div.images,.woocommerce div.product div.summary{width:auto!important; float:none!important; margin:0!important; min-width:0;}
.woocommerce div.product>*{min-width:0;}
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper{border-radius:14px; overflow:hidden; background:var(--bianco);}
.woocommerce div.product div.images .flex-control-thumbs{display:grid; grid-template-columns:repeat(6,1fr); gap:.6rem; margin-top:.8rem!important;}
.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important; margin:0!important;}
.woocommerce div.product div.images .flex-control-thumbs img{border-radius:6px; opacity:.55; transition:opacity .25s;}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;}
/* The gallery (shorter) stays in view while the choices scroll. */
.woocommerce div.product div.images{position:sticky; top:110px;}
@media(max-width:860px){ .woocommerce div.product div.images{position:relative; top:auto;} }
.woocommerce div.product .product_title{font-family:var(--f-display); font-weight:500; font-size:clamp(2.4rem,4.4vw,3.6rem); line-height:1; letter-spacing:-.01em; margin:0 0 .8rem;}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--inchiostro)!important; font-size:1.35rem!important; font-weight:600;}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--grigio); font-size:1.08rem; margin-top:1.2rem; max-width:48ch;}
.woocommerce div.product form.cart{margin:1.8rem 0 0!important;}
.woocommerce div.product form.cart table.variations{display:block; border:0; margin:0 0 1.2rem; width:100%; max-width:440px;}
.woocommerce div.product form.cart table.variations tbody{display:block;}
.woocommerce div.product form.cart table.variations tr:last-child{margin-bottom:0;}
.woocommerce div.product form.cart table.variations tr{display:flex; flex-direction:column; margin-bottom:1.1rem;}
.woocommerce div.product form.cart table.variations th,.woocommerce div.product form.cart table.variations td{display:block; padding:0; border:0; text-align:left; line-height:1.3;}
.woocommerce div.product form.cart table.variations th.label label{font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio); margin-bottom:.55rem; display:block;}
.woocommerce div.product form.cart table.variations select{width:100%; max-width:440px; border:1px solid var(--linea); background:var(--bianco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2317171B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1.4rem center; padding:1.05rem 3.2rem 1.05rem 1.05rem; font:inherit; font-size:1rem; color:var(--inchiostro); border-radius:var(--radius); -webkit-appearance:none; appearance:none; cursor:pointer;}
.woocommerce div.product form.cart table.variations select:focus{outline:none; border-color:var(--inchiostro); box-shadow:0 0 0 3px rgba(23,23,27,.08);}
.felings-remove-acc{margin-top:.6rem; padding:0; border:0; background:none; font:inherit; font-size:.85rem; color:var(--grigio); text-decoration:underline; text-underline-offset:3px; cursor:pointer;}
.felings-remove-acc:hover{color:var(--inchiostro);}
.felings-remove-acc[hidden]{display:none;}
.woocommerce div.product form.cart .reset_variations{display:none!important; font-size:.85rem; color:var(--grigio); margin-top:.6rem; display:inline-block; text-decoration:underline; text-underline-offset:3px;}
.woocommerce .quantity .qty{border:1px solid var(--linea); border-radius:999px; padding:.85rem .6rem; width:4.5em; background:var(--bianco);}
.woocommerce div.product form.cart .button{padding:1.05em 2em!important; font-size:1rem!important;}
.woocommerce div.product .product_meta{font-size:.82rem; color:var(--grigio); margin-top:1.6rem;}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1; margin-top:clamp(2rem,5vw,4rem);}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important; margin:0 0 1.8rem!important; border-bottom:1px solid var(--linea); display:flex; flex-wrap:wrap; gap:0 1.8rem; overflow:visible;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none!important; border:0!important; border-radius:0!important; margin:0!important; padding:0!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:.9rem 0!important; font-weight:600!important; color:var(--grigio)!important;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--inchiostro)!important; box-shadow:inset 0 -2px 0 var(--bacio);}
.woocommerce div.product .woocommerce-tabs .panel{max-width:68ch; color:#34343b; font-size:1.05rem; line-height:1.75;}
.woocommerce div.product .woocommerce-tabs .panel h2{font-family:var(--f-display); font-weight:500; font-size:1.7rem; margin-bottom:.8rem;}
.woocommerce div.product .woocommerce-tabs .panel a{text-decoration:underline; text-decoration-color:var(--bacio); text-underline-offset:3px;}
.woocommerce .related,.woocommerce .upsells,.woocommerce .cross-sells{grid-column:1/-1; margin-top:clamp(3rem,6vw,5rem);}
.woocommerce .related>h2,.woocommerce .upsells>h2,.woocommerce .cross-sells>h2{font-family:var(--f-display); font-weight:500; font-size:clamp(1.8rem,3vw,2.6rem); margin-bottom:1.8rem;}
.felings-price-trust{list-style:none; display:flex; flex-wrap:wrap; gap:.5rem 1.3rem; margin:.9rem 0 0; padding:0; color:var(--grigio); font-size:.88rem;}
.felings-price-trust li::before{content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--bacio); margin-right:.5rem; transform:translateY(-2px);}
.felings-engraving{margin:0 0 1.3rem;}
.felings-engraving label{display:block; font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio); margin-bottom:.55rem;}
.felings-engraving label span{letter-spacing:0; text-transform:none; font-weight:400;}
.felings-engraving input{width:100%; max-width:440px; border:1px solid var(--linea); background:var(--bianco); padding:.9rem 1.05rem; font:inherit; border-radius:var(--radius);}
.felings-engraving-preview{margin:.6rem 0 0;}
.felings-engraving-note{margin:.5rem 0 0; font-size:.85rem; color:var(--bacio);}
.felings-engraving-note[hidden]{display:none;}
.felings-engraving[hidden]{display:none;}
/* Heart closure (cards like the version ones); on HOPE it follows the version. */
.felings-cuore{max-width:440px; min-width:0; margin:0 0 1.3rem; padding:0; border:0;}
.felings-cuore>legend{padding:0;}
.felings-cuore .felings-engraving{margin:.9rem 0 0;}
.felings-cuore[data-mode="star"][data-ver=""]{display:none;}
.felings-cuore[data-ver="base"] [data-only="solo"],.felings-cuore[data-ver="base"] [data-for="solo"],.felings-cuore:not([data-ver="base"]) [data-for="base"]{display:none;}
.felings-cuore[data-ver="base"] [data-only="solo"]+.felings-versione__card{margin-top:0;}
/* ============================================================
   Dropdowns (main.js: FelingsSelect draws a listbox over the native select)
   ============================================================ */
.fsel{position:relative; width:100%; max-width:440px;}
.fsel__native{position:absolute!important; left:0; bottom:0; width:100%!important; height:100%!important; margin:0!important; opacity:0; pointer-events:none;}
.fsel__box{position:relative; display:flex; align-items:center; gap:.9rem; min-height:3.75rem; padding:.55rem 1rem .55rem .75rem; background:var(--bianco); border:1px solid var(--linea); border-radius:var(--radius); cursor:pointer; user-select:none; -webkit-user-select:none; transition:border-color .2s, box-shadow .2s;}
.fsel.is-empty .fsel__box{padding-left:1.05rem;}
.fsel__box:hover{border-color:rgba(23,23,27,.32);}
.fsel__box:focus{outline:none;}
.fsel__box:focus-visible,.fsel.is-open .fsel__box,.fsel__native:focus+.fsel__box{border-color:var(--inchiostro); box-shadow:0 0 0 3px rgba(23,23,27,.08);}
.fsel.is-invalid .fsel__box{border-color:var(--bacio); box-shadow:0 0 0 3px rgba(200,35,44,.12);}
.fsel__value{display:flex; align-items:center; gap:.9rem; flex:1 1 auto; min-width:0;}
.fsel__text{display:flex; flex-direction:column; gap:.1rem; min-width:0; line-height:1.25;}
.fsel__name{font-weight:500; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.fsel__sub{font-size:.82rem; color:var(--grigio); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.fsel__ph{font-weight:400; color:var(--grigio);}
.fsel__chev{flex:0 0 auto; display:grid; place-items:center; width:32px; height:32px; margin-left:auto; border-radius:50%; background:var(--neve); color:var(--inchiostro); transition:transform .35s var(--ease), background-color .2s, color .2s;}
.fsel__box:hover .fsel__chev{background:#ECECE7;}
.fsel.is-open .fsel__chev{transform:rotate(180deg); background:var(--inchiostro); color:var(--neve);}
.fsel__list{position:absolute; z-index:60; left:0; right:0; top:calc(100% + 8px); max-height:min(27rem,62vh); overflow-y:auto; overscroll-behavior:contain; padding:.4rem; background:var(--bianco); border:1px solid var(--linea); border-radius:12px; box-shadow:0 28px 56px -22px rgba(17,26,46,.38), 0 2px 8px rgba(17,26,46,.06); animation:fsel-in .2s var(--ease); scrollbar-width:thin;}
.fsel__list[hidden]{display:none;}
.fsel--up .fsel__list{top:auto; bottom:calc(100% + 8px); animation-name:fsel-up;}
@keyframes fsel-in{from{opacity:0; transform:translateY(-6px);}}
@keyframes fsel-up{from{opacity:0; transform:translateY(6px);}}
.fsel__group+.fsel__group,.fsel__opt+.fsel__group,.fsel__group+.fsel__opt{margin-top:.35rem; padding-top:.35rem; border-top:1px solid var(--linea);}
.fsel__glabel{padding:.55rem .75rem .35rem; font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio);}
.fsel__opt{display:flex; align-items:center; gap:.9rem; min-height:3rem; padding:.45rem .75rem; border-radius:8px; cursor:pointer; transition:background-color .15s;}
.fsel__opt.is-active{background:var(--neve);}
.fsel__opt[aria-selected="true"] .fsel__name{font-weight:600;}
.fsel__list .fsel__name,.fsel__list .fsel__sub{white-space:normal;}
.fsel__opt[aria-disabled="true"]{opacity:.42; cursor:not-allowed;}
.fsel__aside{margin-left:auto; padding-left:.5rem; font-size:.88rem; white-space:nowrap; font-variant-numeric:tabular-nums;}
.fsel__aside em{font-size:.8rem; color:var(--grigio);}
.fsel__check{flex:0 0 auto; margin-left:auto; color:var(--bacio); opacity:0; transform:scale(.6); transition:opacity .2s, transform .25s var(--ease);}
.fsel__aside+.fsel__check{margin-left:.7rem;}
.fsel__opt[aria-selected="true"] .fsel__check{opacity:1; transform:none;}
.fsel__swatch{flex:0 0 auto; width:26px; height:26px; border-radius:50%; background:var(--sw); box-shadow:inset 0 0 0 1px rgba(0,0,0,.14), inset 0 -6px 10px rgba(0,0,0,.08);}
.fsel__swatch--glitter{background:radial-gradient(rgba(255,255,255,.95) .7px, transparent 1.3px) 0 0/5px 5px, radial-gradient(rgba(0,0,0,.2) .7px, transparent 1.3px) 2.5px 2.5px/5px 5px, var(--sw);}
.fsel__thumb{flex:0 0 auto; width:46px; height:46px; border-radius:7px; overflow:hidden; background:var(--neve);}
.fsel__thumb img{width:100%; height:100%; object-fit:cover; transform:scale(1.12);}
.fsel__box .fsel__thumb{width:44px; height:44px;}
/* Shop sorting: a pill, list aligned right. */
.fsel--pill{display:inline-block; width:auto; min-width:15.5rem; max-width:none; vertical-align:middle;}
.fsel--pill .fsel__box{min-height:2.9rem; padding:.3rem .4rem .3rem 1.2rem; border-radius:999px; font-size:.92rem; color:var(--inchiostro);}
.fsel--pill .fsel__chev{width:30px; height:30px;}
.fsel--pill .fsel__list{left:auto; right:0; width:max-content; min-width:100%; max-width:min(22rem,86vw);}
.fsel--pill .fsel__opt{min-height:2.6rem; font-size:.95rem;}
.felings-form .fsel{max-width:none;}
@media(prefers-reduced-motion:reduce){ .fsel__list{animation:none;} .fsel__chev,.fsel__check{transition:none;} }

/* Product page: heart closure add-on, total, "prezzo in arrivo" */
.felings-versione{max-width:440px; margin:1.3rem 0 0;}
.felings-versione__label{display:block; font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio); margin-bottom:.55rem;}
.felings-versione__card{position:relative; display:flex; align-items:center; gap:.9rem; padding:.85rem 1rem; background:var(--bianco); border:1px solid var(--linea); border-radius:var(--radius); cursor:pointer; transition:border-color .2s, box-shadow .2s;}
.felings-versione__card+.felings-versione__card{margin-top:.5rem;}
.felings-versione__card:hover{border-color:rgba(23,23,27,.32);}
.felings-versione__card input{position:absolute; width:1px; height:1px; opacity:0;}
.felings-versione__card::before{content:""; flex:0 0 auto; width:20px; height:20px; border-radius:50%; border:1.5px solid rgba(23,23,27,.3); background:var(--bianco); box-shadow:inset 0 0 0 4px var(--bianco); transition:background-color .2s, border-color .2s;}
.felings-versione__card:has(input:checked){border-color:var(--inchiostro);}
.felings-versione__card:has(input:checked)::before{background-color:var(--inchiostro); border-color:var(--inchiostro);}
.felings-versione__card:has(input:focus-visible){border-color:var(--inchiostro); box-shadow:0 0 0 3px rgba(23,23,27,.12);}
.felings-versione__text{display:flex; flex-direction:column; gap:.15rem; min-width:0; line-height:1.3;}
.felings-versione__text strong{font-weight:500;}
.felings-versione__card,.felings-versione__text span{font-weight:400;}
.felings-versione__text span{font-size:.82rem; color:var(--grigio);}
.felings-versione__price{margin-left:auto; padding-left:.5rem; font-size:.92rem; white-space:nowrap; font-variant-numeric:tabular-nums;}
.woocommerce div.product form.cart table.variations tr.felings-hidden{display:none!important;}
.felings-from{font-weight:400; color:var(--grigio); font-size:.8em; margin-right:.15em;}
.woocommerce div.product .woocommerce-variation-price{display:none;}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart{display:flex; flex-wrap:wrap; align-items:center; gap:.8rem;}
.woocommerce div.product .single_variation_wrap .woocommerce-variation-add-to-cart>*:not(.quantity):not(.single_add_to_cart_button){flex:1 0 100%;}
.felings-total{display:flex; align-items:baseline; justify-content:space-between; gap:1rem; max-width:440px; margin:0 0 .4rem; padding:1rem 0 .2rem; border-top:1px solid var(--linea);}
.felings-total[hidden],.felings-soon[hidden]{display:none!important;}
.felings-total__label{font-size:.74rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--grigio);}
.felings-total__price{font-family:var(--f-display); font-weight:500; font-size:2rem; line-height:1; font-variant-numeric:lining-nums;}
.felings-soon{max-width:440px; padding:1.15rem 1.25rem 1.25rem; background:var(--pergamena); border-radius:var(--radius);}
.felings-soon p{margin:0 0 .9rem; font-size:.95rem;}
.variations_form.is-soon .quantity,.variations_form.is-soon .single_add_to_cart_button,.variations_form.is-soon .felings-cuore{display:none!important;}
.woocommerce-product-gallery__image img{transition:opacity .35s var(--ease);}
.woocommerce-product-gallery__image img.is-swapping{opacity:.3;}
.felings-photo-note{position:absolute; z-index:5; left:1rem; top:1rem; margin:0; padding:.35rem .8rem; border-radius:999px; background:rgba(255,255,255,.94); font-size:.8rem; color:var(--inchiostro); pointer-events:none;}
.felings-photo-note[hidden]{display:none;}
/* Product page: accessories to add (upsells), under gallery and choices */
.felings-upsells{grid-column:1/-1; margin-top:clamp(3rem,6vw,5rem);}
.felings-upsells__head{display:flex; justify-content:space-between; align-items:flex-end; gap:1rem 2rem; flex-wrap:wrap; margin-bottom:clamp(1.6rem,3vw,2.4rem);}
.felings-upsells .t-h2{font-size:clamp(1.9rem,3.4vw,2.8rem);}
.woocommerce .felings-upsells ul.products{grid-template-columns:repeat(4,1fr); margin:0;}
@media(max-width:900px){ .woocommerce .felings-upsells ul.products{grid-template-columns:repeat(2,1fr);} }
.felings-upsells li.product .felings-card{flex:1 0 auto;}
.felings-upsells .felings-card__media{aspect-ratio:1/1;}
.felings-upsells .felings-card__title{font-size:1.15rem;}
.felings-upsells .felings-card__desc{font-size:.88rem;}
.woocommerce .felings-upsells ul.products li.product .button{margin-top:1rem; padding:.75em 1.3em!important; font-size:.88rem!important;}
.woocommerce .felings-upsells ul.products li.product .added_to_cart{display:inline-block; margin-top:.6rem; font-size:.88rem; text-decoration:underline; text-underline-offset:3px;}
@media(max-width:520px){ .felings-upsells .felings-card__desc{display:none;} }
.felings-single-extra{grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.5rem,4vw,3.5rem); margin-top:clamp(3rem,6vw,5rem); padding-top:clamp(2rem,4vw,3rem); border-top:1px solid var(--linea);}
@media(max-width:760px){ .felings-single-extra{grid-template-columns:1fr;} }
.felings-single-extra h3{font-family:var(--f-display); font-weight:500; font-size:1.45rem; margin:0 0 .5rem;}
.felings-single-extra p{color:var(--grigio); margin:0;}
.felings-single-extra a{text-decoration:underline; text-underline-offset:3px;}
.product-rito{grid-column:1/-1; margin-top:clamp(3rem,6vw,5rem); padding:clamp(2.5rem,5vw,4rem); border-radius:14px; background:var(--notte); color:var(--luce);}
.product-rito .t-h2{font-size:clamp(1.9rem,3.4vw,2.8rem); margin-bottom:clamp(1.8rem,3vw,2.6rem);}
.felings-sticky-atc{position:fixed; left:0; right:0; bottom:0; z-index:90; display:flex; align-items:center; gap:1rem; padding:.75rem var(--gutter); background:var(--neve); border-top:1px solid var(--linea); box-shadow:0 -10px 30px rgba(17,26,46,.1);}
.felings-sticky-atc[hidden]{display:none;}
@media(min-width:861px){ .felings-sticky-atc{display:none!important;} }
.felings-sticky-atc__info{display:flex; flex-direction:column; line-height:1.2; flex:1 1 auto; min-width:0;}
.felings-sticky-atc__name{font-family:var(--f-display); font-size:1.1rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.felings-sticky-atc__price{color:var(--grigio); font-size:.88rem;}
.felings-sticky-atc__btn{border:0; border-radius:999px; background:var(--inchiostro); color:var(--neve); padding:.85rem 1.3rem; font-weight:600; cursor:pointer;}
.felings-thankyou{margin-bottom:2rem;}
.felings-thankyou h2{font-family:var(--f-display); font-weight:500; font-size:clamp(1.8rem,3.2vw,2.6rem); margin-bottom:.6rem;}
.felings-thankyou p{color:var(--grigio); max-width:56ch;}
.woocommerce .star-rating span::before,.woocommerce p.stars a::before{color:var(--bacio);}
.woocommerce #reviews h2,.woocommerce #reviews h3{font-family:var(--f-display); font-weight:500;}

/* Cart / checkout (blocks) */
.wc-block-components-title,.wc-block-components-checkout-step__title,.wc-block-cart__totals-title{font-family:var(--f-display)!important; font-weight:500!important; letter-spacing:-.01em;}
.wc-block-components-product-name{font-family:var(--f-display); font-size:1.15rem!important;}
.wc-block-components-button.contained,.wc-block-cart__submit-button .wc-block-components-button,.wc-block-components-checkout-place-order-button{background-color:var(--inchiostro)!important; color:var(--neve)!important; border-radius:999px!important; font-weight:600;}
.wc-block-components-button.contained:hover,.wc-block-cart__submit-button .wc-block-components-button:hover,.wc-block-components-checkout-place-order-button:hover{background-color:var(--bacio)!important;}
.wc-block-components-text-input input,.wc-block-components-textarea,.wc-block-components-select .wc-blocks-components-select__select,.wc-blocks-components-combobox input{border-radius:var(--radius)!important;}
.wc-block-components-text-input input:focus,.wc-block-components-textarea:focus{box-shadow:0 0 0 2px var(--inchiostro)!important;}
/* Country and province (WooCommerce blocks keep their native select): same arrow as the other dropdowns. */
.wc-blocks-components-select .wc-blocks-components-select__select{padding-right:3.4rem!important; cursor:pointer;}
.wc-blocks-components-select .wc-blocks-components-select__expand{right:14px!important; width:30px!important; height:30px!important; padding:4px; box-sizing:border-box; border-radius:50%; background:var(--neve); fill:var(--inchiostro)!important; transition:background-color .2s, fill .2s;}
.wc-blocks-components-select__select:focus+.wc-blocks-components-select__expand{background:var(--inchiostro); fill:var(--neve)!important;}
.wc-block-components-totals-item__value,.wc-block-formatted-money-amount{font-weight:600;}
.wp-block-woocommerce-checkout-order-summary-block,.wc-block-cart__sidebar .wc-block-components-totals-wrapper{background:var(--bianco);}
.felings-ship-bar{background:var(--bianco); border-radius:var(--radius); padding:1rem 1.25rem; margin-bottom:1.8rem;}
.felings-ship-bar__msg{margin:0 0 .6rem;}
.felings-ship-bar--free .felings-ship-bar__msg{margin:0;}
.felings-ship-bar__msg strong::before{content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--bacio); margin-right:.55rem; transform:translateY(-2px);}
.felings-ship-bar__track{height:6px; border-radius:6px; background:#E6E5DF; overflow:hidden;}
.felings-ship-bar__fill{display:block; height:100%; background:var(--bacio);}

/* My account */
.woocommerce-account .woocommerce{display:grid; grid-template-columns:240px 1fr; gap:3rem; align-items:start;}
@media(max-width:760px){ .woocommerce-account .woocommerce{grid-template-columns:1fr;} }
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none; margin:0; padding:0; border-top:1px solid var(--linea);}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--linea);}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block; padding:.85rem 0; font-weight:500;}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{color:var(--bacio);}
.woocommerce .u-columns.col2-set{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem;}
@media(max-width:700px){ .woocommerce .u-columns.col2-set{grid-template-columns:1fr;} }
.woocommerce form.login,.woocommerce form.register{border:1px solid var(--linea); border-radius:14px; padding:1.8rem; background:var(--bianco);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1px solid var(--linea); border-radius:var(--radius); padding:.85rem 1rem;}

/* ============================================================
   Motion
   ============================================================ */
@keyframes rise{from{opacity:0; transform:translateY(28px);} to{opacity:1; transform:none;}}
@keyframes lineUp{from{transform:translateY(105%);} to{transform:none;}}
@keyframes starIn{from{opacity:0; transform:translateY(40px) rotate(-14deg) scale(.92);} to{opacity:1; transform:none;}}
@keyframes drift{0%,100%{transform:translateY(0) rotate(0);} 50%{transform:translateY(-10px) rotate(1.6deg);}}
@keyframes noteIn{from{opacity:0; transform:translateY(24px) rotate(2deg);} to{opacity:1; transform:rotate(-5deg);}}
html.js .hero__title .ln>span{animation:lineUp 1.1s var(--ease) both; animation-delay:calc(.15s + var(--i,0) * .12s);}
html.js .hero [data-load]{animation:rise 1s var(--ease) both; animation-delay:calc(.55s + var(--i,0) * .12s);}
html.js .hero__star{animation:starIn 1.5s var(--ease) both .35s, drift 9s ease-in-out 2s infinite;}
html.js .hero__note{animation:noteIn 1.1s var(--ease) both 1.4s;}
html.js [data-reveal]{opacity:0; transform:translateY(30px); transition:opacity 1s var(--ease), transform 1s var(--ease); transition-delay:calc(var(--d,0) * 110ms);}
html.js [data-reveal="img"]{transform:none; clip-path:inset(14% 0 0 0 round var(--radius)); transition:opacity 1s var(--ease), clip-path 1.3s var(--ease); transition-delay:calc(var(--d,0) * 110ms);}
html.js [data-reveal].is-in{opacity:1; transform:none;}
html.js [data-reveal="img"].is-in{clip-path:inset(0 0 0 0 round var(--radius));}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important;}
  html.js [data-reveal]{opacity:1; transform:none; clip-path:none;}
}
