.hotel-reservation-page{background:#f5f8fc;}
.reservation-topbar{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#fff;border:1px solid #e3ecf7;border-radius:18px;padding:16px 18px;margin:25px 0;box-shadow:0 10px 30px rgba(31,64,104,.08)}
.reservation-back{font-weight:700;color:#1f5f9f}
.reservation-dates{display:flex;gap:10px;flex-wrap:wrap}
.reservation-dates span{background:#eef5ff;border:1px solid #d8e9fb;border-radius:14px;padding:9px 13px;color:#143a5d}
.reservation-dates b{display:block;font-size:11px;text-transform:uppercase;color:#6b8299}
.reservation-hotel-card{display:grid;grid-template-columns:320px 1fr;gap:24px;background:#fff;border:1px solid #e3ecf7;border-radius:22px;padding:18px;margin-bottom:26px;box-shadow:0 14px 38px rgba(31,64,104,.09)}
.reservation-hotel-photo{height:230px;border-radius:18px;overflow:hidden;background:#dfeaf6}
.reservation-hotel-photo img{width:100%;height:100%;object-fit:cover;display:block}
.reservation-hotel-info h1{margin:4px 0 6px;font-size:30px;font-weight:800;color:#102f4c}
.reservation-stars{color:#f5b642;margin-bottom:8px}
.reservation-address{color:#5d7185;margin-bottom:12px}
.reservation-hotel-info p{color:#536879;line-height:1.6}
.reservation-facilities{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.reservation-facilities span{background:#f1f7ff;border-radius:999px;padding:7px 11px;color:#245b8d;font-size:13px}
.reservation-section-title{font-size:24px;font-weight:800;color:#102f4c;margin:0 0 16px}
.reservation-room-card{background:#fff;border:1px solid #e3ecf7;border-radius:20px;margin-bottom:18px;padding:16px;display:grid;grid-template-columns:190px 1fr 210px;gap:18px;box-shadow:0 10px 30px rgba(31,64,104,.07)}
.reservation-room-image{height:155px;border-radius:16px;overflow:hidden;background:#e7eef7}
.reservation-room-image img{width:100%;height:100%;object-fit:cover;display:block}
.reservation-room-content h3{font-size:21px;font-weight:800;color:#103454;margin:2px 0 6px}
.reservation-room-content p{color:#576d80;line-height:1.55;margin-bottom:8px}
.reservation-room-subtitle{font-weight:700;color:#244e76!important}
.reservation-room-capacity{font-weight:700;color:#244e76;margin-bottom:8px}
.reservation-room-action{border-left:1px solid #e7eef7;padding-left:18px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.reservation-room-price span{display:block;font-size:25px;font-weight:900;color:#0f63a8}
.reservation-room-price s{display:block;color:#b36b00;margin-top:3px}
.reservation-room-price small{display:block;color:#6e8192;margin:4px 0 12px}
.reservation-room-options{grid-column:1/-1;margin-top:4px}
.reservation-summary-box{position:sticky;top:20px;background:#fff;border:1px solid #dce9f6;border-radius:22px;padding:20px;box-shadow:0 14px 38px rgba(31,64,104,.10)}
.reservation-summary-box h3{margin:0 0 16px;font-weight:900;color:#102f4c}
.reservation-summary-line{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #eef3f9;color:#596f82}
.reservation-summary-line b{color:#102f4c}
.reservation-empty-summary{background:#f1f7ff;border-radius:14px;padding:14px;color:#48657d;line-height:1.5}
.reservation-summary-box .btn-success{background:#0f6fb8;border-color:#0f6fb8;border-radius:12px;font-weight:800}
.reservation-summary-box .btn-success:hover{background:#0b5d9b;border-color:#0b5d9b}
@media(max-width:991px){.reservation-topbar{display:block}.reservation-dates{margin-top:14px}.reservation-hotel-card{grid-template-columns:1fr}.reservation-room-card{grid-template-columns:1fr}.reservation-room-action{border-left:0;border-top:1px solid #e7eef7;padding-left:0;padding-top:15px}.reservation-summary-box{position:static;margin-top:18px}}

/* Patch 156 - search bar closer to requested booking-style mockup */
.reservation-topbar{display:none!important}
.reservation-search-bar{display:grid;grid-template-columns:1fr 1fr .7fr .7fr 1.35fr;align-items:stretch;background:#fff;border:1px solid #e3ecf7;border-radius:0;margin:0 0 26px;box-shadow:0 10px 30px rgba(31,64,104,.07);overflow:hidden}
.reservation-search-field{position:relative;min-height:76px;margin:0;padding:17px 20px;border-right:1px solid #e5edf7;cursor:pointer;background:#fff;color:#11375d}
.reservation-search-field span{display:block;font-size:12px;font-weight:800;color:#637891;margin-bottom:5px}
.reservation-search-field strong{display:block;font-size:17px;font-weight:900;color:#0b3768;line-height:1.2}
.reservation-search-field input[type=date]{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.reservation-search-field select{border:0;background:transparent;padding:0;font-size:18px;font-weight:900;color:#0b3768;box-shadow:none;outline:none;cursor:pointer;width:100%}
.reservation-change-btn{height:76px;border:0;background:#173763;color:#fff;font-size:16px;font-weight:900;text-transform:none;border-radius:10px;margin:0;padding:0 26px;align-self:center;justify-self:stretch;box-shadow:0 8px 20px rgba(23,55,99,.24)}
.reservation-change-btn:hover,.reservation-change-btn:focus{background:#173763;color:#fff;filter:brightness(.96)}
.reservation-room-card .btn-primary,.reservation-room-card .btn-success,.reservation-room-card button[type=submit],.reservation-room-card .reservation-select-room,.reservation-room-action .btn{background:#2eb84d!important;border-color:#2eb84d!important;color:#fff!important;border-radius:8px;font-weight:900;box-shadow:none!important}
.reservation-room-card .btn-primary:hover,.reservation-room-card .btn-success:hover,.reservation-room-card button[type=submit]:hover,.reservation-room-action .btn:hover{background:#28a944!important;border-color:#28a944!important;color:#fff!important}
.reservation-hotel-info h1{color:#173763}.reservation-section-title,.reservation-room-content h3,.reservation-summary-box h3{color:#173763}.reservation-room-price span{color:#173763}
@media(max-width:991px){.reservation-search-bar{grid-template-columns:1fr 1fr}.reservation-change-btn{grid-column:1/-1;border-radius:0}.reservation-search-field:nth-child(2n){border-right:0}}
@media(max-width:575px){.reservation-search-bar{grid-template-columns:1fr}.reservation-search-field{border-right:0;border-bottom:1px solid #e5edf7}.reservation-change-btn{height:64px}}

/* Patch 157 - safe inline room facilities, no old bookingModel dependency */
.reservation-room-facilities{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}
.reservation-room-facilities span{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:6px 10px;
    border-radius:8px;
    background:#f2f6ff;
    color:#173763;
    font-size:13px;
    font-weight:600;
}
.reservation-room-facilities i{
    color:#2eb84d;
}

/* Patch 158 - date fields clickable + calendar icons without FontAwesome dependency */
.reservation-date-field{
    user-select:none;
}
.reservation-search-field .reservation-field-label{
    display:flex;
    align-items:center;
    gap:7px;
}
.reservation-field-label:before,
.reservation-btn-calendar{
    content:"";
    display:inline-block;
    width:15px;
    height:15px;
    flex:0 0 15px;
    background-repeat:no-repeat;
    background-position:center;
    background-size:15px 15px;
}
.reservation-field-label-calendar:before,
.reservation-date-field:after,
.reservation-btn-calendar{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23173763' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}
.reservation-field-label-user:before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23173763' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
}
.reservation-field-label-child:before{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23173763' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='5' r='2'/%3E%3Cpath d='M12 7v7'/%3E%3Cpath d='M8 10h8'/%3E%3Cpath d='M10 21l2-7 2 7'/%3E%3C/svg%3E");
}
.reservation-date-field:after{
    content:"";
    position:absolute;
    right:20px;
    top:50%;
    width:18px;
    height:18px;
    margin-top:-3px;
    transform:translateY(-50%);
    pointer-events:none;
    opacity:.95;
}
.reservation-search-field input[type=date]{
    left:auto;
    right:12px;
    top:18px;
    width:44px;
    height:44px;
    opacity:.01;
    z-index:3;
}
.reservation-date-field strong{
    padding-right:32px;
}
.reservation-change-btn .reservation-btn-calendar{
    margin-left:8px;
    filter:brightness(0) invert(1);
    vertical-align:-2px;
}


/* Patch 159 - calendar full-click, total price label, facilities as icons/images */
.reservation-search-field input[type=date]{
    left:0!important;
    right:auto!important;
    top:0!important;
    width:100%!important;
    height:100%!important;
    opacity:.01!important;
    z-index:4!important;
    cursor:pointer!important;
}
.reservation-date-field:after{
    z-index:5;
}
.reservation-room-price small{
    color:#526b82;
    font-weight:700;
}
.reservation-room-facilities span{
    min-height:30px;
}
.reservation-room-facilities img{
    width:18px;
    height:18px;
    object-fit:contain;
    display:inline-block;
    flex:0 0 18px;
}


/* Patch 160 - calendar click fix + green final reservation button */
.reservation-date-field{
    position:relative;
    cursor:pointer;
}
.reservation-search-field input[type=date]{
    position:absolute!important;
    left:auto!important;
    right:14px!important;
    top:0!important;
    width:52px!important;
    height:100%!important;
    opacity:.001!important;
    z-index:6!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
}
.reservation-date-field:after{
    z-index:5!important;
    pointer-events:none!important;
}
.reservation-date-field strong,
.reservation-date-field .reservation-field-label{
    position:relative;
    z-index:2;
    pointer-events:none;
}
.reservation-summary-box .btn-success,
.reservation-summary-box .btn-primary,
.reservation-summary-box button[type=submit],
.reservation-summary-box a.btn-success,
.reservation-summary-box a.btn-primary,
[id^="booking-amount_"] .btn-success{
    background:#2eb84d!important;
    border-color:#2eb84d!important;
    color:#fff!important;
}
.reservation-summary-box .btn-success:hover,
.reservation-summary-box .btn-primary:hover,
.reservation-summary-box button[type=submit]:hover,
.reservation-summary-box a.btn-success:hover,
.reservation-summary-box a.btn-primary:hover{
    background:#28a944!important;
    border-color:#28a944!important;
    color:#fff!important;
}


/* Patch 161 - muta bara de modificare date sub cardul hotelului */
.reservation-hotel-card{
    margin-bottom:18px!important;
}
.reservation-search-bar{
    margin:0 0 26px!important;
}

/* Patch 165 - dropdown Oaspeti in stil Booking pentru adulti/copii si varste copii */
.reservation-search-bar{
    grid-template-columns:1fr 1fr 1.45fr 1.35fr!important;
    overflow:visible!important;
    position:relative;
    z-index:20;
}
.reservation-guests-field{
    padding:0!important;
    min-height:76px;
    position:relative;
    z-index:30;
}
.reservation-guests-toggle{
    position:relative;
    display:block;
    width:100%;
    height:76px;
    padding:17px 46px 14px 20px;
    border:0;
    background:#fff;
    text-align:left;
    color:#11375d;
    cursor:pointer;
    outline:none;
}
.reservation-guests-toggle strong{
    display:block;
    font-size:17px;
    font-weight:900;
    color:#0b3768;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.reservation-guests-arrow{
    position:absolute;
    right:18px;
    top:50%;
    width:10px;
    height:10px;
    margin-top:-7px;
    border-right:2px solid #173763;
    border-bottom:2px solid #173763;
    transform:rotate(45deg);
    transition:.16s ease;
}
.reservation-guests-field.is-open .reservation-guests-arrow{
    transform:rotate(-135deg);
    margin-top:-1px;
}
.reservation-guests-popover{
    display:none;
    position:absolute;
    left:0;
    top:calc(100% + 8px);
    width:330px;
    max-width:calc(100vw - 40px);
    background:#fff;
    border:1px solid #dbe7f4;
    border-radius:14px;
    padding:16px;
    box-shadow:0 18px 45px rgba(16,47,76,.18);
    z-index:9999;
}
.reservation-guests-field.is-open .reservation-guests-popover{
    display:block;
}
.reservation-guest-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:8px 0;
    font-size:15px;
    font-weight:800;
    color:#173763;
}
.reservation-stepper{
    display:grid;
    grid-template-columns:38px 48px 38px;
    height:38px;
    border:1px solid #cfdbea;
    border-radius:8px;
    overflow:hidden;
    background:#fff;
}
.reservation-stepper button{
    border:0;
    background:#fff;
    color:#1c67b0;
    font-size:20px;
    line-height:1;
    font-weight:500;
    cursor:pointer;
}
.reservation-stepper b{
    display:flex;
    align-items:center;
    justify-content:center;
    border-left:1px solid #edf2f8;
    border-right:1px solid #edf2f8;
    color:#173763;
    font-size:15px;
}
.reservation-child-ages{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:10px;
}
.reservation-child-age-select-wrap{
    display:block;
    margin:0;
}
.reservation-child-age-select-wrap span{
    display:block;
    margin-bottom:4px;
    font-size:12px;
    font-weight:800;
    color:#637891;
}
.reservation-child-age-select{
    display:block!important;
    width:100%!important;
    height:40px!important;
    padding:0 10px!important;
    border:1px solid #cfdbea!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#173763!important;
    font-size:14px!important;
    font-weight:700!important;
    box-shadow:none!important;
    outline:none!important;
}
.reservation-child-age-select:focus{
    border-color:#2eb84d!important;
}
.reservation-guest-error{
    display:none;
    margin-top:10px;
    color:#d93025;
    font-size:12px;
    font-weight:700;
}
.reservation-guests-apply{
    width:100%;
    height:42px;
    margin-top:14px;
    border:0;
    border-radius:8px;
    background:#2eb84d;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}
.reservation-guests-apply:hover,
.reservation-guests-apply:focus{
    background:#28a944;
    color:#fff;
}
@media(max-width:991px){
    .reservation-search-bar{grid-template-columns:1fr 1fr!important}
    .reservation-guests-field{border-right:0!important}
}
@media(max-width:575px){
    .reservation-search-bar{grid-template-columns:1fr!important}
    .reservation-guests-popover{left:0;right:auto;width:100%}
    .reservation-child-ages{grid-template-columns:1fr}
}

/* Patch 169 - pachete de camere pentru cautari cu mai multe persoane */
.reservation-section-title:after{
    content:' in functie de persoanele cautate';
    display:inline-block;
    margin-left:10px;
    padding:5px 12px;
    border-radius:999px;
    background:#eef6ff;
    color:#173763;
    font-size:12px;
    font-weight:800;
    vertical-align:middle;
    text-transform:none;
}
.reservation-room-card{
    grid-template-columns:190px 1fr 210px!important;
    align-items:stretch;
}
.reservation-package-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0 8px;
}
.reservation-package-meta span{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 10px;
    border-radius:8px;
    background:#eef6ff;
    color:#173763;
    font-size:13px;
    font-weight:800;
}
.reservation-room-description-title{
    margin:10px 0 2px;
    color:#173763;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.reservation-room-action{
    background:#fff;
}
.reservation-room-price em{
    display:block;
    margin-top:4px;
    color:#5d7287;
    font-style:normal;
    font-size:12px;
    font-weight:700;
}
.reservation-package-label{
    margin-top:12px;
    color:#173763;
    font-weight:800;
    font-size:13px;
}
.reservation-room-action .pt10.form-inline{
    padding-top:4px!important;
}
.reservation-room-action .pt10.form-inline > i,
.reservation-room-action .pt10.form-inline > br{
    display:none!important;
}
.reservation-room-action select[name^="num_rooms"]{
    border-color:#2eb84d!important;
    box-shadow:none!important;
    font-weight:800;
}
.reservation-room-options .bg-success{
    background:#e2f6d9!important;
    border-radius:0;
    margin-top:8px!important;
    padding:3px 0;
}
.reservation-room-options .input-group-addon{
    background:#fff;
    border-color:#d5e7d0;
    color:#173763;
    font-weight:700;
}
@media(max-width:991px){
    .reservation-room-card{grid-template-columns:1fr!important;}
}

/* Patch 175 - pachet autonom, fara cos lateral, buton Alege pachet pe fiecare pachet */
.hotel-reservation-page .reservation-layout > .col-md-12{
    width:100%;
}
.reservation-hidden-booking-summary{
    display:none!important;
}
.reservation-package-card{
    grid-template-columns:190px 1fr 240px!important;
}
.reservation-package-card .reservation-room-action{
    justify-content:flex-start;
    padding-top:18px;
}
.reservation-package-card .reservation-room-price{
    margin-bottom:10px;
}
.reservation-package-card .js-package-price{
    font-size:28px;
    line-height:1.1;
}
.reservation-package-card .js-package-rooms-text{
    display:block;
    min-height:18px;
    margin:7px 0 4px;
    color:#173763;
    font-weight:900;
}
.reservation-package-card .js-package-approx{
    min-height:17px;
}
.reservation-package-choose{
    display:block;
    width:100%;
    min-height:48px;
    margin-top:12px;
    border:0;
    border-radius:9px;
    background:#2eb84d;
    color:#fff;
    font-weight:900;
    text-transform:none;
    box-shadow:0 10px 18px rgba(46,184,77,.22);
}
.reservation-package-choose:hover,
.reservation-package-choose:focus{
    background:#28a944;
    color:#fff;
}
.reservation-package-room-select{
    width:100%!important;
}
@media(max-width:991px){
    .reservation-package-card{grid-template-columns:1fr!important;}
}

/* Patch 180 - pachet in 3 coloane reale: camera | pret/optiuni | actiune */
.hotel-reservation-page .reservation-package-three-cols{
    display:grid!important;
    grid-template-columns:minmax(360px, 1.3fr) minmax(300px, .95fr) 230px!important;
    gap:0!important;
    align-items:stretch!important;
    padding:0!important;
    overflow:hidden!important;
}
.hotel-reservation-page .reservation-package-three-cols > .reservation-package-col{
    padding:18px!important;
    min-width:0!important;
}
.hotel-reservation-page .reservation-package-room-col{
    display:grid!important;
    grid-template-columns:170px minmax(0, 1fr)!important;
    gap:18px!important;
}
.hotel-reservation-page .reservation-package-room-col .reservation-room-image{
    width:170px!important;
    height:140px!important;
    margin:0!important;
}
.hotel-reservation-page .reservation-package-room-col .reservation-room-content{
    min-width:0!important;
}
.hotel-reservation-page .reservation-package-price-col{
    border-left:1px solid #e7eef7!important;
    border-right:1px solid #e7eef7!important;
    background:#fff!important;
}
.hotel-reservation-page .reservation-package-price-col .reservation-room-price{
    text-align:left!important;
    margin:0 0 14px!important;
    padding:0 0 14px!important;
    border-bottom:1px solid #edf3f9!important;
}
.hotel-reservation-page .reservation-package-price-col .js-package-price{
    color:#173763!important;
    font-size:28px!important;
    font-weight:900!important;
    line-height:1.1!important;
}
.hotel-reservation-page .reservation-package-price-col .js-package-rooms-text,
.hotel-reservation-page .reservation-package-price-col .js-package-approx{
    display:block!important;
    color:#173763!important;
    font-weight:800!important;
    margin-top:5px!important;
    font-style:normal!important;
}
.hotel-reservation-page .reservation-package-rooms-title{
    margin:0 0 10px!important;
    color:#173763!important;
    font-size:13px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.03em!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options{
    margin:0!important;
    padding:0!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
    background:#f3fbef!important;
    border:1px solid #d7efd0!important;
    border-radius:12px!important;
    margin:8px 0!important;
    padding:12px!important;
    color:#173763!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success > [class*="col-"]{
    width:100%!important;
    float:none!important;
    padding:0!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success > .clearfix{
    display:none!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .input-group{
    display:flex!important;
    max-width:100%!important;
    width:100%!important;
    border:1px solid #d5e2f0!important;
    border-radius:8px!important;
    overflow:hidden!important;
    background:#fff!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .input-group-addon{
    min-width:68px!important;
    border:0!important;
    border-right:1px solid #d5e2f0!important;
    background:#fff!important;
    color:#173763!important;
    font-weight:800!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options select.form-control{
    height:34px!important;
    border:0!important;
    box-shadow:none!important;
    font-weight:800!important;
    color:#173763!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-package-action-col{
    padding:18px!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:12px!important;
    border-left:0!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-package-label{
    color:#173763!important;
    font-weight:900!important;
    font-size:13px!important;
    margin:0!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-package-room-select,
.hotel-reservation-page .reservation-package-three-cols .reservation-room-action select{
    width:100%!important;
    max-width:100%!important;
    height:44px!important;
    border:1px solid #cfdceb!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#173763!important;
    font-weight:900!important;
    text-align:center!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-package-choose{
    width:100%!important;
    min-height:48px!important;
    margin:0!important;
    background:#2eb84d!important;
    border:0!important;
    border-radius:8px!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:900!important;
    text-transform:none!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-package-choose:hover,
.hotel-reservation-page .reservation-package-three-cols .reservation-package-choose:focus{
    background:#28a944!important;
    color:#fff!important;
}
.hotel-reservation-page .reservation-package-benefits{
    margin:0!important;
    padding-left:18px!important;
    text-align:left!important;
    color:#173763!important;
    font-size:12px!important;
    line-height:1.45!important;
}
@media(max-width:1199px){
    .hotel-reservation-page .reservation-package-three-cols{
        grid-template-columns:1fr 280px!important;
    }
    .hotel-reservation-page .reservation-package-action-col{
        grid-column:1 / -1!important;
        border-top:1px solid #e7eef7!important;
    }
}
@media(max-width:767px){
    .hotel-reservation-page .reservation-package-three-cols,
    .hotel-reservation-page .reservation-package-room-col{
        grid-template-columns:1fr!important;
    }
    .hotel-reservation-page .reservation-package-price-col{
        border-left:0!important;
        border-right:0!important;
        border-top:1px solid #e7eef7!important;
    }
    .hotel-reservation-page .reservation-package-room-col .reservation-room-image{
        width:100%!important;
        height:190px!important;
    }
}

/* Patch 181 - 3 coloane corecte: pretul in coloana 3, optiunile camerelor compact ca popover-ul de oaspeti */
.hotel-reservation-page .reservation-package-three-cols{
    grid-template-columns:minmax(360px, 1.25fr) minmax(360px, 1fr) 230px!important;
}
.hotel-reservation-page .reservation-package-price-col .reservation-room-price{
    display:none!important;
}
.hotel-reservation-page .reservation-package-action-col .reservation-room-price{
    display:block!important;
    width:100%!important;
    margin:0 0 18px!important;
    padding:0 0 16px!important;
    text-align:left!important;
    border-bottom:1px solid #edf3f9!important;
}
.hotel-reservation-page .reservation-package-action-col .js-package-price{
    color:#173763!important;
    font-size:28px!important;
    line-height:1.1!important;
    font-weight:900!important;
}
.hotel-reservation-page .reservation-package-action-col .js-package-rooms-text,
.hotel-reservation-page .reservation-package-action-col .js-package-approx{
    display:block!important;
    color:#173763!important;
    font-style:normal!important;
    font-weight:800!important;
    margin-top:5px!important;
}
.hotel-reservation-page .reservation-package-action-col{
    justify-content:flex-start!important;
    align-items:stretch!important;
    text-align:left!important;
}
.hotel-reservation-page .reservation-package-action-col .pt10.form-inline{
    width:100%!important;
    padding:0!important;
}
.hotel-reservation-page .reservation-package-action-col .bootstrap-select,
.hotel-reservation-page .reservation-package-action-col .reservation-package-room-select{
    width:100%!important;
}
.hotel-reservation-page .reservation-package-action-col .reservation-package-choose{
    margin-top:6px!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success{
    background:#fff!important;
    border:1px solid #dce9f6!important;
    border-radius:16px!important;
    box-shadow:0 8px 22px rgba(31,64,104,.06)!important;
    padding:14px!important;
    margin:10px 0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    column-gap:12px!important;
    row-gap:10px!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success > div:first-child,
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success > [class*="col-"]:first-child{
    grid-column:1 / -1!important;
    text-align:center!important;
    font-size:15px!important;
    font-weight:900!important;
    color:#173763!important;
    padding-bottom:2px!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .input-group{
    border:1px solid #d5e2f0!important;
    border-radius:8px!important;
    overflow:hidden!important;
    background:#fff!important;
    display:flex!important;
    width:100%!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .input-group-addon{
    min-width:70px!important;
    width:auto!important;
    border:0!important;
    border-right:1px solid #d5e2f0!important;
    background:#fff!important;
    color:#173763!important;
    font-weight:900!important;
    font-size:13px!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options select.form-control{
    height:34px!important;
    border:0!important;
    box-shadow:none!important;
    color:#173763!important;
    font-weight:800!important;
    background:#fff!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options [id^="children-options-"]{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px 10px!important;
    color:#173763!important;
    font-weight:800!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options [id^="children-options-"] > br{
    display:none!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options [id^="children-options-"] > .input-group{
    margin:0!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success > div:last-child,
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success > [class*="col-"]:last-child{
    grid-column:1 / -1!important;
    font-size:14px!important;
    font-weight:900!important;
    color:#173763!important;
    padding-top:2px!important;
}
@media(max-width:1199px){
    .hotel-reservation-page .reservation-package-three-cols{
        grid-template-columns:1fr 260px!important;
    }
    .hotel-reservation-page .reservation-package-price-col{
        grid-column:1 / 2!important;
    }
    .hotel-reservation-page .reservation-package-action-col{
        grid-column:2 / 3!important;
        grid-row:1 / span 2!important;
        border-left:1px solid #e7eef7!important;
        border-top:0!important;
    }
}
@media(max-width:767px){
    .hotel-reservation-page .reservation-package-three-cols{
        grid-template-columns:1fr!important;
    }
    .hotel-reservation-page .reservation-package-action-col,
    .hotel-reservation-page .reservation-package-price-col{
        grid-column:auto!important;
        grid-row:auto!important;
        border-left:0!important;
    }
    .hotel-reservation-page .reservation-package-three-cols .reservation-room-options .bg-success,
    .hotel-reservation-page .reservation-package-three-cols .reservation-room-options [id^="children-options-"]{
        grid-template-columns:1fr!important;
    }
}

/* Patch 182 - camerele din pachet ca dropdown compact, similar selectorului de oaspeti */
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .reservation-package-room-item{
    position:relative!important;
    display:block!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:10px 0!important;
}
.hotel-reservation-page .reservation-package-room-summary{
    width:100%!important;
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    padding:12px 14px!important;
    border:1px solid #d5e2f0!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#173763!important;
    text-align:left!important;
    box-shadow:0 8px 20px rgba(31,64,104,.05)!important;
}
.hotel-reservation-page .reservation-package-room-summary-title{
    display:block!important;
    font-weight:900!important;
    color:#173763!important;
    white-space:nowrap!important;
}
.hotel-reservation-page .reservation-package-room-summary-guests{
    display:block!important;
    flex:1!important;
    font-weight:800!important;
    color:#173763!important;
    font-size:14px!important;
    text-align:right!important;
}
.hotel-reservation-page .reservation-package-room-summary .fa-chevron-down{
    transition:transform .16s ease!important;
}
.hotel-reservation-page .reservation-package-room-item.is-open .reservation-package-room-summary .fa-chevron-down{
    transform:rotate(180deg)!important;
}
.hotel-reservation-page .reservation-package-room-popover{
    display:none;
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    z-index:50!important;
    width:100%!important;
    min-width:330px!important;
    padding:14px!important;
    background:#fff!important;
    border:1px solid #d5e2f0!important;
    border-radius:14px!important;
    box-shadow:0 18px 42px rgba(31,64,104,.18)!important;
}
.hotel-reservation-page .reservation-package-room-popover > [class*="col-"]{
    width:100%!important;
    float:none!important;
    padding:0!important;
    margin:0 0 10px!important;
}
.hotel-reservation-page .reservation-package-room-popover > [class*="col-"]:last-child{
    margin-bottom:0!important;
}
.hotel-reservation-page .reservation-package-room-popover .hidden{
    display:none!important;
}
.hotel-reservation-page .reservation-package-room-popover .input-group{
    display:flex!important;
    width:100%!important;
    border:1px solid #d5e2f0!important;
    border-radius:9px!important;
    overflow:hidden!important;
    background:#fff!important;
}
.hotel-reservation-page .reservation-package-room-popover .input-group-addon{
    min-width:92px!important;
    border:0!important;
    border-right:1px solid #d5e2f0!important;
    background:#fff!important;
    color:#173763!important;
    font-weight:900!important;
}
.hotel-reservation-page .reservation-package-room-popover select.form-control{
    height:38px!important;
    border:0!important;
    box-shadow:none!important;
    font-weight:900!important;
    color:#173763!important;
}
.hotel-reservation-page .reservation-package-room-popover [id^="children-options-"]{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:2px!important;
    color:#173763!important;
    font-weight:900!important;
}
.hotel-reservation-page .reservation-package-room-popover [id^="children-options-"] > br{
    display:none!important;
}
.hotel-reservation-page .reservation-package-room-popover [id^="children-options-"] > .input-group{
    margin:0!important;
}
.hotel-reservation-page .reservation-package-room-popover .btn,
.hotel-reservation-page .reservation-package-room-popover a.btn{
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#2f80ed!important;
    font-size:12px!important;
}
.hotel-reservation-page .reservation-package-room-popover .text-muted{
    color:#5d6f86!important;
}
.hotel-reservation-page .reservation-package-price-col{
    overflow:visible!important;
}
.hotel-reservation-page .reservation-package-three-cols{
    overflow:visible!important;
}
@media(max-width:767px){
    .hotel-reservation-page .reservation-package-room-popover{
        position:relative!important;
        top:auto!important;
        left:auto!important;
        width:100%!important;
        min-width:0!important;
        margin-top:8px!important;
    }
    .hotel-reservation-page .reservation-package-room-summary-guests{
        text-align:left!important;
    }
}

/* Patch 183 - camerele din pachet ca selector real, nu doar ascunse */
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options{
    overflow:visible!important;
}
.hotel-reservation-page .reservation-package-three-cols .reservation-room-options .reservation-package-room-item{
    position:relative!important;
    display:block!important;
    margin:10px 0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    overflow:visible!important;
}
.hotel-reservation-page .reservation-package-room-summary{
    width:100%!important;
    min-height:58px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto 18px!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px 14px!important;
    border:1px solid #d5e2f0!important;
    border-radius:14px!important;
    background:#fff!important;
    color:#173763!important;
    box-shadow:0 8px 20px rgba(31,64,104,.06)!important;
    cursor:pointer!important;
    text-align:left!important;
}
.hotel-reservation-page .reservation-package-room-summary-main b{
    display:block!important;
    font-weight:900!important;
    color:#173763!important;
}
.hotel-reservation-page .reservation-package-room-summary-guests{
    display:block!important;
    margin-top:3px!important;
    color:#173763!important;
    font-weight:800!important;
    font-size:13px!important;
    text-align:left!important;
}
.hotel-reservation-page .reservation-package-room-summary-price{
    white-space:nowrap!important;
    color:#173763!important;
    font-weight:900!important;
    font-size:13px!important;
}
.hotel-reservation-page .reservation-package-room-summary-price i{
    color:#2eb84d!important;
    margin-right:4px!important;
}
.hotel-reservation-page .reservation-package-room-popover{
    display:none;
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:auto!important;
    z-index:100!important;
    width:360px!important;
    max-width:calc(100vw - 40px)!important;
    padding:16px!important;
    background:#fff!important;
    border:1px solid #d5e2f0!important;
    border-radius:14px!important;
    box-shadow:0 18px 42px rgba(31,64,104,.18)!important;
}
.hotel-reservation-page .reservation-room-popup-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    margin-bottom:12px!important;
    color:#173763!important;
    font-weight:900!important;
}
.hotel-reservation-page .reservation-room-stepper{
    display:grid!important;
    grid-template-columns:42px 48px 42px!important;
    height:42px!important;
    border:1px solid #d5e2f0!important;
    border-radius:9px!important;
    overflow:hidden!important;
    background:#fff!important;
}
.hotel-reservation-page .reservation-room-stepper button{
    border:0!important;
    background:#fff!important;
    color:#0b4aa2!important;
    font-size:20px!important;
    font-weight:700!important;
}
.hotel-reservation-page .reservation-room-stepper strong{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-left:1px solid #d5e2f0!important;
    border-right:1px solid #d5e2f0!important;
    color:#173763!important;
    font-weight:900!important;
}
.hotel-reservation-page .reservation-room-hidden-select{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
    width:1px!important;
    height:1px!important;
}
.hotel-reservation-page .reservation-room-child-ages{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    margin-top:4px!important;
}
.hotel-reservation-page .reservation-room-age-field{
    display:block!important;
    margin:0!important;
    color:#173763!important;
    font-weight:900!important;
}
.hotel-reservation-page .reservation-room-age-field span{
    display:block!important;
    margin-bottom:5px!important;
    font-size:12px!important;
}
.hotel-reservation-page .reservation-room-age-field select{
    width:100%!important;
    height:40px!important;
    border:1px solid #d5e2f0!important;
    border-radius:8px!important;
    color:#173763!important;
    font-weight:800!important;
}
.hotel-reservation-page .reservation-room-popup-price{
    margin-top:12px!important;
    padding-top:10px!important;
    border-top:1px solid #edf3f9!important;
    color:#173763!important;
    font-weight:800!important;
}
.hotel-reservation-page .reservation-room-popup-price a.btn{
    display:none!important;
}
@media(max-width:767px){
    .hotel-reservation-page .reservation-package-room-popover{
        position:relative!important;
        top:auto!important;
        width:100%!important;
        max-width:100%!important;
        margin-top:8px!important;
    }
}

/* Patch 186: pastram layoutul anterior, dar il facem functional. */
.hotel-reservation-page .reservation-package-three-cols,
.hotel-reservation-page .reservation-package-price-col,
.hotel-reservation-page .reservation-package-action-col,
.hotel-reservation-page .reservation-room-options,
.hotel-reservation-page .reservation-package-room-item,
.hotel-reservation-page .reservation-package-room-popover,
.hotel-reservation-page .reservation-room-child-ages,
.hotel-reservation-page .reservation-room-age-field{
    overflow: visible !important;
}

.hotel-reservation-page .reservation-package-action-col{
    align-self: stretch;
}

.hotel-reservation-page .reservation-room-price-side{
    display: block !important;
    margin: 0 0 22px 0;
    padding: 0 0 18px 0;
    border-bottom: 1px solid #e4edf8;
    text-align: left;
}

.hotel-reservation-page .reservation-room-price-side .js-package-price{
    display: block;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 800;
    color: #00366f;
}

.hotel-reservation-page .reservation-room-price-side .js-package-rooms-text,
.hotel-reservation-page .reservation-room-price-side .js-package-approx{
    display: block;
    margin-top: 6px;
    color: #00366f;
    font-weight: 700;
}

.hotel-reservation-page .reservation-native-child-age{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 9999 !important;
    width: 100% !important;
    min-width: 120px;
    height: 38px;
    padding: 6px 10px;
    border: 1px solid #cbd8ea;
    border-radius: 8px;
    background: #fff;
    color: #0a376d;
    font-weight: 700;
}

.hotel-reservation-page .reservation-room-age-field .bootstrap-select{
    display: none !important;
}

.hotel-reservation-page .reservation-package-room-popover{
    z-index: 1000 !important;
}

.hotel-reservation-page .reservation-package-room-item.is-open{
    z-index: 1100 !important;
}


/* Patch 187 - remove room button and native age selects */
.hotel-reservation-page .reservation-package-room-summary{
    gap: 8px;
}
.hotel-reservation-page .reservation-package-room-remove{
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 50%;
    background: #fff1f1;
    color: #b42318;
    font-size: 18px;
    line-height: 20px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
	    position: absolute;
    top: -10px;
    left: -10px;
}
.hotel-reservation-page .reservation-package-room-remove:hover{
    background: #ffdede;
}
.hotel-reservation-page .reservation-native-child-age{
    display: block!important;
    min-width: 120px;
}

/* Patch 204 - gallery and facility image tweaks */
.reservation-hotel-photo a{display:block;position:relative;height:100%;}
.reservation-hotel-photo a img{display:block;width:100%;height:100%;object-fit:cover;}
.reservation-hotel-photo a span{position:absolute;left:14px;bottom:14px;background:rgba(0,0,0,.68);color:#fff;border-radius:18px;padding:7px 13px;font-weight:700;font-size:13px;}
.reservation-hidden-gallery{display:none;}
.reservation-hotel-facilities-images span img,.reservation-room-facilities span img{width:18px;height:18px;object-fit:contain;margin-right:5px;vertical-align:middle;}
.reservation-room-facilities{margin-top:10px;}

/* Patch 205 - galerie camere + facilitati sub poza + imagini facilitati */
.hotel-reservation-page .reservation-package-room-col{
    grid-template-columns:190px minmax(0,1fr)!important;
    align-items:start!important;
}
.hotel-reservation-page .reservation-room-media{
    width:190px;
    min-width:0;
}
.hotel-reservation-page .reservation-package-room-col .reservation-room-media .reservation-room-image{
    width:190px!important;
    height:140px!important;
    border-radius:14px!important;
    overflow:hidden!important;
    background:#e7eef7!important;
    position:relative!important;
}
.hotel-reservation-page .reservation-room-image a{
    display:block;
    width:100%;
    height:100%;
    position:relative;
}
.hotel-reservation-page .reservation-room-image a img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.hotel-reservation-page .reservation-room-image a span{
    position:absolute;
    left:8px;
    bottom:8px;
    border-radius:999px;
    background:rgba(0,0,0,.68);
    color:#fff;
    font-size:11px;
    line-height:1;
    padding:7px 9px;
    font-weight:800;
    opacity:0;
    transform:translateY(4px);
    transition:.18s ease;
}
.hotel-reservation-page .reservation-room-image:hover a span{
    opacity:1;
    transform:translateY(0);
}
.hotel-reservation-page .reservation-room-facilities-under-image{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin:12px 0 0!important;
    padding:0!important;
}
.hotel-reservation-page .reservation-room-facilities-under-image span{
    display:inline-flex!important;
    align-items:center!important;
    gap:5px!important;
    border-radius:8px!important;
    background:#f1f6ff!important;
    color:#173763!important;
    font-size:12px!important;
    font-weight:800!important;
    padding:6px 8px!important;
    line-height:1.1!important;
}
.hotel-reservation-page .reservation-hotel-facilities-images span img,
.hotel-reservation-page .reservation-room-facilities-under-image span img{
    width:20px!important;
    height:20px!important;
    object-fit:contain!important;
    display:inline-block!important;
    flex:0 0 auto!important;
}
@media(max-width:767px){
    .hotel-reservation-page .reservation-package-room-col{
        grid-template-columns:1fr!important;
    }
    .hotel-reservation-page .reservation-room-media,
    .hotel-reservation-page .reservation-package-room-col .reservation-room-media .reservation-room-image{
        width:100%!important;
    }
}


/* Patch 206 - galerie click + imagini facilitati reale + curatare card pachete */
.hotel-reservation-page .reservation-gallery-trigger,
.hotel-reservation-page .reservation-room-gallery-trigger{
    cursor:pointer!important;
}
.hotel-reservation-page .reservation-hotel-facilities-images span,
.hotel-reservation-page .reservation-room-facilities-under-image span{
    min-height:30px!important;
}
.hotel-reservation-page .reservation-hotel-facilities-images span img,
.hotel-reservation-page .reservation-room-facilities-under-image span img{
    width:22px!important;
    height:22px!important;
    object-fit:contain!important;
    display:inline-block!important;
    margin-right:5px!important;
    vertical-align:middle!important;
}
.hotel-reservation-page .reservation-package-room-col .reservation-room-content .reservation-room-facilities,
.hotel-reservation-page .reservation-package-room-col .reservation-room-content .reservation-room-facilities-under-image{
    display:none!important;
}
.hotel-reservation-page .reservation-room-media .reservation-room-facilities-under-image{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:7px!important;
    margin-top:12px!important;
}
.hotel-reservation-page .reservation-room-media .reservation-room-facilities-under-image span{
    max-width:190px!important;
}


/* Patch 207: imagini facilitati, galerie si descriere completa sub oferta */
.hotel-reservation-page .reservation-hotel-facilities-images span img,
.hotel-reservation-page .reservation-room-facilities-under-image span img{
    width:20px;
    height:20px;
    object-fit:contain;
    display:inline-block;
    margin-right:6px;
    vertical-align:middle;
}
.hotel-reservation-page .reservation-hotel-gallery-link,
.hotel-reservation-page .reservation-room-gallery-link{
    cursor:pointer;
}
.hotel-reservation-page .reservation-package-full-description{
    grid-column:1 / -1;
    border-top:1px solid #e3ebf5;
    padding:18px 26px 22px;
    background:#fff;
    color:#173763;
    line-height:1.65;
}
.hotel-reservation-page .reservation-package-full-description h4{
    margin:0 0 10px;
    font-size:16px;
    font-weight:800;
    text-transform:uppercase;
    color:#002b5c;
}
.hotel-reservation-page .reservation-package-full-description p{
    margin:0 0 10px;
}
.hotel-reservation-page .reservation-room-facilities-under-image{
    margin-top:12px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
}
.hotel-reservation-page .reservation-room-facilities-under-image span{
    width:auto;
    max-width:100%;
}


/* Patch 208: descriere hotel o singura data, sub toate pachetele */
.hotel-reservation-page .reservation-hotel-full-description{
    margin:20px 0 0;
    padding:24px 28px;
    border:1px solid #e3ebf5;
    border-radius:16px;
    background:#fff;
    color:#173763;
    line-height:1.7;
    box-shadow:0 10px 28px rgba(23,55,99,.06);
}
.hotel-reservation-page .reservation-hotel-full-description h3{
    margin:0 0 14px;
    color:#002b5c;
    font-size:20px;
    font-weight:800;
    text-transform:uppercase;
}
.hotel-reservation-page .reservation-hotel-full-description p:last-child{margin-bottom:0;}
