/* Shared visual language for MyMemory's public pages and story workspace. */
.site-theme { --bg:#f8f6f0; --bg-alt:#eeeee4; --bg-card:#fffdf8; --card-bg:#fffdf8; --surface:#eeeee4; --text:#29382e; --text-secondary:#5f665d; --text-muted:#67715f; --text-inverse:#fffdf5; --gold:#354d3b; --gold-dark:#293d30; --gold-light:#64745b; --gold-bg:#e8ecdf; --accent:#354d3b; --accent-hover:#293d30; --border:#cdd2c3; --border-light:#dee1d5; --success:#3c6547; --success-bg:#e6efdf; --warning:#805d25; --warning-bg:#f4eddd; --error:#a13d35; --error-bg:#f8e9e4; --info:#4c6252; --info-bg:#e8eee3; --radius:3px; --radius-sm:3px; --radius-md:4px; --radius-lg:4px; --radius-xl:4px; --shadow-md:0 5px 22px #33422a08; --shadow-lg:0 12px 32px #33422a0d; --shadow-gold:none; --max-width:1240px; }
.site-theme .container { padding-inline:40px; }
.site-theme h1,.site-theme h2,.site-theme h3 { font-weight:400; letter-spacing:-.035em; }
.site-theme .navbar { background:rgba(248,246,240,.97); border-bottom:1px solid var(--border-light); }
.site-theme .navbar__inner { padding-inline:40px; gap:26px; max-width:1440px; }
.site-theme .navbar__logo { font-size:26px; letter-spacing:-.045em; gap:10px; white-space:nowrap; }
.site-theme .brand-mark { display:grid; place-items:center; width:30px; height:33px; background:var(--gold); color:var(--bg); border-radius:2px; font:italic 27px Georgia,serif; }
.site-theme .navbar__links { margin-left:auto; gap:26px; }
.site-theme .navbar__link { font-size:.82rem; }
.site-theme .btn { border-radius:2px; letter-spacing:0; font-weight:500; box-shadow:none; }
.site-theme .btn--primary { background:var(--gold); color:#fffdf5; }
.site-theme .btn--primary:hover { background:var(--gold-dark); box-shadow:none; }
.site-theme .btn--secondary { background:transparent; border:1px solid var(--border); color:var(--text); }
.site-theme .btn--secondary:hover { background:var(--gold-bg); border-color:var(--gold); }
.site-theme .btn:disabled { opacity:.45; cursor:not-allowed; transform:none; }
.site-theme :focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
.site-theme input,.site-theme textarea,.site-theme select { accent-color:var(--gold); }
.site-theme .form-input,.site-theme .form-textarea,.site-theme .form-select { background:var(--bg-card); border:1px solid var(--border); border-radius:3px; color:var(--text); min-height:48px; }
.site-theme .form-input:focus,.site-theme .form-textarea:focus,.site-theme .form-select:focus { border-color:var(--gold); box-shadow:0 0 0 2px #354d3b12; }
.site-theme .form-label { font-size:.87rem; font-weight:500; margin-bottom:8px; }
.site-theme .form-group { margin-bottom:24px; }
.site-theme .form-hint,.site-theme .optional { font-size:.76rem; color:var(--text-muted); }
.site-theme .form-check { align-items:flex-start; }
.site-theme .form-check input { margin-top:4px; flex-shrink:0; }
.site-theme .eyebrow { font:500 .67rem/1.6 var(--font-sans); text-transform:uppercase; letter-spacing:.15em; color:var(--gold); }
.site-theme .section { padding-block:56px 72px; }
.site-theme .interior-hero { background:var(--bg); padding:126px 0 42px; border-bottom:1px solid var(--border-light); text-align:left; }
.site-theme .interior-hero .container { max-width:1240px; }
.site-theme .interior-hero h1 { font-size:clamp(2.6rem,4.5vw,4.2rem); line-height:1.1; max-width:17ch; margin:15px 0 20px; }
.site-theme .interior-hero p:not(.eyebrow) { margin:0; max-width:55ch; font-size:1rem; line-height:1.8; }
.site-theme .interior-hero .badge { border-radius:2px; }
.site-theme .hero-with-photo .container { display:grid; grid-template-columns:1.15fr .85fr; gap:72px; align-items:center; }
.site-theme .interior-photo { width:100%; aspect-ratio:1.75; object-fit:cover; }
.site-theme .photo-credit { font-size:.65rem; margin-top:8px; color:var(--text-muted); }
.site-theme .page-note { border-left:2px solid var(--gold); padding:15px 20px; background:var(--gold-bg); color:var(--text-secondary); font-size:.84rem; line-height:1.7; margin:24px 0; }
.site-theme [hidden] { display:none !important; }
.site-theme .site-footer { border-top:1px solid var(--border-light); padding:45px 0 24px; margin-top:40px; }
.site-theme .site-footer__top { display:flex; align-items:center; gap:40px; padding-bottom:32px; }
.site-theme .site-footer__brand { font:400 3.1rem/1 Georgia,serif; letter-spacing:-.06em; }
.site-theme .site-footer__top > p { font-size:.8rem; color:var(--text-secondary); line-height:1.55; }
.site-theme .site-footer__links { display:flex; flex-wrap:wrap; gap:22px; margin-left:auto; font-size:.78rem; }
.site-theme .site-footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.site-theme .site-footer__bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--border-light); padding-top:22px; color:var(--text-muted); font-size:.65rem; }
.site-theme .ministore-credit { display:inline-flex; align-items:center; gap:10px; color:var(--text-secondary); font-size:.72rem; white-space:nowrap; }
.site-theme .ministore-credit img { display:block; box-sizing:content-box; width:88px; height:30px; padding:4px 8px; border-radius:6px; background:#fff; }
/* The editor keeps photographs beside the work, leaving room for the fields. */
.editor-layout { max-width:1240px; margin:112px auto 64px; padding-inline:40px; display:grid; grid-template-columns:340px minmax(0,1fr); gap:76px; align-items:start; }
.site-theme .editor-intro { padding:0; text-align:left; position:sticky; top:108px; background:none; }
.site-theme .editor-intro .container { padding:0; }
.site-theme.form-page .editor-intro h1 { font-family:Georgia,serif; font-size:3.25rem; font-weight:400; line-height:1.08; letter-spacing:-.05em; margin:20px 0; }
.site-theme .editor-intro p { margin:0; max-width:32ch; font-size:.92rem; line-height:1.8; }
.site-theme .form-product-badge { border:0; padding:0; background:none; font-size:.68rem; text-transform:uppercase; letter-spacing:.13em; margin:0; gap:9px; }
.editor-photo { margin-top:30px; }
.editor-photo img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.site-theme .editor-photo figcaption { font:italic .95rem/1.5 Georgia,serif; margin-top:12px; color:var(--text-secondary); }
.editor-help { margin-top:22px; padding-top:19px; border-top:1px solid var(--border); font-size:.79rem; }
.editor-help a { text-decoration:underline; text-underline-offset:4px; }
.editor-workspace { min-width:0; border:1px solid var(--border-light); background:var(--bg-card); }
.site-theme .wizard-progress { top:var(--nav-height); padding:24px 0 20px; background:var(--bg-card); border-bottom:1px solid var(--border-light); z-index:30; }
.site-theme .wizard-progress__inner,.site-theme .wizard-progress__info { padding-inline:36px; max-width:none; }
.site-theme .wizard-progress__step { height:4px; border-radius:0; }
.site-theme .wizard-progress__step.active { background:var(--gold); }
.site-theme .wizard-progress__step:disabled { cursor:default; opacity:.65; }
.site-theme .wizard-progress__step::after { display:none; }
.site-theme .wizard-progress__info { color:var(--text-secondary); font-size:.73rem; gap:16px; }
.site-theme .wizard-body { max-width:none; padding:32px 36px 36px; }
.site-theme .wizard-step { background:none; }
.site-theme .wizard-step__number { width:auto; height:auto; background:none; color:var(--text-muted); font-size:.72rem; font-weight:400; margin-bottom:7px; border-radius:0; }
.site-theme .wizard-step__number::before { content:'CHAPTER '; letter-spacing:.13em; }
.site-theme .wizard-step__header { margin-bottom:28px; }
.site-theme .wizard-step__header h2 { font-size:1.7rem; font-weight:500; line-height:1.2; }
.site-theme .wizard-step__header p { font-size:.9rem; margin-top:12px; }
.site-theme .story-context { border-radius:2px; padding:20px; background:#eef0e6; }
.site-theme .wizard-step__hint { border:0; border-radius:2px; font-size:.85rem; }
.site-theme .wizard-nav { padding-top:24px; margin-top:28px; border-top:1px solid var(--border-light); }
.site-theme .checkout-summary,.site-theme .consent-section,.site-theme .voice-option { border-radius:3px; box-shadow:none; }
.site-theme .upload-zone { border-radius:3px; background:var(--bg); }
.site-theme .tag { border-radius:3px; }
/* Editorial product selection. Prices remain clearly identified as planned. */
.keepsake-list { padding-block:10px 60px; }
.keepsake-row { display:grid; grid-template-columns:1fr 1fr; gap:72px; padding-block:58px; align-items:center; border-bottom:1px solid var(--border); }
.keepsake-row > figure img { width:100%; aspect-ratio:1.25; object-fit:cover; }
.keepsake-row:nth-of-type(odd) > figure { order:2; }
.keepsake-row:nth-of-type(odd) > figure img { object-position:50% 35%; }
.keepsake-row h2 { font-size:3rem; line-height:1.12; margin:18px 0; }
.keepsake-row .keepsake-description { color:var(--text-secondary); max-width:42ch; line-height:1.8; }
.keepsake-price { margin:22px 0; display:flex; align-items:baseline; gap:12px; font-size:1.75rem; }
.keepsake-price span { font-size:.75rem; color:var(--text-muted); }
.keepsake-row ul { margin-bottom:26px; border-top:1px solid var(--border); }
.keepsake-row li { padding:11px 0; border-bottom:1px solid var(--border-light); font-size:.85rem; }
.keepsake-row figcaption { font-size:.65rem; margin-top:9px; color:var(--text-muted); }
/* Reading, support, and legal pages. */
.site-theme .contact-grid { grid-template-columns:1.15fr .85fr; gap:72px; align-items:start; }
.site-theme .contact-form-card { padding:32px; background:var(--bg-card); border-radius:3px; }
.site-theme .contact-form-card h2 { font:500 1.5rem var(--font-sans); margin-bottom:26px; }
.site-theme .contact-info-card { background:none; border:0; padding:0; }
.contact-photo { width:100%; aspect-ratio:1.4; object-fit:cover; margin-bottom:30px; }
.site-theme .contact-info-card h3 { font-size:1.9rem; margin-bottom:12px; }
.site-theme .contact-info-card p { font-size:.9rem; color:var(--text-secondary); margin-bottom:15px; }
.site-theme .contact-info-card a { text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.site-theme .support-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:80px; align-items:start; }
.support-aside { position:sticky; top:110px; }
.support-aside img { width:100%; aspect-ratio:1; object-fit:cover; }
.support-aside h2 { margin:24px 0 12px; font-size:2rem; }
.support-aside p { font-size:.88rem; color:var(--text-secondary); }
.support-aside .btn { margin-top:22px; }
.site-theme .faq-content { max-width:none; width:100%; }
.site-theme .faq-category { margin-bottom:35px; }
.site-theme .faq-category h2 { font:500 .72rem var(--font-sans); letter-spacing:.12em; text-transform:uppercase; border:0; margin-bottom:12px; color:var(--text-muted); }
.site-theme .faq-content details { border-bottom:1px solid var(--border); }
.site-theme .faq-content summary { cursor:pointer; padding:20px 32px 20px 0; position:relative; list-style:none; font-size:1rem; }
.site-theme .faq-content summary::-webkit-details-marker { display:none; }
.site-theme .faq-content summary::after { content:'+'; position:absolute; right:3px; top:17px; font-size:1.3rem; }
.site-theme .faq-content details[open] summary::after { content:'−'; }
.site-theme .faq-content details p { padding:0 25px 22px 0; color:var(--text-secondary); font-size:.9rem; line-height:1.85; }
.site-theme .legal-content { max-width:860px; padding-block:50px 60px; }
.site-theme .legal-content h2 { font:500 1.35rem var(--font-sans); }
.site-theme .legal-content h3 { font:500 1.1rem var(--font-sans); }
.site-theme .legal-toc { border-radius:2px; padding:25px 30px; }
.site-theme .legal-content ul { list-style:disc; }
.site-theme .legal-content ol { list-style:decimal; }
/* Working screens use the same colors, with compact sans-serif headings. */
.workspace-page h1,.workspace-page h2,.workspace-page h3,.workspace-page h4 { font-family:var(--font-sans); }
.site-theme.workspace-page .interior-hero h1 { font-size:clamp(2.1rem,3.6vw,3.1rem); max-width:none; font-weight:500; }
.site-theme .review-layout { grid-template-columns:minmax(0,1fr) 300px; gap:40px; }
.site-theme .review-chapter,.site-theme .review-sidebar__card,.site-theme .dash-timeline-card,.site-theme .dash-summary,.site-theme .audio-share,.site-theme .audio-player-card { border-radius:3px; box-shadow:none; }
.site-theme .review-chapter:hover { box-shadow:none; }
.site-theme .review-chapter__title { font-family:var(--font-sans); font-weight:500; }
.site-theme .review-chapter__text { font-family:Georgia,serif; font-size:1.06rem; line-height:1.95; }
.site-theme .review-sidebar__card { background:#eef0e6; }
.site-theme .chapter-preview { border-radius:3px; background:var(--bg-card); }
.site-theme .chapter-preview__text { font:1.08rem/1.95 Georgia,serif; }
.site-theme .preview-tabs { gap:0; border-bottom:1px solid var(--border); }
.site-theme .preview-tab { border:0; border-bottom:2px solid transparent; border-radius:0; background:none; font-size:.9rem; }
.site-theme .preview-tab.active { border-color:var(--gold); background:var(--gold-bg); }
.site-theme .preview-tab svg { width:20px; height:20px; }
.site-theme .chapter-preview__watermark { font-size:clamp(1.2rem,5vw,3rem); letter-spacing:.15em; color:#354d3b0a; }
.site-theme .watermark-overlay span { font-size:clamp(.9rem,3vw,2rem); letter-spacing:.1em; color:#354d3b40; }
.site-theme .preview-cta__price { color:var(--text); }
.site-theme .page-empty { padding:35px; text-align:center; background:var(--bg-card); border:1px solid var(--border); }
.site-theme .page-empty img { width:240px; aspect-ratio:1.5; object-fit:cover; margin:0 auto 25px; }
.site-theme .page-empty h2 { font-size:1.65rem; margin-bottom:14px; }
.site-theme .page-empty p { margin:0 auto 23px; max-width:42ch; color:var(--text-secondary); font-size:.9rem; }
.site-theme .audio-layout { grid-template-columns:minmax(0,1fr) 340px; }
.site-theme .audio-player__cover { height:280px; background:linear-gradient(#1b2f2180,#1b2f21b0),url('../img/hero.webp') center 50%/cover; color:var(--text-inverse); padding:25px; text-align:center; }
.site-theme .audio-player__cover h3 { color:#fffdf5; font-family:Georgia,serif; font-size:2rem; }
.site-theme .audio-player__cover p { color:#f0efdf; }
.site-theme .audio-player__cover-icon { display:none; }
.site-theme .audio-upsell { background:#e8ecdf; box-shadow:none; border:0; border-radius:3px; }
.site-theme .audio-upsell::before { display:none; }
.site-theme .audio-share__email-tag { background:var(--gold-bg); border-radius:3px; }
.site-theme .dash-timeline__step-time { white-space:normal; text-align:right; }
.site-theme .dash-summary__item-value { font-family:var(--font-sans); font-weight:500; }
.site-theme .admin-layout { min-height:calc(100dvh - var(--nav-height)); grid-template-columns:220px minmax(0,1fr); }
.site-theme .admin-sidebar { background:#293d30; height:calc(100dvh - var(--nav-height)); }
.site-theme .admin-nav__item.active { color:#f4f4df; background:#435b46; }
.site-theme .admin-nav__item { color:#c1ccbd; }
.site-theme .admin-stat,.site-theme .admin-table-card { border-radius:3px; }
.site-theme .admin-stat__value { font-family:var(--font-sans); font-weight:500; }
.site-theme .admin-table-card { overflow-x:auto; }
.site-theme .admin-table { min-width:740px; }
.site-theme .admin-stats { gap:16px; }
@media (max-width:1050px) {
 .editor-layout { grid-template-columns:280px minmax(0,1fr); gap:35px; padding-inline:28px; }
 .site-theme.form-page .editor-intro h1 { font-size:2.7rem; }
 .site-theme .wizard-body { padding:28px; }
 .site-theme .wizard-progress__inner,.site-theme .wizard-progress__info { padding-inline:28px; }
 .site-theme .navbar__inner { padding-inline:28px; gap:18px; }
 .site-theme .navbar__links { gap:18px; }
 .site-theme .autosave-indicator { font-size:.64rem; }
 .site-theme .hero-with-photo .container,.keepsake-row,.site-theme .contact-grid,.site-theme .support-layout { gap:40px; }
 .site-theme .audio-layout { grid-template-columns:1fr 300px; }
 .site-theme .admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
 .site-theme .container,.site-theme .navbar__inner { padding-inline:24px; }
 .site-theme .navbar__logo { font-size:24px; }
 .site-theme .navbar__mobile-toggle { margin-left:auto; }
 .site-theme .interior-hero { padding:100px 0 30px; }
 .site-theme .interior-hero h1 { font-size:2.65rem; max-width:100%; }
 .site-theme .hero-with-photo .container,.keepsake-row,.site-theme .contact-grid,.site-theme .support-layout,.site-theme .review-layout,.site-theme .audio-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
 .site-theme .interior-photo { aspect-ratio:1.8; }
 .site-theme .section { padding-block:35px 45px; }
 .editor-layout { display:block; padding-inline:20px; margin:93px auto 35px; }
 .site-theme .editor-intro { position:static; padding:0 4px 28px; }
 .site-theme.form-page .editor-intro h1 { font-size:2.65rem; max-width:13ch; }
 .site-theme .editor-intro p { max-width:44ch; }
 .editor-photo { display:none; }
 .editor-help { display:none; }
 .site-theme .wizard-body { padding:24px 20px; }
 .site-theme .wizard-progress__inner,.site-theme .wizard-progress__info { padding-inline:20px; }
 .site-theme .wizard-step__header h2 { font-size:1.5rem; }
 .site-theme .story-context { padding:16px; }
 .site-theme .wizard-nav { gap:15px; flex-wrap:wrap; }
 .site-theme .wizard-nav__buttons { flex-wrap:wrap; gap:12px; }
 .site-theme .contact-form-card { padding:24px 20px; }
 .site-theme .site-footer__top { flex-wrap:wrap; gap:25px; }
 .site-theme .site-footer__top > p { margin-left:auto; font-size:.72rem; }
 .site-theme .site-footer__brand { font-size:2.5rem; }
 .site-theme .site-footer__links { flex-basis:100%; margin:0; gap:18px; }
 .site-theme .site-footer__bottom { flex-wrap:wrap; gap:8px; }
 .site-theme .ministore-credit { flex-basis:100%; margin-top:6px; }
 .keepsake-row { padding-block:35px; }
 .keepsake-row:nth-of-type(odd) > figure { order:0; }
 .keepsake-row h2 { font-size:2.5rem; }
 .support-aside { position:static; }
 .support-aside img { aspect-ratio:2; }
 .site-theme .legal-content { padding-inline:24px; }
 .site-theme .preview-tab { padding:18px 10px; }
 .site-theme .page-empty { padding:28px 20px; }
 .site-theme .audio-player__cover { height:240px; }
 .site-theme .audio-player__controls { padding:24px 20px; }
 .site-theme .audio-share__add-row { flex-wrap:wrap; }
 .site-theme .admin-layout { grid-template-columns:minmax(0,1fr); }
 .site-theme .admin-sidebar { position:static; height:auto; display:flex; overflow-x:auto; gap:10px; padding:18px 20px; }
 .site-theme .admin-sidebar h3 { display:none; }
 .site-theme .admin-nav__item { flex-shrink:0; margin:0; }
 .site-theme .admin-main { padding:24px 20px; }
 .site-theme .admin-header { flex-wrap:wrap; gap:16px; }
 .site-theme .admin-stat { padding:18px; }
}

.site-theme .wizard-step__number::before { margin-right:5px; }
/* Look inside: real pages of the sample book */
.book-feature__image figcaption { z-index:2; }
.look-inside { padding:84px 0 70px; }
.look-inside__head { max-width:620px; margin-bottom:30px; }
.look-inside__head h2 { margin:8px 0 12px; }
.look-inside__head p:last-child { color:var(--text-secondary); }
.look-inside__links { display:flex; flex-wrap:wrap; gap:8px 28px; margin-top:12px; }
.sample-pages-title { margin:34px 0 14px; }
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.album-grid figure{margin:0}.album-grid img{display:block;width:100%;height:auto;aspect-ratio:1536/1159;object-fit:cover}.album-grid figcaption{margin-top:10px;font-size:.78rem;color:var(--text-muted)}@media (max-width:767px){.album-grid{grid-template-columns:1fr}}.spread-strip{display:grid;gap:22px}.spread-strip__page{margin:0}.spread-strip__page img{display:block;width:100%;height:auto;background:#fffdf8;box-shadow:0 8px 24px #29382e1f}.spread-strip__page--single img{width:50%;margin-left:auto}.spread-strip__page figcaption{margin-top:8px;font-size:.75rem;color:var(--text-muted)}
