/* ==========================================================================
   Triple Bow Studios / refinements
   Corrections found by screenshotting the built pages.
   ========================================================================== */

/* --------------------------------------------------- header over the hero */
/* The header floats on the page rather than sitting above it, so the hero
   plate can run to the top edge of the viewport. */
#tahefobu-header{
  position:fixed !important;
  top:var(--ta-sticky-top,0);left:0;right:0;width:100%;
  z-index:9990;opacity:1 !important;
}
.admin-bar #tahefobu-header{top:32px;}
@media screen and (max-width:782px){.admin-bar #tahefobu-header{top:46px;}}
.ta-header-spacer{display:none !important;}

/* ------------------------------------------------------------- head rows */
body .tbs-headrow{align-items:baseline !important;}
body .tbs-headrow>*{flex:0 0 auto !important;}

/* ------------------------------------------- featured grid: fill the span */
body .tbs-featured>*:nth-child(1){display:flex !important;flex-direction:column !important;}
body .tbs-featured>*:nth-child(1) .elementor-widget-image{flex:1 1 auto;min-height:0;}
body .tbs-featured>*:nth-child(1) .elementor-widget-image img{height:100%;aspect-ratio:auto;min-height:520px;}
@media(max-width:820px){
  body .tbs-featured>*:nth-child(1) .elementor-widget-image img{aspect-ratio:4/3;min-height:0;}
}

/* ------------------------------------------------------- lists in columns */
/* Elementor text-editor lists arrive with theme bullets and padding. */
body .tbs-fcol ul,
body .tbs-footer ul,
body .tbs-slot ul{list-style:none !important;margin:0 !important;padding:0 !important;}
body .tbs-fcol li{margin:0 0 11px !important;padding:0 !important;list-style:none !important;}
body .tbs-fcol li::marker{content:"";}
body .tbs-fcol a{color:var(--tbs-ink);}
body .tbs-fcol a:hover{color:var(--tbs-accent-bright);}

/* footer CTA column needs air between the line and the button */
body .tbs-footer__cta>.elementor-widget-text-editor{margin-bottom:22px !important;}
body .tbs-footer__cta .elementor-widget-button{margin-top:4px;}
body .tbs-footer__inner{padding-bottom:var(--tbs-lg);}

/* -------------------------------------------------------- studio details */
body .tbs-contact__aside dl{margin:0;}
body .tbs-contact__aside dt{
  font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;
  color:var(--tbs-muted);margin:0 0 7px;
}
body .tbs-contact__aside dd{
  margin:0 0 var(--tbs-md) !important;padding:0;font-size:16px;color:var(--tbs-ink);
}
body .tbs-contact__aside a{color:var(--tbs-accent-bright);text-decoration:none;}
body .tbs-contact__aside a:hover{text-decoration:underline;text-underline-offset:4px;}
body .tbs-contact__aside>.elementor-widget-shortcode{margin-top:var(--tbs-md) !important;}

/* the form panel reads as a contained field, not a slightly different black */
body .tbs-contact__form{border:1px solid var(--tbs-hairline);}
body .tbs-contact__form .wpcf7{margin:0;}

/* ------------------------------------------------------------- inquiry -- */
body .tbs-inquiry .tbs-split{align-items:center;}
body .tbs-inquiry .tbs-btn-primary{justify-content:flex-end;}
body .tbs-inquiry h2{margin-bottom:var(--tbs-md);}
@media(max-width:880px){
  body .tbs-inquiry .tbs-btn-primary{justify-content:flex-start;margin-top:var(--tbs-md);}
}

/* ---------------------------------------------------------- shop slot --- */
body .tbs-slot .elementor-widget-text-editor{margin:14px auto 26px !important;max-width:52ch;}
body .tbs-slot .elementor-widget-button{display:flex;justify-content:center;}
body .tbs-slot p{margin:0 auto;}

/* --------------------------------------------------------- page heads --- */
body .tbs-pagehead__row>*:last-child{padding-bottom:6px;}

/* ------------------------------------------------------------- mobile --- */
@media(max-width:900px){
  body .tbs-hero__copy{padding-top:0;}
  body .tbs-hero__plate{min-height:52vh;}
}
@media(max-width:640px){
  body .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.1rem,10vw,2.9rem);}
  body .tbs-bigmark{gap:14px;}
  body .tbs-footer__base{flex-direction:column !important;align-items:flex-start;gap:10px;}
}

/* the mobile menu sheet, dressed to the brand */
.tahefobu-mobile-menu,.tahefobu-nav-menu-mobile,.tahefobu-mobile-menu-wrapper{
  background:var(--tbs-raised) !important;
}
.tahefobu-mobile-toggle-wrap .tahefobu-mobile-toggle span,
.tahefobu-mobile-toggle-wrap .tahefobu-mobile-toggle i{background-color:var(--tbs-ink) !important;color:var(--tbs-ink) !important;}

/* --------------------------------------------- hero scrim + clear header */
/* The builder wrapper carries its own ground; the header must be glass over
   the hero and only take a backdrop once the page scrolls. */
#tahefobu-header,
#tahefobu-header .tbs-header{background-color:transparent !important;}
#tahefobu-header .tbs-header.is-stuck{
  background-color:rgba(15,18,17,.88) !important;
  -webkit-backdrop-filter:saturate(140%) blur(14px);
  backdrop-filter:saturate(140%) blur(14px);
  border-bottom-color:var(--tbs-hairline);
}
/* Elementor positions the image widget, so the scrim needs to be lifted above it */
body .tbs-hero__plate .elementor-widget-image{position:relative;z-index:1;}
body .tbs-hero__plate::after{z-index:3;}
body .tbs-hero__copy{position:relative;z-index:4;}
/* The plate is a frame the image fills absolutely; percentage heights inside a
   min-height flex container resolve to auto and leave a band at the top. */
body .tbs-hero__plate{position:relative;overflow:hidden;}
body .tbs-hero__plate .elementor-widget-image{position:absolute;inset:0;z-index:1;margin:0;}
body .tbs-hero__plate .elementor-widget-image .elementor-widget-container,
body .tbs-hero__plate .elementor-widget-image figure,
body .tbs-hero__plate .elementor-widget-image img{width:100%;height:100%;object-fit:cover;margin:0;}
body .tbs-inquiry__bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
body .tbs-inquiry__bg .elementor-widget-image{position:absolute;inset:0;margin:0;}
body .tbs-inquiry__bg img{width:100%;height:100%;object-fit:cover;opacity:.30;}
/* The header and footer templates are Elementor documents too, so the blanket
   ground on .elementor wrappers was painting an opaque band across the top of
   the hero. Those two wrappers stay glass. */
#tahefobu-header .elementor,
#tahefobu-header .elementor-section-wrap,
.turbo-header-template .elementor,
.turbo-footer-template .elementor,
.turbo-footer-template .elementor-section-wrap{background-color:transparent !important;}