/* ==========================================================================
   Roger Willroth — site styles  (rw- prefix, scoped, Elementor/Hello-hardened)
   Loaded globally by the Hello Elementor child theme.
   Fonts (Fraunces / Inter / Sora) are enqueued in functions.php.
   ========================================================================== */

:root{
  --rw-parchment:#FAF6EE;
  --rw-cream:#F3E9D7;
  --rw-creamdeep:#EADFC7;
  --rw-ink:#241C15;
  --rw-sepia:#6E5B45;
  --rw-oxblood:#6E1A12;
  --rw-oxblooddeep:#4E0F09;
  --rw-gold:#BC8A2E;
  --rw-goldlight:#DBB25A;
  --rw-display:'Fraunces',Georgia,serif;
  --rw-body:'Inter',system-ui,-apple-system,sans-serif;
  --rw-head:'Sora',system-ui,sans-serif;
}

/* ---- base (front-end only) ---- */
body.rw-body{
  background-color:var(--rw-parchment);
  background-image:
    radial-gradient(1100px 620px at 78% -8%, rgba(219,178,90,.16), transparent 60%),
    radial-gradient(900px 700px at 0% 100%, rgba(110,26,18,.06), transparent 55%);
  background-attachment:fixed;
  color:var(--rw-ink);
  font-family:var(--rw-body);
  margin:0;
}
.rw-site ::selection{ background:var(--rw-gold); color:var(--rw-parchment); }
.rw-site *{ box-sizing:border-box; }
.rw-site img{ max-width:100%; display:block; }
.rw-site a{ text-decoration:none; }

/* ---- layout ---- */
.rw-container{ max-width:72rem; margin-inline:auto; padding-inline:clamp(1.25rem,4vw,2rem); }
.rw-container--narrow{ max-width:48rem; }
.rw-container--mid{ max-width:64rem; }
.rw-section{ padding-block:clamp(3.5rem,8vw,6rem); }
.rw-section--sm{ padding-block:clamp(3rem,6vw,4.5rem); }
.rw-band-cream{ background:rgba(243,233,215,.55); border-block:1px solid rgba(188,138,46,.2); }
.rw-band-cream-soft{ background:rgba(243,233,215,.4); border-block:1px solid rgba(188,138,46,.15); }
.rw-band-dark{ position:relative; overflow:hidden; background:var(--rw-oxblood); color:var(--rw-parchment); }
.rw-band-dark--deep{ background:var(--rw-oxblooddeep); }
.rw-band-dark__glow{ position:absolute; inset:0; opacity:.4; pointer-events:none;
  background:radial-gradient(600px 300px at 50% 0%, rgba(219,178,90,.35), transparent 70%); }
.rw-band-dark > .rw-container{ position:relative; z-index:1; }
.rw-center{ text-align:center; }

/* ---- type ---- */
.rw-eyebrow{ font-family:var(--rw-body); text-transform:uppercase; letter-spacing:.28em;
  font-size:.72rem; font-weight:600; color:var(--rw-gold); margin:0; }
.rw-eyebrow--light{ color:var(--rw-goldlight); }
.rw-h1{ font-family:var(--rw-head)!important; color:var(--rw-oxblood); font-weight:600;
  letter-spacing:-.015em; line-height:.95; margin:0;
  font-size:clamp(2.9rem,7vw,4.6rem); }
.rw-title{ font-family:var(--rw-head)!important; color:var(--rw-oxblood); font-weight:600;
  letter-spacing:-.015em; line-height:1; margin:0; font-size:clamp(3rem,8vw,4.5rem); }
.rw-h2{ font-family:var(--rw-display); color:var(--rw-ink); font-weight:600;
  line-height:1.12; margin:0; font-size:clamp(2rem,5vw,3rem); }
.rw-h2--oxblood{ color:var(--rw-oxblood); }
.rw-h3{ font-family:var(--rw-display); font-weight:600; line-height:1.15; margin:0;
  font-size:clamp(1.6rem,3.5vw,2.2rem); }
.rw-sub{ font-family:var(--rw-display); font-style:italic; color:var(--rw-gold);
  font-size:clamp(1.4rem,3vw,1.9rem); margin:.5rem 0 0; }
