*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

:root {
  /* Deep navy & gold theme — pulled from the Deluxe Edition cover art */
  --bg-main:       #F3F1EC;   /* warm parchment, cool-leaning */
  --bg-alt:        #E9E7DE;   /* slightly deeper parchment */
  --bg-section:    #FBFAF6;   /* near white cool */
  --bg-dark:       #003153;   /* deep navy, from cover background */
  --bg-dark2:      #001F36;   /* darker navy */
  --gold:          #B8860B;   /* deep gold */
  --gold-bright:   #D4B70A;   /* cover chalk-gold */
  --gold-light:    #E8B830;   /* bright gold */
  --gold-pale:     #F5DFA0;   /* pale gold */
  --green-accent:  #2F5C8A;   /* mid navy-blue accent */
  --green-light:   #4A7FB0;   /* lighter navy-blue */
  --sky:           #A9C0D9;   /* soft powder blue */
  --text-dark:     #0F202F;   /* almost black navy */
  --text-body:     #16283A;   /* dark navy body text */
  --text-mid:      #2C4A63;   /* mid navy */
  --text-light:    #62778F;   /* light navy text */
  --border:        rgba(184,134,11,0.25);
  --border-strong: rgba(184,134,11,0.45);
  --white:         #FFFFFF;
}

html { scroll-behavior:smooth; }
body {
  background: var(--bg-main);
  color: var(--text-body);
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.75;
  overflow-x: hidden;
}

/* BUMBLEBEE CANVAS */
#bee-canvas {
  position:fixed; top:0; left:0; width:100%; height:100%;
  pointer-events:none; z-index:9999;
}

/* NAV */
nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 56px;
  background: rgba(253,250,244,0.97);
  border-bottom: 1px solid var(--border-strong);
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(0,49,83,0.08);
  min-height:80px;
}
@media (max-width:600px){
  nav { padding:10px 20px; }
  nav img[alt="Poetry by Alexx"] { height:46px !important; }
}
.nav-logo {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:22px; color:var(--green-accent); text-decoration:none; letter-spacing:1px;
}
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a {
  font-family:'Cinzel',serif; font-size:10.5px; letter-spacing:2.5px;
  color:var(--text-mid); text-decoration:none; text-transform:uppercase; transition:color 0.3s;
}
.nav-links a:hover { color:var(--gold); }
.nav-social { display:flex; gap:10px; }
.nav-social a {
  width:32px; height:32px; border:1px solid var(--border-strong);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); text-decoration:none; font-size:13px; transition:all 0.3s;
  background: transparent;
}
.nav-social a:hover { background:var(--gold); color:var(--white); border-color:var(--gold); }

/* HERO — keep dark for drama with sky gradient */
#hero {
  min-height:100vh; display:flex; align-items:center;
  background: linear-gradient(165deg, #E7EEF5 0%, #C7DAEA 20%, #9AB9D6 45%, #5C86AE 75%, #123A5C 100%);
  position:relative; overflow:hidden; padding-top:80px;
}
.hero-overlay {
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 50% 70% at 0% 60%, rgba(0,49,83,0.35) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 100% 30%, rgba(47,92,138,0.3) 0%, transparent 60%);
  pointer-events:none;
}
/* Decorative dots like cover */
.hero-dots {
  position:absolute; inset:0; pointer-events:none;
  background-image:
    radial-gradient(1.5px 1.5px at 10% 20%, rgba(184,134,11,0.5) 0%, transparent 100%),
    radial-gradient(1px 1px at 25% 10%, rgba(201,148,26,0.4) 0%, transparent 100%),
    radial-gradient(2px 2px at 50% 15%, rgba(184,134,11,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 75% 8%, rgba(232,184,48,0.35) 0%, transparent 100%),
    radial-gradient(1.5px 1.5px at 90% 25%, rgba(184,134,11,0.4) 0%, transparent 100%),
    radial-gradient(1px 1px at 15% 80%, rgba(201,148,26,0.3) 0%, transparent 100%),
    radial-gradient(1px 1px at 85% 85%, rgba(184,134,11,0.3) 0%, transparent 100%);
}
.hero-inner {
  position:relative; z-index:2; display:flex; align-items:center;
  justify-content:space-between; width:100%; max-width:1280px;
  margin:0 auto; padding:80px 56px; gap:60px;
}
.hero-text { flex:1; max-width:580px; }
.hero-eyebrow {
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:5px;
  color:var(--bg-dark); text-transform:uppercase; margin-bottom:18px;
  opacity:0; animation:fadeUp 0.7s 0.2s forwards;
  background: rgba(253,250,244,0.6); display:inline-block; padding:6px 14px;
  border-left:3px solid var(--gold);
}
.hero-title {
  font-family:'Cinzel',serif; font-weight:700;
  font-size:clamp(48px,6vw,80px); line-height:0.95;
  color:var(--bg-dark); margin-bottom:14px;
  opacity:0; animation:fadeUp 0.7s 0.4s forwards;
  text-shadow: 0 2px 8px rgba(255,255,255,0.4);
}
.hero-subtitle {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(22px,2.8vw,30px); color:var(--bg-dark2);
  margin-bottom:24px; opacity:0; animation:fadeUp 0.7s 0.6s forwards;
  font-weight:400;
}
.hero-desc {
  font-size:16px; line-height:1.85; color:var(--bg-dark);
  max-width:480px; margin-bottom:38px;
  background:rgba(253,250,244,0.7); padding:16px 20px; border-radius:2px;
  opacity:0; animation:fadeUp 0.7s 0.8s forwards;
}
.launch-badge {
  display:inline-flex; align-items:center; gap:9px;
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:1.5px;
  color:var(--bg-dark2); text-transform:uppercase; font-weight:600;
  background:var(--gold-pale); border:1px solid var(--border-strong);
  padding:8px 16px 8px 12px; border-radius:20px; margin-bottom:22px;
  opacity:0; animation:fadeUp 0.7s 0.7s forwards;
}
.launch-dot {
  width:7px; height:7px; border-radius:50%; background:#B0342E;
  box-shadow:0 0 0 3px rgba(176,52,46,0.2); flex-shrink:0;
  animation:pulseDot 1.8s ease-in-out infinite;
}
@keyframes pulseDot { 0%,100%{opacity:1;} 50%{opacity:0.4;} }
.hero-btns { display:flex; gap:16px; flex-wrap:wrap; opacity:0; animation:fadeUp 0.7s 1s forwards; }
.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 36px; background:var(--bg-dark);
  color:var(--gold-pale); font-family:'Cinzel',serif;
  font-size:11px; letter-spacing:2.5px; text-transform:uppercase;
  text-decoration:none; font-weight:600; border:2px solid var(--bg-dark);
  transition:all 0.3s; cursor:pointer;
}
.btn-primary:hover { background:var(--green-accent); border-color:var(--green-accent); }
.btn-secondary {
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 32px; border:2px solid var(--bg-dark);
  color:var(--bg-dark); font-family:'Cinzel',serif;
  font-size:11px; letter-spacing:2.5px; text-transform:uppercase;
  text-decoration:none; transition:all 0.3s;
  background:rgba(253,250,244,0.7);
}
.btn-secondary:hover { background:var(--bg-dark); color:var(--gold-pale); }

