/* Warner Sonic global fixes */

/* Load site fonts */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

/* Keep headings natural, not theme-uppercase */
.elementor-widget-heading .elementor-heading-title,
h1, h2, h3, h4, h5, h6 {
  text-transform: none !important;
}

/* Buttons: keep correct colors on focus/tap */
.elementor-button:active,
.elementor-button:focus,
.elementor-button:visited,
a.elementor-button:active,
a.elementor-button:focus,
a.elementor-button:visited {
  color: inherit !important;
}

.elementor-button.elementor-button-info:active,
.elementor-button.elementor-button-info:focus,
.ws-cta:active,
.ws-cta:focus,
.ws-mobile-cal-btn:active,
.ws-mobile-cal-btn:focus {
  background-color: #333333 !important;
  color: #ffffff !important;
  outline: none !important;
}

.elementor-button:not(.elementor-button-info):active,
.elementor-button:not(.elementor-button-info):focus {
  background-color: #f5f5f5 !important;
  color: #1a1a1a !important;
}

.ws-cta,
.ws-pick-btn,
.ws-fc-btn,
.ws-book-btn,
.ws-mobile-cal-btn,
.ws-hamburger {
  -webkit-tap-highlight-color: transparent !important;
}

.ws-pick-btn:active,
.ws-pick-btn:focus {
  background: #333333 !important;
  color: #ffffff !important;
  outline: none !important;
}

/* Header */
.elementor-location-header .e-con {
  padding-left: 48px !important;
  padding-right: 48px !important;
}

.ws-links a:active,
.ws-links a:focus,
.ws-mobile-menu a:active,
.ws-mobile-menu a:focus {
  color: #1a1a1a !important;
  background: transparent !important;
}

.ws-hamburger,
.ws-hamburger:hover,
.ws-hamburger:focus,
.ws-hamburger:active {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ws-hamburger span {
  background: #1a1a1a !important;
}

body:not(.wp-admin) .elementor-location-header a[href$="/videos/"],
body:not(.wp-admin) .elementor-location-header a[href*="warnersonic.com/videos/"],
body:not(.wp-admin) .ws-links a[href$="/videos/"],
body:not(.wp-admin) .ws-links a[href*="warnersonic.com/videos/"],
body:not(.wp-admin) .ws-mobile-menu a[href$="/videos/"],
body:not(.wp-admin) .ws-mobile-menu a[href*="warnersonic.com/videos/"] {
  display: none !important;
}

@media (max-width: 767px) {
  .elementor-location-header .e-con {
    padding: 16px 20px !important;
  }
}

/* Mobile layout helpers */
@media (max-width: 768px) {
  .elementor-section .elementor-col-50,
  .e-con > .e-con-inner {
    width: 100% !important;
  }
}

/* Pick a time button */
.ws-pick-wrap {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ws-pick-time-btn.elementor-button,
.elementor-button.ws-pick-time-btn {
  background-color: #1a1a1a !important;
  border: none !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  padding: 14px 28px !important;
  text-transform: none !important;
}

.ws-pick-time-btn.elementor-button:hover,
.ws-pick-time-btn.elementor-button:focus,
.ws-pick-time-btn.elementor-button:active {
  background-color: #333333 !important;
  color: #ffffff !important;
  outline: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Audio players */
.elementor-element-4c7d08f {
  gap: 16px !important;
  grid-template-columns: repeat(3, 1fr) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
}

.wpp1,
.wpp2,
.wpp3 {
  border-radius: 2px !important;
  min-width: 0 !important;
}

.wpp1 .wb,
.wpp2 .wb,
.wpp3 .wb {
  flex-shrink: 0 !important;
  margin-right: 12px !important;
}

.wpp1 .wvol,
.wpp2 .wvol,
.wpp3 .wvol {
  display: flex !important;
}

@media (max-width: 767px) {
  .elementor-element-4c7d08f {
    gap: 16px !important;
    grid-template-columns: 1fr !important;
  }
}

/* Demos page */
body.page-id-1213 .elementor-element-7cd2c70a {
  border-bottom: 0 !important;
  border-top: 0 !important;
}

body.page-id-1213 .elementor-element-1d5832b8 {
  box-sizing: border-box;
  font-family: 'DM Sans', sans-serif;
  margin: 0 auto !important;
  max-width: 1265px;
  padding: 80px 48px 32px !important;
  text-align: center;
  width: 100%;
}

body.page-id-1213 .elementor-element-1d5832b8 > p:first-child {
  color: #1a1a1a !important;
  display: block;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: 0.18em !important;
  line-height: 1.2 !important;
  margin: 0 auto 18px !important;
  text-align: center !important;
}

body.page-id-1213 .elementor-element-1d5832b8 > h1 {
  color: #1a1a1a !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(44px, 7vw, 78px) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  line-height: 0.95 !important;
  margin: 0 auto 22px !important;
  max-width: 860px;
  text-transform: none !important;
}

body.page-id-1213 .elementor-element-1d5832b8 > p:nth-of-type(2) {
  color: #666666 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  line-height: 1.75 !important;
  margin: 0 auto !important;
  max-width: 640px !important;
  text-align: center !important;
}

body.page-id-1213 .elementor-element-db2fc76 {
  align-items: center !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  margin: 0 auto 64px !important;
  max-width: 1265px;
  padding: 0 48px 64px !important;
  width: 100%;
}

body.page-id-1213 .elementor-element-db2fc76 .e-youtube-base,
body.page-id-1213 .elementor-element-db2fc76 iframe {
  aspect-ratio: 16 / 9;
  display: block !important;
  height: auto !important;
  max-width: none !important;
  width: 100% !important;
}

@media (max-width: 767px) {
  body.page-id-1213 .elementor-element-1d5832b8 {
    padding: 48px 20px 28px !important;
  }

  body.page-id-1213 .elementor-element-1d5832b8 > h1 {
    font-size: 42px !important;
  }

  body.page-id-1213 .elementor-element-db2fc76 {
    gap: 18px !important;
    padding: 0 20px 56px !important;
  }
}
