:root {
    --csb-navy: #063e66;
    --csb-deep: #022f52;
    --csb-blue: #0875c9;
    --csb-green: #12c981;
    --csb-border: #d9e4ec;
    --csb-soft: #f3f7fa
}

.csb-wrap {
    width: min(1420px, 92%);
    margin: auto
}

.csb-listing,
.csb-detail {
    color: #092f51;
    background: #fff
}

.csb-hero {
    padding: 100px 0px;
    background: linear-gradient(90deg, rgba(0, 48, 78, .5), rgba(0, 80, 110, .18)), url('../assets/hero.png') center/cover, #1387aa;
    color: #fff;
    text-align: center
}

.csb-hero h1 {
    font-size: 46px;
    margin: 0 0 6px
}

.csb-hero p {
    font-size: 19px
}

.csb-searchbar {
    background: #fff;
    padding: 12px;
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(4, 1fr) 150px;
    gap: 10px;
    color: #173b59;
    text-align: left;
    box-shadow: 0 8px 30px #002a4930
}

.csb-searchbar label {
    font-size: 12px;
    font-weight: 700
}

.csb-searchbar input,
.csb-searchbar select,
.csb-filters input,
.csb-filters select {
    width: 100%;
    padding: 10px;
    border: 1px solid var(--csb-border);
    border-radius: 7px;
    background: #fff
}

.csb-searchbar button,
.csb-primary {
    background: var(--csb-navy);
    color: #fff;
    border: 0;
    border-radius: 7px;
    padding: 12px 18px;
    text-decoration: none;
    text-align: center;
    font-weight: 700;
    display: inline-block
}

.csb-chips {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 22px 0
}

.csb-chips button {
    border: 1px solid var(--csb-border);
    background: #fff;
    border-radius: 24px;
    padding: 10px 18px;
    color: #153d5e
}

.csb-layout {
    display: block;
    grid-template-columns: 250px 1fr;
    gap: 30px;
        margin-top: 100px;
}

.csb-filters {
    border: 1px solid var(--csb-border);
    border-radius: 8px;
    padding: 16px;
    height: max-content
}

.csb-filter-head,
.csb-results-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px
}

.csb-filter-head button {
    border: 0;
    background: none;
    text-decoration: underline
}

.csb-filters h4 {
    border-top: 1px solid #e7edf2;
    padding-top: 14px;
    margin: 16px 0 9px
}

.csb-filters label {
    display: block;
    margin: 7px 0
}

.csb-filters label input {
    width: auto
}

.csb-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px
}

.csb-filters .csb-primary {
    width: 100%;
    margin-top: 18px
}

.csb-results-head select {
    padding: 10px;
    border: 1px solid var(--csb-border);
    border-radius: 7px
}

.csb-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.csb-card {
    border: 1px solid var(--csb-border);
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 5px 16px #052d4910
}

.csb-card-img {
    height: 210px;
    display: block;
    position: relative;
    background: #eaf4f7
}

.csb-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.csb-heart {
    position: absolute;
    right: 10px;
    top: 10px;
    background: #fff;
    color: #0c5b8f;
    border-radius: 50%;
    padding: 5px 8px;
    font-size: 20px
}

.csb-card-body {
    padding: 13px
}

.csb-card h3 {
    margin: 0 0 8px;
    font-size: 20px
}

.csb-specs {
    display: grid;
    gap: 5px;
    font-size: 13px
}

.csb-card small {
    display: block;
    margin-top: 10px
}

.csb-price {
    font-size: 22px;
    font-weight: 800;
    margin: 2px 0 10px
}

.csb-outline {
    display: block;
    border: 1px solid #1683cf;
    border-radius: 6px;
    padding: 8px;
    text-align: center;
    text-decoration: none;
    color: #073f68
}

.csb-pages {
    text-align: center;
    padding: 24px
}

