/* Henry's Prints — shared presentation */
:root {
  --u-ink: #10251e;
  --u-muted: #5f6f68;
  --u-green: #073f34;
  --u-green-2: #0c6651;
  --u-coral: #ef5149;
  --u-gold: #d9aa4c;
  --u-cream: #fffaf0;
  --u-white: #fff;
  --u-line: rgba(7,63,52,.18);
  --u-panel: rgba(255,255,255,.965);
  --u-shadow: 0 22px 60px rgba(7,42,34,.17);
  --u-radius: 18px;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; }
body { color: var(--u-ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
img, svg { max-width: 100%; }

.skip-link { position: fixed; top: .6rem; left: .6rem; z-index: 10000; padding: .7rem 1rem; color: #fff !important; background: var(--u-green) !important; border-radius: 8px; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.scroll-progress { position: fixed; inset: 0 auto auto 0; z-index: 9999; width: 100%; height: 4px; pointer-events: none; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--u-coral), var(--u-gold), var(--u-green-2)); }
.back-to-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 90; width: 3rem; min-width: 3rem; height: 3rem; padding: 0; border-radius: 50%; opacity: 0; visibility: hidden; transform: translateY(12px); }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }

.hero, .game-header { padding: 1rem clamp(.65rem, 2vw, 1.5rem) clamp(3rem, 7vw, 6rem); background: transparent; border: 0; box-shadow: none; }
.nav { position: relative; z-index: 100; display: flex; width: min(calc(100% - 1rem), 90rem); max-width: 90rem; margin-inline: auto; padding: .85rem 1rem; background: rgba(255,255,255,.97); border: 1px solid rgba(217,170,76,.58); border-radius: 14px; box-shadow: 0 16px 48px rgba(7,42,34,.2); backdrop-filter: blur(16px); }
.nav::after { content: ""; position: absolute; right: 1rem; bottom: -1px; left: 1rem; height: 2px; background: linear-gradient(90deg, transparent, var(--u-gold), var(--u-coral), transparent); }
.brand { color: var(--u-green) !important; font-size: 1rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

.feature-search { display: grid; grid-template-columns: minmax(15rem, 1fr) 8.5rem 6.5rem 6.7rem; gap: .5rem; width: min(50rem, 75vw); }
.feature-search-input, .language-menu-select, .search-theme-toggle, .sound-toggle { min-height: 2.75rem; margin: 0; border-radius: 9px; }
.feature-search-input, .language-menu-select { color: var(--u-ink); background: #fff; border: 1px solid #bdc9c3; box-shadow: none; }
.feature-search-input:focus, .language-menu-select:focus { border-color: var(--u-coral); outline: 3px solid rgba(239,81,73,.15); }
.feature-search-results { position: absolute !important; top: calc(100% + .55rem) !important; right: 0 !important; left: 0 !important; z-index: 2000; display: none; width: 100% !important; max-height: min(55vh, 25rem) !important; overflow: auto !important; padding: .45rem; background: #fff; border: 1px solid var(--u-line); border-radius: 12px; box-shadow: 0 24px 64px rgba(7,42,34,.25); transform: none !important; touch-action: pan-y; }
.feature-search-results.is-open { display: grid; }
.feature-search-results .feature-result { width: 100%; min-height: 0; margin: 0; padding: .75rem .85rem; color: var(--u-ink) !important; background: #fff !important; border: 0 !important; border-bottom: 1px solid #e5eae7 !important; border-radius: 7px; box-shadow: none !important; text-align: left; text-shadow: none; transform: none !important; }
.feature-search-results .feature-result:hover, .feature-search-results .feature-result:focus { color: var(--u-green) !important; background: #fff4eb !important; outline: 2px solid var(--u-coral); outline-offset: -2px; }

.hero-content, .section, .game-section, .proof-strip { width: min(calc(100% - 2rem), 86rem); max-width: 86rem; }
.hero-content { grid-template-columns: minmax(0, 1.12fr) minmax(20rem, .88fr); gap: clamp(2rem, 7vw, 7rem); padding-top: clamp(3rem, 7vw, 6rem); }
.copy-panel { padding: clamp(1.5rem, 4vw, 3rem); background: var(--u-panel); border: 1px solid rgba(217,170,76,.5); border-radius: var(--u-radius); box-shadow: var(--u-shadow); }
.copy-panel::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(var(--u-coral), var(--u-gold)); border-radius: var(--u-radius) 0 0 var(--u-radius); }

.hero h1 { max-width: 11ch; margin: .35rem 0 1.2rem; color: transparent !important; background: linear-gradient(105deg, var(--u-green) 0 42%, var(--u-coral) 68%, var(--u-green-2)); background-size: 210% auto; background-clip: text; -webkit-background-clip: text; font-size: clamp(3.2rem, 7vw, 7rem); line-height: .94; letter-spacing: -.065em; animation: upgrade-title 8s ease-in-out infinite alternate !important; }
@keyframes upgrade-title { to { background-position: 100% center; } }
.lead { color: var(--u-muted) !important; font-size: clamp(1.05rem, 1.5vw, 1.25rem); }
.eyebrow, .section-kicker { color: var(--u-coral) !important; background: transparent !important; font-size: .75rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; animation: none !important; }
.eyebrow::before, .section-kicker::before { content: "✦"; margin-right: .5rem; color: var(--u-gold); }
.hero-content > img { padding: clamp(1rem, 3vw, 2rem); background: radial-gradient(circle at 30% 20%, #fff, var(--u-cream)); border: 1px solid rgba(217,170,76,.58); border-radius: 30px 8px; box-shadow: 0 34px 80px rgba(7,42,34,.25); }

.section { padding-block: clamp(4rem, 8vw, 7rem); }
.section h2, .game-section > h1 { color: var(--u-green) !important; background: transparent !important; animation: none !important; }
.section-intro > p, .service-grid p, .process-copy p, .contact-intro p { color: var(--u-muted) !important; }
.service-grid, .cards, .gallery { gap: 1.25rem; }
.service-grid article, .cards article, .gallery figure, .game-choice, .game-panel, .card-form { background: var(--u-panel); background-image: none; border: 1px solid var(--u-line); border-radius: 15px; box-shadow: 0 16px 42px rgba(7,42,34,.13); }
.service-grid article, .cards article { min-height: 0; padding: 1.6rem; }
.service-grid article::before, .cards article::before { content: ""; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, var(--u-coral), var(--u-gold)); }
.service-grid article:hover, .cards article:hover, .game-choice:hover { border-color: rgba(217,170,76,.75); box-shadow: 0 26px 58px rgba(7,42,34,.2); }
.service-grid h3, .cards h3 { color: var(--u-green) !important; animation: none !important; }
.service-number { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; color: #fff !important; background: linear-gradient(135deg, var(--u-coral), #c52d31); border-radius: 50%; animation: none !important; }

button, .button { min-height: 2.7rem; color: #fff !important; background: linear-gradient(135deg, var(--u-coral), #c82f32); border: 1px solid #af292d; border-radius: 9px; box-shadow: 0 10px 24px rgba(200,47,50,.24); text-shadow: none; text-transform: none; animation: none !important; }
button:hover, .button:hover { color: #fff !important; background: linear-gradient(135deg, #ff665d, #d13538); transform: translateY(-1px); }
.button.secondary, .theme-toggle, .sound-toggle { color: var(--u-green) !important; background: #fff; border-color: #afbeb7; box-shadow: none; }

.proof-strip { margin-top: -1.8rem; color: #fff; background: linear-gradient(120deg, var(--u-green), var(--u-green-2)); border: 1px solid rgba(217,170,76,.7); border-radius: 14px; box-shadow: var(--u-shadow); }
.proof-strip span, .proof-strip strong { color: #fff !important; background: transparent !important; animation: none !important; }
.proof-strip strong { color: #ffdb87 !important; }
.quote-banner { color: #fff; background: linear-gradient(135deg, var(--u-green), var(--u-green-2)); border: 1px solid rgba(217,170,76,.68); border-radius: 18px; box-shadow: var(--u-shadow); }
.quote-banner :is(h2, p, a, span, strong) { color: #fff !important; background: transparent !important; animation: none !important; }
.quote-banner .section-kicker { color: #ffdb87 !important; }

.card-form { padding: clamp(1.4rem, 4vw, 2.5rem); }
.card-form label { color: var(--u-green) !important; font-weight: 800; animation: none !important; }
.card-form input, .card-form textarea, .card-form select { color: var(--u-ink); background: #fff; border: 1px solid #bdc9c3; border-radius: 9px; }
.gallery-page .gallery figure { background: #fff; border: 1px solid var(--u-line) !important; border-radius: 15px; box-shadow: 0 16px 42px rgba(7,42,34,.13) !important; }
.gallery-page .gallery-image { border: 0; border-radius: 10px; }
.gallery-page .gallery-image::after { display: none; }
.gallery-page .gallery-image img { filter: none !important; }

body :is(h1,h2,h3,h4,p,a,li,span,strong,small,label,legend,figcaption,button,option) { animation: upgrade-colour 10s ease-in-out infinite; }
@keyframes upgrade-colour { 0%,100% { color: #073f34; } 33% { color: #b62f35; } 66% { color: #315da2; } }

[data-theme="dark"] { --u-ink: #eef5f1; --u-muted: #bdcbc4; --u-panel: rgba(25,39,33,.97); --u-line: rgba(190,210,200,.25); }
[data-theme="dark"] .nav, [data-theme="dark"] .copy-panel, [data-theme="dark"] .service-grid article, [data-theme="dark"] .cards article, [data-theme="dark"] .gallery figure, [data-theme="dark"] .game-choice, [data-theme="dark"] .game-panel, [data-theme="dark"] .card-form { color: var(--u-ink); background: var(--u-panel); }
[data-theme="dark"] body :is(h1,h2,h3,h4,p,a,li,span,strong,small,label,legend,figcaption,button,option) { animation-name: upgrade-colour-dark; }
@keyframes upgrade-colour-dark { 0%,100% { color: #fff0b8; } 33% { color: #ffb7b0; } 66% { color: #b6dcff; } }

@media (max-width: 1024px) {
  .feature-search { width: min(43rem, 72vw); grid-template-columns: minmax(12rem,1fr) 8rem 6rem 6.4rem; }
  .hero-content, .section-intro, .process-section, .contact-layout { grid-template-columns: 1fr; }
  .hero-content > img { justify-self: center; width: min(30rem, 80vw); }
}
@media (max-width: 768px) {
  .nav { flex-direction: column; align-items: stretch; }
  .feature-search { grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .feature-search-input { grid-column: 1 / -1; }
  .service-grid, .cards, .gallery, .game-picker, .material-list { grid-template-columns: 1fr; }
  .hero h1 { font-size: clamp(2.8rem, 14vw, 4.7rem); }
  .proof-strip { grid-template-columns: 1fr; margin-top: -.8rem; }
}
@media (max-width: 480px) {
  .feature-search { grid-template-columns: 1fr; }
  .feature-search > * { grid-column: 1; width: 100%; }
  .hero-content > img { display: none; }
  .copy-panel { padding: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body :is(h1,h2,h3,h4,p,a,li,span,strong,small,label,legend,figcaption,button,option), .hero h1 { animation: none !important; }
  .snazzy-card, .snazzy-card:hover { transform: none !important; transition: none !important; }
}

/* Product pages and home-page rating. */
.product-card figcaption { align-items: center; }
.product-card figcaption a { font-weight: 800; }
.product-hero { align-items: center; }
.product-photo { overflow: hidden; padding: .8rem; background: #fff; border: 1px solid var(--u-line); border-radius: 15px; box-shadow: 0 20px 50px rgba(7,42,34,.15); }
.product-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.product-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.5rem 0; }
.product-details div { padding: 1rem; background: #fff; border: 1px solid var(--u-line); border-radius: 10px; }
.product-details strong, .product-details span { display: block; }
.product-details span { margin-top: .3rem; color: #52655d !important; }
.product-price { margin: .65rem 0 .2rem; font-size: clamp(2rem, 6vw, 3.5rem); font-weight: 900; line-height: 1; }
.price-note { margin: 0 0 1rem; font-size: .82rem; }
.rating-section { display: grid; justify-items: center; gap: 1rem; text-align: center; }
.star-rating { display: flex; gap: clamp(.25rem, 1vw, .65rem); padding: .65rem .9rem; background: #fff; border: 1px solid var(--u-line); border-radius: 999px; }
.star-rating button { min-width: 2.75rem; min-height: 2.75rem; padding: .15rem; color: #a9b1ad !important; background: transparent !important; border: 0 !important; font-size: clamp(1.8rem, 5vw, 2.5rem); line-height: 1; cursor: pointer; box-shadow: none !important; }
.star-rating button.is-selected { color: #d99f20 !important; }
.star-rating button:focus-visible { outline: 3px solid #146b55; outline-offset: 2px; }
.rating-status { margin: 0; font-weight: 750; }
.rating-reset { margin-top: .25rem; }
@media (max-width: 700px) { .product-details { grid-template-columns: 1fr; } }

/* Preserve full-colour emoji in the hidden smiley feature. */
:root body .slot-smiley {
  color: initial !important;
  -webkit-text-fill-color: initial !important;
  font-family: "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
  width: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  animation-name: deploy-to-slot !important;
}
:root body .smiley-landing-slot {
  width: min(10vw, 14vh) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  animation-name: reveal-slot !important;
}
.pgdn-smile-screen.is-clearing .slot-smiley { animation-name: bubble-face-pop !important; }
.pgdn-smile-screen.is-clearing .smiley-landing-slot { animation-name: none !important; }
:root body .pgdn-smile-screen { display: block !important; opacity: 1; }
:root body .smile-screen { animation-name: smile-in !important; }
:root body .smile-screen.is-leaving { animation-name: smile-out !important; }
:root body .smile-pipe { animation-name: pipe-side-arrive !important; }
:root body { touch-action: manipulation; }

/* Keep the main headline colourful and readable above global text effects. */
@keyframes hero-text-colour {
  0%, 100% { color: #073f34; }
  38% { color: #b72f35; }
  72% { color: #24589f; }
}
:root body .hero h1 {
  color: #073f34 !important;
  -webkit-text-fill-color: currentColor !important;
  background: none !important;
  animation: hero-text-colour 8s ease-in-out infinite !important;
}
@media (prefers-reduced-motion: reduce) {
  :root body .hero h1 { animation: none !important; }
}

/* Readable storefront: stable colours, visible navigation and compact spacing. */
:root { --u-panel: #fff; --u-shadow: 0 8px 24px rgba(16,37,30,.06); }
:root, :root body { background: #f5f6f2 !important; color: var(--u-ink); }
:root[data-theme="dark"], :root[data-theme="dark"] body { background: #111d18 !important; --u-green: #b6e3cb; --u-muted: #bdcbc4; --u-panel: #1b2c23; }
:root body :is(h1,h2,h3,h4,p,a,li,span,strong,small,label,legend,figcaption,button,option) { animation: none !important; }
:root body .hero h1 { color: var(--u-green) !important; max-width: 17ch; font-size: clamp(2.3rem, 4.5vw, 4.2rem); line-height: 1.08; letter-spacing: -.045em; animation: none !important; }
:root body .nav { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.5rem; max-width: 74rem; background: var(--u-panel); border-color: var(--u-line); box-shadow: none; }
.nav::after, .copy-panel::before, .hero-content > div::before, .snazzy-card::after { display: none; }
:root body .nav-links { display: flex; flex: 1; flex-wrap: wrap; gap: .3rem 1rem; justify-content: flex-end; }
:root body .nav-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--u-green) !important; font-size: .9rem; font-weight: 650; white-space: nowrap; }
.nav-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; }
:root body .feature-search { flex-basis: 100%; width: 100%; grid-template-columns: minmax(0,1fr) 9rem 6.5rem 6.7rem; }
:root body .hero-content, :root body .section, :root body .proof-strip { width: min(calc(100% - 2rem), 72rem); }
:root body .hero-content { padding-top: 2.5rem; gap: 2.5rem; align-items: center; }
:root body .hero { padding-bottom: 3rem; }
:root body .copy-panel { background: var(--u-panel) !important; padding: clamp(1.3rem, 3vw, 2.3rem); box-shadow: none; border-color: var(--u-line); }
:root body .section > h2, :root body .section > p { padding: 0; background: transparent !important; border: 0; }
:root body .section { padding-block: 2.5rem; }
:root body .hero-content > img { max-height: 330px; width: 100%; object-fit: contain; box-shadow: none; border-radius: 16px; }
:root body .lead { font-size: 1.1rem; line-height: 1.7; }
:root body .snazzy-card, :root body .snazzy-card:hover { transform: none !important; }
:root body :is(.service-grid article,.cards article,.gallery figure,.card-form,.product-details div,.product-photo) { background: var(--u-panel); box-shadow: var(--u-shadow); }
:root body .product-details span { color: var(--u-muted) !important; }
:root body .proof-strip { margin-top: 0; background: #073f34; }
:root body .quote-banner { padding: 2rem; background: #073f34; }
:root body .quote-banner .button { background: #fff !important; color: #073f34 !important; border-color: #fff; }
:root body .section h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.2; }
:root body :is(a,button,input,select,textarea):focus-visible { outline: 3px solid #c47125; outline-offset: 3px; }
:root body .card-form label { color: var(--u-ink) !important; }
:root body .card-form :is(input,textarea,select) { color: var(--u-ink); background: var(--u-panel); }
:root body .product-photo img { object-fit: contain; }
@media (max-width: 768px) {
  :root body .nav { align-items: stretch; }
  :root body .nav-links { justify-content: flex-start; gap: .2rem 1rem; }
  :root body .feature-search { grid-template-columns: 1fr 1fr; }
  :root body .feature-search-input { grid-column: 1 / -1; }
  :root body .feature-search > * { width: 100%; }
  :root body .feature-search .sound-toggle { grid-column: 2; }
  :root body .hero-content { padding-top: 1.5rem; gap: 1.5rem; }
  :root body .hero-content > img { display: none; }
  :root body .hero h1 { max-width: 20ch; }
  :root body .hero-actions { display: flex; flex-wrap: wrap; }
  :root body .hero-actions .button { width: 100%; text-align: center; }
}
:root body .hero-content { margin-top: 0; padding-bottom: 0; }
:root body .hero h1 { padding: 0; }
:root body .nav-links { flex-direction: row; }
:root body .nav-links a { width: auto; padding: .25rem 0; }
:root body .hero-content > img { animation: none; opacity: 1; }
:root body .lead { white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 768px) {
  :root body .hero-content { grid-template-columns: minmax(0,1fr); }
  :root body .hero-content > div { width: auto; min-width: 0; }
  :root body .nav-links { flex-basis: auto; }
}
:root body .lead { width: auto; min-width: 0; max-width: 100%; padding: 0; }
:root body :is(h1,h2,h3,p,a,span,strong,button) { text-shadow: none !important; }
:root[data-theme="dark"] body :is(.button.secondary,.theme-toggle,.sound-toggle,.feature-search-input,.language-menu-select) { color: #eef5f1 !important; background: #243b30 !important; border-color: #657b6d; }
:root[data-theme="dark"] body :is(input,textarea)::placeholder { color: #bdcbc4; }
:root[data-theme="dark"] body option { color: #eef5f1; background: #243b30; }
:root body :is(.copy-panel,.hero-content > img,.proof-strip,.service-grid article,.cards article,.quote-banner) { animation: none !important; transform: none !important; opacity: 1; }
:root body .feature-search-input { color: #10251e; background: #fff; }
:root[data-theme="dark"] body :is(.field-help,.photo-upload small,.card-form small) { color: #bdcbc4 !important; }

/* Use the saved product crops without additional positional or hover zoom. */
:root body .gallery .gallery-image { aspect-ratio: 4 / 3; }
:root body .gallery .gallery-image img,
:root body .gallery figure:hover .gallery-image img,
:root body .product-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  object-position: center;
  transform: none !important;
  transition: none;
}

/* Remove the former gold/brown decorative theme. */
:root {
  --u-gold: #52796b;
  --fab-gold: #52796b;
  --luxury-gold: #52796b;
  --luxury-gold-soft: rgba(82,121,107,.25);
}
:root body .copy-panel::after,
:root body .card-form::after,
:root body .eyebrow::before,
:root body .eyebrow::after,
:root body .section-kicker::before,
:root body .section-kicker::after,
:root body .service-grid article::before,
:root body .cards article::before,
:root body .game-choice::before,
:root body .quote-banner::before { content: none; display: none; }
:root body :is(.hero-content > img,.proof-strip,.quote-banner,.card-form),
:root body :is(.service-grid article,.cards article,.game-choice):hover { border-color: var(--u-line); }
:root body .hero-content > img { background: var(--u-panel); }
:root body .proof-strip strong,
:root body .quote-banner .section-kicker { color: #fff !important; }
:root body .star-rating button.is-selected { color: #146b55 !important; }
:root[data-theme="dark"] body .star-rating button.is-selected { color: #146b55 !important; }
:root body .scroll-progress { background: #52796b; }
:root body :is(a,button,input,select,textarea):focus-visible { outline-color: #52796b; }
:root body :is(input,select,textarea):focus { border-color: #52796b; box-shadow: 0 0 0 3px rgba(82,121,107,.2); }
* { scrollbar-color: #75817b transparent; }
::-webkit-scrollbar-thumb { background: #75817b; border-color: transparent; }

/* A stock status bar with an exact count, shared across product listings. */
:root body .stock-bar { display: flex; align-items: center; gap: .6rem; width: 100%; margin: .85rem 0; padding: .7rem .85rem; border: 1px solid var(--u-line); border-radius: 8px; background: #edf2ef; color: #344c40; font-size: .9rem; font-weight: 650; line-height: 1.5; }
:root body .stock-bar .stock-dot { flex: 0 0 .5rem; width: .5rem; height: .5rem; border-radius: 50%; background: #75817b !important; }
:root body .stock-bar[data-stock-state="available"] { background: #e5f3eb; color: #145b3b; }
:root body .stock-bar[data-stock-state="available"] .stock-dot { background: #21804f !important; }
:root body .stock-bar[data-stock-state="empty"] { background: #f9eded; color: #8d2929; }
:root body .stock-bar[data-stock-state="empty"] .stock-dot { background: #b43b3b !important; }
:root[data-theme="dark"] body .stock-bar { background: #243b30; color: #d3e5da; }
:root[data-theme="dark"] body .stock-bar[data-stock-state="available"] { background: #173c2b; color: #c1eed3; }
:root[data-theme="dark"] body .stock-bar[data-stock-state="empty"] { background: #432727; color: #ffd1d1; }
:root body .product-card figcaption { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .5rem; align-items: center; }
:root body .product-card figcaption .stock-bar,
:root body .product-card figcaption > a { grid-column: 1 / -1; }
:root body .stock-bar span { text-transform: none; letter-spacing: normal; font-size: .9rem; }

/* Keep the smiley feature animated independently of storefront text. */
:root body .pgdn-smile-screen .smiley-landing-slot { animation: reveal-slot .18s ease var(--slot-delay) forwards !important; }
:root body .pgdn-smile-screen .slot-smiley { animation: deploy-to-slot .58s cubic-bezier(.18,.82,.3,1.16) var(--slot-delay) forwards !important; }
:root body .pgdn-smile-screen.is-clearing .smiley-landing-slot { animation: none !important; opacity: 1; }
:root body .pgdn-smile-screen.is-clearing .slot-smiley { animation: bubble-face-pop .65s ease forwards !important; }
@media (prefers-reduced-motion: reduce) {
  :root body .pgdn-smile-screen .smiley-landing-slot,
  :root body .pgdn-smile-screen .slot-smiley { animation: none !important; opacity: 1; }
  :root body .pgdn-smile-screen .slot-smiley { transform: none; }
}
:root body .smiley-sound-prompt { position: fixed; bottom: 1.5rem; left: 50%; transform: translateX(-50%); z-index: 10001; width: max-content; max-width: calc(100% - 2rem); padding: .9rem 1.3rem; font-size: 1rem; }

/* Render the original Unicode emoji using the device's colour emoji font. */
:root body .pgdn-smile-screen .slot-smiley {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", emoji !important;
  font-variant-emoji: emoji;
  font-weight: 400 !important;
  font-style: normal !important;
  font-synthesis: none;
  letter-spacing: normal !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
  mix-blend-mode: normal;
}
:root body .smiley-landing-slot::after { content: none; }

/* Music control matches the restored navigation. */
:root body .nav-links .music-tab { min-height: 44px; padding: .25rem .65rem; font: inherit; font-size: .9rem; font-weight: 650; color: var(--u-green) !important; background: transparent !important; border: 1px solid var(--u-line); border-radius: 8px; box-shadow: none; white-space: nowrap; transform: none; width: auto; }
:root body .nav-links .music-tab[aria-pressed="true"] { background: var(--u-panel) !important; }