/* ============================================================
   boat-detailing.com — Custom CSS
   Version: 7.0 — March 2026
   Theme: Vantage + SiteOrigin Page Builder
   Fonts: Montserrat (headings) + Open Sans (body)
   Note: No clamp(), scroll-behavior, or font-display
   ============================================================ */


/* ── Google Fonts Import ── */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@400;500;600;700&display=swap');


/* ============================================================
   LOGO SIZING
   ============================================================ */

#masthead.masthead-logo-in-menu .logo > img {
  min-height: 60px !important;
  width: 130px !important;
  height: auto !important;
  object-fit: contain !important;
}

@media (min-width: 768px) {
  #masthead.masthead-logo-in-menu .logo > img {
    min-height: 70px !important;
    width: 152px !important;
  }
}

@media (min-width: 1024px) {
  #masthead.masthead-logo-in-menu .logo > img {
    min-height: 80px !important;
    width: 173px !important;
  }
}


/* ============================================================
   HERO SLIDER — PARALLAX
   ============================================================ */

.sow-slider-base {
  display: block !important;
}

.sow-slider-image-overlay {
  transform: scale(1.12) translate(0, 0);
  transition: transform 0.05s linear;
  background-size: cover !important;
  background-position: center !important;
}

.sow-slider-image-wrapper {
  transition: transform 0.05s linear;
}


/* ── Responsive hero images ── */

.sow-slider-image-overlay {
  background-image: url('/wp-content/uploads/2026/03/boat-detailing_contact1024_660.webp');
}

@media (max-width: 768px) {
  .sow-slider-image-overlay {
    background-image: url('/wp-content/uploads/2026/03/boat-detailing_contact768_495.webp');
  }
}

@media (max-width: 480px) {
  .sow-slider-image-overlay {
    background-image: url('/wp-content/uploads/2026/03/boat-detailing_contact480_310.webp');
  }
}


/* ============================================================
   HERO TYPOGRAPHY
   Font: Montserrat (headings) + Open Sans (subtitle)
   Desktop  → H1: 60px / Subtitle: 22px
   Tablet   → H1: 44px / Subtitle: 18px
   Mobile   → H1: 32px / Subtitle: 16px
   Small    → H1: 26px / Subtitle: 15px
   ============================================================ */

/* Desktop */
.sow-slider-image-wrapper h1 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 60px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  color: #E8F4FD !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.45) !important;
  animation: bdFadeUp 0.8s 0.6s ease both;
}

.sow-slider-image-wrapper p {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 22px !important;
  font-weight: 300 !important;
  font-style: normal !important;
  color: #A8C8DC !important;
  letter-spacing: 0.02em !important;
  line-height: 1.6 !important;
  animation: bdFadeUp 0.9s 0.8s ease both;
}