.csb-trust {
    margin-top: 35px;
    background: #eff6fa;
    padding: 22px;
    text-align: center;
    font-weight: 700
}

.csb-breadcrumb {
    font-size: 13px;
    color: #6c8192;
    padding-top: 24px
}

.csb-detail h1 {
    font-size: 34px;
    margin-bottom: 6px
}

.csb-detail-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 22px
}

.csb-main-photo {
    height: 500px;
    border-radius: 9px;
    overflow: hidden
}

.csb-main-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.csb-thumbs {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 7px;
    margin-top: 8px
}

.csb-thumbs img {
    width: 100%;
    height: 82px;
    object-fit: cover;
    border-radius: 6px
}

.csb-bookbox {
    border: 1px solid var(--csb-border);
    background: #f8fbfd;
    border-radius: 9px;
    padding: 20px;
    height: max-content
}

.csb-bigprice {
    font-size: 28px;
    font-weight: 800;
    margin: 4px 0 15px
}

.csb-bookbox .csb-primary,
.csb-whatsapp {
    display: block;
    margin: 8px 0;
    padding: 12px;
    text-align: center;
    text-decoration: none;
    border-radius: 6px
}

.csb-whatsapp {
    border: 1px solid var(--csb-green);
    color: #087f55;
    background: #fff
}

.csb-tabs {
    display: flex;
    gap: 30px;
    border-bottom: 1px solid var(--csb-border);
    margin: 28px 0 0;
    overflow: auto
}

.csb-tabs a {
    padding: 14px 0;
    color: #173d5d;
    text-decoration: none;
    white-space: nowrap
}

.csb-section {
    padding: 24px 0
}

.csb-section h2 {
    font-size: 28px;
    margin: 0 0 18px
}

.csb-desc-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 30px
}

.csb-keyfacts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 24px
}

.csb-keyfacts span {
    font-size: 13px
}

.csb-floorplan {
    width: 100%;
    height: auto
}

.csb-accordions details {
    border-top: 1px solid #3188dc
}

.csb-accordions summary {
    padding: 14px;
    font-weight: 700;
    background: #f7fbff;
    cursor: pointer;
    display: flex;
    justify-content: space-between
}

.csb-equip-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    padding: 24px;
    background: #f1f4f6
}

.csb-equip-grid i {
    color: #0875d1;
    font-style: normal
}

.csb-price-row {
    display: grid;
    grid-template-columns: 1fr 330px;
    gap: 30px;
    align-items: center
}

.csb-price-row table {
    width: 100%;
    border-collapse: collapse
}

.csb-price-row th,
.csb-price-row td {
    padding: 10px;
    border: 1px solid var(--csb-border);
    text-align: left
}

.csb-location {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 18px
}

.csb-location img,
.csb-map-placeholder {
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 8px
}

.csb-map-placeholder {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #0e9dcc, #52d5c7);
    color: #fff;
    font-size: 26px
}

.csb-location>div:last-child {
    background: #f2f7fa;
    padding: 24px;
    border-radius: 8px
}

.csb-related {
    grid-template-columns: repeat(4, 1fr)
}

.csb-related .csb-card-img {
    height: 150px
}

.csb-related .csb-specs,
.csb-related .csb-outline {
    display: none
}

.csb-empty {
    grid-column: 1/-1;
    padding: 40px;
    text-align: center;
    background: #f7fafc
}

