/*
Theme Name: Sam Bookshelf
Template: twentytwentyfive
Description: Storm-and-blush author-site theme for fireandscale.com (formerly books.michellelbrown.net). Source: ~/Sam/books/site/theme on SudoWolf.
Version: 2.0
*/

/* ---------- base ---------- */
:root{--sam-ease:cubic-bezier(.2,.7,.2,1)}
body{-webkit-font-smoothing:antialiased}
.wp-site-blocks{padding-top:0;padding-bottom:0}
.wp-site-blocks>*{margin-block-start:0}
:where(.wp-site-blocks) :focus-visible{outline:2px solid var(--wp--preset--color--accent);outline-offset:3px}

.sam-script{font-family:var(--wp--preset--font-family--script)!important;font-weight:400!important;letter-spacing:0!important;text-transform:none;font-size:clamp(2.6rem,5.5vw,4rem)!important;line-height:1.1!important;margin-bottom:var(--wp--preset--spacing--50)!important}
.sam-eyebrow,.sam-label{font-family:var(--wp--preset--font-family--ui);text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:600}
.sam-ornament{color:var(--wp--preset--color--accent);letter-spacing:.5em;font-size:.9rem}
.sam-empty{font-family:var(--wp--preset--font-family--serif);font-style:italic;font-size:1.3rem;color:var(--wp--preset--color--muted)}

/* ---------- buttons ---------- */
.wp-element-button,.wp-block-button__link{transition:background-color .25s var(--sam-ease),color .25s var(--sam-ease),border-color .25s var(--sam-ease)}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:currentColor;border:1px solid currentColor}
.wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--wp--preset--color--contrast);color:var(--wp--preset--color--base);border-color:var(--wp--preset--color--contrast)}

/* ---------- header ---------- */
.sam-topbar{padding-block:.55rem}
.sam-topbar p{margin:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.22em;font-weight:500}
.sam-topbar a{color:var(--wp--preset--color--contrast);text-decoration:none}
.sam-topbar a:hover{text-decoration:underline}
.sam-masthead{padding-block:1.4rem;border-bottom:1px solid rgba(255,255,255,.08)}
.sam-masthead .wp-block-site-title a,.sam-masthead .wp-block-navigation a{color:var(--wp--preset--color--base);text-decoration:none}
.sam-masthead .wp-block-navigation a:hover{color:var(--wp--preset--color--ember)}
.sam-masthead .wp-block-navigation{gap:2rem}

/* ---------- hero ---------- */
.sam-hero{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(4rem,9vw,8rem)!important;background-image:url(assets/storm-v2.svg);background-size:cover;background-position:center}
.sam-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,14,13,.85) 0%,rgba(14,14,13,.45) 40%,rgba(14,14,13,0) 70%)}
.sam-hero .sam-eyebrow{color:var(--wp--preset--color--ember);margin-bottom:1rem}
.sam-hero .sam-hero-title,.sam-hero .sam-hero-title a{color:#fff!important}
.sam-hero .sam-hero-title{font-family:var(--wp--preset--font-family--display);font-size:clamp(3rem,7.5vw,6rem);font-weight:700;letter-spacing:.04em;line-height:.95;margin:0}
.sam-hero .sam-hero-title a{color:inherit;text-decoration:none}
.sam-hero-tagline{font-family:var(--wp--preset--font-family--serif);font-style:italic;font-size:clamp(1.35rem,2.4vw,1.75rem);color:#efe4dd;margin-top:.9rem!important}
.sam-hero .sam-label{margin-top:2.6rem!important;color:#fff;border-top:1px solid rgba(255,255,255,.25);padding-top:1.4rem;max-width:34rem}
.sam-hero-copy{color:rgba(255,255,255,.78);max-width:34rem;font-weight:300;font-size:1.05rem}
.sam-hero-buttons{margin-top:2rem!important;gap:1rem}
.sam-hero .wp-block-button.is-style-fill .wp-block-button__link{background:var(--wp--preset--color--base-2);color:var(--wp--preset--color--contrast);border-color:var(--wp--preset--color--base-2)}
.sam-hero .wp-block-button.is-style-fill .wp-block-button__link:hover{background:transparent;color:var(--wp--preset--color--base-2)}
.sam-hero .wp-block-button.is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.7)}
.sam-hero .wp-block-button.is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--contrast)}