/* Tablet */
@media (max-width: 1024px) {
  .sow-slider-image-wrapper h1 {
    font-size: 44px !important;
    letter-spacing: 0 !important;
  }
  .sow-slider-image-wrapper p {
    font-size: 18px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .sow-slider-image-wrapper h1 {
    font-size: 32px !important;
    line-height: 1.15 !important;
  }
  .sow-slider-image-wrapper p {
    font-size: 16px !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .sow-slider-image-wrapper h1 {
    font-size: 26px !important;
    line-height: 1.2 !important;
  }
  .sow-slider-image-wrapper p {
    font-size: 15px !important;
  }
}

@keyframes bdFadeUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* ── Slider pagination ── */

.sow-slider-base .sow-slider-pagination {
  min-width: 24px !important;
  min-height: 24px !important;
  padding: 6px !important;
  font-size: 18px !important;
  margin-right: 10px !important;
}


/* ============================================================
   SECTION HEADLINES — SITEORIGIN HEADLINE WIDGET
   Font: Montserrat 700 (H2/H3) + Open Sans 400 (sub)
   Desktop  → H2: 38px / H3: 18px / Sub: 17px
   Tablet   → H2: 30px / H3: 17px / Sub: 16px
   Mobile   → H2: 24px / H3: 16px / Sub: 15px
   ============================================================ */

/* H2 — Desktop */
h2.sow-headline {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 38px !important;
  color: #1A2E4A !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em !important;
}

/* H2 — Tablet */
@media (max-width: 1024px) {
  h2.sow-headline {
    font-size: 30px !important;
    letter-spacing: 0 !important;
  }
}

/* H2 — Mobile */
@media (max-width: 768px) {
  h2.sow-headline {
    font-size: 24px !important;
  }
}

/* H3 — Desktop */
h3.sow-headline {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #1A2E4A !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

/* H3 — Tablet */
@media (max-width: 1024px) {
  h3.sow-headline {
    font-size: 17px !important;
  }
}

/* H3 — Mobile */
@media (max-width: 768px) {
  h3.sow-headline {
    font-size: 16px !important;
  }
}

/* Sub headlines — Desktop */
.sow-sub-headline {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  color: #2C3E50 !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
}

/* Sub headlines — Tablet */
@media (max-width: 1024px) {
  .sow-sub-headline {
    font-size: 16px !important;
  }
}

/* Sub headlines — Mobile */
@media (max-width: 768px) {
  .sow-sub-headline {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
}

/* Headline divider decoration */
.sow-headline-container .decoration .decoration-inside {
  background-color: #4A7FA5 !important;
  height: 1px !important;
  width: 60px !important;
}


/* ============================================================
   FEATURES WIDGET — WHAT WE OFFER
   Font: Montserrat (title) + Open Sans (text)
   Desktop  → Title: 18px / Tagline: 13px / Text: 15px
   Tablet   → Title: 17px / Tagline: 12px / Text: 14px
   Mobile   → Title: 16px / Tagline: 12px / Text: 14px
   ============================================================ */

/* Feature title — Desktop */
.sow-features-feature-title {
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #1A2E4A !important;
  line-height: 1.3 !important;
  margin-bottom: 6px !important;
}

/* Feature title — Tablet */
@media (max-width: 1024px) {
  .sow-features-feature-title {
    font-size: 17px !important;
  }
}

/* Feature title — Mobile */
@media (max-width: 768px) {
  .sow-features-feature-title {
    font-size: 16px !important;
  }
}

/* Feature tagline */
.sow-features-feature-text {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #4A7FA5 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 10px !important;
  line-height: 1.4 !important;
}

@media (max-width: 768px) {
  .sow-features-feature-text {
    font-size: 12px !important;
  }
}

/* Feature description */
.sow-more-text {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #2C3E50 !important;
  line-height: 1.75 !important;
}

@media (max-width: 1024px) {
  .sow-more-text {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }
}

/* Features grid — full width on mobile */
@media (max-width: 768px) {
  .sow-features-feature {
    width: 100% !important;
  }
}


/* ============================================================
   WHY CHOOSE US — ITEM STYLING
   ============================================================ */

#pl-w69bc46bbb470c h3.sow-headline {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1A2E4A !important;
  margin-bottom: 6px !important;
}

#pl-w69bc46bbb470c .sow-sub-headline {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #2C3E50 !important;
  line-height: 1.6 !important;
}

@media (max-width: 768px) {
  #pl-w69bc46bbb470c h3.sow-headline {
    font-size: 15px !important;
  }
}


/* ============================================================
   BODY TEXT — GLOBAL
   ============================================================ */

.entry-content,
.entry-summary,
.textwidget {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 16px !important;
  color: #2C3E50 !important;
  line-height: 1.75 !important;
}

@media (max-width: 768px) {
  .entry-content,
  .entry-summary,
  .textwidget {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }
}


/* ============================================================
   BUTTONS — VANTAGE THEME SELECTORS
   ============================================================ */

a.button:hover,
button:hover,
html input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.post-navigation a:hover,
article.post .more-link:hover,
article.page .more-link:hover {
  background-color: #1A2E4A !important;
  border-color: #1A2E4A !important;
  opacity: 1 !important;
}

/* Button focus — accessibility */
a.button:focus,
button:focus,
input[type="submit"]:focus {
  outline: 2px solid #7CB9E8 !important;
  outline-offset: 3px !important;
}

/* SiteOrigin button widget hover */
.sowb-button.ow-button-hover:hover {
  background-color: #1A2E4A !important;
  border-color: #1A2E4A !important;
  opacity: 1 !important;
}


/* ============================================================
   CONTENT IMAGES
   ============================================================ */

.entry-content img {
  border-radius: 6px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}


/* ============================================================
   SCROLL TO TOP BUTTON
   ============================================================ */

#scroll-to-top {
  background-color: #1E6FA8 !important;
  border-radius: 6px !important;
  transition: background-color 0.2s ease !important;
}

#scroll-to-top:hover {
  background-color: #1A2E4A !important;
}


/* ============================================================
   FOOTER
   ============================================================ */

#colophon #theme-attribution,
#colophon #site-info {
  color: #6B7A8D !important;
  min-height: 40px !important;
  font-size: 14px !important;
  font-family: 'Open Sans', sans-serif !important;
}

/* Footer Privacy Policy contrast */
#colophon #site-info a.privacy-policy-link,
#colophon #site-info a.privacy-policy-link:visited {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

#colophon #site-info a.privacy-policy-link:hover,
#colophon #site-info a.privacy-policy-link:focus {
  color: #E5F4FF !important;
  text-decoration: underline !important;
}