@media(max-width:1000px) {
    .csb-searchbar {
        grid-template-columns: 1fr 1fr
    }
    .csb-layout {
        grid-template-columns: 1fr
    }
    .csb-filters {
        order: 0
    }
    .csb-grid {
        grid-template-columns: repeat(2, 1fr)
    }
    .csb-detail-top,
    .csb-desc-layout,
    .csb-price-row,
    .csb-location {
        grid-template-columns: 1fr
    }
    .csb-main-photo {
        height: 420px
    }
    .csb-related {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:600px) {
    .csb-hero h1 {
        font-size: 32px
    }
    .csb-searchbar,
    .csb-grid,
    .csb-keyfacts,
    .csb-equip-grid {
        grid-template-columns: 1fr
    }
    .csb-card-img {
        height: 240px
    }
    .csb-main-photo {
        height: 300px
    }
    .csb-thumbs {
        grid-template-columns: repeat(4, 1fr)
    }
    .csb-related {
        grid-template-columns: 1fr
    }
    .csb-detail h1 {
        font-size: 27px
    }
}

/* v1.1 gallery + reviews */

.csb-gallery-preview {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin: 8px 0
}

.csb-gallery-preview img {
    width: 82px;
    height: 62px;
    object-fit: cover;
    border-radius: 6px;
    border: 1px solid #ccd6df
}

.csb-thumbs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 8px 0
}

.csb-thumb {
    padding: 0;
    border: 2px solid transparent;
    background: none;
    border-radius: 8px;
    cursor: pointer;
    flex: 0 0 88px;
    overflow: hidden
}

.csb-thumb.active {
    border-color: #0b5c89
}

.csb-thumb img {
    display: block;
    width: 100%;
    height: 66px;
    object-fit: cover
}

.csb-main-photo img {
    width: 100%;
    height: 520px;
    object-fit: cover;
    border-radius: 12px
}

.csb-review-score {
    display: flex;
    align-items: center;
    gap: 7px
}

.csb-stars {
    white-space: nowrap
}

.csb-stars span {
    color: #c8d0d7
}

.csb-stars span.on {
    color: #f5a000
}

.csb-reviews-layout {
    display: grid;
    grid-template-columns: 1.35fr .65fr;
    gap: 28px
}

.csb-review {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: 14px;
    padding: 18px 0;
    border-bottom: 1px solid #e5ebf0
}

.csb-review-avatar img {
    border-radius: 50%
}

.csb-review-head {
    display: flex;
    justify-content: space-between;
    gap: 10px
}

.csb-review-head small {
    color: #6b7785
}

.csb-review p {
    margin: 7px 0 0
}

.csb-review-form {
    background: #f5f9fc;
    padding: 22px;
    border-radius: 12px
}

.csb-review-form input,
.csb-review-form textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 11px;
    border: 1px solid #cfdbe5;
    border-radius: 7px;
    margin-bottom: 10px
}

.csb-rating-input {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    gap: 2px;
    margin: 8px 0 14px
}

.csb-rating-input span {
    order: 6;
    margin-right: 10px
}

.csb-rating-input input {
    display: none
}

.csb-rating-input label {
    font-size: 25px;
    color: #c8d0d7;
    cursor: pointer
}

.csb-rating-input input:checked~label,
.csb-rating-input label:hover,
.csb-rating-input label:hover~label {
    color: #f5a000
}

@media(max-width:800px) {
    .csb-reviews-layout {
        grid-template-columns: 1fr
    }
    .csb-main-photo img {
        height: 320px
    }
}

.csb-bookbox button.csb-primary,
.csb-price-row button.csb-primary {
    width: 100%;
    cursor: pointer;
    font: inherit
}

.csb-booking-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px
}

.csb-booking-modal.open {
    display: flex
}

.csb-booking-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 25, 42, .78);
    backdrop-filter: blur(5px)
}

.csb-booking-dialog {
    position: relative;
    width: min(920px, 96vw);
    max-height: 90vh;
    overflow: auto;
    background: #fbfaf5;
    border-radius: 22px;
    padding: 28px 32px;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .35)
}

.csb-modal-close {
    position: absolute;
    right: 18px;
    top: 14px;
    border: 0;
    background: transparent;
    font-size: 32px;
    cursor: pointer;
    color: #17324d
}

.csb-booking-boat {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    border: 1px solid #dde5ea;
    border-radius: 14px;
    padding: 12px;
    margin-bottom: 22px
}