/* floating book + slow-turning ring (echoes the reference's motion) */
.sam-book-stage{position:relative;display:grid;place-items:center;aspect-ratio:1;max-width:460px;margin-inline:auto}
.sam-ring{position:absolute;inset:0;width:100%;height:100%;color:rgba(233,184,114,.45);animation:sam-rotate 90s linear infinite}
.sam-book{position:relative;width:58%;aspect-ratio:2/3;animation:sam-float 4s ease-in-out infinite;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6)) drop-shadow(0 0 60px rgba(233,184,114,.18))}
.sam-book-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12% 8% 10%;text-align:center;color:#1b1714;border-radius:2px 6px 6px 2px;
  background:radial-gradient(ellipse at 50% 45%,#f7e3c3 0%,#e6c590 55%,#c99a5e 100%);
  box-shadow:inset 6px 0 10px -4px rgba(0,0,0,.45),inset -1px 0 0 rgba(255,255,255,.4)}
.sam-book-cover::before{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .4 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sam-book-seal{position:absolute;width:86%;top:50%;left:50%;transform:translate(-50%,-50%);color:rgba(27,23,20,.55)}
.sam-book-kicker,.sam-book-foot{position:relative;font-family:var(--wp--preset--font-family--ui);font-size:clamp(.5rem,1vw,.68rem);letter-spacing:.3em;text-transform:uppercase;font-weight:600}
.sam-book-title{position:relative;font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:clamp(1.6rem,3.6vw,2.8rem);line-height:.9;letter-spacing:.04em}
@keyframes sam-float{0%,100%{transform:translateY(0)}65%{transform:translateY(15px)}}
@keyframes sam-rotate{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sam-book,.sam-ring{animation:none}}
@media (max-width:781px){.sam-hero::after{background:rgba(14,14,13,.72)}.sam-book-stage{max-width:320px;margin-top:2rem}}

/* ---------- bands ---------- */
.sam-band{padding-block:clamp(3.5rem,7vw,6rem)!important}
.sam-band-top-line{border-top:1px solid var(--wp--preset--color--line)}
.sam-chapter-list{max-width:680px;margin-inline:auto!important;padding:0;list-style:none}
.sam-chapter-row{border-bottom:1px solid rgba(20,19,18,.18);padding-block:1rem;align-items:baseline!important}
.sam-chapter-row .wp-block-post-title{margin:0;font-size:1.4rem}
.sam-chapter-row .wp-block-post-title a{color:var(--wp--preset--color--contrast);text-decoration:none}
.sam-chapter-row .wp-block-post-title a:hover{color:var(--wp--preset--color--accent)}
.sam-chapter-row .wp-block-post-date{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--wp--preset--color--muted)}

.sam-cover .wp-block-post-featured-image img{aspect-ratio:2/3;object-fit:cover;box-shadow:0 18px 30px -12px rgba(0,0,0,.45);transition:transform .4s var(--sam-ease)}
.sam-cover:hover .wp-block-post-featured-image img{transform:translateY(-6px)}
.sam-cover .wp-block-post-title{font-size:1.15rem;margin-top:1rem}
.sam-cover .wp-block-post-title a,.sam-card .wp-block-post-title a{color:var(--wp--preset--color--contrast);text-decoration:none}

.sam-card{height:100%}
.sam-card .wp-block-post-featured-image img{aspect-ratio:3/4;object-fit:cover}
.sam-card .wp-block-post-title{font-size:1.3rem;margin:1rem 0 .4rem}
.sam-card .wp-block-post-excerpt{font-size:.95rem}
.sam-card .wp-block-post-title a:hover,.sam-cover .wp-block-post-title a:hover{color:var(--wp--preset--color--accent)}

