/* ===== Source: reservation-inline.css (consolidated Phase 4) ===== */


:root {
    --green: #2c5f2d;
    --green-dark: #234d25;
    --green-light: #eef5ee;
    --reserved: rgba(190, 45, 45, 0.38);
    --gray: #6D6D6D;
    --dark: #212529;
    --border: #e1e5e2;
    --background: #f6f8f6;
    --white: #ffffff;
}

* {
    box-sizing: border-box;
}

.card {
    background: white;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0,0,0,.06);
    overflow: hidden;
}

.header {
    padding: 28px 30px;
    border-bottom: 1px solid var(--border);
}

.header h1 {
    margin: 0;
    font-size: 27px;
    font-weight: 700;
}

.header p {
    margin: 7px 0 0;
    color: var(--gray);
}

.content {
    padding: 30px;
}


/* =========================
   CABINS
========================= */

.cabins {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
}

.cabin-btn {
    flex: 1;
    border: 1px solid var(--border);
    background: white;
    padding: 15px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    transition: .2s;
}

.cabin-btn:hover {
    border-color: var(--green);
}

.cabin-btn.active {
    background: var(--green);
    color: white;
    border-color: var(--green);
}


/* =========================
   CALENDAR
========================= */

.calendar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.calendar-header h2 {
    margin: 0;
    font-size: 21px;
}

.nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    border: 1px solid var(--border);
    background: white;
    cursor: pointer;
    font-size: 20px;
}

.nav-btn:hover {
    background: var(--green-light);
    border-color: var(--green);
}

.months {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.month {
    border: 1px solid var(--border);
    border-radius: 15px;
    overflow: hidden;
}

.month-title {
    text-align: center;
    padding: 15px;
    background: #fafcfb;
    font-weight: 700;
    text-transform: capitalize;
}

.weekdays,
.days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.weekdays div {
    text-align: center;
    padding: 11px 3px;
    color: var(--gray);
    font-size: 12px;
    font-weight: 600;
}

.day {
    position: relative;
    min-height: 68px;
    border-top: 1px solid #edf0ee;
    border-right: 1px solid #edf0ee;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    cursor: pointer;
    font-size: 14px;
    font-weight: 600;

    background: white;
    overflow: hidden;
}

.day:nth-child(7n) {
    border-right: none;
}

.day-number {
    font-size: 14px;
    line-height: 18px;
    font-weight: 600;
}

.day-price {
    font-size: 10px;
    line-height: 13px;
    font-weight: 500;
    color: #6D6D6D;
    white-space: nowrap;
}

.day.selected-middle .day-price {
    color: rgba(255,255,255,.9);
}

/* Farby textu na diagonálnych krajných dňoch výberu:
   začiatok = dátum čierny, cena biela
   koniec   = dátum biely, cena čierna */
.day.selected-start .day-number {
    color: #212529 !important;
}

.day.selected-start .day-price {
    color: #ffffff !important;
}

.day.selected-end .day-number {
    color: #ffffff !important;
}

.day.selected-end .day-price {
    color: #212529 !important;
}

.day.blocked .day-price {
    color: #aaa;
}

.day:hover:not(.empty):not(.reserved-middle):not(.blocked) {
    background: var(--green-light);
}

.day.empty {
    cursor: default;
    background: #fafafa;
}


/* =========================
   BLOCKED
========================= */

.day.blocked {
    color: #aaa;
    background:
        repeating-linear-gradient(
            135deg,
            #f1f1f1,
            #f1f1f1 5px,
            #e8e8e8 5px,
            #e8e8e8 10px
        );
    cursor: not-allowed;
}


/* =========================
   EXISTUJÚCE REZERVÁCIE
========================= */

.day.reserved-start {
    background:
        linear-gradient(
            135deg,
            transparent 0%,
            transparent 49.5%,
            rgba(190,45,45,.38) 50%,
            rgba(190,45,45,.38) 100%
        );
}

.day.reserved-end {
    background:
        linear-gradient(
            135deg,
            rgba(190,45,45,.38) 0%,
            rgba(190,45,45,.38) 49.5%,
            transparent 50%,
            transparent 100%
        );
}

.day.reserved-middle {
    background: rgba(190,45,45,.38);
    cursor: not-allowed;
}

.day.reserved-both {
    background:
        linear-gradient(
            135deg,
            rgba(190,45,45,.38) 0%,
            rgba(190,45,45,.38) 48.5%,
            #ffffff 48.5%,
            #ffffff 51.5%,
            rgba(190,45,45,.38) 51.5%,
            rgba(190,45,45,.38) 100%
        );
    cursor: pointer;
}


/* =========================
   VYBRANÝ TERMÍN
========================= */

.day.selected-start {
    color: #212529;

    background:
        linear-gradient(
            135deg,
            transparent 0%,
            transparent 49.5%,
            #2c5f2d 50%,
            #2c5f2d 100%
        ) !important;
}

.day.selected-middle {
    background: #2c5f2d !important;
    color: white;
}

.day.selected-end {
    color: #212529;

    background:
        linear-gradient(
            135deg,
            #2c5f2d 0%,
            #2c5f2d 49.5%,
            transparent 50%,
            transparent 100%
        ) !important;
}


/* =========================
   NADVÄZUJÚCA REZERVÁCIA
========================= */

.day.reserved-end.selected-start {
    color: #212529;

    /* Existujúca rezervácia končí a nový pobyt v ten deň začína:
       obsadená polovica ostáva červená a nový výber zelený. */
    background:
        linear-gradient(
            135deg,
            rgba(190,45,45,.38) 0%,
            rgba(190,45,45,.38) 49.5%,
            #2c5f2d 50%,
            #2c5f2d 100%
        ) !important;
}

.day.reserved-start.selected-end {
    color: #212529;

    /* Koniec nového pobytu sa stretáva so začiatkom existujúcej
       rezervácie: horná/ľavá polovica je nový výber (zelená),
       spodná/pravá polovica zostáva obsadená (červená). */
    background:
        linear-gradient(
            135deg,
            #2c5f2d 0%,
            #2c5f2d 49.5%,
            rgba(190,45,45,.38) 50%,
            rgba(190,45,45,.38) 100%
        ) !important;
}



/* =========================
   NÁHĽAD VÝBERU PRI PRECHODE MYŠOU
========================= */

.day.preview-start {
    background:
        linear-gradient(
            135deg,
            transparent 0%,
            transparent 49.5%,
            #dfeee0 50%,
            #dfeee0 100%
        ) !important;
}

.day.preview-middle {
    background: #dfeee0 !important;
}

.day.preview-end {
    background:
        linear-gradient(
            135deg,
            #dfeee0 0%,
            #dfeee0 49.5%,
            transparent 50%,
            transparent 100%
        ) !important;
}

/* Ak náhľad končí na dni, kde už začína existujúca rezervácia,
   voľná polovica je bledozelená a obsadená polovica zostáva červená. */
.day.reserved-start.preview-end {
    background:
        linear-gradient(
            135deg,
            #dfeee0 0%,
            #dfeee0 49.5%,
            rgba(190,45,45,.38) 50%,
            rgba(190,45,45,.38) 100%
        ) !important;
}

/* Ak náhľad začína na dni, kde existujúca rezervácia končí. */
.day.reserved-end.preview-start {
    background:
        linear-gradient(
            135deg,
            rgba(190,45,45,.38) 0%,
            rgba(190,45,45,.38) 49.5%,
            #dfeee0 50%,
            #dfeee0 100%
        ) !important;
}

/* Počas náhľadu nechávame text tmavý, aby bol na bledozelenej dobre čitateľný. */
.day.preview-start .day-number,
.day.preview-middle .day-number,
.day.preview-end .day-number {
    color: #212529 !important;
}

.day.preview-start .day-price,
.day.preview-middle .day-price,
.day.preview-end .day-price {
    color: #6D6D6D !important;
}



/* =========================
   PRVÝ DEŇ PRED POTVRDENÍM KONCA
========================= */

/* Po prvom kliknutí ostáva začiatok iba bledozelený.
   Na tmavozelený sa zmení až po potvrdení posledného dátumu. */
.day.selected-start.selection-pending-start {
    background:
        linear-gradient(
            135deg,
            transparent 0%,
            transparent 49.5%,
            #dfeee0 50%,
            #dfeee0 100%
        ) !important;
}

.day.selected-start.selection-pending-start .day-number {
    color: #212529 !important;
}

.day.selected-start.selection-pending-start .day-price {
    color: #6D6D6D !important;
}

/* Ak nový pobyt začína v deň, keď existujúca rezervácia končí,
   obsadená polovica ostane červená a nová polovica je do potvrdenia bledozelená. */
.day.reserved-end.selected-start.selection-pending-start {
    background:
        linear-gradient(
            135deg,
            rgba(190,45,45,.38) 0%,
            rgba(190,45,45,.38) 49.5%,
            #dfeee0 50%,
            #dfeee0 100%
        ) !important;
}


/* =========================
   LEGENDA
========================= */

.legend {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 20px;
    color: var(--gray);
    font-size: 13px;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 7px;
}

.legend-box {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid var(--border);
    background: white;
}

.legend-box.green {
    background: var(--green);
}

.legend-box.reserved {
    background: rgba(190,45,45,.38);
}

.legend-box.blocked {
    background:
        repeating-linear-gradient(
            135deg,
            #eee,
            #eee 4px,
            #ddd 4px,
            #ddd 8px
        );
}


/* =========================
   REKAPITULÁCIA
========================= */

.summary {
    margin-top: 30px;
    padding: 22px;
    background: var(--green-light);
    border-radius: 15px;
}

.summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}

.summary-item span {
    display: block;
    font-size: 12px;
    color: var(--gray);
    margin-bottom: 5px;
}

.summary-item strong {
    font-size: 16px;
}

.price {
    color: var(--green);
    font-size: 20px !important;
}


/* =========================
   KÚPACIA KAĎA
========================= */

.extra {
    margin-top: 20px;
    border: 1px solid var(--border);
    border-radius: 13px;
    padding: 14px 16px;
    background: #ffffff;
    transition: all .2s ease;
}

.hot-tub-option {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    cursor: pointer;
    user-select: none;
}

.hot-tub-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-checkbox {
    width: 25px;
    height: 25px;
    min-width: 25px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #d1d8d2;
    border-radius: 7px;

    background: #ffffff;

    color: transparent;
    font-size: 14px;
    font-weight: 700;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease,
        transform .15s ease;
}

.hot-tub-option input:checked
+ .custom-checkbox {

    background: var(--green);
    border-color: var(--green);
    color: white;

    transform: scale(1.04);
}

.extra:has(
    .hot-tub-option input:checked
) {

    border-color: rgba(44,95,45,.35);
    background: #fbfdfb;

    box-shadow:
        0 4px 14px rgba(44,95,45,.07);
}

.hot-tub-text {
    flex: 1;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;
}

.hot-tub-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--dark);
}

.hot-tub-price {
    font-size: 14px;
    font-weight: 700;
    color: var(--green);
    white-space: nowrap;
}

.hot-tub-option:hover .custom-checkbox {
    border-color: var(--green);
}

.hot-tub-option input:focus-visible
+ .custom-checkbox {

    outline: 3px solid rgba(44,95,45,.15);
    outline-offset: 2px;
}


/* =========================
   CELKOVÁ CENA
========================= */

.total-row {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(44,95,45,.15);

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.total-row span {
    font-weight: 700;
}

.total-row strong {
    color: var(--green);
    font-size: 24px;
}


/* =========================
   FORMULÁR
========================= */

.form-section {
    margin-top: 35px;
    padding-top: 30px;
    border-top: 1px solid var(--border);
}

.form-section h3 {
    margin: 0 0 20px;
    font-size: 21px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.form-group.full {
    grid-column: 1 / -1;
}

.form-group label {
    font-size: 13px;
    font-weight: 600;
}

.form-group input,
.form-group textarea,
.form-group select {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 9px;
    font-size: 14px;
    outline: none;
    background: white;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--green);
    box-shadow: 0 0 0 3px rgba(44,95,45,.08);
}

.form-group textarea {
    min-height: 100px;
    resize: vertical;
}


/* =========================
   SÚHLASY
========================= */

.consents {
    margin-top: 22px;
}

.consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--gray);
}

.consent input {
    margin-top: 2px;
    accent-color: var(--green);
}


/* =========================
   BUTTON
========================= */