.rw-lead{ font-size:1.125rem; line-height:1.7; color:rgba(36,28,21,.8); margin:0; }
.rw-prose p{ font-size:1.125rem; line-height:1.75; color:rgba(36,28,21,.82); margin:0 0 1.4rem; }
.rw-prose p:last-child{ margin-bottom:0; }
.rw-italic{ font-style:italic; }
.rw-strong{ font-weight:600; color:var(--rw-ink); }
.rw-mt{ margin-top:1.5rem; }
.rw-mt-lg{ margin-top:2.25rem; }
.rw-rule{ height:1px; border:0; margin:0;
  background:linear-gradient(90deg,transparent,rgba(188,138,46,.55),transparent); }
.rw-rule--short{ max-width:24rem; margin-inline:auto; }

.rw-dropcap::first-letter{ font-family:var(--rw-display); float:left; font-size:4.4rem;
  line-height:.82; padding:.08em .14em 0 0; color:var(--rw-oxblood); font-weight:500; }

/* ---- buttons / links ---- */
.rw-btn{ display:inline-flex; align-items:center; gap:.5rem; font-family:var(--rw-body);
  font-weight:600; font-size:1rem; padding:.9rem 1.9rem; border-radius:999px;
  cursor:pointer; transition:transform .2s ease, filter .2s ease, background-color .2s ease, color .2s ease;
  border:1px solid transparent; line-height:1; }
