/* ============================================================
   SCARE CAPTURE — WordPress/Elementor skin
   Styling rides on .sc-* classes attached to NATIVE Elementor
   widgets, so all text/images stay editable in the editor.
   ============================================================ */

:root{
  --void:#0a0807; --pitch:#050403; --panel:#141110; --panel-2:#1c1815; --panel-3:#241d19;
  --blood:#b0060f; --blood-2:#d51622; --blood-deep:#6c0206; --ember:#ff3b2f; --stamp:#c8102e;
  --bone:#ece6da; --ash:#9d9286; --ash-dim:#6c635b;
  --line:rgba(236,230,218,.10); --line-2:rgba(236,230,218,.18);
  --disp:'Creepster', system-ui, cursive;
  --cond:'Oswald','Arial Narrow',sans-serif;
  --body:'Barlow', system-ui, sans-serif;
}

/* page ground + grain/vignette (Canvas template) */
body.elementor-page, body.elementor-template-canvas{
  background:var(--void); color:var(--bone); font-family:var(--body); margin:0;
}
body.elementor-template-canvas::before{
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 0%, transparent 55%, rgba(0,0,0,.5) 100%),
             radial-gradient(120% 120% at 50% 120%, transparent 45%, rgba(0,0,0,.65) 100%);
  mix-blend-mode:multiply;
}
body.elementor-template-canvas::after{
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.sc-page .elementor-section{position:relative; z-index:2}

/* typography helpers on native widgets */
.sc-eyebrow .elementor-heading-title,.sc-eyebrow{
  font-family:var(--cond)!important; text-transform:uppercase; letter-spacing:.38em;
  font-weight:500; font-size:.72rem!important; color:var(--blood-2)!important; margin:0;
}
.sc-h2 .elementor-heading-title{
  font-family:var(--cond)!important; font-weight:600!important; text-transform:uppercase;
  color:var(--bone)!important; line-height:1.02!important; font-size:clamp(1.8rem,4vw,2.9rem)!important; margin:0;
}
.sc-text p,.sc-text{color:var(--ash); font-family:var(--body); line-height:1.6}

/* ---------- nav ---------- */
.sc-nav{background:linear-gradient(180deg,rgba(5,4,3,.96),rgba(5,4,3,.7)); border-bottom:1px solid var(--line)}
.sc-brand .elementor-heading-title{
  font-family:var(--disp)!important; font-size:1.9rem!important; color:var(--bone)!important; line-height:1!important; margin:0;
}
.sc-brand .elementor-heading-title b,.sc-brand-red .elementor-heading-title{color:var(--blood-2)!important; font-weight:400!important}
.sc-navlink .elementor-button,.sc-navlink a{
  background:transparent!important; color:var(--ash)!important; font-family:var(--cond)!important;
  text-transform:uppercase; letter-spacing:.18em; font-size:.78rem!important; font-weight:500!important;
  padding:.4em .2em!important; border:0!important; box-shadow:none!important;
}
.sc-navlink .elementor-button:hover,.sc-navlink a:hover{color:var(--bone)!important}

/* ---------- buttons ---------- */
.sc-btn .elementor-button{
  font-family:var(--cond)!important; text-transform:uppercase; letter-spacing:.16em; font-weight:600!important;
  font-size:.86rem!important; padding:.95em 1.6em!important; border-radius:2px!important;
  background:var(--panel-2)!important; color:var(--bone)!important; border:1px solid var(--line-2)!important;
  transition:transform .12s ease, box-shadow .2s ease;
}
.sc-btn .elementor-button:hover{transform:translateY(-2px)}
.sc-btn-blood .elementor-button{
  background:linear-gradient(180deg,var(--blood-2),var(--blood-deep))!important; border:1px solid var(--blood-2)!important;
  color:#fff!important; box-shadow:0 10px 30px -8px rgba(176,6,15,.6), inset 0 1px 0 rgba(255,255,255,.15)!important;
  font-family:var(--cond)!important; text-transform:uppercase!important; letter-spacing:.16em!important; font-weight:600!important;
}
.sc-btn-blood .elementor-button:hover{box-shadow:0 16px 40px -8px rgba(213,22,34,.75)!important}

/* ---------- hero ---------- */
.sc-hero{min-height:92vh; display:flex; align-items:center; overflow:hidden}
.sc-hero .elementor-background-video-container{filter:saturate(1.05) contrast(1.05) brightness(.62)}
.sc-hero::before{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(90% 70% at 22% 40%, rgba(108,2,6,.55), transparent 60%),
            linear-gradient(180deg, rgba(5,4,3,.5) 0%, rgba(5,4,3,.2) 40%, rgba(5,4,3,.92) 100%)}
.sc-hero .elementor-container{position:relative; z-index:3}
.sc-hero-title .elementor-heading-title{
  font-family:var(--disp)!important; font-weight:400!important; text-transform:none!important;
  font-size:clamp(3.2rem,8.5vw,6.6rem)!important; line-height:.92!important; color:var(--bone)!important;
  text-shadow:0 0 40px rgba(176,6,15,.35), 0 6px 0 rgba(0,0,0,.5); margin:0;
}
.sc-hero-title em,.sc-hero-red .elementor-heading-title{color:var(--blood-2)!important; font-style:normal}
.sc-hero-sub p,.sc-hero-sub{color:#d8cfc2!important; font-size:1.15rem!important; max-width:40ch; margin:1rem 0 0!important}

/* drip under a heading */
.sc-drip{position:relative}
.sc-drip::after{content:""; position:absolute; left:0; right:auto; width:min(56%,380px); top:100%; height:20px; pointer-events:none;
  background:
   radial-gradient(6px 14px at 12% 0, var(--blood) 60%, transparent 62%),
   radial-gradient(4px 20px at 34% 0, var(--blood) 60%, transparent 62%),
   radial-gradient(5px 10px at 56% 0, var(--blood) 60%, transparent 62%),
   radial-gradient(3px 24px at 74% 0, var(--blood) 60%, transparent 62%),
   radial-gradient(5px 15px at 90% 0, var(--blood) 60%, transparent 62%); opacity:.9}

/* finder card (ticket-stub) */
.sc-finder{background:linear-gradient(180deg,rgba(20,16,15,.94),rgba(10,8,7,.94))!important;
  border:1px solid var(--line-2)!important; border-radius:6px!important;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.85); max-width:560px}
.sc-finder-h .elementor-heading-title{font-family:var(--cond)!important; text-transform:uppercase;
  letter-spacing:.16em; font-size:1rem!important; color:var(--bone)!important; margin:0}

/* ---------- steps ---------- */
.sc-step{background:var(--panel-2)!important; border:1px solid var(--line)!important; border-radius:4px;
  padding:34px 30px!important; height:100%}
.sc-step > .elementor-widget-wrap,.sc-step > .elementor-element-populated{background:transparent!important}
.sc-n .elementor-heading-title{font-family:var(--disp)!important; font-size:3.4rem!important; color:var(--blood)!important;
  line-height:.8!important; text-shadow:0 0 26px rgba(176,6,15,.4); margin:0 0 .15em}
.sc-step-h .elementor-heading-title{font-family:var(--cond)!important; text-transform:uppercase; letter-spacing:.06em;
  font-size:1.2rem!important; color:var(--bone)!important; margin:0 0 .35em}

/* ---------- gallery / strip (styling on the WIDGET class, which renders) ---------- */
.sc-thumb img{height:150px!important; width:100%!important; object-fit:cover; border-radius:4px;
  border:1px solid var(--line); transition:transform .18s, box-shadow .2s, border-color .2s}
.sc-thumb:hover img{transform:translateY(-4px); border-color:var(--blood-2); box-shadow:0 20px 44px -18px rgba(176,6,15,.5)}
.sc-grid img{border-radius:4px; border:1px solid var(--line); transition:.2s}
.sc-grid:hover img{border-color:var(--blood-2); box-shadow:0 20px 44px -18px rgba(176,6,15,.5)}

/* ---------- pricing ---------- */
.sc-pricing{position:relative; overflow:hidden}
.sc-pricing::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(75% 60% at 80% 25%, rgba(108,2,6,.5), transparent 60%),
            linear-gradient(180deg, var(--void) 0%, rgba(10,8,7,.35) 45%, var(--void) 100%)}