/* Book */
.hero-book-wrap { flex-shrink:0; opacity:0; animation:fadeLeft 0.9s 0.8s forwards; }
.book-3d-img {
  width:265px;
  transform: perspective(900px) rotateY(-14deg);
  border-radius:3px 14px 14px 3px;
  box-shadow:
    -20px 15px 50px rgba(0,49,83,0.5),
    0 5px 30px rgba(0,0,0,0.2),
    8px 0 20px rgba(0,0,0,0.15);
  transition:transform 0.5s; display:block;
}
.book-3d-img:hover { transform:perspective(900px) rotateY(-5deg) translateY(-6px); }
.book-shadow {
  width:200px; height:20px; margin:14px auto 0;
  background:rgba(0,49,83,0.25); filter:blur(18px); border-radius:50%;
}

/* Two-book hero row */
.hero-books-row { display:flex; align-items:flex-end; gap:34px; }
.hero-book-link { text-decoration:none; display:block; position:relative; flex-shrink:0; opacity:0; animation:fadeLeft 0.9s 1s forwards; }
.hero-book-link .book-3d-img {
  transform: perspective(900px) rotateY(14deg);
}
.hero-book-link .book-3d-img:hover { transform:perspective(900px) rotateY(5deg) translateY(-6px); }
.vol-badge {
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--bg-dark); color:var(--gold-pale);
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:2px;
  text-transform:uppercase; padding:5px 12px; border:1px solid var(--gold);
  white-space:nowrap; box-shadow:0 4px 14px rgba(0,49,83,0.35); z-index:3;
}

/* SHARED SECTION */
.section-wrap { padding:96px 0; }
.section-wrap.alt { background:var(--bg-alt); }
.section-wrap.white { background:var(--bg-section); }
.container { max-width:1280px; margin:0 auto; padding:0 56px; }

.eyebrow {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:5px;
  color:var(--gold); text-transform:uppercase;
  display:flex; align-items:center; gap:12px; margin-bottom:14px;
}
.eyebrow::after { content:''; flex:0 0 36px; height:1px; background:var(--gold-bright); }
.section-heading {
  font-family:'Cinzel',serif; font-size:clamp(26px,3vw,40px);
  font-weight:700; color:var(--text-dark); line-height:1.2; margin-bottom:20px;
}
.section-heading em {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  color:var(--green-accent); font-weight:300; font-size:110%;
}
.divider-gold {
  display:flex; align-items:center; gap:20px; padding:0 56px;
  max-width:1280px; margin:0 auto;
}
.divider-line { flex:1; height:1px; background:linear-gradient(to right, transparent, var(--border-strong), transparent); }
.divider-icon { color:var(--gold-bright); font-size:16px; }

/* ABOUT */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start; }
.about-body { font-size:16px; line-height:1.9; color:var(--text-body); margin-bottom:18px; }

.quote-box {
  background:var(--bg-dark); border-left:4px solid var(--gold-light);
  padding:36px 40px; margin-bottom:24px;
}
.quote-box blockquote {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:24px; line-height:1.6; color:var(--gold-pale); font-weight:400;
}
.quote-box blockquote::before { content:'“'; color:var(--gold-light); font-size:52px; line-height:0; vertical-align:-0.4em; margin-right:6px; }
.quote-attribution { margin-top:14px; font-family:'Cinzel',serif; font-size:10px; letter-spacing:2px; color:var(--gold-light); }

.info-box {
  background:var(--white); border:1px solid var(--border); padding:30px 34px;
  border-top:3px solid var(--gold);
}
.info-box p {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:19px; color:var(--text-body); line-height:1.85; font-weight:400;
}
.stats-row {
  display:grid; grid-template-columns:1fr 1fr; gap:1px;
  background:var(--border); margin-top:20px;
}
.stat-box { background:var(--bg-section); padding:20px 24px; text-align:center; }
.stat-num { font-family:'Cinzel',serif; font-size:28px; font-weight:700; color:var(--green-accent); }
.stat-label { font-size:11px; color:var(--text-light); letter-spacing:1px; margin-top:4px; }

.poems-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin-top:16px; }
.poem-item {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:16px; color:var(--text-body);
  padding:10px 0; border-bottom:1px solid var(--border);
  display:flex; align-items:center; gap:10px; transition:color 0.3s;
}
.poem-item:hover { color:var(--green-accent); }
.poem-item::before { content:'◆'; color:var(--gold); font-size:6px; flex-shrink:0; }

/* FEATURED POEM */
#poem { background:var(--bg-dark); }
.poem-wrap { max-width:680px; margin:0 auto; text-align:center; }
.poem-eyebrow {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:5px;
  color:var(--gold-light); text-transform:uppercase;
  display:flex; align-items:center; justify-content:center; gap:12px; margin-bottom:14px;
}
.poem-eyebrow::before, .poem-eyebrow::after { content:''; flex:0 0 30px; height:1px; background:var(--gold-bright); }
.poem-title-label {
  font-family:'Cinzel',serif; font-size:13px; letter-spacing:5px;
  color:var(--gold-pale); text-transform:uppercase; margin-bottom:44px;
}
.poem-body {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:21px; line-height:2.1; color:var(--white); font-weight:300;
}
.poem-body em { font-style:normal; color:var(--gold-pale); }
.poem-sig { margin-top:36px; font-family:'Cormorant Garamond',serif; font-style:italic; font-size:18px; color:var(--gold-light); }
.poem-icon { display:inline-block; font-size:13px; opacity:0.55; margin:6px 0; }