.continue-btn {
    margin-top: 25px;
    width: 100%;
    padding: 15px;
    border: none;
    border-radius: 11px;
    background: var(--green);
    color: white;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.continue-btn:hover {
    background: var(--green-dark);
}

.continue-btn:disabled {
    background: #bfc8bf;
    cursor: not-allowed;
}


/* =========================
   SUCCESS
========================= */

.success {
    display: none;
    margin-top: 25px;
    padding: 18px;
    border-radius: 12px;
    background: var(--green-light);
    border: 1px solid #cfe0cf;
    color: var(--green-dark);
}

.success.show {
    display: block;
}


/* =========================
   ERROR
========================= */

.error-message {
    display: none;
    margin-top: 20px;
    padding: 15px 18px;
    border-radius: 11px;
    background: #fff1f1;
    border: 1px solid #edcaca;
    color: #9d3030;
    font-size: 14px;
}

.error-message.show {
    display: block;
}


/* =========================
   MOBILE
========================= */

@media(max-width:750px) {

    body {
        padding: 10px;
    }

    .content {
        padding: 18px;
    }

    .header {
        padding: 22px 18px;
    }

    .header h1 {
        font-size: 22px;
    }

    .months {
        grid-template-columns: 1fr;
    }

    .summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .form-group.full {
        grid-column: auto;
    }

    .cabins {
        flex-direction: column;
    }

    .day {
        min-height: 58px;
        font-size: 13px;
    }

    .day-number {
        font-size: 13px;
    }

    .day-price {
        font-size: 9px;
    }

}


.card{box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important}.header,.cabins{display:none!important}.content{padding:0!important}

.reservation-inline{max-width:none!important;margin:0!important;padding:0!important}
.reservation-card-inline{box-shadow:none!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
.reservation-card-inline .content{padding:0!important}

/* Shared-layout compatibility */


/* Detail integration scoped only to reservation */
.reservation-inline{width:100%;max-width:none;margin:0;padding:0}
.reservation-card-inline{width:100%;max-width:none;margin:0;background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
.reservation-card-inline>.content{padding:0!important}


/* ===== Source: detail-v10.css (consolidated Phase 4) ===== */

:root{--g:#198754;--gd:#2d6a4f;--text:#212529;--muted:#6D6D6D;--soft:#f8fcf8;--line:#e5e8e6}
body{background:#fff;color:var(--text)}
.detail-hero{width:100%;height:365px;position:relative;background-position:center;background-size:cover;display:flex;align-items:center;color:#fff}
.detail-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.12))}
.detail-hero-inner{width:100%;max-width:1100px;margin:auto;padding:74px 12px 0;position:relative;z-index:2}
.detail-hero h1{font-size:44px;font-weight:700;margin:0 0 10px}.detail-hero p{font-size:16px;margin:0}
.cabin-detail-v10{padding:46px 0 70px;background:#fff}
.cabin-detail-v10>.container{width:100%!important;max-width:1100px!important;margin:0 auto!important;padding:0 12px!important}
.detail-intro-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(180px,.58fr) minmax(250px,.82fr);gap:28px;align-items:start}
.detail-testimonial{background:var(--soft);border-left:5px solid var(--gd);border-radius:4px;padding:24px 25px;min-height:182px}
.detail-testimonial-head{display:flex;justify-content:space-between;align-items:flex-start}.detail-testimonial h2{font-size:14px;font-weight:700;color:var(--g);margin:0}.detail-quote{font-size:28px;color:#b7e4c7;line-height:1}
.detail-testimonial p{margin:19px 0 0;color:#69757a;line-height:1.7;font-size:14px;font-weight:500}
.detail-info h3{font-size:14px;font-weight:700;color:var(--g);margin:0 0 12px}.detail-info ul{list-style:none;margin:0;padding:0}.detail-info li{display:flex;align-items:center;gap:9px;margin:0 0 4px;font-size:13px;line-height:27px}.detail-info li i{color:var(--g);width:18px;text-align:center;font-size:13px}.detail-services{margin-top:17px}
.booking-section{margin-top:42px}.booking-title{font-size:24px;font-weight:600;margin:0 0 18px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(330px,.82fr);gap:34px;align-items:start}.booking-left,.booking-right{min-width:0;width:100%}
.booking-left .calendar-header{margin:0 0 12px!important;width:100%}.booking-left .calendar-header h2{font-size:16px!important;margin:0!important}.booking-left .nav-btn{width:34px!important;height:34px!important;border-radius:8px!important}
.booking-left .months{width:100%!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;padding:10px!important;background:#fff!important;border:1px solid #dfe3df!important;border-radius:5px!important}
.booking-left .month{border:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.booking-left .month-header{font-size:13px!important;padding:7px 4px 10px!important}.booking-left .weekdays{font-size:10px!important}.booking-left .day{min-height:43px!important;padding:4px 1px!important;border-radius:0!important}.booking-left .day-number{font-size:11px!important}.booking-left .day-price{font-size:8px!important;margin-top:1px!important}
.booking-left .legend{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:20px!important;margin:12px 0 0!important;font-size:10px!important}.booking-left .legend-box{width:26px!important;height:20px!important;border-radius:3px!important}
.booking-meta{margin-top:20px;border:1px solid var(--line);background:#fff;border-radius:8px;display:grid;grid-template-columns:repeat(3,1fr);overflow:hidden}.booking-meta-item{min-height:69px;padding:12px 14px;display:flex;align-items:center;gap:12px}.booking-meta-item+.booking-meta-item{border-left:1px solid var(--line)}.booking-meta-item i{font-size:20px;color:var(--g)}.booking-meta-item strong{display:block;font-size:12px}.booking-meta-item span{display:block;font-size:10px;color:var(--muted);margin-top:2px}
.booking-right .detail-floorplan{margin:-5px 0 18px;text-align:center;padding:0}.booking-right .detail-floorplan img{width:100%;max-width:310px;height:auto;object-fit:contain}
.booking-right .summary{margin:0 0 16px!important;padding:17px 18px!important;background:var(--soft)!important;border-radius:4px!important;border-left:5px solid var(--gd)!important}.booking-right .summary-grid{gap:8px!important}.booking-right .summary-item span{font-size:10px!important}.booking-right .summary-item strong{font-size:12px!important}.booking-right .extra{margin-top:11px!important;padding-top:11px!important}.booking-right .hot-tub-title{font-size:12px!important}.booking-right .hot-tub-price{font-size:11px!important}.booking-right .total-row{margin-top:12px!important;padding-top:12px!important;font-size:13px!important}
.booking-right .form-section{margin:0!important;padding:18px!important;background:#fff!important;border:1px solid #edf0ed!important;border-radius:9px!important;box-shadow:0 4px 14px rgba(0,0,0,.05)!important}.booking-right .form-section h3{font-size:14px!important;margin:0 0 12px!important}.booking-right .form-grid{grid-template-columns:1fr 1fr!important;gap:10px 11px!important}.booking-right .form-group label{font-size:10px!important;margin-bottom:4px!important}.booking-right .form-group input,.booking-right .form-group select{height:36px!important;padding:7px 9px!important;font-size:11px!important;border-radius:6px!important}.booking-right .form-group textarea{min-height:62px!important;padding:7px 9px!important;font-size:11px!important;border-radius:6px!important}.booking-right .consents{margin-top:11px!important}.booking-right .consent{font-size:9px!important;line-height:1.4!important}.booking-right .continue-btn{min-height:41px!important;font-size:11px!important;margin-top:12px!important;border-radius:6px!important}
@media(max-width:991px){.detail-intro-grid{grid-template-columns:1fr 1fr}.detail-testimonial{grid-column:1/-1}.booking-layout{grid-template-columns:1fr}.booking-right .detail-floorplan{margin-top:10px}.cabin-detail-v10>.container{padding:0 18px!important}}
@media(max-width:700px){.detail-hero{height:300px}.detail-hero h1{font-size:34px}.detail-hero-inner{padding-left:18px;padding-right:18px}.detail-intro-grid{grid-template-columns:1fr}.booking-left .months{grid-template-columns:1fr!important}.booking-right .form-grid{grid-template-columns:1fr!important}.booking-meta{grid-template-columns:1fr}.booking-meta-item+.booking-meta-item{border-left:0;border-top:1px solid var(--line)}}


/* =========================================================
   V12 — layout according to supplied reference screenshot
   ========================================================= */

.cabin-detail-v10{
    padding-top:42px!important;
}

.cabin-detail-v10 > .container{
    max-width:1100px!important;
}

/* TOP INFORMATION */
.detail-intro-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1.42fr) minmax(190px,.62fr) minmax(270px,.86fr)!important;
    gap:28px!important;
    align-items:start!important;
}

.detail-testimonial{
    min-height:225px!important;
    padding:24px 28px!important;
}

.detail-testimonial p{
    font-size:14px!important;
    line-height:1.75!important;
}

.detail-info{
    padding-top:0!important;
}

.detail-info h3{
    margin-bottom:13px!important;
}

.detail-services{
    margin-top:18px!important;
}

/* BOOKING SECTION */
.booking-section{
    margin-top:54px!important;
}

.booking-title{
    margin:0 0 18px!important;
    font-size:25px!important;
}

.booking-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.62fr) minmax(330px,.78fr)!important;
    gap:72px!important;
    align-items:start!important;
}

/* LEFT = CALENDAR */
.booking-left{
    width:100%!important;
}

.booking-left .calendar-header{
    margin:0 0 10px!important;
}

.booking-left .months{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding:10px!important;
    border:1px solid #d9ddda!important;
    border-radius:5px!important;
    background:#fff!important;
}

.booking-left .month{
    width:100%!important;
    border:0!important;
    box-shadow:none!important;
    background:#fff!important;
}

.booking-left .month-header{
    padding:5px 4px 11px!important;
    font-size:13px!important;
}

.booking-left .day{
    min-height:43px!important;
}

/* Hide the info cards under calendar — not present in supplied arrangement */
.booking-meta{
    display:none!important;
}

/* RIGHT = FLOORPLAN + SUMMARY */
.booking-right{
    width:100%!important;
    padding-top:0!important;
}

.booking-right .detail-floorplan{
    margin:-4px 0 42px!important;
    padding:0!important;
    text-align:center!important;
}

.booking-right .detail-floorplan img{
    width:100%!important;
    max-width:335px!important;
    height:auto!important;
}

.booking-right .summary{
    margin:0!important;
    min-height:140px!important;
    padding:22px 24px!important;
    border-left:5px solid #2d6a4f!important;
    background:#f8fcf8!important;
    border-radius:0!important;
    box-shadow:none!important;
}

/* In screenshot form starts below viewport; keep it under summary */
.booking-right .form-section{
    margin-top:28px!important;
}

/* Desktop vertical alignment */
@media(min-width:992px){
    .booking-right{
        padding-top:0!important;
    }
}

/* TABLET */
@media(max-width:991px){
    .detail-intro-grid{
        grid-template-columns:1fr 1fr!important;
    }

    .detail-testimonial{
        grid-column:1/-1!important;
        min-height:auto!important;
    }

    .booking-layout{
        grid-template-columns:1fr!important;
        gap:32px!important;
    }

    .booking-right .detail-floorplan{
        margin-top:0!important;
    }
}

/* MOBILE */
@media(max-width:700px){
    .detail-intro-grid{
        grid-template-columns:1fr!important;
    }

    .booking-left .months{
        grid-template-columns:1fr!important;
    }
}


/* =========================================================
   V13 – FLOORPLAN STRICTLY TO THE RIGHT OF CALENDAR
   ========================================================= */

.booking-section{
    margin-top:52px!important;
}

.booking-layout{
    display:grid!important;
    grid-template-columns:minmax(0, 1.55fr) minmax(330px, .80fr)!important;
    column-gap:56px!important;
    row-gap:0!important;
    align-items:start!important;
}

.booking-left{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
}

.booking-right{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    padding-top:0!important;
}

/* floorplan must be the first visible block on the right */
.booking-right .detail-floorplan{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    margin:0 0 34px 0!important;
    padding:0!important;
    text-align:center!important;
    order:1!important;
}

.booking-right .detail-floorplan img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:355px!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0 auto!important;
}

.booking-right .summary{
    display:block!important;
    width:100%!important;
    order:2!important;
    margin:0 0 24px 0!important;
}

.booking-right .form-section{
    display:block!important;
    width:100%!important;
    order:3!important;
    margin-top:0!important;
}

/* calendar should not stretch across full page */
.booking-left .months{
    width:100%!important;
    max-width:none!important;
}

@media(max-width:991px){
    .booking-layout{
        grid-template-columns:1fr!important;
        row-gap:34px!important;
    }

    .booking-left,
    .booking-right{
        grid-column:1!important;
        grid-row:auto!important;
    }

    .booking-right .detail-floorplan{
        margin-top:0!important;
    }
}


/* V14 final structural fix */
.booking-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1.55fr) 350px!important;
    gap:56px!important;
    align-items:start!important;
}
.booking-left{
    grid-column:1!important;
    min-width:0!important;
}
.booking-right{
    grid-column:2!important;
    min-width:0!important;
    width:350px!important;
    display:block!important;
}
.booking-right .detail-floorplan{
    display:block!important;
    margin:0 0 28px!important;
}
.booking-right .detail-floorplan img{
    display:block!important;
    width:100%!important;
    max-width:350px!important;
    height:auto!important;
    margin:0 auto!important;
}
@media(max-width:991px){
    .booking-layout{
        grid-template-columns:1fr!important;
        gap:30px!important;
    }
    .booking-left,.booking-right{
        grid-column:1!important;
        width:100%!important;
    }
}


/* =========================================================
   V15 – ÚDAJE HOSŤA NA PLNÚ ŠÍRKU POD KALENDÁROM
   ========================================================= */

.booking-right .form-section{
    display:none!important;
}

.guest-form-fullwidth{
    width:100%!important;
    max-width:none!important;
    margin-top:34px!important;
    clear:both!important;
}

.guest-form-fullwidth .form-section{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:28px!important;
    background:#fff!important;
    border:1px solid #edf0ed!important;
    border-radius:10px!important;
    box-shadow:0 5px 18px rgba(0,0,0,.055)!important;
}

.guest-form-fullwidth .form-section h3{
    font-size:18px!important;
    margin:0 0 20px!important;
}

.guest-form-fullwidth .form-grid{
    display:grid!important;
    grid-template-columns:repeat(3,1fr)!important;
    gap:16px 22px!important;
}

.guest-form-fullwidth .form-group.full{
    grid-column:1/-1!important;
}

.guest-form-fullwidth .form-group label{
    font-size:13px!important;
    margin-bottom:6px!important;
}

.guest-form-fullwidth .form-group input,
.guest-form-fullwidth .form-group select{
    width:100%!important;
    height:48px!important;
    padding:10px 12px!important;
    font-size:14px!important;
    border-radius:7px!important;
}

.guest-form-fullwidth .form-group textarea{
    width:100%!important;
    min-height:90px!important;
    padding:10px 12px!important;
    font-size:14px!important;
    border-radius:7px!important;
}

.guest-form-fullwidth .consents{
    margin-top:18px!important;
}

.guest-form-fullwidth .consent{
    font-size:12px!important;
}

.guest-form-fullwidth .continue-btn{
    width:100%!important;
    min-height:48px!important;
    margin-top:18px!important;
    font-size:14px!important;
}

@media(max-width:900px){
    .guest-form-fullwidth .form-grid{
        grid-template-columns:1fr 1fr!important;
    }
}

@media(max-width:600px){
    .guest-form-fullwidth{
        margin-top:26px!important;
    }
    .guest-form-fullwidth .form-section{
        padding:20px!important;
    }
    .guest-form-fullwidth .form-grid{
        grid-template-columns:1fr!important;
    }
}


/* V37 – detail chatky: vlastné SVG ikonky bez závislosti na Font Awesome */
.detail-info li{
    display:flex;
    align-items:center;
    gap:10px;
}
.detail-icon{
    width:22px;
    height:22px;
    flex:0 0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#2c5f2d;
}
.detail-icon svg{
    width:22px;
    height:22px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

/* V38 – potvrdenie rezervácie medzi kalendárom a formulárom */
.reservation-feedback-fullwidth{
    width:100%;
    margin:22px 0 18px;
}
.reservation-feedback-fullwidth .success,
.reservation-feedback-fullwidth .error-message{
    width:100%;
    margin:0;
}
.reservation-feedback-fullwidth .success:empty,
.reservation-feedback-fullwidth .error-message:empty{
    display:none;
}


/* V39 – iba dizajn potvrdenia rezervácie */
.krp-raw-success-hidden{
    display:none !important;
}

.krp-reservation-success{
    display:none;
    position:relative;
    width:100%;
    min-height:285px;
    overflow:hidden;
    border:1px solid #dce7d8;
    border-radius:16px;
    background:linear-gradient(90deg,rgba(247,252,241,.99) 0%,rgba(247,252,241,.97) 56%,rgba(247,252,241,.40) 78%,rgba(247,252,241,.08) 100%);
    box-shadow:0 8px 30px rgba(32,64,35,.07);
}

.krp-reservation-success.is-visible{
    display:flex;
}

.krp-success-content{
    position:relative;
    z-index:2;
    width:72%;
    padding:30px 26px 22px;
}

.krp-success-heading{
    display:flex;
    align-items:flex-start;
    gap:20px;
}

.krp-success-check{
    width:72px;
    height:72px;
    flex:0 0 72px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#4c8c38;
    box-shadow:0 8px 20px rgba(76,140,56,.18);
}

.krp-success-check svg{
    width:39px;
    height:39px;
    fill:none;
    stroke:#fff;
    stroke-width:2.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.krp-success-heading h3{
    margin:6px 0 8px;
    color:#204e24;
    font-size:1.35rem;
    line-height:1.3;
    font-weight:700;
}

.krp-success-heading p{
    margin:0;
    color:#303730;
    font-size:.94rem;
    line-height:1.55;
}

.krp-success-info{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin-top:24px;
    padding:16px 18px;
    border:1px solid rgba(68,123,54,.12);
    border-radius:13px;
    background:rgba(255,255,255,.72);
}

.krp-success-info-item{
    display:flex;
    align-items:center;
    gap:11px;
    min-width:0;
    padding:0 12px;
}

.krp-success-info-item:first-child{padding-left:0}
.krp-success-info-item:last-child{padding-right:0}

.krp-success-info-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    color:#4d8a39;
}

.krp-success-info-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.krp-success-info-item div{
    display:flex;
    flex-direction:column;
}

.krp-success-info-item strong{
    color:#253025;
    font-size:.78rem;
    line-height:1.25;
}

.krp-success-info-item span{
    margin-top:3px;
    color:#5f675f;
    font-size:.7rem;
    line-height:1.3;
}

.krp-success-security{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:18px;
    color:#374837;
    font-size:.76rem;
}

.krp-success-security svg{
    width:18px;
    height:18px;
    flex:0 0 18px;
    fill:none;
    stroke:#356d38;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.krp-success-visual{
    position:absolute;
    z-index:1;
    top:0;
    right:0;
    bottom:0;
    width:43%;
    background:
        linear-gradient(90deg,#f7fcf1 0%,rgba(247,252,241,.62) 20%,rgba(247,252,241,.08) 53%),
        url('/assets/images/okolie/turistikakh.webp') center/cover no-repeat;
}

@media(max-width:991.98px){
    .krp-success-content{width:82%}
    .krp-success-visual{width:38%;opacity:.78}
    .krp-success-info{grid-template-columns:1fr;gap:14px}
    .krp-success-info-item,
    .krp-success-info-item:first-child,
    .krp-success-info-item:last-child{padding:0}
}

@media(max-width:767.98px){
    .krp-reservation-success{min-height:0}
    .krp-success-content{width:100%;padding:24px 20px}
    .krp-success-visual{display:none}
    .krp-success-heading{gap:14px}
    .krp-success-check{width:56px;height:56px;flex-basis:56px}
    .krp-success-check svg{width:31px;height:31px}
    .krp-success-heading h3{margin-top:2px;font-size:1.12rem}
    .krp-success-heading p{font-size:.86rem}
    .krp-success-info{margin-top:20px}
}


/* V41 – povinné polia a jediný súhlas s VOP */
.required-star{
    color:#dc3545 !important;
    font-weight:700;
}
.consents .consent a{
    color:#2c5f2d;
    text-decoration:underline;
    text-underline-offset:2px;
}
.consents .consent a:hover{
    color:#214b22;
}


/* V42 – upozornenie na nevyplnené povinné polia */
.required-fields-notice{
    display:block;
    width:100%;
    margin:14px 0 10px;
    color:#dc3545;
    font-size:.88rem;
    line-height:1.4;
    font-weight:600;
}


/* V43 – upozornenie povinných polí zarovnané na stred */
.required-fields-notice{
    text-align:center !important;
}


/* =========================================================
   V44 – moderný blok súhrnu rezervácie
   Bez ľavej zelenej čiary
   ========================================================= */

.booking-right .summary.modern-booking-summary{
    width:100% !important;
    margin:0 0 24px 0 !important;
    padding:20px !important;
    min-height:0 !important;
    border:1px solid #e4e9e2 !important;
    border-left:1px solid #e4e9e2 !important;
    border-radius:18px !important;
    background:#fbfcf9 !important;
    box-shadow:0 10px 28px rgba(35,67,40,.07) !important;
    overflow:hidden !important;
}

.booking-right .modern-summary-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
}

.booking-right .modern-summary-item{
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    padding:11px !important;
    border:1px solid #edf0eb !important;
    border-radius:12px !important;
    background:#fff !important;
}

.booking-right .summary-icon{
    width:34px !important;
    height:34px !important;
    flex:0 0 34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:10px !important;
    color:#2c6a34 !important;
    background:#f1f6ec !important;
}

.booking-right .summary-icon svg{
    width:18px !important;
    height:18px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

.booking-right .summary-copy{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:2px !important;
}

.booking-right .summary-item .summary-label{
    display:block !important;
    margin:0 !important;
    color:#858b85 !important;
    font-size:9px !important;
    line-height:1.15 !important;
    font-weight:600 !important;
    text-transform:uppercase !important;
    letter-spacing:.04em !important;
}

.booking-right .modern-summary-item strong{
    display:block !important;
    color:#262b27 !important;
    font-size:12px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    white-space:nowrap !important;
}

.booking-right .modern-summary-item #accommodationPrice{
    color:#2b6733 !important;
    font-size:15px !important;
}

/* Kúpacia kaďa */
.booking-right .modern-extra{
    margin:16px 0 0 !important;
    padding:0 !important;
    border:0 !important;
}

.booking-right .modern-hot-tub{
    position:relative !important;
    display:grid !important;
    grid-template-columns:44px 38px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    min-height:86px !important;
    padding:13px 14px !important;
    margin:0 !important;
    border:1px solid #dce7d8 !important;
    border-radius:15px !important;
    background:linear-gradient(135deg,#f6faf2 0%,#fff 70%) !important;
    cursor:pointer !important;
    transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease !important;
}

.booking-right .modern-hot-tub:hover{
    border-color:#b9d0b3 !important;
    box-shadow:0 8px 20px rgba(50,95,54,.08) !important;
}

.booking-right .modern-hot-tub input{
    position:absolute !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.booking-right .modern-switch{
    position:relative !important;
    width:44px !important;
    height:26px !important;
    display:block !important;
    border-radius:999px !important;
    background:#d9ded9 !important;
    box-shadow:inset 0 0 0 1px #cfd5cf !important;
    transition:background .2s ease,box-shadow .2s ease !important;
}

.booking-right .modern-switch-knob{
    position:absolute !important;
    top:3px !important;
    left:3px !important;
    width:20px !important;
    height:20px !important;
    border-radius:50% !important;
    background:#fff !important;
    box-shadow:0 2px 6px rgba(0,0,0,.17) !important;
    transition:transform .2s ease !important;
}

.booking-right .modern-hot-tub input:checked + .modern-switch{
    background:#39783f !important;
    box-shadow:inset 0 0 0 1px #39783f !important;
}

.booking-right .modern-hot-tub input:checked + .modern-switch .modern-switch-knob{
    transform:translateX(18px) !important;
}

.booking-right .modern-hot-tub input:focus-visible + .modern-switch{
    outline:3px solid rgba(57,120,63,.18) !important;
    outline-offset:2px !important;
}

.booking-right .hot-tub-icon{
    width:38px !important;
    height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:11px !important;
    color:#4f823f !important;
    background:#edf5e7 !important;
}

.booking-right .hot-tub-icon svg{
    width:23px !important;
    height:23px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.7 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

.booking-right .modern-hot-tub-text{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:3px !important;
}

.booking-right .modern-hot-tub .hot-tub-title{
    color:#252a26 !important;
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
}

.booking-right .hot-tub-subtitle{
    color:#777f78 !important;
    font-size:9px !important;
    line-height:1.2 !important;
}

.booking-right .hot-tub-price-wrap{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    justify-content:center !important;
    gap:2px !important;
    text-align:right !important;
}

.booking-right .hot-tub-badge{
    display:inline-flex !important;
    padding:3px 6px !important;
    border-radius:999px !important;
    color:#386a32 !important;
    background:#eaf3e3 !important;
    font-size:7px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.06em !important;
}

.booking-right .modern-hot-tub .hot-tub-price{
    color:#2f6d36 !important;
    font-size:14px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
}

.booking-right .hot-tub-price-note{
    color:#858b85 !important;
    font-size:8px !important;
    line-height:1.1 !important;
}

/* Celková cena */
.booking-right .modern-total-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    margin:17px 0 0 !important;
    padding:17px 2px 0 !important;
    border-top:1px dashed #d7ddd5 !important;
}

.booking-right .total-label-wrap{
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
}

.booking-right .total-icon{
    width:34px !important;
    height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:50% !important;
    color:#39753d !important;
    background:#eef5e9 !important;
}

.booking-right .total-icon svg{
    width:18px !important;
    height:18px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

.booking-right .total-label{
    display:block !important;
    color:#252b26 !important;
    font-size:12px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.03em !important;
}

.booking-right .modern-total-row small{
    display:block !important;
    margin-top:2px !important;
    color:#8a908a !important;
    font-size:8px !important;
    line-height:1.2 !important;
}

.booking-right .modern-total-row #totalPrice{
    color:#2c6934 !important;
    font-size:30px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:-.04em !important;
}

@media(max-width:991px){
    .booking-right .summary.modern-booking-summary{
        max-width:520px !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
}

@media(max-width:430px){
    .booking-right .modern-summary-grid{
        grid-template-columns:1fr !important;
    }

    .booking-right .modern-hot-tub{
        grid-template-columns:44px 38px minmax(0,1fr) !important;
    }

    .booking-right .hot-tub-price-wrap{
        grid-column:2 / -1 !important;
        flex-direction:row !important;
        justify-content:flex-start !important;
        align-items:center !important;
        gap:6px !important;
        text-align:left !important;
    }
}


/* =========================================================
   V45 – kúpacia kaďa ako výrazné zaklikávacie políčko
   ========================================================= */
.booking-right .modern-hot-tub{
    grid-template-columns:48px 38px minmax(0,1fr) auto !important;
    border:2px solid #b9d4b2 !important;
    background:linear-gradient(135deg,#f0f8e9 0%,#fbfdf8 58%,#fff 100%) !important;
    box-shadow:0 8px 22px rgba(49,104,55,.09) !important;
}

.booking-right .modern-hot-tub::before{
    content:"VOLITEĽNÉ";
    position:absolute;
    top:-9px;
    left:15px;
    padding:4px 8px;
    border-radius:999px;
    background:#39783f;
    color:#fff;
    font-size:7px;
    line-height:1;
    font-weight:800;
    letter-spacing:.08em;
}

.booking-right .modern-hot-tub:hover{
    border-color:#6ea267 !important;
    background:linear-gradient(135deg,#eaf6e2 0%,#fff 72%) !important;
    box-shadow:0 10px 26px rgba(49,104,55,.14) !important;
    transform:translateY(-1px) !important;
}

.booking-right .modern-checkbox{
    width:34px !important;
    height:34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border:2px solid #5e9858 !important;
    border-radius:9px !important;
    background:#fff !important;
    box-shadow:0 2px 8px rgba(49,104,55,.08) !important;
    transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

.booking-right .modern-checkbox svg{
    width:22px !important;
    height:22px !important;
    fill:none !important;
    stroke:#fff !important;
    stroke-width:2.8 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    opacity:0 !important;
    transform:scale(.65) !important;
    transition:opacity .18s ease,transform .18s ease !important;
}

.booking-right .modern-hot-tub input:checked + .modern-checkbox{
    border-color:#39783f !important;
    background:#39783f !important;
    box-shadow:0 0 0 4px rgba(57,120,63,.12) !important;
}

.booking-right .modern-hot-tub input:checked + .modern-checkbox svg{
    opacity:1 !important;
    transform:scale(1) !important;
}

.booking-right .modern-hot-tub input:focus-visible + .modern-checkbox{
    outline:3px solid rgba(57,120,63,.20) !important;
    outline-offset:3px !important;
}

.booking-right .modern-hot-tub:has(input:checked){
    border-color:#6b9e64 !important;
    background:linear-gradient(135deg,#e8f5df 0%,#f8fcf5 68%,#fff 100%) !important;
}

.booking-right .hot-tub-title-row{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:5px 7px !important;
}

.booking-right .hot-tub-action{
    display:inline-flex !important;
    align-items:center !important;
    padding:3px 7px !important;
    border-radius:999px !important;
    color:#356b38 !important;
    background:#dfeeda !important;
    font-size:7px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.035em !important;
}

.booking-right .modern-hot-tub input:checked ~ .modern-hot-tub-text .hot-tub-action{
    color:#fff !important;
    background:#39783f !important;
}

.booking-right .modern-hot-tub input:checked ~ .modern-hot-tub-text .hot-tub-action{
    font-size:0 !important;
}

.booking-right .modern-hot-tub input:checked ~ .modern-hot-tub-text .hot-tub-action::after{
    content:"PRIDANÉ";
    font-size:7px !important;
}

@media(max-width:430px){
    .booking-right .modern-hot-tub{
        grid-template-columns:48px 38px minmax(0,1fr) !important;
    }
}


/* =========================================================
   V46 – finálny schválený súhrn
   2 × 2 karty + červený blok kúpacej kade
   ========================================================= */

/* Horné údaje presne 2 × 2 */
.booking-right .modern-summary-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
}

.booking-right .modern-summary-item{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;
    min-height:82px !important;
    padding:14px 15px !important;
    border:1px solid #e3e8e1 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 3px 10px rgba(36,61,40,.035) !important;
}

.booking-right .summary-icon{
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    border-radius:13px !important;
    background:#f0f6eb !important;
    color:#2f7138 !important;
}

.booking-right .summary-icon svg{
    width:23px !important;
    height:23px !important;
}

.booking-right .summary-copy{
    align-items:flex-start !important;
    text-align:left !important;
    gap:5px !important;
}

.booking-right .summary-item .summary-label{
    color:#858b85 !important;
    font-size:10px !important;
    font-weight:700 !important;
    letter-spacing:.045em !important;
}

.booking-right .modern-summary-item strong{
    color:#252a26 !important;
    font-size:15px !important;
    font-weight:700 !important;
}

.booking-right .modern-summary-item #accommodationPrice{
    color:#2f7138 !important;
    font-size:18px !important;
}

/* Kúpacia kaďa – iba tento blok je červený */
.booking-right .modern-extra{
    margin-top:18px !important;
}

.booking-right .modern-hot-tub{
    position:relative !important;
    display:grid !important;
    grid-template-columns:46px 42px minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    width:100% !important;
    min-height:96px !important;
    padding:17px 17px !important;
    border:2px solid #dc3545 !important;
    border-radius:16px !important;
    background:#fffafa !important;
    box-shadow:0 7px 20px rgba(220,53,69,.07) !important;
}

.booking-right .modern-hot-tub::before{
    content:"VOLITEĽNÉ" !important;
    top:-10px !important;
    left:16px !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    background:#dc3545 !important;
    color:#fff !important;
    font-size:7px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.07em !important;
}

.booking-right .modern-hot-tub:hover{
    border-color:#c82333 !important;
    background:#fff7f7 !important;
    box-shadow:0 9px 24px rgba(220,53,69,.11) !important;
    transform:translateY(-1px) !important;
}

/* Jasné zaklikávacie políčko */
.booking-right .modern-checkbox{
    width:34px !important;
    height:34px !important;
    border:2px solid #dc3545 !important;
    border-radius:9px !important;
    background:#fff !important;
    box-shadow:none !important;
}

.booking-right .modern-hot-tub input:checked + .modern-checkbox{
    border-color:#dc3545 !important;
    background:#dc3545 !important;
    box-shadow:0 0 0 4px rgba(220,53,69,.10) !important;
}

.booking-right .modern-hot-tub input:focus-visible + .modern-checkbox{
    outline:3px solid rgba(220,53,69,.18) !important;
    outline-offset:3px !important;
}

/* Ikona kade červená */
.booking-right .hot-tub-icon{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
    color:#dc3545 !important;
    background:#fff0f1 !important;
}

.booking-right .hot-tub-icon svg{
    width:25px !important;
    height:25px !important;
}

/* Názov + Relax pod hviezdami striktne pod sebou a zarovnané zľava */
.booking-right .modern-hot-tub-text{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:center !important;
    gap:4px !important;
    min-width:0 !important;
    text-align:left !important;
}

.booking-right .modern-hot-tub .hot-tub-title{
    display:block !important;
    margin:0 !important;
    color:#252a26 !important;
    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
}

.booking-right .hot-tub-subtitle{
    display:block !important;
    margin:0 !important;
    color:#747a75 !important;
    font-size:10px !important;
    line-height:1.25 !important;
}

/* Cena kade červená */
.booking-right .modern-hot-tub .hot-tub-price{
    color:#dc3545 !important;
    font-size:16px !important;
}

.booking-right .hot-tub-price-note{
    color:#777d78 !important;
}

/* Pôvodný vnútorný badge "Príplatok" nech je nenápadný; VOLITEĽNÉ ostáva hore */
.booking-right .hot-tub-badge{
    display:none !important;
}

/* Po zakliknutí ostáva červený vizuál */
.booking-right .modern-hot-tub:has(input:checked){
    border-color:#dc3545 !important;
    background:#fff4f5 !important;
}

/* Staré V45 action badge definitívne skryť, ak by ostal v cache/markupe */
.booking-right .hot-tub-action,
.booking-right .hot-tub-title-row .hot-tub-action{
    display:none !important;
}

@media(max-width:430px){
    .booking-right .modern-summary-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:8px !important;
    }

    .booking-right .modern-summary-item{
        min-height:74px !important;
        padding:10px !important;
        gap:8px !important;
    }

    .booking-right .summary-icon{
        width:38px !important;
        height:38px !important;
        flex-basis:38px !important;
    }

    .booking-right .summary-icon svg{
        width:20px !important;
        height:20px !important;
    }

    .booking-right .summary-item .summary-label{
        font-size:8px !important;
    }

    .booking-right .modern-summary-item strong{
        font-size:12px !important;
    }

    .booking-right .modern-summary-item #accommodationPrice{
        font-size:15px !important;
    }

    .booking-right .modern-hot-tub{
        grid-template-columns:38px 38px minmax(0,1fr) !important;
        gap:9px !important;
        padding:16px 12px !important;
    }

    .booking-right .hot-tub-price-wrap{
        grid-column:2 / -1 !important;
        flex-direction:row !important;
        justify-content:flex-start !important;
        align-items:baseline !important;
        gap:6px !important;
        text-align:left !important;
    }
}


/* =========================================================
   V47 – súhrn rezervácie podľa dodaného grafického vzoru
   ========================================================= */

.booking-right .summary.modern-booking-summary{
    padding:20px !important;
    background:#fff !important;
    border:1px solid #edf0ec !important;
    border-radius:18px !important;
    box-shadow:0 8px 26px rgba(35,55,39,.055) !important;
}

/* 2 × 2 horné karty */
.booking-right .modern-summary-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
}

.booking-right .modern-summary-item{
    min-height:96px !important;
    padding:17px 18px !important;
    gap:16px !important;
    border:1px solid #e5e9e4 !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 5px 14px rgba(31,52,35,.055) !important;
}

.booking-right .summary-icon{
    width:54px !important;
    height:54px !important;
    flex:0 0 54px !important;
    border-radius:15px !important;
    background:#f0f6eb !important;
    color:#247032 !important;
}

.booking-right .summary-icon svg{
    width:28px !important;
    height:28px !important;
    stroke-width:1.8 !important;
}

.booking-right .summary-copy{
    gap:7px !important;
}

.booking-right .summary-item .summary-label{
    color:#777e78 !important;
    font-size:11px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
}

.booking-right .modern-summary-item strong{
    font-size:16px !important;
    line-height:1.15 !important;
    font-weight:700 !important;
}

.booking-right .modern-summary-item #accommodationPrice{
    color:#247032 !important;
    font-size:21px !important;
}

/* Kúpacia kaďa */
.booking-right .modern-extra{
    margin-top:18px !important;
}

.booking-right .modern-hot-tub{
    grid-template-columns:46px 52px minmax(0,1fr) auto !important;
    min-height:108px !important;
    gap:14px !important;
    padding:18px 20px !important;
    border:2px solid #ef2b35 !important;
    border-radius:18px !important;
    background:#fffafa !important;
    box-shadow:none !important;
}

.booking-right .modern-hot-tub::before{
    content:"" !important;
    display:none !important;
}

/* checkbox */
.booking-right .modern-checkbox{
    width:36px !important;
    height:36px !important;
    border:2px solid #ef2b35 !important;
    border-radius:8px !important;
    background:#fff !important;
}

.booking-right .modern-hot-tub input:checked + .modern-checkbox{
    border-color:#ef2b35 !important;
    background:#ef2b35 !important;
    box-shadow:0 0 0 4px rgba(239,43,53,.10) !important;
}

/* ikona kade */
.booking-right .hot-tub-icon{
    width:52px !important;
    height:52px !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#ef2b35 !important;
}

.booking-right .hot-tub-icon svg{
    width:43px !important;
    height:43px !important;
    stroke-width:1.8 !important;
}

/* text */
.booking-right .modern-hot-tub-text{
    gap:4px !important;
}

.booking-right .modern-hot-tub .hot-tub-title{
    color:#202522 !important;
    font-size:17px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
}

.booking-right .hot-tub-subtitle{
    color:#69706b !important;
    font-size:12px !important;
    line-height:1.25 !important;
}

/* VOLITEĽNÉ pod textom */
.booking-right .hot-tub-badge{
    display:inline-flex !important;
    order:3 !important;
    align-self:flex-start !important;
    margin-top:5px !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    background:#ffe6e8 !important;
    color:#e52c36 !important;
    font-size:8px !important;
    line-height:1 !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
}

/* presun badge vizuálne pod text cez cenový blok nie je vhodný,
   preto badge vykreslíme pseudo-prvkom na textovom stĺpci */
.booking-right .hot-tub-price-wrap .hot-tub-badge{
    display:none !important;
}

.booking-right .modern-hot-tub-text::after{
    content:"VOLITEĽNÉ";
    display:inline-flex;
    align-items:center;
    width:max-content;
    margin-top:5px;
    padding:4px 9px;
    border-radius:999px;
    background:#ffe6e8;
    color:#e52c36;
    font-size:8px;
    line-height:1;
    font-weight:800;
    letter-spacing:.04em;
}

/* cena kade */
.booking-right .hot-tub-price-wrap{
    min-width:72px !important;
    align-items:flex-end !important;
}

.booking-right .modern-hot-tub .hot-tub-price{
    color:#ef2b35 !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:800 !important;
}

.booking-right .hot-tub-price-note{
    margin-top:5px !important;
    color:#626a64 !important;
    font-size:10px !important;
}

/* celková cena */
.booking-right .modern-total-row{
    margin-top:18px !important;
    padding:18px 8px 2px !important;
    border-top:1px dashed #e1e5e0 !important;
}

.booking-right .total-icon{
    width:48px !important;
    height:48px !important;
    background:#f0f6eb !important;
    color:#247032 !important;
}

.booking-right .total-icon svg{
    width:25px !important;
    height:25px !important;
}

.booking-right .total-label{
    color:#252a26 !important;
    font-size:13px !important;
}

.booking-right .modern-total-row small{
    margin-top:4px !important;
    color:#6e756f !important;
    font-size:10px !important;
}

.booking-right .modern-total-row #totalPrice{
    color:#247032 !important;
    font-size:39px !important;
    line-height:.95 !important;
}

@media(max-width:430px){
    .booking-right .summary.modern-booking-summary{
        padding:12px !important;
    }

    .booking-right .modern-summary-grid{
        gap:8px !important;
    }

    .booking-right .modern-summary-item{
        min-height:78px !important;
        padding:10px !important;
        gap:8px !important;
        border-radius:14px !important;
    }

    .booking-right .summary-icon{
        width:40px !important;
        height:40px !important;
        flex-basis:40px !important;
        border-radius:11px !important;
    }

    .booking-right .summary-icon svg{
        width:21px !important;
        height:21px !important;
    }

    .booking-right .summary-item .summary-label{
        font-size:8px !important;
    }

    .booking-right .modern-summary-item strong{
        font-size:11px !important;
    }

    .booking-right .modern-summary-item #accommodationPrice{
        font-size:15px !important;
    }

    .booking-right .modern-hot-tub{
        grid-template-columns:38px 40px minmax(0,1fr) !important;
        min-height:0 !important;
        padding:16px 12px !important;
        gap:9px !important;
    }

    .booking-right .modern-checkbox{
        width:32px !important;
        height:32px !important;
    }

    .booking-right .hot-tub-icon{
        width:40px !important;
        height:40px !important;
    }

    .booking-right .hot-tub-icon svg{
        width:35px !important;
        height:35px !important;
    }

    .booking-right .modern-hot-tub .hot-tub-title{
        font-size:13px !important;
    }

    .booking-right .hot-tub-subtitle{
        font-size:9px !important;
    }

    .booking-right .hot-tub-price-wrap{
        grid-column:3 !important;
        flex-direction:row !important;
        flex-wrap:wrap !important;
        justify-content:flex-start !important;
        align-items:baseline !important;
        gap:4px !important;
    }

    .booking-right .modern-hot-tub .hot-tub-price{
        font-size:15px !important;
    }

    .booking-right .modern-total-row #totalPrice{
        font-size:31px !important;
    }
}


/* =========================================================
   V48 – súhrn pod kalendárom, plná šírka, jeden riadok
   ========================================================= */
.reservation-summary-wide{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(330px,.9fr) minmax(170px,.35fr);
    align-items:stretch;
    gap:14px;
    margin:26px 0 22px;
    padding:14px;
    border:1px solid #e6ebe4;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(38,62,42,.06);
}

.summary-wide-main{
    display:grid;
    grid-template-columns:1fr 1fr .78fr 1.15fr;
    min-width:0;
    border:1px solid #edf0ec;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
}

.summary-wide-item{
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 13px;
    border-right:1px solid #edf0ec;
}

.summary-wide-item:last-child{
    border-right:0;
}

.summary-wide-icon{
    width:40px;
    height:40px;
    flex:0 0 40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    color:#2e7338;
    background:#f0f6eb;
}

.summary-wide-icon svg{
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.summary-wide-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
}

.summary-wide-label{
    color:#8a908a;
    font-size:8px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.055em;
}

.summary-wide-copy strong{
    max-width:100%;
    color:#273029;
    font-size:12px;
    line-height:1.2;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.summary-wide-copy small{
    color:#717971;
    font-size:8px;
    line-height:1.2;
}

.summary-wide-stay .summary-wide-copy strong{
    color:#2e7338;
}

.summary-wide-stay #accommodationPrice{
    color:#69726b;
    font-weight:700;
}

/* Kúpacia kaďa */
.summary-wide-hottub{
    position:relative;
    min-width:0;
    display:grid;
    grid-template-columns:34px 42px minmax(105px,1fr) auto;
    align-items:center;
    gap:9px;
    padding:12px 13px;
    border:2px solid #ef2b35;
    border-radius:14px;
    background:#fffafa;
    cursor:pointer;
    transition:.2s ease;
}

.summary-wide-hottub:hover{
    background:#fff5f6;
    box-shadow:0 7px 18px rgba(239,43,53,.08);
}

.summary-wide-hottub input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.summary-wide-checkbox{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #ef2b35;
    border-radius:7px;
    background:#fff;
    transition:.18s ease;
}

.summary-wide-checkbox svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:#fff;
    stroke-width:2.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:0;
    transform:scale(.7);
    transition:.18s ease;
}

