/*
Theme Name: Cacao Mestizo
Theme URI: https://cacaomestizo.com/
Author: Cacao Mestizo
Description: Tema informativo personalizado para Cacao Mestizo.
Version: 1.4.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: cacao-mestizo
*/
@font-face{font-family:Barbaro;src:url('assets/fonts/barbaro-roman.ttf') format('truetype');font-display:swap}
@font-face{font-family:Raleway;src:url('assets/fonts/raleway-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Raleway;src:url('assets/fonts/raleway-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#2D2926;--paper:#F3F9FE;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Raleway,Arial,sans-serif;font-size:16px;line-height:1.55}body.admin-bar .site-header{top:32px}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid currentColor;outline-offset:4px}.cm-shell{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.cm-kicker{font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.cm-title{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:clamp(3.3rem,7.6vw,7.6rem);line-height:.84;margin:.25em 0}.cm-section-title{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:clamp(2.7rem,5vw,5.3rem);line-height:.92;margin:0 0 18px}.cm-subtitle{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:clamp(2rem,3.5vw,3.8rem);line-height:.98;margin:0}.cm-lede{font-size:clamp(1.05rem,1.8vw,1.35rem);max-width:730px}.cm-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 23px;background:var(--paper);color:var(--ink);font-size:.86rem;font-weight:600;border:1px solid var(--paper);transition:.2s ease}.cm-button:hover{background:transparent;color:var(--paper)}.cm-button--dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cm-button--dark:hover{background:transparent;color:var(--ink)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:9999;background:var(--paper);padding:10px}.site-header{position:sticky;top:0;z-index:100;background:var(--ink);color:var(--paper);border-bottom:1px solid rgba(243,249,254,.25)}.site-header__inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:30px}.site-logo{width:210px}.site-nav{display:flex;align-items:center;gap:28px;font-size:.85rem}.site-nav a{padding:10px 0}.site-nav a:hover{opacity:.72}.menu-toggle{display:none;border:1px solid var(--paper);background:transparent;color:var(--paper);font:inherit;padding:9px 12px}.hero{background:var(--ink);color:var(--paper)}.hero__grid{min-height:720px;display:grid;grid-template-columns:1fr 1.05fr}.hero__copy{padding:100px max(48px,7vw) 80px max(24px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center}.hero__photo{min-height:650px;background:center/cover no-repeat}.hero__actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:34px}.hero__link{align-self:center;font-size:.9rem;border-bottom:1px solid currentColor;padding-block:12px}.hero__proof{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(243,249,254,.35);margin-top:55px;padding-top:18px;gap:18px;font-size:.73rem;letter-spacing:.09em;text-transform:uppercase}.section{padding:110px 0}.flavors__head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:44px}.flavor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.flavor-card{border-top:1px solid var(--ink);padding-top:14px}.flavor-card img{width:100%;aspect-ratio:1/1;object-fit:cover;margin-bottom:18px}.flavor-card h3{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:2rem;margin:0}.flavor-card p{font-size:.88rem;margin:5px 0}.flavor-card small{display:block;margin-top:10px;opacity:.72}.origin{background:var(--ink);color:var(--paper)}.origin__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:74px;align-items:center}.origin__photo{width:100%;aspect-ratio:4/5;object-fit:cover}.origin__seal{width:118px;margin-bottom:28px}.origin__copy p{max-width:620px;font-size:1.05rem}.origin__copy .cm-button{margin-top:26px}.gifts__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.gifts__photo{background:#fff;padding:22px}.gifts__copy p{font-size:1.08rem;max-width:540px}.gifts__copy .cm-button{margin-top:25px}.blog-preview{background:#fff}.blog-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.post-card img{aspect-ratio:16/10;object-fit:cover;width:100%}.post-card__body{padding:22px 0;border-top:1px solid var(--ink)}.post-card__meta{font-size:.71rem;text-transform:uppercase;letter-spacing:.12em}.post-card h3,.post-card h2{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:2rem;line-height:1;margin:12px 0}.post-card p{font-size:.9rem}.text-link{display:inline-block;margin-top:12px;font-weight:600;font-size:.84rem;border-bottom:1px solid currentColor}.contact{background:var(--ink);color:var(--paper)}.contact__grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:90px}.contact__details a{display:block;font-size:1.12rem;margin:9px 0 28px}.contact__details .cm-subtitle{margin-bottom:22px}.cm-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cm-field--full{grid-column:1/-1}.cm-field label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.cm-field input,.cm-field select,.cm-field textarea{width:100%;border:1px solid rgba(243,249,254,.5);background:transparent;color:var(--paper);font:inherit;padding:13px 14px;min-height:48px}.cm-field select option{color:var(--ink)}.cm-field textarea{min-height:140px;resize:vertical}.cm-privacy{grid-column:1/-1;font-size:.78rem}.cm-privacy input{margin-right:8px}.cm-hp{position:absolute!important;left:-9999px!important}.cm-alert{grid-column:1/-1;padding:12px 15px;border:1px solid currentColor}.cm-form button{cursor:pointer}.site-footer{background:var(--ink);color:var(--paper);border-top:1px solid rgba(243,249,254,.2);padding:38px 0}.site-footer__inner{display:flex;justify-content:space-between;gap:30px;font-size:.78rem}.site-footer a{text-decoration:underline}.blog-hero{padding:90px 0 50px}.archive-grid{padding-bottom:100px}.single-article{width:min(760px,calc(100% - 48px));margin:auto;padding:80px 0}.single-article h1{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:clamp(3rem,7vw,6rem);line-height:.9}.single-article p{font-size:1.08rem}.single-article img{margin:32px 0}.page-content{padding:90px 0;min-height:55vh}
@media(max-width:900px){body.admin-bar .site-header{top:46px}.site-header__inner{height:70px}.site-logo{width:165px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:20px 24px;flex-direction:column;align-items:flex-start}.site-nav.is-open{display:flex}.hero__grid,.origin__grid,.gifts__grid,.contact__grid{grid-template-columns:1fr}.hero__copy{order:2;padding:64px 24px}.hero__photo{min-height:470px}.hero__proof{grid-template-columns:1fr}.origin__grid,.gifts__grid,.contact__grid{gap:40px}.flavor-grid{grid-template-columns:repeat(2,1fr)}.post-grid{grid-template-columns:1fr}.section{padding:75px 0}.cm-form{grid-template-columns:1fr}.cm-field--full,.cm-privacy{grid-column:auto}.site-footer__inner{flex-direction:column}.flavors__head,.blog-header{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.cm-shell{width:min(100% - 32px,var(--max))}.hero__photo{min-height:390px}.cm-title{font-size:3.7rem}.flavor-grid{grid-template-columns:1fr}.hero__actions{flex-direction:column;align-items:stretch}.hero__link{text-align:center}.contact__grid{gap:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Truffle carousel */
.flavor-carousel__intro{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.flavor-carousel__intro p{margin:0}.flavor-carousel__controls{display:flex;align-items:center;gap:12px}.flavor-carousel__button{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font:600 1.2rem/1 Raleway,Arial,sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,opacity .2s ease}.flavor-carousel__button:hover:not(:disabled){background:var(--ink);color:var(--paper)}.flavor-carousel__button:disabled{cursor:not-allowed;opacity:.28}.flavor-carousel__status{min-width:68px;text-align:center;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.flavor-carousel{position:relative}.flavor-carousel__track{display:flex;grid-template-columns:none;gap:22px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}.flavor-carousel__track::-webkit-scrollbar{display:none}.flavor-carousel__track .flavor-card{flex:0 0 calc((100% - 66px)/4);scroll-snap-align:start}.flavor-carousel__track:focus-visible{outline:3px solid var(--ink);outline-offset:8px}
@media(max-width:900px){.flavor-carousel__intro{align-items:flex-start}.flavor-carousel__track .flavor-card{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:560px){.flavor-carousel__track{gap:16px;scroll-padding-inline:0}.flavor-carousel__track .flavor-card{flex-basis:86%}.flavor-carousel__controls{width:100%;justify-content:space-between}.flavor-carousel__status{flex:1}.flavor-card h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.flavor-carousel__track{scroll-behavior:auto}}

/* Typography rhythm */
.cm-kicker{display:block;margin-bottom:16px;line-height:1.55;letter-spacing:.2em}.cm-title,.cm-section-title,.cm-subtitle{letter-spacing:.018em}.flavor-card h3,.post-card h3,.post-card h2,.single-article h1{letter-spacing:.025em}.flavor-card h3{line-height:1.05;margin-top:2px}.flavor-card p{line-height:1.55;margin:12px 0 0}.flavor-card small{line-height:1.5;margin-top:14px}.flavor-carousel__track .flavor-card{display:flex;flex-direction:column}

/* Gift presentations */
.gifts__head{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:46px}.gifts__head>p{max-width:560px;margin:0 0 18px;font-size:1.05rem}.gift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.gift-card{border-top:1px solid var(--ink);padding-top:14px}.gift-card__image{aspect-ratio:4/3;background:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:24px;padding:18px;overflow:hidden}.gift-card__image img{width:100%;height:100%;object-fit:contain}.gift-card .cm-kicker{margin-bottom:12px}.gift-card h3{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:clamp(2rem,2.8vw,2.8rem);line-height:1.04;letter-spacing:.025em;margin:0 0 16px}.gift-card p{font-size:.92rem;line-height:1.6;margin:0}.gifts__cta{display:flex;justify-content:flex-end;margin-top:38px}
@media(max-width:900px){.gifts__head{grid-template-columns:1fr;gap:12px}.gift-grid{grid-template-columns:repeat(2,1fr)}.gifts__cta{justify-content:flex-start}}
@media(max-width:560px){.gift-grid{grid-template-columns:1fr}.gift-card__image{aspect-ratio:1/1}.cm-kicker{margin-bottom:13px}.cm-title,.cm-section-title,.cm-subtitle{letter-spacing:.012em}}

/* Brand copy, editorial sections and SEO content */
.hero__support{max-width:660px;margin:4px 0 0;font-size:1rem;line-height:1.7;color:rgba(243,249,254,.86)}
.hero__statement{margin:22px 0 0;font-weight:600}
.hero__proof{grid-template-columns:repeat(4,1fr)}
.flavors__head{display:grid;grid-template-columns:1.18fr .82fr;align-items:end;gap:64px}
.flavors .cm-section-title{font-size:clamp(2.7rem,4.35vw,4.9rem)}
.flavor-carousel__intro{max-width:500px}
.flavor-carousel__intro p{line-height:1.7}
.flavor-chooser{display:flex;justify-content:space-between;align-items:center;gap:32px;border-top:1px solid var(--ink);margin-top:52px;padding-top:28px}
.flavor-chooser p{max-width:660px;margin:0;font-size:1.02rem}
.for-you{background:#fff}
.for-you__grid{display:grid;grid-template-columns:1.04fr .96fr;gap:80px;align-items:center}
.for-you__copy p{max-width:650px;font-size:1.04rem}
.for-you__copy .cm-button{margin-top:24px}
.for-you__photo{width:100%;aspect-ratio:1/1;object-fit:cover}
.gift-grid{align-items:stretch}
.gift-card{display:flex;flex-direction:column}
.gift-card .text-link{align-self:flex-start;margin-top:22px}
.gift-card p+p{margin-top:14px}
.gifts__cta{align-items:center;justify-content:space-between;gap:34px;border-top:1px solid var(--ink);padding-top:28px}
.gifts__cta p{max-width:690px;margin:0}
.blog-header>div{max-width:790px}
.blog-header p{max-width:730px;margin:0;line-height:1.7}
.faq{background:#e9f2f8}
.faq__grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:86px;align-items:start}
.faq__intro{position:sticky;top:120px}
.faq__intro .cm-section-title{font-size:clamp(2.7rem,4.4vw,4.8rem)}
.faq__list details{border-top:1px solid var(--ink);padding:0}
.faq__list details:last-child{border-bottom:1px solid var(--ink)}
.faq__list summary{cursor:pointer;list-style:none;padding:24px 42px 24px 0;font-weight:600;position:relative}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary:after{content:'+';position:absolute;right:2px;top:20px;font-family:Barbaro,Impact,sans-serif;font-size:1.7rem;line-height:1}
.faq__list details[open] summary:after{content:'−'}
.faq__list details p{margin:0;padding:0 42px 24px 0;line-height:1.72}
.faq__list a{text-decoration:underline}
.contact__trust{border-left:2px solid var(--paper);padding-left:16px;margin:28px 0 34px;max-width:540px;font-size:.9rem;opacity:.82}
.contact__whatsapp{margin-top:4px}
.site-footer__inner>div{max-width:690px}
.site-footer__inner strong{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:1.7rem;letter-spacing:.025em}
.site-footer__inner p{margin:7px 0 18px;line-height:1.65}
@media(max-width:900px){.flavors__head,.for-you__grid,.faq__grid{grid-template-columns:1fr}.flavors__head,.for-you__grid,.faq__grid{gap:40px}.hero__proof{grid-template-columns:repeat(2,1fr)}.flavor-carousel__intro{max-width:none}.for-you__photo{max-height:620px}.faq__intro{position:static}.gifts__cta,.flavor-chooser{align-items:flex-start;flex-direction:column}.blog-header>div{max-width:none}}
@media(max-width:560px){.hero__proof{grid-template-columns:1fr}.hero__support{font-size:.94rem}.flavor-chooser{margin-top:38px}.for-you__grid{gap:34px}.faq__list summary{padding-right:32px}.faq__list details p{padding-right:0}.site-footer__inner>span{line-height:1.8}}

/* Expanded footer */
.cm-privacy a{text-decoration:underline;text-underline-offset:3px}
.site-footer{padding:78px 0 0}
.site-footer__grid{display:grid;grid-template-columns:1.35fr .88fr 1.05fr 1.08fr 1.18fr;gap:48px;align-items:start}
.site-footer__logo{width:220px;max-width:100%;margin-bottom:24px}
.site-footer__brand p{max-width:330px;margin:0;color:rgba(243,249,254,.72);font-size:.83rem;line-height:1.7}
.site-footer__title{display:block;color:var(--paper);font-size:.7rem;font-weight:600;letter-spacing:.19em;line-height:1.5;text-transform:uppercase;margin-bottom:22px}
.site-footer__nav,.site-footer__contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.site-footer__nav a,.site-footer__contact a{color:rgba(243,249,254,.78);font-size:.88rem;line-height:1.45;text-decoration:none;transition:color .2s ease,transform .2s ease}
.site-footer__nav a:hover,.site-footer__contact a:hover{color:var(--paper);transform:translateX(3px)}
.footer-social{display:flex;gap:12px;flex-wrap:wrap}
.footer-social a{width:44px;height:44px;border:1px solid rgba(243,249,254,.45);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--paper);text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.footer-social a:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);transform:translateY(-3px)}
.footer-social svg{width:22px;height:22px;fill:currentColor}
.site-footer__bottom{display:flex;justify-content:space-between;gap:28px;border-top:1px solid rgba(243,249,254,.2);margin-top:66px;padding:25px 0 30px;color:rgba(243,249,254,.62);font-size:.72rem;line-height:1.6}
@media(max-width:1100px){.site-footer__grid{grid-template-columns:1.35fr 1fr 1fr;gap:50px}.site-footer__brand{grid-row:span 2}.site-footer__social{grid-column:3}}
@media(max-width:720px){.site-footer{padding-top:60px}.site-footer__grid{grid-template-columns:1fr 1fr;gap:46px 32px}.site-footer__brand{grid-column:1/-1;grid-row:auto}.site-footer__brand p{max-width:520px}.site-footer__social{grid-column:auto}.site-footer__bottom{flex-direction:column;margin-top:48px}}
@media(max-width:500px){.site-footer__grid{grid-template-columns:1fr}.site-footer__social{grid-column:auto}.site-footer__title{margin-bottom:16px}.site-footer__bottom{gap:8px}.site-footer__logo{width:195px}}

/* Legal information pages */
.page-content>.cm-shell{width:min(900px,calc(100% - 48px))}
.page-content .cm-section-title{max-width:850px;margin-bottom:42px}
.page-content h2{font-family:Barbaro,Impact,sans-serif;text-transform:uppercase;font-size:clamp(1.75rem,3.2vw,2.55rem);line-height:1.04;letter-spacing:.025em;margin:42px 0 12px}
.page-content p,.page-content li{font-size:1rem;line-height:1.78}
.page-content p{margin:0 0 18px}
.page-content a{text-decoration:underline;text-underline-offset:3px}
.page-content strong{font-weight:600}
@media(max-width:560px){.page-content{padding:65px 0}.page-content>.cm-shell{width:min(100% - 32px,900px)}.page-content .cm-section-title{margin-bottom:30px}.page-content h2{margin-top:34px}}