/* AUTHOR */
.author-grid { display:grid; grid-template-columns:340px 1fr; gap:72px; align-items:center; }
.author-img-wrap { position:relative; }
.author-img-wrap::after {
  content:''; position:absolute; top:14px; left:14px; right:-14px; bottom:-14px;
  border:1px solid var(--border-strong); z-index:0;
}
.author-img {
  width:100%; display:block; border-radius:8px; position:relative; z-index:1;
  border:2px solid var(--border-strong);
  box-shadow:0 20px 60px rgba(0,49,83,0.2);
  object-fit:cover; object-position:center top;
}
.author-name {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:clamp(36px,3.8vw,50px); font-weight:300;
  color:var(--green-accent); line-height:1.1; margin-bottom:22px;
}
.author-bio-text { font-size:16px; line-height:1.9; color:var(--text-body); margin-bottom:16px; }
.author-tag {
  display:inline-block; border:1px solid var(--border-strong);
  padding:7px 16px; font-family:'Cinzel',serif; font-size:10px;
  letter-spacing:2px; color:var(--green-accent); text-transform:uppercase;
  margin:4px 4px 0 0; background:var(--white);
}

/* POEM CARDS */
#poems-section { background:var(--bg-alt); }
.poems-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px; }
.poem-card {
  border:1px solid var(--border); padding:34px 28px;
  background:var(--white); transition:all 0.3s; cursor:pointer; position:relative; overflow:hidden;
  border-top:3px solid transparent;
}
.poem-card:hover { border-top-color:var(--gold); box-shadow:0 8px 30px rgba(0,49,83,0.12); transform:translateY(-3px); }
.card-num { font-family:'Cinzel',serif; font-size:10px; letter-spacing:2px; color:var(--gold); margin-bottom:10px; }
.card-title { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; color:var(--text-dark); margin-bottom:12px; line-height:1.3; }
.card-excerpt { font-size:14px; line-height:1.8; color:var(--text-light); }

/* REVIEWS */
#reviews { background:var(--bg-section); }
.reviews-head { text-align:center; margin-bottom:52px; }
.reviews-head .eyebrow { justify-content:center; }
.reviews-head .eyebrow::after { display:none; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.review-card {
  background:var(--white); border:1px solid var(--border);
  padding:36px 30px; position:relative; transition:all 0.3s;
  border-top:3px solid var(--gold-bright);
}
.review-card:hover { box-shadow:0 10px 36px rgba(0,49,83,0.12); transform:translateY(-4px); }
.stars { color:var(--gold-bright); font-size:15px; letter-spacing:3px; margin-bottom:18px; }
.review-text {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:19px; line-height:1.7; color:var(--text-body); margin-bottom:20px;
}
.review-name { font-family:'Cinzel',serif; font-size:10px; letter-spacing:2px; color:var(--green-accent); text-transform:uppercase; }
.review-bee { position:absolute; bottom:14px; right:18px; color:var(--gold-bright); font-size:16px; opacity:0.5; }

/* BLOG */
#blog { background:var(--bg-alt); }
.blog-top { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.blog-card { border:1px solid var(--border); background:var(--white); transition:all 0.3s; overflow:hidden; }
.blog-card:hover { box-shadow:0 10px 36px rgba(0,49,83,0.12); transform:translateY(-4px); border-color:var(--border-strong); }
.blog-img {
  height:170px; display:flex; align-items:center; justify-content:center; font-size:38px;
  background:linear-gradient(135deg, #D4E8C8, #B8D4B0); position:relative; overflow:hidden;
}
.blog-img::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center, rgba(184,134,11,0.1) 0%, transparent 70%);
}
.blog-body { padding:24px 26px; }
.blog-date { font-family:'Cinzel',serif; font-size:10px; letter-spacing:2px; color:var(--gold); text-transform:uppercase; margin-bottom:10px; }
.blog-title { font-family:'Cormorant Garamond',serif; font-size:21px; color:var(--text-dark); margin-bottom:10px; line-height:1.4; font-weight:600; }
.blog-excerpt { font-size:14px; color:var(--text-light); line-height:1.75; margin-bottom:16px; }
.read-more {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:2px;
  color:var(--green-accent); text-decoration:none; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:8px; transition:gap 0.3s;
}
.read-more:hover { gap:14px; color:var(--gold); }


/* PRICING */
#pricing { background:var(--bg-section); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.price-card { border:1px solid var(--border-strong); background:var(--white); padding:32px 26px; transition:all 0.3s; }
.price-card:hover { box-shadow:0 12px 40px rgba(0,49,83,0.12); transform:translateY(-4px); }
.price-card h3 { font-family:'Cinzel',serif; font-size:17px; letter-spacing:1.5px; color:var(--bg-dark); text-transform:uppercase; margin-bottom:4px; }
.price-card .price-sub { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:14px; color:var(--text-light); margin-bottom:22px; }
.price-format { margin-bottom:22px; }
.price-format:last-child { margin-bottom:0; }
.price-format-label {
  font-family:'Cinzel',serif; font-size:10.5px; letter-spacing:2px; text-transform:uppercase;
  color:var(--green-accent); border-bottom:1px solid var(--border); padding-bottom:8px; margin-bottom:10px;
}
.price-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; font-size:14.5px; color:var(--bg-dark); gap:10px; }
.price-row .price-tier { color:var(--text-light); }
.price-row .price-amount { font-family:'Cinzel',serif; font-weight:600; color:var(--bg-dark2); white-space:nowrap; margin-left:auto; }
.price-row-buy {
  font-family:'Cinzel',serif; font-size:10px; letter-spacing:1px; text-transform:uppercase;
  color:var(--gold); background:none; border:1px solid var(--gold); border-radius:4px;
  padding:5px 10px; cursor:pointer; white-space:nowrap; transition:all 0.25s;
}
.price-row-buy:hover { background:var(--gold); color:var(--white); }
.price-row-buy:disabled { opacity:0.5; cursor:wait; }
.price-note { text-align:center; font-size:13.5px; color:var(--text-light); margin-top:36px; font-style:italic; }

