/*
Theme Name: ROSINA Gelato
Theme URI: https://rosinagelato.com
Author: ROSINA
Description: Tema editorial para ROSINA Gelato, nacido en Bologna y hecho en Barcelona.
Version: 6.0.0
Text Domain: rosina-gelato
*/
:root{--coral:#c85f52;--coral-deep:#ad483e;--olive:#4c5d40;--olive-dark:#34422f;--cream:#f1e6d1;--cream-light:#f8f2e7;--oat:#c5bd98;--aqua:#a9d8d6;--ink:#34422f;--white:#fffaf0;--line:rgba(52,66,47,.28);--font-display:"Brodies","Iowan Old Style",Baskerville,"Times New Roman",serif;--font-body:"Aileron","Helvetica Neue",Helvetica,Arial,sans-serif;--font-navigation:"Aileron","Helvetica Neue",Helvetica,Arial,sans-serif;--font-reading:"Aileron","Helvetica Neue",Helvetica,Arial,sans-serif;--serif:var(--font-display);--sans:var(--font-body);--reading-size:1.125rem;--reading-line-height:1.75;--header-bg:var(--coral);--header-text:var(--cream);--header-cta-bg:var(--olive);--header-height:92px;--footer-bg:var(--coral);--footer-text:var(--cream);--button-radius:999px}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream-light);color:var(--ink);font-family:var(--sans);line-height:1.5}
main{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,blockquote,figure{margin-top:0}
h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;line-height:1}
p{max-width:63ch}
.wp-site-blocks,.wp-block-group{margin-block-start:0}
.site-header{align-items:center;background:var(--header-bg);border-bottom:1px solid rgba(255,250,240,.28);color:var(--header-text);display:grid;grid-template-columns:240px 1fr auto;height:var(--header-height);padding:0 clamp(24px,4.5vw,72px);position:relative;z-index:30}
.site-header.is-sticky{position:sticky;top:0}
.brand-lockup{align-items:center;display:flex;gap:14px;width:max-content}
.brand-lockup>img:first-child{height:56px;width:56px}
.brand-word{height:auto;width:134px}
.desktop-nav ul{align-items:center;display:flex;gap:clamp(18px,2.4vw,42px);justify-content:center;list-style:none;margin:0;padding:0}
.desktop-nav a{font-family:var(--font-navigation);font-size:clamp(.92rem,1vw,1.04rem)}
.header-cta,.pill{align-items:center;border:1px solid currentColor;border-radius:var(--button-radius);display:inline-flex;font-family:var(--font-navigation);justify-content:center;line-height:1;min-height:42px;padding:0 22px;transition:.18s ease}
.header-cta{background:var(--header-cta-bg);color:var(--header-text)}
.header-cta:hover,.pill:hover{transform:translateY(-2px)}
.mobile-nav{display:none;justify-self:end;position:relative}
.mobile-nav summary{cursor:pointer;font-family:var(--font-navigation);list-style:none}
.mobile-nav>div{background:var(--cream-light);border:1px solid var(--line);color:var(--ink);display:grid;gap:16px;padding:25px;position:absolute;right:0;top:34px;width:min(290px,calc(100vw - 40px))}
.mobile-nav ul{display:grid;gap:16px;list-style:none;margin:0;padding:0}
.kicker{font-size:.67rem;font-weight:600;letter-spacing:.18em;margin-bottom:24px;text-transform:uppercase}
.light{color:var(--cream)}
.pill{font-size:.93rem;margin-top:18px;min-height:44px}
.pill-cream{background:var(--cream);color:var(--olive-dark)}
.pill-coral{background:var(--coral);color:var(--cream)}
.pill-green{background:var(--olive);color:var(--cream)}
.pill-outline{background:transparent;color:var(--cream)}
.text-link{border-bottom:1px solid;display:inline-block;font-family:var(--font-navigation);padding-bottom:4px}
.section-pad{padding:clamp(76px,8vw,126px) clamp(24px,6vw,98px)}
.home-hero{display:grid!important;gap:0!important;grid-template-columns:.82fr 1.18fr;min-height:610px}
.home-hero-copy{align-items:flex-start;background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:var(--cream);display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,7vw,112px) clamp(34px,5vw,84px)}
.home-hero h1{font-size:clamp(3.8rem,5.6vw,7.2rem);max-width:680px}
.hero-tagline{font-family:var(--serif);font-size:clamp(1.05rem,1.35vw,1.3rem);margin:24px 0 4px}
.home-hero-image{height:100%;margin:0!important;min-height:610px}
.home-hero-image img{height:100%;object-fit:cover;width:100%}
.origin-flavours{display:grid!important;gap:0!important;grid-template-columns:.94fr 1.06fr}
.origin-card{align-items:center;background:var(--cream);display:grid;gap:clamp(24px,3.2vw,48px);grid-template-columns:minmax(150px,.72fr) 1.28fr;padding:clamp(52px,6vw,88px) clamp(28px,5vw,78px)}
.origin-photo{aspect-ratio:1;border:3px solid var(--coral);border-radius:50%;overflow:hidden}
.origin-photo img{height:100%;object-fit:cover;width:100%}
.origin-card h2{font-size:clamp(2.5rem,3.6vw,4.6rem);margin-bottom:18px}
.origin-card p:not(.kicker),.mosaic-copy p,.family-band p:not(.kicker){font-family:var(--serif)}
.flavour-panel{background:var(--olive);color:var(--cream);padding:clamp(52px,6vw,88px) clamp(28px,5vw,78px);text-align:center}
.flavour-panel>.kicker{text-align:left}
.flavour-grid{display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin:10px 0 28px}
.flavour h3{font-size:clamp(1.25rem,1.6vw,1.75rem);margin:12px 0 6px}
.flavour p{font-family:var(--serif);font-size:.82rem;margin:auto}
.scoop{border-radius:48% 52% 45% 55%;box-shadow:inset -10px -14px 20px rgba(66,44,27,.16),0 10px 0 -6px rgba(22,32,18,.25);display:block;height:clamp(72px,8vw,112px);margin:0 auto;width:clamp(78px,8.6vw,122px)}
.pistachio{background:#b7ad73}
.cream{background:#eee2c8}
.strawberry{background:#c8524b}
.hazelnut{background:#bd8c5f}
.home-mosaic{display:grid!important;gap:0!important;grid-template-columns:.75fr 1fr .8fr 1.2fr;min-height:440px}
.mosaic-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,5vw,72px)}
.mosaic-copy h2{font-size:clamp(2.4rem,3.4vw,4.3rem)}
.mosaic-olive{background:var(--olive);color:var(--cream)}
.mosaic-cream{background:var(--cream)}
.mosaic-photo{margin:0;min-height:440px;overflow:hidden}
.mosaic-photo img{height:100%;object-fit:cover;width:100%}
.family-band{align-items:center;background:var(--coral);color:var(--cream);display:grid!important;gap:clamp(42px,7vw,120px);grid-template-columns:.8fr 1.2fr;padding:clamp(76px,8vw,126px) clamp(28px,8vw,140px)}
.family-band h2{font-size:clamp(3.2rem,6vw,7.4rem)}
.family-mark{align-items:center;display:flex;gap:20px;justify-content:center}
.family-r{align-items:center;background:var(--olive);border:2px solid var(--cream);border-radius:50%;display:flex;font-family:var(--serif)!important;font-size:clamp(4rem,8vw,8rem)!important;height:clamp(150px,18vw,260px);justify-content:center;margin:0;width:clamp(150px,18vw,260px)}
.family-plus{font-family:var(--serif)!important;font-size:3rem!important;margin:0}
.family-pasta{font-family:var(--sans)!important;font-size:clamp(1.3rem,2.4vw,2.5rem)!important;font-weight:700;letter-spacing:.1em;line-height:.94!important;margin:0}
.news-preview{background:var(--cream-light)}
.section-heading{align-items:end;display:flex;justify-content:space-between;margin-bottom:clamp(44px,6vw,80px)}
.section-heading h2{font-size:clamp(3.2rem,5.4vw,6.4rem);margin-bottom:0;max-width:950px}
.news-grid{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.news-grid article{min-height:330px;padding:28px clamp(24px,3vw,48px) 48px 0}
.news-grid article+article{border-left:1px solid var(--line);padding-left:clamp(24px,3vw,48px)}
.news-grid span{font-size:.66rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.news-grid h3{font-size:clamp(2rem,2.8vw,3.4rem);margin:70px 0 18px}
.page-hero{min-height:64vh;padding:clamp(110px,11vw,170px) clamp(24px,8vw,128px)}
.page-hero h1{font-size:clamp(4rem,8vw,9rem);max-width:1250px}
.page-hero>p:last-child{font-family:var(--serif);font-size:1.17rem;margin-top:30px}
.page-hero-pine{background:var(--olive-dark);color:var(--cream)}
.page-hero-oat{background:var(--oat)}
.story,.story-band,.locations{display:grid;grid-template-columns:1fr 1fr}
.story{gap:80px}
.story h2{font-size:clamp(3rem,5vw,6rem);margin-top:36px}
.story>div+div p{font-family:var(--serif);font-size:clamp(1.16rem,1.7vw,1.45rem)}
.story-band{background:var(--coral);color:var(--cream)}
.story-band>div{min-height:480px;padding:clamp(58px,7vw,110px)}
.story-band>div+div{border-left:1px solid rgba(241,230,209,.38)}
.story-band h2{font-size:clamp(3rem,5vw,6rem)}
.flavour-page-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.flavour-page-grid article{border-top:1px solid var(--line);padding:24px 32px 64px 0;text-align:center}
.flavour-page-grid article+article{border-left:1px solid var(--line);padding-left:32px}
.flavour-page-grid .scoop{height:clamp(100px,12vw,170px);margin-top:50px;width:clamp(110px,13vw,185px)}
.flavour-page-grid h2{font-size:clamp(2rem,3vw,3.6rem);margin:32px 0 10px}
.visit-hero{background:var(--coral);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;min-height:680px}
.visit-hero>div{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,8vw,128px)}
.visit-hero h1{font-size:clamp(4rem,7vw,8rem)}
.visit-hero figure{margin:0;min-height:680px}
.visit-hero img{height:100%;object-fit:cover;width:100%}
.locations article{min-height:520px;padding:28px clamp(28px,6vw,90px) 70px 0}
.locations article+article{background:var(--oat);border-left:1px solid var(--line);padding-left:clamp(28px,6vw,90px)}
.locations span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase}
.locations h2{font-size:clamp(4rem,7vw,8rem);margin:72px 0 22px}
.locations address,.location-address{font-family:var(--serif);font-size:clamp(1.6rem,2.5vw,2.6rem);font-style:normal;line-height:1.15}
.journal-grid{display:grid;gap:60px;grid-template-columns:1fr 1fr}
.journal-grid article{border-top:1px solid var(--line);padding-top:24px}
.journal-grid h2{font-size:clamp(2.5rem,4vw,5rem);margin:42px 0 18px}
.post-thumb img{aspect-ratio:4/3;object-fit:cover;width:100%}
.single-post{margin:auto;max-width:1100px}
.single-post h1{font-size:clamp(4rem,7vw,8rem)}
.single-post>figure img{width:100%}
.prose{font-family:var(--font-reading);font-size:var(--reading-size);line-height:var(--reading-line-height);margin:50px auto;max-width:760px}
.prose p,.prose li,.prose dd,.prose dt,.prose figcaption{font-family:var(--font-reading)}
.prose h2,.prose h3,.prose h4,.prose h5,.prose h6,.prose blockquote{font-family:var(--font-display)}
.site-footer{background:var(--footer-bg);border-top:1px solid rgba(241,230,209,.35);color:var(--footer-text);display:grid;gap:48px;grid-template-columns:1.3fr .65fr 1fr;padding:64px clamp(24px,5vw,80px) 34px}
.footer-brand{align-items:center;display:flex;gap:20px}
.footer-brand img{height:78px;width:78px}
.footer-mark{font-family:var(--serif);font-size:2.8rem;line-height:1;margin-bottom:6px;text-transform:none}
.footer-tagline{margin-bottom:0}
.footer-links{display:grid;gap:8px}
.footer-links span{font-size:.66rem;font-weight:600;letter-spacing:.15em;margin-bottom:7px;text-transform:uppercase}
.footer-links a{font-family:var(--font-navigation)}
.footer-menu{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.footer-year{border-top:1px solid rgba(241,230,209,.35);grid-column:1/-1;margin:18px 0 0;padding-top:22px;width:100%}

@media(max-width:1080px){.site-header{grid-template-columns:1fr auto}
.desktop-nav,.header-cta{display:none}
.mobile-nav{display:block}
.origin-flavours{grid-template-columns:1fr}
.home-mosaic{grid-template-columns:1fr 1fr}
}

@media(max-width:780px){.site-header{height:76px;padding-inline:20px}
.brand-lockup>img:first-child{height:46px;width:46px}
.brand-word{width:112px}
.home-hero,.story,.story-band,.family-band,.visit-hero,.locations{grid-template-columns:1fr}
.home-hero-copy{min-height:590px}
.home-hero-image{min-height:430px}
.origin-card{grid-template-columns:1fr}
.origin-photo{max-width:230px}
.flavour-grid{grid-template-columns:1fr 1fr;row-gap:42px}
.home-mosaic{grid-template-columns:1fr}
.family-mark{justify-content:flex-start}
.section-heading{align-items:flex-start;flex-direction:column;gap:28px}
.news-grid,.flavour-page-grid,.journal-grid{grid-template-columns:1fr}
.news-grid article+article,.flavour-page-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
.story-band>div+div{border-left:0;border-top:1px solid rgba(241,230,209,.38);padding-left:clamp(58px,7vw,110px)}
.locations article+article{border-left:0;border-top:1px solid var(--line);padding-left:clamp(28px,6vw,90px)}
.site-footer{grid-template-columns:1fr}
}

@media(max-width:480px){.home-hero h1,.page-hero h1,.visit-hero h1{font-size:clamp(3.2rem,15vw,4.7rem)}
.home-hero-copy{padding-inline:24px}
.home-hero-image{min-height:330px}
.origin-card,.flavour-panel,.mosaic-copy{padding-inline:24px}
.family-mark{gap:12px}
.family-plus{font-size:2rem!important}
}
