/* Route views preserve existing sections and order controls in the shared document. */
html[data-page="cafe"] main > :not(#cafe):not(#preguntas):not(.closing),
html[data-page="origen"] main > :not(#origen):not(.films):not(#criterio):not(.closing),
html[data-page="merch"] main > :not(#merch):not(.closing),
html[data-page="somos-maje"] main > :not(#nosotros):not(#experiencia):not(#criterio):not(#proposito):not(.closing){display:none!important}
[hidden]{display:none!important}
.header .brand,.header .brand img{background:transparent;box-shadow:none;filter:none;border:0}
.header nav a[aria-current="page"]{color:var(--brown)}
.header nav a[aria-current="page"]::after{transform:scaleX(1)}
html:not([data-page="home"]) main>.section:first-of-type{padding-top:72px}
main.route-enter{animation:route-enter .3s ease both}
@keyframes route-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
/* Curated collection: photograph-led varieties, not separate process listings. */
.catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 32px}
.coffee-card,.coffee-card.honey,.coffee-card.lavado{display:flex;flex-direction:column;min-width:0;min-height:0;border:0;padding:0;background:transparent}
.catalog-photo{margin:0 0 24px;position:relative}
.catalog-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:6px;background:var(--cream)}
.catalog-photo figcaption{font-size:11px;color:var(--muted);padding-top:10px;line-height:1.5}
.coffee-card h3{font-size:32px;line-height:1.2;margin:0 0 22px}
.variant-controls{min-height:83px;margin-bottom:18px}
.variant-controls fieldset{border:0;padding:0;margin:0;display:flex;gap:8px;min-width:0}
.variant-controls legend{font-size:12px;color:var(--muted);padding:0;margin-bottom:8px}
.variant-controls label{display:inline-flex;position:relative;cursor:pointer}
.variant-controls input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}
.variant-controls label span{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:86px;padding:9px 18px;border:1px solid var(--line);border-radius:5px;font-size:13px;line-height:1.4;transition:background-color .2s,color .2s}
.variant-controls input:checked+span{background:var(--green);color:var(--cream);border-color:var(--green)}
.variant-controls input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}
.variant-controls .single-process{font-size:14px;margin:0;color:var(--brown);padding-top:27px}
.coffee-card .variant-weight{font-size:14px;margin:0 0 18px;color:var(--muted)}
.coffee-card-bottom{border:0;padding:0;margin-top:auto;display:flex;flex-direction:column;align-items:stretch;gap:20px}
.coffee-card-bottom>span{font-family:Georgia,serif;font-size:26px;color:var(--green)}
.coffee-card button.choose-coffee{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid #b7a384;border-radius:8px;background:transparent;color:var(--green);min-height:48px;padding:12px 18px;transition:background-color .22s,color .22s}
.coffee-card button.choose-coffee span{transition:transform .22s}
@media(hover:hover){.coffee-card button.choose-coffee:hover{background:var(--green);color:var(--cream);transform:none}.coffee-card button.choose-coffee:hover span{transform:translateX(4px)}.variant-controls input:not(:checked)+span:hover{background:var(--cream)}}
@media(min-width:1500px){.catalog{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 28px}}
/* Mobile keeps full-sized photographs and process controls in a single column. */
@media(max-width:650px){.catalog{grid-template-columns:minmax(0,1fr);gap:48px}.coffee-card h3{font-size:32px}.catalog-photo{margin-bottom:20px}.catalog-photo img{max-height:none;aspect-ratio:4/5}.variant-controls{min-height:0;margin-bottom:20px}.variant-controls .single-process{padding-top:0}.coffee-card-bottom{flex-direction:row;align-items:center;gap:20px}.coffee-card button.choose-coffee{width:auto;flex:1}.header nav a:last-child{display:flex}html:not([data-page="home"]) main>.section{padding-top:48px}.catalog-toolbar{align-items:end}.catalog-toolbar label{width:68%}}
@media(prefers-reduced-motion:reduce){main.route-enter{animation:none}.variant-controls label span,.coffee-card button.choose-coffee,.coffee-card button.choose-coffee span{transition:none!important}}
