/* v4.2: footer layout, pairing carousel, quick view, category cards */
/* Footer */
.site-footer .footer-main{grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr) minmax(0,1fr);align-items:start}
.site-footer .footer-intro{max-width:460px}
.site-footer .sd-footer-address-inline{margin:16px 0 0;font-size:18px;line-height:1.45;font-weight:650;color:#fff;max-width:390px}
.site-footer .footer-contact{gap:18px}
.site-footer .footer-hotline,.site-footer .sd-footer-secondary-phone,.site-footer .sd-footer-community,.site-footer .sd-footer-address{border:0!important;padding:0!important}
.site-footer .sd-footer-secondary-phone{margin-top:-4px}
.site-footer .sd-footer-community{margin-top:6px}
.site-footer .sd-footer-community h4{margin:0 0 6px}
@media(max-width:900px){.site-footer .footer-main{grid-template-columns:1fr;gap:28px}.site-footer .sd-footer-address-inline{font-size:16px;max-width:none}}

/* Pairings */
.sd-pairings{overflow:hidden}
.sd-pairings-top{align-items:flex-end}
.sd-pairings-actions{display:flex;align-items:center;gap:14px}
.sd-pairings-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 2px 6px;scrollbar-width:none;-ms-overflow-style:none}
.sd-pairings-track::-webkit-scrollbar{display:none}
.sd-pairing-item{min-width:250px;flex:0 0 250px;display:flex;gap:10px;align-items:center;padding:10px;border:1px solid #f0dfd0;border-radius:18px;background:#fff;scroll-snap-align:start}
.sd-pairing-card{display:flex;gap:12px;align-items:center;flex:1;min-width:0;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.sd-pairing-photo{width:66px;height:66px;flex:0 0 66px;border-radius:14px;background:#f8efe4;display:grid;place-items:center;overflow:hidden}
.sd-pairing-photo img{display:block;width:100%;height:100%;object-fit:contain}
.sd-pairing-name{display:block;font-size:15px;font-weight:900;line-height:1.18;color:#231b1b}
.sd-pairing-info>span:last-child{font-size:14px;font-weight:900;color:#ad0030}
.sd-pairing-add{width:38px;height:38px;flex:0 0 38px}
.sd-pairing-view{font-size:18px}
@media(max-width:650px){.sd-pairings-top{align-items:flex-start;gap:10px}.sd-pairings-actions{align-self:flex-end}.sd-pairing-item{min-width:84%;flex-basis:84%}.sd-pairing-name{font-size:14px}}

/* Discovery heading */
.sd-discover-head>div>span{display:none!important}
.sd-discover-head h2 em{font-style:italic}
.sd-discover-head p{font-size:18px;line-height:1.45;margin-top:10px;color:#7e645b}

/* Strong visible arrows */
.sd-carousel-arrow{position:relative;color:transparent!important}
.sd-carousel-arrow span{opacity:0}
.sd-carousel-arrow::before{position:absolute;inset:0;display:grid;place-items:center;font-size:38px;line-height:1;color:currentColor;font-weight:900}
.sd-carousel-prev::before{content:'←';color:#8f002a}
.sd-carousel-next::before{content:'→';color:#fff}
.sd-pairings .sd-carousel-prev::before{content:'←';color:#8f002a}
.sd-pairings .sd-carousel-next::before{content:'→';color:#fff}
@media(max-width:650px){.sd-carousel-arrow::before{font-size:30px}}

/* Same-category rail cards tighten controls */
.sd-discover .food-card-bottom{justify-content:space-between;align-items:center}
.sd-discover .food-card-buy{gap:8px}
.sd-discover .card-mini-stepper{flex:0 0 auto}
.sd-discover .food-add{align-self:center}

/* Missing categories styled like richer homepage tiles */
.sd-missing-courses{margin-top:56px}
.sd-missing-intro h2{max-width:720px}
.sd-missing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sd-missing-home-card{display:flex;flex-direction:column;min-height:330px;padding:0;overflow:hidden;border-radius:24px;border:1px solid #ecd3be;background:#fff7ef;box-shadow:0 12px 24px rgba(67,27,15,.05);text-decoration:none}
.sd-missing-home-card .sd-missing-visual{display:block;height:210px;background:radial-gradient(circle at center,#fff2df 0,#f7dfc5 100%);overflow:hidden}
.sd-missing-home-card .sd-course-photo{width:100%;height:100%;object-fit:contain;padding:18px;background:transparent}
.sd-missing-home-card .sd-course-monogram{display:grid;place-items:center;width:100%;height:100%;font-size:86px;color:#b30031}
.sd-missing-home-card .sd-missing-card-copy{display:flex;flex-direction:column;gap:8px;padding:20px 22px 22px;min-height:120px}
.sd-missing-home-card .sd-missing-card-copy strong{font-family:var(--font-display);font-size:clamp(24px,2vw,34px);line-height:1.02;letter-spacing:-.04em;color:#241715}
.sd-missing-home-card .sd-missing-card-copy small{font-size:15px;line-height:1.45;color:#7b645d}
.sd-missing-home-card .sd-missing-cta{margin-top:auto;padding-top:10px;font-size:14px;font-weight:800;color:#a1002c}
@media(max-width:1000px){.sd-missing-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.sd-missing-grid{grid-template-columns:1fr;gap:16px}.sd-missing-home-card{min-height:0}.sd-missing-home-card .sd-missing-visual{height:180px}.sd-missing-home-card .sd-missing-card-copy strong{font-size:28px}.sd-missing-home-card .sd-missing-card-copy small{font-size:14px}}

/* Quick view modal */
body.sd-quickview-open{overflow:hidden}
.sd-quickview-overlay{position:fixed;inset:0;background:rgba(22,7,11,.72);z-index:130}
.sd-quickview{position:fixed;inset:auto 0 0 0;z-index:131;display:flex;justify-content:center;padding:22px;max-height:100vh;overflow:auto}
.sd-quickview-content{width:min(940px,100%)}
.sd-qv-shell{position:relative;display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1fr);gap:28px;background:#fff8f0;border-radius:28px;border:1px solid #ecd8ca;box-shadow:0 30px 60px rgba(35,9,16,.22);padding:26px}
.sd-qv-close{position:absolute;top:18px;right:18px;border:0;background:#fff;color:#6b1930;width:44px;height:44px;border-radius:14px;font-size:26px;line-height:1;box-shadow:0 8px 16px rgba(63,18,14,.08);cursor:pointer}
.sd-qv-media{background:linear-gradient(180deg,#fff 0,#f7eee2 100%);border-radius:22px;display:grid;place-items:center;min-height:320px;overflow:hidden}
.sd-qv-image{display:block;width:100%;height:100%;object-fit:contain;padding:16px}
.sd-qv-placeholder{font:700 90px/1 var(--font-display);color:#b30031}
.sd-qv-copy{display:flex;flex-direction:column;gap:14px;padding-top:8px}
.sd-qv-eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:#a4002e}
.sd-qv-copy h3{margin:0;font:900 clamp(30px,3vw,48px)/.96 var(--font-display),sans-serif;letter-spacing:-.04em;color:#251715}
.sd-qv-price{font:900 34px/1.05 var(--font-display),sans-serif;color:#a3002d}
.sd-qv-price .amount{font-weight:900}
.sd-qv-desc{margin:0;font-size:16px;line-height:1.6;color:#664f49}
.sd-qv-meta{padding:14px 16px;border:1px solid #eedbcc;border-radius:18px;background:#fff}.sd-qv-meta span{display:block;font-size:12px;font-weight:900;letter-spacing:.14em;color:#9a7a6d;margin-bottom:6px}.sd-qv-meta strong{font-size:15px;line-height:1.45;color:#261a19}
.sd-qv-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.sd-qv-stepper{height:50px}.sd-qv-stepper input{width:48px}.sd-qv-add{min-width:220px}.sd-qv-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:#7b1830;text-decoration:none;margin-top:4px}
@media(max-width:760px){.sd-quickview{padding:14px;align-items:flex-end}.sd-qv-shell{grid-template-columns:1fr;gap:18px;padding:18px;border-radius:24px}.sd-qv-media{min-height:250px}.sd-qv-copy h3{font-size:34px}.sd-qv-price{font-size:28px}.sd-qv-add{width:100%;min-width:0}.sd-qv-actions{align-items:stretch}.sd-qv-stepper{width:100%;justify-content:space-between}}
