/* Styles for elements added by the PHP conversion (not part of the original theme). */
.dw-form-error {
    max-width: 1100px;
    margin: 12px auto;
    padding: 12px 18px;
    border: 1px solid #e0b4b4;
    border-radius: 6px;
    background: #fff6f6;
    color: #9f3a38;
    font-size: 15px;
    text-align: center;
}
.dw-search-results { max-width: 1100px; margin: 0 auto; padding: 40px 20px; }
.dw-search-results h1 { margin-bottom: 24px; }
.dw-search-results ol { list-style: none; padding: 0; }
.dw-search-results li { margin-bottom: 26px; }
.dw-search-results li a { font-size: 19px; font-weight: 600; }
.dw-search-results .dw-excerpt { color: #666; margin-top: 6px; line-height: 1.6; }
.dw-pagination { text-align: center; margin: 40px 0; }
.dw-pagination a, .dw-pagination span {
    display: inline-block; padding: 8px 14px; margin: 0 4px;
    border: 1px solid #ddd; border-radius: 4px; text-decoration: none;
}
.dw-pagination .current { background: #222; color: #fff; border-color: #222; }

/* Home hero video (replaces the Revolution Slider block). */
.dw-hero {
    position: relative;
    width: 100%;
    min-height: 640px;
    height: 82vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    background: #0d1520;
}
.dw-hero__video {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%; min-height: 100%;
    width: auto; height: auto;
    object-fit: cover;
    z-index: 0;
}
.dw-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(8,16,26,.55) 0%, rgba(8,16,26,.28) 55%, rgba(8,16,26,.12) 100%);
}
.dw-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 40px;
    color: #fff;
}
.dw-hero__eyebrow {
    font-family: 'Bebas Neue', 'Roboto', sans-serif;
    font-size: 26px;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: #e4372f;
    margin: 0 0 14px;
}
.dw-hero__title {
    font-family: 'Bebas Neue', 'Roboto', sans-serif;
    font-size: clamp(44px, 6vw, 92px);
    line-height: 1.03;
    letter-spacing: 1px;
    color: #fff;
    margin: 0 0 34px;
}
.dw-hero__title span { color: #f58120; }
.dw-hero__btn {
    display: inline-block;
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    background: #ed8200;
    padding: 20px 36px;
    text-decoration: none;
    transition: background .25s ease, filter .25s ease;
}
.dw-hero__btn:hover,
.dw-hero__btn:focus { background: #0b8947; color: #fff; filter: brightness(1.2); }

@media (max-width: 767px) {
    .dw-hero { min-height: 480px; height: 70vh; }
    .dw-hero__inner { padding: 0 22px; }
    .dw-hero__eyebrow { font-size: 20px; letter-spacing: 3px; }
    .dw-hero__btn { font-size: 17px; padding: 16px 28px; }
}

/* Background videos are decorative: no player chrome, no pointer interaction. */
.dw-hero__video,
.elementor-background-video-hosted { pointer-events: none; }
.dw-hero__video::-webkit-media-controls,
.dw-hero__video::-webkit-media-controls-enclosure,
.dw-hero__video::-webkit-media-controls-panel,
.dw-hero__video::-webkit-media-controls-start-playback-button,
.elementor-background-video-hosted::-webkit-media-controls,
.elementor-background-video-hosted::-webkit-media-controls-enclosure,
.elementor-background-video-hosted::-webkit-media-controls-panel,
.elementor-background-video-hosted::-webkit-media-controls-start-playback-button {
    display: none !important;
    -webkit-appearance: none;
}

/* Elementor's core frontend.min.css (which normally positions/sizes
   .elementor-background-video-container) isn't part of this build, so the
   "play" section's background video has no layout rules at all. Reinstating
   the essentials here. */
.elementor-element-24b7c161 {
    position: relative;
    overflow: hidden;
    min-height: 560px;
    display: flex;
    align-items: center;
}
.elementor-element-24b7c161 > .elementor-container {
    position: relative;
    z-index: 2;
    width: 100%;
}
.elementor-background-video-container {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}
.elementor-background-video-container .elementor-background-video-hosted {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%; min-height: 100%;
    width: auto; height: auto;
    object-fit: cover;
}
.elementor-element-24b7c161 > .elementor-background-overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: #08101a;
}

@media (max-width: 767px) {
    .elementor-element-24b7c161 { min-height: 420px; }
}