/* DOG EASTER EGG */
#dog-egg {
  position:fixed; right:20px; bottom:20px; z-index:500;
  width:52px; height:52px; border-radius:50%;
  background:var(--bg-dark); border:2px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  font-size:22px; cursor:pointer; box-shadow:0 6px 20px rgba(0,49,83,0.35);
  transition:transform 0.3s;
}
#dog-egg:hover { transform:scale(1.1) rotate(-6deg); }
#dog-egg-card {
  position:fixed; right:20px; bottom:82px; z-index:500;
  width:200px; background:var(--white); border:2px solid var(--gold);
  box-shadow:0 12px 40px rgba(0,49,83,0.3);
  opacity:0; pointer-events:none; transform:translateY(12px) scale(0.96);
  transition:all 0.25s;
}
#dog-egg-card.show { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
#dog-egg-card img { width:100%; display:block; }
#dog-egg-card p {
  padding:12px 14px; font-size:12px; line-height:1.6; color:var(--bg-dark);
  font-family:'Cormorant Garamond',serif; font-style:italic;
}
@media (max-width:700px){
  #dog-egg{ width:44px; height:44px; font-size:18px; right:14px; bottom:14px; }
  #dog-egg-card{ width:160px; right:14px; bottom:66px; }
}

/* NEWSLETTER — dark band */
#newsletter {
  background:var(--bg-dark2); padding:80px 0;
  border-top:3px solid var(--gold); border-bottom:3px solid var(--gold);
}
.newsletter-inner { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.nl-heading { font-family:'Cinzel',serif; font-size:20px; letter-spacing:3px; color:var(--white); text-transform:uppercase; margin-bottom:10px; }
.nl-heading span { color:var(--gold-light); }
.nl-sub { font-size:15px; color:var(--gold-pale); }
.nl-form { display:flex; flex:1; max-width:480px; }
.nl-input {
  flex:1; background:rgba(253,250,244,0.1); border:1px solid rgba(232,184,48,0.4);
  border-right:none; padding:14px 20px; color:var(--white);
  font-family:'Open Sans',sans-serif; font-size:15px; outline:none;
}
.nl-input::placeholder { color:rgba(245,223,160,0.6); }
.nl-input:focus { border-color:var(--gold-bright); background:rgba(253,250,244,0.15); }
.nl-btn {
  background:var(--gold-bright); color:var(--bg-dark);
  border:none; padding:14px 28px; font-family:'Cinzel',serif;
  font-size:11px; letter-spacing:2px; text-transform:uppercase;
  font-weight:700; cursor:pointer; transition:background 0.3s;
}
.nl-btn:hover { background:var(--gold-light); }

/* FOOTER */
footer {
  background:var(--bg-section); padding:52px 0 28px;
  border-top:1px solid var(--border-strong);
}
.footer-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:36px; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:24px; color:var(--green-accent); }
.footer-nav { display:flex; gap:28px; list-style:none; }
.footer-nav a { font-family:'Cinzel',serif; font-size:10px; letter-spacing:2px; color:var(--text-light); text-decoration:none; text-transform:uppercase; transition:color 0.3s; }
.footer-nav a:hover { color:var(--gold); }
.footer-soc { display:flex; gap:10px; }
.footer-soc a {
  width:34px; height:34px; border:1px solid var(--border-strong);
  display:flex; align-items:center; justify-content:center;
  color:var(--gold); text-decoration:none; font-size:13px; transition:all 0.3s;
}
.footer-soc a:hover { background:var(--green-accent); color:var(--white); border-color:var(--green-accent); }
.footer-bottom {
  border-top:1px solid var(--border); padding-top:22px;
  display:flex; justify-content:space-between; align-items:center;
}
.footer-copy { font-size:12px; color:var(--text-light); }
.footer-legal { display:flex; gap:22px; }
.footer-legal a { font-size:12px; color:var(--text-light); text-decoration:none; transition:color 0.3s; }
.footer-legal a:hover { color:var(--gold); }

/* SCROLL REVEAL */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s, transform 0.7s; }
.reveal.visible { opacity:1; transform:none; }

/* SCROLL TOP */
.scroll-top {
  position:fixed; bottom:30px; right:30px; width:42px; height:42px;
  background:var(--bg-dark); border:1px solid var(--gold);
  color:var(--gold-light); display:flex; align-items:center; justify-content:center;
  text-decoration:none; font-size:18px; z-index:500;
  opacity:0; visibility:hidden; transition:all 0.3s;
}
.scroll-top.on { opacity:1; visibility:visible; }
.scroll-top:hover { background:var(--gold); color:var(--bg-dark); }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:none; }
}
@keyframes fadeLeft {
  from { opacity:0; transform:translateX(28px); }
  to   { opacity:1; transform:none; }
}

@media (max-width:860px){
  .hero-inner{ flex-direction:column; text-align:center; }
  .hero-books-row{ justify-content:center; }
}


/* ===== Luxury rounded corners ===== */
.nav-social a, .footer-soc a { border-radius:8px; }
.btn-primary, .btn-secondary { border-radius:6px; }
.quote-box { border-radius:0 10px 10px 0; }
.info-box { border-radius:8px; }
.stats-row { border-radius:8px; overflow:hidden; }
.review-card { border-radius:8px; }
.blog-card { border-radius:8px; }
.price-card { border-radius:10px; }
#dog-egg-card { border-radius:12px; overflow:hidden; }
.nl-input { border-radius:6px 0 0 6px; }
.nl-btn { border-radius:0 6px 6px 0; }
.price-buy-btn {
  display:block; text-align:center; margin-top:12px; padding:9px 14px;
  border:1px solid var(--border-strong); border-radius:6px;
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--bg-dark); text-decoration:none; transition:all 0.25s;
}
.price-buy-btn:hover { background:var(--bg-dark); color:var(--gold-pale); border-color:var(--bg-dark); }
.edition-switch {
  display:inline-flex; align-items:center; gap:6px;
  padding:8px 16px; border-radius:20px; border:1px solid var(--border-strong);
  font-family:'Cinzel',serif; font-size:9.5px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--gold); text-decoration:none; transition:all 0.3s; white-space:nowrap;
}
.edition-switch:hover { background:var(--gold); color:var(--white); border-color:var(--gold); }
@media (max-width:900px){ .edition-switch{ display:none; } }


/* ============ ADDITIONS FOR MULTI-PAGE SITE ============ */