.csb-booking-boat img {
    width: 84px;
    height: 64px;
    object-fit: cover;
    border-radius: 10px
}

.csb-booking-boat strong {
    display: block;
    font-size: 18px
}

.csb-form-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.csb-booking-dialog label {
    font-weight: 700;
    display: block;
    margin-bottom: 14px
}

.csb-booking-dialog input,
.csb-booking-dialog select,
.csb-booking-dialog textarea {
    display: block;
    width: 100%;
    margin-top: 7px;
    border: 1px solid #d3dde5;
    border-radius: 10px;
    padding: 13px 14px;
    background: #fff;
    box-sizing: border-box;
    font: inherit
}

.csb-passenger-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 4px 0 18px
}

.csb-passenger-grid span {
    display: block;
    margin-bottom: 8px
}

.csb-counter {
    display: grid;
    grid-template-columns: 48px 1fr 48px;
    border: 1px solid #d3dde5;
    border-radius: 10px;
    overflow: hidden;
    background: #fff
}

.csb-counter button {
    border: 0;
    background: #f0f4f7;
    font-size: 20px;
    cursor: pointer
}

.csb-counter input {
    border: 0 !important;
    border-radius: 0 !important;
    text-align: center;
    margin: 0 !important;
    font-weight: 700
}

.csb-booking-submit {
    width: 100%;
    margin-top: 8px
}

.csb-booking-success {
    padding: 12px 14px;
    background: #e9f8ef;
    color: #176b3a;
    border-radius: 8px;
    margin-bottom: 15px
}

.csb-booking-error {
    padding: 12px 14px;
    background: #fff0f0;
    color: #a32323;
    border-radius: 8px;
    margin-bottom: 15px
}

body.csb-modal-open {
    overflow: hidden
}

@media(max-width:700px) {
    .csb-booking-dialog {
        padding: 24px 18px
    }
    .csb-form-two,
    .csb-passenger-grid {
        grid-template-columns: 1fr
    }
    .csb-booking-modal {
        padding: 10px
    }
}