.sc-pricing .elementor-container{position:relative; z-index:2}
.sc-tier{background:rgba(20,17,16,.92)!important; border:1px solid var(--line-2)!important; border-radius:5px!important;
  padding:16px 20px!important; backdrop-filter:blur(2px)}
.sc-tier-price .elementor-heading-title{font-family:var(--cond)!important; font-weight:700!important;
  font-size:1.9rem!important; color:var(--bone)!important; margin:0; line-height:1}
.sc-tier-h .elementor-heading-title{font-family:var(--cond)!important; text-transform:uppercase; letter-spacing:.08em;
  font-size:1rem!important; color:var(--bone)!important; margin:0 0 .15em}
.sc-tier-best{border-color:var(--blood-2)!important; box-shadow:0 0 0 1px var(--blood-deep) inset}

/* ---------- ticket-stub perforation ---------- */
.sc-stub{position:relative}
.sc-stub::before,.sc-stub::after{content:""; position:absolute; top:-9px; bottom:-9px; width:18px; z-index:4;
  background-image:radial-gradient(circle at 50% 50%, var(--void) 0 8px, transparent 9px);
  background-size:18px 20px; background-repeat:repeat-y}
.sc-stub::before{left:-9px} .sc-stub::after{right:-9px}

/* ---------- footer ---------- */
.sc-footer{background:var(--pitch); border-top:1px solid var(--line)}
.sc-footer-brand .elementor-heading-title{font-family:var(--disp)!important; font-size:2.2rem!important; color:var(--bone)!important; margin:0}
.sc-footer-brand .elementor-heading-title b{color:var(--blood-2)!important; font-weight:400!important}
.sc-foot-h .elementor-heading-title{font-family:var(--cond)!important; text-transform:uppercase; letter-spacing:.3em;
  font-size:.72rem!important; color:var(--blood-2)!important; margin:0 0 .6em}
