/* Shared store buttons, notify sheet, FAQ, footer and preview ribbon (atlas / kinetic / postcard) */
.badges{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.badge{position:relative;display:inline-block;height:52px;transition:transform .2s}
.badge:hover{transform:translateY(-2px)}
.badge img{height:100%;width:auto}
.android-soon{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 18px 0 14px;border-radius:12px;border:1.5px solid currentColor;background:transparent;color:inherit;font:600 15px/1.1 "Be Vietnam Pro",system-ui,sans-serif;cursor:pointer;text-align:left;transition:transform .2s,background .2s}
.android-soon:hover{transform:translateY(-2px);background:rgba(129,106,78,.1)}
.android-soon svg{width:22px;height:22px;color:#2fb36d;flex:none}
.android-soon small{display:block;font-size:11px;font-weight:600;opacity:.7;letter-spacing:.02em}
@media (max-width:860px){.badge,.android-soon{height:46px}}
:focus-visible{outline:3px solid #7c3aed;outline-offset:3px;border-radius:6px}

.qs-sheet{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(26,15,0,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s}
.qs-sheet.open{opacity:1}
.qs-sheet[hidden]{display:none}
.qs-sheet-card{position:relative;width:min(440px,100%);background:#fff8e8;color:#1a0f00;border-radius:26px;padding:28px 24px 22px;text-align:center;box-shadow:0 40px 80px -20px rgba(40,20,0,.5);transform:translateY(20px) scale(.98);transition:transform .35s cubic-bezier(.2,.9,.2,1);font-family:"Be Vietnam Pro",system-ui,sans-serif}
.qs-sheet.open .qs-sheet-card{transform:none}
.qs-sheet-card img{width:96px;height:96px;margin:0 auto 10px;display:block}
.qs-sheet-card h3{font-size:26px;letter-spacing:-.03em;font-weight:800}
.qs-sub{color:#3d3025;font-size:15px;margin:8px 0 18px;line-height:1.45}
.qs-sheet-card form{display:flex;gap:8px}
.qs-sheet-card form[hidden]{display:none}
.qs-sheet-card input{flex:1;min-width:0;height:48px;border-radius:14px;border:1.5px solid rgba(129,106,78,.35);background:#fff;padding:0 14px;font:500 16px "Be Vietnam Pro",sans-serif;color:#1a0f00}
.qs-sheet-card form button{height:48px;border:0;border-radius:14px;background:#1a0f00;color:#fdf1d7;font:700 15px "Be Vietnam Pro",sans-serif;padding:0 18px;cursor:pointer}
.qs-sheet-card form button[disabled]{opacity:.5}
.qs-fine{font-size:12px;color:#6f5a40;margin-top:10px}
.qs-err{font-size:13px;color:#a8391f;margin-top:8px}
.qs-done{font-weight:600;color:#3f7a2a;margin-top:6px}
.qs-x{position:absolute;top:10px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:transparent;font-size:26px;color:#816a4e;cursor:pointer}
.qs-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:420px){.qs-sheet-card form{flex-direction:column}}

.qs-sim{position:fixed;left:50%;top:auto;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:150;background:#7c3aed;color:#fff;font:600 13px "Be Vietnam Pro",sans-serif;padding:9px 16px;border-radius:999px;box-shadow:0 10px 30px rgba(60,20,120,.35);white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis}
.qs-sim a{color:#fff;margin-left:8px}

/* FAQ (shared markup; each page sets its own colours through inheritance) */
.qs-faq{padding:clamp(70px,10vw,140px) var(--gutter,24px);max-width:1100px;margin:0 auto}
.qs-faq h2{font-size:clamp(34px,4.6vw,64px);letter-spacing:-.035em;line-height:1;font-weight:800;margin:12px 0 30px}
.qs-faq details{border-top:1px solid rgba(129,106,78,.3);padding:6px 0}
.qs-faq details:last-of-type{border-bottom:1px solid rgba(129,106,78,.3)}
.qs-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;font-weight:700;font-size:clamp(17px,1.6vw,21px)}
.qs-faq summary::-webkit-details-marker{display:none}
.qs-faq summary::after{content:"+";font-size:26px;font-weight:400;transition:transform .3s;color:#816a4e}
.qs-faq details[open] summary::after{transform:rotate(45deg)}
.qs-faq details p{padding:0 0 18px;max-width:70ch;opacity:.85}

/* Footer (shared) */
.qs-footer{padding:40px var(--gutter,24px) calc(110px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:28px;border-top:1px solid rgba(129,106,78,.25);font-size:14px}
.qs-footer h4{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#816a4e;margin-bottom:12px}
.qs-footer a{display:block;text-decoration:none;opacity:.8;padding:4px 0}
.qs-footer a:hover{opacity:1}
.qs-footer .qs-brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:.24em;font-size:13px;opacity:1}
.qs-footer .qs-brand img{width:30px;height:30px}
.qs-footer p{opacity:.7;margin-top:10px;max-width:34ch}
.qs-footer .qs-legal{grid-column:1/-1;font-size:11px;opacity:.6;max-width:none}
@media (max-width:760px){.qs-footer{grid-template-columns:1fr 1fr}.qs-footer>div:first-child{grid-column:1/-1}}

/* Featured-edition carousel (tabs only appear when 2+ editions are live) */
.qs-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.qs-tabs button{position:relative;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(129,106,78,.35);background:rgba(255,248,232,.7);color:inherit;border-radius:999px;padding:9px 16px 11px;font:700 14px "Be Vietnam Pro",sans-serif;cursor:pointer;overflow:hidden}
.qs-tabs button[aria-selected="true"]{background:#1a0f00;color:#fdf1d7;border-color:#1a0f00}
.qs-tabs button i{position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:rgba(129,106,78,.2)}
.qs-tabs button[aria-selected="true"] i{background:rgba(253,241,215,.25)}
.qs-tabs button b{display:block;height:100%;width:0;background:#f0b030;border-radius:2px}
.qs-slides>[hidden]{display:none}
.qs-slides>.is-on{animation:qsIn .6s cubic-bezier(.2,.9,.2,1)}
@keyframes qsIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.qs-slides>.is-on{animation:none}}
.qs-kicker{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#816a4e}
.badge,.android-soon{transition:transform .2s,translate .3s cubic-bezier(.2,.9,.2,1),background .2s}

.qs-badges-visible .dock{transform:translateY(140%)!important}
.qs-choose{text-decoration:none}

/* Get-the-app sheet (laptops/desktops) */
.qs-getapp .qs-qr{width:200px;height:200px;margin:6px auto 4px;padding:12px;background:#fff;border-radius:18px;border:1px solid rgba(129,106,78,.25);display:block}
.qs-getapp .qs-or{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#816a4e;margin:14px 0 10px;font-weight:700}
.qs-getapp .badges{justify-content:center}
.qs-getapp h3{margin-top:4px}

/* Brand lockup: QUARTERSPEAK / LOCAL LINGO */
.qs-lockup{display:inline-flex;flex-direction:column;line-height:1}
.qs-lockup small{font-size:9px;font-weight:700;letter-spacing:.44em;color:#966041;margin-top:5px;padding-left:1px}
