@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,opsz,wght,SOFT,WONK@0,9..144,400,0,0;0,9..144,500,0,0;0,9..144,600,0,0;1,9..144,400,0,0;1,9..144,500,0,0&display=swap');
:root{--paper:#faf6ee;--ivory:#fffdf8;--oat:#ede5d8;--ink:#28241e;--wine:#8c2d2b;--wine-dark:#70231f;--olive:#677052;--muted:#6e665e;--line:#ded2c2;--gold:#c8a56d;--content:1280px;--pad:clamp(20px,4.3vw,72px)}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}::selection{background:#edd7b6;color:var(--ink)}:focus-visible{outline:3px solid var(--wine);outline-offset:3px}.wrap{width:min(100%,var(--content));padding-inline:var(--pad);margin-inline:auto}.smallcaps,.eyebrow{font:700 11px/1.4 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase}.eyebrow{color:var(--wine)}.serif,h1,h2,h3,.wordmark,.price,.summary-number{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-.035em}.skip{position:absolute;z-index:200;left:-9999px;top:5px;background:var(--ivory);padding:10px 20px}.skip:focus{left:15px}.topline{background:#492a2b;color:#fffbf5;text-align:center;padding:9px var(--pad);font-size:12px;letter-spacing:.025em}.topline a{text-decoration:underline;text-underline-offset:3px}.site-header{background:rgba(250,246,238,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40;backdrop-filter:blur(18px)}.head-inner{display:flex;gap:32px;align-items:center;justify-content:space-between;min-height:78px}.wordmark{font-size:clamp(23px,2.2vw,32px);line-height:.92;color:var(--wine);display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.wordmark .mark{border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;font:italic 500 20px 'Fraunces',Georgia,serif;width:43px;height:43px}.wordmark em{font-style:normal}.wordmark small{display:block;font:600 10px/1.4 'DM Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:4px;color:#6e5b50}.nav-list{display:flex;gap:clamp(16px,2.4vw,34px);align-items:center;list-style:none;margin:0;padding:0}.nav-list a{font-weight:600;font-size:13px;transition:color .2s}.nav-list a:hover,.footer a:hover{color:var(--wine);text-decoration:underline;text-underline-offset:5px}.head-actions{display:flex;align-items:center;gap:12px}.lang{font-weight:700;font-size:12px}.cart-button,.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;border:1px solid var(--wine);padding:12px 20px;min-height:48px;background:var(--wine);color:white;border-radius:3px;font-weight:700;font-size:13px;transition:background .22s,transform .22s,border-color .22s}.cart-button:hover,.button:hover{background:var(--wine-dark);border-color:var(--wine-dark);transform:translateY(-1px)}.cart-count{display:grid;place-items:center;background:#f8e9d4;color:var(--wine);font:700 11px 'DM Sans',sans-serif;border-radius:100%;width:22px;height:22px}.button.light{background:var(--ivory);color:var(--ink);border-color:var(--ivory)}.button.light:hover{background:#ece1d0}.button.outline{background:transparent;color:var(--wine)}.button.outline:hover{color:white;background:var(--wine)}.button.cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.wide{width:100%}.menu-button{border:0;background:transparent;color:var(--ink);font-size:23px;display:none;padding:7px}.hero{overflow:hidden;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:.97fr 1.03fr;min-height:640px}.hero-copy{padding:clamp(64px,8vw,100px) clamp(16px,4vw,64px) 72px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.hero-copy h1{font-size:clamp(58px,6.2vw,100px);line-height:1.02;margin:18px 0 24px;max-width:660px}.hero-copy h1 em{color:var(--wine);font-weight:400}.lead{font-size:clamp(16px,1.4vw,19px);line-height:1.7;color:#595149;max-width:560px;margin:0 0 31px}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap}.under-note{margin-top:27px;font-size:13px;color:var(--muted);max-width:490px}.hero-photo{position:relative;min-height:590px;overflow:hidden;background:#cebba4}.hero-photo>.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,22,18,.35),transparent 45%)}.hero-photo-caption{position:absolute;z-index:2;bottom:35px;left:35px;right:35px;color:white;font:500 19px/1.3 'Fraunces',Georgia,serif}.hero-overlay-product{position:absolute;z-index:2;right:-3%;bottom:-10%;width:min(42%,260px);transform:rotate(7deg);filter:drop-shadow(0 15px 20px rgba(18,15,11,.22));background:rgba(251,244,229,.96);padding:12px;border:1px solid #e4d7c9;border-radius:4px}.promise{border-bottom:1px solid var(--line)}.promise-list{display:grid;grid-template-columns:repeat(3,1fr)}.promise-item{display:flex;gap:17px;padding:21px 15px;align-items:center;border-right:1px solid var(--line)}.promise-item:last-child{border-right:0}.promise-item .nr{font:500 24px 'Fraunces';color:var(--wine)}.promise-item b{display:block;font-size:12px}.promise-item span{font-size:12px;color:var(--muted)}.section{padding:clamp(75px,8vw,124px) 0}.section-head{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:36px;margin-bottom:36px}.section-head h2,.split-copy h2,.how h2,.faq h2,.payment h2,.business h2{font-size:clamp(44px,5.4vw,75px);line-height:1.08;margin:9px 0 0}.section-head p{color:var(--muted);max-width:380px;font-size:15px;margin:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.product{background:var(--ivory);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:transform .25s,box-shadow .25s}.product:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(74,51,31,.1)}.product-media{height:330px;display:grid;place-items:center;background:#efe8dd;position:relative;overflow:hidden}.product:nth-child(2) .product-media{background:#f0e8e0}.product:nth-child(3) .product-media{background:#e8dfd2}.product-media img{width:92%;height:300px;object-fit:contain;transition:transform .35s}.product:hover .product-media img{transform:scale(1.04)}.corner-ribbon{position:absolute;top:18px;left:17px;background:var(--ivory);color:var(--wine);padding:7px 10px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;z-index:2}.product-content{display:flex;flex:1;flex-direction:column;padding:27px}.product-content h3{font-size:29px;margin:0 0 9px;line-height:1.2}.product-content p{color:var(--muted);font-size:14px;line-height:1.7;flex:1;margin:0 0 16px}.product-pricing{padding-top:15px;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:18px}.price{font-size:35px;line-height:1}.price-hint{font-size:11px;color:var(--muted);text-align:right}.product-content .detail-link{display:block;font-size:13px;color:var(--wine);text-align:center;text-decoration:underline;text-underline-offset:4px;margin-top:12px}.product-caption{font-size:12px;color:var(--muted);margin:18px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;min-height:660px}.split-image{position:relative;min-height:500px;overflow:hidden;background:#756656}.split-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.split-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:clamp(50px,8vw,105px);background:#ede1d0}.split-copy p{max-width:540px;color:#595047;line-height:1.8}.split-copy h2{margin:15px 0 25px}.split-copy .button{margin-top:15px}.split:nth-of-type(even) .split-copy{background:#e5e5d8}.craft{background:#41342b;color:var(--paper);padding:clamp(78px,8vw,125px) 0}.craft-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.craft .eyebrow{color:#eed1ad}.craft h2{font-size:clamp(44px,5vw,73px);line-height:1.13;margin:15px 0 25px}.craft p{color:#ede0cf;max-width:600px;line-height:1.85}.craft figure{margin:0;position:relative}.craft img{width:100%;height:450px;object-fit:cover}.craft figcaption{font-size:12px;color:#dac8b3;margin-top:12px}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.value{border-top:1px solid var(--line);padding-top:24px}.value h3{font-size:27px;margin:0 0 6px}.value p{color:var(--muted);font-size:14px;max-width:330px}.how{background:var(--oat);padding:clamp(70px,8vw,120px) 0}.how-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.how-list{display:grid;gap:0}.how-row{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid #cec0ae}.how-row:first-child{border-top:1px solid #cec0ae}.how-num{font:500 33px 'Fraunces',Georgia,serif;color:var(--wine)}.how-row h3{font-size:25px;margin:0 0 4px}.how-row p{font-size:14px;color:var(--muted);margin:0}.note{font-size:13px;color:var(--muted);max-width:760px}.payment{background:#f4ebdd;padding:85px 0}.payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.payment p{color:var(--muted);max-width:520px}.bank-card{border:1px solid #cbb9a5;background:var(--ivory);padding:30px}.bank-card dl{margin:0}.bank-card dt{font:700 11px 'DM Sans';letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:17px}.bank-card dd{margin:5px 0 0;font-weight:700;word-break:break-word}.bank-card dd button{background:none;border:0;color:var(--wine);text-decoration:underline;font-size:12px;font-weight:700;margin-left:10px}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.faq-list details{border-top:1px solid var(--line);padding:22px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-weight:700;list-style:none;font-size:17px;display:flex;justify-content:space-between;gap:16px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--wine);font-size:21px}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:var(--muted);margin-bottom:0;line-height:1.7}.business{padding:85px 0;background:var(--wine-dark);color:white}.business-inner{display:flex;justify-content:space-between;gap:60px;align-items:center}.business h2{max-width:740px}.business p{color:#f0dad1;max-width:600px}.footer{background:#e5d9c9;padding:55px 0 30px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:50px}.footer h3{margin:0 0 13px;font-size:17px}.footer p,.footer a{font-size:13px;color:#554b43;line-height:1.8}.footer ul{margin:0;padding:0;list-style:none}.footer li{margin-bottom:5px}.legal-line{border-top:1px solid #cbb9a7;margin-top:35px;padding-top:22px;color:#62564d;font-size:11px}.badge{display:inline-flex;padding:6px 10px;border:1px solid var(--wine);color:var(--wine);font:700 10px 'DM Sans';letter-spacing:.1em;text-transform:uppercase}.detail-hero{padding:75px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,100px);align-items:center}.detail-photo{background:#eee5d8;min-height:510px;display:grid;place-items:center;padding:30px}.detail-photo img{height:450px;object-fit:contain}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:22px}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.detail-info h1{font-size:clamp(47px,5vw,72px);line-height:1.09;margin:14px 0}.detail-info p{color:var(--muted)}.detail-price{font:500 48px 'Fraunces';margin:23px 0 0}.detail-summary{background:#f1e6d9;padding:22px;margin:25px 0}.detail-summary strong{display:block;font-size:14px}.detail-summary span{font-size:13px;color:var(--muted)}.detail-info .button{margin-top:10px}.product-details{background:var(--ivory);padding:80px 0}.product-details .wrap{max-width:880px}.product-details h2{font-size:44px;margin-top:0}.product-details p{color:var(--muted)}.more-formats{padding:90px 0}.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.more-card{display:flex;align-items:center;gap:24px;background:var(--ivory);border:1px solid var(--line);padding:20px}.more-card img{height:130px;width:140px;object-fit:contain}.more-card strong{display:block;font-size:20px;font-family:'Fraunces',Georgia,serif}.more-card small{color:var(--muted)}.overlay{position:fixed;inset:0;background:rgba(27,19,13,.52);opacity:0;visibility:hidden;z-index:90;transition:.22s}.overlay.open{opacity:1;visibility:visible}.drawer{position:fixed;inset:0 0 0 auto;width:min(100%,500px);background:var(--ivory);z-index:91;transform:translateX(105%);transition:transform .32s;display:flex;flex-direction:column;box-shadow:-10px 0 50px #20140c24}.drawer.open{transform:translateX(0)}.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:22px 27px;border-bottom:1px solid var(--line)}.drawer-head h2{font-size:34px;margin:0}.drawer-head button{border:1px solid var(--line);background:transparent;width:39px;height:39px;font-size:25px}.drawer-items{padding:18px 27px;overflow:auto;flex:1}.cart-item{padding:17px 0;border-bottom:1px solid var(--line)}.cart-item>strong{font-size:15px}.cart-item small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.cart-item-actions{display:flex;align-items:center;gap:12px;margin-top:13px}.cart-item-actions button{border:1px solid var(--line);background:white;width:32px;height:32px}.cart-item-actions .remove{margin-left:auto;border:0;text-decoration:underline;color:var(--wine);width:auto;background:none;font-size:12px}.cart-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:16px;margin-top:25px}.cart-total strong{font:500 28px 'Fraunces';color:var(--wine)}.drawer-foot{padding:18px 27px 24px;border-top:1px solid var(--line);overflow-y:auto;max-height:55vh}.drawer-foot label{display:block;font:700 11px 'DM Sans';text-transform:uppercase;letter-spacing:.07em;margin:10px 0 5px}.drawer-foot input,.drawer-foot textarea{width:100%;padding:11px 12px;border:1px solid #cec2b3;background:white;border-radius:2px}.drawer-foot textarea{min-height:65px;resize:vertical}.drawer-foot .button{margin-top:15px}.drawer-foot p{color:var(--muted);font-size:12px;line-height:1.6}.error{font-size:12px;color:var(--wine);min-height:1em}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:white;padding:12px 22px;z-index:110;transition:.22s;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-action{display:none}.line-card{background:var(--wine);color:white;padding:25px}.line-card h3{font-size:25px;margin:0}.line-card p{color:#f3ddd6;font-size:13px;margin:8px 0 0}
@media(max-width:1030px){.head-inner{gap:18px}.nav-list{gap:14px}.nav-list a{font-size:12px}.hero-copy h1{font-size:clamp(56px,6.8vw,88px)}.product-media{height:280px}.product-media img{height:265px}}
@media(max-width:780px){.head-inner{min-height:67px}.menu-button{display:block}.nav-list{display:none;position:absolute;left:0;right:0;top:67px;background:var(--paper);flex-direction:column;align-items:flex-start;padding:25px var(--pad);border-bottom:1px solid var(--line);gap:19px}.nav-list.open{display:flex}.wordmark{font-size:24px}.wordmark .mark{width:36px;height:36px;font-size:16px}.cart-button{font-size:0;gap:7px;padding:9px 11px}.cart-button .cart-count{font-size:11px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:65px 0 45px}.hero-copy h1{font-size:clamp(56px,10vw,83px);max-width:620px}.hero-photo{min-height:440px;margin-inline:calc(-1 * var(--pad))}.hero-overlay-product{width:185px}.promise-list{grid-template-columns:1fr}.promise-item{padding:13px 0;border-right:0;border-bottom:1px solid var(--line)}.promise-item:last-child{border-bottom:0}.section-head,.how-grid,.payment-grid,.faq-grid,.craft-grid{grid-template-columns:1fr;gap:27px}.section-head h2,.split-copy h2,.how h2,.faq h2,.payment h2{font-size:clamp(43px,8vw,65px)}.product-grid{grid-template-columns:1fr}.product-media{height:335px}.product-media img{height:305px}.split{grid-template-columns:1fr}.split-image{min-height:360px}.split-copy{padding:60px var(--pad)}.craft-grid{gap:36px}.craft img{height:320px}.values{grid-template-columns:1fr}.business-inner{flex-direction:column;align-items:flex-start}.footer-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr;gap:27px}.detail-hero{padding:35px 0 70px}.detail-photo{min-height:360px}.detail-photo img{height:310px}.mobile-action{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-between;align-items:center;gap:12px;padding:11px var(--pad) calc(11px + env(safe-area-inset-bottom));background:rgba(250,246,238,.97);border-top:1px solid var(--line);z-index:35;box-shadow:0 -8px 20px #291f1420}.mobile-action small{font-size:12px}.mobile-action strong{display:block;font-size:14px}.mobile-action .button{white-space:nowrap}.footer{padding-bottom:98px}.more-grid{grid-template-columns:1fr}}
@media(max-width:460px){.hero-copy h1{font-size:54px}.hero-photo{min-height:335px}.hero-photo-caption{bottom:22px;left:22px;font-size:16px}.hero-overlay-product{width:137px;right:-2%;bottom:-8%}.wordmark small{font-size:8px}.wordmark{font-size:21px}.topline{font-size:11px}.footer-grid{grid-template-columns:1fr}.bank-card{padding:22px}.bank-card dd button{display:block;margin:4px 0}.more-card img{width:100px}.detail-info h1{font-size:51px}.drawer-head,.drawer-items,.drawer-foot{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Asset locali come fallback quando un servizio fotografico esterno non è raggiungibile */
.hero-photo{background:#cebba4 url('../images/4cappuccini.jpg') center/cover no-repeat}
.split-image{background:#796955 url('../images/espresso_cuore.png') center/cover no-repeat}


/* Logo originale Italprotein, distribuzione ufficiale. Il ritaglio avviene solo via CSS. */
.brand-relationship{display:flex;align-items:center;gap:13px;flex:0 0 auto;min-width:0}
.brand-relationship>.wordmark{flex:0 0 auto}
.italprotein-logo-window{position:relative;display:block;flex-shrink:0;overflow:hidden;isolation:isolate;background:#fff}
.italprotein-logo-window>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}
.brand-affiliation{display:flex;align-items:center;padding:5px 7px;background:#fff;border:1px solid #e4d7c8;border-radius:3px;transition:border-color .2s,transform .2s}
.brand-affiliation:hover{border-color:var(--gold);transform:translateY(-1px)}
.brand-affiliation .italprotein-logo-window{width:136px;height:42px}
.hero-italprotein-brand{position:absolute;top:24px;left:25px;z-index:5;display:block;width:min(48%,290px);padding:12px 16px 10px;background:#fffdf9;border:1px solid rgba(114,87,67,.28);border-radius:3px;box-shadow:0 10px 30px rgba(28,21,18,.18);transition:transform .25s}
.hero-italprotein-brand:hover{transform:translateY(-2px)}
.hero-italprotein-brand>.brand-caption,.footer-italprotein-brand>.brand-caption,.detail-italprotein-brand>.brand-caption{display:block;color:#5c5147;font:700 10px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.055em;text-transform:uppercase}
.hero-italprotein-brand .italprotein-logo-window{width:100%;height:auto;aspect-ratio:3.6/1;margin-top:4px}
.footer-italprotein-brand{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin:23px 0;padding:12px 14px 10px;max-width:295px;background:#fff;border:1px solid #e3d8c9;border-radius:3px}
.footer-italprotein-brand>a{display:block;width:100%}
.footer-italprotein-brand .italprotein-logo-window{width:100%;aspect-ratio:3.5/1}
.detail-italprotein-brand{display:inline-flex;align-items:center;gap:12px;max-width:100%;margin:10px 0 15px;padding:7px 12px;background:#fff;border:1px solid var(--line);border-radius:4px}
.detail-italprotein-brand .italprotein-logo-window{width:165px;height:46px}
@media(max-width:1230px){.brand-relationship{gap:8px}.brand-affiliation .italprotein-logo-window{width:105px;height:36px}.head-inner{gap:18px}.nav-list{gap:12px}}
@media(max-width:1040px){.brand-affiliation{display:none}}
@media(max-width:780px){.hero-italprotein-brand{top:15px;left:15px;width:min(56%,225px);padding:8px 10px}.hero-italprotein-brand>.brand-caption{font-size:9px}.footer-italprotein-brand{max-width:265px}}
@media(max-width:460px){.hero-italprotein-brand{width:min(54%,190px)}.detail-italprotein-brand .italprotein-logo-window{width:118px;height:36px}.detail-italprotein-brand>.brand-caption{font-size:9px}}
@media(prefers-reduced-motion:reduce){.brand-affiliation,.hero-italprotein-brand{transition:none!important}}
