.hotel-hero{min-height:420px;padding:155px 0 75px;color:#fff;background:linear-gradient(115deg,rgba(0,44,69,.86),rgba(0,119,182,.56)),url('https://images.unsplash.com/photo-1566073771259-6a8506099945?auto=format&fit=crop&w=1800&q=85') center/cover}.hotel-kicker{font-size:12px;letter-spacing:2px;font-weight:800;margin-bottom:12px}.hotel-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.1;margin-bottom:20px}.hotel-hero p:last-child{max-width:650px;font-size:17px;color:rgba(255,255,255,.9)}.hotel-catalogue{padding-top:65px}.hotel-catalogue-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}.hotel-catalogue-head h2{font-size:32px}.hotel-catalogue-head input{width:min(360px,100%);padding:13px 15px;border:1px solid #dbe5ec;border-radius:10px}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.hotel-public-card{border:1px solid #e2eaf0;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 7px 24px rgba(12,47,68,.06);display:flex;flex-direction:column}.hotel-public-image{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eef4f7}.hotel-public-content{padding:20px;display:flex;flex-direction:column;flex:1}.hotel-public-content h3{font-size:21px;line-height:1.3;margin:8px 0}.hotel-public-content p{color:#65737e;font-size:14px;margin:5px 0 10px}.hotel-public-tags{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 12px}.hotel-public-tag{font-size:11px;font-weight:750;border-radius:20px;padding:6px 9px;background:#eaf7fc;color:#126d96}.hotel-public-amenities{display:flex;gap:6px;flex-wrap:wrap;margin:5px 0 18px}.hotel-public-amenities span{font-size:12px;color:#53636e}.hotel-public-content .btn{margin-top:auto;align-self:flex-start}.hotel-empty-state{grid-column:1/-1;text-align:center;padding:50px 15px;color:#64737d;background:#f6fafc;border-radius:15px}@media(max-width:900px){.hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.hotel-grid{grid-template-columns:1fr}.hotel-catalogue-head{align-items:stretch;flex-direction:column}.hotel-catalogue-head input{width:100%}.hotel-hero{padding-top:135px;min-height:390px}}
.tour-hotel-options{padding:38px 0 54px;background:#f4f9fc}.tour-hotel-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.tour-hotel-heading h2{font-size:30px;margin:0 0 8px}.tour-hotel-heading p:not(.section-label){color:#63737e;max-width:700px}.tour-hotel-catalog-link{font-weight:750;color:#087fb9;white-space:nowrap}.tour-hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.tour-hotel-card{padding:0;text-align:left;border:1px solid #dce7ed;border-radius:16px;background:#fff;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;color:#17212b;transition:.2s;min-width:0}.tour-hotel-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(13,64,90,.12)}.tour-hotel-card.selected{border:2px solid #0783bf;box-shadow:0 0 0 3px rgba(7,131,191,.12)}.tour-hotel-card>img,.tour-hotel-placeholder{width:100%;aspect-ratio:16/10;object-fit:cover;background:#eaf2f6}.tour-hotel-placeholder{display:grid;place-items:center;font-size:35px}.tour-hotel-card-body{display:flex;flex-direction:column;gap:8px;padding:16px;align-items:flex-start;flex:1}.tour-hotel-card-body>strong{font-size:18px}.tour-hotel-description,.tour-hotel-amenities,.tour-hotel-note{font-size:12px;color:#687782;line-height:1.5}.tour-hotel-breakfast{font-size:12px;color:#137449;font-weight:650}.tour-hotel-price{font-size:22px;font-weight:850;color:#087fb9;margin-top:3px}.tour-hotel-price small{display:block;font-size:11px;font-weight:500;color:#65737e}.tour-hotel-mode{font-size:11px;padding:5px 8px;background:#eaf7fc;color:#176b8d;border-radius:7px;font-weight:750}.tour-hotel-select-label{margin-top:auto;padding-top:7px;color:#087fb9;font-weight:750;font-size:13px}.tour-hotel-card.selected .tour-hotel-select-label:before{content:'✓ ';}.tour-hotel-selection-summary{display:flex;flex-direction:column;gap:5px;padding:14px 16px;margin-top:18px;background:#fff;border:1px solid #dce7ed;border-radius:12px;color:#53636d;font-size:13px}.tour-hotel-selection-summary strong{color:#126d96;font-size:15px}.tour-hotel-empty{padding:22px;border-radius:12px;background:#fff;color:#65737e}.tour-hotel-options .container{width:92%;max-width:1180px;margin:auto}@media(max-width:850px){.tour-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tour-hotel-grid{grid-template-columns:1fr}.tour-hotel-heading{align-items:flex-start;flex-direction:column}.tour-hotel-heading h2{font-size:25px}.tour-hotel-catalog-link{white-space:normal}}
.hotel-detail-hero{padding:145px 0 60px;background:linear-gradient(120deg,#07354d,#087fb9);color:#fff}.hotel-detail-hero h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:10px 0 14px}.hotel-detail-hero> .container>p:not(.hotel-kicker){color:rgba(255,255,255,.85)}.hotel-detail-back{display:inline-block;color:#fff;border:1px solid rgba(255,255,255,.55);padding:8px 12px;border-radius:8px;margin-bottom:28px;font-size:13px}.hotel-detail-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:38px}.hotel-detail-gallery img{width:100%;height:230px;object-fit:cover;border-radius:13px;background:#edf4f7}.hotel-detail-gallery img:first-child{grid-column:span 2;grid-row:span 2;height:472px}.hotel-detail-columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:30px;align-items:start}.hotel-detail-columns h2{font-size:25px;margin:10px 0 13px}.hotel-detail-description{white-space:pre-line;color:#53636d;line-height:1.8;margin-bottom:28px}.hotel-detail-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 25px}.hotel-detail-amenities span{padding:10px 12px;background:#f2f8fb;border-radius:9px;color:#315261;font-size:13px}.hotel-breakfast-panel{padding:17px;background:#eff9f2;border:1px solid #d3efdd;border-radius:12px;margin-top:20px;color:#176b45}.hotel-breakfast-panel p{margin-top:5px;font-size:14px}.hotel-contact-panel{padding:24px;border:1px solid #e1eaf0;border-radius:16px;box-shadow:0 8px 25px rgba(12,47,68,.06)}.hotel-contact-panel h3{font-size:20px;margin-bottom:12px}.hotel-contact-panel p{font-size:14px;color:#64737d;margin:8px 0}.hotel-contact-panel .btn{margin:14px 0 5px}.hotel-contact-note{font-size:12px!important}.hotel-detail-section{padding-top:40px}@media(max-width:760px){.hotel-detail-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-detail-gallery img,.hotel-detail-gallery img:first-child{height:160px;grid-column:auto;grid-row:auto}.hotel-detail-columns{grid-template-columns:1fr}.hotel-detail-amenities{grid-template-columns:1fr}.hotel-detail-hero{padding-top:125px}}


/* Booking modal: hotel choice and full package price */
.booking-hotel-picker{margin:18px 0;padding:16px;border:1px solid #d9e7ef;border-radius:12px;background:#f7fbfd}
.booking-hotel-picker label{display:block;margin-bottom:8px;font-weight:750;color:#16384b}
.booking-hotel-picker select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbdbe5;border-radius:9px;background:#fff;color:#17212b;font:inherit}
.booking-package-price{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 22px;padding:16px;border:1px solid #dce7ed;border-radius:14px;background:#f4f9fc}
.booking-package-price>div{display:flex;flex-direction:column;gap:6px}
.booking-package-price span{font-size:13px;color:#63737e}
.booking-package-price strong{font-size:18px;color:#15384c}
.booking-package-price .booking-package-total{grid-column:1/-1;padding-top:12px;border-top:1px solid #dce7ed}
.booking-package-price .booking-package-total strong{font-size:25px;color:#087fb9}
@media(max-width:520px){.booking-package-price{grid-template-columns:1fr}.booking-package-price .booking-package-total{grid-column:auto}}

/* ANNLETRAVEL booking modal refresh */
.booking-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}
.booking-overlay{position:fixed;inset:0;background:rgba(8,26,40,.68);backdrop-filter:blur(5px)}
.booking-modal-content{position:relative;z-index:1;width:min(100%,650px);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:24px;padding:30px;box-shadow:0 28px 90px rgba(0,0,0,.28);color:#183348}
.booking-modal-content .booking-close{position:absolute;right:17px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f5f8;color:#385164;font-size:25px;cursor:pointer;line-height:1}
.booking-modal-heading{padding:4px 36px 20px 0}
.booking-eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:850;color:#0780b8}
.booking-modal-heading h2{font-size:clamp(25px,4vw,32px);line-height:1.15;margin:9px 0;color:#12384f}
.booking-modal-heading p{margin:0;color:#667987;font-size:13px;line-height:1.6}
.booking-tour-summary{display:flex;gap:14px;padding:15px;background:linear-gradient(120deg,#eef8fc,#f7fbfd);border:1px solid #dcecf4;border-radius:15px;margin-bottom:24px}
.booking-tour-summary-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:12px;background:#d8eff9;color:#0878a8;font-size:22px}
.booking-tour-summary-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.booking-tour-summary-copy strong{font-size:16px;color:#16394e;line-height:1.4}
.booking-tour-summary-copy span{font-size:12px;color:#607786;line-height:1.45}
.booking-form-redesigned{display:flex;flex-direction:column;gap:15px}
.booking-form-section-title{display:flex;gap:11px;align-items:center;margin-top:2px}
.booking-form-section-title>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#e6f5fb;color:#087eaf;font-size:12px;font-weight:850}
.booking-form-section-title div{display:flex;flex-direction:column;gap:2px}
.booking-form-section-title strong{font-size:15px;color:#17394d}
.booking-form-section-title small{font-size:11px;color:#758692}
.booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.booking-form-redesigned .form-group{margin:0;min-width:0}
.booking-form-redesigned label{display:block;margin-bottom:7px;font-size:12px;font-weight:750;color:#344f60}
.booking-form-redesigned label em{color:#e04e54;font-style:normal}
.booking-form-redesigned label span{font-weight:450;color:#82919a}
.booking-form-redesigned input,.booking-form-redesigned select,.booking-form-redesigned textarea{box-sizing:border-box;width:100%;min-height:46px;padding:12px 13px;border:1px solid #d8e2e8;border-radius:10px;background:#fff;color:#203b4d;font:inherit;font-size:13px;outline:none;transition:border-color .2s,box-shadow .2s}
.booking-form-redesigned textarea{resize:vertical;min-height:82px}
.booking-form-redesigned input:focus,.booking-form-redesigned select:focus,.booking-form-redesigned textarea:focus{border-color:#1591c2;box-shadow:0 0 0 3px rgba(21,145,194,.12)}
.booking-people-field{max-width:220px}
.booking-hotel-picker{padding:0;border:0;background:transparent;margin:0}
.booking-field-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.booking-field-heading label{margin:0}
.booking-field-heading>span{font-size:10px;font-weight:750;color:#17744f;background:#eaf8f0;border-radius:20px;padding:6px 9px}
.booking-hotel-card-list{display:grid;grid-template-columns:1fr;gap:9px}
.booking-hotel-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px;border:1px solid #dce5eb;border-radius:13px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s;color:inherit}
.booking-hotel-card:hover{border-color:#8bc7df}
.booking-hotel-card.selected{border:1.5px solid #0787ba;background:#f1faff;box-shadow:0 0 0 2px rgba(7,135,186,.09)}
.booking-hotel-card>img,.booking-hotel-card-placeholder{width:76px;height:70px;flex:0 0 76px;object-fit:cover;border-radius:9px;background:#edf5f8}
.booking-hotel-card-placeholder{display:grid;place-items:center;font-size:25px}
.booking-hotel-card-copy{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
.booking-hotel-card-copy strong{font-size:12px;line-height:1.45;color:#1b3d51}
.booking-hotel-card-copy>span{font-size:10px;color:#74848f}
.booking-hotel-card-copy b{font-size:16px;color:#087fb5}
.booking-hotel-card-copy b small{font-size:10px;font-weight:500;color:#6b7d88;margin-left:4px}
.booking-hotel-check{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:1px solid #c9d7df;border-radius:50%;color:transparent;font-size:12px;font-weight:900}
.booking-hotel-card.selected .booking-hotel-check{background:#0787ba;border-color:#0787ba;color:#fff}
.booking-note{font-size:11px;line-height:1.6;color:#748590;margin:8px 0 0}
.booking-no-hotel{display:flex;gap:10px;padding:13px;border:1px solid #e2eaf0;border-radius:12px;background:#f7fafc;color:#647783}
.booking-no-hotel>span{font-weight:900;color:#1683ad}
.booking-no-hotel p{margin:0;font-size:12px;line-height:1.6}
.booking-no-hotel strong{color:#2c4c5e}
.booking-price-panel{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:17px;border:1px solid #dcebf2;border-radius:15px;background:linear-gradient(135deg,#f3faff,#f8fbfd)}
.booking-price-panel>div{display:flex;flex-direction:column;gap:6px}
.booking-price-panel>div>span{font-size:11px;color:#687d89}
.booking-price-panel>div>strong{font-size:17px;color:#1a4055}
.booking-price-panel .booking-price-total{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #dce8ee}
.booking-price-panel .booking-price-total>span{font-size:13px;font-weight:750;color:#26485c}
.booking-price-panel .booking-price-total>strong{font-size:clamp(22px,4vw,27px);color:#0782b6;font-weight:900}
.booking-price-panel>p{grid-column:1/-1;margin:0;font-size:10px;color:#778792}
.booking-submit-button{display:flex!important;justify-content:center;align-items:center;gap:12px;width:100%;min-height:50px;border:0;border-radius:12px;font-weight:800;box-shadow:0 8px 18px rgba(0,126,181,.17)}
.booking-privacy-note{text-align:center;margin:0;color:#89959d;font-size:10px;line-height:1.5}
@media(max-width:540px){.booking-modal{padding:8px;align-items:flex-end}.booking-modal-content{max-height:calc(100vh - 16px);padding:22px 17px;border-radius:20px 20px 14px 14px}.booking-form-grid{grid-template-columns:1fr}.booking-people-field{max-width:none}.booking-tour-summary{padding:12px}.booking-hotel-card>img,.booking-hotel-card-placeholder{width:65px;height:62px;flex-basis:65px}.booking-price-panel{gap:10px;padding:13px}.booking-price-panel .booking-price-total{align-items:flex-start;gap:8px;flex-direction:column}}
