/* ============================================================
   GT MEDICAL UK — brand styles for header, footer & global UI
   Enqueued from the child theme functions.php
   ============================================================ */
:root{
  --gt-red:        #C8102E;
  --gt-red-deep:   #8E0E22;
  --gt-red-tint:   #FDECEF;
  --gt-navy:       #1B2A41;
  --gt-navy-soft:  #24354F;
  --gt-grey:       #4A5568;
  --gt-bg:         #F5F7FA;
  --gt-line:       #D6DCE5;
  --gt-teal:       #0E7C7B;
  --gt-font-display: "Archivo", sans-serif;
  --gt-font-body:  "IBM Plex Sans", sans-serif;
}

body{ font-family: var(--gt-font-body); color: var(--gt-grey); background: var(--gt-bg); }
h1,h2,h3,h4,h5,.navbar-brand{ font-family: var(--gt-font-display); color: var(--gt-navy); }

/* ---------- Sticky frame ----------
   LiveCanvas wraps the header partial in #lc-header.
   Sticking the wrapper with a negative top lets the utility
   bar (37px) slide away while the main navbar stays pinned. */
#lc-header{ position: sticky; top: -37px; z-index: 1030; }

/* ---------- Top utility bar ---------- */
.gt-topbar{
  background: var(--gt-navy);
  color: #C9D3E2;
  font-size: .82rem;
  letter-spacing: .02em;
  height: 37px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.gt-topbar a{ color:#fff; text-decoration:none; }
.gt-topbar a:hover{ color: var(--gt-red-tint); }
.gt-topbar .gt-dot{ color: var(--gt-red); margin: 0 .6rem; }

/* ---------- Main navbar ---------- */
.gt-navbar{
  background:#fff;
  border-bottom: 1px solid var(--gt-line);
}
.gt-navbar .navbar-brand{
  font-weight: 800;
  font-stretch: 125%;
  font-size: 1.35rem;
  letter-spacing: .01em;
  color: var(--gt-red);
  text-transform: uppercase;
}
.gt-navbar .navbar-brand small{
  display:block;
  font-family: var(--gt-font-body);
  font-weight: 500;
  font-size: .62rem;
  letter-spacing: .28em;
  color: var(--gt-navy);
  text-transform: uppercase;
}
.gt-navbar .nav-link{
  font-family: var(--gt-font-display);
  font-weight: 600;
  font-size: .92rem;
  color: var(--gt-navy);
  padding: .5rem .85rem;
  position: relative;
}
.gt-navbar .nav-link:hover,
.gt-navbar .nav-link.active{ color: var(--gt-red); }
.gt-navbar .nav-link.active::after{
  content:"";
  position:absolute; left:.85rem; right:.85rem; bottom:.15rem;
  height:2px; background: var(--gt-red);
}
.btn-gt-red{
  background: var(--gt-red);
  color:#fff;
  font-family: var(--gt-font-display);
  font-weight: 700;
  border: 0;
  border-radius: .35rem;
  padding: .55rem 1.25rem;
}
.btn-gt-red:hover,
.btn-gt-red:focus{ background: var(--gt-red-deep); color:#fff; }

/* ---------- Footer ---------- */
.gt-footer{
  background: var(--gt-navy);
  color: #A9B6C9;
  font-size: .92rem;
}
.gt-footer::before{
  content:"";
  display:block;
  height: 4px;
  background: linear-gradient(90deg, var(--gt-red) 0 30%, var(--gt-red-deep) 100%);
}
.gt-footer h6{
  color:#fff;
  font-family: var(--gt-font-display);
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.gt-footer a{ color:#DCE4F0; text-decoration:none; }
.gt-footer a:hover{ color:#fff; text-decoration:underline; }
.gt-footer ul{ list-style:none; padding:0; margin:0; }
.gt-footer li{ margin-bottom:.45rem; }
.gt-footer .gt-footer-brand{
  font-family: var(--gt-font-display);
  font-weight: 800;
  font-stretch: 125%;
  font-size: 1.2rem;
  color:#fff;
  text-transform: uppercase;
}
.gt-footer .gt-footer-brand span{ color: var(--gt-red); }
.gt-footer-bottom{
  border-top: 1px solid var(--gt-navy-soft);
  font-size: .8rem;
  color: #7E8CA1;
}

/* ---------- Shared section elements ---------- */
.gt-eyebrow{
  font-family: var(--gt-font-display);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gt-red);
}
.btn-gt-outline{
  background: transparent;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,.55);
  font-family: var(--gt-font-display);
  font-weight: 700;
  border-radius: .35rem;
  padding: .55rem 1.25rem;
}
.btn-gt-outline:hover{ background: rgba(255,255,255,.1); color:#fff; border-color:#fff; }

/* ---------- Hero ---------- */
.gt-hero{
  background:
    radial-gradient(60rem 30rem at 85% -20%, rgba(200,16,46,.28), transparent 60%),
    linear-gradient(160deg, var(--gt-navy) 0%, #14213A 55%, #101B30 100%);
  color: #C9D3E2;
}
.gt-hero h1{ color:#fff; font-weight:800; letter-spacing:-.01em; }
.gt-hero .gt-hero-lead{ font-size:1.12rem; max-width: 34rem; }
.gt-stat-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-left: 3px solid var(--gt-red);
  border-radius: .5rem;
  padding: 1rem 1.25rem;
}
.gt-stat-card strong{
  display:block;
  font-family: var(--gt-font-display);
  font-weight: 700;
  color:#fff;
  font-size:1.02rem;
}
.gt-stat-card span{ font-size:.88rem; }

/* ---------- Trust strip ---------- */
.gt-trust{ background:#fff; border-bottom:1px solid var(--gt-line); }
.gt-trust .gt-trust-item{
  font-family: var(--gt-font-display);
  font-weight: 600;
  font-size: .9rem;
  color: var(--gt-navy);
}
.gt-trust .gt-trust-item svg{ color: var(--gt-red); }

/* ---------- Service cards ---------- */
.gt-card{
  background:#fff;
  border: 1px solid var(--gt-line);
  border-radius: .6rem;
  padding: 1.75rem 1.5rem;
  height:100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.gt-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 14px 30px -14px rgba(27,42,65,.25);
  border-color: transparent;
}
.gt-card .gt-icon{
  width: 46px; height: 46px;
  display:flex; align-items:center; justify-content:center;
  background: var(--gt-red-tint);
  color: var(--gt-red);
  border-radius: .5rem;
  margin-bottom: 1rem;
}
.gt-card h3{ font-size:1.12rem; font-weight:700; }
.gt-card p{ font-size:.93rem; margin-bottom:1rem; }
.gt-card .gt-card-link{
  font-family: var(--gt-font-display);
  font-weight: 700;
  font-size:.9rem;
  color: var(--gt-red);
  text-decoration:none;
}
.gt-card .gt-card-link:hover{ color: var(--gt-red-deep); text-decoration:underline; }

/* ---------- Rental focus panel ---------- */
.gt-panel-tint{
  background: var(--gt-red-tint);
  border-radius: .75rem;
}
.gt-check-list{ list-style:none; padding:0; margin:0; }
.gt-check-list li{
  padding-left: 1.7rem;
  position: relative;
  margin-bottom: .6rem;
}
.gt-check-list li::before{
  content:"";
  position:absolute; left:0; top:.32em;
  width: .95em; height: .95em;
  background: var(--gt-red);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.9 3.5 6.5 10.9 2.6 7l-1.2 1.2 5.1 5.1 8.6-8.6z"/></svg>') center/contain no-repeat;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M13.9 3.5 6.5 10.9 2.6 7l-1.2 1.2 5.1 5.1 8.6-8.6z"/></svg>') center/contain no-repeat;
}

/* ---------- Dark band ---------- */
.gt-band-navy{ background: var(--gt-navy); color:#A9B6C9; }
.gt-band-navy h2{ color:#fff; }

/* ---------- Final CTA ---------- */
.gt-cta{
  background: linear-gradient(120deg, var(--gt-red) 0%, var(--gt-red-deep) 100%);
  color:#fff;
}
.gt-cta h2{ color:#fff; font-weight:800; }
.gt-cta a.gt-cta-phone{
  color:#fff;
  font-family: var(--gt-font-display);
  font-weight:700;
  font-size:1.3rem;
  text-decoration:none;
}
.gt-cta a.gt-cta-phone:hover{ text-decoration:underline; }
.btn-gt-white{
  background:#fff;
  color: var(--gt-red);
  font-family: var(--gt-font-display);
  font-weight:700;
  border:0;
  border-radius:.35rem;
  padding:.6rem 1.4rem;
}
.btn-gt-white:hover{ background: var(--gt-red-tint); color: var(--gt-red-deep); }

/* ---------- Inner page hero ---------- */
.gt-page-hero{
  background:
    radial-gradient(45rem 22rem at 90% -30%, rgba(200,16,46,.25), transparent 60%),
    linear-gradient(160deg, var(--gt-navy) 0%, #14213A 70%);
  color:#C9D3E2;
}
.gt-page-hero h1{ color:#fff; font-weight:800; }

/* ---------- Price banner ---------- */
.gt-price-banner{
  background:#fff;
  border:1px solid var(--gt-line);
  border-top:4px solid var(--gt-red);
  border-radius:.75rem;
}
.gt-price-figure{
  font-family: var(--gt-font-display);
  font-weight:800;
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: var(--gt-navy);
  line-height:1.1;
}
.gt-price-figure span{ color: var(--gt-red); }
.gt-price-note{ font-size:.85rem; color:var(--gt-grey); }

/* ---------- Numbered steps ---------- */
.gt-step{ display:flex; gap:1rem; }
.gt-step .gt-step-num{
  flex:0 0 auto;
  width:2.4rem; height:2.4rem;
  border-radius:50%;
  background: var(--gt-red);
  color:#fff;
  font-family: var(--gt-font-display);
  font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.gt-step h3{ font-size:1.05rem; font-weight:700; margin-bottom:.35rem; }
.gt-step p{ font-size:.93rem; margin:0; }

/* ---------- FAQ accordion ---------- */
.gt-faq .accordion-item{ border:1px solid var(--gt-line); border-radius:.5rem; overflow:hidden; margin-bottom:.75rem; }
.gt-faq .accordion-button{
  font-family: var(--gt-font-display);
  font-weight:700;
  color: var(--gt-navy);
  background:#fff;
  box-shadow:none;
}
.gt-faq .accordion-button:not(.collapsed){ color: var(--gt-red); background: var(--gt-red-tint); }
.gt-faq .accordion-button:focus{ box-shadow:none; }

/* ---------- Contact page ---------- */
.gt-form-card{
  background:#fff;
  border:1px solid var(--gt-line);
  border-top:4px solid var(--gt-red);
  border-radius:.75rem;
}
.gt-form-card .form-label{
  font-family: var(--gt-font-display);
  font-weight:600;
  font-size:.88rem;
  color: var(--gt-navy);
  margin-bottom:.3rem;
}
.gt-form-card .form-control:focus,
.gt-form-card .form-select:focus{
  border-color: var(--gt-red);
  box-shadow: 0 0 0 .2rem rgba(200,16,46,.12);
}
.gt-form-card .wpcf7-not-valid-tip{ color: var(--gt-red); font-size:.82rem; margin-top:.25rem; }
.gt-form-card .wpcf7-response-output{
  border:1px solid var(--gt-line);
  border-radius:.4rem;
  padding:.7rem 1rem;
  margin:1rem 0 0;
}
.gt-contact-item{ display:flex; gap:.9rem; margin-bottom:1.25rem; }
.gt-contact-item .gt-icon{ flex:0 0 auto; width:42px; height:42px; margin-bottom:0; }
.gt-contact-item strong{
  display:block;
  font-family: var(--gt-font-display);
  font-weight:700;
  color: var(--gt-navy);
  font-size:.95rem;
}
.gt-contact-item a{ color: var(--gt-grey); text-decoration:none; }
.gt-contact-item a:hover{ color: var(--gt-red); }