/* ============================================================
   MOBILE GENERAL ADJUSTMENTS
   ============================================================ */

@media (max-width: 768px) {
  .sow-slider-images {
    min-height: 420px !important;
  }
  .panel-row-style-for-4-1,
  .panel-row-style-for-4-2 {
    padding: 8% 5% !important;
  }
}

@media (max-width: 480px) {
  .sow-slider-images {
    min-height: 340px !important;
  }
}


/* ============================================================
   END OF FILE
   ============================================================ */

/* ============================================================
   boat-detailing.com — Button CSS
   Schedule a Free Estimate + Send Request
   Responsive: Desktop / Tablet / Mobile / Small
   No gap, clamp, scroll-behavior, font-display
   ============================================================ */


/* ============================================================
   SCHEDULE A FREE ESTIMATE — SiteOrigin Button Widget
   ============================================================ */

.sowb-button,
.bd-cta-button,
a.sowb-button {
  display: inline-block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: #FFFFFF !important;
  background-color: #1E6FA8 !important;
  border: 2px solid #1E6FA8 !important;
  border-radius: 6px !important;
  padding: 14px 32px !important;
  text-decoration: none !important;
  transition: background-color 0.25s ease, border-color 0.25s ease !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.20) !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  text-align: center !important;
}

/* Icon spacing — replaces gap */
.sowb-button .sow-icon-materialicons,
.bd-cta-button .sow-icon-materialicons,
.sowb-button [class*="sow-icon"],
.bd-cta-button [class*="sow-icon"] {
  margin-right: 8px !important;
  vertical-align: middle !important;
}

.sowb-button:hover,
.bd-cta-button:hover,
a.sowb-button:hover {
  background-color: #1A2E4A !important;
  border-color: #1A2E4A !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
}

.sowb-button:active,
.bd-cta-button:active {
  background-color: #142338 !important;
  border-color: #142338 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.20) !important;
}

.sowb-button:focus,
.bd-cta-button:focus {
  outline: 2px solid #7CB9E8 !important;
  outline-offset: 3px !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .sowb-button,
  .bd-cta-button,
  a.sowb-button {
    font-size: 14px !important;
    padding: 13px 28px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .sowb-button,
  .bd-cta-button,
  a.sowb-button {
    font-size: 14px !important;
    padding: 13px 24px !important;
    white-space: normal !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .sowb-button,
  .bd-cta-button,
  a.sowb-button {
    font-size: 14px !important;
    /*padding: 12px 20px !important;*/
    width: 100% !important;
    display: block !important;
  }
}


/* ============================================================
   SEND REQUEST — Contact Form 7 Submit Button
   ============================================================ */

.wpcf7 input[type="submit"],
input[type="submit"],
button[type="submit"] {
  display: inline-block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  color: #FFFFFF !important;
  background-color: #1E6FA8 !important;
  border: 2px solid #1E6FA8 !important;
  border-radius: 6px !important;
  padding: 14px 36px !important;
  cursor: pointer !important;
  transition: background-color 0.25s ease, border-color 0.25s ease !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.20) !important;
  min-width: 180px !important;
  text-align: center !important;
}

.wpcf7 input[type="submit"]:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: #1A2E4A !important;
  border-color: #1A2E4A !important;
  color: #FFFFFF !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25) !important;
  opacity: 1 !important;
}

.wpcf7 input[type="submit"]:active,
input[type="submit"]:active,
button[type="submit"]:active {
  background-color: #142338 !important;
  border-color: #142338 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.20) !important;
}

.wpcf7 input[type="submit"]:focus,
input[type="submit"]:focus,
button[type="submit"]:focus {
  outline: 2px solid #7CB9E8 !important;
  outline-offset: 3px !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .wpcf7 input[type="submit"],
  input[type="submit"],
  button[type="submit"] {
    font-size: 14px !important;
    padding: 13px 30px !important;
    min-width: 160px !important;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .wpcf7 input[type="submit"],
  input[type="submit"],
  button[type="submit"] {
    font-size: 14px !important;
    /*padding: 13px 24px !important;*/
    width: 100% !important;
    min-width: unset !important;
    display: block !important;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  .wpcf7 input[type="submit"],
  input[type="submit"],
  button[type="submit"] {
    font-size: 14px !important;
    /*padding: 13px 20px !important;*/
    width: 100% !important;
    display: block !important;
  }
}


/* ============================================================
   END OF FILE
   ============================================================ */

/* HTML Sitemap — rename Page heading to Site Map */
.siteseo-html-sitemap h2 {
  font-size: 0 !important;
}

.siteseo-html-sitemap h2::after {
  content: 'Site Map' !important;
  font-size: 22px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-weight: 700 !important;
  color: #1A2E4A !important;
}