/*
Theme Name: Glory Child
Theme URI: https://glorypanelandpaint.co.nz
Description: Child theme of Kadence holding Glory Panel & Paint's black & champagne-gold brand styling.
Author: Glory Panel & Paint
Template: kadence
Version: 1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Montserrat:wght@700;800&family=Oswald:wght@500;600;700&display=swap');

/* Self-hosted brand heading font */
@font-face{
  font-family:'Tactic Round';
  src:url('fonts/TacticRoundExd-MedIt.ttf') format('truetype');
  font-weight:500;font-style:normal;font-display:swap;
}

:root{
  --glory-head-font:'Tactic Round','Montserrat',system-ui,sans-serif;
  --glory-black:#0a0a0c;
  --glory-layer:#0f0f13;
  --glory-card:#16161c;
  --glory-border:#23232b;
  --glory-gold:#C2A576;
  --glory-gold-grad:linear-gradient(120deg,#F2E6D2,#D8BD96 45%,#C2A576);
  --glory-gold-shadow:#A98A60;
}

/* ---- Gold gradient text helper ---- */
.glory-gold-text{
  background:var(--glory-gold-grad);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---- Gold gradient button ---- */
.glory-btn-gold,
.glory-btn-gold:visited{
  background:var(--glory-gold-grad);color:#0a0a0c !important;font-weight:800;
  border:none;border-radius:5px;padding:13px 26px;display:inline-block;
  text-decoration:none;line-height:1;transition:filter .15s ease, transform .15s ease;
}
.glory-btn-gold:hover{filter:brightness(1.06);transform:translateY(-1px);color:#0a0a0c !important;}

/* ---- Outline button (dark sections) ---- */
.glory-btn-outline,
.glory-btn-outline:visited{
  background:transparent;color:#fff !important;border:1.5px solid var(--glory-gold);
  border-radius:5px;padding:12px 24px;display:inline-block;text-decoration:none;
  font-weight:600;line-height:1;transition:border-color .15s ease;
}
.glory-btn-outline:hover{border-color:var(--glory-gold);}

/* ---- Faint radial "sunburst" background motif (echoes the logo G emblem) ---- */
.glory-sunburst{position:relative;overflow:hidden;}
.glory-sunburst::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.07;
  background:
    repeating-conic-gradient(from 0deg at 78% -10%,
      var(--glory-gold) 0deg 0.4deg, transparent 0.4deg 6deg);
  -webkit-mask-image:radial-gradient(60% 60% at 78% -10%, #000, transparent 70%);
          mask-image:radial-gradient(60% 60% at 78% -10%, #000, transparent 70%);
}
.glory-sunburst > *{position:relative;z-index:1;}

/* ---- Eyebrow label ---- */
.glory-eyebrow{
  font-size:.72rem;letter-spacing:.28em;color:var(--glory-gold);
  font-weight:700;text-transform:uppercase;display:block;
}

/* ============================================================
   PAGE COMPONENTS (used by the core/html page content blocks)
   ============================================================ */

/* Full-bleed: let a section span the full viewport width even when
   it sits inside the theme's constrained content container. */
.glory{color:#e8e8ee;font-family:Inter,system-ui,sans-serif;}
.glory-section{
  width:100vw;position:relative;left:50%;right:50%;
  margin-left:-50vw;margin-right:-50vw;
  padding:64px 24px;box-sizing:border-box;
}
.glory-inner{max-width:1120px;margin:0 auto;}
.glory h1,.glory h2,.glory h3{font-family:var(--glory-head-font);color:#fff;margin:0;}
.glory p{color:#b9b9c0;line-height:1.6;}
.glory-center{text-align:center;}

/* Section background tones */
.glory-bg-black{background:var(--glory-black);}
.glory-bg-layer{background:var(--glory-layer);}
.glory-bg-foot{background:#070708;}

/* ---- Hero ---- */
.glory-hero{
  background:radial-gradient(130% 110% at 78% -10%,#1c1c20,#0a0a0c 58%);
  padding:96px 24px 80px;
}
.glory-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:800;line-height:1.1;margin:14px 0 0;max-width:680px;text-wrap:balance;}
/* centered hero titles (inner pages) get full width so they stay 1–2 lines */
.glory-hero .glory-center h1{max-width:1000px;margin-left:auto;margin-right:auto;}
.glory-hero .glory-sub{font-size:1.05rem;margin:18px 0 0;max-width:520px;}
.glory-btns{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;}
.glory-trust{
  margin-top:34px;padding-top:18px;border-top:1px solid #2a2a30;
  display:flex;gap:24px;flex-wrap:wrap;font-size:.82rem;color:#9a9aa2;align-items:center;
}
.glory-trust b{color:#F2E6D2;}
.glory-trust .glory-tick{color:var(--glory-gold);font-weight:700;}

/* ---- Home hero with a real photo background ---- */
.glory-hero.glory-hero--photo{
  /* Crop down (70%) to feature the building. Overlay keeps the LEFT dark (text)
     while the RIGHT stays clear so the building's gold sign reads; top/bottom are
     muted to tame sky and road. Tight left radial = extra contrast behind text. */
  background:
    /* Spotlight: a concentrated dark ellipse centred on the text block, darkest
       at its core and falling off softly — gives the copy a "聚光感" pool that
       the right-side building/sign stays clear of. */
    radial-gradient(46% 56% at 30% 52%, rgba(8,8,10,.66) 0%, rgba(8,8,10,.40) 38%, rgba(8,8,10,0) 70%),
    radial-gradient(64% 84% at 18% 50%, rgba(8,8,10,.45) 0%, rgba(8,8,10,0) 60%),
    linear-gradient(90deg, rgba(8,8,10,.84) 0%, rgba(8,8,10,.66) 32%, rgba(8,8,10,.46) 56%, rgba(8,8,10,.18) 76%, rgba(8,8,10,0) 94%),
    linear-gradient(180deg, rgba(8,8,10,.40) 0%, rgba(8,8,10,0) 26%, rgba(8,8,10,0) 62%, rgba(8,8,10,.48) 100%),
    url('/wp-content/uploads/2026/06/glory-hero-forecourt.webp') center 70% / cover no-repeat;
  /* Parallax: the building photo stays fixed while content scrolls over it
     (same immersive effect as the Perfect Auto Body Wix hero). Desktop only —
     the phone @media block below redefines `background` (scroll) because
     background-attachment:fixed is janky/unsupported on iOS & Android. */
  background-attachment:fixed;
  min-height:80vh;display:flex;flex-direction:column;justify-content:center;
}
/* strong, layered text-shadow keeps the hero copy crisp over the photo */
.glory-hero--photo .glory-eyebrow,
.glory-hero--photo h1,
.glory-hero--photo .glory-sub,
.glory-hero--photo .glory-trust{
  text-shadow:0 1px 2px rgba(0,0,0,.96), 0 2px 9px rgba(0,0,0,.85), 0 0 28px rgba(0,0,0,.6);
}
/* The gold word is gradient-clipped with a TRANSPARENT fill, so the dark
   text-shadow above bleeds through and makes it look black. Cancel the
   text-shadow there and use a drop-shadow (acts on the rendered gold). */
.glory-hero--photo h1 .glory-gold-text{
  text-shadow:none;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.55));
}
/* trust strip over the photo: bright white + semibold so it reads clearly */
.glory-hero--photo .glory-trust{ color:#ffffff; font-weight:600; }
/* 5.0 Google rating reads in brand gold (checkmarks handled by .glory-tick) */
.glory-hero--photo .glory-trust b{ color:var(--glory-gold); }

/* ---- Hero responsive: tablet ---- */
@media(max-width:1024px){
  .glory-hero.glory-hero--photo{ min-height:66vh; background-position:center 66%; }
}
/* ---- Hero responsive: phone (portrait crops the sides, so use a simpler,
   more even overlay since the text is full-width, and stack the buttons) ---- */
@media(max-width:768px){
  .glory-hero.glory-hero--photo{
    min-height:auto; padding:84px 20px 52px;
    background:
      linear-gradient(180deg, rgba(8,8,10,.62) 0%, rgba(8,8,10,.52) 42%, rgba(8,8,10,.78) 100%),
      url('/wp-content/uploads/2026/06/glory-hero-forecourt.webp') center 56% / cover no-repeat;
  }
  .glory-hero--photo h1{ max-width:none; }
  .glory-hero--photo .glory-sub{ max-width:none; }
  .glory-hero--photo .glory-btns{ width:100%; }
  .glory-hero--photo .glory-btns a{ flex:1 1 auto; text-align:center; }
  .glory-hero--photo .glory-trust{ font-size:.76rem; gap:8px 16px; }
}

/* ---- Section heading block ---- */
.glory-head{text-align:center;margin-bottom:40px;}
.glory-head h2{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;margin-top:6px;text-wrap:balance;}

/* ---- Services grid ---- */
.glory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.glory-card{
  background:var(--glory-card);border:1px solid var(--glory-border);
  border-radius:12px;padding:26px 22px;text-align:center;transition:border-color .15s,transform .15s;
}
.glory-card:hover{border-color:var(--glory-gold);transform:translateY(-3px);}
.glory-disc{
  width:46px;height:46px;margin:0 auto 14px;border-radius:50%;
  background:var(--glory-gold-grad);
  display:flex;align-items:center;justify-content:center;
}
.glory-disc svg{width:22px;height:22px;fill:none;stroke:#0a0a0c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.glory-card h3{font-size:1.05rem;font-weight:700;}
.glory-card p{font-size:.86rem;margin:8px 0 0;}

/* ---- Two-column (Why choose us / About) ---- */
.glory-2col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.glory-photo{
  border-radius:12px;min-height:280px;border:1px solid var(--glory-border);
  background:linear-gradient(135deg,#1a1a20,#101014);
  display:flex;align-items:center;justify-content:center;color:#55555f;font-size:.8rem;text-align:center;
  overflow:hidden;
}
.glory-photo img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block;border-radius:12px;}
/* Why-Choose horizontal photo strip — auto-scrolls (~3 in view), seamless loop */
.glory-strip{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.glory-strip-track{display:flex;gap:18px;width:max-content;animation:glory-strip-scroll 56s linear infinite;will-change:transform;}
.glory-strip:hover .glory-strip-track{animation-play-state:paused;}
.glory-strip-track img{flex:0 0 auto;width:clamp(260px,30vw,380px);aspect-ratio:4 / 3;object-fit:cover;border-radius:12px;display:block;}
@keyframes glory-strip-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.glory-list{list-style:none;padding:0;margin:18px 0 0;}
.glory-list li{padding:8px 0 8px 30px;position:relative;color:#c5c5cc;}
.glory-list li::before{content:"\2713";position:absolute;left:0;color:var(--glory-gold);font-weight:800;}

/* ---- Insurer logo wall (uniform soft-grey tiles, 5 across) ---- */
.glory-chips{
  display:flex;flex-wrap:wrap;justify-content:center;gap:16px;
  max-width:1100px;margin:0 auto;
}
.glory-chip{
  flex:0 0 185px;height:112px;
  display:flex;align-items:center;justify-content:center;
  background:#eef0f3;border:1px solid #e0e2e7;border-radius:12px;padding:6px 10px;
  transition:transform .15s,box-shadow .15s;
}
.glory-chip:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.4);}
.glory-chip img{max-width:100%;max-height:96px;object-fit:contain;}
/* wordmark logos (Lumley, Swann) read better a little larger */
.glory-chip--light img{max-height:100px;}
@media(max-width:680px){
  .glory-chips{gap:14px;}
  .glory-chip{flex:0 0 44%;height:104px;padding:8px 10px;}
  .glory-chip img{max-height:74px;}
  .glory-chip--light img{max-height:80px;}
}

/* ---- Reviews (single-row auto-scroll marquee) ---- */
.glory-marquee{
  max-width:1120px;margin:0 auto;width:100%;
  overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.glory-track{display:flex;gap:18px;width:max-content;padding:6px 24px;animation:glory-scroll 48s linear infinite;}
.glory-marquee:hover .glory-track{animation-play-state:paused;}
@keyframes glory-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.glory-review{flex:0 0 340px;width:340px;background:var(--glory-card);border:1px solid var(--glory-border);border-radius:12px;padding:22px;text-align:left;}
/* NOTE: the reviews marquee scrolls for ALL visitors by design (client request),
   so we intentionally do NOT disable it under prefers-reduced-motion. The scroll
   is slow/continuous and pauses on hover. */
.glory-stars{color:var(--glory-gold);letter-spacing:2px;}
.glory-review p{font-size:.9rem;color:#c5c5cc;margin:10px 0 0;}
.glory-review .glory-name{font-size:.8rem;color:#777;margin-top:12px;}

/* ---- Steps (Insurance) ---- */
.glory-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.glory-step{background:var(--glory-card);border:1px solid var(--glory-border);border-radius:12px;padding:26px;text-align:center;}
.glory-stepnum{
  width:42px;height:42px;line-height:42px;margin:0 auto 14px;border-radius:50%;
  background:var(--glory-gold-grad);color:#0a0a0c;font-weight:800;font-family:Montserrat;
}

/* ---- Final CTA ---- */
.glory-cta{background:radial-gradient(120% 100% at 50% 0%,#1c1c20,#0a0a0c);text-align:center;}
.glory-cta h2{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;text-wrap:balance;}
.glory-meta{margin-top:22px;font-size:.85rem;color:#8a8a92;}

/* ---- FAQ accordion (native <details>; FAQPage JSON-LD lives in the same block) ---- */
.glory-faq{max-width:760px;margin:0 auto;text-align:left;}
.glory-faq details{
  background:var(--glory-card);border:1px solid var(--glory-border);
  border-radius:10px;padding:0 22px;margin-bottom:12px;transition:border-color .15s ease;
}
.glory-faq details[open]{border-color:var(--glory-gold);}
.glory-faq summary{
  list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:1.02rem;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
}
.glory-faq summary::-webkit-details-marker{display:none;}
.glory-faq summary::after{
  content:"+";color:var(--glory-gold);font-size:1.5rem;line-height:1;font-weight:400;flex:none;
}
.glory-faq details[open] summary::after{content:"\2212";}   /* minus sign */
.glory-faq p{margin:0 0 18px;color:#c9c9d2;line-height:1.6;font-size:.95rem;}

/* ---- Promotional popup (markup + toggle in functions.php) ---- */
.glory-promo{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.glory-promo[hidden]{display:none;}
.glory-promo__backdrop{position:absolute;inset:0;background:rgba(5,5,7,.72);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);}
.glory-promo__box{
  position:relative;z-index:1;width:min(560px,100%);
  background:#0f0f13;border:1px solid var(--glory-gold);border-radius:16px;
  padding:50px 46px;text-align:left;box-shadow:0 30px 80px rgba(0,0,0,.6);
  animation:glory-promo-in .25s ease both;
}
@keyframes glory-promo-in{from{opacity:0;transform:translateY(12px) scale(.98);}to{opacity:1;transform:none;}}
.glory-promo__close{
  position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;
  color:#cfcfd6;font-size:1.9rem;line-height:1;padding:6px;transition:color .15s ease;
}
.glory-promo__close:hover{color:#fff;}
.glory-promo__head{
  font-family:var(--glory-head-font);font-weight:800;text-transform:uppercase;
  color:#fff;line-height:1.06;margin:0;font-size:clamp(1.9rem,5.2vw,2.7rem);
}
.glory-promo__head + .glory-promo__head{margin-top:16px;}
.glory-promo__cta{margin-top:30px;}
/* Mobile: a compact bottom banner instead of a full-screen modal, so it never
   covers the main content — avoids Google's intrusive-interstitial penalty.
   No dark backdrop; the page above stays scrollable/usable. Dismiss via the ✕. */
@media(max-width:600px){
  .glory-promo{inset:auto 0 0 0;align-items:flex-end;padding:0;}
  .glory-promo__backdrop{display:none;}
  .glory-promo__box{
    width:100%;border-radius:16px 16px 0 0;border-bottom:none;
    padding:22px 22px 24px;text-align:center;
    box-shadow:0 -10px 40px rgba(0,0,0,.5);
    animation:glory-promo-up .28s ease both;
  }
  .glory-promo__head{font-size:1.25rem;line-height:1.15;}
  .glory-promo__head + .glory-promo__head{margin-top:4px;}
  .glory-promo__cta{margin-top:16px;}
  .glory-promo__close{top:8px;right:10px;font-size:1.6rem;}
}
@keyframes glory-promo-up{from{opacity:0;transform:translateY(100%);}to{opacity:1;transform:none;}}

/* ---- CF7 drag-drop upload: tidy "done" state ----
   While uploading, the green % bar shows. On completion the row gets .complete,
   so hide the 100% bar and just show the file name + delete button. The plugin's
   delete × is a black SVG (invisible on our dark form) — recolour it gold + enlarge. */
.dnd-upload-status.complete .dnd-upload-details .dnd-progress-bar{ display:none !important; }
.dnd-upload-status .dnd-upload-details .name{ color:#e8e8ee; }
.dnd-upload-status .dnd-upload-details .name em{ color:#9a9aa2; }
.dnd-upload-status .dnd-upload-details .remove-file span:after{
  width:22px; height:22px;
  background-image:url("data:image/svg+xml,%3Csvg width='35' height='35' viewBox='0 0 35 35' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='17.5' cy='17.5' r='17.5' fill='%23C2A576'/%3E%3Cpath d='M11 11L24 24M24 11L11 24' stroke='%23ffffff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  transition:transform .12s ease, filter .12s ease;
}
.dnd-upload-status .dnd-upload-details .remove-file:hover span:after{ filter:brightness(1.08); transform:scale(1.08); }

/* ---- Mobile hamburger menu: bigger + light champagne gold ----
   The icon is a Kadence SVG with fill="currentColor", so colour it via `color`
   (NOT background — that paints a solid block) and size it via the svg w/h. */
.menu-toggle-open .menu-toggle-icon{ color:#F2E6D2 !important; }
.menu-toggle-open .menu-toggle-icon .kadence-menu-svg,
.menu-toggle-open .menu-toggle-icon svg{
  width:34px !important; height:34px !important;
  color:#F2E6D2 !important; fill:currentColor !important;
}
/* Nav menu (desktop + mobile drawer): UPPERCASE + consistent font */
.header-navigation .menu-container > ul > li > a,
.header-menu-container ul li a,
#mobile-drawer .mobile-navigation li a,
.mobile-navigation li a{
  text-transform:uppercase !important;
  font-family:Inter,system-ui,sans-serif !important;
  letter-spacing:.03em !important;
}
/* Mobile drawer menu: slightly bigger link text */
#mobile-drawer .mobile-navigation li a,
.mobile-navigation li a{ font-size:1.15rem !important; }
/* Mobile drawer: Book Online button fits its text (not full width), aligned with the nav items */
#mobile-drawer .mobile-navigation .glory-nav-cta > a,
.mobile-navigation .glory-nav-cta > a{
  display:inline-block !important; width:auto !important; margin-left:0 !important;
}

/* Footer contact: no underline + all three value lines the same colour (gold) */
.glory-foot-item a,
.glory-foot-item > div{ color:#e8e8ee !important; text-decoration:none !important; font-size:.95rem !important; font-weight:500 !important; }
.glory-foot-item small{ color:#7d7d86 !important; font-weight:400 !important; }   /* labels stay muted grey */

/* Header logo: bigger */
.site-branding img.custom-logo,
.mobile-site-branding img.custom-logo{
  height:58px !important; max-height:58px !important; width:auto !important;
}

/* ---- CF7 form-level error notice: red frame (the default yellow was easy to miss) ---- */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{
  border-color:#ff5a5a !important; color:#ff5a5a !important;
}

/* ---- Service blocks (Services page) ---- */
.glory-svc{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;margin-bottom:48px;}
.glory-svc:nth-child(even) .glory-photo{order:2;}
.glory-svc h2{font-size:clamp(1.4rem,3vw,1.9rem);}

/* ---- Contact ---- */
.glory-contact{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.glory-contact > div{min-width:0;}          /* prevent grid blow-out / overflow */
.glory-contact h2{margin-bottom:6px;}
.glory-info a{color:var(--glory-gold);text-decoration:none;}
.glory-info a:hover{text-decoration:underline;}

/* contact info rows (icon + label + value) */
.glory-cinfo{margin-top:32px;}
.glory-cinfo-item{display:flex;gap:14px;align-items:center;margin-bottom:16px;}
.glory-cinfo-item small{color:#7d7d86;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;}
.glory-cinfo-item > div{font-size:.95rem;color:#dcdce2;line-height:1.5;}

/* opening-hours box */
.glory-hours-box{
  margin-top:6px;background:var(--glory-card);border:1px solid var(--glory-border);
  border-radius:12px;padding:18px 20px;
}
.glory-hours-box h3{
  font-family:var(--glory-head-font);text-transform:uppercase;letter-spacing:.04em;
  color:var(--glory-gold);font-size:1rem;margin:0 0 6px;
}
.glory-hours-box ul{list-style:none;padding:0;margin:0;}
.glory-hours-box li{
  display:flex;justify-content:space-between;gap:12px;
  padding:9px 0;border-bottom:1px solid #20202a;font-size:.92rem;
}
.glory-hours-box li:last-child{border-bottom:none;}
.glory-hours-box li span{color:var(--glory-gold);}
.glory-hours-box li b{color:#fff;}

/* ---- Contact Form 7 (black/gold) ---- */
.glory .wpcf7{max-width:100%;width:100%;}
.glory .wpcf7 p{margin:0 0 14px;}
.glory .gf-half{display:inline-block;width:calc(50% - 6px);box-sizing:border-box;vertical-align:top;}
.glory .gf-half:nth-child(odd){margin-right:10px;}
.glory .wpcf7 label{display:block;font-size:.82rem;color:#c5c5cc;font-weight:600;}
.glory .wpcf7 input[type=text],
.glory .wpcf7 input[type=tel],
.glory .wpcf7 input[type=email],
.glory .wpcf7 input[type=date],
.glory .wpcf7 select,
.glory .wpcf7 textarea{
  width:100%;box-sizing:border-box;margin-top:6px;
  background:#0e0e12;border:1px solid var(--glory-border);border-radius:7px;
  color:#fff;padding:11px 13px;font-size:.92rem;font-family:Inter,sans-serif;
}
.glory .wpcf7 input:focus,.glory .wpcf7 select:focus,.glory .wpcf7 textarea:focus{
  outline:none;border-color:var(--glory-gold);
}
.glory .wpcf7 textarea{min-height:120px;resize:vertical;}
.glory .wpcf7 input[type=file]{
  width:100%;box-sizing:border-box;margin-top:6px;color:#b9b9c0;font-size:.85rem;
  background:#0e0e12;border:1px dashed var(--glory-border);border-radius:7px;padding:11px 13px;
}
.glory .wpcf7 input[type=submit]{
  background:var(--glory-gold-grad);color:#0a0a0c;font-weight:800;border:none;
  border-radius:6px;padding:14px 30px;font-size:1rem;cursor:pointer;width:auto;
  transition:filter .15s,transform .15s;
}
.glory .wpcf7 input[type=submit]:hover{filter:brightness(1.06);transform:translateY(-1px);}
.glory .wpcf7-spinner{margin:8px auto 0;}
.glory .wpcf7 .wpcf7-not-valid-tip{color:#ff9b8a;font-size:.78rem;}
.glory .wpcf7-response-output{border-radius:7px;font-size:.88rem;margin:8px 0 0 !important;color:#e8e8ee;}
@media(max-width:560px){.glory .gf-half{width:100%;margin-right:0 !important;}}

/* ---- Responsive ---- */
@media(max-width:880px){
  .glory-grid,.glory-reviews,.glory-steps{grid-template-columns:1fr;}
  .glory-2col,.glory-svc,.glory-contact{grid-template-columns:1fr;}
  .glory-svc:nth-child(even) .glory-photo{order:0;}
  .glory-section{padding:48px 20px;}
  .glory-hero{padding:72px 20px 56px;}
}

/* ============================================================
   GLOBAL FONTS + DARK HEADER / FOOTER (Kadence overrides)
   ============================================================ */
body,button,input,select,textarea{font-family:Inter,system-ui,sans-serif;}
h1,h2,h3,h4,h5,h6,.entry-title{font-family:var(--glory-head-font);font-weight:800;}

/* Site-wide dark base so no white gaps show behind full-bleed sections */
body,.site,.content-bg,.site-container,.content-area,.site-main{background:#0a0a0c;}
.entry-content{color:#e8e8ee;}

/* ---- Header (all rows) dark ---- */
.site-header-row-container,
.site-header-main-section-left,
.site-header,
#masthead{background:#0a0a0c !important;}
.site-header-row-container-inner{background:#0a0a0c !important;border-bottom:1px solid #1c1c22;}
.site-branding .site-title,
.header-navigation .menu-container > ul > li > a,
.header-menu-container ul li a{color:#e8e8ee !important;}
.header-navigation .menu-container > ul > li > a:hover{color:#C2A576 !important;}
/* sticky header */
.site-header-wrap .site-header-row-container.site-header-focus-item.site-header-sticky{background:#0a0a0c !important;}

/* ---- "Book Online" nav item as a gold button ---- */
.glory-nav-cta > a{
  background:var(--glory-gold-grad);color:#0a0a0c !important;font-weight:800;
  border-radius:5px;padding:9px 18px !important;margin-left:6px;line-height:1;
}
.glory-nav-cta > a:hover{filter:brightness(1.06);color:#0a0a0c !important;}
/* Book Online button text must stay BLACK on the gold gradient. The generic
   nav-link colour rule (.header-navigation .menu-container>ul>li>a{#e8e8ee})
   is more specific, so match the same chain + .glory-nav-cta to outrank it. */
.header-navigation .menu-container > ul > li.glory-nav-cta > a,
.header-navigation .menu-container > ul > li.glory-nav-cta > a:hover,
.header-menu-container ul li.glory-nav-cta a{color:#0a0a0c !important;}

/* ---- Footer dark ---- */
.site-footer,.site-footer-row-container-inner,#colophon{background:#070708 !important;color:#9a9aa2;}
.site-footer a{color:#c5c5cc;text-decoration:none;}
.site-footer a:hover{color:#C2A576;}

/* ---- Header nav: bold industrial font (matches signage) ---- */
.header-navigation .menu-container > ul > li > a,
.header-menu-container ul li a,
.main-navigation .menu a{
  font-family:'Oswald',sans-serif !important;
  text-transform:uppercase;font-weight:600;letter-spacing:.04em;font-size:1.2rem;
}
.glory-nav-cta > a{font-family:'Oswald',sans-serif !important;text-transform:uppercase;letter-spacing:.04em;}

/* ---- Rich footer (logo + tagline + social + contact) ---- */
.glory-footer{
  max-width:1120px;margin:0 auto;padding:20px 0 30px;
  display:grid;grid-template-columns:1fr 1.35fr .75fr;gap:36px;text-align:left;
}
.glory-foot-hours h3{
  font-family:var(--glory-head-font);text-transform:uppercase;letter-spacing:.02em;
  color:#fff;font-size:1.02rem;margin:0 0 18px;white-space:nowrap;
}
.glory-foot-hours ul{list-style:none;padding:0;margin:0;}
.glory-foot-hours li{
  display:flex;justify-content:space-between;gap:12px;
  padding:9px 0;border-bottom:1px solid #1c1c22;font-size:.9rem;
}
.glory-foot-hours li span{color:var(--glory-gold);}
.glory-foot-hours li b{color:#e8e8ee;}
.glory-foot-logo{height:54px;width:auto;margin-bottom:18px;}
.glory-foot-brand p{color:#9a9aa2;font-size:.9rem;line-height:1.6;max-width:380px;margin:0;}
.glory-foot-social{margin-top:18px;display:flex;gap:10px;}
.glory-foot-social a{
  width:38px;height:38px;border-radius:50%;border:1px solid #2a2a30;color:#c5c5cc;
  display:flex;align-items:center;justify-content:center;transition:all .15s;
}
.glory-foot-social a:hover{background:var(--glory-gold);color:#0a0a0c;border-color:var(--glory-gold);}
.glory-foot-contact h3{
  font-family:var(--glory-head-font);text-transform:uppercase;letter-spacing:.02em;
  color:#fff;font-size:1.02rem;margin:0 0 18px;white-space:nowrap;
}
.glory-foot-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.glory-foot-ic{
  flex:0 0 40px;width:40px;height:40px;border-radius:50%;
  background:#16161c;border:1px solid #2a2a30;color:var(--glory-gold);
  display:flex;align-items:center;justify-content:center;
}
.glory-foot-item small{color:#7d7d86;font-size:.78rem;}
.glory-foot-item a{color:#e8e8ee;text-decoration:none;font-weight:600;}
.glory-foot-item a:hover{color:var(--glory-gold);}
.glory-foot-item > div{font-size:.92rem;color:#c5c5cc;line-height:1.5;}
.glory-foot-bottom{
  max-width:1120px;margin:18px auto 0;padding-top:18px;border-top:1px solid #1c1c22;
  color:#6a6a72;font-size:.8rem;text-align:center;
}
@media(max-width:780px){.glory-footer{grid-template-columns:1fr;gap:28px;}}

/* ---- Drag & drop upload (CF7) sizing + dark theme ---- */
.glory .codedropz-upload-handler{background:#0e0e12;border:1px dashed var(--glory-border);border-radius:8px;}
.glory .codedropz-upload-inner h3{font-size:.95rem !important;color:#dcdce2;margin:0;font-weight:600;}
.glory .codedropz-upload-inner span{font-size:.8rem !important;color:#7d7d86;}
.glory .codedropz-upload-inner .cd-upload-btn{font-size:.85rem !important;color:var(--glory-gold);border-bottom:1px dashed var(--glory-gold);}
.glory .codedropz-upload-inner .cd-upload-btn:hover{color:#F2E6D2;}
.glory .dnd-upload-details .name{color:#dcdce2;font-size:.82rem;}
.glory .dnd-upload-details .remove-file{color:#ff9b8a;}

/* ---- Header top contact bar (right-aligned, coordinated) ---- */
.site-header-top-section,.site-top-header-wrap{background:#0a0a0c !important;border-bottom:1px solid #1c1c22;}
.glory-topbar{
  display:flex;justify-content:flex-end;align-items:center;gap:20px;flex-wrap:wrap;
  width:100%;font-size:.8rem;color:#9a9aa2;font-family:Inter,sans-serif;
}
.glory-topbar a{
  color:#c5c5cc !important;text-decoration:none !important;display:inline-flex;align-items:center;gap:7px;
}
.glory-topbar a:hover{color:var(--glory-gold) !important;}
.glory-topbar svg{color:var(--glory-gold);flex:none;}
.glory-tb-hours{color:#9a9aa2;}
.glory-tb-divider{width:1px;height:14px;background:#2a2a30;}
@media(max-width:768px){
  .glory-topbar{justify-content:center;font-size:.72rem;gap:6px 14px;}
  .glory-tb-divider{display:none;}
}
/* The top row and main header row differ by 6px on the right (measured via
   getBoundingClientRect: email 1296 vs Book Online 1302). Nudge the top bar
   6px right on desktop so its right edge aligns with the Book Online button. */
@media(min-width:769px){
  .glory-topbar{transform:translateX(6px);}
}

/* ---- Book Online: insurance-only note ---- */
.glory-note{
  background:rgba(194,165,118,.08);border:1px solid rgba(194,165,118,.35);
  border-radius:10px;padding:16px 20px;margin-bottom:28px;
  font-size:.9rem;color:#d6d6dc;line-height:1.55;
}
.glory-note strong{color:#F2E6D2;}
.glory-note a{color:var(--glory-gold);text-decoration:underline;}

/* ---- Book Online: service card (image left, button right) ---- */
.glory-bookcard{
  display:flex;gap:0;background:var(--glory-card);border:1px solid var(--glory-border);
  border-radius:14px;overflow:hidden;align-items:stretch;
}
.glory-bookcard-img{
  flex:0 0 260px;min-height:200px;
  background:linear-gradient(135deg,#1a1a20,#101014);
  display:flex;align-items:center;justify-content:center;
  color:#55555f;font-size:.8rem;text-align:center;padding:10px;
  background-size:cover;background-position:center;
}
.glory-bookcard-body{flex:1;padding:30px 32px;display:flex;flex-direction:column;justify-content:center;}
.glory-bookcard-body h2{font-size:clamp(1.05rem,2.1vw,1.35rem);margin:0;}
.glory-bookcard-meta{color:var(--glory-gold);font-size:.9rem;margin:8px 0 12px;}
.glory-bookcard-body p{margin:0 0 20px;font-size:.95rem;}
.glory-bookcard-body .glory-btn-gold{align-self:flex-start;}
html{scroll-behavior:smooth;}
@media(max-width:680px){
  .glory-bookcard{flex-direction:column;}
  .glory-bookcard-img{flex-basis:auto;min-height:160px;}
}

/* ---- Breathing space between page content and the boxed (white) edges ---- */
.glory{
  background:#0a0a0c;padding-top:48px;padding-bottom:48px;
  width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;
}

/* ---- Book Online page only: remove boxed white card (keep on other pages) ---- */
body.page-id-9 .content-bg,
body.page-id-9 .content-container,
body.page-id-65 .content-bg,
body.page-id-65 .content-container,
body.page-id-10 .content-bg,
body.page-id-10 .content-container{
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