/* Mobile nav toggle */
.nav-toggle { display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:6px; }
.nav-toggle span { width:24px; height:2px; background:var(--text-mid); display:block; }
@media (max-width:900px){
  .nav-links { position:fixed; top:64px; left:0; right:0; background:var(--white);
    flex-direction:column; gap:0; border-bottom:1px solid var(--border-strong);
    max-height:0; overflow:hidden; transition:max-height 0.35s ease; }
  .nav-links.open { max-height:420px; }
  .nav-links li { border-top:1px solid var(--border); }
  .nav-links a { display:block; padding:16px 24px; }
  .nav-toggle { display:flex; }
  .nav-social { display:none; }
}

/* Active nav link */
.nav-links a.active { color:var(--gold); }

/* Interior page hero / banner (no full-viewport image) */
.page-hero {
  padding:150px 24px 70px; text-align:center;
  background: linear-gradient(165deg, #E7EEF5 0%, #C7DAEA 30%, #9AB9D6 100%);
  position:relative;
}
.page-hero .eyebrow { justify-content:center; }
.page-hero h1 {
  font-family:'Cormorant Garamond',serif; font-weight:600; font-style:italic;
  font-size:clamp(36px,5vw,58px); color:var(--bg-dark); margin-top:6px;
}
.page-hero p.lead {
  max-width:640px; margin:18px auto 0; color:var(--text-mid); font-size:17px;
}
.breadcrumb { margin-top:18px; font-size:12px; letter-spacing:1px; }
.breadcrumb a { color:var(--text-mid); text-decoration:none; }
.breadcrumb a:hover { color:var(--gold); }

/* Book selection grid (books.html) */
.book-select-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:40px; margin-top:20px;
}
@media (max-width:760px){ .book-select-grid{ grid-template-columns:1fr; } }
.book-select-card {
  background:var(--white); border:1px solid var(--border-strong);
  padding:36px 30px; text-align:center; transition:all 0.3s; text-decoration:none; color:inherit; display:block;
}
.book-select-card:hover { box-shadow:0 16px 50px rgba(0,49,83,0.15); transform:translateY(-4px); }
.book-select-card img { width:170px; margin:0 auto 22px; display:block; box-shadow:0 14px 40px rgba(0,0,0,0.2); }
.book-select-card h3 { font-family:'Cinzel',serif; font-size:19px; letter-spacing:1px; color:var(--bg-dark); margin-bottom:8px; }
.book-select-card p { color:var(--text-light); font-size:14.5px; }
.book-select-card .btn-primary { margin-top:20px; display:inline-flex; }

/* Book detail hero (books/*.html) */
.book-hero-band { width:100%; }
.book-hero { display:flex; align-items:center; gap:56px; padding:150px 56px 70px; max-width:1280px; margin:0 auto; }
.book-hero img { width:260px; box-shadow:0 20px 60px rgba(0,49,83,0.25); flex-shrink:0; }
.book-hero-text { flex:1; }
@media (max-width:860px){ .book-hero{ flex-direction:column; padding:130px 24px 40px; text-align:center; } }

/* Blog post article */
.article-wrap { max-width:720px; margin:0 auto; padding:150px 24px 90px; }
.article-wrap h1 { font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600;
  font-size:clamp(30px,4.5vw,46px); color:var(--bg-dark); margin:10px 0 24px; }
.article-wrap .blog-date { margin-bottom:6px; }
.article-wrap p { margin-bottom:20px; color:var(--text-body); }
.article-wrap .back-link { display:inline-block; margin-top:30px; font-family:'Cinzel',serif; font-size:11px; letter-spacing:2px; color:var(--gold); text-decoration:none; }

/* Simple content section spacing helper */
.section-wrap.tight { padding-top:60px; padding-bottom:60px; }

/* Full poems index grid */
.poems-index-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:30px; }
@media (max-width:760px){ .poems-index-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .poems-index-grid{ grid-template-columns:1fr; } }

/* ============ ROUND 2 FIXES ============ */

/* Featured poem section — dark background (was missing, causing light gold/white
   text to sit on the light body background and become unreadable) */
.poem-feature-section { background:var(--bg-dark); }

/* Poem list — visually highlighted "chips" instead of plain italic text */
.poems-grid { gap:10px 16px; }
.poem-item {
  font-family:'Cormorant Garamond',serif; font-style:italic;
  font-size:15.5px; color:var(--text-body);
  padding:11px 16px; border:1px solid var(--border);
  border-left:3px solid var(--gold); background:var(--bg-section);
  border-radius:4px; display:flex; align-items:center; gap:10px;
  transition:all 0.25s;
}
.poem-item::before { content:'\25C6'; color:var(--gold); font-size:6px; flex-shrink:0; }
.poem-item:hover { color:var(--white); background:var(--green-accent); border-left-color:var(--gold-light); transform:translateX(3px); }

.poems-index-grid .poem-item { font-size:14.5px; padding:10px 14px; }

/* Book detail hero — theme-specific gradient backgrounds (previously plain/no
   background at all, making Vol.1 and Deluxe look identical and washed out) */
