@font-face{font-family:"DM Sans";src:url("/assets/dm-sans.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/instrument-serif.woff2") format("woff2");font-weight:400;font-display:swap}
:root{color-scheme:light;--forest:#102f29;--green:#17483d;--ink:#19322b;--muted:#4c6055;--cream:#f7f3e8;--white:#fffdf8;--line:#dedccc;--orange:#ffad69;--sun:#ffd4a6}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-padding-top:1rem}
body{margin:0;background:var(--cream);color:var(--ink);font:1rem/1.55 "DM Sans",Arial,sans-serif}
h1,h2,h3,p{margin:0}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
input,select,textarea,button{font:inherit;color:inherit}
button:not(:disabled){cursor:pointer}
:focus-visible{outline:3px solid #b86934;outline-offset:4px}
.wrap{width:min(100% - 5rem,77rem);margin-inline:auto}
.screen-reader,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip:focus{position:absolute;z-index:10;top:1rem;left:1rem;background:white;padding:1rem}
.notice{display:grid;place-items:center;min-height:1.55rem;background:var(--forest);color:#f7e4cb;font-size:.75rem;font-weight:650;letter-spacing:.025em}
.header{background:var(--white);border-bottom:1px solid #ddd6c4}
.navigation{min-height:4.7rem;display:flex;align-items:center;gap:2rem}
.brand{display:inline-flex;align-items:center;gap:.65rem;font-size:1.25rem;font-weight:650;letter-spacing:-.05em;white-space:nowrap}
.brand strong{color:#a34d22;font-weight:700}
.brand img{width:2.65rem;height:2.65rem;border-radius:50%;flex:none}
.store-brand img{width:3.25rem;height:3.25rem}
.navigation nav{display:flex;gap:1.8rem;margin-left:auto;font-weight:650}
.navigation nav a:hover{text-decoration:underline;text-underline-offset:.22em}
.order-link{display:flex;align-items:center;gap:.55rem;padding:.52rem .55rem .52rem .8rem;color:var(--white);background:var(--forest);border-radius:.55rem;font-weight:700;font-size:.9rem;white-space:nowrap}
.order-link span{display:grid;place-items:center;min-width:1.6rem;height:1.6rem;padding-inline:.2rem;border-radius:.3rem;background:var(--orange);color:var(--forest);font-variant-numeric:tabular-nums}

.hero{background:linear-gradient(125deg,#15382e,var(--forest) 62%);color:#fff8ec}
.hero-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(1.1rem,4vw,4.5rem);padding-block:clamp(1.75rem,4vw,3.2rem)}
.hero h1{font:400 clamp(3.75rem,7.5vw,7.1rem)/.89 "Instrument Serif",Georgia,serif;letter-spacing:-.035em}
.hero h1 em{display:block;color:var(--sun)}
.hero p{max-width:31ch;margin-top:1.25rem;color:#f3e9d8;font-size:clamp(.98rem,1.6vw,1.15rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.45rem}
.hero-photo{width:100%;aspect-ratio:1.55;object-fit:cover;border:1px solid #fff4de2e;border-radius:clamp(2rem,7vw,6rem) .85rem .85rem .85rem;box-shadow:0 16px 35px #07171153}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:2.75rem;padding:.57rem 1rem;border:1px solid transparent;border-radius:.48rem;font-weight:700;text-align:center}
.button:disabled{opacity:.52;cursor:default}
.accent{background:var(--orange);color:#32251b}
.accent:hover:not(:disabled){background:#ffc28d}
.outline{border-color:#f7e9d28c;color:#fff8ec;background:#12342cab}
.outline:hover{background:#255447}
.green{background:var(--green);color:var(--white)}
.green:hover:not(:disabled){background:var(--forest)}
.search{width:min(100%,33rem)}
.search div{display:flex;border:1px solid var(--line);border-radius:.58rem;overflow:hidden;background:var(--white)}
.search input{flex:1;min-width:0;padding:.55rem .7rem;border:0;background:transparent;color:var(--ink)}
.search input:focus-visible{outline-offset:-4px}
.search button{border-radius:0;min-width:6.25rem}

.shopping-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:start;gap:1.65rem;padding-block:2.75rem 3rem}
.section-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}
.section-title h2,.guide h2,.panel-title h1{font-size:clamp(2rem,3.25vw,3rem);line-height:1.05;letter-spacing:-.055em}
.catalog-tools{margin:-.15rem 0 .85rem;font-size:.88rem}
.catalog-tools summary{width:fit-content;cursor:pointer;font-weight:700}
.catalog-tools :is(.search,.filters){margin-top:.6rem}
.filters{display:flex;flex-wrap:wrap;gap:.4rem}
.filter{padding:.35rem .65rem;border:1px solid #c8cdbb;border-radius:2rem;background:var(--white);font-size:.83rem;font-weight:650}
.filter[aria-pressed=true]{background:var(--forest);color:white;border-color:var(--forest)}
.products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.product{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:.95rem;background:var(--white);box-shadow:0 4px 15px #263b2010}
.product-photo{background:#dce1d2}
.product.limon .product-photo{background:#eee3a9}
.product.naranja .product-photo{background:#eec19e}
.product-photo img{width:100%;aspect-ratio:1.48;object-fit:cover}
.product-info{display:grid;gap:.65rem;padding:1rem}
.product h3{font-size:clamp(1.05rem,2.1vw,1.34rem);line-height:1.16;letter-spacing:-.035em}
.price{color:var(--muted);font-weight:650;font-size:.88rem}
.product-choices{display:grid;gap:.38rem}
.product-choice{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:2.85rem;width:100%;padding:.38rem .6rem;border:1px solid #d5e2d4;border-radius:.55rem;background:#edf3e9;color:var(--forest);text-align:left;line-height:1.25}
.product-choice:hover{background:#e0eddf}
.product-choice-copy{display:flex;flex-wrap:wrap;gap:.18rem .55rem;align-items:baseline;font-size:.9rem}
.product-choice-copy small{color:var(--muted);font-variant-numeric:tabular-nums}
.product-choice-icon{display:grid;place-items:center;flex:none;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--green);color:var(--white);font-weight:700}
.product-choice[data-added] .product-choice-icon{background:var(--orange);color:var(--forest)}

.basket{border:1px solid #cfd5c2;border-radius:.85rem;padding:1.15rem;background:#edf1e5;margin-top:.15rem}
.basket-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.7rem}
.basket-heading h2{font-size:1.5rem;letter-spacing:-.05em}
.basket-heading span,.subtle,.empty{color:var(--muted);font-size:.87rem}
.empty{padding:.7rem 0}
.basket-total{display:flex;justify-content:space-between;gap:1rem;padding-top:.75rem;border-top:1px solid #cdd7c7;margin-block:.75rem .5rem}
.basket>.button{width:100%;margin-top:.85rem}
.basket-item{display:flex;gap:.5rem;align-items:center;justify-content:space-between;border-top:1px solid #dbe1d4;padding-block:.5rem;font-size:.86rem}
.quantity{display:flex;align-items:center;gap:.3rem}
.quantity button{width:1.65rem;height:1.65rem;border:1px solid #c4d0c1;border-radius:.3rem;background:var(--white)}
.quantity span{min-width:1.2rem;text-align:center}
.mobile-order{display:none}
@media(min-width:45.01rem){.shopping-layout>.basket{position:sticky;top:1rem}}

.guide{display:grid;grid-template-columns:.75fr 1.25fr;gap:2rem;margin-bottom:3.4rem;padding:1.65rem;border:1px solid var(--line);border-radius:.85rem;background:var(--white)}
.guide p{margin-top:.65rem;color:var(--muted)}
.guide ol{display:grid;gap:.65rem;padding-left:1.4rem;margin:0}
.guide li{padding-left:.35rem}
.guide li::marker{font-weight:700;color:#965325}
.guide li span{display:block;color:var(--muted);font-size:.9rem}
dialog{width:min(100% - 2rem,31rem);max-height:min(90dvh,43rem);padding:0;border:1px solid var(--line);border-radius:.95rem;background:var(--white);color:var(--ink)}
dialog::backdrop{background:#0c211cba}
.dialog-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding:.95rem 1.2rem}
.dialog-header h2{font-size:1.5rem;letter-spacing:-.04em}
.close{display:grid;place-items:center;width:2.05rem;height:2.05rem;border:1px solid var(--line);border-radius:.3rem;background:none;font-size:1.3rem}
.dialog-content{display:grid;gap:.75rem;padding:1.15rem 1.2rem}
.dialog-content label,.panel label{display:grid;gap:.24rem;font-weight:650;font-size:.88rem}
.dialog-content input,.dialog-content select,.dialog-content textarea,.panel input,.panel select{width:100%;min-height:2.4rem;border:1px solid #bfc8ba;border-radius:.35rem;padding:.43rem .55rem;background:white}
.dialog-content textarea{resize:vertical}
.summary{background:#edf1e5;padding:.6rem .7rem;border-radius:.4rem;font-weight:650;font-size:.9rem}
.error{color:#9b301b;font-weight:650;font-size:.9rem}
.reference{color:var(--green);font-size:1.6rem;font-weight:700}

.panel-title{padding-block:2rem 1.4rem}
.panel-title p{margin-top:.7rem;color:var(--muted)}
.panel-actions{display:flex;align-items:end;flex-wrap:wrap;gap:.7rem;margin-bottom:1rem}
.panel-actions label{width:min(100%,14rem)}
.panel-actions .button{background:var(--white);border-color:var(--line)}
.panel section{margin-bottom:2.4rem}
.panel section h2{margin-bottom:.65rem}
.records,.product-records{display:grid;gap:.7rem}
.record,.product-record{min-width:0;border:1px solid var(--line);border-radius:.65rem;padding:1rem;background:var(--white)}
.record{display:grid;grid-template-columns:1fr minmax(8rem,12rem);gap:.65rem 1.25rem;overflow-wrap:anywhere}
.record h3{font-size:1.1rem}
.record ul{margin:.4rem 0;padding-left:1rem}
.record p{margin-block:.2rem;font-size:.91rem}
.record .order-status{align-self:start}
.product-record{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto auto;gap:.65rem;align-items:end}
.product-record label.toggle{display:flex;align-items:center;gap:.3rem;align-self:center}
.product-record .toggle input{width:1rem;min-height:1rem}
.product-record .button{min-height:2.4rem;padding:.4rem .7rem}
.panel-message{margin-block:.5rem;color:var(--green);font-weight:650}

@media(max-width:61rem){
  .wrap{width:calc(100% - 3rem)}
  .shopping-layout{grid-template-columns:minmax(0,1fr) minmax(14rem,17rem);gap:1rem}
  .product-record{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:45rem){
  .wrap{width:calc(100% - 1.75rem)}
  .navigation{min-height:3.8rem;gap:.65rem;flex-wrap:wrap;padding-block:.45rem}
  .navigation nav{gap:.5rem;font-size:.78rem}
  .store-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .7rem}
  .store-navigation nav{grid-column:1/-1;grid-row:2;gap:1rem;margin:0;padding:.13rem 0}
  .store-navigation .order-link{grid-column:2;grid-row:1;justify-self:end}
  .navigation .brand{font-size:1.05rem;gap:.36rem}
  .brand img{width:2rem;height:2rem}
  .store-brand img{width:2.75rem;height:2.75rem}
  .order-link{font-size:.78rem;padding:.34rem .4rem;gap:.35rem}
  .order-link span{height:1.35rem;min-width:1.35rem}
  .hero-inner{grid-template-columns:minmax(0,1fr);gap:1.15rem;padding-block:1.45rem 1rem}
  .hero h1{font-size:clamp(3.55rem,12vw,5.8rem)}
  .hero p{margin-top:.7rem}
  .hero-actions{margin-top:.9rem}
  .hero-actions .button{padding-inline:.7rem;font-size:.87rem}
  .hero-photo{aspect-ratio:1.72;border-radius:2rem .65rem .65rem .65rem}
  .shopping-layout{grid-template-columns:1fr;padding-block:2rem}
  .products{gap:.55rem}
  .product-info{padding:.62rem;gap:.45rem}
  .product-choice{padding-inline:.45rem}
  .product-choice-copy{font-size:.84rem}
  .quantity button{width:2.75rem;height:2.75rem}
  .mobile-order{position:fixed;z-index:5;inset-inline:.7rem;bottom:max(.7rem,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:.65rem;padding:.55rem .6rem .55rem .8rem;border:1px solid #a1b0a0;border-radius:.85rem;background:var(--forest);color:var(--white);box-shadow:0 6px 25px #102f2945}
  .mobile-order-copy{display:grid;line-height:1.25}
  .mobile-order-copy span{font-size:.76rem;color:#efe6d6}
  .mobile-order .button{min-height:2.75rem;padding-inline:.65rem;font-size:.87rem}
  body:has(.mobile-order:not([hidden])){padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}
  .guide{grid-template-columns:1fr;gap:.9rem;padding:1rem;margin-bottom:2rem}
  .record{grid-template-columns:1fr}
}

/* Presentaciones, pie y páginas de la tienda */
.basket-item small{display:block;color:var(--muted)}
.coming-soon{display:flex;gap:.8rem;align-items:center;margin-top:1rem;padding:.85rem 1rem;border:1px dashed #bdbca5;border-radius:.72rem;background:#f2eee0}
.coming-mark{display:grid;place-items:center;flex:none;width:2.2rem;height:2.2rem;border-radius:.47rem;background:#fae2c8;color:#8b4523}
.coming-soon p{color:var(--muted);font-size:.86rem}
#checkout-guest a,.text-link{text-decoration:underline;text-underline-offset:.22em}

.footer{background:radial-gradient(circle at 1px 1px,#f8d9b217 1px,transparent 1.15px) 0 0/24px 24px,var(--forest);color:#fff4e4}
.footer .footer-inner{padding-block:2.65rem 1.05rem}
.footer-grid{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:1.65rem}
.footer-brand p{max-width:33ch;margin:.8rem 0 .65rem;color:#e4e0d1}
.footer .brand strong{color:var(--sun)}
.footer nav{display:grid;gap:.52rem;align-content:start}
.footer nav h2,.footer-feature>div>span{color:var(--sun);text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:700}
.footer nav h2{margin:.6rem 0 .16rem}
.footer nav h2::after{content:"";display:inline-block;width:1.05rem;height:1px;margin:0 0 .2rem .55rem;background:#ffad6999}
.footer nav a,.footer-brand>a:not(.brand){width:fit-content;font-size:.91rem;color:#eee8da}
.footer a:hover{text-decoration:underline;text-underline-offset:.22em}
.footer-feature{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:1.15rem 1.4rem;border:1px solid #679284;border-radius:.8rem;background:linear-gradient(115deg,#245043,#193d34)}
.footer-feature h2{margin:.14rem 0;letter-spacing:-.04em;font-size:clamp(1.25rem,3vw,1.65rem)}
.footer-feature p{color:#e1e8dc;font-size:.9rem}
.footer-feature .button{flex:none;background:var(--sun);color:var(--forest)}
.footer-end{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;margin-top:1.65rem;padding-top:.9rem;border-top:1px solid #d0e2cb38;color:#d8e0d1;font-size:.82rem}

.inner-page{padding-block:2.7rem 3.5rem;min-height:52vh}
.inner-intro{margin-bottom:1.25rem}
.eyebrow{color:#89522b;font-size:.76rem;letter-spacing:.11em;text-transform:uppercase;font-weight:700}
.inner-intro h1{margin:.13rem 0 .42rem;font-size:clamp(2.45rem,6vw,4rem);line-height:1.03;letter-spacing:-.06em}
.inner-intro p:last-child{color:var(--muted)}
.account-grid,.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.content-card{min-width:0;border:1px solid var(--line);border-radius:.8rem;background:var(--white);padding:1.2rem;overflow-wrap:anywhere}
.content-card h2{font-size:1.35rem;letter-spacing:-.035em;margin-bottom:.5rem}
.content-card p+p,.content-card p+.text-link,.content-card details p{margin-top:.5rem}
.content-card .text-link{display:inline-block}
.about-max{display:flex;align-items:center;justify-content:space-between;gap:.8rem}
.about-max img{width:clamp(4rem,12vw,7rem);flex:none}
.content-card details{border-top:1px solid var(--line);padding:.55rem 0}
.content-card summary{font-weight:700;cursor:pointer}
.account-form{display:grid;gap:.65rem;max-width:32rem}
.account-form label{display:grid;gap:.24rem;font-size:.9rem;font-weight:650}
.account-form input{width:100%;min-height:2.65rem;border:1px solid #bfc8ba;border-radius:.35rem;padding:.45rem .6rem;background:white}
.account-form .button{justify-self:start}
.account-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.65rem;margin-bottom:.45rem;overflow-wrap:anywhere}
.account-message:not(:empty){margin:.8rem 0}
.plain{border-color:var(--line);background:var(--white)}
#historial:not([hidden]){margin-bottom:1rem}
#account-history>h3{margin:.8rem 0 .35rem}
#my-orders{margin-top:.5rem}
.history-card h4{margin:0}
.history-card ul{margin:.5rem 0;padding-left:1.2rem}
.status-chip{background:#e8efe5;border-radius:2rem;padding:.23rem .56rem;font-size:.8rem;font-weight:700}
.customer-list .record{grid-template-columns:1fr auto}
.product-record{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.65rem),1fr))}
@media(max-width:56rem){
  .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:45rem){
  .footer .footer-inner{padding-top:1.55rem}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-feature{flex-wrap:wrap;padding:1rem}
  .account-grid,.help-grid{grid-template-columns:1fr}
  .inner-page{padding-block:1.9rem 2rem}
}

.form-error:empty{display:none}

.checkout-total{display:grid;gap:.25rem;background:#edf1e5;border:1px solid #cfd5c2;border-radius:.5rem;padding:.7rem .8rem}
.checkout-total>div{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.checkout-total strong{font-size:1.15rem;white-space:nowrap}
.orders-heading{display:flex;align-items:baseline;gap:.65rem;flex-wrap:wrap}
.orders-alert{margin:.15rem 0 .8rem;background:#e8efe5;border:1px solid #c8d7c6;border-radius:.45rem;padding:.58rem .75rem;font-weight:650}
#order-connection:not([hidden]){margin-bottom:.7rem}
.panel-actions .order-search{width:min(100%,19rem)}
.order-controls{align-self:start;display:grid;gap:.55rem}
.order-controls .button{justify-self:start;padding:.4rem .65rem;min-height:2.15rem;font-size:.86rem}
.order-controls .button:hover{background:#edf1e5}

.store-navigation nav { flex-wrap: wrap; }
#checkout-gift { overflow-wrap: anywhere; white-space: pre-wrap; }

#catalog-box { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }
#catalog-box-remove { min-height: 1.9rem; padding: .2rem .45rem; }
#box-fees-form { display: grid; gap: .7rem; margin-top: .65rem; }
#box-fees-form > .button { justify-self: start; }
#box-fee-fields { grid-template-columns: repeat(auto-fit,minmax(min(10rem,100%),1fr)); }
