/* === Shadow To Power — Additional CSS v6 === */

/* ── HEADER: off-white bg, cherry text ── */
.stp-brand-crown { background: #F2EDE8 !important; }
.stp-brand-crown *, .stp-brand-crown-text a,
.stp-brand-crown-text a:visited { color: #8B0000 !important; }

/* ── HERO: off-white ── */
.stp-hero { background: #F2EDE8 !important; }
.stp-hero-caption-box { background: #8B0000 !important; border: 1px solid #6D0000 !important; }
.stp-hero-caption-box, .stp-hero-caption-box *, .stp-hero-caption-box p, .stp-hero-caption-box span { color: #F2EDE8 !important; }
.stp-hero-caption { font-family: "DM Serif Display", serif !important; font-size: 2rem !important; font-weight: 400 !important; color: #F2EDE8 !important; }
.stp-hero-teaser-label { color: #8B0000 !important; }
.stp-hero-teaser-quote { color: #8B0000 !important; }
.stp-hero-bio-text, .stp-hero-bio-text p { color: #8B0000 !important; }
.stp-hero-divider, .wp-block-separator.stp-hero-divider { background: #8B0000 !important; }
.stp-hero-teaser-btn .wp-block-button__link, .stp-hero-teaser-btn .wp-block-button__link:visited { background: transparent !important; color: #8B0000 !important; border: 1.5px solid #8B0000 !important; }
.stp-hero-scroll-hint { display: none !important; }

/* ── OFFER SECTION 1: dark cherry outer, white inner ── */
.stp-os1 { background: #6D0000 !important; width: 100% !important; overflow: hidden !important; box-sizing: border-box !important; padding: 4rem 2rem !important; }
.stp-os-inner { max-width: 860px !important; width: 90% !important; margin: 0 auto !important; overflow: hidden !important; box-sizing: border-box !important; }
.stp-os1-box { background: #FFFFFF !important; padding: 3rem !important; overflow: hidden !important; box-sizing: border-box !important; border-radius: 0 !important; }
.stp-os1-box, .stp-os1-box *, .stp-os1-box p, .stp-os1-box h2, .stp-os1-box li, .stp-os1-box span, .stp-os1-box strong { color: #8B0000 !important; }
.stp-os1-box .stp-os-label, .stp-os1-box .stp-os-section-header { color: #6D0000 !important; }
.stp-os1-box .stp-os-availability { color: #8B0000 !important; }
.stp-os1-box .stp-os-price { color: #8B0000 !important; font-weight: 700 !important; }
.stp-os1 .wp-block-buttons { display: flex !important; justify-content: center !important; margin-top: 2rem !important; }
.stp-os1-btn .wp-block-button__link, .stp-os1-btn .wp-block-button__link:visited { background: #FFFFFF !important; color: #8B0000 !important; border: 2px solid #8B0000 !important; border-radius: 0 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; padding: 1.2rem 3rem !important; min-width: 260px !important; font-family: Questrial, sans-serif !important; font-size: 0.9rem !important; display: block !important; text-align: center !important; box-shadow: 0 0 20px rgba(255,255,255,0.5), 0 0 50px rgba(255,255,255,0.25) !important; }
.stp-os1-btn .wp-block-button__link:hover { background: #8B0000 !important; color: #FFFFFF !important; border-color: #8B0000 !important; }

/* ── OFFER SECTION 2: white outer, dark cherry inner ── */
.stp-os2 { background: #FFFFFF !important; width: 100% !important; overflow: hidden !important; box-sizing: border-box !important; padding: 4rem 2rem !important; }
.stp-os2-box { background: #6D0000 !important; padding: 3rem !important; overflow: hidden !important; box-sizing: border-box !important; border-radius: 0 !important; }
.stp-os2-box, .stp-os2-box *, .stp-os2-box p, .stp-os2-box h2, .stp-os2-box li, .stp-os2-box span, .stp-os2-box strong { color: #FFFFFF !important; }
.stp-os2-box .stp-os-label, .stp-os2-box .stp-os-section-header { color: #D4C5B0 !important; }
.stp-os2-box .stp-os-price { color: #FFFFFF !important; font-weight: 700 !important; }
.stp-os2-box .stp-os-closing { color: #D4C5B0 !important; }
.stp-os2 .wp-block-buttons { display: flex !important; justify-content: center !important; margin-top: 2rem !important; }
.stp-os2-btn .wp-block-button__link, .stp-os2-btn .wp-block-button__link:visited { background: #8B0000 !important; color: #FFFFFF !important; border: none !important; border-radius: 0 !important; text-transform: uppercase !important; letter-spacing: 0.15em !important; padding: 1.2rem 3rem !important; min-width: 220px !important; font-family: Questrial, sans-serif !important; font-size: 0.9rem !important; display: block !important; text-align: center !important; box-shadow: 0 0 12px rgba(139,0,0,0.6), 0 0 30px rgba(139,0,0,0.3) !important; }
.stp-os2-btn .wp-block-button__link:hover { background: #6D0000 !important; color: #FFFFFF !important; }

/* Global overflow guard */
.stp-os1 *, .stp-os2 * { max-width: 100% !important; box-sizing: border-box !important; word-wrap: break-word !important; overflow-wrap: break-word !important; }

/* ── MOBILE (max-width 767px) ── */
@media (max-width: 767px) {
  .stp-brand-crown { background: #F2EDE8 !important; font-size: 0.8rem !important; padding: 0.8rem 1rem !important; }
  .stp-brand-crown * { color: #8B0000 !important; }
  .stp-hero { background: #F2EDE8 !important; padding-top: 3rem !important; padding-bottom: 3rem !important; min-height: 100svh !important; }
  .stp-hero-caption-box { background: #8B0000 !important; border: 1px solid #6D0000 !important; width: 85% !important; padding: 1.5rem 1.2rem !important; margin: 0 auto 1.5rem auto !important; }
  .stp-hero-caption { color: #F2EDE8 !important; font-size: 1.3rem !important; font-family: "DM Serif Display", serif !important; font-weight: 400 !important; }
  .stp-hero-teaser-label { color: #8B0000 !important; }
  .stp-hero-teaser-quote { color: #8B0000 !important; padding: 0 1.5rem !important; }
  .stp-hero-bio, .stp-hero-bio-text, .stp-hero-bio-text p { color: #8B0000 !important; font-size: 0.88rem !important; padding-left: 1.5rem !important; padding-right: 1.5rem !important; width: 100% !important; max-width: none !important; }
  .stp-os1 { padding: 2rem 1rem !important; }
  .stp-os2 { padding: 2rem 1rem !important; }
  .stp-os-inner { width: 90% !important; }
  .stp-os1-box, .stp-os2-box { padding: 1.5rem !important; }
  .stp-os-headline { font-size: 1.6rem !important; }
  .stp-os1-btn .wp-block-button__link, .stp-os1-btn .wp-block-button__link:visited,
  .stp-os2-btn .wp-block-button__link, .stp-os2-btn .wp-block-button__link:visited { min-width: unset !important; width: 85% !important; max-width: 320px !important; padding: 1rem 1.5rem !important; }
}

/* ── WIS section gap ── */
.stp-wis-lead-into-cards { margin-bottom: 0.3rem !important; padding-bottom: 0 !important; }
.stp-wis-body { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.stp-wis-bridge { margin-top: 0.75rem !important; margin-bottom: 0.75rem !important; }
.stp-wis-cards .stp-wis-card:first-child { margin-top: 0.3rem !important; }

/* === Instagram grid fix === */
.stp-reels-row { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 1rem !important; width: 100% !important; overflow: hidden !important; box-sizing: border-box !important; }
.stp-reel-box { aspect-ratio: 1 / 1 !important; overflow: hidden !important; width: 100% !important; max-width: 300px !important; position: relative !important; box-sizing: border-box !important; }
.stp-reel-box .instagram-media, .stp-reel-box blockquote.instagram-media { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; min-width: 0 !important; max-width: 100% !important; margin: 0 !important; border: none !important; overflow: hidden !important; }
.stp-reel-box iframe { width: 100% !important; height: 100% !important; position: absolute !important; top: 0 !important; left: 0 !important; border: none !important; }
@media (max-width: 767px) {
  .stp-reels-row { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; gap: 0.5rem !important; width: 100% !important; max-width: 100% !important; overflow: hidden !important; box-sizing: border-box !important; }
  .stp-reel-box { aspect-ratio: 1 / 1 !important; overflow: hidden !important; width: 100% !important; max-width: 100% !important; box-sizing: border-box !important; }
}