.book-hero-band.theme-green {
  background: linear-gradient(165deg, #EAF1E4 0%, #CBE0C2 20%, #9FC6A9 45%, #5E9C79 75%, #3D7A5A 100%);
}
.book-hero-band.theme-navy {
  background: linear-gradient(165deg, #E7EEF5 0%, #C7DAEA 20%, #9AB9D6 45%, #5C86AE 75%, #123A5C 100%);
}
.book-hero { padding-bottom:70px; }
.pricing-two-col { grid-template-columns:repeat(2,1fr); max-width:760px; margin:0 auto; }
@media (max-width:700px){ .pricing-two-col { grid-template-columns:1fr; max-width:380px; } }
.pricing-one-col { grid-template-columns:1fr; max-width:380px; margin:0 auto; }

/* Home hero — warm golden-yellow gradient, tying to the logo */
#hero, .page-hero {
  background: linear-gradient(165deg, #FFFBEA 0%, #FFF3B0 20%, #FFE066 45%, #F2C230 75%, #C9941A 100%);
}

/* Author image — fixed height so a tall portrait photo can never blow up the
   layout or push/hide the bio text next to it */
.author-img { height:460px; }
@media (max-width:900px){ .author-img { height:380px; } }
@media (max-width:480px){ .author-img { height:320px; } }

/* ---- Missing mobile breakpoints (these grids never collapsed to 1 column,
   which on a phone squeezes or overlaps content) ---- */
@media (max-width:900px){
  .about-grid, .author-grid { grid-template-columns:1fr; gap:32px; }
  .author-img-wrap { max-width:340px; margin:0 auto; }
  .reviews-grid, .blog-grid, .pricing-grid { grid-template-columns:1fr; }
  .poems-cards-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { flex-direction:column; gap:22px; text-align:center; }
  .footer-nav { flex-wrap:wrap; justify-content:center; gap:12px 20px; }
  .footer-bottom { flex-direction:column; gap:10px; text-align:center; }
  .newsletter-inner { flex-direction:column; text-align:center; gap:24px; }
  .nl-form { max-width:100%; width:100%; }
  .blog-top { flex-direction:column; align-items:flex-start; gap:16px; }
}
@media (max-width:600px){
  .poems-cards-grid, .poems-index-grid { grid-template-columns:1fr; }
  .container { padding:0 20px; }
  .hero-inner { padding:110px 20px 50px; }
  .page-hero { padding:130px 20px 50px; }
  .hero-books-row { flex-wrap:wrap; gap:20px; }
  .hero-books-row .book-3d-img { width:130px !important; }
}

/* ============ WALKING GUIDE ============ */
#guide-layer{
  position:fixed; left:0; bottom:0; width:100%; height:170px;
  pointer-events:none; z-index:400;
  opacity:0.3; transition:opacity 0.45s ease;
}
#guide-layer.active{ opacity:1; }
#guide{
  position:absolute; bottom:8px; left:0; width:96px; height:150px;
  transform:translateX(0); will-change:transform;
}
#guide svg{ width:100%; height:100%; overflow:visible; }
.leg{ transform-origin:50% 0%; }
#guide.walking .leg-l{ animation:walkL .55s ease-in-out infinite; }
#guide.walking .leg-r{ animation:walkR .55s ease-in-out infinite; }
#guide.walking .arm-l{ animation:armL .55s ease-in-out infinite; }
#guide.walking .arm-r{ animation:armR .55s ease-in-out infinite; }
#guide.walking #guide-body{ animation:bob .55s ease-in-out infinite; }
@keyframes walkL{ 0%,100%{transform:rotate(22deg);} 50%{transform:rotate(-22deg);} }
@keyframes walkR{ 0%,100%{transform:rotate(-22deg);} 50%{transform:rotate(22deg);} }
@keyframes armL{ 0%,100%{transform:rotate(-16deg);} 50%{transform:rotate(16deg);} }
@keyframes armR{ 0%,100%{transform:rotate(16deg);} 50%{transform:rotate(-16deg);} }
@keyframes bob{ 0%,100%{transform:translateY(0);} 50%{transform:translateY(-3px);} }

.guide-bubble{
  position:absolute; left:108px; bottom:78px; width:220px; max-width:60vw;
  background:var(--bg-main); color:var(--bg-dark); border:2px solid var(--bg-dark);
  border-radius:14px; padding:10px 14px; font-family:'Cormorant Garamond',serif;
  font-size:0.85rem; line-height:1.5; font-weight:500;
  opacity:0; transform:translateY(8px) scale(0.96); transition:opacity .35s ease, transform .35s ease;
  box-shadow:0 10px 24px -8px rgba(0,0,0,0.35);
}
.guide-bubble::after{
  content:''; position:absolute; left:-9px; bottom:18px; width:0;height:0;
  border-top:7px solid transparent; border-bottom:7px solid transparent; border-right:9px solid var(--bg-dark);
}
.guide-bubble::before{
  content:''; position:absolute; left:-7px; bottom:18px; width:0;height:0; z-index:1;
  border-top:6px solid transparent; border-bottom:6px solid transparent; border-right:8px solid var(--bg-main);
}
.guide-bubble.show{ opacity:1; transform:translateY(0) scale(1); }

@media (max-width:700px){
  #guide{ width:70px; height:110px; }
  .guide-bubble{ left:80px; bottom:58px; width:170px; max-width:55vw; font-size:0.78rem; }
}
@media (prefers-reduced-motion: reduce){
  #guide-layer{ display:none; }
}

/* ============ WOOCOMMERCE STYLING (blend native cart/checkout with theme) ============ */
.wc-buy-box .product_title,
.wc-buy-box .woocommerce-product-details__short-description { display:none; }
.wc-buy-box .price {
  font-family:'Cinzel',serif; font-weight:600; font-size:22px; color:var(--bg-dark2);
  display:block; margin-bottom:18px;
}
.wc-buy-box table.variations { width:100%; margin-bottom:16px; }
.wc-buy-box table.variations tr { display:block; margin-bottom:14px; }
.wc-buy-box table.variations label {
  font-family:'Cinzel',serif; font-size:11px; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--text-light); display:block; margin-bottom:6px;
}
.wc-buy-box table.variations select {
  width:100%; padding:10px 12px; border:1px solid var(--border-strong); border-radius:5px;
  font-family:'Open Sans',sans-serif; font-size:14px; background:var(--white); color:var(--text-body);
}
.wc-buy-box .reset_variations { display:block; margin-top:6px; font-size:12px; color:var(--text-light); }
.wc-buy-box .woocommerce-variation-price { margin-bottom:16px; }
.wc-buy-box .woocommerce-variation-price .price {
  font-size:26px; margin-bottom:0;
}
.wc-buy-box .quantity { display:inline-block; margin-right:12px; }
.wc-buy-box .quantity .qty {
  width:64px; padding:10px; border:1px solid var(--border-strong); border-radius:5px; text-align:center; font-size:14px;
}
.wc-buy-box .single_add_to_cart_button,
.wc-buy-box button.button {
  font-family:'Cinzel',serif; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  background:var(--bg-dark); color:var(--gold-pale); border:none; border-radius:6px;
  padding:14px 28px; cursor:pointer; transition:all 0.3s; width:100%; margin-top:8px;
}
.wc-buy-box .single_add_to_cart_button:hover { background:var(--green-accent); }
.wc-buy-box .woocommerce-variation-add-to-cart { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.wc-buy-box .stock { font-size:13px; color:var(--text-light); margin-top:8px; }

/* WooCommerce notices (out of stock, added to cart, errors) */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  max-width:900px; margin:100px auto 0; padding:14px 20px; border-radius:6px;
  background:var(--bg-section); border:1px solid var(--border-strong); list-style:none;
  font-family:'Open Sans',sans-serif; font-size:14px; color:var(--text-body);
}