.rw-btn--gold{ color:var(--rw-parchment)!important;
  background:linear-gradient(180deg,#C89733 0%,#A9761F 100%);
  box-shadow:0 12px 26px -12px rgba(169,118,31,.85), inset 0 1px 0 rgba(255,255,255,.35); }
.rw-btn--gold:hover{ filter:brightness(1.06); transform:translateY(-1px); }
.rw-btn--outline{ color:var(--rw-oxblood)!important; border-color:rgba(110,26,18,.3);
  background:transparent; }
.rw-btn--outline:hover{ background:var(--rw-oxblood); color:var(--rw-parchment)!important; }
.rw-btn--sm{ font-size:.875rem; padding:.65rem 1.25rem; }
.rw-btn-row{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }

.rw-link{ display:inline-flex; align-items:center; gap:.5rem; font-weight:600;
  color:var(--rw-oxblood); transition:gap .2s ease; }
.rw-link:hover{ gap:.75rem; }

/* ---- header / nav ---- */
.rw-header{ position:sticky; top:0; z-index:50;
  background:rgba(250,246,238,.85); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(188,138,46,.25); }
.rw-nav{ display:flex; align-items:center; justify-content:space-between; height:4.5rem; }
.rw-brand{ font-family:var(--rw-display); font-size:1.7rem; font-weight:600;
  color:var(--rw-oxblood); letter-spacing:-.01em; white-space:nowrap; }
.rw-menu{ display:none; list-style:none; margin:0; padding:0; align-items:center; gap:1.6rem; }
.rw-menu a{ font-size:.95rem; font-weight:500; color:rgba(36,28,21,.8); transition:color .2s ease; }
.rw-menu a:hover{ color:var(--rw-oxblood); }
.rw-menu a.is-active{ color:var(--rw-oxblood); }
.rw-nav__right{ display:flex; align-items:center; gap:.75rem; }
.rw-nav__buy{ display:none; }

/* hamburger */
.rw-burger{ display:inline-flex; align-items:center; justify-content:center;
  width:2.75rem; height:2.75rem; margin-right:-.25rem; border:0; background:transparent;
  border-radius:.5rem; color:var(--rw-oxblood); cursor:pointer; transition:background-color .2s ease; }
.rw-burger:hover{ background:rgba(243,233,215,.7); }
.rw-burger__box{ position:relative; display:block; width:26px; height:18px; }
.rw-burger__bar{ position:absolute; left:0; height:2px; width:100%; background:var(--rw-oxblood);
  border-radius:2px; transition:transform .3s ease, opacity .2s ease, top .3s ease; }
.rw-burger__bar:nth-child(1){ top:0; }
.rw-burger__bar:nth-child(2){ top:8px; }
.rw-burger__bar:nth-child(3){ top:16px; }
.rw-burger.is-active .rw-burger__bar:nth-child(1){ top:8px; transform:rotate(45deg); }
.rw-burger.is-active .rw-burger__bar:nth-child(2){ opacity:0; }
.rw-burger.is-active .rw-burger__bar:nth-child(3){ top:8px; transform:rotate(-45deg); }

/* mobile panel */
.rw-mobile{ overflow:hidden; max-height:0; opacity:0;
  background:rgba(250,246,238,.97); backdrop-filter:blur(10px);
  border-top:1px solid rgba(188,138,46,.2);
  transition:max-height .35s ease, opacity .3s ease; }
.rw-mobile.is-open{ max-height:36rem; opacity:1; }
.rw-mobile__inner{ padding-block:1.25rem; }
.rw-mobile__list{ list-style:none; margin:0; padding:0; }
.rw-mobile__list li{ border-top:1px solid rgba(188,138,46,.15); }
.rw-mobile__list li:first-child{ border-top:0; }
.rw-mobile__list a{ display:block; padding:.75rem 0; font-size:1.125rem; font-weight:500;
  color:rgba(36,28,21,.85); }
.rw-mobile__list a:hover, .rw-mobile__list a.is-active{ color:var(--rw-oxblood); }
.rw-mobile .rw-btn{ display:flex; justify-content:center; margin-top:1.25rem; width:100%; }

/* ---- footer ---- */
.rw-footer{ background:var(--rw-parchment); border-top:1px solid rgba(188,138,46,.25); }
.rw-footer__top{ display:flex; flex-direction:column; align-items:center; gap:1.5rem;
  padding-block:3rem 0; }
.rw-footer__brand{ text-align:center; }
.rw-footer__brand p:first-child{ font-family:var(--rw-display); font-size:1.5rem; font-weight:600;
  color:var(--rw-oxblood); margin:0; }
.rw-footer__brand p:last-child{ font-size:.875rem; color:var(--rw-sepia); margin:.25rem 0 0; }
.rw-footer__menu{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap;
  justify-content:center; gap:.5rem 1.75rem; }
.rw-footer__menu a{ font-size:.875rem; font-weight:500; color:rgba(36,28,21,.75); }
.rw-footer__menu a:hover{ color:var(--rw-oxblood); }
.rw-footer__copy{ text-align:center; font-size:.75rem; color:rgba(110,91,69,.8); padding-bottom:3rem; }
.rw-footer .rw-rule{ margin-block:2rem; }

/* ---- book covers / halo / placeholder ---- */
.rw-halo{ position:relative; }
.rw-halo::before{ content:""; position:absolute; inset:-16% -13% -9% -13%; z-index:0;
  background:radial-gradient(closest-side, rgba(219,178,90,.55), rgba(219,178,90,.1) 62%, transparent 78%);
  filter:blur(6px); animation:rwGlow 6s ease-in-out infinite; }
@keyframes rwGlow{ 0%,100%{opacity:.75; transform:scale(1);} 50%{opacity:1; transform:scale(1.03);} }
.rw-cover{ position:relative; z-index:1; width:100%; height:auto; border-radius:4px;
  box-shadow:0 34px 60px -24px rgba(78,15,9,.55), 0 8px 22px -12px rgba(36,28,21,.4); }
.rw-placeholder{ position:relative; z-index:1; aspect-ratio:2/3; border-radius:4px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  padding:1.25rem;
  background:radial-gradient(120% 90% at 50% 0%, rgba(219,178,90,.18), transparent 60%),
             linear-gradient(160deg,#6E1A12 0%,#4E0F09 100%);
  border:1px solid rgba(188,138,46,.5);
  box-shadow:0 34px 60px -26px rgba(78,15,9,.6); }
.rw-placeholder__k{ font-family:var(--rw-display); color:var(--rw-parchment); font-weight:500;
  line-height:1.1; }

/* ---- circular portrait ---- */
.rw-portrait{ position:relative; width:14rem; height:14rem; margin-inline:auto; }
.rw-portrait--lg{ width:14rem; height:14rem; }
.rw-portrait img{ width:100%; height:100%; border-radius:999px; object-fit:cover; object-position:top;
  border:2px solid rgba(188,138,46,.4); box-shadow:0 24px 60px -26px rgba(78,15,9,.45); }
.rw-portrait__tag{ position:absolute; left:50%; bottom:-.75rem; transform:translateX(-50%);
  background:var(--rw-parchment); padding:0 .75rem; white-space:nowrap; }

/* ---- grids ---- */
.rw-split{ display:grid; gap:clamp(2.5rem,5vw,4rem); align-items:center; }
.rw-cols-2{ display:grid; gap:1.5rem; }
.rw-cols-3{ display:grid; gap:1.5rem; }
.rw-cols-4{ display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }

/* ---- cards ---- */
.rw-card{ background:var(--rw-parchment); border:1px solid rgba(188,138,46,.25);
  border-radius:1rem; padding:2rem; box-shadow:0 18px 44px -30px rgba(78,15,9,.5); }
.rw-card--lg{ border-radius:1.25rem; padding:clamp(2rem,4vw,2.5rem); }
.rw-cred{ text-align:center; }
.rw-cred__k{ font-family:var(--rw-display); color:var(--rw-oxblood); font-size:1.5rem; margin:0 0 .25rem; }
.rw-cred__t{ font-weight:600; color:var(--rw-ink); margin:0; }
.rw-cred__s{ font-size:.875rem; color:var(--rw-sepia); margin:.25rem 0 0; }
.rw-info{ background:rgba(243,233,215,.6); border:1px solid rgba(188,138,46,.25);
  border-radius:1rem; padding:1.75rem; }

/* ---- quote cards ---- */
.rw-quote{ display:flex; flex-direction:column; height:100%; margin:0; }
.rw-quote__mark{ font-family:var(--rw-display); color:var(--rw-gold); font-size:3.5rem;
  line-height:1; margin-bottom:.5rem; }
.rw-quote blockquote{ font-family:var(--rw-display); font-style:italic; font-size:1.35rem;
  line-height:1.5; color:rgba(36,28,21,.9); margin:0; flex:1; }
.rw-quote figcaption{ margin-top:1.75rem; }
.rw-quote figcaption .rw-name{ font-weight:600; color:var(--rw-ink); margin:0; }
.rw-quote figcaption .rw-src{ font-size:.875rem; color:var(--rw-sepia); margin:.15rem 0 0; }
.rw-quote__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }

.rw-pullquote{ border-left:2px solid var(--rw-gold); padding-left:1.25rem; max-width:36rem;
  margin:2rem 0; }
.rw-pullquote blockquote{ font-family:var(--rw-display); font-style:italic; font-size:1.25rem;
  line-height:1.5; color:rgba(36,28,21,.9); margin:0; }
.rw-pullquote figcaption{ font-size:.875rem; color:var(--rw-sepia); margin-top:.75rem; }

/* ---- tags ---- */
.rw-tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.rw-tag{ font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.04em;
  color:var(--rw-sepia); background:var(--rw-cream); border:1px solid rgba(188,138,46,.3);
  border-radius:999px; padding:.25rem .75rem; }

/* ---- Notable Book seal ---- */
.rw-seal{ width:132px; height:132px; border-radius:999px; flex-shrink:0;
  background:radial-gradient(circle at 50% 30%, #E7C56B 0%, #C79A34 55%, #9B6E1C 100%);
  box-shadow:0 14px 30px -14px rgba(120,80,10,.7), inset 0 0 0 2px rgba(255,255,255,.35),
             inset 0 0 0 6px rgba(155,110,28,.55);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  color:#3a2708; }
.rw-seal__top{ font-size:.5rem; letter-spacing:.12em; font-weight:700; text-transform:uppercase; }
.rw-seal__main{ font-family:var(--rw-display); font-size:1.05rem; line-height:1.1; margin-top:2px; }

/* ---- gallery + lightbox ---- */
.rw-tile{ position:relative; overflow:hidden; border-radius:.75rem; padding:0; border:1px solid rgba(188,138,46,.28);
  box-shadow:0 16px 40px -28px rgba(78,15,9,.5); cursor:zoom-in; background:none; }
.rw-tile img{ width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .5s ease; }
.rw-tile:hover img{ transform:scale(1.05); }
.rw-gallery--2{ max-width:36rem; }

.rw-lightbox{ position:fixed; inset:0; z-index:1000; display:none; align-items:center;
  justify-content:center; padding:1.5rem; background:rgba(36,15,9,.88); backdrop-filter:blur(4px); }
.rw-lightbox.is-open{ display:flex; }
.rw-lightbox img{ max-width:min(92vw,720px); max-height:86vh; border-radius:6px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.7); }
.rw-lightbox__close{ position:absolute; top:1.1rem; right:1.3rem; color:var(--rw-parchment);
  font-size:2rem; line-height:1; background:none; border:0; cursor:pointer; }

/* ---- contact form ---- */
.rw-form-row{ display:grid; gap:1.25rem; }
.rw-field-wrap{ margin-top:1.25rem; }
.rw-field-wrap:first-child{ margin-top:0; }
.rw-label{ display:block; font-size:.8rem; font-weight:600; color:var(--rw-sepia);
  letter-spacing:.02em; margin-bottom:.4rem; }
.rw-field{ width:100%; background:#FFFDF8; border:1px solid rgba(110,91,69,.28); border-radius:.6rem;
  padding:.75rem 1rem; font-family:var(--rw-body); font-size:1rem; color:var(--rw-ink);
  transition:border-color .2s ease, box-shadow .2s ease; }
.rw-field::placeholder{ color:rgba(110,91,69,.6); }
.rw-field:focus{ outline:none; border-color:var(--rw-gold); box-shadow:0 0 0 3px rgba(188,138,46,.18); }
.rw-form-status{ margin-top:1rem; font-size:.875rem; font-weight:500; }

/* ---- reveal ---- */
.rw-reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.rw-reveal.is-in{ opacity:1; transform:none; }

/* ---- focus ---- */
.rw-site a:focus-visible, .rw-site button:focus-visible{
  outline:2px solid var(--rw-oxblood); outline-offset:3px; border-radius:2px; }

/* =========================== responsive =========================== */
@media (min-width:640px){
  .rw-cols-2{ grid-template-columns:repeat(2,1fr); }
  .rw-cols-3{ grid-template-columns:repeat(3,1fr); }
  .rw-portrait--lg{ width:18rem; height:18rem; }
}
@media (min-width:1024px){
  .rw-menu{ display:flex; }
  .rw-nav__buy{ display:inline-flex; }
  .rw-burger{ display:none; }
  .rw-cols-4{ grid-template-columns:repeat(4,1fr); }
  .rw-footer__top{ flex-direction:row; justify-content:space-between; align-items:center; }
  .rw-footer__brand{ text-align:left; }
  .rw-split--hero{ grid-template-columns:1.1fr .9fr; }
  .rw-split--media-right{ grid-template-columns:1.05fr .95fr; }
  .rw-split--feature{ grid-template-columns:.85fr 1.15fr; align-items:flex-start; }
  .rw-split--about{ grid-template-columns:.8fr 1.2fr; }
  .rw-split--50{ grid-template-columns:1fr 1fr; }
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  .rw-halo::before{ animation:none; }
  .rw-reveal{ opacity:1; transform:none; transition:none; }
  .rw-burger__bar, .rw-mobile, .rw-tile img{ transition:none; }
  body.rw-body{ background-attachment:scroll; }
}

/* =========================== Hello Elementor neutralize =========================== */
/* Hide Hello's default header/footer & page title (we inject our own).
   Also try the theme setting: Appearance → Hello Elementor → Settings. */
body:not(.elementor-editor-active) .site-header,
body:not(.elementor-editor-active) .site-footer,
body:not(.elementor-editor-active) .page-header,
body:not(.elementor-editor-active) .entry-header{ display:none!important; }
/* let full-width HTML widgets bleed edge-to-edge */
.rw-body .elementor-widget-html{ width:100%; }

/* =========================== page helpers =========================== */
.rw-duo{ display:flex; align-items:flex-end; justify-content:center; gap:clamp(1.25rem,3vw,2rem); }
.rw-duo figure{ margin:0; }
.rw-cover-a{ width:min(14rem,42vw); flex-shrink:0; }
.rw-cover-b{ width:min(11rem,34vw); flex-shrink:0; }
.rw-cover-md{ width:min(18rem,72vw); margin-inline:auto; }
.rw-cap{ text-align:center; margin-top:1rem; }
.rw-cap .rw-eyebrow{ display:block; margin-bottom:.25rem; }
.rw-badge{ display:inline-flex; align-items:center; gap:.5rem; }
.rw-badge__dot{ width:.5rem; height:.5rem; border-radius:999px; background:var(--rw-gold);
  animation:rwPulse 1.6s ease-in-out infinite; }
@keyframes rwPulse{ 0%,100%{opacity:1;} 50%{opacity:.35;} }
.rw-note{ display:inline-flex; align-items:center; gap:.75rem; flex-wrap:wrap;
  border:1px solid rgba(188,138,46,.3); background:rgba(243,233,215,.7);
  border-radius:.75rem; padding:1rem 1.25rem; }
.rw-note strong{ font-family:var(--rw-display); color:var(--rw-oxblood); font-weight:600; font-size:1.1rem; }
.rw-note span{ color:var(--rw-sepia); font-size:.9rem; }
.rw-stack > * + *{ margin-top:1.5rem; }
.rw-mw-xl{ max-width:36rem; }
.rw-mw-2xl{ max-width:42rem; margin-inline:auto; }
@media (min-width:1024px){ .rw-duo--hero{ justify-content:flex-end; } }
@media (min-width:640px){ .rw-hide-sm-br br{ display:none; } }

/* =========================== contact page =========================== */
.rw-form-grid{ display:grid; gap:1.25rem; }
.rw-aside{ display:grid; gap:1.5rem; }
@media (min-width:640px){ .rw-form-grid{ grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){
  .rw-split--contact{ grid-template-columns:1.25fr .75fr; align-items:start; }
}
/* Contact Form 7 mapping — drop a CF7 shortcode inside .rw-cf7 to inherit field styles.
   (Shortcodes run in an Elementor Shortcode/Text widget, not a Custom HTML widget.) */
.rw-cf7 input[type=text], .rw-cf7 input[type=email], .rw-cf7 input[type=tel],
.rw-cf7 input[type=url], .rw-cf7 textarea, .rw-cf7 select{
  width:100%!important; background:#FFFDF8!important; border:1px solid rgba(110,91,69,.28)!important;
  border-radius:.6rem!important; padding:.75rem 1rem!important; font-family:var(--rw-body)!important;
  font-size:1rem!important; color:var(--rw-ink)!important; box-shadow:none!important; }
.rw-cf7 input:focus, .rw-cf7 textarea:focus{
  outline:none!important; border-color:var(--rw-gold)!important; box-shadow:0 0 0 3px rgba(188,138,46,.18)!important; }
.rw-cf7 label{ display:block!important; font-size:.8rem!important; font-weight:600!important;
  color:var(--rw-sepia)!important; margin-bottom:.4rem!important; }
.rw-cf7 .wpcf7-submit{
  background:linear-gradient(180deg,#C89733 0%,#A9761F 100%)!important; color:var(--rw-parchment)!important;
  font-weight:600!important; border:0!important; border-radius:999px!important; padding:.9rem 2rem!important;
  cursor:pointer!important; box-shadow:0 12px 26px -12px rgba(169,118,31,.85)!important; }
.rw-cf7 .wpcf7-response-output{ border-radius:.5rem!important; margin:1rem 0 0!important; }

/* =========================== life verse =========================== */
.rw-verse{ font-family:var(--rw-display); font-style:italic;
  font-size:clamp(1.35rem,3vw,1.9rem); line-height:1.5; color:var(--rw-ink); margin:1.25rem 0 0; }
.rw-verse__ref{ font-family:var(--rw-head); font-weight:600; color:var(--rw-oxblood);
  letter-spacing:.02em; margin-top:1rem; }

/* =========================== per-book "scan to buy" card =========================== */
.rw-scan{ display:inline-flex; align-items:center; gap:1.1rem; padding:.8rem;
  background:#fffdf8; border:1px solid rgba(188,138,46,.32); border-radius:1rem;
  box-shadow:0 18px 44px -30px rgba(78,15,9,.5); max-width:100%; }
.rw-scan__code{ flex-shrink:0; display:block; line-height:0; }
.rw-scan__code img{ display:block; width:156px; height:156px; border-radius:.55rem; }
.rw-scan__ph{ width:156px; height:156px; border-radius:.55rem; display:flex; align-items:center;
  justify-content:center; font-family:var(--rw-head); font-weight:600; letter-spacing:.16em;
  font-size:.72rem; color:var(--rw-sepia);
  background:repeating-linear-gradient(45deg,#f6efe0,#f6efe0 7px,#ece0c9 7px,#ece0c9 14px); }
.rw-scan__text{ padding-right:.6rem; }
.rw-scan__label{ font-family:var(--rw-head); font-weight:700; color:var(--rw-oxblood);
  font-size:1.05rem; margin:0; line-height:1.15; }
.rw-scan__sub{ font-size:.85rem; color:var(--rw-sepia); margin:.3rem 0 0; line-height:1.4; }
.rw-scan a.rw-scan__code{ transition:transform .2s ease; }
.rw-scan a.rw-scan__code:hover{ transform:translateY(-2px); }