.summary-wide-hottub input:checked + .summary-wide-checkbox{
    background:#ef2b35;
    box-shadow:0 0 0 4px rgba(239,43,53,.10);
}

.summary-wide-hottub input:checked + .summary-wide-checkbox svg{
    opacity:1;
    transform:scale(1);
}

.summary-wide-tub-icon{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#ef2b35;
}

.summary-wide-tub-icon svg{
    width:36px;
    height:36px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.summary-wide-tub-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
}

.summary-wide-tub-copy strong{
    color:#242a25;
    font-size:12px;
    line-height:1.15;
    font-weight:800;
}

.summary-wide-tub-copy span{
    color:#6d746e;
    font-size:8px;
    line-height:1.2;
}

.summary-wide-tub-copy em{
    margin-top:3px;
    padding:3px 6px;
    border-radius:999px;
    background:#ffe5e7;
    color:#e32d37;
    font-size:6px;
    line-height:1;
    font-style:normal;
    font-weight:800;
    letter-spacing:.05em;
}

.summary-wide-tub-price{
    min-width:62px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:4px;
    text-align:right;
}

.summary-wide-tub-price strong{
    color:#ef2b35;
    font-size:16px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}

.summary-wide-tub-price small{
    color:#6d746f;
    font-size:8px;
}

/* Celková cena */
.summary-wide-total{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:12px 14px;
    border:1px solid #cfe0ca;
    border-radius:14px;
    background:#f7fbf4;
    text-align:center;
}

.summary-wide-total > span{
    display:flex;
    flex-direction:column;
    gap:3px;
}

.summary-wide-total > span strong{
    color:#252b26;
    font-size:9px;
    line-height:1.1;
    font-weight:800;
    text-transform:uppercase;
}

.summary-wide-total > span small{
    color:#747b75;
    font-size:8px;
}

.summary-wide-total > #totalPrice{
    margin-top:8px;
    color:#237031;
    font-size:30px;
    line-height:.9;
    font-weight:800;
    letter-spacing:-.035em;
}

/* Starý súhrn v pravom stĺpci už nie je použitý */
.booking-right .modern-booking-summary{
    display:none !important;
}

@media(max-width:1100px){
    .reservation-summary-wide{
        grid-template-columns:1fr;
    }

    .summary-wide-main{
        grid-template-columns:repeat(4,1fr);
    }

    .summary-wide-hottub{
        grid-template-columns:36px 44px 1fr auto;
    }

    .summary-wide-total{
        flex-direction:row;
        justify-content:space-between;
        text-align:left;
    }

    .summary-wide-total > #totalPrice{
        margin-top:0;
    }
}

@media(max-width:720px){
    .reservation-summary-wide{
        padding:10px;
        gap:10px;
    }

    .summary-wide-main{
        grid-template-columns:1fr 1fr;
    }

    .summary-wide-item{
        border-bottom:1px solid #edf0ec;
    }

    .summary-wide-item:nth-child(2){
        border-right:0;
    }

    .summary-wide-item:nth-child(3),
    .summary-wide-item:nth-child(4){
        border-bottom:0;
    }

    .summary-wide-item:nth-child(3){
        border-right:1px solid #edf0ec;
    }
}

@media(max-width:460px){
    .summary-wide-item{
        padding:10px 9px;
        gap:7px;
    }

    .summary-wide-icon{
        width:34px;
        height:34px;
        flex-basis:34px;
    }

    .summary-wide-copy strong{
        font-size:10px;
    }

    .summary-wide-hottub{
        grid-template-columns:32px 36px 1fr;
        padding:12px 10px;
    }

    .summary-wide-tub-price{
        grid-column:3;
        flex-direction:row;
        align-items:baseline;
        justify-content:flex-start;
        gap:5px;
        text-align:left;
    }

    .summary-wide-total > #totalPrice{
        font-size:27px;
    }
}


/* =========================================================
   V49 – finálny pixel-perfect full-width súhrn
   podľa schváleného grafického návrhu
   ========================================================= */

.reservation-summary-wide{
    width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 365px 185px !important;
    align-items:stretch !important;
    gap:0 !important;
    margin:24px 0 22px !important;
    padding:0 !important;
    border:1px solid #e8ece7 !important;
    border-radius:15px !important;
    background:#fff !important;
    box-shadow:0 7px 22px rgba(35,56,39,.055) !important;
    overflow:hidden !important;
}

/* Ľavá časť: 4 kompaktné stĺpce */
.summary-wide-main{
    display:grid !important;
    grid-template-columns:1fr 1fr .82fr 1.18fr !important;
    min-width:0 !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:visible !important;
    background:#fff !important;
}

.summary-wide-item{
    min-width:0 !important;
    min-height:152px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    padding:17px 12px !important;
    border-right:1px solid #ecefeb !important;
    text-align:center !important;
}

.summary-wide-item:last-child{
    border-right:0 !important;
}

.summary-wide-icon{
    width:48px !important;
    height:48px !important;
    flex:0 0 48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-bottom:2px !important;
    border-radius:50% !important;
    color:#267036 !important;
    background:#f1f6ed !important;
}