/* Cart & Checkout pages: keep WooCommerce's default layout but themed */
.woocommerce-cart table.shop_table, .woocommerce-checkout table.shop_table {
  width:100%; border-collapse:collapse; margin:20px 0;
}
.woocommerce-cart table.shop_table th, .woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th, .woocommerce-checkout table.shop_table td {
  padding:12px; border-bottom:1px solid var(--border);
}
.woocommerce-cart .button, .woocommerce-checkout .button,
#place_order {
  font-family:'Cinzel',serif; font-size:12px; letter-spacing:2px; text-transform:uppercase;
  background:var(--bg-dark) !important; color:var(--gold-pale) !important; border:none !important;
  border-radius:6px !important; padding:14px 28px !important;
}
.woocommerce-cart .button:hover, .woocommerce-checkout .button:hover, #place_order:hover {
  background:var(--green-accent) !important;
}

/* ---------------- Pricing Cards (WooCommerce book purchase) ---------------- */
.price-cards-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  max-width:820px; margin:0 auto;
}
@media (max-width:700px){ .price-cards-grid { grid-template-columns:1fr; } }
.price-card {
  background:var(--white); border:1px solid var(--border-strong);
  border-radius:10px; padding:32px 28px;
}
.price-card-title {
  font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600;
  font-size:26px; color:var(--bg-dark); margin-bottom:18px;
  border-bottom:1px solid var(--border); padding-bottom:14px;
}
.price-row {
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 0; border-bottom:1px dashed var(--border); cursor:pointer;
}
.price-row:last-of-type { border-bottom:none; }
.price-row input[type=radio] { accent-color:var(--gold); margin-right:10px; flex:0 0 auto; }
.price-row-label { flex:1; font-size:15px; color:var(--text-body); }
.price-row-amount { font-weight:600; color:var(--bg-dark); font-size:15px; }
.price-card-btn { width:100%; text-align:center; justify-content:center; margin-top:22px; display:flex; }

/* ---------------- Nav Cart Icon ---------------- */
.nav-cart-link { position:relative; display:inline-flex; align-items:center; color:var(--bg-dark); text-decoration:none; }
.nav-cart-count {
  position:absolute; top:-8px; right:-10px; background:var(--gold);
  color:var(--white); font-size:10px; font-weight:700; line-height:1;
  min-width:16px; height:16px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
}

/* ---------------- WooCommerce notices (added to cart, errors) ---------------- */
.woocommerce-notices-wrapper { max-width:820px; margin:0 auto 20px; padding:0 20px; }
.woocommerce-message, .woocommerce-error, .woocommerce-info {
  list-style:none; background:var(--white); border:1px solid var(--border-strong);
  border-left:4px solid var(--gold); border-radius:6px; padding:14px 18px;
  margin:0 0 16px; color:var(--text-body); font-size:15px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.woocommerce-error { border-left-color:#B23A3A; }
.woocommerce-message::before, .woocommerce-error::before, .woocommerce-info::before { display:none !important; }
.woocommerce-message a.button, .woocommerce-message .button {
  background:var(--bg-dark); color:var(--white); padding:6px 14px; border-radius:5px;
  text-decoration:none; font-size:13px; font-weight:600;
}

/* =====================================================================
   WooCommerce: Cart / Checkout / Order-Received page styling
   These pages use WooCommerce's own default markup+classes, so we
   restyle them here to match the rest of the site.
   ===================================================================== */
.woocommerce, .woocommerce-page {
  font-family:'Open Sans', sans-serif;
  color:var(--text-body);
}

/* Headings inside these areas */
.woocommerce h2, .woocommerce-page h2 {
  font-family:'Cormorant Garamond',serif; font-style:italic; font-weight:600;
  font-size:28px; color:var(--bg-dark); margin:32px 0 16px;
}
.woocommerce h3, .woocommerce-page h3 {
  font-family:'Cormorant Garamond',serif; font-weight:600;
  font-size:20px; color:var(--bg-dark); margin:20px 0 10px;
}

/* ---- Cart table ---- */
.woocommerce table.shop_table, .woocommerce-page table.shop_table {
  width:100%; border-collapse:collapse; margin:20px 0 24px;
  background:var(--white); border:1px solid var(--border-strong); border-radius:8px; overflow:hidden;
}
.woocommerce table.shop_table th {
  background:var(--bg-alt); text-align:left; padding:14px 16px;
  font-family:'Cinzel',serif; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:var(--bg-dark);
}
.woocommerce table.shop_table td {
  padding:16px; border-top:1px solid var(--border); vertical-align:middle;
}
.woocommerce table.shop_table td.product-name a { color:var(--bg-dark); font-weight:600; text-decoration:none; }
.woocommerce table.shop_table td.product-name a:hover { color:var(--gold); }
.woocommerce table.shop_table img { border-radius:4px; }
.woocommerce .quantity .qty {
  width:60px; padding:8px; border:1px solid var(--border-strong); border-radius:5px;
  font-family:inherit; text-align:center;
}
.woocommerce a.remove {
  color:#B23A3A !important; font-size:18px; border:none !important; background:none !important;
}

/* ---- Cart totals / coupon box ---- */
.woocommerce-cart-form, .cart-collaterals, .woocommerce-checkout-review-order {
  margin-top:10px;
}
.cart_totals, .woocommerce-checkout-review-order-table {
  background:var(--white); border:1px solid var(--border-strong); border-radius:8px;
  padding:20px 24px; margin-top:20px;
}
.cart_totals table, .woocommerce-checkout-review-order-table { border:none; }
.cart_totals table td, .cart_totals table th,
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th {
  padding:10px 0; border-top:1px dashed var(--border); font-size:15px;
}
.cart_totals .order-total td, .cart_totals .order-total th,
.woocommerce-checkout-review-order-table .order-total td, .woocommerce-checkout-review-order-table .order-total th {
  font-size:18px; font-weight:700; color:var(--bg-dark);
}
.woocommerce-shipping-calculator .shipping-calculator-button { color:var(--gold); font-weight:600; }

/* ---- Coupon form ---- */
.woocommerce-form-coupon, .cart-discount {
  background:var(--white); border:1px solid var(--border-strong); border-radius:8px; padding:16px;
}
.woocommerce-form-coupon .form-row input.input-text {
  padding:10px 12px; border:1px solid var(--border-strong); border-radius:5px; font-family:inherit;
}

/* ---- Buttons (cart/checkout/place order) ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #place_order, .woocommerce-page a.button, .woocommerce-page button.button {
  background:var(--bg-dark); color:var(--white) !important; border:none;
  padding:13px 26px; border-radius:6px; font-family:'Cinzel',serif;
  font-size:13px; letter-spacing:0.06em; text-transform:uppercase; font-weight:600;
  cursor:pointer; transition:background 0.2s ease; text-decoration:none; display:inline-block;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce #place_order:hover {
  background:var(--green-accent);
}
.woocommerce a.button.alt, .woocommerce #place_order {
  background:var(--gold);
}
.woocommerce a.button.alt:hover, .woocommerce #place_order:hover {
  background:var(--gold-light);
}

/* ---- Checkout form fields ---- */
.woocommerce-checkout .form-row label {
  font-size:13px; color:var(--text-mid); margin-bottom:6px; display:block; font-weight:600;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout select,
.select2-container .select2-selection--single {
  width:100%; padding:11px 14px; border:1px solid var(--border-strong) !important;
  border-radius:6px; font-family:inherit; font-size:15px; background:var(--white);
}
.woocommerce-billing-fields, .woocommerce-additional-fields {
  background:var(--white); border:1px solid var(--border-strong); border-radius:8px; padding:24px; margin-bottom:20px;
}
.woocommerce-checkout #payment {
  background:var(--bg-alt); border-radius:8px; padding:20px; margin-top:20px;
}
.woocommerce-checkout #payment ul.payment_methods { list-style:none; }
.woocommerce-checkout #payment .payment_box {
  background:var(--white); border-radius:6px; padding:14px; margin-top:10px; font-size:14px;
}

/* ---- Notices (already styled above, extend for checkout errors) ---- */
.woocommerce-checkout .woocommerce-NoticeGroup { max-width:100%; margin-bottom:20px; }

/* ---- Order received / thank you page ---- */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-family:'Cormorant Garamond',serif; font-style:italic; font-size:22px; color:var(--bg-dark);
  background:var(--bg-alt); border-left:4px solid var(--gold); padding:16px 20px; border-radius:6px; margin-bottom:24px;
}
.woocommerce-order-overview {
  list-style:none; display:flex; flex-wrap:wrap; gap:24px;
  background:var(--white); border:1px solid var(--border-strong); border-radius:8px;
  padding:20px 24px; margin-bottom:24px;
}
.woocommerce-order-overview li { font-size:14px; }
.woocommerce-order-overview li strong { display:block; color:var(--bg-dark); font-size:15px; margin-top:2px; }
address {
  font-style:normal; background:var(--white); border:1px solid var(--border-strong);
  border-radius:8px; padding:18px 20px; line-height:1.6;
}