.sc-foot-links a{color:var(--ash)!important; display:block; margin:.35em 0; font-size:.9rem}
.sc-foot-links a:hover{color:var(--bone)!important}

/* ---------- woo skin (shop / product / cart / checkout) ---------- */
.woocommerce-page, body.woocommerce-cart, body.woocommerce-checkout{background:var(--void); color:var(--bone)}
/* reveal product gallery even if the slider JS doesn't init */
.woocommerce-product-gallery{opacity:1!important}
.woocommerce-product-gallery__image img{border:1px solid var(--line); border-radius:4px}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:var(--panel-2); border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--panel-3)}
.woocommerce-variation-price .price,.woocommerce div.product p.price{color:var(--blood-2)!important}
.woocommerce table.shop_table,.woocommerce .cart-collaterals .cart_totals{background:var(--panel); border-color:var(--line); color:var(--bone)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-color:var(--line)!important; color:var(--bone)}
.sc-ticket-field input:focus{outline:none; border-color:var(--blood-2)!important; box-shadow:0 0 0 3px rgba(176,6,15,.25)}
.sc-woo .elementor-container{position:relative; z-index:2}
.woocommerce ul.products li.product{background:var(--panel); border:1px solid var(--line); border-radius:5px;
  padding:10px; transition:.2s}
.woocommerce ul.products li.product:hover{border-color:var(--blood-2); transform:translateY(-3px)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--cond)!important;
  text-transform:uppercase; letter-spacing:.06em; color:var(--bone)!important; font-size:1rem!important}
.woocommerce ul.products li.product .price{color:var(--bone)!important; font-family:var(--cond)}
.woocommerce span.price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--blood-2)!important}
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce .button.alt,.wc-block-components-button{
  background:linear-gradient(180deg,var(--blood-2),var(--blood-deep))!important; color:#fff!important;
  border-radius:2px!important; font-family:var(--cond)!important; text-transform:uppercase!important; letter-spacing:.12em!important;
  border:0!important}
