:root { --ink:#14131a; --paper:#f8f7f2; --lime:#e4ff4f; --coral:#ff7547; --purple:#8c67ff; }
body { background:var(--canvas-bg,var(--paper)); color:var(--canvas-fg,var(--ink)); font-family:var(--site-font,Arial,sans-serif); padding-top:72px; }
.navbar { min-height:72px; background:var(--navbar-bg,var(--ink)); color:var(--navbar-fg,#fff); backdrop-filter:blur(10px); }.navbar .nav-link, .navbar .navbar-brand { color:var(--navbar-fg,#fff); }.navbar-brand { display:flex; align-items:center; margin:0; }.navbar-logo { display:block; width:auto; height:2.35rem; }.navbar-home .navbar-brand { position:relative; width:9rem; height:2.35rem; }.navbar-home .navbar-logo { position:absolute; top:-.35rem; left:0; height:7rem; max-width:none; z-index:2; }.navbar-brand sup, footer sup { font-size:.55em; }
.navbar-search { position:relative; margin-top:.5rem; }.navbar-search input { width:11rem; padding:.38rem 2.25rem .38rem .7rem; border:1px solid currentColor; border-radius:.55rem; background:transparent; color:var(--navbar-fg,#fff); font-size:.85rem; }.navbar-search input::placeholder { color:currentColor; opacity:.65; }.navbar-search input:focus { outline:2px solid var(--lime); outline-offset:1px; }.navbar-search button { position:absolute; top:50%; right:.15rem; display:grid; width:2rem; height:calc(100% - .3rem); padding:0; place-items:center; border:0; border-radius:.4rem; background:transparent; color:var(--navbar-fg,#fff); opacity:.65; transform:translateY(-50%); }.navbar-search button:hover, .navbar-search button:focus-visible { color:var(--navbar-fg,#fff); opacity:1; background:color-mix(in srgb,var(--navbar-fg,#fff) 15%,transparent); }.navbar-search svg { width:1rem; height:1rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:2; } @media (min-width:992px) { .navbar-search { margin-top:0; } }
.hero { min-height:70vh; background:linear-gradient(90deg,rgba(20,19,26,.5),rgba(20,19,26,.05)),var(--hero-image, url('/assets/images/hero.svg')) center/cover; display:flex; align-items:end; }.hero-title { color:white; font-family:var(--hero-font,var(--site-font)); font-size:clamp(3rem,10vw,8rem); font-weight:800; letter-spacing:-.08em; line-height:.82; text-shadow:0 4px 30px rgba(0,0,0,.3); }.hero-title sup { font-size:.38em; vertical-align:top; }.hero-copy { color:white; max-width:34rem; }
.section-kicker { color:var(--canvas-fg,var(--ink)); opacity:.68; font-size:.8rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.story-card { background:var(--cards-bg,#fff); color:var(--cards-fg,var(--ink)); border-radius:1.25rem; box-shadow:0 8px 25px rgba(20,19,26,.08); overflow:hidden; transition:transform .2s,box-shadow .2s; }.story-card:hover { transform:translateY(-4px); box-shadow:0 14px 28px rgba(20,19,26,.14); }.story-media { position:relative; }.story-image { aspect-ratio:1/1; object-fit:cover; }.story-title-overlay { position:absolute; right:0; bottom:0; left:0; padding:3.5rem 1.25rem 1.25rem; color:#fff; font-family:var(--hero-font,var(--site-font)); font-weight:800; letter-spacing:-.03em; line-height:1.05; text-shadow:0 2px 7px rgba(0,0,0,.78); background:linear-gradient(transparent,rgba(0,0,0,.7)); }.tag-badge { background:#ece9f6; color:#41375c; font-weight:600; }.story-date { color:var(--cards-fg,var(--ink)); opacity:.65; font-size:.875rem; }.card-text { color:var(--cards-fg,var(--ink)); line-height:1.55; }.story-card .card-text { display:-webkit-box; min-height:7.75em; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:5; }.archive-search { background:var(--cards-bg,#fff); color:var(--cards-fg,var(--ink)); }.story-card mark { padding:.03em .12em; border-radius:.15em; background:var(--lime); color:var(--ink); box-decoration-break:clone; -webkit-box-decoration-break:clone; }.story-title-overlay mark { text-shadow:none; } footer { background:var(--footer-bg,var(--paper)); color:var(--footer-fg,var(--ink)); border-top:1px solid #dedbd4; font-size:.9rem; } .footer-content { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1rem; }.footer-site { display:flex; flex-direction:column; gap:.25rem; }.footer-site small, .footer-powered > small, .footer-content > .text-secondary { color:var(--footer-fg,var(--ink)) !important; opacity:.65; }.footer-powered { display:flex; flex-direction:column; align-items:center; gap:.35rem; }.footer-content > :last-child { text-align:right; }.footer-cms-logo { width:18rem; height:5rem; overflow:hidden; border-radius:.85rem; box-shadow:0 4px 12px rgba(20,19,26,.12); }.footer-cms-logo img { width:100%; height:100%; object-fit:cover; object-position:center; }.page-heading { max-width:44rem; }.empty-state { background:var(--cards-bg,#fff); border-radius:1.25rem; } @media (max-width:767.98px) { .footer-content { grid-template-columns:1fr; justify-items:center; text-align:center; }.footer-content > :last-child { text-align:center; }.footer-cms-logo { width:min(18rem,100%); } }
.story-rail { display:flex; gap:1.5rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:.5rem 0 1.5rem; }.story-rail::-webkit-scrollbar { display:none; }.story-slide { flex:0 0 calc((100% - 3rem)/3); min-width:0; scroll-snap-align:start; }.story-arrow { position:absolute; top:50%; z-index:1; width:3rem; height:3rem; border:0; border-radius:50%; background:var(--ink); color:white; font-size:2rem; line-height:1; transform:translateY(-50%); box-shadow:0 4px 12px rgba(20,19,26,.2); }.story-arrow:hover { background:var(--purple); }.story-arrow:disabled { opacity:0; pointer-events:none; }.story-arrow-previous { left:-1.25rem; }.story-arrow-next { right:-1.25rem; } @media (max-width: 991.98px) { .story-slide { flex-basis:calc((100% - 1.5rem)/2); } } @media (max-width: 575.98px) { .story-slide { flex-basis:100%; }.story-arrow-previous { left:.5rem; }.story-arrow-next { right:.5rem; } }
.rich-editor { min-height:10rem; padding:.75rem; border:1px solid #dee2e6; border-radius:0 0 .375rem .375rem; background:white; }.rich-editor:focus { outline:0; border-color:#86b7fe; box-shadow:0 0 0 .25rem rgba(13,110,253,.15); }.rich-editor blockquote { margin:1rem 0 1.5rem; padding:1rem 1.25rem; border-left:4px solid var(--purple); background:#f0edf9; color:#514966; }.rich-editor blockquote + cite { margin-top:-1rem; }.editor-toolbar { display:flex; flex-wrap:wrap; gap:.35rem; padding:.45rem; border:1px solid #dee2e6; border-bottom:0; border-radius:.375rem .375rem 0 0; background:#f8f9fa; }.editor-toolbar button { min-width:2.25rem; border:1px solid #ced4da; border-radius:.25rem; background:white; }.editor-toolbar-divider { width:1px; margin:.1rem .15rem; background:#ced4da; }.editor-toolbar .editor-colour { min-width:1.55rem; width:1.55rem; height:1.55rem; padding:0; border-radius:50%; }.editor-colour-ink { background:#14131a !important; }.editor-colour-purple { background:#8c67ff !important; }.editor-colour-coral { background:#ff7547 !important; }.editor-colour-green { background:#4d7c4f !important; }.admin-story-list { max-height:clamp(24rem, 62vh, 44rem); overflow-y:auto; padding-right:.5rem; }.card-text p:last-child, .card-text ul:last-child, .card-text ol:last-child, .card-text blockquote:last-child { margin-bottom:0; }.card-text blockquote { border-left:3px solid var(--purple); padding-left:1rem; color:#5e556e; }
.theme-colour-chooser { display:flex; flex-wrap:wrap; gap:.45rem; }.theme-colour-choice { cursor:pointer; position:relative; }.theme-colour-choice input { position:absolute; opacity:0; pointer-events:none; }.theme-colour-choice > span:not(.visually-hidden) { display:block; width:2rem; height:2rem; border:2px solid transparent; border-radius:.55rem; box-shadow:inset 0 0 0 1px rgba(20,19,26,.18); transition:transform .15s,box-shadow .15s; }.theme-colour-choice:hover > span:not(.visually-hidden) { transform:translateY(-2px); }.theme-colour-choice.is-selected > span:not(.visually-hidden) { box-shadow:inset 0 0 0 1px rgba(20,19,26,.18),0 0 0 2px var(--ink); }
.admin-main .card { background-color:var(--cards-bg,#fff); color:var(--cards-fg,var(--ink)); }
.dashboard-bar-total { width:5.5rem; flex:0 0 5.5rem; text-align:right; font-variant-numeric:tabular-nums; }
.dashboard-metric-card { color:inherit; text-decoration:none; transition:background-color .15s,box-shadow .15s,transform .15s; }.dashboard-metric-card:hover { color:inherit; transform:translateY(-2px); }.dashboard-metric-card.is-selected { background:color-mix(in srgb,var(--purple) 18%,var(--cards-bg,#fff)) !important; box-shadow:0 0 0 3px var(--purple),0 8px 25px rgba(20,19,26,.1) !important; }.dashboard-change { display:inline-flex; align-items:center; gap:.25rem; }.dashboard-change-arrow { font-size:1.35rem; font-weight:900; line-height:.8; -webkit-text-stroke:.35px currentColor; }
.dashboard-status-group { border-radius:.65rem; background:color-mix(in srgb,var(--cards-fg,var(--ink)) 5%,transparent); }.dashboard-status-group summary,.dashboard-status-empty { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:2.4rem; padding:.45rem .7rem; font-variant-numeric:tabular-nums; }.dashboard-status-group summary { cursor:pointer; border-radius:.65rem; list-style:none; }.dashboard-status-group summary::-webkit-details-marker { display:none; }.dashboard-status-group summary:hover,.dashboard-status-group summary:focus-visible { background:color-mix(in srgb,var(--purple) 14%,transparent); outline:none; }.dashboard-status-label::before { display:inline-block; width:1.1rem; margin-right:.35rem; content:'›'; color:var(--purple); font-size:1.35rem; font-weight:900; line-height:.8; transition:transform .15s; }.dashboard-status-group[open] .dashboard-status-label::before { transform:rotate(90deg); }.dashboard-status-codes { padding:.15rem .7rem .55rem 2.15rem; }.dashboard-status-codes li { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.25rem 0; border-top:1px solid color-mix(in srgb,var(--cards-fg,var(--ink)) 10%,transparent); font-variant-numeric:tabular-nums; }.dashboard-status-codes code { color:inherit; }.dashboard-status-empty { color:var(--cards-fg,var(--ink)); opacity:.55; }
.dashboard-country-list { list-style:none; }.dashboard-country-row { align-items:center; min-width:0; }.dashboard-country-leading,.dashboard-list-total { width:4.5rem; flex:0 0 4.5rem; font-variant-numeric:tabular-nums; }.dashboard-country-leading { display:flex; align-items:center; gap:.5rem; }.dashboard-country-rank { width:2rem; flex:0 0 2rem; text-align:right; white-space:nowrap; }.dashboard-country-flag { width:1.25rem; flex:0 0 1.25rem; font-size:.7rem; line-height:1; text-align:center; }.dashboard-country-flag img { display:block; width:1.25rem; height:.9375rem; border-radius:2px; object-fit:cover; box-shadow:0 0 0 1px rgba(20,19,26,.12); }.dashboard-country-name { min-width:0; flex:1 1 auto; overflow:hidden; text-align:center; text-overflow:ellipsis; white-space:nowrap; }.dashboard-list-total { text-align:right; }.dashboard-page-row { min-width:0; align-items:center; }.dashboard-page-label { min-width:0; flex:1 1 auto; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dashboard-uk-map-layout { display:grid; grid-template-columns:minmax(10rem,1fr) minmax(9rem,.8fr); align-items:center; gap:1.5rem; }.dashboard-uk-map { display:block; width:100%; max-width:18rem; max-height:29rem; margin:auto; overflow:visible; }.dashboard-uk-region { stroke:var(--cards-bg,#fff); stroke-width:1.5; vector-effect:non-scaling-stroke; transition:filter .15s,stroke-width .15s; }.dashboard-uk-region:hover,.dashboard-uk-region:focus { outline:none; filter:drop-shadow(0 2px 3px rgba(20,19,26,.35)); stroke:var(--cards-fg,var(--ink)); stroke-width:3; }.dashboard-uk-level-0 { fill:#e7e3ed; background:#e7e3ed; }.dashboard-uk-level-1 { fill:#d8ccff; background:#d8ccff; }.dashboard-uk-level-2 { fill:#b69cff; background:#b69cff; }.dashboard-uk-level-3 { fill:#8c67ff; background:#8c67ff; }.dashboard-uk-level-4 { fill:#5f3fd0; background:#5f3fd0; }.dashboard-uk-region-key li { display:grid; grid-template-columns:1rem 1fr 2.5rem; align-items:center; gap:.6rem; padding:.35rem 0; }.dashboard-uk-region-key strong { text-align:right; font-variant-numeric:tabular-nums; }.dashboard-uk-swatch { display:inline-block; width:1rem; height:1rem; border-radius:.2rem; box-shadow:inset 0 0 0 1px rgba(20,19,26,.12); }.dashboard-uk-legend { display:flex; justify-content:center; align-items:center; gap:.3rem; margin-top:1rem; }.dashboard-uk-legend .dashboard-uk-swatch { width:1.25rem; height:.65rem; border-radius:0; }.dashboard-uk-legend .dashboard-uk-swatch:first-of-type { border-radius:.2rem 0 0 .2rem; }.dashboard-uk-legend .dashboard-uk-swatch:last-of-type { border-radius:0 .2rem .2rem 0; } @media (max-width:575.98px) { .dashboard-uk-map-layout { grid-template-columns:1fr; }.dashboard-uk-map { max-width:14rem; max-height:22rem; }.dashboard-uk-region-key { width:100%; } }
.admin-main .card.draft-story { background-color:color-mix(in srgb,var(--cards-bg,#fff) 91%,var(--cards-fg,var(--ink))); }.draft-label { background:var(--cards-fg,var(--ink)); color:var(--cards-bg,#fff); font-size:.7rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; vertical-align:middle; }
.editor-toolbar button { transition:background-color .15s,color .15s,box-shadow .15s,transform .15s; }.editor-toolbar button:hover, .editor-toolbar button:focus-visible, .editor-toolbar button.is-active { border-color:var(--purple); background:var(--purple); color:#fff; box-shadow:0 0 0 .15rem rgba(140,103,255,.2); }.editor-toolbar button:active { transform:translateY(1px); }.editor-toolbar .editor-colour.is-active { box-shadow:0 0 0 3px var(--purple),0 0 0 5px #fff; }
.editor-toolbar button svg { width:1.2rem; height:1.2rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:2; vertical-align:middle; }
.image-chooser { display:grid; grid-template-columns:repeat(auto-fill,minmax(9rem,1fr)); gap:1rem; max-height:32rem; overflow-y:auto; padding:.25rem; }.image-choice { position:relative; display:block; cursor:pointer; border:2px solid transparent; border-radius:.8rem; overflow:hidden; background:#f2f0ea; }.image-choice:hover, .image-choice.is-selected { border-color:var(--purple); }.image-choice input { position:absolute; opacity:0; }.image-choice img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }.image-choice span { display:block; padding:.5rem; overflow:hidden; color:var(--ink); font-size:.75rem; text-overflow:ellipsis; white-space:nowrap; }
.image-choice > label { display:block; cursor:pointer; }.image-delete-button { position:absolute; top:.45rem; right:.45rem; z-index:2; padding:.3rem .55rem; border:0; border-radius:999px; background:rgba(185,28,28,.94); color:#fff; font-size:.72rem; font-weight:700; box-shadow:0 2px 8px rgba(20,19,26,.28); }.image-delete-button:hover, .image-delete-button:focus-visible { background:#7f1d1d; outline:2px solid #fff; outline-offset:1px; }
.error-page { max-width:38rem; padding:5rem 1rem; }
.admin-tag-list { max-height:32rem; overflow-y:auto; padding-right:.5rem; }.tag-editor-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(7rem,auto) auto auto auto; gap:.5rem; align-items:center; }.tag-editor-row .badge { display:inline-block; min-width:5.75rem; text-align:center; white-space:nowrap; } @media (max-width:575.98px) { .tag-editor-row { grid-template-columns:1fr auto; }.tag-editor-row .form-control, .tag-editor-row .tag-colour-select { grid-column:1/-1; } }
.tag-colour-select { width:3.7rem; padding-left:.45rem; padding-right:.35rem; font-size:1.7rem; line-height:1; text-align:left; }.tag-colour-select option { font-size:1.7rem; }
.tag-select { height:calc(2.25rem + 2px); min-height:0; }.editor-toolbar button[data-command="removeFormat"] { display:none; }
.story-text h2, .story-text h3 { margin-top:2rem; margin-bottom:1rem; font-weight:800; letter-spacing:-.03em; }.story-text h2 { font-size:1.6rem; }.story-text h3 { font-size:1.3rem; }
.story-card-link, .story-card-link:hover, .story-card-link:visited { display:block; height:100%; color:inherit; text-decoration:none !important; }.story-card-link:focus-visible { outline:3px solid var(--purple); outline-offset:-3px; border-radius:1.25rem; }.story-hero { position:relative; height:min(46vh,32rem); min-height:18rem; overflow:hidden; background:var(--ink); }.story-hero > img { width:100%; height:100%; object-fit:cover; }.story-hero-overlay { position:absolute; inset:0; display:flex; align-items:end; padding-bottom:2rem; color:white; background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.04) 72%); }.story-hero-overlay h1 { max-width:14ch; font-family:var(--hero-font,var(--site-font)); letter-spacing:-.055em; line-height:.94; text-shadow:0 2px 7px rgba(0,0,0,.78); }.story-content { max-width:60rem; }.story-text { color:#393440; line-height:1.7; }.story-text p, .story-text ul, .story-text ol, .story-text blockquote { margin-bottom:1.5rem; }.story-text blockquote { padding:1rem 1.25rem; border-left:4px solid var(--purple); background:#f0edf9; color:#514966; }.story-text cite, .about-text cite, .rich-editor cite { display:block; margin:.25rem 0 1.5rem; padding-right:1.25rem; color:#5e556e; font-size:.85em; font-style:italic; text-align:right; }.story-text blockquote + cite, .rich-editor blockquote + cite { margin-top:-1rem; }.story-nav-card { display:flex !important; min-height:13rem; flex-direction:column; justify-content:end; padding:1.5rem; overflow:hidden; border-radius:1rem; background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 75%),var(--story-nav-image) center/cover; color:white; text-decoration:none; text-shadow:0 2px 7px rgba(0,0,0,.78); box-shadow:0 6px 18px rgba(20,19,26,.08); transition:transform .2s,box-shadow .2s; }.story-nav-card:hover { color:white; transform:translateY(-3px); box-shadow:0 12px 25px rgba(20,19,26,.13); }.story-nav-card strong { font-family:var(--hero-font,var(--site-font)); font-size:1.35rem; line-height:1.1; }.story-nav-label { display:block; margin-bottom:.35rem; color:rgba(255,255,255,.8); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:575.98px) { .navbar-home .navbar-brand { width:6.5rem; }.navbar-home .navbar-logo { top:.15rem; height:4.75rem; } }
.story-editor-shell { position:relative; }.story-editor-shell .editor-toolbar { position:sticky; top:72px; z-index:4; }.story-rich-editor { height:clamp(20rem,55vh,38rem); min-height:20rem; overflow-y:auto; resize:vertical; }.editor-actions { position:sticky; bottom:0; z-index:3; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 0; border-top:1px solid color-mix(in srgb,var(--cards-fg,var(--ink)) 18%,transparent); background:var(--cards-bg,#fff); }.editor-actions #autosave-status { color:var(--cards-fg,var(--ink)); opacity:.7; }.story-text a, .rich-editor a { color:#5f4da8; font-weight:600; text-decoration-thickness:.1em; text-underline-offset:.16em; }.story-text a:hover, .rich-editor a:hover { color:#3f3373; }
.story-image-preview { display:flex; align-items:center; gap:.85rem; padding:.65rem; border:1px solid #dee2e6; border-radius:.65rem; background:#f8f9fa; }.story-image-preview[hidden] { display:none; }.story-image-preview img { width:4.5rem; height:4.5rem; flex:0 0 auto; border-radius:.45rem; background:#e9ecef; object-fit:cover; }.story-image-preview strong,.story-image-preview span { display:block; }.story-image-preview span { margin-top:.15rem; color:#6c757d; font-size:.82rem; line-height:1.35; }
@media (max-width:575.98px) { .story-rich-editor { height:50vh; min-height:18rem; }.editor-actions { align-items:stretch; flex-direction:column; }.editor-actions .btn { width:100%; } }
.story-figure { margin:2rem 0; }.story-figure img { display:block; width:100%; height:auto; border-radius:1rem; }.story-figure--wide { width:min(110%,56rem); margin-inline:50%; transform:translateX(-50%); }.story-figure figcaption { margin-top:.6rem; color:#6c6573; font-size:.875rem; line-height:1.45; text-align:center; }.rich-editor .story-figure { position:relative; cursor:pointer; }.rich-editor .story-figure:hover::after { content:'Click to edit image'; position:absolute; top:.75rem; right:.75rem; padding:.35rem .6rem; border-radius:999px; background:rgba(20,19,26,.82); color:#fff; font-size:.75rem; }.inline-image-dialog { width:min(44rem,calc(100% - 2rem)); max-height:calc(100vh - 2rem); padding:0; overflow:auto; border:0; border-radius:1rem; box-shadow:0 1rem 4rem rgba(20,19,26,.28); }.inline-image-dialog::backdrop { background:rgba(20,19,26,.58); }.inline-image-dialog-head,.inline-image-dialog-actions { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; }.inline-image-dialog-head { justify-content:space-between; border-bottom:1px solid #dee2e6; }.inline-image-dialog-body { padding:1.25rem; }.inline-image-dialog-actions { border-top:1px solid #dee2e6; }.inline-image-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(7rem,1fr)); gap:.65rem; max-height:15rem; overflow:auto; }.inline-image-gallery button { min-width:0; padding:.35rem; overflow:hidden; border:2px solid transparent; border-radius:.6rem; background:#f3f1f6; color:#393440; }.inline-image-gallery button.is-selected { border-color:var(--purple); box-shadow:0 0 0 .15rem rgba(140,103,255,.2); }.inline-image-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:.35rem; }.inline-image-gallery span { display:block; margin-top:.3rem; overflow:hidden; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:767.98px) { .story-figure--wide { width:100%; margin-inline:0; transform:none; } }
.store-card { overflow:hidden; border-radius:1.25rem; background:var(--cards-bg,#fff); color:var(--cards-fg,var(--ink)); box-shadow:0 6px 18px rgba(20,19,26,.08); transition:transform .2s,box-shadow .2s; }.store-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(20,19,26,.14); }.store-card-link,.store-card-link:hover,.store-card-link:visited { display:flex; height:100%; flex-direction:column; color:inherit; text-decoration:none !important; }.store-card-link:focus-visible { outline:3px solid var(--purple); outline-offset:-3px; }.store-media { position:relative; min-height:24rem; padding:2rem; overflow:hidden; background:#e8e4dc; }.store-media > img { display:block; width:auto; max-width:100%; height:22rem; margin:auto; object-fit:contain; box-shadow:0 10px 24px rgba(20,19,26,.3); }.store-title-overlay { position:absolute; inset:auto 0 0; padding:4rem 1.5rem 1.35rem; color:#fff; background:linear-gradient(0deg,rgba(20,19,26,.9),transparent); text-shadow:0 2px 7px rgba(0,0,0,.75); }.store-title-overlay h2 { font-family:var(--hero-font,var(--site-font)); letter-spacing:-.04em; line-height:1; }.store-title-overlay p { color:rgba(255,255,255,.82); font-size:.9rem; }.store-format-badge { background:var(--purple); color:#fff; }.store-price { margin-left:auto; font-weight:800; }.store-buy-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }.store-buy-row small { color:currentColor; opacity:.65; text-align:right; }.store-card:hover .store-buy-row .btn { background:var(--purple); border-color:var(--purple); }.store-buy-row .btn { transition:background-color .2s,border-color .2s; }.store-buy-button { display:inline-flex; align-items:center; gap:.55rem; }.store-buy-button > img { width:1.25rem; height:1.25rem; object-fit:contain; filter:brightness(0) invert(1); }
.store-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0 0 1rem; padding:.75rem 0; border-top:1px solid color-mix(in srgb,currentColor 12%,transparent); border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent); }.store-meta > div + div { padding-left:1rem; border-left:1px solid color-mix(in srgb,currentColor 12%,transparent); }.store-meta dt { color:currentColor; font-size:.7rem; font-weight:700; letter-spacing:.08em; opacity:.58; text-transform:uppercase; }.store-meta dd { margin:0; font-weight:700; }
@media (max-width:575.98px) { .store-media { min-height:21rem; padding:1.5rem; }.store-media > img { height:19rem; }.store-buy-row { align-items:flex-start; flex-direction:column; }.store-buy-row small { text-align:left; } }
