/* The approved accordion artwork remains the visual source of truth.
   These rules restore its catalogue, product and checkout proportions while
   the React components retain the published catalogue and payment state. */
.sf-catalog-tienda{min-height:100%;background:var(--sf-red);--sf-muted:#45352f;--sf-rule:color-mix(in srgb,var(--sf-ink) 35%,transparent)}
.sf-shop-hero{background:transparent;color:var(--sf-ink)}
.sf-shop-hero h1{margin-top:12px;margin-bottom:0}
.sf-shop-hero .sf-kicker{color:var(--sf-ink);font:11px/1.4 var(--sf-mono)}
.sf-shop-hero img{transform:none}
.sf-catalog-tienda .sf-filters{padding-top:13px;border-top:1px solid var(--sf-rule)}
.sf-catalog-tienda .sf-search input::placeholder{color:var(--sf-muted)}
.sf-catalog-tienda .sf-list-photo{background:color-mix(in srgb,var(--sf-red) 89%,var(--sf-ink))}
.sf-product-copy>.sf-kicker{display:block;font:11px/1.4 var(--sf-mono);letter-spacing:.025em}
.sf-product-title{margin:10px 0 13px}
.sf-options{padding:17px 0;margin:0;border-top:1px solid #b6b6b1}
.sf-options legend{float:left;width:100%;font:11px/1.4 var(--sf-mono);letter-spacing:.025em;text-transform:uppercase;padding:0 0 12px;justify-content:space-between}
.sf-options legend small{font-size:9px;letter-spacing:0;text-transform:none}
.sf-option-chips{clear:both;display:flex;flex-wrap:wrap;gap:8px}
.sf-option-chips label{display:flex;align-items:center;gap:6px;border:1px solid #a9a9a4;padding:10px;margin:0;min-height:44px;font:13px/1.3 Archivo,Arial,sans-serif}
.sf-option-chips label.selected{background:var(--sf-ink);color:var(--sf-paper);border-color:var(--sf-ink)}
.sf-option-chips label input{accent-color:var(--sf-ink);width:16px;height:16px}
.sf-option-chips label span{flex:none}
.sf-option-chips label b{font:400 11px/1.3 var(--sf-mono)}
.sf-option-chips label:has(input:disabled){opacity:.45}
.sf-product-order>.sf-button.primary{background:var(--sf-red);color:var(--sf-ink);border-color:var(--sf-red)!important}
.sf-checkout-heading h1{font:800 28px/1.08 Archivo,Arial,sans-serif;letter-spacing:-.045em;margin:0 0 16px}
.sf-checkout-heading>p{display:none}
.sf-checkout-back{margin:0 0 12px;text-transform:uppercase}
.sf-checkout-continue{width:100%;margin-top:18px;background:var(--sf-red);border-color:var(--sf-red)!important}
.sf-pickup-selection>.sf-step-heading{display:none}
.sf-payment-options>.sf-checkout-summary{position:sticky;top:0;z-index:4;background:var(--sf-paper);gap:10px;padding:12px 0}
.sf-checkout-summary>div{flex:1;justify-content:space-between;gap:10px;font:700 17px/1.15 Archivo,Arial,sans-serif;letter-spacing:-.025em}
.sf-checkout-summary>div .sf-text{font:11px/1.3 var(--sf-mono);min-height:44px}
.sf-checkout-summary>strong{font:700 17px/1.15 Archivo,Arial,sans-serif;letter-spacing:-.025em}
.sf-checkout-summary small{display:block;font:11px/1.4 var(--sf-mono);letter-spacing:0;margin-top:5px}
.sf-other-payments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:0;margin:0 0 14px}
.sf-payment-method{justify-content:center;gap:7px;min-height:48px;padding:10px 8px;border:1px solid var(--sf-rule)!important;font:600 13px/1.3 Archivo,Arial,sans-serif;letter-spacing:0;text-align:center}
.sf-payment-method small{display:none}
.sf-payment-method svg{width:18px;height:18px;flex:none}
.sf-wallets{gap:8px;margin:0 0 14px}
.sf-wallets .sf-apple-pay,.sf-wallets .sf-google-pay{height:50px;min-height:50px;margin:0}
.sf-checkout[hidden],.sf-checkout [hidden]{display:none!important}
/* Mi visita uses the approved rfVisit hub, with the live passes below it. */
.sf-visit.sf-visit-hub{padding:21px 20px;max-width:760px}
.sf-visit.sf-visit-hub>header h1{font:800 39px/1 Archivo,Arial,sans-serif;letter-spacing:-.045em;margin:10px 0 13px}
.sf-visit.sf-visit-hub>header p{font:14px/1.5 Archivo,Arial,sans-serif;letter-spacing:0;margin:0 0 18px}
.sf-visit-hub-links{margin:0 0 18px}
.sf-visit-hub-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:transparent;border-bottom:1px solid #aaa9a3!important;padding:17px 0;min-height:70px}
.sf-visit-hub-link>span:first-child{min-width:0}
.sf-visit-hub-link strong{font:500 23px/1.1 Archivo,Arial,sans-serif;letter-spacing:-.03em;display:block}
.sf-visit-hub-link small{font:11px/1.6 var(--sf-mono);display:block;margin-top:8px}
.sf-visit-link{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:8px 0;border-top:1px solid color-mix(in srgb,var(--sf-ink) 35%,transparent)!important;background:transparent;font:11px/1.4 var(--sf-mono);text-transform:uppercase;text-align:left;gap:12px}
.sf-visit-hub-link+.sf-visit-link{border-top:0!important}
.sf-visit-reservation-passes{scroll-margin-top:20px}
.sf-visit-reservation-passes:focus{outline:none}
.sf-visit-reservation-passes>.resv{margin-top:24px;border-top:1px solid var(--sf-rule)}
@media(max-width:700px){
 .sf-catalog{padding:6px 20px 26px}
 .sf-catalog-heading{padding:13px 0 22px;margin-bottom:18px;border-bottom:1px solid var(--sf-ink);gap:14px;align-items:center}
 .sf-catalog-heading h1{font:800 53px/.95 Archivo,Arial,sans-serif;letter-spacing:-.065em}
 .sf-catalog-heading>p{font:10px/1.5 var(--sf-mono);max-width:105px;padding:0;color:var(--sf-ink);opacity:.68}
 .sf-catalog-content{padding:0}
 .sf-filters{gap:5px;padding:0 0 12px;margin:0;border:0}
 .sf-filters button{font:11px/1.3 var(--sf-mono);padding:8px 10px;min-height:44px}
 .sf-search{margin:0}
 .sf-search input{min-height:46px;padding:11px 12px;font:16px/1.4 Archivo,Arial,sans-serif;letter-spacing:0;background:transparent}
 .sf-catalog-hint{gap:10px;padding:12px 0;font:11px/1.45 var(--sf-mono)}
 .sf-catalog-hint label{gap:8px;min-height:44px;font:inherit;white-space:normal}
 .sf-catalog-hint input{width:18px;height:18px}
 .sf-product-list{display:block;padding:0}
 .sf-product-row{padding:19px 0;min-height:134px}
 .sf-product-open,.sf-product-list.shop .sf-product-open{grid-template-columns:72px minmax(0,1fr) 32px;gap:13px}
 .sf-list-photo,.sf-product-list.shop .sf-list-photo{width:72px;height:88px;padding:0;background:#d2d2ce}
 .sf-product-info{display:block}
 .sf-product-info>strong,.sf-product-list.shop .sf-product-info>strong{display:block;font:700 19px/1.1 Archivo,Arial,sans-serif;letter-spacing:-.035em}
 .sf-product-info>span{display:block;font:12px/1.4 Archivo,Arial,sans-serif;letter-spacing:0;margin-top:7px;opacity:.65;color:inherit}
 .sf-product-info>b{display:block;font:400 12px/1.4 var(--sf-mono);margin-top:10px}
 .sf-add,.sf-product-list.shop .sf-add{width:32px;height:32px;font-size:25px;align-self:center}
 .sf-catalog-tienda{padding-top:19px}
 .sf-shop-hero{display:grid;grid-template-columns:minmax(0,1fr) 145px;align-items:center;gap:14px;padding:0;margin:0 0 24px;min-height:0;overflow:visible}
 .sf-shop-hero>div{max-width:none}
 .sf-shop-hero h1{font:800 44px/.95 Archivo,Arial,sans-serif;letter-spacing:-.055em;margin:12px 0 0}
 .sf-shop-hero h1 em{font:italic 400 1em/.98 Newsreader,Georgia,serif;letter-spacing:-.035em}
 .sf-shop-hero img{display:block;width:109px;height:120px;margin:0;object-fit:contain;justify-self:center}
 .sf-catalog-tienda .sf-filters{padding-top:13px}
 .sf-catalog-tienda .sf-product-list{margin-top:20px}
 .sf-product{padding:0 20px 100px;max-width:none;min-height:100%}
 .sf-product-back{margin:0;min-height:44px;font:11px/1.4 var(--sf-mono);text-decoration:none;text-transform:uppercase}
 .sf-panel-has-detail .sf-product-back{display:none}
 .sf-product-layout{display:block}
 .sf-product-art{position:relative;padding:0;margin:0 -20px 21px;height:280px;background:#d2d2ce;display:grid;place-items:center;overflow:hidden}
 .sf-product-photo{height:92%;width:100%;max-width:none;object-fit:contain}
 .sf-product-copy{padding:0}
 .sf-product-title{gap:12px;margin:10px 0 13px;align-items:center}
 .sf-product-title h1{font:800 39px/1 Archivo,Arial,sans-serif;letter-spacing:-.045em}
 .sf-heart{width:44px;min-width:44px;height:44px}
 .sf-description{font:14px/1.5 Archivo,Arial,sans-serif;letter-spacing:0;margin:0 0 18px!important;color:var(--sf-ink)}
 .sf-product-price{font:400 18px/1.4 var(--sf-mono);margin:16px 0 21px!important}
 .sf-options legend{font:11px/1.4 var(--sf-mono);letter-spacing:.025em;gap:8px}
 .sf-option-chips label{min-height:44px;font:13px/1.3 Archivo,Arial,sans-serif}
 .sf-option-chips label b{font-size:11px}
 .sf-product-order{position:fixed;inset:auto 0 0;z-index:6;gap:12px;padding:16px 20px calc(16px + env(safe-area-inset-bottom));margin:0;border-top:1px solid #b6b6b1;background:var(--sf-paper)}
 .sf-product-order>.sf-button{min-height:46px;padding:13px 14px;font:11px/1.4 var(--sf-mono);gap:12px}
 .sf-product-order .sf-quantity{min-height:44px;gap:7px}
 .sf-product-order .sf-quantity button{width:44px;min-width:44px;height:44px;font-size:21px}
 .sf-product-order .sf-quantity input{width:20px;min-width:14px;height:44px;font:13px/1.4 var(--sf-mono)}
 .sf-option-note{font:11px/1.6 var(--sf-mono)}
 .sf-checkout{padding:21px 20px 26px}
 .sf-checkout-heading h1{font:800 28px/1.08 Archivo,Arial,sans-serif;margin:0 0 16px;letter-spacing:-.045em}
 .sf-order-review{margin:12px 0 16px}
 .sf-order-review summary{min-height:48px;padding:15px 0;font:11px/1.5 var(--sf-mono);gap:8px}
 .sf-order-review summary strong{font:11px/1.5 var(--sf-mono)}
 .sf-order-review summary>span:last-child{font:11px/1.5 var(--sf-mono)}
 .sf-step-heading{gap:9px;margin-bottom:12px}
 .sf-step-heading h2{font:800 28px/1.08 Archivo,Arial,sans-serif;letter-spacing:-.045em}
 .sf-pickup-selection{padding:0;border-bottom:0}
 .sf-pickup-selection>p{font:11px/1.6 var(--sf-mono);margin:0 0 13px}
 .sf-date{gap:9px;margin:0 0 13px}
 .sf-date input{min-height:48px;padding:12px;font:16px/1.3 Archivo,Arial,sans-serif}
 .sf-timeslots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}
 .sf-timeslots button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:68px;padding:10px 6px;text-align:center;font:700 21px/1 Archivo,Arial,sans-serif;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
 .sf-timeslots button span{font:11px/1.3 var(--sf-mono);letter-spacing:-.025em;margin:0}
 .sf-timeslots button[aria-pressed=true]{background:var(--sf-red);color:var(--sf-ink);border-color:var(--sf-ink)}
 .sf-timeslots button[aria-pressed=true] span{color:var(--sf-ink)}
 .sf-customer{padding:17px 0;border-top:1px solid var(--sf-rule)}
 .sf-customer>label{font:11px/1.4 var(--sf-mono);margin-top:17px;text-transform:uppercase}
 .sf-customer>label>span{text-transform:none}
 .sf-customer :is(input,textarea){min-height:48px;padding:12px;font:16px/1.3 Archivo,Arial,sans-serif}
 .sf-customer .sf-step-heading h2{font-size:21px}
 .sf-known-customer{font-size:17px;line-height:1.4}
 .sf-payment-options{padding-top:0}
 .sf-payment-options>h2{font:800 28px/1.08 Archivo,Arial,sans-serif;letter-spacing:-.045em;margin:16px 0}
 .sf-checkout-summary>div{font:700 17px/1.15 Archivo,Arial,sans-serif}
 .sf-checkout-summary>strong{font:700 17px/1.15 Archivo,Arial,sans-serif}
 .sf-payment-footnote{font:11px/1.6 var(--sf-mono);margin-top:15px!important}
 .sf-visit{padding:21px 20px}
 .sf-visit>header h1{font:800 39px/1 Archivo,Arial,sans-serif;letter-spacing:-.045em;margin:10px 0 13px}
 .sf-visit>header p:last-child{font:14px/1.5 Archivo,Arial,sans-serif;margin-bottom:18px}
 .sf-visit>header em{font:italic 400 1.2em/1.2 Newsreader,Georgia,serif}
 .sf-visit-links{margin:24px 0 18px}
 .sf-visit-links>:is(button,a){min-height:70px;padding:13px 0;font:600 18px/1.2 Archivo,Arial,sans-serif}
 .sf-visit-links small{font:11px/1.5 var(--sf-mono);margin-top:6px}
}
@media(max-width:350px){
 .sf-catalog{padding-inline:16px}
 .sf-catalog-heading h1{font-size:44px}
 .sf-catalog-heading>p{font-size:9px;max-width:90px}
 .sf-filters{gap:4px}
 .sf-filters button{padding-inline:8px;font-size:10px}
 .sf-product-open,.sf-product-list.shop .sf-product-open{grid-template-columns:60px minmax(0,1fr) 32px;gap:10px}
 .sf-list-photo,.sf-product-list.shop .sf-list-photo{width:60px;height:79px}
 .sf-product-info>strong,.sf-product-list.shop .sf-product-info>strong{font-size:17px}
 .sf-product-info>span{font-size:11px}
 .sf-catalog-hint{font-size:10px}
 .sf-shop-hero{grid-template-columns:minmax(0,1fr) 120px;gap:9px}
 .sf-shop-hero h1{font-size:39px}
 .sf-shop-hero img{width:90px;height:109px}
 .sf-product-order{padding-inline:14px;gap:9px}
 .sf-timeslots{gap:7px}
 .sf-timeslots button{padding-inline:5px;font-size:20px}
}