.woocommerce div.product .product_title{font-family:var(--cond)!important; text-transform:uppercase; color:var(--bone)!important}
.woocommerce .woocommerce-message,.woocommerce-info{border-top-color:var(--blood-2)!important; background:var(--panel)!important; color:var(--bone)!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{
  background:var(--pitch)!important; border:1px solid var(--line-2)!important; color:var(--bone)!important}

/* ---------- global header/footer (hooked, plain HTML) ---------- */
/* hide the theme's own header/footer everywhere */
.site-header,.site-footer,header.wp-block-template-part,footer.wp-block-template-part{display:none!important}
.schf-nav{position:sticky; top:0; z-index:120;
  background:linear-gradient(180deg,rgba(5,4,3,.97),rgba(5,4,3,.8)); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line)}
.schf-in{max-width:1220px; margin:0 auto; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px}
.schf-brand{font-family:var(--disp); font-size:1.9rem; color:var(--bone); line-height:1}
.schf-brand b{color:var(--blood-2); font-weight:400}
.schf-links{display:flex; align-items:center; gap:26px}
.schf-links a{font-family:var(--cond); text-transform:uppercase; letter-spacing:.18em; font-size:.78rem; color:var(--ash); font-weight:500}
.schf-links a:hover{color:var(--bone)}
.schf-cartbtn{background:linear-gradient(180deg,var(--blood-2),var(--blood-deep)); color:#fff!important;
  padding:.7em 1.3em; border-radius:2px; box-shadow:0 10px 30px -8px rgba(176,6,15,.6)}
.schf-foot{background:var(--pitch); border-top:1px solid var(--line); margin-top:0}
.schf-foot-in{max-width:1220px; margin:0 auto; padding:52px 24px 40px; display:flex; gap:30px; flex-wrap:wrap; justify-content:space-between}
.schf-fcol{flex:1; min-width:180px}
.schf-fcol .schf-brand{font-size:2.2rem; display:block; margin-bottom:.3em}
.schf-fcol h4{font-family:var(--cond); text-transform:uppercase; letter-spacing:.3em; font-size:.72rem; color:var(--blood-2); margin:0 0 .8em}
.schf-fcol p{color:var(--ash); font-size:.9rem; max-width:34ch; margin:0}
.schf-fcol a{display:block; color:var(--ash); font-size:.9rem; margin:.35em 0}
.schf-fcol a:hover{color:var(--bone)}

/* ---------- Contact Form 7 ---------- */
.wpcf7 label{font-family:var(--cond); text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; color:var(--ash); display:block}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],.wpcf7 textarea,.wpcf7 select{
  background:var(--pitch)!important; border:1px solid var(--line-2)!important; color:var(--bone)!important;
  border-radius:3px!important; padding:.85em 1em!important; width:100%; max-width:520px; margin-top:.4em; font-family:var(--body)}
.wpcf7 textarea{min-height:150px}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none; border-color:var(--blood-2)!important; box-shadow:0 0 0 3px rgba(176,6,15,.25)!important}
.wpcf7 input[type=submit]{background:linear-gradient(180deg,var(--blood-2),var(--blood-deep))!important; color:#fff!important;
  border:0!important; font-family:var(--cond); text-transform:uppercase; letter-spacing:.16em; font-weight:600; padding:.95em 2em!important; border-radius:2px!important; cursor:pointer}
.wpcf7 input[type=submit]:hover{box-shadow:0 16px 40px -8px rgba(213,22,34,.7)}

/* ---------- responsive ---------- */
@media(max-width:767px){
  .schf-in{flex-wrap:wrap} .schf-links{gap:14px}
  .schf-brand{font-size:1.5rem}
  .sc-hero{min-height:78vh}
  .sc-stub::before,.sc-stub::after{display:none}
  .sc-hero-title .elementor-heading-title{font-size:clamp(2.6rem,12vw,3.4rem)!important}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