.summary-wide-icon svg{
    width:23px !important;
    height:23px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.75 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

.summary-wide-copy{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:5px !important;
    text-align:center !important;
}

.summary-wide-label{
    color:#262c27 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.035em !important;
}

.summary-wide-copy strong{
    max-width:100% !important;
    color:#191d1a !important;
    font-size:14px !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.summary-wide-copy small{
    color:#686f69 !important;
    font-size:10px !important;
    line-height:1.15 !important;
}

.summary-wide-stay .summary-wide-copy strong{
    color:#287239 !important;
    font-size:13px !important;
}

.summary-hidden-price{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
}

/* Kúpacia kaďa – jemný, prémiový doplnok */
.summary-wide-hottub{
    position:relative !important;
    min-width:0 !important;
    min-height:152px !important;
    display:grid !important;
    grid-template-columns:42px 54px minmax(120px,1fr) 70px !important;
    align-items:center !important;
    gap:10px !important;
    padding:21px 18px !important;
    border:0 !important;
    border-left:1px solid #ecefeb !important;
    border-right:1px solid #ecefeb !important;
    border-radius:0 !important;
    background:#fff !important;
    cursor:pointer !important;
    transition:background .18s ease !important;
}

.summary-wide-hottub::before{
    content:"" !important;
    position:absolute !important;
    inset:18px 16px !important;
    border:1px dashed #d8ddda !important;
    border-radius:12px !important;
    pointer-events:none !important;
}

.summary-wide-hottub:hover{
    background:#fcfdfb !important;
    box-shadow:none !important;
}

.summary-wide-hottub input{
    position:absolute !important;
    opacity:0 !important;
    pointer-events:none !important;
}

.summary-wide-checkbox{
    position:relative !important;
    z-index:1 !important;
    width:30px !important;
    height:30px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin-left:3px !important;
    border:1.8px solid #8d9490 !important;
    border-radius:7px !important;
    background:#fff !important;
    box-shadow:0 1px 2px rgba(0,0,0,.04) !important;
    transition:.18s ease !important;
}

.summary-wide-checkbox svg{
    width:20px !important;
    height:20px !important;
    fill:none !important;
    stroke:#fff !important;
    stroke-width:2.6 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
    opacity:0 !important;
    transform:scale(.7) !important;
    transition:.18s ease !important;
}

.summary-wide-hottub input:checked + .summary-wide-checkbox{
    border-color:#2f7b40 !important;
    background:#2f7b40 !important;
    box-shadow:0 0 0 4px rgba(47,123,64,.10) !important;
}

.summary-wide-hottub input:checked + .summary-wide-checkbox svg{
    opacity:1 !important;
    transform:scale(1) !important;
}

.summary-wide-hottub input:focus-visible + .summary-wide-checkbox{
    outline:3px solid rgba(47,123,64,.15) !important;
    outline-offset:3px !important;
}

.summary-wide-tub-icon{
    position:relative !important;
    z-index:1 !important;
    width:50px !important;
    height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#2f7b40 !important;
    background:transparent !important;
}

.summary-wide-tub-icon svg{
    width:41px !important;
    height:41px !important;
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:1.65 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}

.summary-wide-tub-copy{
    position:relative !important;
    z-index:1 !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:4px !important;
}

.summary-wide-tub-copy strong{
    color:#222724 !important;
    font-size:14px !important;
    line-height:1.1 !important;
    font-weight:800 !important;
}

.summary-wide-tub-copy span{
    color:#737a74 !important;
    font-size:10px !important;
    line-height:1.2 !important;
}

.summary-wide-tub-copy em{
    margin-top:4px !important;
    padding:4px 8px !important;
    border-radius:999px !important;
    background:#fdebec !important;
    color:#d94a50 !important;
    font-size:7px !important;
    line-height:1 !important;
    font-style:normal !important;
    font-weight:800 !important;
    letter-spacing:.045em !important;
}

.summary-wide-tub-price{
    position:relative !important;
    z-index:1 !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-end !important;
    gap:7px !important;
    text-align:right !important;
}

.summary-wide-tub-price strong{
    color:#267a38 !important;
    font-size:17px !important;
    line-height:1 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
}

.summary-wide-tub-price small{
    color:#6d746f !important;
    font-size:9px !important;
    line-height:1 !important;
}

/* Celková cena */
.summary-wide-total{
    min-width:0 !important;
    min-height:152px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    padding:16px 14px !important;
    border:0 !important;
    border-radius:0 !important;
    background:linear-gradient(180deg,#fbfdf9 0%,#f5faf2 100%) !important;
    text-align:center !important;
}

.summary-wide-total > span{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:5px !important;
}

.summary-wide-total > span strong{
    color:#222724 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    letter-spacing:.025em !important;
}

.summary-wide-total > span small{
    color:#747b75 !important;
    font-size:9px !important;
    line-height:1 !important;
}

.summary-wide-total > #totalPrice{
    margin-top:10px !important;
    color:#257137 !important;
    font-size:31px !important;
    line-height:.9 !important;
    font-weight:800 !important;
    letter-spacing:-.04em !important;
}

/* Desktop mierne zmenšenie pri užšom priestore */
@media(max-width:1180px){
    .reservation-summary-wide{
        grid-template-columns:minmax(0,1fr) 335px 170px !important;
    }
    .summary-wide-item{padding-left:9px !important;padding-right:9px !important}
    .summary-wide-copy strong{font-size:12px !important}
    .summary-wide-stay .summary-wide-copy strong{font-size:11px !important}
}

/* Tablet */
@media(max-width:980px){
    .reservation-summary-wide{
        grid-template-columns:1fr !important;
        overflow:visible !important;
    }

    .summary-wide-main{
        grid-template-columns:repeat(4,1fr) !important;
    }

    .summary-wide-hottub{
        min-height:116px !important;
        border-left:0 !important;
        border-right:0 !important;
        border-top:1px solid #ecefeb !important;
        border-bottom:1px solid #ecefeb !important;
        grid-template-columns:42px 54px 1fr auto !important;
    }

    .summary-wide-total{
        min-height:90px !important;
        flex-direction:row !important;
        justify-content:space-between !important;
        padding:15px 22px !important;
    }

    .summary-wide-total > span{
        align-items:flex-start !important;
    }

    .summary-wide-total > #totalPrice{
        margin-top:0 !important;
    }
}

/* Mobil */
@media(max-width:620px){
    .summary-wide-main{
        grid-template-columns:1fr 1fr !important;
    }

    .summary-wide-item{
        min-height:118px !important;
    }

    .summary-wide-item:nth-child(2){
        border-right:0 !important;
    }

    .summary-wide-item:nth-child(1),
    .summary-wide-item:nth-child(2){
        border-bottom:1px solid #ecefeb !important;
    }

    .summary-wide-hottub{
        grid-template-columns:34px 45px 1fr !important;
        gap:8px !important;
        padding:18px 15px !important;
    }

    .summary-wide-hottub::before{
        inset:12px !important;
    }

    .summary-wide-tub-price{
        grid-column:3 !important;
        flex-direction:row !important;
        justify-content:flex-start !important;
        align-items:baseline !important;
        gap:6px !important;
        text-align:left !important;
    }
}


/* =========================================================
   V50 – kompaktný súhrn + samostatná kúpacia kaďa
   ========================================================= */

.reservation-summary-compact{
    width:100%;
    margin:22px 0 20px;
}

.reservation-summary-top{
    display:grid;
    grid-template-columns:1fr 1fr .8fr 1.25fr 1.15fr;
    align-items:stretch;
    min-height:78px;
    border:1px solid #e7ebe6;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 18px rgba(37,58,40,.045);
    overflow:hidden;
}

.compact-summary-item{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    padding:14px 18px;
    border-right:1px solid #ecefeb;
}

.compact-label{
    color:#8a908a;
    font-size:9px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.055em;
}

.compact-summary-item strong{
    color:#242925;
    font-size:14px;
    line-height:1.15;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.compact-summary-item strong small{
    color:#69706a;
    font-size:10px;
    font-weight:500;
}

.compact-summary-stay strong{
    color:#2c7139;
}

.compact-hidden-price{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    clip:rect(0 0 0 0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
}

.compact-summary-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 18px;
    background:linear-gradient(180deg,#fbfdf9 0%,#f5faf2 100%);
}

.compact-summary-total > span{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.compact-summary-total > span strong{
    color:#333833;
    font-size:9px;
    line-height:1;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.compact-summary-total > span small{
    color:#7b827c;
    font-size:8px;
}

.compact-summary-total > #totalPrice{
    color:#2b7338;
    font-size:26px;
    line-height:1;
    font-weight:800;
    letter-spacing:-.035em;
    white-space:nowrap;
}

.compact-hot-tub{
    position:relative;
    display:grid;
    grid-template-columns:34px 42px 1fr auto;
    align-items:center;
    gap:12px;
    min-height:58px;
    margin-top:10px;
    padding:10px 16px;
    border:1px solid #e3e8e2;
    border-radius:13px;
    background:#fff;
    box-shadow:0 4px 14px rgba(37,58,40,.035);
    cursor:pointer;
    transition:border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.compact-hot-tub:hover{
    border-color:#cbd8c8;
    background:#fcfdfb;
    box-shadow:0 6px 18px rgba(37,58,40,.055);
}

.compact-hot-tub input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.compact-hot-tub-checkbox{
    width:28px;
    height:28px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1.7px solid #8d9490;
    border-radius:7px;
    background:#fff;
    transition:.18s ease;
}

.compact-hot-tub-checkbox svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:#fff;
    stroke-width:2.6;
    stroke-linecap:round;
    stroke-linejoin:round;
    opacity:0;
    transform:scale(.7);
    transition:.18s ease;
}

.compact-hot-tub input:checked + .compact-hot-tub-checkbox{
    border-color:#2f7b40;
    background:#2f7b40;
    box-shadow:0 0 0 4px rgba(47,123,64,.10);
}

.compact-hot-tub input:checked + .compact-hot-tub-checkbox svg{
    opacity:1;
    transform:scale(1);
}

.compact-hot-tub-icon{
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#2f7b40;
}

.compact-hot-tub-icon svg{
    width:32px;
    height:32px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.compact-hot-tub-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.compact-hot-tub-copy strong{
    color:#272c28;
    font-size:13px;
    line-height:1.1;
    font-weight:800;
}

.compact-hot-tub-copy span{
    color:#717872;
    font-size:9px;
    line-height:1.15;
}

.compact-hot-tub-price{
    display:flex;
    align-items:baseline;
    gap:5px;
    text-align:right;
    white-space:nowrap;
}

.compact-hot-tub-price strong{
    color:#2c7539;
    font-size:16px;
    line-height:1;
    font-weight:800;
}

.compact-hot-tub-price small{
    color:#717872;
    font-size:9px;
}

.reservation-summary-wide,
.modern-booking-summary{
    display:none !important;
}

@media(max-width:900px){
    .reservation-summary-top{
        grid-template-columns:1fr 1fr 1fr 1fr;
    }

    .compact-summary-total{
        grid-column:1 / -1;
        border-top:1px solid #ecefeb;
    }

    .compact-summary-item:nth-child(4){
        border-right:0;
    }
}

@media(max-width:620px){
    .reservation-summary-top{
        grid-template-columns:1fr 1fr;
    }

    .compact-summary-item{
        min-height:68px;
        padding:12px 13px;
    }

    .compact-summary-item:nth-child(2){
        border-right:0;
    }

    .compact-summary-item:nth-child(1),
    .compact-summary-item:nth-child(2){
        border-bottom:1px solid #ecefeb;
    }

    .compact-summary-item:nth-child(3){
        border-right:1px solid #ecefeb;
    }

    .compact-summary-item:nth-child(4){
        border-right:0;
    }

    .compact-hot-tub{
        grid-template-columns:30px 36px 1fr;
        gap:9px;
        padding:11px 12px;
    }

    .compact-hot-tub-price{
        grid-column:3;
        justify-content:flex-start;
    }
}


/* V51 – textový blok nad pôdorysom */
.floorplan-intro{
    margin:0 0 16px;
    padding:0 2px;
}

.floorplan-intro h3{
    margin:0 0 8px;
    color:#212529;
    font-size:1.25rem;
    line-height:1.25;
    font-weight:700;
}

.floorplan-intro p{
    margin:0;
    color:#6D6D6D;
    font-size:.92rem;
    line-height:1.6;
}

@media(max-width:767.98px){
    .floorplan-intro{
        margin-bottom:14px;
    }

    .floorplan-intro h3{
        font-size:1.15rem;
    }

    .floorplan-intro p{
        font-size:.9rem;
    }
}


/* =========================================================
   V52 – okamžitá validácia formátu e-mailu
   ========================================================= */
.field-validation-message{
    display:none;
    width:100%;
    margin-top:6px;
    color:#dc3545;
    font-size:.82rem;
    line-height:1.35;
    font-weight:600;
}

.field-validation-message.is-visible{
    display:block;
}

.guest-form-fullwidth input.field-invalid{
    border-color:#dc3545 !important;
    box-shadow:0 0 0 3px rgba(220,53,69,.08) !important;
}

.guest-form-fullwidth input.field-invalid:focus{
    border-color:#dc3545 !important;
    box-shadow:0 0 0 3px rgba(220,53,69,.12) !important;
}


/* =========================================================
   V53 – validácia až po kliknutí na Odoslať rezerváciu
   ========================================================= */

/* Hlásenie je pred prvým pokusom skryté. */
.required-fields-notice{
    display:none !important;
    padding:10px 13px;
    margin:14px 0 10px !important;
    border:1px solid rgba(220,53,69,.28);
    border-radius:7px;
    background:rgba(220,53,69,.055);
}

.required-fields-notice.is-visible{
    display:block !important;
}

/* Povinné textové polia s chybou. */
.guest-form-fullwidth .form-group input.field-invalid,
.guest-form-fullwidth .form-group select.field-invalid,
.guest-form-fullwidth .form-group textarea.field-invalid{
    border-color:#dc3545 !important;
    box-shadow:0 0 0 3px rgba(220,53,69,.08) !important;
}

/* Povinný súhlas. */
.guest-form-fullwidth .consent.consent-invalid{
    padding:9px 10px;
    margin-left:-10px;
    margin-right:-10px;
    border:1px solid rgba(220,53,69,.45);
    border-radius:7px;
    background:rgba(220,53,69,.045);
}

/* Tlačidlo pôsobí aktívne už počas vypĺňania. */
.guest-form-fullwidth .continue-btn:not(:disabled){
    cursor:pointer;
}


/* V70 – galéria pod rezervačným formulárom, Krpahaus No°1 */
.cabin-photo-gallery-section{
    padding:72px 0 88px;
    background:#fff;
}
.cabin-photo-gallery-heading{
    max-width:720px;
    margin:0 auto 30px;
    text-align:center;
}
.cabin-photo-gallery-kicker{
    display:inline-block;
    margin-bottom:8px;
    color:#2c5f2d;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.cabin-photo-gallery-heading h2{
    margin:0 0 10px;
    color:#212529;
    font-size:34px;
    line-height:1.15;
    font-weight:700;
}
.cabin-photo-gallery-heading p{
    margin:0;
    color:#6d6d6d;
    font-size:15px;
    line-height:1.65;
}
.cabin-photo-gallery-grid{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px;
}
.cabin-photo-gallery-item{
    grid-column:span 2;
    margin:0;
    overflow:hidden;
    border-radius:14px;
    background:#f2f2ee;
    aspect-ratio:4/3;
}
.cabin-photo-gallery-item-wide{
    grid-column:span 3;
    aspect-ratio:16/10;
}
.cabin-photo-gallery-item img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .35s ease;
}
.cabin-photo-gallery-item:hover img{
    transform:scale(1.025);
}
@media(max-width:900px){
    .cabin-photo-gallery-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .cabin-photo-gallery-item,
    .cabin-photo-gallery-item-wide{
        grid-column:span 1;
        aspect-ratio:4/3;
    }
}
@media(max-width:620px){
    .cabin-photo-gallery-section{
        padding:50px 0 62px;
    }
    .cabin-photo-gallery-heading{
        margin-bottom:22px;
        text-align:left;
    }
    .cabin-photo-gallery-heading h2{
        font-size:27px;
    }
    .cabin-photo-gallery-grid{
        grid-template-columns:1fr;
        gap:10px;
    }
}


/* V71 – šírka galérie zjednotená s ostatným obsahom stránky */
.cabin-photo-gallery-section > .container{
    width:100%;
    max-width:1100px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

/* V73 – No°2 kompletná galéria rovnakým systémom ako hlavná Galéria */
.cabin-photo-gallery-main-style > .container{
    width:100%; max-width:1100px !important; margin-left:auto !important; margin-right:auto !important;
}
.cabin-detail-gallery-grid .krp-gallery-item{border:0;padding:0;cursor:pointer;}


/* V74 – Masonry galéria pre Krpahaus No°1 a No°2 */
.cabin-photo-gallery-section{
    padding:72px 0 88px;
    background:#fff;
}
.cabin-photo-gallery-section > .container{
    width:100%;
    max-width:1100px !important;
    margin-left:auto !important;
    margin-right:auto !important;
}
.cabin-photo-gallery-heading{
    max-width:720px;
    margin:0 auto 30px;
    text-align:center;
}
.cabin-photo-gallery-kicker{
    display:inline-block;
    margin-bottom:8px;
    color:#2c5f2d;
    font-size:12px;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.cabin-photo-gallery-heading h2{
    margin:0 0 10px;
    color:#212529;
    font-size:34px;
    line-height:1.15;
    font-weight:700;
}
.cabin-photo-gallery-heading p{
    margin:0;
    color:#6d6d6d;
    font-size:15px;
    line-height:1.65;
}
.cabin-masonry-grid{
    column-count:3;
    column-gap:14px;
}
.cabin-masonry-item{
    display:block;
    width:100%;
    margin:0 0 14px;
    padding:0;
    border:0;
    background:transparent;
    break-inside:avoid;
    overflow:hidden;
    border-radius:14px;
    cursor:pointer;
}
.cabin-masonry-item img{
    display:block;
    width:100%;
    height:auto;
    border-radius:14px;
    transition:transform .35s ease;
}
.cabin-masonry-item:hover img{
    transform:scale(1.025);
}
@media(max-width:900px){
    .cabin-masonry-grid{
        column-count:2;
        column-gap:12px;
    }
    .cabin-masonry-item{
        margin-bottom:12px;
    }
}
@media(max-width:620px){
    .cabin-photo-gallery-section{
        padding:50px 0 62px;
    }
    .cabin-photo-gallery-heading{
        margin-bottom:22px;
        text-align:left;
    }
    .cabin-photo-gallery-heading h2{
        font-size:27px;
    }
    .cabin-masonry-grid{
        column-count:1;
    }
}


/* V77 – potvrdenie rezervácie: ľavá informačná + pravá platobná časť */
.krp-reservation-success{
    min-height:0 !important;
    background:#fff !important;
    border:1px solid #dce7d8;
    overflow:hidden;
    align-items:stretch;
}
.krp-success-content{
    width:50% !important;
    padding:34px 30px 28px !important;
    background:
      linear-gradient(180deg,rgba(247,252,241,.96),rgba(255,255,255,.98));
}
.krp-success-payment{
    width:50%;
    padding:34px 30px 28px;
    border-left:1px solid #e5e8e2;
    background:#fbfbf8;
}
.krp-payment-kicker{
    display:block;
    margin-bottom:5px;
    color:#2c5f2d;
    font-size:.7rem;
    line-height:1;
    font-weight:800;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.krp-payment-head h3{
    margin:0 0 7px;
    color:#183c20;
    font-size:1.45rem;
    line-height:1.2;
}
.krp-payment-head p{
    margin:0;
    color:#697069;
    font-size:.84rem;
    line-height:1.5;
}
.krp-payment-data{
    margin-top:20px;
    padding:8px 16px;
    border:1px solid #e0e8dd;
    border-radius:13px;
    background:#f2f6ef;
}
.krp-payment-data > div{
    display:grid;
    grid-template-columns:135px minmax(0,1fr);
    gap:12px;
    align-items:center;
    padding:9px 0;
    border-bottom:1px solid rgba(44,95,45,.09);
}
.krp-payment-data > div:last-child{border-bottom:0}
.krp-payment-data span{
    color:#747a74;
    font-size:.76rem;
}
.krp-payment-data strong{
    min-width:0;
    overflow-wrap:anywhere;
    color:#202a22;
    font-size:.82rem;
}
.krp-payment-qr{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:18px;
}
.krp-payment-qr-box{
    width:142px;
    height:142px;
    flex:0 0 142px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:7px;
    border:2px solid #b8d0b2;
    border-radius:13px;
    background:#fff;
}
.krp-payment-qr-box img{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
}
.krp-payment-qr-copy{
    display:flex;
    flex-direction:column;
    gap:6px;
}
.krp-payment-qr-copy strong{
    color:#263529;
    font-size:.84rem;
}
.krp-payment-qr-copy span{
    color:#6b716c;
    font-size:.76rem;
    line-height:1.45;
}
.krp-payment-note{
    margin-top:17px;
    padding:11px 13px;
    border-radius:10px;
    background:#eef4eb;
    color:#586259;
    font-size:.74rem;
    line-height:1.45;
}
@media(max-width:991.98px){
    .krp-reservation-success.is-visible{display:block}
    .krp-success-content,
    .krp-success-payment{
        width:100% !important;
    }
    .krp-success-payment{
        border-left:0;
        border-top:1px solid #e5e8e2;
    }
}
@media(max-width:620px){
    .krp-success-content,
    .krp-success-payment{
        padding:24px 18px !important;
    }
    .krp-payment-data > div{
        grid-template-columns:1fr;
        gap:3px;
    }
    .krp-payment-qr{
        align-items:flex-start;
    }
    .krp-payment-qr-box{
        width:118px;
        height:118px;
        flex-basis:118px;
    }
}


/* =========================================================
   V78 – PIXEL MODAL POTVRDENIA REZERVÁCIE
========================================================= */
body.krp-modal-open{overflow:hidden!important}

.krp-confirmation-overlay{
    position:fixed!important;
    inset:0!important;
    z-index:99999!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:28px!important;
    background:rgba(16,19,16,.72)!important;
    backdrop-filter:blur(11px)!important;
    -webkit-backdrop-filter:blur(11px)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .22s ease,visibility .22s ease!important;
}
.krp-confirmation-overlay.is-visible{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}
.krp-confirmation-modal{
    position:relative!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:min(1330px,calc(100vw - 56px))!important;
    height:min(808px,calc(100vh - 56px))!important;
    min-height:650px!important;
    overflow:hidden!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 28px 90px rgba(0,0,0,.28)!important;
    transform:translateY(12px) scale(.99)!important;
    transition:transform .22s ease!important;
}
.krp-confirmation-overlay.is-visible .krp-confirmation-modal{
    transform:translateY(0) scale(1)!important;
}
.krp-confirmation-close{
    position:absolute!important;
    top:20px!important;
    right:22px!important;
    z-index:5!important;
    width:42px!important;
    height:42px!important;
    border:0!important;
    background:transparent!important;
    color:#232923!important;
    font-size:42px!important;
    line-height:36px!important;
    font-weight:300!important;
    cursor:pointer!important;
}
.krp-confirmation-left{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    padding:58px 72px 78px!important;
    overflow:hidden!important;
    text-align:center!important;
    background:
        linear-gradient(180deg,rgba(255,255,255,.99) 0%,rgba(252,253,250,.99) 67%,rgba(244,248,242,.99) 100%)!important;
}
.krp-confirmation-left:after{
    content:""!important;
    position:absolute!important;
    left:0!important;right:0!important;bottom:0!important;
    height:118px!important;
    opacity:.13!important;
    background:
      linear-gradient(158deg,transparent 0 8%,#2c5f2d 8% 9%,transparent 9% 15%,#2c5f2d 15% 16%,transparent 16% 23%,#2c5f2d 23% 24%,transparent 24% 100%)!important;
    pointer-events:none!important;
}
.krp-confirmation-check{
    width:138px!important;
    height:138px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-bottom:24px!important;
    border-radius:50%!important;
    background:#dcebd4!important;
}
.krp-confirmation-check svg{
    width:72px!important;height:72px!important;
    fill:none!important;stroke:#0f6818!important;stroke-width:2.5!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
}
.krp-confirmation-left h2{
    margin:0!important;
    color:#14361e!important;
    font-family:var(--krp-font);
    font-size:52px!important;
    line-height:1.05!important;
    font-weight:700!important;
    letter-spacing:-.025em!important;
}
.krp-confirmation-lead{
    margin:26px 0 0!important;
    color:#5f6764!important;
    font-size:19px!important;
    line-height:1.55!important;
}
.krp-confirmation-divider{
    display:grid!important;
    grid-template-columns:1fr 28px 1fr!important;
    align-items:center!important;
    gap:18px!important;
    width:min(495px,90%)!important;
    margin:52px 0 24px!important;
}
.krp-confirmation-divider span{height:1px!important;background:#9ea9a1!important}
.krp-confirmation-divider svg{width:28px!important;height:28px!important;fill:#17492a!important}
.krp-confirmation-signature{
    color:#153d24!important;
    font-family:var(--krp-font);
    font-size:40px!important;
    line-height:1.1!important;
    transform:rotate(-4deg)!important;
}
.krp-confirmation-brand{
    margin-top:15px!important;
    color:#3d4740!important;
    font-size:14px!important;
    font-weight:500!important;
    letter-spacing:.36em!important;
}
.krp-confirmation-tagline{
    margin-top:7px!important;
    color:#59615b!important;
    font-size:9px!important;
    letter-spacing:.38em!important;
}
.krp-confirmation-trees{display:none!important}

.krp-confirmation-right{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    padding:54px 48px 42px!important;
    background:linear-gradient(135deg,#fafaf6 0%,#fffdf9 100%)!important;
}
.krp-payment-kicker{
    margin:0 0 9px!important;
    color:#525d58!important;
    font-size:14px!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.24em!important;
}
.krp-confirmation-right>h2{
    margin:0!important;
    color:#17391f!important;
    font-family:var(--krp-font);
    font-size:44px!important;
    line-height:1.05!important;
    font-weight:700!important;
}
.krp-payment-accent{
    width:72px!important;height:4px!important;
    margin:19px 0 16px!important;
    border-radius:3px!important;
    background:#2c5f2d!important;
}
.krp-payment-intro{
    max-width:540px!important;
    margin:0 0 25px!important;
    color:#606764!important;
    font-size:17px!important;
    line-height:1.5!important;
}
.krp-payment-card{
    padding:8px 20px!important;
    border:1px solid #e4e9df!important;
    border-radius:15px!important;
    background:#f1f4ed!important;
}
.krp-payment-row{
    display:grid!important;
    grid-template-columns:155px minmax(0,1fr) 30px!important;
    align-items:center!important;
    gap:12px!important;
    min-height:48px!important;
    border-bottom:1px solid rgba(48,68,49,.11)!important;
}
.krp-payment-row:last-child{border-bottom:0!important}
.krp-payment-row>span{
    color:#626a66!important;
    font-size:15px!important;
}
.krp-payment-row>strong{
    min-width:0!important;
    overflow-wrap:anywhere!important;
    color:#152820!important;
    font-size:16px!important;
    font-weight:700!important;
}
.krp-copy-btn{
    width:29px!important;height:29px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0!important;border:0!important;background:transparent!important;
    color:#173c24!important;cursor:pointer!important;border-radius:7px!important;
}
.krp-copy-btn:hover,.krp-copy-btn.is-copied{background:#dde9d8!important}
.krp-copy-btn svg{
    width:19px!important;height:19px!important;
    fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;
    stroke-linecap:round!important;stroke-linejoin:round!important;
}
.krp-payment-bottom{
    display:grid!important;
    grid-template-columns:220px 1fr!important;
    gap:25px!important;
    align-items:center!important;
    margin-top:28px!important;
}
.krp-payment-qr-card{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    padding:10px 10px 12px!important;
    border:2px solid #b9ceb1!important;
    border-radius:14px!important;
    background:#fff!important;
}
.krp-payment-qr-card img{
    width:194px!important;height:194px!important;
    display:block!important;
    object-fit:contain!important;
}
.krp-payment-qr-card strong{
    margin-top:5px!important;
    color:#18251c!important;
    font-size:14px!important;
}
.krp-payment-help{
    min-width:0!important;
}
.krp-payment-help-top{
    display:grid!important;
    grid-template-columns:42px 1fr!important;
    gap:14px!important;
    align-items:start!important;
}
.krp-phone-icon{
    width:40px!important;height:48px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    color:#164629!important;
}
.krp-phone-icon svg{
    width:29px!important;height:42px!important;fill:none!important;stroke:currentColor!important;
    stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.krp-payment-help-top strong{
    display:block!important;
    margin-top:3px!important;
    color:#18251c!important;
    font-size:16px!important;
}
.krp-payment-help-top p{
    margin:7px 0 0!important;
    color:#68706c!important;
    font-size:14px!important;
    line-height:1.5!important;
}
.krp-payment-note{
    display:grid!important;
    grid-template-columns:38px 1fr!important;
    gap:12px!important;
    align-items:center!important;
    margin-top:24px!important;
    padding:16px 18px!important;
    border-radius:13px!important;
    background:#f0f3ec!important;
}
.krp-info-icon{
    width:31px!important;height:31px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    border:2px solid #2e8537!important;border-radius:50%!important;
    color:#2e8537!important;font-family:var(--krp-font);font-size:20px!important;font-weight:700!important;
}
.krp-payment-note p{
    margin:0!important;color:#626a66!important;font-size:13px!important;line-height:1.45!important;
}
.krp-payment-due{
    margin-top:12px!important;
    color:#6a716d!important;
    font-size:12px!important;
}
.krp-payment-due strong{color:#304034!important}

.preview-confirmation-btn{
    display:block!important;
    width:100%!important;
    margin-top:11px!important;
    padding:12px 16px!important;
    border:1px solid #2c5f2d!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#2c5f2d!important;
    font:inherit!important;
    font-size:13px!important;
    font-weight:700!important;
    cursor:pointer!important;
}
.preview-confirmation-btn:hover{background:#f3f8f0!important}

@media(max-width:1050px){
    .krp-confirmation-overlay{padding:18px!important}
    .krp-confirmation-modal{
        grid-template-columns:1fr!important;
        width:min(720px,calc(100vw - 36px))!important;
        height:min(920px,calc(100vh - 36px))!important;
        overflow-y:auto!important;
    }
    .krp-confirmation-left{padding:42px 30px 46px!important}
    .krp-confirmation-check{width:96px!important;height:96px!important;margin-bottom:18px!important}
    .krp-confirmation-check svg{width:52px!important;height:52px!important}
    .krp-confirmation-left h2{font-size:38px!important}
    .krp-confirmation-lead{margin-top:18px!important;font-size:16px!important}
    .krp-confirmation-divider{margin:30px 0 18px!important}
    .krp-confirmation-signature{font-size:32px!important}
    .krp-confirmation-right{padding:38px 34px 34px!important}
}
@media(max-width:620px){
    .krp-confirmation-overlay{padding:0!important;align-items:stretch!important}
    .krp-confirmation-modal{
        width:100%!important;height:100%!important;min-height:100%!important;
        max-height:none!important;border-radius:0!important;
    }
    .krp-confirmation-close{position:fixed!important;top:10px!important;right:12px!important}
    .krp-confirmation-left{padding:38px 20px 42px!important}
    .krp-confirmation-left h2{font-size:33px!important}
    .krp-confirmation-lead br{display:none!important}
    .krp-confirmation-right{padding:34px 18px 38px!important}
    .krp-confirmation-right>h2{font-size:34px!important}
    .krp-payment-intro{font-size:15px!important}
    .krp-payment-row{
        grid-template-columns:1fr 28px!important;
        gap:2px 10px!important;
        padding:9px 0!important;
    }
    .krp-payment-row>span{grid-column:1 / -1!important;font-size:12px!important}
    .krp-payment-row>strong{font-size:14px!important}
    .krp-copy-btn{grid-column:2!important;grid-row:2!important}
    .krp-payment-bottom{grid-template-columns:1fr!important}
    .krp-payment-qr-card{width:220px!important;margin:0 auto!important}
    .krp-payment-qr-card img{width:194px!important;height:194px!important}
}


/* V80 – tlačidlo na opätovné otvorenie platobných údajov po úspešnej rezervácii */
.reservation-reopen-btn{
    margin-top:12px!important;
    background:#f4f8f1!important;
    color:#2c5f2d!important;
    border:1px solid #b9ceb1!important;
}
.reservation-reopen-btn:hover{
    background:#eaf3e5!important;
}


/* V82 – hidden musí mať prioritu pred display:block!important */
.preview-confirmation-btn[hidden],
.reservation-reopen-btn[hidden]{
    display:none !important;
}


/* ===== Source: gallery.css (consolidated Phase 4) ===== */
.gallery-hero{height:400px;position:relative;background:url('/assets/images/galeria/krpahaus_08.jpg') center 58%/cover no-repeat;color:#fff}.gallery-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.12))}.gallery-hero-inner{position:relative;z-index:2;max-width:1100px;height:100%;margin:auto;padding:85px 12px 0;display:flex;flex-direction:column;justify-content:center}.gallery-hero h1{font-size:3rem;font-weight:700;margin:0 0 12px}.gallery-hero p{font-size:1.1rem;margin:0}.gallery-page{padding:58px 0 76px;background:#fff}.gallery-page>.container{max-width:1100px}.gallery-intro{margin-bottom:42px}.gallery-kicker{color:#198754;font-weight:600;margin-bottom:8px}.gallery-kicker:before{content:"";display:inline-block;width:30px;border-bottom:2px solid #198754;margin:0 10px 4px 0}.gallery-intro h2{font-size:2rem;line-height:1.25;margin:0}.gallery-intro p{color:#6D6D6D;line-height:1.7;margin:0;padding-top: 55px;}.gallery-group{margin-top:46px}.gallery-group-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.gallery-group-head h3{font-size:1.35rem;margin:0}.gallery-group-head span{font-size:.82rem;color:#8a918d}.krp-gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:215px;gap:14px}.krp-gallery-item{grid-column:span 4;overflow:hidden;border:0;padding:0;border-radius:14px;cursor:pointer;background:#eee;position:relative}.krp-gallery-item.wide{grid-column:span 6}.krp-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(30%);transition:filter .35s ease,transform .35s ease}.krp-gallery-item:hover img{filter:grayscale(0);transform:scale(1.025)}.gallery-lightbox{position:fixed;inset:0;background:rgba(8,12,9,.94);z-index:3000;display:none;align-items:center;justify-content:center;padding:28px}.gallery-lightbox.open{display:flex}.gallery-lightbox img{max-width:min(1200px,92vw);max-height:88vh;object-fit:contain;border-radius:8px}.gallery-lightbox-close,.gallery-lightbox-prev,.gallery-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;width:46px;height:46px;border-radius:50%;font-size:24px;cursor:pointer}.gallery-lightbox-close{right:24px;top:22px}.gallery-lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}.gallery-lightbox-next{right:24px;top:50%;transform:translateY(-50%)}.gallery-lightbox-caption{position:absolute;bottom:18px;color:#fff;font-size:13px}@media(max-width:767px){.gallery-hero{height:310px}.gallery-hero-inner{padding:75px 18px 0}.gallery-hero h1{font-size:2.3rem}.gallery-page{padding:42px 0 55px}.gallery-intro h2{font-size:1.6rem}.krp-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:180px}.krp-gallery-item,.krp-gallery-item.wide{grid-column:span 1}}@media(max-width:480px){.krp-gallery-grid{grid-template-columns:1fr;grid-auto-rows:230px}}



/* V17 — unified gallery with cabin filters */
.gallery-filter-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:10px 0 25px;
}
.gallery-filter{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.gallery-filter-btn{
  border:1px solid #dfe5df;
  background:#fff;
  color:#3f4742;
  border-radius:999px;
  min-height:42px;
  padding:10px 18px;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.gallery-filter-btn:hover{
  border-color:#198754;
  color:#198754;
}
.gallery-filter-btn.active{
  background:#198754;
  border-color:#198754;
  color:#fff;
}
.gallery-count{
  color:#8a918d;
  font-size:13px;
  white-space:nowrap;
}
.gallery-filter-grid .gallery-hidden{
  display:none!important;
}
@media(max-width:700px){
  .gallery-filter-wrap{
    flex-direction:column;
    align-items:flex-start;
  }
  .gallery-filter{
    width:100%;
  }
  .gallery-filter-btn{
    flex:1 1 auto;
  }
}


/* =========================================================
   V18 – FILTER FIX + PRESNÉ USPORIADANIE GALÉRIE
   2 fotografie v prvom riadku / 3 v druhom, opakovane.
   Galéria vyplní celú šírku kontajnera od ľavého po pravý okraj.
   ========================================================= */

.gallery-page > .container{
    width:100%!important;
    max-width:1180px!important;
    padding-left:18px!important;
    padding-right:18px!important;
}

.gallery-filter-wrap{
    margin-top:4px!important;
    margin-bottom:22px!important;
}

.krp-gallery-grid.gallery-filter-grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-flow:row dense!important;
    gap:14px!important;
    width:100%!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide{
    width:100%!important;
    min-width:0!important;
    height:390px!important;
    grid-column:auto!important;
    grid-row:auto!important;
    border-radius:14px!important;
    overflow:hidden!important;
    border:0!important;
    padding:0!important;
    background:#eee!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half{
    grid-column:span 3!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third{
    grid-column:span 2!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    filter:none!important;
    border-radius:0!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:hover img{
    transform:scale(1.018)!important;
}

.krp-gallery-grid.gallery-filter-grid .gallery-hidden{
    display:none!important;
}

@media(max-width:900px){
    .krp-gallery-grid.gallery-filter-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }

    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third{
        grid-column:span 1!important;
        height:300px!important;
    }
}

@media(max-width:560px){
    .gallery-page > .container{
        padding-left:12px!important;
        padding-right:12px!important;
    }

    .krp-gallery-grid.gallery-filter-grid{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }

    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third{
        grid-column:1!important;
        height:320px!important;
    }
}


/* =========================================================
   V19 – ROZLOŽENIE PODĽA ORIENTÁCIE FOTOGRAFIE
   PORTRÉT = 3 vedľa seba
   LANDSCAPE = 2 vedľa seba
   ========================================================= */

.krp-gallery-grid.gallery-filter-grid{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-flow:row dense!important;
    grid-auto-rows:360px!important;
    gap:5px!important;
    width:100%!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third{
    grid-row:auto!important;
    height:360px!important;
    width:100%!important;
    min-width:0!important;
    border-radius:5px!important;
    overflow:hidden!important;
    border:0!important;
    padding:0!important;
    margin:0!important;
    background:#eee!important;
}

/* Fotografia na výšku: 2 z 6 stĺpcov = 3 fotografie v jednom rade */
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait{
    grid-column:span 2!important;
}

/* Fotografia na šírku / štvorec: 3 zo 6 stĺpcov = 2 fotografie v jednom rade */
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
    grid-column:span 3!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    filter:none!important;
    border-radius:0!important;
}

/* Filter nesmie rezervovať miesto pre skryté fotografie */
.krp-gallery-grid.gallery-filter-grid .gallery-hidden{
    display:none!important;
}

@media(max-width:800px){
    .krp-gallery-grid.gallery-filter-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-auto-rows:300px!important;
        gap:5px!important;
    }

    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
        grid-column:span 1!important;
        height:300px!important;
    }
}

@media(max-width:500px){
    .krp-gallery-grid.gallery-filter-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        grid-auto-rows:165px!important;
        gap:4px!important;
    }

    /* Na mobile zachováme logiku vzoru:
       portrét je užší, landscape širší */
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait{
        grid-column:span 1!important;
        height:165px!important;
    }

    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
        grid-column:span 3!important;
        height:220px!important;
    }
}


/* =========================================================
   V20 – MASONRY GALÉRIA
   Prirodzené pomery fotografií, bez orezávania.
   Desktop 3 stĺpce / tablet 2 / mobil 1.
   ========================================================= */

.krp-gallery-grid.gallery-filter-grid{
    display:block!important;
    width:100%!important;
    column-count:3!important;
    column-gap:12px!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
    display:inline-block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    margin:0 0 12px!important;
    padding:0!important;
    border:0!important;
    border-radius:12px!important;
    overflow:hidden!important;
    background:#eee!important;
    vertical-align:top!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    filter:none!important;
    border-radius:0!important;
}

.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:hover img{
    transform:scale(1.015)!important;
}

.krp-gallery-grid.gallery-filter-grid .gallery-hidden{
    display:none!important;
}

@media(max-width:900px){
    .krp-gallery-grid.gallery-filter-grid{
        column-count:2!important;
        column-gap:10px!important;
    }

    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
        margin-bottom:10px!important;
        height:auto!important;
    }
}

@media(max-width:560px){
    .krp-gallery-grid.gallery-filter-grid{
        column-count:1!important;
        column-gap:0!important;
    }

    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-half,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-third,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait,
    .krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
        margin-bottom:10px!important;
        height:auto!important;
    }
}


/* V21 – filter functionality fix only */
.gallery-filter,
.gallery-filter-btn{
    position:relative!important;
    z-index:20!important;
    pointer-events:auto!important;
}


/* V34 – úvod galérie */
.gallery-intro h2{
    font-size:2.7rem !important;
    padding-top:20px !important;
}


/* V57 – hero Galéria rovnaký ako Ubytovanie */
.gallery-hero{
    background-image:url('/assets/header_galeria.webp') !important;
    background-position:center center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
}

.gallery-hero:before,
.gallery-hero:after{
    background:none !important;
}

/* V59 – HERO Galéria presne podľa Výberu ubytovania V70 */
.gallery-hero-in{
    box-sizing:border-box;
    height:100%;
    padding-top:60px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position:relative;
    z-index:3;
}
.gallery-hero-main{min-width:0}
.gallery-hero-eyebrow{
    margin: 0 0 17px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 3px !important;
    text-transform: uppercase !important;
}
.gallery-hero-main h1{
    margin:0 0 13px!important;
    font-family:var(--krp-font);
    font-size:58px!important;
    line-height:.99;
    font-weight:700!important;
    letter-spacing:normal!important;
    line-height: .99 !important;
}
.gallery-hero-main p{
    margin:0!important;
    max-width:680px;
    font-size:15px!important;
    line-height:1.52;
    color:rgba(255,255,255,.97);
}
.gallery-hero-note{
    width:310px;
    flex:0 0 310px;
    margin:0 70px 0 40px;
    text-align:center;
    font-family:var(--krp-font);
    font-size:27px;
    line-height:1.15;
    transform:rotate(-7deg);
    text-shadow:0 2px 8px #0005;
}
.gallery-hero-mountains{
    margin-top:8px;
    font-size:30px;
}
@media(max-width:991.98px){
    .gallery-hero-main h1{font-size:48px}
    .gallery-hero-note{margin-right:0}
}
@media(max-width:767.98px){
    .gallery-hero-in{
        padding:75px 18px 0!important;
        display:flex;
        justify-content:center;
    }
    .gallery-hero-main h1{font-size:42px}
    .gallery-hero-note{display:none}
}

.gallery-hero .subpage-hero-unified-inner {
    height: 100% !important;
}

/* Responsive HERO – tablet + mobil */
@media (max-width:991.98px){
  .gallery-hero{height:330px!important;min-height:330px!important;background-position:center center!important}
  .gallery-hero-in{height:100%!important;padding:64px 28px 0!important;align-items:center!important}
  .gallery-hero-main h1{font-size:46px!important;line-height:1.02!important}
  .gallery-hero-note{display:none!important}
}
@media (max-width:767.98px){
  .gallery-hero{height:300px!important;min-height:300px!important}
  .gallery-hero-in{padding:68px 18px 0!important;align-items:center!important;justify-content:flex-start!important}
  .gallery-hero-main h1{font-size:clamp(34px,9vw,42px)!important;line-height:1.03!important;margin-bottom:10px!important}
  .gallery-hero-main p{font-size:14px!important;line-height:1.45!important}
  .gallery-hero-eyebrow{font-size:11px!important;letter-spacing:2.2px!important;margin-bottom:12px!important}
}


/* Iba nadpis „Malé domčeky veľké dobrodružstvá v srdci prírody“ */
.gallery-intro h2{
    font-family: var(--krp-font);
    line-height: 1.02;
    font-weight: 400;
}


/* =========================================================
   V80 – GALÉRIA / PERFECT PIXEL EDITORIAL BODY
   Header a footer zostávajú bez zásahu.
   ========================================================= */
.gallery-page{
  background:#f7f4ed !important;
  padding:0 0 88px !important;
}
.gallery-page .gallery-shell{
  width:100% !important;
  max-width:1220px !important;
  margin:0 auto !important;
  padding:0 34px !important;
}
.gallery-page .gallery-intro{
  display:block !important;
  text-align:center !important;
  margin:0 !important;
  padding:54px 0 24px !important;
}
.gallery-page .gallery-kicker{
  margin:0 0 17px !important;
  color:#26372c !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:5px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
}
.gallery-page .gallery-kicker:before{display:none !important}
.gallery-page .gallery-intro h2{
  max-width:900px !important;
  margin:0 auto 18px !important;
  padding:0 !important;
  font-family:var(--krp-font);
  font-size:clamp(38px,4.25vw,58px) !important;
  line-height:1.02 !important;
  font-weight:400 !important;
  letter-spacing:-1.8px !important;
  color:#171914 !important;
}
.gallery-page .gallery-intro p{
  margin:0 auto !important;
  padding:0 !important;
  max-width:650px !important;
  color:#4f514d !important;
  font-size:17px !important;
  line-height:1.35 !important;
}
.gallery-page .gallery-filter-wrap{
  position:relative !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:0 0 20px !important;
  min-height:46px !important;
}
.gallery-page .gallery-filter{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;
  width:auto !important;
}
.gallery-page .gallery-filter-btn{
  min-width:145px !important;
  min-height:40px !important;
  padding:9px 22px !important;
  border:1px solid #bfc4bd !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#555b56 !important;
  font-size:12px !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  box-shadow:none !important;
}
.gallery-page .gallery-filter-btn:hover{
  border-color:#173a27 !important;
  color:#173a27 !important;
}
.gallery-page .gallery-filter-btn.active{
  background:#123b27 !important;
  border-color:#123b27 !important;
  color:#fff !important;
}
.gallery-page .gallery-count{
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#59615b !important;
  font-size:11px !important;
  letter-spacing:.1px !important;
  padding-right:48px !important;
}
.gallery-page .gallery-count:after{
  content:"" !important;
  position:absolute !important;
  width:38px !important;
  right:0 !important;
  top:50% !important;
  border-top:1px solid #9ca39d !important;
}

/* Presná editoriálna mozaika – používa iba existujúce fotografie */
.krp-gallery-grid.gallery-filter-grid{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-auto-rows:145px !important;
  grid-auto-flow:dense !important;
  column-count:initial !important;
  gap:6px !important;
  width:100% !important;
}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.wide,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-portrait,
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item.gallery-landscape{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#deddd7 !important;
  break-inside:auto !important;
}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  transform:scale(1.001);
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease !important;
}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:hover img{
  transform:scale(1.035) !important;
}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:after{
  content:attr(data-gallery-caption);
  position:absolute;
  left:16px;
  bottom:13px;
  color:#fff;
  font-size:11px;
  letter-spacing:.6px;
  opacity:0;
  transform:translateY(5px);
  transition:.25s ease;
  text-shadow:0 1px 8px rgba(0,0,0,.45);
}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:hover:after{
  opacity:1;
  transform:none;
}

/* Vzor podobný schválenému grafickému návrhu */
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+1){grid-column:span 6 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+2){grid-column:span 3 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+3){grid-column:span 3 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+4){grid-column:span 3 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+5){grid-column:span 4 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+6){grid-column:span 5 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+7){grid-column:span 6 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+8){grid-column:span 3 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+9){grid-column:span 3 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+10){grid-column:span 4 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+11){grid-column:span 5 !important;grid-row:span 2 !important}
.krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(12n+12){grid-column:span 3 !important;grid-row:span 2 !important}

.gallery-mantra{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:42px;
  padding:35px 0 30px;
}
.gallery-mantra span{
  display:block;
  width:145px;
  border-top:1px solid #89948b;
}
.gallery-mantra b{
  font-size:10px;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:6px;
  color:#314038;
  white-space:nowrap;
}
.gallery-ending{
  text-align:center;
  padding:37px 0 0;
  color:#3b463f;
}
.gallery-ending i{
  display:block;
  width:48px;
  margin:0 auto 15px;
  border-top:1px solid #7f8b83;
}
.gallery-ending span{
  font-size:10px;
  line-height:1.7;
  letter-spacing:5px;
  text-transform:uppercase;
}

/* Pri filtrovaní ostáva mozaika kompaktná */
.krp-gallery-grid.gallery-filter-grid .gallery-hidden{display:none !important}

@media(max-width:900px){
  .gallery-page .gallery-shell{padding:0 20px !important}
  .gallery-page .gallery-intro{padding-top:46px !important}
  .gallery-page .gallery-intro h2{font-size:42px !important}
  .gallery-page .gallery-filter-wrap{padding-bottom:26px !important}
  .gallery-page .gallery-count{
    top:auto !important;bottom:0 !important;right:0 !important;transform:none !important;
  }
  .krp-gallery-grid.gallery-filter-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    grid-auto-rows:155px !important;
  }
  .krp-gallery-grid.gallery-filter-grid .krp-gallery-item{
    grid-column:span 3 !important;
    grid-row:span 2 !important;
  }
  .krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(5n+1){
    grid-column:span 6 !important;
  }
}
@media(max-width:600px){
  .gallery-page{padding-bottom:58px !important}
  .gallery-page .gallery-shell{padding:0 12px !important}
  .gallery-page .gallery-intro{padding:38px 8px 24px !important}
  .gallery-page .gallery-kicker{font-size:9px !important;letter-spacing:3.5px !important}
  .gallery-page .gallery-intro h2{
    font-size:35px !important;
    letter-spacing:-1px !important;
  }
  .gallery-page .gallery-intro h2 br{display:none}
  .gallery-page .gallery-intro p{font-size:15px !important}
  .gallery-page .gallery-intro p br{display:none}
  .gallery-page .gallery-filter-wrap{
    display:block !important;
    padding-bottom:31px !important;
  }
  .gallery-page .gallery-filter{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
  }
  .gallery-page .gallery-filter-btn{
    min-width:0 !important;
    width:100% !important;
    padding:9px 10px !important;
  }
  .gallery-page .gallery-filter-btn:first-child{
    grid-column:1 / -1 !important;
  }
  .krp-gallery-grid.gallery-filter-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:150px !important;
    gap:4px !important;
  }
  .krp-gallery-grid.gallery-filter-grid .krp-gallery-item,
  .krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(n){
    grid-column:span 1 !important;
    grid-row:span 2 !important;
  }
  .krp-gallery-grid.gallery-filter-grid .krp-gallery-item:nth-child(4n+1){
    grid-column:span 2 !important;
  }
  .gallery-mantra{gap:14px;padding:26px 0 22px}
  .gallery-mantra span{width:28px}
  .gallery-mantra b{
    font-size:8px;
    letter-spacing:2.4px;
    white-space:normal;
    text-align:center;
  }
}



/* ===== Detail page local rules consolidated from PHP ===== */
.day.kh-today:not(.selected):not(.range):not(.range-start):not(.range-end):not(.selected-start):not(.selected-end) { background:#ffefbe !important; }
.detail-hero--no1 { background-image:url('/assets/header-universal.webp'); }
.detail-hero--no2 { background-image:url('/assets/header-universal.webp'); }

/* ===== Phase 92 — No°1 visual refresh, functionality preserved ===== */
.no1-showcase{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:38px;align-items:center;margin:0 0 34px}
.no1-showcase__stage{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#e8e1d8;box-shadow:0 12px 34px rgba(42,34,24,.10)}
.no1-showcase__stage>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:opacity .2s ease}
.no1-showcase__arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(20,20,17,.72);color:#fff;font-size:30px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2;backdrop-filter:blur(6px)}
.no1-showcase__arrow--prev{left:16px}.no1-showcase__arrow--next{right:16px}.no1-showcase__arrow:hover{background:#b98759}
.no1-showcase__count{position:absolute;right:14px;bottom:13px;padding:6px 9px;border-radius:20px;background:rgba(20,20,17,.68);color:#fff;font-size:11px;letter-spacing:.04em}
.no1-showcase__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:9px}
.no1-showcase__thumbs button{border:2px solid transparent;padding:0;border-radius:9px;overflow:hidden;background:none;aspect-ratio:16/9;cursor:pointer;opacity:.78;transition:.2s ease}
.no1-showcase__thumbs button.is-active{border-color:#b98759;opacity:1}.no1-showcase__thumbs button:hover{opacity:1}
.no1-showcase__thumbs img{width:100%;height:100%;display:block;object-fit:cover}
.no1-showcase__eyebrow{display:block;margin-bottom:9px;color:#b17a4c;font-size:11px;font-weight:700;letter-spacing:.18em}
.no1-showcase__copy h2{font-family:'DM Serif Display',serif;font-size:42px;line-height:1.02;margin:0 0 16px;color:#24221e;font-weight:400}
.no1-showcase__copy>p{margin:0 0 23px;color:#666057;font-size:14px;line-height:1.72}
.no1-showcase__facts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:24px}
.no1-showcase__facts>div{min-height:94px;padding:13px 7px 11px;border:1px solid #eee5da;border-radius:11px;background:#fffdfa;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.no1-showcase__facts .detail-icon{width:25px;height:25px;margin-bottom:6px;color:#aa7448}.no1-showcase__facts strong{font-size:12px;color:#302d28}.no1-showcase__facts small{font-size:9px;color:#918a81;margin-top:3px}
.no1-showcase__cta{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;min-height:48px;border-radius:9px;background:#b98759;color:#fff;text-decoration:none;font-size:13px;font-weight:700;box-shadow:0 8px 22px rgba(185,135,89,.20);transition:.2s ease}.no1-showcase__cta:hover{background:#a9784d;transform:translateY(-1px)}
.no1-info-cards{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:14px;margin:0 0 42px}
.no1-info-card{padding:24px 24px 22px;border:1px solid #eee6dc;border-radius:15px;background:#fffdfa;box-shadow:0 8px 28px rgba(50,42,32,.055)}
.no1-info-card h3{font-family:'DM Serif Display',serif;font-size:22px;font-weight:400;margin:0 0 18px;color:#2d2924}
.no1-info-card ul{list-style:none;padding:0;margin:0}.no1-info-card li{position:relative;padding:0 0 0 22px;margin:0 0 10px;color:#686159;font-size:12px;line-height:1.45}.no1-info-card li:before{content:'✓';position:absolute;left:0;top:0;color:#b17a4c;font-weight:700}
.no1-addon-card{position:relative}.no1-addon-card>img{width:100%;height:116px;object-fit:cover;border-radius:10px;display:block;margin-bottom:15px}.no1-addon-card__body{display:flex;gap:11px;align-items:flex-start}.no1-addon-card__icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f4ede5;color:#a86f42;font-size:21px;flex:0 0 auto}.no1-addon-card__body strong{display:block;color:#302c27;font-size:14px;margin:1px 0 3px}.no1-addon-card__body p{margin:0;color:#7b746b;font-size:11px;line-height:1.4}.no1-addon-card__price{display:flex;align-items:baseline;gap:4px;margin:13px 0 12px;padding-left:49px}.no1-addon-card__price strong{font-family:'DM Serif Display',serif;font-size:24px;font-weight:400;color:#2e2a25}.no1-addon-card__price span{font-size:11px;color:#80786f}
.no1-addon-card__select{display:flex;align-items:center;gap:8px;font-size:11px;color:#5f5952;cursor:pointer}.no1-addon-card__fakecheck{width:16px;height:16px;border:1.5px solid #b98759;border-radius:4px;display:inline-grid;place-items:center;flex:0 0 auto}.no1-addon-card.is-selected{border-color:#c99a70;box-shadow:0 10px 30px rgba(185,135,89,.12)}.no1-addon-card.is-selected .no1-addon-card__fakecheck{background:#b98759}.no1-addon-card.is-selected .no1-addon-card__fakecheck:after{content:'✓';font-size:11px;color:#fff;font-weight:700}
@media(max-width:900px){.no1-showcase{grid-template-columns:1fr;gap:24px}.no1-info-cards{grid-template-columns:1fr 1fr}.no1-addon-card{grid-column:1/-1}.no1-showcase__copy h2{font-size:38px}}
@media(max-width:620px){.cabin-detail-v10{padding-top:28px}.no1-showcase__stage{border-radius:12px}.no1-showcase__thumbs{gap:5px}.no1-showcase__thumbs button{border-radius:6px}.no1-showcase__copy h2{font-size:34px}.no1-showcase__facts{grid-template-columns:1fr 1fr}.no1-info-cards{grid-template-columns:1fr}.no1-addon-card{grid-column:auto}.no1-info-card{padding:21px 19px}.no1-showcase__arrow{width:36px;height:36px;font-size:25px}}

/* ===== Phase 94 — No°1 spodná galéria podľa schváleného detail návrhu ===== */
.cabin-photo-gallery-section--no1{padding:54px 0 66px;background:#fbf8f3;border-top:1px solid #eee7dd}
.cabin-photo-gallery-section--no1>.container{max-width:1180px!important}
.cabin-photo-gallery-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}
.cabin-photo-gallery-section--no1 .cabin-photo-gallery-heading{max-width:none;margin:0;text-align:left}
.cabin-photo-gallery-section--no1 .cabin-photo-gallery-kicker{margin-bottom:6px;color:#b17a4c;font-size:10px;letter-spacing:.18em}
.cabin-photo-gallery-section--no1 .cabin-photo-gallery-heading h2{margin:0;font-family:'DM Serif Display',serif;font-size:38px;line-height:1.05;font-weight:400;color:#24211d}
.cabin-photo-gallery-filters{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.cabin-gallery-filter{border:1px solid #eee7df;background:#f7f3ed;color:#756e66;border-radius:9px;padding:10px 17px;font:600 11px/1 'DM Sans',sans-serif;cursor:pointer;transition:.2s ease}
.cabin-gallery-filter:hover{border-color:#d8b695;color:#9a673d}.cabin-gallery-filter.is-active{background:#b98759;border-color:#b98759;color:#fff;box-shadow:0 5px 14px rgba(185,135,89,.16)}
.cabin-detail-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:190px;gap:8px}
.cabin-detail-photo-grid .cabin-masonry-item{display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:10px;overflow:hidden;background:#e9e3da;cursor:pointer;position:relative}
.cabin-detail-photo-grid .cabin-masonry-item img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;transition:transform .35s ease,filter .35s ease}
.cabin-detail-photo-grid .cabin-masonry-item:hover img{transform:scale(1.025);filter:brightness(.94)}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(1){grid-column:span 3;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(2){grid-column:span 3;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(3){grid-column:span 2;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(4){grid-column:span 2;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(5){grid-column:span 2;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(6){grid-column:span 3;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(7){grid-column:span 4;grid-row:span 2}
.cabin-detail-photo-grid .cabin-masonry-item:nth-child(8){grid-column:span 5;grid-row:span 2}
.cabin-detail-photo-grid .cabin-gallery-extra{grid-column:span 4!important;grid-row:span 2!important}
.cabin-detail-photo-grid .is-filtered-out{display:none!important}
@media(max-width:900px){.cabin-photo-gallery-topline{align-items:flex-start;flex-direction:column}.cabin-photo-gallery-filters{justify-content:flex-start}.cabin-detail-photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:230px}.cabin-detail-photo-grid .cabin-masonry-item:nth-child(n){grid-column:span 1!important;grid-row:span 1!important}.cabin-detail-photo-grid .cabin-masonry-item:nth-child(1),.cabin-detail-photo-grid .cabin-masonry-item:nth-child(8){grid-column:span 2!important}.cabin-detail-photo-grid .cabin-gallery-extra{grid-column:span 1!important}}
@media(max-width:620px){.cabin-photo-gallery-section--no1{padding:42px 0 52px}.cabin-photo-gallery-section--no1 .cabin-photo-gallery-heading h2{font-size:31px}.cabin-photo-gallery-filters{gap:6px}.cabin-gallery-filter{padding:9px 12px;font-size:10px}.cabin-detail-photo-grid{grid-template-columns:1fr;grid-auto-rows:250px;gap:7px}.cabin-detail-photo-grid .cabin-masonry-item:nth-child(n),.cabin-detail-photo-grid .cabin-gallery-extra{grid-column:span 1!important;grid-row:span 1!important}}

/* ===== Phase 97 — detail galérie No°1 + No°2 bez orezávania fotografií ===== */
/* Zachovávame prirodzený pomer každej fotografie. Namiesto pevných výšok
   používame masonry stĺpce, takže portréty ani široké zábery sa nerežú. */
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid{
    display:block!important;
    width:100%!important;
    column-count:3!important;
    column-gap:10px!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .cabin-masonry-item,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .cabin-masonry-item,
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .cabin-gallery-extra,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .cabin-gallery-extra{
    display:inline-block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    margin:0 0 10px!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    vertical-align:top!important;
    border-radius:10px!important;
    overflow:hidden!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .cabin-masonry-item img,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .cabin-masonry-item img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .is-filtered-out,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .is-filtered-out{
    display:none!important;
}
@media(max-width:900px){
    .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid,
    .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid{
        column-count:2!important;
        column-gap:9px!important;
    }
    .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .cabin-masonry-item,
    .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .cabin-masonry-item{
        margin-bottom:9px!important;
    }
}
@media(max-width:620px){
    .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid,
    .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid{
        column-count:1!important;
        column-gap:0!important;
    }
}


/* ===== Phase 99 — filtrovaná detail galéria: pevné riadkové rozloženie ===== */
/* Pri aktívnom filtri vypneme CSS columns a výsledky skladáme zľava doprava. */
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:auto!important;
    gap:10px!important;
    column-count:initial!important;
    column-gap:normal!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item:not(.is-filtered-out),
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item:not(.is-filtered-out),
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active .cabin-gallery-extra:not(.is-filtered-out),
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active .cabin-gallery-extra:not(.is-filtered-out){
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    grid-column:span 1!important;
    grid-row:span 1!important;
    break-inside:auto!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item img,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
}
@media(max-width:900px){
    .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active,
    .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
    .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active,
    .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active{grid-template-columns:1fr!important}
}

/* ===== Phase 100 — skutočný masonry layout detail galérií ===== */
/* Každá fotografia si drží prirodzený pomer. Grid span sa dopočíta JS podľa
   reálnej výšky obrázka, preto nevznikajú prázdne pásy ani zbytočný orez. */
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid,
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:8px!important;
    grid-auto-flow:row dense!important;
    gap:10px!important;
    column-count:initial!important;
    column-gap:normal!important;
    align-items:start!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .cabin-masonry-item,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .cabin-masonry-item,
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item:not(.is-filtered-out),
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item:not(.is-filtered-out){
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    grid-column:span 1!important;
    grid-row:auto;
    align-self:start!important;
    background:transparent!important;
    border-radius:10px!important;
    overflow:hidden!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .cabin-masonry-item img,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .cabin-masonry-item img,
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item img,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active .cabin-masonry-item img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    margin:0!important;
    object-fit:initial!important;
    object-position:initial!important;
    border-radius:10px!important;
}
.cabin-photo-gallery-section--no1 .cabin-detail-photo-grid .is-filtered-out,
.cabin-photo-gallery-section--no2 .cabin-detail-photo-grid .is-filtered-out{display:none!important}
@media(max-width:900px){
  .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid,
  .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid,
  .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active,
  .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
}
@media(max-width:620px){
  .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid,
  .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid,
  .cabin-photo-gallery-section--no1 .cabin-detail-photo-grid.is-filter-active,
  .cabin-photo-gallery-section--no2 .cabin-detail-photo-grid.is-filter-active{grid-template-columns:1fr!important;gap:8px!important}
}

/* =========================================================
   Phase 161 — Krpahaus No°1 visual-only editorial redesign
   Scope: /ubytovanie/detail/no1/ only
   IMPORTANT: no booking/calendar/API/JS logic is changed.
   ========================================================= */

/* Hero */
.detail-hero--no1{
    height:500px;
    min-height:500px;
    background-image:url('/assets/images/galeria/krpahaus_11.jpg')!important;
    background-position:center 54%;
    background-size:cover;
    align-items:flex-end;
}
.detail-hero--no1:before{
    background:
        linear-gradient(90deg,rgba(10,18,13,.72) 0%,rgba(10,18,13,.43) 43%,rgba(10,18,13,.14) 72%,rgba(10,18,13,.06) 100%),
        linear-gradient(0deg,rgba(8,14,10,.40) 0%,rgba(8,14,10,.04) 48%,rgba(8,14,10,.12) 100%)!important;
}
.detail-hero--no1 .detail-hero-inner{
    max-width:1100px;
    padding:0 12px 62px;
}
.detail-hero--no1 .detail-hero-inner:before{
    content:'UBYTOVANIE  ·  NO°1';
    display:block;
    margin-bottom:16px;
    font-family:'DM Sans',sans-serif;
    font-size:11px;
    line-height:1;
    font-weight:700;
    letter-spacing:.24em;
    color:#d7a16f;
}
.detail-hero--no1 h1{
    max-width:720px;
    margin:0 0 12px;
    font-family:'DM Serif Display',Georgia,serif!important;
    font-size:clamp(48px,5vw,70px)!important;
    line-height:.98;
    font-weight:400!important;
    letter-spacing:-.025em;
    color:#fff;
    text-shadow:0 2px 18px rgba(0,0,0,.16);
}
.detail-hero--no1 p{
    max-width:560px;
    margin:0;
    font-family:'DM Sans',sans-serif;
    font-size:14px;
    line-height:1.6;
    color:rgba(255,255,255,.84);
}

/* Main canvas */
.detail-hero--no1 + .cabin-detail-v10{
    padding:72px 0 86px;
    background:#fbf8f3;
    color:#172219;
}
.detail-hero--no1 + .cabin-detail-v10 > .container{
    max-width:1100px!important;
}

/* Main editorial intro */
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase{
    grid-template-columns:minmax(0,1.28fr) minmax(340px,.72fr);
    gap:56px;
    align-items:center;
    margin:0 0 54px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__stage{
    border-radius:0;
    background:#ebe4da;
    box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__stage:after{
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    box-shadow:inset 0 0 0 1px rgba(39,49,41,.05);
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__arrow{
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.42);
    background:rgba(18,27,20,.58);
    backdrop-filter:blur(7px);
    box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__arrow:hover{
    background:#b87e50;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__count{
    right:12px;
    bottom:12px;
    border-radius:0;
    padding:7px 10px;
    background:rgba(18,27,20,.66);
    font-family:'DM Sans',sans-serif;
    font-size:10px;
    letter-spacing:.10em;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs{
    gap:6px;
    margin-top:6px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button{
    border:0;
    border-radius:0;
    opacity:.62;
    position:relative;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button:after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:transparent;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button.is-active{
    opacity:1;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button.is-active:after{
    background:#b87e50;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy{
    padding:8px 0 0;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__eyebrow{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:18px;
    color:#8c643f;
    font-family:'DM Sans',sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.23em;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__eyebrow:after{
    content:'';
    width:62px;
    height:1px;
    background:#cda47f;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy h2{
    margin:0 0 18px;
    font-family:'DM Serif Display',Georgia,serif!important;
    font-size:52px;
    line-height:1.02;
    font-weight:400!important;
    letter-spacing:-.025em;
    color:#173124;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy>p{
    margin:0 0 28px;
    color:#666b66;
    font-family:'DM Sans',sans-serif;
    font-size:13.5px;
    line-height:1.75;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    margin:0 0 28px;
    border-top:1px solid #dfd6cb;
    border-bottom:1px solid #dfd6cb;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div{
    min-height:96px;
    padding:16px 8px 14px;
    border:0;
    border-radius:0;
    background:transparent;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div+div{
    border-left:1px solid #e4dbd0;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts .detail-icon{
    width:24px;
    height:24px;
    margin-bottom:7px;
    color:#b87e50;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts strong{
    color:#213429;
    font-family:'DM Sans',sans-serif;
    font-size:11px;
    font-weight:700;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts small{
    margin-top:4px;
    color:#8d8a84;
    font-size:9px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__cta{
    width:auto;
    min-height:52px;
    padding:0 28px;
    display:inline-flex;
    border-radius:999px;
    background:#b97e4f;
    box-shadow:none;
    font-family:'DM Sans',sans-serif;
    font-size:12px;
    font-weight:700;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__cta:hover{
    background:#a96e43;
}

/* Information panels */
.detail-hero--no1 + .cabin-detail-v10 .no1-info-cards{
    grid-template-columns:1fr 1fr 1.05fr;
    gap:1px;
    margin:0 0 68px;
    background:#e4dbd0;
    border-top:1px solid #e4dbd0;
    border-bottom:1px solid #e4dbd0;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card{
    min-height:100%;
    padding:34px 30px 32px;
    border:0;
    border-radius:0;
    background:#fffdfa;
    box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card h3{
    margin:0 0 22px;
    color:#173124;
    font-family:'DM Serif Display',Georgia,serif!important;
    font-size:26px;
    line-height:1.1;
    font-weight:400!important;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card li{
    padding-left:20px;
    margin-bottom:10px;
    color:#666b66;
    font-family:'DM Sans',sans-serif;
    font-size:11.5px;
    line-height:1.5;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card li:before{
    color:#b87e50;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-addon-card>img{
    height:132px;
    margin:-6px 0 18px;
    border-radius:0;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-addon-card__icon{
    border-radius:0;
    background:#f3ebe2;
    color:#a66c42;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-addon-card__body strong{
    color:#213429;
    font-size:13px;
}

/* Reservation section */
.detail-hero--no1 + .cabin-detail-v10 .booking-section{
    margin-top:0;
    padding-top:52px;
    border-top:1px solid #ded5ca;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-title{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 30px;
    color:#173124;
    font-family:'DM Serif Display',Georgia,serif!important;
    font-size:40px;
    line-height:1.05;
    font-weight:400!important;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-title:after{
    content:'';
    width:78px;
    height:1px;
    background:#9eb0a3;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-layout{
    grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
    gap:24px;
    align-items:stretch;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-left,
.detail-hero--no1 + .cabin-detail-v10 .booking-right{
    background:#fffdfa;
    border:1px solid #e7ded4;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-left{
    padding:30px 30px 24px;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-right{
    padding:30px 26px;
}
.detail-hero--no1 + .cabin-detail-v10 .calendar-header{
    margin-bottom:20px;
}
.detail-hero--no1 + .cabin-detail-v10 .calendar-header h2{
    color:#173124;
    font-family:'DM Serif Display',Georgia,serif!important;
    font-size:25px!important;
    font-weight:400!important;
}
.detail-hero--no1 + .cabin-detail-v10 .nav-btn{
    border-color:#d9cdbf!important;
    background:#fbf7f2!important;
    color:#315242!important;
}
.detail-hero--no1 + .cabin-detail-v10 .month{
    border-color:#eee6dc!important;
    border-radius:0!important;
    box-shadow:none!important;
}
.detail-hero--no1 + .cabin-detail-v10 .floorplan-intro{
    margin:0 0 18px;
}
.detail-hero--no1 + .cabin-detail-v10 .floorplan-intro h3{
    margin:0 0 10px;
    color:#173124;
    font-family:'DM Serif Display',Georgia,serif!important;
    font-size:28px;
    line-height:1.05;
    font-weight:400!important;
}
.detail-hero--no1 + .cabin-detail-v10 .floorplan-intro p{
    color:#70726e;
    font-family:'DM Sans',sans-serif;
    font-size:12px;
    line-height:1.65;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-right .detail-floorplan{
    margin:20px 0 0;
    padding:18px;
    background:#f6f1ea;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-right .detail-floorplan img{
    max-width:100%;
}

/* Booking summary — visual only, IDs and form behaviour untouched */
.detail-hero--no1 + .cabin-detail-v10 .reservation-summary-compact{
    margin:18px 0 8px;
}
.detail-hero--no1 + .cabin-detail-v10 .reservation-summary-top{
    border-color:#ded5ca;
    border-radius:0;
    background:#fffdfa;
    box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-summary-item{
    border-right-color:#e6ddd3;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-summary-total{
    background:#f4ede5;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-summary-stay strong,
.detail-hero--no1 + .cabin-detail-v10 .compact-summary-total > #totalPrice{
    color:#9d6238;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-hot-tub{
    border-color:#ded5ca;
    border-radius:0;
    background:#fffdfa;
    box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-hot-tub:hover{
    border-color:#c79a74;
    background:#fffaf5;
    box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-hot-tub-icon{
    color:#a96e43;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-hot-tub input:checked + .compact-hot-tub-checkbox{
    border-color:#a96e43;
    background:#a96e43;
    box-shadow:0 0 0 4px rgba(169,110,67,.09);
}

/* Meta row */
.detail-hero--no1 + .cabin-detail-v10 .booking-meta{
    margin-top:18px;
    border-top:1px solid #e3dad0;
    border-bottom:1px solid #e3dad0;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-meta-item{
    padding-top:18px;
    padding-bottom:18px;
}

/* Mobile / tablet */
@media(max-width:991px){
    .detail-hero--no1{height:430px;min-height:430px}
    .detail-hero--no1 .detail-hero-inner{padding:0 24px 48px}
    .detail-hero--no1 + .cabin-detail-v10{padding:56px 0 68px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase{grid-template-columns:1fr;gap:30px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy{max-width:700px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-info-cards{grid-template-columns:1fr 1fr}
    .detail-hero--no1 + .cabin-detail-v10 .no1-addon-card{grid-column:1/-1}
    .detail-hero--no1 + .cabin-detail-v10 .booking-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
    .detail-hero--no1{height:355px;min-height:355px;background-position:center 48%}
    .detail-hero--no1 .detail-hero-inner{padding:0 18px 34px}
    .detail-hero--no1 .detail-hero-inner:before{margin-bottom:12px;font-size:9px}
    .detail-hero--no1 h1{font-size:42px!important}
    .detail-hero--no1 p{font-size:12.5px}
    .detail-hero--no1 + .cabin-detail-v10{padding:38px 0 54px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase{gap:24px;margin-bottom:40px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__stage{border-radius:0}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button{border-radius:0}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy h2{font-size:38px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts{grid-template-columns:1fr 1fr}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div:nth-child(3),
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div:nth-child(4){border-top:1px solid #e4dbd0}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div:nth-child(3){border-left:0}
    .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__cta{width:100%}
    .detail-hero--no1 + .cabin-detail-v10 .no1-info-cards{grid-template-columns:1fr;gap:1px;margin-bottom:48px}
    .detail-hero--no1 + .cabin-detail-v10 .no1-addon-card{grid-column:auto}
    .detail-hero--no1 + .cabin-detail-v10 .no1-info-card{padding:27px 22px 26px}
    .detail-hero--no1 + .cabin-detail-v10 .booking-title{font-size:34px}
    .detail-hero--no1 + .cabin-detail-v10 .booking-left,
    .detail-hero--no1 + .cabin-detail-v10 .booking-right{padding:22px 18px}
}


/* =========================================================
   Phase 162 — Krpahaus No°1 visual-only redesign v2
   Scope: /ubytovanie/detail/no1/ only
   Booking/calendar/form/API/JS logic stays untouched.
   ========================================================= */

/* HERO — richer photographic composition */
.detail-hero--no1{
  height:590px !important;
  min-height:590px !important;
  background-image:url('/assets/images/galeria/krpahaus_11.jpg') !important;
  background-position:center 51% !important;
  background-size:cover !important;
  align-items:flex-end !important;
  overflow:hidden;
}
.detail-hero--no1:before{
  background:
    linear-gradient(90deg,rgba(7,14,10,.73) 0%,rgba(7,14,10,.47) 39%,rgba(7,14,10,.18) 68%,rgba(7,14,10,.08) 100%),
    linear-gradient(0deg,rgba(5,10,7,.54) 0%,rgba(5,10,7,.08) 42%,rgba(5,10,7,.12) 100%) !important;
}
.detail-hero--no1 .detail-hero-inner{
  position:relative;
  max-width:1100px;
  width:100%;
  padding:0 12px 54px !important;
  z-index:2;
}
.detail-hero--no1 .detail-hero-inner:before{
  content:'UBYTOVANIE';
  margin-bottom:14px;
  color:#f0c292;
  font-size:10px;
  letter-spacing:.28em;
}
.detail-hero--no1 h1{
  max-width:650px;
  margin:0 0 10px;
  font-size:clamp(54px,5.4vw,76px) !important;
  line-height:.96;
}
.detail-hero--no1 p{
  max-width:560px;
  color:rgba(255,255,255,.86);
  font-size:13.5px;
  letter-spacing:.02em;
}
.detail-hero-no1-meta{
  display:flex;
  align-items:center;
  gap:0;
  margin-top:34px;
  width:min(100%,650px);
  border-top:1px solid rgba(255,255,255,.27);
}
.detail-hero-no1-meta span{
  min-width:0;
  flex:1 1 0;
  padding:15px 16px 0 0;
  margin-right:16px;
  position:relative;
  color:#fff;
  font-family:'DM Sans',sans-serif;
  font-size:11px;
  font-weight:600;
  white-space:nowrap;
}
.detail-hero-no1-meta span+span:before{
  content:'';
  position:absolute;
  left:-16px;
  top:14px;
  width:1px;
  height:20px;
  background:rgba(255,255,255,.28);
}
.detail-hero-no1-signature{
  position:absolute;
  right:22px;
  bottom:74px;
  color:#f1c08d;
  font-family:'Square Peg',cursive !important;
  font-size:46px;
  line-height:.77;
  font-weight:400 !important;
  text-align:center;
  transform:rotate(-3deg);
  text-shadow:0 1px 12px rgba(0,0,0,.24);
}
.detail-hero-no1-counter{
  position:absolute;
  right:22px;
  bottom:25px;
  color:rgba(255,255,255,.80);
  font-family:'DM Sans',sans-serif;
  font-size:10px;
  letter-spacing:.18em;
}

/* BODY */
.detail-hero--no1 + .cabin-detail-v10{
  padding:0 0 88px !important;
  background:#fbfaf7 !important;
}
.detail-hero--no1 + .cabin-detail-v10 > .container{
  max-width:1100px !important;
}

/* Intro — editorial, photo on right */
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:52px;
  align-items:center;
  margin:0;
  padding:72px 0 62px;
  border-bottom:1px solid #e4ddd3;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy{
  order:1;
  padding:0;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__media{
  order:2;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__stage{
  aspect-ratio:4/3;
  border-radius:0 !important;
  box-shadow:none !important;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__stage>img{
  object-position:center 57%;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs{
  grid-template-columns:repeat(5,1fr);
  gap:5px;
  margin-top:5px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button{
  border-radius:0 !important;
  border:0 !important;
  opacity:.62;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__thumbs button.is-active{
  opacity:1;
  outline:2px solid #c68a54;
  outline-offset:-2px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__eyebrow{
  margin-bottom:16px;
  color:#315d43;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy h2{
  margin-bottom:18px;
  color:#183025;
  font-size:clamp(43px,4vw,57px);
  line-height:.98;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy>p{
  margin-bottom:30px;
  max-width:440px;
  font-size:13.5px;
  line-height:1.78;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts{
  margin:0 0 30px;
  border-top:1px solid #ded6ca;
  border-bottom:1px solid #ded6ca;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div{
  min-height:90px;
  background:transparent;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__cta{
  min-height:50px;
  padding:0 27px;
  border-radius:999px;
  background:#c4834f;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-showcase__cta:hover{
  background:#ae7043;
}

/* Equipment / rules / add-on — one calm editorial strip */
.detail-hero--no1 + .cabin-detail-v10 .no1-info-cards{
  display:grid;
  grid-template-columns:1fr 1fr .86fr;
  gap:0;
  margin:0;
  padding:0 0 66px;
  background:transparent;
  border:0;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card{
  padding:34px 30px 28px;
  background:#fffdfa;
  border:0;
  border-bottom:1px solid #e3dbd1;
  box-shadow:none;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card+ .no1-info-card{
  border-left:1px solid #e3dbd1;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-info-card h3{
  font-size:24px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-addon-card{
  background:#f8f3ec;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-addon-card>img{
  height:112px;
  margin:0 0 17px;
}
.detail-hero--no1 + .cabin-detail-v10 .no1-addon-card__body{
  align-items:center;
}

/* Reservation — floorplan left / calendar right, visual re-order only */
.detail-hero--no1 + .cabin-detail-v10 .booking-section{
  padding-top:58px;
  border-top:1px solid #dfd7cc;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-title{
  margin-bottom:34px;
  font-size:38px;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-layout{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:0;
  border-top:1px solid #e0d8ce;
  border-bottom:1px solid #e0d8ce;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-right{
  order:1;
  padding:34px 28px 30px;
  border:0;
  border-right:1px solid #e0d8ce;
  background:#f8f4ee;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-left{
  order:2;
  padding:34px 30px 28px;
  border:0;
  background:#fffdfa;
}
.detail-hero--no1 + .cabin-detail-v10 .floorplan-intro h3{
  font-size:27px;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-right .detail-floorplan{
  margin-top:18px;
  padding:8px;
  background:transparent;
}
.detail-hero--no1 + .cabin-detail-v10 .booking-right .detail-floorplan img{
  display:block;
  width:100%;
  height:auto;
}
.detail-hero--no1 + .cabin-detail-v10 .calendar-header{
  min-height:42px;
}
.detail-hero--no1 + .cabin-detail-v10 .month{
  background:#fff !important;
  border:1px solid #eee6dd !important;
}
.detail-hero--no1 + .cabin-detail-v10 .day{
  border-radius:0 !important;
}
.detail-hero--no1 + .cabin-detail-v10 .selected,
.detail-hero--no1 + .cabin-detail-v10 .selected-start,
.detail-hero--no1 + .cabin-detail-v10 .selected-end{
  background:#c6814c !important;
}

/* Reservation summary */
.detail-hero--no1 + .cabin-detail-v10 .reservation-summary-compact{
  margin:20px 0 0;
}
.detail-hero--no1 + .cabin-detail-v10 .reservation-summary-top{
  border-radius:0 !important;
  border:1px solid #dfd7cd !important;
  background:#fffdfa !important;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-summary-total{
  background:#f1e8de !important;
}
.detail-hero--no1 + .cabin-detail-v10 .compact-hot-tub{
  border-radius:0 !important;
}

/* Form area */
.detail-hero--no1 + .cabin-detail-v10 .guest-form-fullwidth{
  margin-top:38px;
}
.detail-hero--no1 + .cabin-detail-v10 .form-section{
  border-radius:0 !important;
  box-shadow:none !important;
  border:1px solid #e2d9cf !important;
  background:#fffdfa !important;
}

/* Responsive */
@media(max-width:900px){
  .detail-hero--no1{
    height:540px !important;
    min-height:540px !important;
  }
  .detail-hero-no1-signature{
    right:18px;
    bottom:66px;
    font-size:39px;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase{
    grid-template-columns:1fr;
    gap:30px;
    padding:56px 0 48px;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy{order:1}
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__media{order:2}
  .detail-hero--no1 + .cabin-detail-v10 .no1-info-cards{
    grid-template-columns:1fr 1fr;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-addon-card{
    grid-column:1/-1;
    border-left:0;
    border-top:1px solid #e3dbd1;
  }
  .detail-hero--no1 + .cabin-detail-v10 .booking-layout{
    grid-template-columns:1fr;
  }
  .detail-hero--no1 + .cabin-detail-v10 .booking-right{
    border-right:0;
    border-bottom:1px solid #e0d8ce;
  }
}
@media(max-width:620px){
  .detail-hero--no1{
    height:510px !important;
    min-height:510px !important;
  }
  .detail-hero--no1 .detail-hero-inner{
    padding:0 18px 34px !important;
  }
  .detail-hero--no1 h1{
    font-size:46px !important;
  }
  .detail-hero-no1-meta{
    flex-wrap:wrap;
    row-gap:8px;
    margin-top:24px;
    padding-top:8px;
  }
  .detail-hero-no1-meta span{
    flex:0 0 33.333%;
    margin:0;
    padding:8px 8px 0 0;
    font-size:10px;
  }
  .detail-hero-no1-meta span+span:before{display:none}
  .detail-hero-no1-signature{
    display:none;
  }
  .detail-hero-no1-counter{
    right:18px;
    bottom:20px;
  }
  .detail-hero--no1 + .cabin-detail-v10 > .container{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__copy h2{
    font-size:39px;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts{
    grid-template-columns:repeat(2,1fr);
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div:nth-child(3){
    border-left:0;
    border-top:1px solid #e4dbd0;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-showcase__facts>div:nth-child(4){
    border-top:1px solid #e4dbd0;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-info-cards{
    grid-template-columns:1fr;
    padding-bottom:52px;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-info-card+ .no1-info-card{
    border-left:0;
    border-top:1px solid #e3dbd1;
  }
  .detail-hero--no1 + .cabin-detail-v10 .no1-addon-card{
    grid-column:auto;
  }
  .detail-hero--no1 + .cabin-detail-v10 .booking-title{
    font-size:34px;
  }
}



/* =========================================================
   Phase 164 — lower hero only on accommodation detail pages
   Visual-only. Shared subpage hero remains unchanged elsewhere.
   ========================================================= */

/* No°1 uses the shared subpage hero, but detail page is intentionally shorter */
body.detail-no1-page .krp-subhero-v2{
  height:500px !important;
  min-height:500px !important;
}
body.detail-no1-page .krp-subhero-v2__inner{
  padding-top:96px !important;
  padding-bottom:30px !important;
}
body.detail-no1-page .krp-subhero-v2__content{
  margin-top:10px !important;
}
body.detail-no1-page .krp-subhero-v2__facts{
  margin-top:28px !important;
}
body.detail-no1-page .krp-subhero-v2__note{
  margin-top:34px !important;
}

/* No°2 keeps its existing hero design, only reduced in height */
body.detail-no2-page .detail-hero--no2{
  height:300px !important;
  min-height:300px !important;
}
body.detail-no2-page .detail-hero--no2 .detail-hero-inner{
  padding-top:58px !important;
}

/* Tablet */
@media(max-width:991.98px){
  body.detail-no1-page .krp-subhero-v2{
    height:520px !important;
    min-height:520px !important;
  }
  body.detail-no1-page .krp-subhero-v2__inner{
    padding-top:102px !important;
    padding-bottom:34px !important;
  }
  body.detail-no2-page .detail-hero--no2{
    height:290px !important;
    min-height:290px !important;
  }
}

/* Mobile */
@media(max-width:767.98px){
  body.detail-no1-page .krp-subhero-v2{
    height:auto !important;
    min-height:500px !important;
  }
  body.detail-no1-page .krp-subhero-v2__inner{
    min-height:500px !important;
    padding-top:96px !important;
    padding-bottom:38px !important;
  }
  body.detail-no1-page .krp-subhero-v2__facts{
    margin-top:22px !important;
  }
  body.detail-no2-page .detail-hero--no2{
    height:270px !important;
    min-height:270px !important;
  }
}



/* =========================================================
   Phase 165 — No°1, step 1: first content block only
   Perfect-pixel editorial gallery + intro.
   No booking/calendar/API/JS logic changed.
   ========================================================= */

body.detail-no1-page .cabin-detail-v10{
  background:#fbfaf7 !important;
}
body.detail-no1-page .cabin-detail-v10 > .container{
  max-width:1100px !important;
}

/* Main showcase */
body.detail-no1-page .no1-showcase{
  display:grid !important;
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr) !important;
  grid-template-rows:auto auto !important;
  column-gap:34px !important;
  row-gap:12px !important;
  align-items:start !important;
  margin:0 !important;
  padding:42px 0 34px !important;
  border-bottom:1px solid #e7e0d7 !important;
}

/* Let stage + thumbs participate directly in the parent grid, preserving JS/HTML */
body.detail-no1-page .no1-showcase__media{
  display:contents !important;
}
body.detail-no1-page .no1-showcase__stage{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  aspect-ratio:1.34 / 1 !important;
  min-height:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
  background:#e9e3da !important;
}
body.detail-no1-page .no1-showcase__stage>img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 54% !important;
  transform:none !important;
}
body.detail-no1-page .no1-showcase__stage:after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(10,18,13,0) 58%,rgba(10,18,13,.23) 100%);
}

/* Arrow controls */
body.detail-no1-page .no1-showcase__arrow{
  width:34px !important;
  height:34px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.82) !important;
  background:rgba(18,29,22,.68) !important;
  color:#fff !important;
  backdrop-filter:blur(5px);
  box-shadow:none !important;
  z-index:3;
}
body.detail-no1-page .no1-showcase__arrow--prev{
  left:auto !important;
  right:50px !important;
  top:auto !important;
  bottom:18px !important;
}
body.detail-no1-page .no1-showcase__arrow--next{
  right:10px !important;
  top:auto !important;
  bottom:18px !important;
}
body.detail-no1-page .no1-showcase__count{
  left:16px !important;
  right:auto !important;
  top:auto !important;
  bottom:18px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:11px !important;
  letter-spacing:.04em !important;
  z-index:3;
}

/* Copy */
body.detail-no1-page .no1-showcase__copy{
  grid-column:2 !important;
  grid-row:1 !important;
  padding:7px 0 0 !important;
  align-self:start !important;
}
body.detail-no1-page .no1-showcase__eyebrow{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
  margin:0 0 15px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.25em !important;
  color:#53665b !important;
}
body.detail-no1-page .no1-showcase__eyebrow:after{
  content:'';
  width:52px;
  height:1px;
  background:#c78a58;
}
body.detail-no1-page .no1-showcase__copy h2{
  margin:0 0 17px !important;
  max-width:430px !important;
  font-family:'DM Serif Display',Georgia,serif !important;
  font-size:44px !important;
  line-height:.98 !important;
  font-weight:400 !important;
  letter-spacing:-.025em !important;
  color:#183026 !important;
}
body.detail-no1-page .no1-showcase__copy>p{
  margin:0 0 23px !important;
  max-width:440px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:13.5px !important;
  line-height:1.62 !important;
  font-weight:400 !important;
  color:#56635d !important;
}

/* Eight clean amenities, no boxes */
body.detail-no1-page .no1-showcase__facts{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
}
body.detail-no1-page .no1-showcase__facts>div{
  min-width:0 !important;
  min-height:79px !important;
  padding:9px 8px 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  position:relative !important;
}
body.detail-no1-page .no1-showcase__facts>div:not(:nth-child(4n)):after{
  content:'';
  position:absolute;
  right:0;
  top:13px;
  height:44px;
  width:1px;
  background:#e3dbd1;
}
body.detail-no1-page .no1-showcase__facts .detail-icon{
  width:27px !important;
  height:27px !important;
  margin:0 0 7px !important;
  color:#274637 !important;
}
body.detail-no1-page .no1-showcase__facts .detail-icon svg{
  width:27px !important;
  height:27px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.35 !important;
}
body.detail-no1-page .no1-showcase__facts strong{
  font-family:'DM Sans',sans-serif !important;
  font-size:10.5px !important;
  line-height:1.18 !important;
  font-weight:500 !important;
  color:#26362f !important;
}
body.detail-no1-page .no1-showcase__facts small{
  display:none !important;
}

/* Existing availability CTA stays functional, visually quiet */
body.detail-no1-page .no1-showcase__cta{
  display:inline-flex !important;
  margin-top:19px !important;
  min-height:45px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:1px solid #31563f !important;
  background:transparent !important;
  color:#294b37 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:11.5px !important;
  font-weight:600 !important;
  box-shadow:none !important;
}
body.detail-no1-page .no1-showcase__cta:hover{
  background:#31563f !important;
  color:#fff !important;
}

/* Thumbnails span the whole block under photo + text */
body.detail-no1-page .no1-showcase__thumbs{
  grid-column:1 / -1 !important;
  grid-row:2 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:7px !important;
  width:100% !important;
  margin:0 !important;
}
body.detail-no1-page .no1-showcase__thumbs button{
  width:100% !important;
  aspect-ratio:1.72 / 1 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#e9e2d9 !important;
  opacity:.82 !important;
  box-shadow:none !important;
}
body.detail-no1-page .no1-showcase__thumbs button.is-active{
  opacity:1 !important;
  outline:2px solid #c6814c !important;
  outline-offset:-2px !important;
}
body.detail-no1-page .no1-showcase__thumbs img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  transition:transform .25s ease !important;
}
body.detail-no1-page .no1-showcase__thumbs button:hover img{
  transform:scale(1.025);
}

/* Do not touch the next sections yet */
@media(max-width:900px){
  body.detail-no1-page .no1-showcase{
    grid-template-columns:1fr !important;
    grid-template-rows:auto auto auto !important;
    row-gap:26px !important;
    padding:34px 0 30px !important;
  }
  body.detail-no1-page .no1-showcase__stage{
    grid-column:1 !important;
    grid-row:1 !important;
    aspect-ratio:16/10 !important;
  }
  body.detail-no1-page .no1-showcase__copy{
    grid-column:1 !important;
    grid-row:2 !important;
    padding:0 !important;
  }
  body.detail-no1-page .no1-showcase__thumbs{
    grid-column:1 !important;
    grid-row:3 !important;
  }
  body.detail-no1-page .no1-showcase__copy h2{
    max-width:620px !important;
  }
  body.detail-no1-page .no1-showcase__copy>p{
    max-width:670px !important;
  }
}
@media(max-width:620px){
  body.detail-no1-page .no1-showcase{
    padding-top:26px !important;
  }
  body.detail-no1-page .no1-showcase__copy h2{
    font-size:38px !important;
  }
  body.detail-no1-page .no1-showcase__facts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.detail-no1-page .no1-showcase__facts>div:not(:nth-child(4n)):after{
    display:none !important;
  }
  body.detail-no1-page .no1-showcase__facts>div:nth-child(odd):after{
    content:'';
    display:block !important;
    position:absolute;
    right:0;
    top:13px;
    height:44px;
    width:1px;
    background:#e3dbd1;
  }
  body.detail-no1-page .no1-showcase__thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}


/* ======================================================================
   PHASE 199 — reservation/calendar first
   Header and calendar design untouched; only section order changes.
   ====================================================================== */
body.detail-no1-page .cabin-detail-v10 > .container{
  display:flex !important;
  flex-direction:column !important;
}
body.detail-no1-page .booking-section{
  order:-30 !important;
  margin-top:0 !important;
  padding-top:30px !important;
  margin-bottom:58px !important;
}
body.detail-no1-page .no1-showcase{
  order:10 !important;
}
body.detail-no1-page .no1-info-cards{
  order:20 !important;
}
@media(max-width:700px){
  body.detail-no1-page .booking-section{
    padding-top:22px !important;
    margin-bottom:42px !important;
  }
}

/* ======================================================================
   PHASE 213 — 1100px reservation layout from phase199
   Header untouched. Calendar logic/markup untouched.
   ====================================================================== */
body.detail-no1-page .cabin-detail-v10 > .container{
  width:100% !important;
  max-width:1100px !important;
  margin:0 auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.detail-no1-page .booking-section{
  width:100% !important;
  max-width:1100px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
body.detail-no1-page .booking-title{
  margin:0 0 20px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:50px !important;
  line-height:1.04 !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
  color:#171310 !important;
}
body.detail-no1-page .booking-layout{
  display:grid !important;
  grid-template-columns:minmax(0, 646px) minmax(0, 414px) !important;
  gap:40px !important;
  width:100% !important;
  max-width:1100px !important;
  align-items:start !important;
}
body.detail-no1-page .booking-left,
body.detail-no1-page .booking-right{
  width:100% !important;
  min-width:0 !important;
}
body.detail-no1-page .reservation-inline,
body.detail-no1-page .reservation-card-inline,
body.detail-no1-page .reservation-card-inline > .content{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body.detail-no1-page .booking-meta{display:none !important;}

/* Calendar: keep structure/functionality, only scale to the reference width */
body.detail-no1-page .booking-left .calendar-header{
  display:grid !important;
  grid-template-columns:46px 1fr 46px !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  margin:0 0 10px !important;
}
body.detail-no1-page .booking-left .calendar-header h2,
body.detail-no1-page #calendarTitle{
  margin:0 !important;
  text-align:center !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#26211d !important;
}
body.detail-no1-page .booking-left .nav-btn{
  width:46px !important;
  height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  border:1px solid #e5dfd7 !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#817a72 !important;
  font-size:28px !important;
  line-height:1 !important;
}
body.detail-no1-page .booking-left .months{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  padding:8px !important;
  background:#fff !important;
  border:1px solid #e4ddd4 !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}
body.detail-no1-page .booking-left .month{
  min-width:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}
body.detail-no1-page .booking-left .month-header{
  padding:18px 8px !important;
  margin:0 0 8px !important;
  background:#fbfaf8 !important;
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  text-align:center !important;
  color:#222 !important;
}
body.detail-no1-page .booking-left .weekdays{
  margin-bottom:0 !important;
  font-size:11px !important;
  color:#75706a !important;
}
body.detail-no1-page .booking-left .day{
  min-height:42px !important;
  height:42px !important;
  padding:2px 1px !important;
  border-radius:0 !important;
  font-size:12px !important;
}
body.detail-no1-page .booking-left .day-number{font-size:12px !important;}
body.detail-no1-page .booking-left .day-price{font-size:8px !important;}
body.detail-no1-page .booking-left .legend{
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:28px !important;
  margin:12px 0 0 !important;
  font-size:11px !important;
  color:#625d57 !important;
}
body.detail-no1-page .booking-left .legend-item{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}
body.detail-no1-page .booking-left .legend-box{
  width:24px !important;
  height:22px !important;
  border-radius:3px !important;
}

/* Right column */
body.detail-no1-page .booking-right{
  padding-top:0 !important;
}
body.detail-no1-page .floorplan-intro{margin:0 0 14px !important;}
body.detail-no1-page .floorplan-kicker{
  display:block !important;
  margin:0 0 10px !important;
  color:#a26f3e !important;
  font-size:12px !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  font-weight:700 !important;
}
body.detail-no1-page .floorplan-intro h3{
  margin:0 0 10px !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:33px !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
  color:#171310 !important;
}
body.detail-no1-page .floorplan-intro p{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.48 !important;
  color:#6a645e !important;
}
body.detail-no1-page .booking-right .detail-floorplan{
  width:100% !important;
  margin:14px 0 0 !important;
  padding:0 !important;
  text-align:center !important;
  background:transparent !important;
  border:0 !important;
}
body.detail-no1-page .booking-right .detail-floorplan img{
  width:100% !important;
  max-width:414px !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}
body.detail-no1-page .floorplan-facts{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  margin-top:12px !important;
  width:100% !important;
}
body.detail-no1-page .floorplan-fact{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  min-width:0 !important;
  padding:0 10px !important;
  border-left:1px solid #e7e0d7 !important;
}
body.detail-no1-page .floorplan-fact:first-child{
  border-left:0 !important;
  padding-left:0 !important;
}
body.detail-no1-page .floorplan-fact:last-child{padding-right:0 !important;}
body.detail-no1-page .floorplan-fact-icon{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  display:grid !important;
  place-items:center !important;
  color:#a26f3e !important;
}
body.detail-no1-page .floorplan-fact-icon svg{
  width:24px !important;
  height:24px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.detail-no1-page .floorplan-fact strong{
  display:block !important;
  font-size:14px !important;
  line-height:1.15 !important;
  color:#1c1815 !important;
  white-space:nowrap !important;
}
body.detail-no1-page .floorplan-fact span{
  display:block !important;
  margin-top:2px !important;
  font-size:10px !important;
  line-height:1.2 !important;
  color:#827b74 !important;
  white-space:nowrap !important;
}

/* Full 1100px summary below both columns */
body.detail-no1-page .reservation-summary-compact{
  width:100% !important;
  max-width:1100px !important;
  margin:30px auto 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
}
body.detail-no1-page .reservation-summary-top{
  display:grid !important;
  grid-template-columns:1fr 1fr .9fr 1.4fr 1.05fr !important;
  width:100% !important;
  min-height:96px !important;
  border:1px solid #e7dfd5 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#fff !important;
}
body.detail-no1-page .compact-summary-item,
body.detail-no1-page .compact-summary-total{
  min-width:0 !important;
  min-height:96px !important;
  display:flex !important;
  align-items:flex-start !important;
  gap:10px !important;
  padding:18px 16px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  border-left:1px solid #ece4db !important;
}
body.detail-no1-page .compact-summary-item:first-child{border-left:0 !important;}
body.detail-no1-page .summary-mini-icon{
  width:24px !important;
  height:24px !important;
  flex:0 0 24px !important;
  display:grid !important;
  place-items:center !important;
  color:#ad7540 !important;
}
body.detail-no1-page .summary-mini-icon svg{
  width:21px !important;
  height:21px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.detail-no1-page .compact-summary-copy,
body.detail-no1-page .compact-summary-total-copy{
  min-width:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
body.detail-no1-page .compact-label,
body.detail-no1-page .compact-summary-total-copy > strong{
  margin:0 0 7px !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  color:#817b74 !important;
}
body.detail-no1-page .compact-summary-item strong{
  font-size:14px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:#181512 !important;
}
body.detail-no1-page .compact-summary-item strong small{font-size:13px !important;font-weight:500 !important;}
body.detail-no1-page .compact-summary-copy > small,
body.detail-no1-page .compact-summary-total-copy > small{
  margin-top:4px !important;
  font-size:10px !important;
  line-height:1.25 !important;
  color:#8a837d !important;
}
body.detail-no1-page .compact-hidden-price{display:none !important;}
body.detail-no1-page .compact-summary-total{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  grid-template-rows:auto auto !important;
  gap:0 10px !important;
  background:#fbf5ec !important;
}
body.detail-no1-page .compact-summary-total .summary-mini-icon{grid-row:1/3 !important;}
body.detail-no1-page .compact-summary-total #totalPrice{
  grid-column:2 !important;
  margin-top:9px !important;
  font-size:26px !important;
  line-height:1 !important;
  font-weight:800 !important;
  color:#171310 !important;
  white-space:nowrap !important;
}
body.detail-no1-page .compact-hot-tub{
  width:100% !important;
  min-height:68px !important;
  margin:12px 0 0 !important;
  padding:14px 16px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  box-sizing:border-box !important;
  border:1px solid #e7dfd5 !important;
  border-radius:14px !important;
  background:#fff !important;
}
body.detail-no1-page .compact-hot-tub:hover{background:#fff !important;}
body.detail-no1-page .compact-hot-tub-checkbox{
  width:30px !important;
  height:30px !important;
  flex:0 0 30px !important;
  border:1.5px solid #cec8c1 !important;
  border-radius:8px !important;
}
body.detail-no1-page .compact-hot-tub-icon{
  width:32px !important;
  height:32px !important;
  flex:0 0 32px !important;
  color:#ad7540 !important;
}
body.detail-no1-page .compact-hot-tub-icon svg{width:26px !important;height:26px !important;}
body.detail-no1-page .compact-hot-tub-copy{flex:1 1 auto !important;min-width:0 !important;}
body.detail-no1-page .compact-hot-tub-copy strong{font-size:15px !important;color:#181512 !important;}
body.detail-no1-page .compact-hot-tub-copy span{font-size:11px !important;color:#88817a !important;}
body.detail-no1-page .compact-hot-tub-price{
  margin-left:auto !important;
  display:flex !important;
  align-items:baseline !important;
  gap:4px !important;
  white-space:nowrap !important;
}
body.detail-no1-page .compact-hot-tub-price strong{font-size:15px !important;color:#181512 !important;}
body.detail-no1-page .compact-hot-tub-price small{font-size:11px !important;color:#88817a !important;}
body.detail-no1-page .compact-hot-tub-chevron{
  width:20px !important;
  height:20px !important;
  flex:0 0 20px !important;
  display:grid !important;
  place-items:center !important;
  color:#4f4a45 !important;
}
body.detail-no1-page .compact-hot-tub-chevron svg{
  width:16px !important;
  height:16px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

@media(max-width:1140px){
  body.detail-no1-page .cabin-detail-v10 > .container,
  body.detail-no1-page .booking-section{
    max-width:calc(100% - 36px) !important;
  }
  body.detail-no1-page .booking-layout{
    grid-template-columns:minmax(0,1.56fr) minmax(330px,1fr) !important;
    gap:30px !important;
  }
}
@media(max-width:900px){
  body.detail-no1-page .booking-layout{grid-template-columns:1fr !important;gap:26px !important;}
  body.detail-no1-page .booking-right{max-width:100% !important;}
  body.detail-no1-page .reservation-summary-top{grid-template-columns:1fr 1fr !important;}
  body.detail-no1-page .compact-summary-stay,
  body.detail-no1-page .compact-summary-total{grid-column:1/-1 !important;}
}
@media(max-width:700px){
  body.detail-no1-page .cabin-detail-v10 > .container,
  body.detail-no1-page .booking-section{max-width:calc(100% - 28px) !important;}
  body.detail-no1-page .booking-title{font-size:36px !important;}
  body.detail-no1-page .booking-left .months{grid-template-columns:1fr !important;}
  body.detail-no1-page .floorplan-facts{grid-template-columns:1fr !important;gap:10px !important;}
  body.detail-no1-page .floorplan-fact{padding:0 !important;border-left:0 !important;}
  body.detail-no1-page .reservation-summary-top{grid-template-columns:1fr !important;}
  body.detail-no1-page .compact-summary-item,
  body.detail-no1-page .compact-summary-total{border-left:0 !important;border-top:1px solid #ece4db !important;}
  body.detail-no1-page .compact-summary-item:first-child{border-top:0 !important;}
}


/* PHASE 215 — tighten vertical spacing around floorplan image */
body.detail-no1-page .floorplan-intro{
  margin:0 0 8px !important;
}
body.detail-no1-page .booking-right .detail-floorplan{
  margin:6px 0 0 !important;
}
body.detail-no1-page .floorplan-facts{
  margin-top:6px !important;
}


/* PHASE 216 — crop floorplan source and remove residual vertical gaps */
body.detail-no1-page .booking-right .detail-floorplan{
  margin:0 !important;
}
body.detail-no1-page .booking-right .detail-floorplan img{
  max-width:430px !important;
}
body.detail-no1-page .floorplan-facts{
  margin-top:2px !important;
}


/* PHASE 217 — square corners across booking section */
body.detail-no1-page .months,
body.detail-no1-page .calendar-header .nav-btn,
body.detail-no1-page .booking-right,
body.detail-no1-page .booking-right .detail-floorplan img,
body.detail-no1-page .reservation-summary-top,
body.detail-no1-page .reservation-summary-compact,
body.detail-no1-page .compact-hot-tub,
body.detail-no1-page .compact-hot-tub-checkbox,
body.detail-no1-page .legend-box {
  border-radius: 0 !important;
}


/* PHASE 218 — also square guest form and remaining calendar corners */
body.detail-no1-page .booking-left .months,
body.detail-no1-page .booking-left .month,
body.detail-no1-page .booking-left .month h3,
body.detail-no1-page .booking-left .month .month-title,
body.detail-no1-page .reservation-card-inline,
body.detail-no1-page .reservation-card-inline > .content,
body.detail-no1-page .guest-form-fullwidth .form-section,
body.detail-no1-page .guest-form-fullwidth .form-group input,
body.detail-no1-page .guest-form-fullwidth .form-group select,
body.detail-no1-page .guest-form-fullwidth .form-group textarea,
body.detail-no1-page .guest-form-fullwidth .continue-btn {
  border-radius: 0 !important;
}


/* PHASE 219 — fullscreen floorplan lightbox */
body.detail-no1-page .floorplan-zoomable{
  cursor:zoom-in !important;
}
.floorplan-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(0,0,0,.88);
}
.floorplan-lightbox.is-open{display:flex;}
.floorplan-lightbox img{
  display:block;
  max-width:min(96vw,1600px);
  max-height:92vh;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:none;
}
.floorplan-lightbox-close{
  position:fixed;
  top:18px;
  right:22px;
  z-index:100000;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:0;
  background:rgba(0,0,0,.35);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
body.floorplan-lightbox-open{overflow:hidden !important;}
@media(max-width:700px){
  .floorplan-lightbox{padding:18px 10px;}
  .floorplan-lightbox-close{top:10px;right:10px;width:42px;height:42px;font-size:30px;}
}


/* ======================================================================
   PHASE 222 — showcase redesign from approved visual mockup
   Square corners throughout this section only.
   ====================================================================== */
body.detail-no1-page .no1-showcase{
  display:grid !important;
  grid-template-columns:minmax(0,1.42fr) minmax(360px,.98fr) !important;
  gap:38px !important;
  align-items:start !important;
  padding:38px 0 34px !important;
  margin:0 !important;
  border-bottom:1px solid #e7e0d7 !important;
}
body.detail-no1-page .no1-showcase__media{
  display:block !important;
  min-width:0 !important;
}
body.detail-no1-page .no1-showcase__stage{
  position:relative !important;
  width:100% !important;
  aspect-ratio:1.34 / 1 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  box-shadow:none !important;
  background:#e8e1d8 !important;
}
body.detail-no1-page .no1-showcase__stage>img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center 52% !important;
  display:block !important;
}
body.detail-no1-page .no1-showcase__stage:after{
  content:'' !important;
  position:absolute !important;
  inset:auto 0 0 0 !important;
  height:24% !important;
  pointer-events:none !important;
  background:linear-gradient(180deg,rgba(14,18,15,0),rgba(14,18,15,.16)) !important;
}
body.detail-no1-page .no1-showcase__arrow{
  top:auto !important;
  bottom:16px !important;
  width:40px !important;
  height:40px !important;
  transform:none !important;
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.75) !important;
  background:rgba(28,39,31,.72) !important;
  color:#fff !important;
  font-size:27px !important;
  box-shadow:none !important;
  backdrop-filter:blur(4px) !important;
  z-index:3 !important;
}
body.detail-no1-page .no1-showcase__arrow--prev{
  left:auto !important;
  right:58px !important;
}
body.detail-no1-page .no1-showcase__arrow--next{
  right:10px !important;
}
body.detail-no1-page .no1-showcase__count{
  left:14px !important;
  right:auto !important;
  bottom:16px !important;
  padding:5px 9px !important;
  border-radius:0 !important;
  background:rgba(22,27,23,.72) !important;
  color:#fff !important;
  font-size:11px !important;
  line-height:1 !important;
  z-index:3 !important;
}
body.detail-no1-page .no1-showcase__thumbs{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  width:100% !important;
  margin:11px 0 0 !important;
}
body.detail-no1-page .no1-showcase__thumbs button{
  width:100% !important;
  aspect-ratio:1.54 / 1 !important;
  padding:0 !important;
  border:1px solid transparent !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#e8e1d8 !important;
  opacity:.88 !important;
  box-shadow:none !important;
}
body.detail-no1-page .no1-showcase__thumbs button.is-active{
  border-color:#c6844d !important;
  outline:1px solid #c6844d !important;
  outline-offset:0 !important;
  opacity:1 !important;
}
body.detail-no1-page .no1-showcase__thumbs img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
body.detail-no1-page .no1-showcase__copy{
  padding:10px 0 0 !important;
  align-self:start !important;
}
body.detail-no1-page .no1-showcase__eyebrow{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 16px !important;
  color:#4d6358 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.24em !important;
}
body.detail-no1-page .no1-showcase__eyebrow:after{
  content:'' !important;
  width:54px !important;
  height:1px !important;
  background:#c6844d !important;
}
body.detail-no1-page .no1-showcase__copy h2{
  max-width:430px !important;
  margin:0 0 20px !important;
  color:#18362a !important;
  font-family:'DM Serif Display',Georgia,serif !important;
  font-size:43px !important;
  line-height:.98 !important;
  letter-spacing:-.026em !important;
  font-weight:400 !important;
}
body.detail-no1-page .no1-showcase__copy>p{
  max-width:455px !important;
  margin:0 0 24px !important;
  color:#5f6a64 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:13.2px !important;
  line-height:1.7 !important;
  font-weight:400 !important;
}
body.detail-no1-page .no1-showcase__facts{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  margin:0 !important;
  border:0 !important;
}
body.detail-no1-page .no1-showcase__facts>div{
  min-height:82px !important;
  padding:10px 8px 8px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  position:relative !important;
}
body.detail-no1-page .no1-showcase__facts>div:not(:nth-child(4n)):after{
  content:'' !important;
  position:absolute !important;
  right:0 !important;
  top:14px !important;
  width:1px !important;
  height:46px !important;
  background:#dfd6cc !important;
}
body.detail-no1-page .no1-showcase__facts .detail-icon{
  width:27px !important;
  height:27px !important;
  margin:0 0 7px !important;
  color:#214635 !important;
}
body.detail-no1-page .no1-showcase__facts .detail-icon svg{
  width:27px !important;
  height:27px !important;
  stroke-width:1.35 !important;
}
body.detail-no1-page .no1-showcase__facts strong{
  color:#263a31 !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:10.5px !important;
  line-height:1.2 !important;
  font-weight:600 !important;
}
body.detail-no1-page .no1-showcase__cta{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:54px !important;
  margin-top:20px !important;
  padding:0 60px 0 24px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#184d35 !important;
  color:#fff !important;
  font-family:'DM Serif Display',Georgia,serif !important;
  font-size:17px !important;
  line-height:1 !important;
  font-weight:400 !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:background .2s ease !important;
}
body.detail-no1-page .no1-showcase__cta span{
  position:absolute !important;
  right:15px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:0 !important;
  background:#c99962 !important;
  color:#fff !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:18px !important;
  line-height:1 !important;
}
body.detail-no1-page .no1-showcase__cta:hover{
  background:#123e2a !important;
  color:#fff !important;
  transform:none !important;
}
@media(max-width:900px){
  body.detail-no1-page .no1-showcase{
    grid-template-columns:1fr !important;
    gap:26px !important;
  }
  body.detail-no1-page .no1-showcase__copy{
    padding-top:0 !important;
  }
  body.detail-no1-page .no1-showcase__copy h2,
  body.detail-no1-page .no1-showcase__copy>p{
    max-width:none !important;
  }
}
@media(max-width:620px){
  body.detail-no1-page .no1-showcase{
    padding-top:26px !important;
    gap:22px !important;
  }
  body.detail-no1-page .no1-showcase__stage{
    aspect-ratio:1.18 / 1 !important;
  }
  body.detail-no1-page .no1-showcase__copy h2{
    font-size:36px !important;
  }
  body.detail-no1-page .no1-showcase__facts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.detail-no1-page .no1-showcase__facts>div:not(:nth-child(4n)):after{
    display:none !important;
  }
  body.detail-no1-page .no1-showcase__facts>div:nth-child(odd):after{
    content:'' !important;
    display:block !important;
    position:absolute !important;
    right:0 !important;
    top:14px !important;
    width:1px !important;
    height:46px !important;
    background:#dfd6cc !important;
  }
  body.detail-no1-page .no1-showcase__thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  body.detail-no1-page .no1-showcase__cta{
    font-size:15px !important;
  }
}


/* ======================================================================
   PHASE 223 — info/services section redesign from approved graphic
   ====================================================================== */
body.detail-no1-page .no1-info-panel{
  order:20 !important;
  width:100% !important;
  max-width:1100px !important;
  margin:34px auto 54px !important;
  padding:0 !important;
  background:transparent !important;
}
body.detail-no1-page .no1-info-panel__topline{
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 30px !important;
}
body.detail-no1-page .no1-info-panel__topline span{
  height:1px !important;
  background:#dcc7b3 !important;
}
body.detail-no1-page .no1-info-panel__topline i{
  width:34px !important;
  height:18px !important;
  display:block !important;
  position:relative !important;
}
body.detail-no1-page .no1-info-panel__topline i:before,
body.detail-no1-page .no1-info-panel__topline i:after{
  content:"" !important;
  position:absolute !important;
  top:7px !important;
  width:16px !important;
  height:0 !important;
  border-top:2px solid #a26f3e !important;
}
body.detail-no1-page .no1-info-panel__topline i:before{
  left:1px !important;
  transform:rotate(42deg) !important;
  transform-origin:left center !important;
}
body.detail-no1-page .no1-info-panel__topline i:after{
  right:1px !important;
  transform:rotate(-42deg) !important;
  transform-origin:right center !important;
}
body.detail-no1-page .no1-info-cards{
  display:grid !important;
  grid-template-columns:1fr 1fr 1.16fr !important;
  gap:0 !important;
  margin:0 !important;
  width:100% !important;
}
body.detail-no1-page .no1-info-card{
  min-width:0 !important;
  padding:0 32px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
body.detail-no1-page .no1-info-card + .no1-info-card{
  border-left:1px solid #e7ddd1 !important;
  padding-left:32px !important;
}
body.detail-no1-page .no1-info-card:last-child{
  padding-right:0 !important;
}
body.detail-no1-page .no1-info-card__kicker{
  display:block !important;
  margin:0 0 13px !important;
  color:#a26f3e !important;
  font-size:11px !important;
  line-height:1 !important;
  letter-spacing:.24em !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
}
body.detail-no1-page .no1-info-card h3{
  margin:0 0 28px !important;
  color:#1b1713 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:34px !important;
  line-height:1.06 !important;
  letter-spacing:-.035em !important;
  font-weight:700 !important;
}
body.detail-no1-page .no1-info-card ul{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.detail-no1-page .no1-info-card li{
  position:relative !important;
  margin:0 0 14px !important;
  padding:0 0 0 46px !important;
  min-height:30px !important;
  display:flex !important;
  align-items:center !important;
  color:#5f5851 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  font-weight:500 !important;
}
body.detail-no1-page .no1-info-card li:before{
  content:"✓" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:30px !important;
  height:30px !important;
  display:grid !important;
  place-items:center !important;
  background:#f5eee6 !important;
  color:#a26f3e !important;
  border-radius:50% !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:700 !important;
}
body.detail-no1-page .no1-addon-card img{
  width:100% !important;
  height:226px !important;
  object-fit:cover !important;
  display:block !important;
  margin:0 0 26px !important;
  border-radius:0 !important;
}
body.detail-no1-page .no1-addon-card__body{
  display:flex !important;
  align-items:flex-start !important;
  gap:18px !important;
}
body.detail-no1-page .no1-addon-card__icon{
  width:62px !important;
  height:62px !important;
  flex:0 0 62px !important;
  display:grid !important;
  place-items:center !important;
  background:#f5eee6 !important;
  color:#a26f3e !important;
  border-radius:0 !important;
}
body.detail-no1-page .no1-addon-card__icon svg{
  width:34px !important;
  height:34px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.6 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
body.detail-no1-page .no1-addon-card__body strong{
  display:block !important;
  margin:4px 0 7px !important;
  color:#1c1814 !important;
  font-family:Georgia,"Times New Roman",serif !important;
  font-size:24px !important;
  line-height:1.1 !important;
  font-weight:700 !important;
}
body.detail-no1-page .no1-addon-card__body p{
  margin:0 !important;
  color:#6f675f !important;
  font-size:14px !important;
  line-height:1.5 !important;
}
@media(max-width:900px){
  body.detail-no1-page .no1-info-cards{
    grid-template-columns:1fr 1fr !important;
  }
  body.detail-no1-page .no1-addon-card{
    grid-column:1/-1 !important;
    border-left:0 !important;
    border-top:1px solid #e7ddd1 !important;
    padding:30px 0 0 !important;
    margin-top:30px !important;
  }
}
@media(max-width:620px){
  body.detail-no1-page .no1-info-panel__topline{margin-bottom:24px !important;}
  body.detail-no1-page .no1-info-cards{grid-template-columns:1fr !important;}
  body.detail-no1-page .no1-info-card,
  body.detail-no1-page .no1-info-card + .no1-info-card{
    border-left:0 !important;
    border-top:1px solid #e7ddd1 !important;
    padding:26px 0 0 !important;
    margin-top:26px !important;
  }
  body.detail-no1-page .no1-info-card:first-child{
    border-top:0 !important;
    padding-top:0 !important;
    margin-top:0 !important;
  }
  body.detail-no1-page .no1-info-card h3{font-size:30px !important;}
  body.detail-no1-page .no1-addon-card img{height:auto !important;}
}


/* PHASE 224 — refined top divider */
@media(max-width:767px){
  body.detail-no1-page .no1-info-panel__topline{gap:10px !important;margin:0 0 22px !important;}
  body.detail-no1-page .no1-info-panel__topline i{width:28px !important;height:14px !important;}
  body.detail-no1-page .no1-info-panel__topline i:before,
  body.detail-no1-page .no1-info-panel__topline i:after{width:13px !important;top:6px !important;}
}


/* PHASE 225 — remove info panel topline completely */
body.detail-no1-page .no1-info-panel__topline{
  display:none !important;
}


/* PHASE 226 — more breathing room under top divider */
body.detail-no1-page .no1-info-panel .no1-info-cards{padding-top:12px !important;}
@media(max-width:620px){body.detail-no1-page .no1-info-panel{margin-top:28px !important;}}


/* ======================================================================
   PHASE 229 — alternate editorial showcase with vertical thumbnail rail
   ====================================================================== */
body.detail-no1-page .no1-showcase{
  grid-template-columns:minmax(0,1.5fr) minmax(360px,.92fr) !important;
  gap:42px !important;
  align-items:start !important;
  padding:42px 0 40px !important;
  border-bottom:1px solid #e7e0d7 !important;
}
body.detail-no1-page .no1-showcase__media{
  position:relative !important;
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) !important;
  grid-template-rows:auto !important;
  column-gap:16px !important;
  align-items:start !important;
}
body.detail-no1-page .no1-showcase__thumbs{
  grid-column:1 !important;
  grid-row:1 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:74px !important;
  margin:0 !important;
  align-content:start !important;
}
body.detail-no1-page .no1-showcase__thumbs button{
  width:74px !important;
  height:82px !important;
  aspect-ratio:auto !important;
  border:1px solid transparent !important;
  border-radius:0 !important;
  background:#eee9e2 !important;
  opacity:.82 !important;
}
body.detail-no1-page .no1-showcase__thumbs button.is-active{
  border-color:#c6844d !important;
  outline:none !important;
  opacity:1 !important;
}
body.detail-no1-page .no1-showcase__thumbs img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
body.detail-no1-page .no1-showcase__stage{
  grid-column:2 !important;
  grid-row:1 !important;
  aspect-ratio:.98 / 1 !important;
  min-height:0 !important;
  border-radius:0 !important;
  background:#e7e1d9 !important;
}
body.detail-no1-page .no1-showcase__stage>img{
  object-position:center center !important;
}
body.detail-no1-page .no1-showcase__stage:after{
  height:22% !important;
  background:linear-gradient(180deg,rgba(8,14,10,0),rgba(8,14,10,.23)) !important;
}
body.detail-no1-page .no1-showcase__count{
  left:14px !important;
  bottom:14px !important;
  padding:7px 10px !important;
  font-size:12px !important;
  letter-spacing:.05em !important;
  background:rgba(24,38,29,.72) !important;
}
body.detail-no1-page .no1-showcase__arrow{
  bottom:14px !important;
  width:42px !important;
  height:42px !important;
  background:rgba(24,52,39,.9) !important;
  border:1px solid rgba(255,255,255,.65) !important;
}
body.detail-no1-page .no1-showcase__arrow--prev{right:60px !important;}
body.detail-no1-page .no1-showcase__arrow--next{right:12px !important;}
body.detail-no1-page .no1-showcase__media:after{
  content:'ÚTULNÉ MIESTO V SRDCI PRÍRODY' !important;
  grid-column:2 !important;
  display:block !important;
  margin-top:16px !important;
  padding-left:34px !important;
  color:#697d72 !important;
  font-size:9px !important;
  line-height:1 !important;
  letter-spacing:.28em !important;
  font-weight:700 !important;
  position:relative !important;
}
body.detail-no1-page .no1-showcase__media:before{
  content:'' !important;
  position:absolute !important;
  left:90px !important;
  bottom:-19px !important;
  width:24px !important;
  height:1px !important;
  background:#c6844d !important;
}
body.detail-no1-page .no1-showcase__copy{
  padding-top:8px !important;
}
body.detail-no1-page .no1-showcase__copy h2{
  max-width:440px !important;
  font-size:45px !important;
  line-height:.99 !important;
  margin-bottom:22px !important;
}
body.detail-no1-page .no1-showcase__copy>p{
  max-width:455px !important;
  font-size:13.4px !important;
  line-height:1.72 !important;
  margin-bottom:24px !important;
}
body.detail-no1-page .no1-showcase__facts{
  margin-top:6px !important;
  border-top:1px solid #eee7df !important;
  border-bottom:1px solid #eee7df !important;
  padding:4px 0 !important;
}
body.detail-no1-page .no1-showcase__facts>div{
  min-height:84px !important;
}
body.detail-no1-page .no1-showcase__facts .detail-icon{
  width:34px !important;
  height:34px !important;
  display:grid !important;
  place-items:center !important;
  margin-bottom:7px !important;
  border-radius:50% !important;
  background:#f3ede5 !important;
  color:#214635 !important;
}
body.detail-no1-page .no1-showcase__facts .detail-icon svg{
  width:22px !important;
  height:22px !important;
}
body.detail-no1-page .no1-showcase__cta{
  margin-top:24px !important;
  min-height:58px !important;
  background:#174d35 !important;
}
body.detail-no1-page .no1-showcase__cta span{
  width:38px !important;
  height:38px !important;
  right:14px !important;
  background:#c8965f !important;
}
@media(max-width:900px){
  body.detail-no1-page .no1-showcase{
    grid-template-columns:1fr !important;
  }
  body.detail-no1-page .no1-showcase__media{
    grid-template-columns:64px minmax(0,1fr) !important;
    column-gap:12px !important;
  }
  body.detail-no1-page .no1-showcase__thumbs,
  body.detail-no1-page .no1-showcase__thumbs button{
    width:64px !important;
  }
  body.detail-no1-page .no1-showcase__thumbs button{height:70px !important;}
  body.detail-no1-page .no1-showcase__media:before{left:76px !important;}
}
@media(max-width:620px){
  body.detail-no1-page .no1-showcase__media{
    display:block !important;
  }
  body.detail-no1-page .no1-showcase__stage{
    aspect-ratio:1.08 / 1 !important;
  }
  body.detail-no1-page .no1-showcase__thumbs{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:6px !important;
    width:100% !important;
    margin-top:8px !important;
  }
  body.detail-no1-page .no1-showcase__thumbs button{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1.25/1 !important;
  }
  body.detail-no1-page .no1-showcase__media:after,
  body.detail-no1-page .no1-showcase__media:before{display:none !important;}
  body.detail-no1-page .no1-showcase__copy h2{font-size:36px !important;}
}


/* PHASE 230 — narrower gallery / wider copy */
body.detail-no1-page .no1-showcase{
  grid-template-columns:minmax(0,1.22fr) minmax(430px,1fr) !important;
  gap:36px !important;
}
body.detail-no1-page .no1-showcase__media{
  grid-template-columns:66px minmax(0,1fr) !important;
  column-gap:14px !important;
}
body.detail-no1-page .no1-showcase__thumbs{
  width:66px !important;
  gap:8px !important;
}
body.detail-no1-page .no1-showcase__thumbs button{
  width:66px !important;
  height:76px !important;
}
body.detail-no1-page .no1-showcase__stage{
  aspect-ratio:1.08 / 1 !important;
}
body.detail-no1-page .no1-showcase__copy h2{
  max-width:520px !important;
}
body.detail-no1-page .no1-showcase__copy>p{
  max-width:520px !important;
}
body.detail-no1-page .no1-showcase__media:before{
  left:80px !important;
}
@media(max-width:1050px){
  body.detail-no1-page .no1-showcase{
    grid-template-columns:minmax(0,1.14fr) minmax(390px,1fr) !important;
    gap:28px !important;
  }
}

/* PHASE 232 — main showcase image fixed to 3:4 portrait */
body.detail-no1-page .no1-showcase__stage{
  aspect-ratio:3 / 4 !important;
  height:auto !important;
}
body.detail-no1-page .no1-showcase__stage > img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}


/* PHASE 235 — showcase fact icon SVG dimensions */
body.detail-no1-page .no1-showcase__facts .detail-icon svg {
  width:22px !important;
  height:34px !important;
}

/* PHASE 236 — force perfectly circular backgrounds for showcase icons */
body.detail-no1-page .no1-showcase__facts .detail-icon{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  flex:0 0 44px !important;
  aspect-ratio:1 / 1 !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 0 7px !important;
  border-radius:50% !important;
  background:#f3ede5 !important;
  color:#214635 !important;
  line-height:0 !important;
}
body.detail-no1-page .no1-showcase__facts .detail-icon svg{
  width:22px !important;
  height:34px !important;
  display:block !important;
  flex:0 0 auto !important;
}

/* ======================================================================
   PHASE 238 — No°2 showcase responsive parity with No°1
   Calendar HTML/JS intentionally untouched.
   ====================================================================== */
body.detail-no2-page .no1-showcase{
  display:grid !important;
  grid-template-columns:minmax(0,1.22fr) minmax(430px,1fr) !important;
  gap:36px !important;
  align-items:start !important;
  padding:42px 0 40px !important;
  border-bottom:1px solid #e7e0d7 !important;
}
body.detail-no2-page .no1-showcase__media{
  position:relative !important;
  display:grid !important;
  grid-template-columns:66px minmax(0,1fr) !important;
  grid-template-rows:auto !important;
  column-gap:14px !important;
  align-items:start !important;
  min-width:0 !important;
}
body.detail-no2-page .no1-showcase__thumbs{
  grid-column:1 !important;
  grid-row:1 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  width:66px !important;
  margin:0 !important;
  align-content:start !important;
}
body.detail-no2-page .no1-showcase__thumbs button{
  width:66px !important;
  height:76px !important;
  aspect-ratio:auto !important;
  padding:0 !important;
  border:1px solid transparent !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:#eee9e2 !important;
  opacity:.82 !important;
}
body.detail-no2-page .no1-showcase__thumbs button.is-active{
  border-color:#c6844d !important;
  outline:none !important;
  opacity:1 !important;
}
body.detail-no2-page .no1-showcase__thumbs img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
}
body.detail-no2-page .no1-showcase__stage{
  grid-column:2 !important;
  grid-row:1 !important;
  position:relative !important;
  aspect-ratio:3 / 4 !important;
  height:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  background:#e7e1d9 !important;
  box-shadow:none !important;
}
body.detail-no2-page .no1-showcase__stage>img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
}
body.detail-no2-page .no1-showcase__copy{
  min-width:0 !important;
  padding-top:8px !important;
}
body.detail-no2-page .no1-showcase__copy h2{
  max-width:520px !important;
}
body.detail-no2-page .no1-showcase__copy>p{
  max-width:520px !important;
}
body.detail-no2-page .no1-showcase__facts .detail-icon{
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  max-width:44px !important;
  max-height:44px !important;
  flex:0 0 44px !important;
  aspect-ratio:1 / 1 !important;
  box-sizing:border-box !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 0 7px !important;
  border-radius:50% !important;
  background:#f3ede5 !important;
  color:#214635 !important;
  line-height:0 !important;
}
body.detail-no2-page .no1-showcase__facts .detail-icon svg{
  width:22px !important;
  height:34px !important;
  display:block !important;
  flex:0 0 auto !important;
}

@media (max-width:1050px){
  body.detail-no2-page .no1-showcase{
    grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
    gap:26px !important;
  }
  body.detail-no2-page .no1-showcase__copy h2{
    font-size:40px !important;
  }
}

@media (max-width:900px){
  body.detail-no2-page .no1-showcase{
    grid-template-columns:1fr !important;
    gap:32px !important;
    padding:34px 0 38px !important;
  }
  body.detail-no2-page .no1-showcase__media{
    grid-template-columns:64px minmax(0,1fr) !important;
    column-gap:12px !important;
    width:100% !important;
  }
  body.detail-no2-page .no1-showcase__thumbs,
  body.detail-no2-page .no1-showcase__thumbs button{
    width:64px !important;
  }
  body.detail-no2-page .no1-showcase__thumbs button{
    height:70px !important;
  }
  body.detail-no2-page .no1-showcase__stage{
    aspect-ratio:4 / 3 !important;
  }
  body.detail-no2-page .no1-showcase__copy{
    width:100% !important;
    max-width:none !important;
  }
  body.detail-no2-page .no1-showcase__copy h2,
  body.detail-no2-page .no1-showcase__copy>p{
    max-width:none !important;
  }
}

@media (max-width:620px){
  body.detail-no2-page .no1-showcase{
    gap:24px !important;
    padding:26px 0 32px !important;
  }
  body.detail-no2-page .no1-showcase__media{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
  }
  body.detail-no2-page .no1-showcase__stage{
    order:1 !important;
    width:100% !important;
    aspect-ratio:4 / 3 !important;
  }
  body.detail-no2-page .no1-showcase__thumbs{
    order:2 !important;
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:5px !important;
    width:100% !important;
    margin-top:7px !important;
  }
  body.detail-no2-page .no1-showcase__thumbs button{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;
  }
  body.detail-no2-page .no1-showcase__copy h2{
    font-size:34px !important;
    line-height:1.02 !important;
  }
  body.detail-no2-page .no1-showcase__copy>p{
    font-size:13px !important;
    line-height:1.62 !important;
  }
  body.detail-no2-page .no1-showcase__facts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  body.detail-no2-page .no1-showcase__cta{
    width:100% !important;
  }
}

@media (max-width:420px){
  body.detail-no2-page .no1-showcase__copy h2{
    font-size:31px !important;
  }
  body.detail-no2-page .no1-showcase__thumbs{
    gap:4px !important;
  }
  body.detail-no2-page .no1-showcase__facts .detail-icon{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
    max-width:40px !important;
    max-height:40px !important;
    flex-basis:40px !important;
  }
}

/* ======================================================================
   PHASE 240 — No°1 showcase responsive fix
   Calendar HTML/JS intentionally untouched.
   ====================================================================== */
@media (max-width: 980px){
  body.detail-no1-page .no1-showcase{
    grid-template-columns:1fr !important;
    gap:34px !important;
    padding:34px 0 36px !important;
  }
  body.detail-no1-page .no1-showcase__media{
    width:100% !important;
    max-width:760px !important;
    margin:0 auto !important;
    grid-template-columns:66px minmax(0,1fr) !important;
    column-gap:14px !important;
  }
  body.detail-no1-page .no1-showcase__copy{
    width:100% !important;
    max-width:760px !important;
    margin:0 auto !important;
    padding-top:0 !important;
  }
  body.detail-no1-page .no1-showcase__copy h2,
  body.detail-no1-page .no1-showcase__copy>p{
    max-width:none !important;
  }
}

@media (max-width: 700px){
  body.detail-no1-page .no1-showcase{
    gap:28px !important;
    padding:28px 0 32px !important;
  }
  body.detail-no1-page .no1-showcase__media{
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:none !important;
    gap:10px !important;
  }
  body.detail-no1-page .no1-showcase__stage{
    order:1 !important;
    width:100% !important;
    aspect-ratio:3 / 4 !important;
    height:auto !important;
    min-height:0 !important;
  }
  body.detail-no1-page .no1-showcase__stage > img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }
  body.detail-no1-page .no1-showcase__thumbs{
    order:2 !important;
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    gap:7px !important;
    margin:0 !important;
    padding:0 0 4px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    overscroll-behavior-inline:contain !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  body.detail-no1-page .no1-showcase__thumbs::-webkit-scrollbar{
    display:none !important;
  }
  body.detail-no1-page .no1-showcase__thumbs button{
    flex:0 0 62px !important;
    width:62px !important;
    height:72px !important;
    min-width:62px !important;
    aspect-ratio:auto !important;
  }
  body.detail-no1-page .no1-showcase__media:before,
  body.detail-no1-page .no1-showcase__media:after{
    display:none !important;
  }
  body.detail-no1-page .no1-showcase__copy{
    max-width:none !important;
  }
  body.detail-no1-page .no1-showcase__copy h2{
    font-size:36px !important;
    line-height:1.02 !important;
    margin-bottom:18px !important;
  }
  body.detail-no1-page .no1-showcase__copy>p{
    font-size:13.5px !important;
    line-height:1.68 !important;
    margin-bottom:18px !important;
  }
  body.detail-no1-page .no1-showcase__facts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 !important;
  }
  body.detail-no1-page .no1-showcase__facts>div{
    min-width:0 !important;
    min-height:86px !important;
  }
  body.detail-no1-page .no1-showcase__cta{
    width:100% !important;
    min-height:56px !important;
    padding-left:18px !important;
    padding-right:64px !important;
    font-size:13px !important;
  }
}

@media (max-width: 420px){
  body.detail-no1-page .no1-showcase__copy h2{
    font-size:32px !important;
  }
  body.detail-no1-page .no1-showcase__thumbs button{
    flex-basis:56px !important;
    width:56px !important;
    min-width:56px !important;
    height:66px !important;
  }
  body.detail-no1-page .no1-showcase__facts strong{
    font-size:11px !important;
  }
}