@media (max-width:700px) {
  .woocommerce table.shop_table thead { display:none; }
  .woocommerce table.shop_table tr { display:block; border-top:1px solid var(--border); padding:12px 0; }
  .woocommerce table.shop_table td { display:block; border:none; padding:4px 0; }
}

/* =====================================================================
   WooCommerce BLOCKS (new Cart & Checkout blocks) styling
   The block-based Cart/Checkout use different markup than classic
   WooCommerce, so they need their own overrides.
   ===================================================================== */
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout,
.wc-block-cart, .wc-block-checkout {
  font-family:'Open Sans', sans-serif;
  color:var(--text-body);
}

/* Step / section titles */
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-order-summary__button-text {
  font-family:'Cormorant Garamond',serif !important;
  font-style:italic; font-weight:600 !important;
  color:var(--bg-dark) !important;
}

/* Cart/Checkout panels (Contact info, Billing, Order summary, etc.) */
.wc-block-components-checkout-step,
.wc-block-components-panel,
.wc-block-cart-items,
.wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar,
.wc-block-components-order-summary {
  background:var(--white);
  border:1px solid var(--border-strong) !important;
  border-radius:8px;
  padding:18px 20px !important;
  margin-bottom:18px !important;
}
.wc-block-components-checkout-step__container { padding:0 !important; }

/* Cart items */
.wc-block-cart-item .wc-block-components-product-name,
.wc-block-cart-item a { color:var(--bg-dark) !important; font-weight:600; text-decoration:none; }
.wc-block-cart-item__prices, .wc-block-components-formatted-money-amount { color:var(--text-body); }

/* Inputs (text, select, textarea) */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-address-form select,
.wc-block-checkout__contact-fields .wc-block-components-text-input input {
  border:1px solid var(--border-strong) !important;
  border-radius:6px !important;
  font-family:inherit !important;
}
.wc-block-components-text-input label { font-size:13px; color:var(--text-mid); }

/* Radios (shipping / payment options) */
.wc-block-components-radio-control__option {
  border:1px solid var(--border-strong) !important;
  border-radius:6px !important; padding:12px !important; margin-bottom:8px !important;
}
.wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__label-group,
.wc-block-components-radio-control__option.wc-block-components-radio-control__option-checked {
  border-color:var(--gold) !important;
}

/* Buttons (Proceed to Checkout / Place Order / Update) */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button:not(.is-link),
.wp-element-button.wc-block-components-button {
  background:var(--bg-dark) !important; color:var(--white) !important;
  border:none !important; border-radius:6px !important;
  font-family:'Cinzel',serif !important; font-size:13px !important;
  letter-spacing:0.06em; text-transform:uppercase; font-weight:600 !important;
  padding:13px 22px !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button:not(.is-link):hover {
  background:var(--green-accent) !important;
}
.wc-block-components-checkout-place-order-button {
  background:var(--gold) !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background:var(--gold-light) !important;
}

/* Totals rows */
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value { font-size:15px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size:18px; font-weight:700; color:var(--bg-dark);
}

/* Links (Edit, coupon toggle, etc.) */
.wc-block-cart .wc-block-components-link, 
.wc-block-checkout .wc-block-components-link,
.wc-block-components-totals-coupon-link {
  color:var(--gold) !important;
}

/* Coupon panel */
.wc-block-components-totals-coupon .wc-block-components-text-input input {
  border:1px solid var(--border-strong) !important; border-radius:6px !important;
}
.wc-block-components-totals-wrapper:empty,
.wc-block-components-totals-item:empty,
.wc-block-components-totals-fees:empty,
.wc-block-components-totals-taxes:empty {
    display: none !important;
}
.wc-block-components-radio-control__option {
    padding-left: 40px !important;
}
.wc-block-components-radio-control__input {
    left: 12px !important;
}