/* Universal collection layout. Geometry is shared; themes.js supplies materials. See ../themerules.md. */
#soft-book-details > summary { display: none; }
#soft-book-list[hidden] { display: none; }
[data-theme] .book-reader h1 { font-size: clamp(48px,7vw,76px); }
[data-theme] .book-reader h1 em { font-style: normal; }
[data-theme] .book-reader h1 em::after { display: none; }
[data-theme] .book-reader .intro { padding-top: 32px; }
[data-theme] .book-reader .intro > p:last-child { max-width: 520px; font: 18px/1.5 Georgia,serif; }
[data-theme] .book-controls { max-width: 920px; flex-wrap: wrap; gap: 14px; }
[data-theme] #book-random { order: -1; flex: 1 0 100%; max-width: 440px; margin: 0 calc((100% - min(100%,440px))/2); background: var(--accent); color: #fffaf0; text-decoration: none; border-radius: 50px; min-height: 58px; font: 20px Georgia,serif; }
[data-theme] #soft-book-list { display: grid; max-width: 920px; margin: 8px auto 30px; gap: 18px; }
[data-theme] #soft-book-list:empty { display: none; }
[data-theme] .soft-book-card { position: relative; isolation: isolate; min-height: 230px; padding: 45px 65px 42px 28%; }
[data-theme] .soft-book-card::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--choice-paper) center / 105% 115% no-repeat; filter: var(--soft-book-tone,brightness(1)) drop-shadow(0 6px 5px #65573d33); }
[data-theme] .soft-book-card[data-stock=blush] { --soft-book-tone: sepia(.18) saturate(1.5) hue-rotate(315deg) saturate(.3); }
[data-theme] .soft-book-card[data-stock=sage] { --soft-book-tone: brightness(.94) sepia(.28) saturate(.8) hue-rotate(45deg) saturate(.3); }
[data-theme] .soft-book-art { position: absolute; inset: 22% auto 10% 6%; width: 18%; background: url('themes/soft-keepsake/flower-stem-v1.webp') center / contain no-repeat; }
[data-theme] [data-stock=blush] .soft-book-art { background-image: url('themes/soft-keepsake/heart.svg'); }
[data-theme] [data-stock=sage] .soft-book-art { background-image: url('themes/soft-keepsake/branch.svg'); }
[data-theme] .soft-book-number { position: absolute; top: 24px; left: 30px; font: 12px Georgia,serif; color: var(--muted); }
[data-theme] .soft-book-card h2 { font: 30px/1.15 Georgia,serif; margin: 0 0 12px; }
[data-theme] .soft-book-card h2 a { text-decoration: none; }
[data-theme] .soft-book-words { font: 18px/1.45 Georgia,serif; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
[data-theme] .soft-book-author { font: 10px/1.6 var(--font-body); letter-spacing: 2px; margin: 16px 0 0; color: var(--muted); }
[data-theme] #soft-book-details { max-width: 920px; margin: 20px auto; }
[data-theme] #soft-book-details > summary { display: flex; align-items: center; justify-content: center; color: var(--accent); min-height: 44px; }
[data-theme] #soft-book-details .book-volume { background: none; padding: 0; border: 0; box-shadow: none; }
[data-theme] #soft-book-details .book-volume::before,
[data-theme] #soft-book-details .book-volume::after,
[data-theme] #soft-book-details .book-spread::after,
[data-theme] #soft-book-details :is(.book-right,.book-turn) { display: none; }
[data-theme] #soft-book-details .book-spread { display: block; min-height: 0; }
[data-theme] #soft-book-details .book-left { background: #faf7ef; border: 1px solid var(--line); padding: 24px; }
[data-theme] body { display: flex; flex-direction: column; background: transparent; border: 0; box-shadow: none; }
[data-theme] body::before, [data-theme] body::after { display: none; }
[data-theme] #site-main { flex: 1; width: 100%; }
[data-theme] footer { width: 100%; margin-top: auto; background: var(--surface); }
[data-theme] body[data-view='home'] #site-main { max-width: 1120px; padding: 0; }
[data-theme] .hero-copy { padding: 26px 20px 12px; }
[data-theme] .hero-copy h1 { font-size: clamp(43px,6.4vw,74px); }
[data-theme] .hero-copy > p:last-child { font: 18px/1.5 Georgia,serif; max-width: 540px; }
[data-theme] .hero-copy .eyebrow { font-size: 9px; }
[data-theme] .promise-choices { width: calc(100% - 40px); max-width: 820px; margin-top: 20px; gap: 18px; }
[data-theme] :is(.choice-card,.compose-choice)::before { background: var(--choice-paper) center / 110% 110% no-repeat; border: 0; border-radius: 0; clip-path: none; filter: var(--choice-tone-ask); }
[data-theme] :is(.choice-card,.compose-choice).choice-make::before { filter: var(--choice-tone-make); }
[data-theme] .choice-card { padding: 30px 30px; min-height: 178px; gap: 20px; filter: drop-shadow(0 7px 5px #65573d26); }
[data-theme] .choice-art { flex-basis: 64px; width: 64px; height: 95px; }
[data-theme] .choice-copy > strong { font-size: 30px; }
[data-theme] .choice-copy > span { font: 15px/1.45 Georgia,serif; }
[data-theme] .choice-arrow { width: 44px; height: 44px; flex-basis: 44px; }
[data-theme] .quiet-promise { margin: 24px 20px 26px; }
[data-theme] .keepsake-feature { margin: 0; padding: 20px 30px; background: transparent; gap: 12px; }
[data-theme] .keepsake-scene { width: 100%; max-width: 720px; aspect-ratio: 3 / 2; background: var(--sample-frame) center / contain no-repeat; }
[data-theme] :is(.keepsake-envelope,.keepsake-seal),
[data-theme] .example-card::before { display: none; }
[data-theme] .example-card { inset: 18% 17% 34% 29%; padding: 0; background: none; filter: none; transform: rotate(-3deg); }
[data-theme] .example-card { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
[data-theme] .example-art { flex: 0 0 auto; width: clamp(24px,4vw,42px); height: clamp(24px,4vw,42px); margin-bottom: 8px; background: var(--accent); mask: url('themes/soft-keepsake/branch.svg') center / contain no-repeat; }
[data-theme] .example-card h3 { font: 400 clamp(19px,3vw,30px)/1.15 Georgia,serif; margin: 0 0 8px; color: var(--ink); }
[data-theme] .example-card p { font: 400 clamp(12px,1.5vw,16px)/1.5 Georgia,serif; margin: 0; color: var(--ink); }
[data-theme] .example-label { display: none; }
[data-theme] .example-heart { font-size: 22px; }
[data-theme] .how-it-works { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 25px 20px; margin: 0 auto; gap: 18px; }
[data-theme] .how-it-works article + article { border: 0; padding: 0; }
[data-theme] .how-it-works h3 { font-size: 22px; }
[data-theme] .home-closing { width: 100%; max-width: none; margin: 0; padding: 12px 20px 30px; }
[data-theme] body[data-view='compose'] .site-nav { display: flex; }
[data-theme] .composer .mode-picker { position: relative; }
[data-theme] .compose-choice { padding: 24px 20px; min-height: 140px; }
[data-theme] .compose-choice .choice-art { flex-basis: 40px; width: 40px; height: 65px; }
[data-theme] .card-language-picker { min-height: 60px; position: relative; }
[data-theme] .card-language-options { position: absolute; z-index: 12; top: 42px; inset-inline: 0; padding: 16px; background: #faf7ef; border: 1px solid var(--line); box-shadow: 0 8px 20px #3d37252b; }
[data-theme] #promise-form > .paper { background: transparent; border: 0; box-shadow: none; border-radius: 0; filter: none; padding: 60px 44px 80px; }
[data-theme] #promise-form > .paper::before { inset: 0; background: var(--composer-paper) center / 100% 100% no-repeat; clip-path: none; border: 0; border-radius: 0; box-shadow: none; filter: var(--soft-stock,none); }
[data-theme] .paper .paper-top { font-size: 8px; padding-inline-end: 65px; color: var(--paper-muted); }
[data-theme] .paper .promise-count { top: 60px; inset-inline-end: 44px; font-size: 8px; }
[data-theme] .paper #promise { min-height: 240px; }
[data-theme] #promise-form .paper #connector { color: var(--paper-ink,#2b3027); }
[data-theme] .paper-picker { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
[data-theme] .paper-swatch::before { height: 70px; background: var(--composer-paper) center / 100% 100% no-repeat; clip-path: none; border-radius: 0; box-shadow: none; filter: var(--soft-stock,brightness(1)) drop-shadow(0 5px 4px #45351f4d); }
[data-theme] .paper-swatch[aria-pressed=true]::before { box-shadow: none; }
[data-theme] .swatch-check { top: 30px; }
[data-theme] :is(.paper,.paper-swatch)[data-paper=blush] { --soft-stock: sepia(.18) saturate(1.4) hue-rotate(315deg); }
[data-theme] :is(.paper,.paper-swatch)[data-paper=sage] { --soft-stock: sepia(.28) saturate(.8) hue-rotate(45deg) brightness(.96); }
[data-theme] :is(.paper,.paper-swatch)[data-paper=sky] { --soft-stock: sepia(.3) saturate(.9) hue-rotate(160deg); }
[data-theme] :is(.paper,.paper-swatch)[data-paper=lavender] { --soft-stock: sepia(.28) saturate(.9) hue-rotate(220deg); }
[data-theme] :is(.paper,.paper-swatch)[data-paper=peach] { --soft-stock: sepia(.2) saturate(1.5) hue-rotate(335deg); }
[data-theme] :is(.paper,.paper-swatch)[data-paper=walnut] { --soft-stock: brightness(.25) sepia(.9) saturate(1.5) hue-rotate(-10deg); }
[data-theme] :is(.paper,.paper-swatch)[data-paper=slate] { --soft-stock: brightness(.25) sepia(1) saturate(1.2) hue-rotate(155deg); }
@media (max-width: 999px) {
  [data-theme] body { width: 100%; border-radius: 0; }
  [data-theme] #promise-form > .paper { order: -3; margin-bottom: 24px; }
  [data-theme] .sender-actions { order: 0; margin: 4px 0 24px; }
  [data-theme] .preview-button { order: 1; min-height: 52px; }
  [data-theme] #promise-form > :is(.privacy,.link-guidance) { order: 2; }
}
@media (max-width: 599px) {
  [data-theme] body[data-view='compose'] #site-main { padding-inline: 20px; }
  [data-theme] .book-reader .site-header .header-note { order: 3; width: 100%; justify-content: center; }
  [data-theme] .book-reader main { padding-inline: 16px; }
  [data-theme] .soft-book-card { padding: 36px 24px 32px 28%; min-height: 220px; }
  [data-theme] .soft-book-card h2 { font-size: 25px; }
  [data-theme] .soft-book-words { font-size: 16px; }
  [data-theme] .soft-book-number { left: 24px; top: 21px; }
  [data-theme] .site-header { padding: 20px 16px 8px; gap: 4px 8px; }
  [data-theme] .brand { font-size: 27px; }
  [data-theme] .brand::before { width: 20px; margin-inline-end: 4px; }
  [data-theme] .theme-picker { max-width: 124px; }
  [data-theme] .theme-picker > span { font-size: 8px; }
  [data-theme] .theme-picker select { font-size: 14px; }
  [data-theme] .hero-copy { padding-top: 24px; }
  [data-theme] .hero-copy > p:last-child { font-size: 16px; }
  [data-theme] .choice-card { padding: 26px 25px; gap: 16px; }
  [data-theme] .choice-art { flex-basis: 46px; width: 46px; height: 80px; }
  [data-theme] .choice-copy > strong { font-size: 26px; }
  [data-theme] .choice-copy > span { font-size: 13px; }
  [data-theme] .choice-arrow { width: 38px; height: 38px; flex-basis: 38px; }
  [data-theme] .keepsake-feature { display: block; padding: 0; }
  [data-theme] .keepsake-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  [data-theme] .keepsake-copy button { display: none; }
  [data-theme] .example-card p { font-size: clamp(12px,1.5vw,16px); }
  [data-theme] .how-it-works { gap: 12px; padding: 24px 16px; }
  [data-theme] .how-it-works h3 { font-size: 17px; }
  [data-theme] .how-it-works p { font-size: 11px; }
  [data-theme] .composer-choices { gap: 10px; }
  [data-theme] .compose-choice { gap: 7px; padding: 18px 14px; min-height: 130px; font-size: 18px; }
  [data-theme] .compose-choice .choice-art { display: none; }
  [data-theme] .compose-choice small { font-size: 11px; }
  [data-theme] #promise-form > .paper { width: calc(100% + 32px); margin-inline: -16px; padding: 55px 20px 70px; }
  [data-theme] .paper .promise-count { top: 55px; inset-inline-end: 20px; }
  [data-theme] .paper #promise { font-size: 24px; max-height: none; overflow: hidden; resize: none; }
  [data-theme] .paper-brand { font-size: 19px; }
  [data-theme] .paper-swatch::before { height: 60px; }
  [data-theme] .swatch-check { top: 25px; }
}
@media (min-width: 1000px) {
  [data-theme] #promise-form { grid-template-columns: minmax(0,1fr) 170px; }
  [data-theme] .paper-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-theme] .compose-choice { padding: 22px 18px; }
  [data-theme] #promise-form > .sender-actions { grid-column: 1; grid-row: 8; margin: 12px 0 0; }
  [data-theme] #promise-form > .link-guidance { grid-column: 1; grid-row: 9; }
  [data-theme] #promise-form > .privacy { grid-column: 1; grid-row: 10; }
}

/* One scene geometry for every collection; actual paper, enclosure and seal are images. */

html[data-theme] { padding: 0; }
[data-theme] body, [data-theme] body.book-reader { width:100%; max-width:none; min-height:100svh; border:0; border-radius:0; }
[data-theme] .site-header { width:100%; max-width:1120px; background:transparent; border-radius:0; }
[data-theme] .theme-picker { width:160px; }
[data-theme] #composer .composer-heading { width:max-content; max-width:calc(100% - 24px); margin-inline:auto; background:transparent; padding:8px 18px; }
[data-theme] .keepsake-scene { aspect-ratio:3 / 2; background:var(--sample-frame) center / contain no-repeat; }
[data-theme] .example-card { inset:8% 12% 20%; padding:12% 12% 10%; transform:rotate(-2deg); filter:drop-shadow(0 5px 4px #30261930); }
[data-theme] .example-card::before { display:block; background:var(--choice-paper) center / 100% 100% no-repeat; clip-path:none; }
[data-theme] .example-card p { font:400 clamp(12px,1.5vw,16px)/1.5 Georgia,serif; color:var(--ink); margin:0; }
[data-theme] .keepsake-seal { display:block; width:18%; height:auto; aspect-ratio:1; bottom:5%; right:13%; background:var(--sample-seal) center / contain no-repeat; box-shadow:none; border:0; border-radius:0; transform:none; }
[data-theme] .keepsake-seal::before, [data-theme] .keepsake-seal > span { display:none; }
[data-theme] .how-it-works, [data-theme] .home-closing, [data-theme] .keepsake-copy { background:transparent; }
[data-theme] .keepsake-copy { padding:24px; }
[data-theme] .quiet-promise { background:transparent; padding:10px; }
[data-theme] #composer #promise-form > :is(.privacy,.link-guidance) { width: min(680px,calc(100% - 32px)); text-align:center; background:transparent; padding:8px; }
[data-theme] #composer #promise-form > .preview-button { background:transparent; }
[data-theme] .book-reader main { width:100%; margin-inline:auto; }
[data-theme] .book-reader :is(.intro,.book-controls,#book-load-status,.book-footnote) { background:transparent; }
/* Contrast follows the photographed setting without placing panels behind copy. */
[data-theme] .hero-copy :is(.eyebrow,p:last-child), [data-theme] .site-nav > *, [data-theme] .theme-picker > span { color:var(--setting-intro-ink); }
[data-theme] :is(.quiet-promise,.keepsake-copy,.how-it-works,.home-closing) { color:var(--setting-ink); text-shadow:var(--setting-text-shadow); }
[data-theme] :is(.keepsake-copy,.how-it-works) :is(p,.text-link) { color:var(--setting-muted); }
[data-theme] .how-it-works .botanical-icon { filter:var(--setting-icon-filter); }
[data-theme] #composer #promise-form > :is(.privacy,.link-guidance,.preview-button),
[data-theme] #composer #promise-form > .privacy span,
[data-theme] .book-reader :is(#book-load-status,.book-footnote) { color:var(--setting-muted); text-shadow:var(--setting-text-shadow); }
@media(min-width:1200px) {
 [data-theme] .theme-picker, [data-theme] .theme-picker select, [data-theme] .theme-picker > span { color:var(--setting-picker-ink); text-shadow:var(--setting-picker-shadow); }
 [data-theme] .theme-picker option { color:var(--ink); text-shadow:none; background:var(--surface); }
}
@media(max-width:599px) {
 [data-theme] .theme-picker { width:140px; }
 [data-theme] .example-card p { font-size:clamp(12px,1.5vw,16px); }
}