/* ---------- inner pages ---------- */
.sam-pagehead{padding-block:clamp(3rem,6vw,5rem)!important}
.sam-pagehead .wp-block-query-title.sam-script{margin-bottom:0!important}
.sam-pagehead h1.wp-block-post-title{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:700}
.sam-dek{font-family:var(--wp--preset--font-family--serif);font-style:italic;font-size:1.3rem}

/* ---------- reading ---------- */
.sam-reading{padding-block:clamp(3rem,7vw,6rem)!important;background:#fffdfb}
.sam-reading h1.wp-block-post-title{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;margin-bottom:var(--wp--preset--spacing--60)}
.sam-reading .wp-block-post-content{font-family:var(--wp--preset--font-family--serif);font-size:1.32rem;line-height:1.75}
.sam-reading .wp-block-post-content p{margin-block:0}
.sam-reading .wp-block-post-content p+p{text-indent:1.5em}
.sam-reading .wp-block-post-content>p:first-child::first-letter{font-family:var(--wp--preset--font-family--display);font-weight:700;float:left;font-size:4.2em;line-height:.8;padding:.06em .1em 0 0;color:var(--wp--preset--color--accent)}
.sam-reading .wp-block-post-content hr{border:0;text-align:center;margin:2.5rem 0}
.sam-reading .wp-block-post-content hr::after{content:"✦  ✦  ✦";color:var(--wp--preset--color--accent);letter-spacing:.4em}
.sam-reading .post-navigation-link-previous,.sam-reading .post-navigation-link-next{font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;margin-top:1rem}
.sam-reading .post-navigation-link-previous a,.sam-reading .post-navigation-link-next a{color:var(--wp--preset--color--contrast)}

/* ---------- footer + subscribe ---------- */
.sam-footer{padding-block:clamp(4rem,8vw,6.5rem) 2.5rem!important}
.sam-footer .sam-script{color:#fff}
.sam-footer-lede{color:rgba(255,255,255,.7);font-weight:300;max-width:34rem;margin-inline:auto!important}
.sam-footer .sam-ornament{color:var(--wp--preset--color--ember);margin-top:4rem!important}
.sam-footer .wp-block-site-title{font-size:1.3rem;letter-spacing:.12em}
.sam-footer .wp-block-site-title a{color:#fff;text-decoration:none}
.sam-fineprint{font-size:.72rem;letter-spacing:.06em;color:rgba(255,255,255,.5)}

.sam-subscribe{display:flex;gap:0;flex-wrap:wrap;justify-content:center;max-width:520px!important;margin:2rem auto 0!important;position:relative}
.sam-subscribe input[type=email]{flex:1 1 260px;min-width:0;padding:1rem 1.1rem;border-radius:0;border:1px solid rgba(255,255,255,.4);border-right:0;background:transparent;color:#fff;font:inherit;font-size:.95rem}
.sam-subscribe input[type=email]::placeholder{color:rgba(255,255,255,.45)}
.sam-subscribe button{padding:1rem 1.6rem;border-radius:0;border:1px solid var(--wp--preset--color--base-2);background:var(--wp--preset--color--base-2);color:var(--wp--preset--color--contrast);font-family:var(--wp--preset--font-family--ui);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:background-color .25s,color .25s}
.sam-subscribe button:hover{background:transparent;color:var(--wp--preset--color--base-2)}
@media (max-width:520px){.sam-subscribe input[type=email]{border-right:1px solid rgba(255,255,255,.4)}.sam-subscribe button{flex:1 1 100%;margin-top:.6rem}}
.sam-hp{position:absolute!important;left:-9999px!important;height:1px;width:1px;overflow:hidden}
.sam-subscribe-msg{max-width:520px;margin-inline:auto!important;color:var(--wp--preset--color--ember);margin-top:.8rem;text-align:center}
