/* Southtax Cars v0.4 — spacing/alignment/brand corrections.
 * Scoped to the site's own components to avoid overriding Elementor widgets.
 * Desktop booking layout and the booking provider iframe are unchanged.
 */
:root {
  --st-space-1: .5rem;
  --st-space-2: 1rem;
  --st-space-3: 1.5rem;
  --st-space-4: 2rem;
  --st-space-5: 3rem;
}
/* Use supplied company logo by default; an uploaded WP custom logo can override it. */
.st-header .st-brand { flex: 0 0 auto; display: flex; align-items: center; max-width: 184px; min-width: 0; }
.st-header .st-brand__link,
.st-header .st-brand .custom-logo-link { display: inline-flex; width: 100%; align-items:center; line-height: 1; }
.st-header .st-brand__logo,
.st-header .st-brand .custom-logo { display: block; width: 180px; height: auto; max-height: 53px; object-fit: contain; }
.st-header .st-header__inner { justify-content: space-between; padding-block: 9px; }
/* Avoid content widgets injecting extra margins in our component typography. */
.st-home-main .st-hero :is(.st-hero__eyebrow,.st-hero__description,.st-hero__booking-heading) { margin-top: 0; }
.st-home-main .st-hero__content h1 { overflow-wrap: normal; text-wrap: balance; }
.st-home-main .st-hero__booking { min-width: 0; }
@media (max-width: 1060px) {
  .st-header .st-brand { max-width: 175px; }
  .st-header .st-brand__logo,
  .st-header .st-brand .custom-logo { width: 172px; max-height: 50px; }
}
@media (max-width: 760px) {
  .st-header .st-header__inner { min-height: 72px; gap: 12px; padding-block: 10px; }
  .st-header .st-brand { max-width: min(46vw, 170px); }
  .st-header .st-brand__logo,
  .st-header .st-brand .custom-logo { width: min(46vw, 170px); max-height: 48px; }
  .st-header .st-mobile-navigation__toggle { min-height: 44px; }
  .st-home-main .st-hero__grid {
    width: min(calc(100% - 48px), 650px);
    margin-inline: auto;
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
    padding-block: 38px 48px;
  }
  .st-home-main .st-hero__content {
    width: 100%;
    max-width: 610px;
    margin-inline: auto;
    padding: 0;
    text-align: center;
  }
  .st-home-main .st-hero__eyebrow {
    margin: 0 auto 12px;
    font-size: clamp(.76rem, 2vw, .91rem);
    line-height: 1.5;
    letter-spacing: .075em;
  }
  .st-home-main .st-hero__content h1 {
    font-size: clamp(2rem, 7vw, 2.9rem);
    line-height: 1.13;
    letter-spacing: -.035em;
    margin: 0 auto 18px;
    max-width: 18ch;
  }
  .st-home-main .st-hero__description {
    font-size: clamp(.96rem, 2.5vw, 1.065rem);
    line-height: 1.57;
    max-width: 57ch;
    margin: 0 auto 24px;
    text-wrap: pretty;
  }
  .st-home-main .st-hero__actions {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin: 0 auto;
  }
  .st-home-main .st-hero__actions .st-button {
    min-width: 192px;
    min-height: 52px;
    justify-content: center;
    margin-inline: auto;
    padding: 15px 25px;
  }
  .st-home-main .st-hero__booking { max-width: 460px; margin-inline: auto; }
  .st-home-main .st-hero__booking-heading { margin: 0 0 12px; font-size: 1rem; }
}
@media (max-width: 440px) {
  .st-header .st-header__inner { min-height: 68px; padding-block: 9px; }
  .st-header .st-brand { max-width: min(47vw, 150px); }
  .st-header .st-brand__logo,
  .st-header .st-brand .custom-logo { width: min(47vw, 150px); max-height: 43px; }
  .st-header .st-mobile-navigation__toggle { padding: 8px 11px; }
  .st-home-main .st-hero__grid {
    width: calc(100% - 36px);
    gap: 26px;
    padding-block: 32px 40px;
  }
  .st-home-main .st-hero__eyebrow { margin-bottom: 10px; font-size: .74rem; letter-spacing: .06em; }
  .st-home-main .st-hero__content h1 {
    font-size: clamp(1.88rem, 8vw, 2.2rem);
    margin-bottom: 15px;
  }
  .st-home-main .st-hero__description {
    font-size: .94rem;
    line-height: 1.53;
    margin-bottom: 20px;
  }
  .st-home-main .st-hero__actions .st-button { width: min(100%, 230px); }
  .st-home-main .st-hero__booking-heading { font-size: .92rem; }
}
@media (max-width: 340px) {
  .st-header .st-brand { max-width: 140px; }
  .st-header .st-brand__logo,
  .st-header .st-brand .custom-logo { width: 140px; }
  .st-header .st-mobile-navigation__toggle { gap: 7px; padding-inline: 9px; }
  .st-home-main .st-hero__content h1 { font-size: 1.84rem; }
}
