/**
 * Global CTA presentation layer.
 * Visual states only — links, modal triggers and form behavior are untouched.
 */
:root {
  --cta-red:#e64b12;
  --cta-crimson:#e64b12;
  --cta-wine:#a8320c;
  --cta-black:#070707;
  --cta-ease:cubic-bezier(.22,1,.36,1);
}

/* CTA bands retain their original layout while receiving premium lighting. */
.reference-cta,.corporate-cta,.ccs-about-cta {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background-image:
    radial-gradient(circle at 82% 45%,rgba(230,75,18,.16),transparent 27%),
    radial-gradient(circle at 10% 110%,rgba(168,50,12,.2),transparent 34%),
    linear-gradient(115deg,#070707,#151515 52%,#100004);
  border-block-color:rgba(230,75,18,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),inset 0 -1px 0 rgba(230,75,18,.18);
}
.reference-cta::before,.corporate-cta::before,.ccs-about-cta::before {
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  pointer-events:none;
  opacity:.5;
  background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.025) 46%,rgba(230,75,18,.06) 52%,transparent 74%);
}
.reference-cta::after,.corporate-cta::after,.ccs-about-cta::after {
  content:"";
  position:absolute;
  z-index:2;
  top:0;
  left:50%;
  width:min(560px,62%);
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,#e64b12,transparent);
  box-shadow:0 0 14px rgba(230,75,18,.42);
  transform:translateX(-50%);
}
.reference-cta > .container,.corporate-cta > .container,.ccs-about-cta > .container { position:relative; z-index:1; }
.reference-cta h2,.corporate-cta h2,.ccs-about-cta h2 { color:#fff; text-shadow:0 8px 28px rgba(0,0,0,.36); }
.reference-cta h2 span,.corporate-cta h2 span,.ccs-about-cta .ccs-kicker { color:#e64b12; text-shadow:0 0 18px rgba(230,75,18,.16); }
.reference-cta p,.corporate-cta p,.ccs-about-cta p { color:#c8c8c8; }

/* Shared CTA control foundation; existing sizes, padding and radius remain. */
.gold-btn,.nav-book,.white-btn,.outline-btn,
.home-fleet-book-btn,.vehicle-btn-book,.vehicle-btn-quote,.floating-action,
.home-fleet-view-all a,.center-action .gold-btn,.center-action .white-btn,
.booking-form .gold-btn,.contact-form .gold-btn {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
  transition:
    transform 400ms var(--cta-ease),
    color 350ms ease,
    background-color 350ms ease,
    border-color 350ms ease,
    box-shadow 400ms var(--cta-ease),
    filter 350ms ease;
}

/* Primary action: crimson gloss and controlled highlight sweep. */
.gold-btn,.nav-book,.home-fleet-book-btn,.vehicle-btn-book,.floating-action,
.center-action .gold-btn,.booking-form .gold-btn,.contact-form .gold-btn,
.page-template-page-fleet .nav-book {
  color:#fff;
  border-color:#e64b12;
  background:linear-gradient(145deg,#f06a37 0%,#e64b12 16%,#e64b12 58%,#a8320c 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(0,0,0,.28),0 11px 25px rgba(230,75,18,.3),0 0 0 1px rgba(230,75,18,.08);
}
.gold-btn::before,.nav-book::before,.white-btn::before,.outline-btn::before,.floating-action::before,
.home-fleet-book-btn::before,.vehicle-btn-book::before,.vehicle-btn-quote::before,
.home-fleet-view-all a::before,.center-action .gold-btn::before,.center-action .white-btn::before,
.booking-form .gold-btn::before,.contact-form .gold-btn::before {
  content:"";
  position:absolute;
  z-index:0;
  top:-60%;
  bottom:-60%;
  left:-45%;
  width:32%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);
  transform:translate3d(-180%,0,0) skewX(-18deg);
  transition:transform 650ms var(--cta-ease),opacity 220ms ease;
}
.gold-btn:hover::before,.nav-book:hover::before,.white-btn:hover::before,.outline-btn:hover::before,.floating-action:hover::before,
.home-fleet-book-btn:hover::before,.vehicle-btn-book:hover::before,.vehicle-btn-quote:hover::before,
.home-fleet-view-all a:hover::before,.center-action .gold-btn:hover::before,.center-action .white-btn:hover::before,
.booking-form .gold-btn:hover::before,.contact-form .gold-btn:hover::before {
  opacity:.75;
  transform:translate3d(560%,0,0) skewX(-18deg);
}
.gold-btn:hover,.nav-book:hover,.home-fleet-book-btn:hover,.vehicle-btn-book:hover,.floating-action:hover,
.center-action .gold-btn:hover,.booking-form .gold-btn:hover,.contact-form .gold-btn:hover,
.page-template-page-fleet .nav-book:hover {
  color:#fff;
  border-color:#e64b12;
  background:#070707;
  box-shadow:inset 0 0 0 1px rgba(230,75,18,.68),0 15px 34px rgba(0,0,0,.46),0 0 24px rgba(230,75,18,.2);
  transform:translate3d(0,-3px,0) scale(1.015);
}

/* Secondary action: black glass, crisp red edge and wine-red hover. */
.white-btn,.outline-btn,.vehicle-btn-quote,.home-fleet-view-all a,.center-action .white-btn {
  color:#fff;
  border-color:rgba(230,75,18,.72);
  background:linear-gradient(145deg,#070707,#121212);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 24px rgba(0,0,0,.34);
}
.white-btn:hover,.outline-btn:hover,.vehicle-btn-quote:hover,.home-fleet-view-all a:hover,.center-action .white-btn:hover {
  color:#fff;
  border-color:#e64b12;
  background:linear-gradient(145deg,#e64b12,#a8320c);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 30px rgba(0,0,0,.42),0 0 22px rgba(230,75,18,.2);
  transform:translate3d(0,-3px,0) scale(1.015);
}

.gold-btn:active,.nav-book:active,.white-btn:active,.outline-btn:active,.floating-action:active,
.home-fleet-book-btn:active,.vehicle-btn-book:active,.vehicle-btn-quote:active,
.home-fleet-view-all a:active,.center-action .gold-btn:active,.center-action .white-btn:active {
  transform:translate3d(0,0,0) scale(.985);
  transition-duration:120ms;
}
.gold-btn:focus-visible,.nav-book:focus-visible,.white-btn:focus-visible,.outline-btn:focus-visible,.floating-action:focus-visible,
.home-fleet-book-btn:focus-visible,.vehicle-btn-book:focus-visible,.vehicle-btn-quote:focus-visible,
.home-fleet-view-all a:focus-visible,.footer-button-link:focus-visible {
  outline:2px solid #e64b12;
  outline-offset:4px;
  box-shadow:0 0 0 4px rgba(230,75,18,.16),0 12px 28px rgba(0,0,0,.4);
}
.gold-btn:disabled,.white-btn:disabled,.vehicle-btn-book:disabled {
  opacity:.42;
  cursor:not-allowed;
  filter:saturate(.45);
  transform:none;
  box-shadow:none;
}

/* Existing arrow/icon children receive a restrained directional response. */
.gold-btn > span,.white-btn > span,.outline-btn > span,.home-fleet-book-btn > span,
.vehicle-btn-book > span,.vehicle-btn-quote > span,.home-fleet-view-all a > span {
  display:inline-block;
  transition:transform 400ms var(--cta-ease);
}
.gold-btn:hover > span,.white-btn:hover > span,.outline-btn:hover > span,.home-fleet-book-btn:hover > span,
.vehicle-btn-book:hover > span,.vehicle-btn-quote:hover > span,.home-fleet-view-all a:hover > span { transform:translate3d(5px,0,0); }

/* Preserve card-level directional motion when the pointer reaches its CTA. */
.hover-card:hover .hover-card__action:hover { transform:translate3d(6px,-3px,0) scale(1.015); }

.footer-button-link { color:#c8c8c8; transition:color 300ms ease,text-shadow 300ms ease,transform 350ms var(--cta-ease); }
.footer-button-link:hover { color:#e64b12; text-shadow:0 0 13px rgba(230,75,18,.28); transform:translate3d(4px,0,0); }

@media (prefers-reduced-motion:reduce) {
  .gold-btn,.nav-book,.white-btn,.outline-btn,.floating-action,.home-fleet-book-btn,.vehicle-btn-book,.vehicle-btn-quote,
  .home-fleet-view-all a,.footer-button-link { transition-duration:.01ms !important; transform:none !important; }
  .gold-btn::before,.nav-book::before,.white-btn::before,.outline-btn::before,.floating-action::before,.home-fleet-book-btn::before,
  .vehicle-btn-book::before,.vehicle-btn-quote::before,.home-fleet-view-all a::before { display:none; }
}