/* Diseño 1.5: listado y ficha de barco */
.csb-v15{color:#12344b}.csb-v15 .csb-wrap{width:min(1380px,calc(100% - 48px));max-width:1380px;margin:auto}.csb-v15 .csb-hero{background-image:linear-gradient(rgba(0,40,65,.43),rgba(0,40,65,.43)),url('hero.png');background-size:cover;background-position:center;padding:70px 0;color:#fff;text-align:center}.csb-v15 .csb-hero h1,.csb-v15 .csb-hero p{color:#fff}.csb-v15 .csb-list-main{padding:32px 0 65px}.csb-v15 .csb-chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}.csb-v15 .csb-chips a{display:inline-block;border:1px solid #d6e4eb;padding:10px 18px;border-radius:50px;color:#17435d;text-decoration:none}.csb-v15 .csb-chips a.active,.csb-v15 .csb-chips a:hover{background:#07547c;color:white}.csb-v15-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}.csb-v15 .csb-results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:20px 0}.csb-v15 .csb-results-head h2{margin:0}.csb-v15 .csb-card{min-width:0;width:100%;background:#fff;border:1px solid #e2eaf0;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #093e6010}.csb-v15 .csb-card-img{display:block;height:235px}.csb-v15 .csb-card-img img{width:100%;height:100%;object-fit:cover}.csb-v15 .csb-card-body{padding:18px}.csb-v15 .csb-outline{display:block;text-align:center;background:#07547c;color:white;border-radius:7px;padding:11px;text-decoration:none}.csb-v15 .csb-pages ul{display:flex;justify-content:center;gap:10px;list-style:none}.csb-v15 .csb-pages a,.csb-v15 .csb-pages span{display:inline-block;padding:9px 14px;border:1px solid #d9e4e9;border-radius:7px}.csb-v15-hero{background-size:cover;background-position:center;padding:34px 0 72px;color:white}.csb-v15-hero h1{color:white;font:700 clamp(38px,4vw,60px)/1.1 Georgia,serif;margin:18px 0}.csb-v15-crumb,.csb-v15-crumb a{color:#e5f5fb;font-size:13px;text-decoration:none}.csb-v15-hero-facts{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}.csb-v15-body{margin-top:-35px!important;position:relative;padding-bottom:60px}.csb-v15-cols{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr);gap:20px;align-items:start}.csb-v15-left,.csb-v15-right{min-width:0;display:grid;gap:18px}.csb-v15-panel{background:white;border:1px solid #dfebf0;border-radius:12px;padding:15px;box-shadow:0 5px 24px #092f4c0b}.csb-v15-panel h2{font:700 22px Georgia,serif;color:#123a55;margin:4px 0 16px}.csb-v15-gallery .csb-main-photo{height:410px;position:relative;overflow:hidden;border-radius:9px}.csb-v15-gallery .csb-main-photo>img{width:100%;height:100%;object-fit:cover}.csb-v15-gallery .csb-thumbs{display:flex;gap:8px;overflow-x:auto;margin-top:10px}.csb-v15-gallery .csb-thumb{width:90px;min-width:90px;height:66px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer}.csb-v15-gallery .csb-thumb.active{border-color:#0877ae}.csb-v15-gallery .csb-thumb img{width:100%;height:100%;object-fit:cover}.csb-v15-prev,.csb-v15-next{position:absolute;top:48%;border:0;border-radius:50%;background:#093c60bd;color:white;width:36px;height:36px;font-size:26px;cursor:pointer}.csb-v15-prev{left:10px}.csb-v15-next{right:10px}.csb-v15-spec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:15px}.csb-v15-spec-grid>div{border:1px solid #e1eaf0;background:#f8fbfd;padding:12px;border-radius:8px}.csb-v15-spec-grid small,.csb-v15-spec-grid strong{display:block}.csb-v15-spec-grid small{font-size:12px;color:#647b8a}.csb-v15-spec-grid strong{font-size:14px;margin-top:5px}.csb-v15-accordion{border-top:1px solid #e1e9ee;padding:0}.csb-v15-accordion summary{padding:17px 4px;cursor:pointer;font-weight:700;color:#103c57}.csb-v15-accordion>div{padding:0 8px 17px;line-height:1.7}.csb-v15-equip{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.csb-v15-book label{display:block;font-size:12px;font-weight:700;margin:10px 0;color:#163a52}.csb-v15-book input:not([type=hidden]),.csb-v15-book select,.csb-v15-book textarea{width:100%;border:1px solid #d7e3eb;border-radius:7px;padding:10px;background:white;min-width:0;box-sizing:border-box;margin-top:6px}.csb-v15-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.csb-v15-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.csb-v15-counters label{font-size:11px}.csb-v15-counters label span{display:flex;border:1px solid #d9e4ed;border-radius:6px;margin-top:6px;overflow:hidden}.csb-v15-counters button{border:0;background:#f1f6fa;padding:8px;cursor:pointer}.csb-v15-counters input{border:0!important;text-align:center;padding:7px 0!important;margin:0!important;width:100%!important;min-width:0}.csb-v15-submit{width:100%;background:#07547c;color:white;border:0;border-radius:7px;padding:15px;cursor:pointer;font-weight:700}.csb-v15-trust{font-size:12px;margin-top:16px;line-height:1.8}.csb-v15-pricing table{width:100%;border-collapse:collapse;font-size:13px}.csb-v15-pricing th{background:#0b4562;color:white}.csb-v15-pricing th,.csb-v15-pricing td{padding:10px;border:1px solid #dce8ee;text-align:left}.csb-v15-pricing td:last-child{font-weight:700;text-align:center}.csb-v15-pricing tr:last-child{background:#fff3df}.csb-v15-terms{background:#eff7fc;border-radius:8px;padding:14px;margin-top:15px;font-size:13px;line-height:1.65}.csb-v15-terms p{margin:4px 0 12px}.csb-v15-map iframe{display:block;width:100%;height:280px;border:0;border-radius:8px}.csb-v15-map>a{display:inline-block;margin-top:10px;color:#07547c}.csb-v15-related{margin-top:36px}.csb-v15-placeholder{height:100%;display:grid;place-items:center;background:#e9f4f8}.csb-v15 #csb-booking-response{padding:8px 0;color:#07547c;font-weight:700}@media(max-width:980px){.csb-v15-cols{grid-template-columns:1fr}.csb-v15-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:620px){.csb-v15 .csb-wrap{width:calc(100% - 28px)}.csb-v15-grid{grid-template-columns:1fr!important}.csb-v15-spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.csb-v15-gallery .csb-main-photo{height:285px}.csb-v15-counters{grid-template-columns:1fr 1fr 1fr;gap:5px}.csb-v15-hero{padding:28px 0 62px}.csb-v15 .csb-results-head{align-items:flex-start;flex-direction:column}}

/* v1.5.1: isolate the single boat layout from theme Bootstrap and old plugin rules. */
.csb-v15, .csb-v15 * { box-sizing: border-box; }
.csb-v15 .csb-v15-body { width:min(1380px,calc(100% - 48px))!important; max-width:1380px!important; margin-left:auto!important; margin-right:auto!important; }
.csb-v15 .csb-v15-cols { display:grid!important; grid-template-columns:minmax(0, 1.32fr) minmax(0, 1fr)!important; align-items:start!important; gap:22px!important; width:100%!important; }
.csb-v15 .csb-v15-left, .csb-v15 .csb-v15-right, .csb-v15 .csb-v15-panel { min-width:0!important; max-width:100%!important; width:100%!important; }
.csb-v15 .csb-v15-gallery .csb-main-photo { width:100%!important; max-width:100%!important; height:410px!important; margin:0!important; display:block!important; overflow:hidden!important; position:relative!important; }
.csb-v15 .csb-v15-gallery .csb-main-photo > img { display:block!important; width:100%!important; height:100%!important; max-width:100%!important; object-fit:cover!important; }
.csb-v15 .csb-v15-gallery .csb-thumbs { display:flex!important; grid-template-columns:none!important; width:100%!important; min-width:0!important; overflow-x:auto!important; }
.csb-v15 .csb-v15-book form { width:100%!important; max-width:100%!important; min-width:0!important; }
.csb-v15 .csb-v15-book .csb-v15-form-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
.csb-v15 .csb-v15-book .csb-v15-counters { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
.csb-v15 .csb-v15-map iframe { display:block!important; width:100%!important; max-width:100%!important; height:330px!important; border:0!important; border-radius:9px!important; }
@media(max-width:980px){ .csb-v15 .csb-v15-cols { grid-template-columns:minmax(0,1fr)!important; } }
@media(max-width:620px){ .csb-v15 .csb-v15-body { width:calc(100% - 28px)!important; } .csb-v15 .csb-v15-gallery .csb-main-photo { height:285px!important; } .csb-v15 .csb-v15-book .csb-v15-counters { grid-template-columns:repeat(3,minmax(0,1fr))!important; } }


/* v1.5.2: separate cabin and food/drinks galleries on boat detail pages. */
.csb-v15-lifestyle-galleries{display:grid;gap:18px;margin:18px 0 4px}
.csb-v15-photo-section{border-top:1px solid #e1e9ee;padding-top:18px}
.csb-v15-photo-section h2{margin:0 0 14px!important}
.csb-v15-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.csb-v15-photo-item{display:block;aspect-ratio:4/3;border-radius:9px;overflow:hidden;background:#eef5f8}
.csb-v15-photo-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.csb-v15-photo-item:hover img{transform:scale(1.035)}
@media(max-width:620px){.csb-v15-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
