.bd-visual-polish { --bd-blue: #17417e; --bd-red: #ad1100; --bd-border: #c4d3e0; }
/* Shared desktop header, including sticky navigation and non-page templates. */
@media (min-width: 1000px) {
    .zurf-navigation .sf-menu { display: flex; align-items: center; }
    .zurf-navigation .sf-menu > li { float: none; }
    .zurf-navigation .sf-menu > li > a { line-height: 20px !important; }
    .zurf-navigation .sf-menu > li > a:not([href^="https://reservas.buceodonosti.com"]) {
        padding-top: 12px !important; padding-bottom: 12px !important;
    }
}
/* Builder IDs have historical !important rules: override by purpose, not ordinal. */
.bd-visual-polish .zurf-page-wrapper :is(.gdlr-core-button, #gdlr-core-button-id-1, #gdlr-core-button-id-7),
.bd-visual-polish .zurf-page-wrapper a.bd-dive-booking-link {
    display: inline-flex; align-items: center; justify-content: center;
    min-height: 46px; max-width: 100%; box-sizing: border-box;
    padding: 12px 22px !important; border: 1px solid var(--bd-border) !important;
    border-radius: 8px !important; background: #fff !important;
    color: var(--bd-blue) !important; font-size: 15px !important;
    font-weight: 600; line-height: 1.4 !important; letter-spacing: 0 !important;
    text-transform: none !important; text-align: center; box-shadow: none !important;
    transition: background-color .15s, border-color .15s;
}
.bd-visual-polish .zurf-page-wrapper :is(.gdlr-core-button, #gdlr-core-button-id-1, #gdlr-core-button-id-7) .gdlr-core-content { color: inherit !important; }
.bd-visual-polish .zurf-page-wrapper :is(.gdlr-core-button, #gdlr-core-button-id-1, #gdlr-core-button-id-7):hover {
    background: #edf4fa !important; border-color: var(--bd-blue) !important;
    color: var(--bd-blue) !important;
}
.bd-visual-polish .zurf-page-wrapper :is(.gdlr-core-button, #gdlr-core-button-id-1, #gdlr-core-button-id-7)[href^="https://reservas.buceodonosti.com"],
.bd-visual-polish .zurf-page-wrapper a.bd-dive-booking-link,
.bd-visual-polish .zurf-navigation .sf-menu > li > a[href^="https://reservas.buceodonosti.com"],
.bd-visual-polish .zurf-mobile-header a.bd-mobile-booking {
    background: var(--bd-red) !important; color: #fff !important;
    border-color: var(--bd-red) !important; border-radius: 8px !important;
}
.bd-visual-polish .zurf-page-wrapper :is(.gdlr-core-button, #gdlr-core-button-id-1, #gdlr-core-button-id-7)[href^="https://reservas.buceodonosti.com"]:hover,
.bd-visual-polish .zurf-page-wrapper a.bd-dive-booking-link:hover,
.bd-visual-polish .zurf-navigation .sf-menu > li > a[href^="https://reservas.buceodonosti.com"]:hover,
.bd-visual-polish .zurf-mobile-header a.bd-mobile-booking:hover { background: #871000 !important; color: #fff !important; }
.bd-visual-polish .zurf-page-wrapper a.gdlr-core-button:focus-visible,
.bd-visual-polish .zurf-page-wrapper a.bd-dive-booking-link:focus-visible,
.bd-visual-polish .zurf-navigation a[href^="https://reservas.buceodonosti.com"]:focus-visible {
    outline: 3px solid #179eb5; outline-offset: 4px; box-shadow: 0 0 0 2px #fff !important;
}

/* Left alignment avoids word-spacing rivers without changing any copy. */
.bd-visual-polish .gdlr-core-page-builder-body :is(.justify, .text-justify),
.bd-visual-polish .gdlr-core-page-builder-body :is(.justify, .text-justify) p { text-align: left !important; }
.bd-visual-polish .gdlr-core-text-box-item-content p { line-height: 1.65; }
.bd-visual-polish .gdlr-core-title-item h2 { font-size: 34px !important; line-height: 1.25; }
.bd-visual-polish .gdlr-core-title-item.fs-42 h2 { font-size: 34px !important; }
.bd-visual-polish .ondas_subtexto img { max-width: 72px; }
.bd-visual-polish .ondas_subtexto { padding-bottom: 18px !important; }
.bd-visual-polish [id]:is(.gdlr-core-title-item, .gdlr-core-pbf-wrapper, h1, h2) { scroll-margin-top: 90px; }

/* Leave the photographic hero and wave-only footer wrappers structurally intact. */
.bd-visual-polish.home .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:not(:has(.bd-home-intro)):not(.onda-negativo):not(:has(.bd-equipment)) {
    padding-top: 48px !important; padding-bottom: 40px !important;
}
.bd-visual-polish.home .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:has(.wave-bg-4) {
    padding-top: 80px !important; padding-bottom: 80px !important;
}
.bd-visual-polish.home .gdlr-core-page-builder-body :is(.mt-100, .mt-75) { margin-top: 36px !important; }
.bd-visual-polish:not(.home) .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:has(.header_fotobg) {
    padding-top: 220px !important; padding-bottom: 160px !important;
}
.bd-visual-polish .gdlr-core-pbf-wrapper.cursos_buceo { padding-bottom: 40px !important; }
.bd-visual-polish.bd-contact-page .formucontacto { padding-top: 40px !important; }
.bd-visual-polish.bd-contact-page .gdlr-core-pbf-wrapper.mt-20 { margin-top: 0 !important; padding-top: 32px !important; padding-bottom: 16px !important; }
.bd-visual-polish .zurf-footer-wrapper { padding-bottom: 80px; }

/* Cards grow to the tallest sibling in each row; no fixed text height or clipping. */
.bd-visual-polish .bd-course-description > .gdlr-core-pbf-column-content {
    display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); gap: 0 36px;
    align-items: start;
}
.bd-visual-polish .bd-course-description > .gdlr-core-pbf-column-content > .gdlr-core-pbf-element { grid-column: 2; min-width: 0; }
.bd-visual-polish .bd-course-description > .gdlr-core-pbf-column-content > .gdlr-core-pbf-element:has(.bd-course-photo) { grid-column: 1; grid-row: 1 / span 10; }
.bd-visual-polish .bd-course-photo figure { margin: 0 0 16px; }
.bd-visual-polish .bd-course-photo img { display: block; width: 100%; height: auto; border-radius: 10px; }
.bd-visual-polish .bd-course-enquiry { margin: 12px 15px 32px; border: 1px solid #c4d3e0; border-radius: 12px; background: #f3f8fb; }
.bd-visual-polish .bd-course-enquiry > .gdlr-core-pbf-column-content { max-width: 820px; margin: auto; padding: 26px 16px 16px; }
.bd-visual-polish .bd-course-enquiry h3 { font-size: 24px; line-height: 1.3; margin-bottom: 12px; }
@media (max-width: 767px) {
    .bd-visual-polish .bd-course-description > .gdlr-core-pbf-column-content { display: block; }
    .bd-visual-polish .bd-course-photo { max-width: 360px; margin: auto; }
    .bd-visual-polish .bd-course-enquiry > .gdlr-core-pbf-column-content { padding: 22px 0 12px; }
}
.bd-visual-polish .cursos_buceo .gdlr-core-pbf-wrapper-container { display: flex; flex-wrap: wrap; align-items: stretch; }
.bd-visual-polish .cursos_buceo .gdlr-core-pbf-wrapper-container::after { display: none; }
.bd-visual-polish .cursos_buceo .gdlr-core-pbf-wrapper-container > .gdlr-core-pbf-element,
.bd-visual-polish .cursos_buceo .gdlr-core-pbf-wrapper-container > .gdlr-core-column-60 { flex: 0 0 100%; }
.bd-visual-polish .cursos_buceo .gdlr-core-pbf-column:has(> .quitar_padding_rl) { display: flex; float: none; clear: none; flex: 0 0 33.333333%; min-width: 0; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl { display: flex; flex: 1; min-width: 0; transform: none !important; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl > .gdlr-core-pbf-column-content { display: flex; flex-direction: column; width: 100%; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl > .gdlr-core-pbf-column-content > .gdlr-core-pbf-element:last-child { margin-top: auto; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl .gdlr-core-image-item { padding-bottom: 20px !important; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl .gdlr-core-image-item-wrap { display: block; width: 100%; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl .gdlr-core-image-item img { width: 100%; height: auto; aspect-ratio: 7 / 5; object-fit: contain; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl h3 { line-height: 1.35; }
.bd-visual-polish .quitar_padding_rl h3 a { color: inherit; text-decoration: none; }
.bd-visual-polish .quitar_padding_rl h3 a:hover { color: var(--bd-blue); text-decoration: underline; text-underline-offset: 3px; }
.bd-visual-polish .quitar_padding_rl h3 a:focus-visible { outline: 3px solid #179eb5; outline-offset: 3px; border-radius: 2px; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl .gdlr-core-button-item { padding-top: 0; padding-bottom: 22px !important; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl .gdlr-core-text-box-item { padding-bottom: 20px !important; }
.bd-visual-polish .cursos_buceo .quitar_padding_rl .gdlr-core-text-box-item p { margin-bottom: 0; }
@media (min-width: 768px) and (max-width: 1023px) {
    .bd-visual-polish .cursos_buceo .gdlr-core-pbf-column:has(> .quitar_padding_rl) { flex-basis: 50%; }
}
@media (max-width: 767px) {
    .bd-visual-polish .cursos_buceo .gdlr-core-pbf-column:has(> .quitar_padding_rl) { flex-basis: 100%; }
    .bd-visual-polish .cursos_buceo .quitar_padding_rl { margin-top: 10px !important; margin-bottom: 14px !important; }
    .bd-visual-polish .gdlr-core-title-item h2,
    .bd-visual-polish .gdlr-core-title-item.fs-42 h2 { font-size: 28px !important; }
    .bd-visual-polish .header_fotobg h1 { font-size: 32px !important; line-height: 1.2; }
    .bd-visual-polish.home .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:not(:has(.bd-home-intro)):not(.onda-negativo):not(:has(.bd-equipment)) { padding-top: 32px !important; padding-bottom: 28px !important; }
    .bd-visual-polish.home .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:has(.wave-bg-4) { padding-top: 60px !important; padding-bottom: 60px !important; }
    .bd-visual-polish:not(.home) .gdlr-core-page-builder-body > .gdlr-core-pbf-wrapper:has(.header_fotobg) { padding-top: 50px !important; padding-bottom: 90px !important; }
    .bd-visual-polish .gdlr-core-pbf-wrapper.cursos_buceo { padding-bottom: 24px !important; }
    .bd-visual-polish.bd-contact-page .formucontacto { padding-top: 24px !important; }
    .bd-visual-polish .zurf-footer-wrapper { padding-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
    .bd-visual-polish .gdlr-core-button { transition: none !important; }
}
