/* Hotel Booking AR — scoped, RTL-first interface */
.hba-page,.hba-tabs,.hba-search{--hba-ink:#173b36;--hba-ink-2:#30534d;--hba-muted:#75827f;--hba-line:#e8eeeb;--hba-soft:#f5f8f6;--hba-accent:#c98b53;--hba-green:#17775d;--hba-radius:18px;color:var(--hba-ink);direction:rtl;font-family:inherit}
.hba-page *,.hba-tabs *,.hba-search *{box-sizing:border-box}
.hba-page{padding:22px 0 72px;line-height:1.7}
.hba-container{width:min(1180px,calc(100% - 36px));margin-inline:auto}
.hba-breadcrumb{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px;color:#8a9692;font-size:13px}
.hba-breadcrumb a{color:#6c7b76;text-decoration:none}.hba-breadcrumb a:hover,.hba-text-link:hover{color:var(--hba-green)}
.hba-eyebrow{display:block;color:var(--hba-accent);font-size:12px;font-weight:700;letter-spacing:.02em;margin-bottom:7px}
.hba-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:11px 20px;border:0;border-radius:11px;text-decoration:none;font-size:14px;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease}
.hba-button:hover{transform:translateY(-1px)}.hba-button-primary{color:#fff;background:var(--hba-ink)}.hba-button-primary:hover{background:#24564e;color:#fff}.hba-button-light{background:#fff;color:var(--hba-ink)}.hba-button-light:hover{background:#f4f5f3;color:var(--hba-ink)}.hba-button-outline{border:1px solid var(--hba-line);background:#fff;color:var(--hba-ink)}
.hba-search{background:#fff;border:1px solid var(--hba-line);border-radius:var(--hba-radius,18px);padding:23px;box-shadow:0 13px 38px rgba(23,59,54,.07);margin:22px 0 34px}
.hba-search-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}.hba-search-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#eff6f2;color:var(--hba-green);font-size:27px}.hba-search-title h2{font-size:20px;line-height:1.3;margin:0 0 4px;color:var(--hba-ink)}.hba-search-title p{margin:0;color:var(--hba-muted);font-size:13px}
.hba-search-fields{display:grid;grid-template-columns:1.35fr 1fr 1fr .75fr auto;gap:10px;align-items:end}.hba-field{display:flex;flex-direction:column;gap:7px;min-width:0}.hba-field>span{font-size:12px;font-weight:700;color:#485e58}.hba-field input,.hba-field select{width:100%;height:46px;border:1px solid #dfe7e3;border-radius:10px;background:#fff;padding:0 12px;color:var(--hba-ink);font:inherit;font-size:13px;outline:none}.hba-field input:focus,.hba-field select:focus{border-color:#74a794;box-shadow:0 0 0 3px rgba(23,119,93,.09)}
.hba-section{margin:46px 0}.hba-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.hba-section-heading h2{font-size:26px;line-height:1.35;margin:0;color:var(--hba-ink)}
.hba-destination-grid,.hba-hotel-grid{display:grid;gap:18px}.hba-columns-1{grid-template-columns:1fr}.hba-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.hba-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.hba-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hba-destination-card{display:block;position:relative;min-height:265px;border-radius:var(--hba-radius,18px);overflow:hidden;text-decoration:none;background:linear-gradient(135deg,#30534d,#799787);box-shadow:0 8px 24px rgba(16,52,45,.08)}.hba-destination-image{position:absolute;inset:0;background-position:center;background-size:cover;transition:transform .45s ease}.hba-destination-card:hover .hba-destination-image{transform:scale(1.035)}.hba-image-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,28,.78),rgba(10,32,28,.03) 75%)}.hba-destination-initial{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.22);font-size:160px;font-weight:700}.hba-destination-copy{position:absolute;right:22px;bottom:20px;left:52px;color:#fff}.hba-destination-copy>span{font-size:12px;color:rgba(255,255,255,.83)}.hba-destination-copy h3{font-size:24px;line-height:1.25;color:#fff;margin:4px 0 6px}.hba-destination-copy small{font-size:12px;color:rgba(255,255,255,.82)}.hba-card-arrow{position:absolute;left:18px;bottom:22px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.17);color:#fff;font-size:18px}
.hba-hotel-card{border:1px solid var(--hba-line);border-radius:var(--hba-radius,18px);overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(23,59,54,.045);transition:transform .2s ease,box-shadow .2s ease}.hba-hotel-card:hover{transform:translateY(-3px);box-shadow:0 12px 27px rgba(23,59,54,.10)}.hba-hotel-card-image{display:block;height:210px;position:relative;background:#e7eee9;overflow:hidden}.hba-hotel-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.hba-hotel-card:hover .hba-hotel-card-image img{transform:scale(1.035)}.hba-hotel-fallback{width:100%;height:100%;min-height:120px;display:grid;place-items:center;background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.35),transparent 30%),linear-gradient(135deg,#d9e8df,#a9c4b4);color:#527467;font-size:48px}.hba-card-location-tag{position:absolute;right:13px;top:13px;padding:6px 11px;border-radius:30px;background:rgba(255,255,255,.93);font-size:11px;font-weight:700;color:var(--hba-ink)}
.hba-hotel-card-body{padding:16px}.hba-hotel-card-title-row{display:flex;justify-content:space-between;align-items:start;gap:10px}.hba-hotel-card-title-row h3{margin:0;font-size:17px;line-height:1.45}.hba-hotel-card-title-row h3 a{color:var(--hba-ink);text-decoration:none}.hba-stars,.hba-large-stars{color:#e5a746;letter-spacing:1px;font-size:12px;white-space:nowrap}.hba-hotel-address,.hba-hotel-distance{font-size:12px;color:var(--hba-muted);margin:9px 0 0}.hba-hotel-card-footer{border-top:1px solid var(--hba-line);margin-top:15px;padding-top:13px;display:flex;justify-content:space-between;align-items:center}.hba-text-link{color:var(--hba-green);font-weight:700;font-size:13px;text-decoration:none}.hba-no-online{font-size:11px;color:#77837f}
.hba-empty{padding:34px 22px;text-align:center;border:1px dashed #d6e2dc;background:#f8faf9;border-radius:var(--hba-radius,18px);color:var(--hba-muted)}.hba-empty h3{color:var(--hba-ink);margin:7px 0}.hba-empty p{margin:4px 0 17px;font-size:13px}.hba-empty-icon{font-size:36px;color:#91b3a3}
.hba-destination-hero{min-height:330px;border-radius:22px;overflow:hidden;position:relative;display:flex;align-items:end;padding:42px;background:linear-gradient(135deg,#254d43,#829c8c);background-size:cover;background-position:center;color:#fff}.hba-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,32,28,.8),rgba(10,32,28,.12))}.hba-destination-hero-content{position:relative;z-index:1;max-width:660px}.hba-destination-hero .hba-eyebrow{color:#f0c18f}.hba-destination-hero h1{color:#fff;font-size:42px;margin:0 0 9px;line-height:1.2}.hba-destination-hero p{color:rgba(255,255,255,.9);max-width:580px;margin:0 0 18px}.hba-destination-search .hba-search{margin-top:-25px;position:relative;z-index:2}.hba-rich-content{font-size:15px;line-height:1.9;color:#4c615b}.hba-rich-content h2,.hba-rich-content h3{color:var(--hba-ink)}
.hba-hotel-gallery{display:grid;grid-template-columns:1.55fr 1fr;gap:12px;height:390px;margin:10px 0 27px}.hba-gallery-main,.hba-gallery-thumbs>div{overflow:hidden;border-radius:15px;background:#e8efeb}.hba-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.hba-gallery-thumbs{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}.hba-gallery-thumbs img{width:100%;height:100%;object-fit:cover;display:block}.hba-gallery-placeholder{grid-column:1/-1;border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#e2eee7,#c0d3c8);color:#648376}.hba-gallery-placeholder span{font-size:58px}.hba-gallery-placeholder p{font-size:13px}.hba-hotel-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:38px;align-items:start}.hba-hotel-title-block{display:flex;justify-content:space-between;gap:16px;align-items:center}.hba-hotel-title-block h1{font-size:31px;line-height:1.35;color:var(--hba-ink);margin:0}.hba-large-stars{font-size:16px;text-align:center}.hba-large-stars small{display:block;font-size:10px;letter-spacing:0;color:var(--hba-muted)}.hba-hotel-facts{display:flex;gap:10px 20px;flex-wrap:wrap;margin:14px 0 27px;color:#687974;font-size:13px}.hba-info-section{padding:23px 0;border-top:1px solid var(--hba-line)}.hba-info-section h2{font-size:20px;margin:0 0 15px;color:var(--hba-ink)}.hba-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.hba-amenities span{display:flex;align-items:center;gap:8px;color:#596b65;font-size:13px}.hba-amenities i{font-style:normal;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#eff6f2;color:var(--hba-green);font-size:12px}
.hba-booking-panel{position:sticky;top:24px;border:1px solid var(--hba-line);border-radius:18px;padding:22px;background:#fff;box-shadow:0 12px 32px rgba(23,59,54,.08)}.hba-booking-panel h2{font-size:21px;margin:0 0 5px}.hba-booking-panel>p{font-size:13px;color:var(--hba-muted);margin:0 0 18px}.hba-booking-form{display:grid;gap:13px}.hba-button-whatsapp{width:100%;background:#198b62;color:white;margin-top:3px}.hba-button-whatsapp:hover{background:#12734f;color:#fff}.hba-booking-note,.hba-admin-hint{display:block;color:#82908b;font-size:10px;line-height:1.6;margin-top:13px}.hba-admin-hint{color:#b47742}.hba-related-hotels{padding-top:12px}
.hba-archive-hero{padding:22px 0 4px}.hba-archive-hero h1{font-size:36px;color:var(--hba-ink);margin:0 0 6px}.hba-archive-hero p{color:var(--hba-muted);margin:0}.hba-tabs{margin:20px 0}.hba-tab-buttons{display:flex;gap:7px;padding:5px;border:1px solid var(--hba-line);border-radius:12px;background:#fff}.hba-tab-buttons button{border:0;border-radius:8px;padding:9px 17px;background:transparent;color:#65746e;font:inherit;font-size:13px;cursor:pointer}.hba-tab-buttons button.is-active{background:var(--hba-ink);color:#fff}.hba-tab-panel[hidden]{display:none!important}.hba-tab-panel{padding-top:4px}.hba-pagination{margin-top:28px}.hba-pagination .nav-links{display:flex;justify-content:center;gap:8px}.hba-pagination a,.hba-pagination span{padding:8px 12px;border-radius:8px;background:#f1f5f2;color:var(--hba-ink);text-decoration:none}
@media(max-width:980px){.hba-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.hba-search-fields>.hba-button{grid-column:1/-1}.hba-columns-4,.hba-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.hba-hotel-layout{grid-template-columns:minmax(0,1fr) 300px;gap:22px}.hba-hotel-gallery{height:330px}}
@media(max-width:680px){.hba-container{width:min(100% - 24px,1180px)}.hba-page{padding:15px 0 48px}.hba-search{padding:16px;margin:18px 0 26px}.hba-search-fields{grid-template-columns:1fr 1fr;gap:10px}.hba-field-destination{grid-column:1/-1}.hba-field-guests{grid-column:1/-1}.hba-search-fields>.hba-button{grid-column:1/-1}.hba-search-title h2{font-size:17px}.hba-section{margin:34px 0}.hba-section-heading h2{font-size:22px}.hba-destination-grid,.hba-hotel-grid{gap:12px}.hba-columns-4,.hba-columns-3,.hba-columns-2{grid-template-columns:1fr}.hba-destination-card{min-height:220px}.hba-hotel-card-image{height:225px}.hba-destination-hero{min-height:290px;padding:25px 20px}.hba-destination-hero h1{font-size:32px}.hba-destination-search .hba-search{margin-top:16px}.hba-hotel-gallery{height:auto;display:flex;flex-direction:column}.hba-gallery-main{height:240px}.hba-gallery-thumbs{height:120px;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}.hba-gallery-thumbs>div:nth-child(n+4){display:none}.hba-hotel-layout{grid-template-columns:1fr;gap:20px}.hba-booking-panel{position:static;order:-1}.hba-hotel-title-block h1{font-size:25px}.hba-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}.hba-section-heading{align-items:start;flex-direction:column}.hba-tab-buttons{width:100%}.hba-tab-buttons button{flex:1}.hba-archive-hero h1{font-size:30px}}

/* Destination pages intentionally break out of theme content columns and use the full viewport. */
.hba-destination-page{position:relative;right:50%;transform:translateX(50%);width:100vw;max-width:100vw;overflow:hidden;padding-block:18px 72px}
.hba-destination-page .hba-container{width:calc(100% - 40px);max-width:none;margin-inline:auto}
.hba-destination-page .hba-destination-hero{min-height:clamp(360px,36vw,520px);border-radius:14px;background-position:center 58%}
.hba-destination-page .hba-destination-search .hba-search{margin-top:-42px;padding:24px 28px}
.hba-destination-page .hba-section{margin-inline:0}
.hba-destination-page .hba-hotel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.hba-sample-tag{position:absolute;left:13px;top:13px;padding:6px 10px;border-radius:30px;background:rgba(255,255,255,.94);color:#805b30;font-size:10px;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.hba-sample-notice{padding:12px 15px;margin:0 0 22px;border-radius:11px;border:1px solid #ecd9bd;background:#fff9ef;color:#795b36;font-size:12px;line-height:1.7}
.hba-sample-notice strong{color:#69461f}
@media(max-width:980px){.hba-destination-page .hba-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.hba-destination-page .hba-container{width:calc(100% - 24px)}.hba-destination-page{padding-block:12px 48px}.hba-destination-page .hba-destination-hero{min-height:310px;border-radius:12px}.hba-destination-page .hba-destination-search .hba-search{margin-top:14px;padding:16px}.hba-destination-page .hba-hotel-grid{grid-template-columns:1fr}}

/* Hotel detail pages and galleries also break out to the full viewport width. */
.hba-destination-hero{background-color:var(--hba-ink);background-image:linear-gradient(135deg,var(--hba-ink),var(--hba-ink-2))}
.hba-destination-card{background:linear-gradient(135deg,var(--hba-ink),var(--hba-ink-2))}
.hba-hotel-page{position:relative;right:50%;transform:translateX(50%);width:100vw;max-width:100vw;overflow:hidden;padding-block:18px 72px}
.hba-hotel-page .hba-container{width:calc(100% - 40px);max-width:none;margin-inline:auto}
.hba-hotel-page .hba-hotel-gallery{height:clamp(380px,40vw,520px);grid-template-columns:minmax(0,1.65fr) minmax(250px,.7fr);gap:10px;margin:4px 0 30px}
.hba-hotel-page .hba-gallery-main{position:relative;min-width:0}
.hba-hotel-page .hba-gallery-main:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.65));pointer-events:none}
.hba-gallery-caption{position:absolute;z-index:1;right:28px;bottom:24px;left:28px;display:flex;flex-direction:column;gap:6px;color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.42)}
.hba-gallery-caption strong{font-size:clamp(20px,2.2vw,32px);line-height:1.35;color:#fff}
.hba-gallery-caption span{font-size:13px;color:rgba(255,255,255,.92)}
.hba-hotel-page .hba-gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
.hba-hotel-page .hba-gallery-thumbs-3{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr))}
.hba-hotel-page .hba-gallery-thumbs-2{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(0,1fr))}
.hba-hotel-page .hba-gallery-thumbs-1{grid-template-columns:1fr;grid-template-rows:1fr}
.hba-hotel-page .hba-gallery-thumbs>div{min-height:0}
.hba-hotel-page .hba-gallery-thumbs img{transition:transform .25s ease}
.hba-hotel-page .hba-gallery-thumbs>div:hover img{transform:scale(1.04)}
.hba-hotel-page .hba-hotel-layout{grid-template-columns:minmax(0,1fr) 350px;gap:40px}
.hba-hotel-page .hba-amenities{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px}
.hba-hotel-page .hba-amenity{display:flex;align-items:center;gap:11px;min-height:40px;color:#26312f;font-size:14px}
.hba-hotel-page .hba-amenity-icon{width:25px;height:25px;flex:0 0 25px;display:grid;place-items:center;font-style:normal;color:var(--hba-ink)}
.hba-hotel-page .hba-amenity-icon svg{width:23px;height:23px;display:block}
@media(max-width:980px){.hba-hotel-page .hba-hotel-gallery{height:clamp(350px,48vw,450px);grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr)}.hba-hotel-page .hba-hotel-layout{grid-template-columns:minmax(0,1fr) 310px;gap:24px}.hba-hotel-page .hba-amenities{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.hba-hotel-page{padding-block:12px 48px}.hba-hotel-page .hba-container{width:calc(100% - 24px)}.hba-hotel-page .hba-hotel-gallery{height:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:22px}.hba-hotel-page .hba-gallery-main{height:300px}.hba-gallery-caption{right:17px;bottom:17px;left:17px}.hba-gallery-caption strong{font-size:21px}.hba-gallery-caption span{font-size:11px}.hba-hotel-page .hba-gallery-thumbs{height:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:94px;gap:8px}.hba-hotel-page .hba-gallery-thumbs>div:nth-child(n+4){display:none}.hba-hotel-page .hba-hotel-layout{grid-template-columns:1fr;gap:20px}.hba-hotel-page .hba-amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 8px}.hba-hotel-page .hba-amenity{font-size:12px;gap:8px}}

/* Bleed only the image bands past their inset content wrapper; never transform gallery children. */
.hba-destination-page .hba-destination-hero{width:calc(100% + 40px);max-width:none;margin-inline:-20px;position:relative;left:auto;transform:none;border-radius:0}
.hba-hotel-page .hba-hotel-gallery{width:calc(100% + 40px);max-width:none;margin-inline:-20px;position:relative;left:auto;transform:none;border-radius:0;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:minmax(0,1fr);height:clamp(420px,39vw,560px);align-items:stretch}
.hba-hotel-page .hba-gallery-main,.hba-hotel-page .hba-gallery-thumbs{min-width:0;min-height:0;height:100%}
.hba-hotel-page .hba-gallery-thumbs{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}
.hba-hotel-page .hba-gallery-thumbs-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.hba-hotel-page .hba-gallery-main img,.hba-hotel-page .hba-gallery-thumbs img{position:static!important;float:none!important;width:100%!important;max-width:none!important;height:100%!important;object-fit:cover!important;display:block!important}
.hba-hotel-page .hba-hotel-layout{position:relative;clear:both;z-index:1}
.hba-hotel-page .hba-amenity-icon{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0}
html,body{overflow-x:hidden}
@media(max-width:980px){.hba-hotel-page .hba-hotel-gallery{grid-template-columns:minmax(0,1fr) 290px;height:clamp(390px,52vw,470px)}}
@media(max-width:680px){.hba-destination-page .hba-destination-hero{width:calc(100% + 24px);margin-inline:-12px}.hba-hotel-page .hba-hotel-gallery{width:calc(100% + 24px);margin-inline:-12px;height:auto;display:flex;flex-direction:column;gap:8px}.hba-hotel-page .hba-gallery-main{height:300px;flex:none}.hba-hotel-page .hba-gallery-thumbs{height:96px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}.hba-hotel-page .hba-gallery-thumbs>*:nth-child(n+4){display:none}}
.hba-hotel-page .hba-gallery-thumb{width:100%;height:100%;min-width:0;min-height:0;display:block;padding:0;border:0;border-radius:15px;overflow:hidden;background:#e8efeb;cursor:pointer;position:relative;appearance:none}
.hba-hotel-page .hba-gallery-thumb:hover img{transform:scale(1.04)}
.hba-hotel-page .hba-gallery-thumb.is-active{outline:3px solid var(--hba-ink);outline-offset:-3px}
.hba-hotel-page .hba-gallery-thumb:focus-visible,.hba-hotel-page .hba-gallery-arrow:focus-visible{outline:3px solid var(--hba-ink);outline-offset:3px}
.hba-hotel-page .hba-gallery-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:46px;height:46px;padding:0;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.94);color:var(--hba-ink);box-shadow:0 3px 12px rgba(0,0,0,.18);font-size:31px;line-height:1;cursor:pointer}
.hba-hotel-page .hba-gallery-prev{right:18px}.hba-hotel-page .hba-gallery-next{left:18px}
@media(max-width:680px){.hba-hotel-page .hba-gallery-arrow{width:40px;height:40px;font-size:27px}.hba-hotel-page .hba-gallery-prev{right:12px}.hba-hotel-page .hba-gallery-next{left:12px}}


/* ==========================================================================
   v1.3.1 — Shared layout: full-bleed on laptop, real side padding on phones.
   Applies to: destinations archive, destination page, hotel page (.hba-wide).
   Content always sits inside --hba-gutter; only the image bands (hero/gallery)
   bleed to the screen edges.
   ========================================================================== */
.hba-wide{--hba-gutter:clamp(20px,3.2vw,56px);position:relative;left:auto;right:auto;transform:none;width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);padding-inline:0;overflow:visible;overflow-x:clip}
.hba-wide .hba-container{width:100%;max-width:none;margin-inline:0;padding-inline:var(--hba-gutter)}
.hba-wide .hba-destination-hero,.hba-wide .hba-hotel-gallery{width:auto;max-width:none;margin-inline:calc(-1 * var(--hba-gutter));border-radius:0;transform:none;left:auto}
.hba-wide .hba-destination-hero{padding:clamp(28px,4vw,56px) var(--hba-gutter)}
.hba-wide .hba-search{margin-inline:0}
html,body{overflow-x:visible}
body{overflow-x:clip}
@media(min-width:981px){.hba-archive-page .hba-search{padding:26px 30px}.hba-archive-page .hba-destination-card{min-height:300px}}
@media(max-width:680px){
  .hba-wide{--hba-gutter:16px}
  .hba-wide .hba-container{padding-inline:var(--hba-gutter)}
  .hba-wide .hba-destination-hero{min-height:300px;padding:28px var(--hba-gutter)}
  .hba-wide .hba-destination-grid,.hba-wide .hba-hotel-grid{gap:14px}
  .hba-wide .hba-destination-card{min-height:210px}
  .hba-wide .hba-destination-copy{right:18px;left:56px}
  .hba-wide .hba-hotel-card,.hba-wide .hba-destination-card,.hba-wide .hba-search,.hba-wide .hba-booking-panel{border-radius:16px}
  .hba-hotel-page .hba-hotel-gallery{gap:8px}
  .hba-hotel-page .hba-gallery-thumbs{padding-inline:var(--hba-gutter)}
  .hba-hotel-page .hba-hotel-layout{gap:18px}
  .hba-hotel-page .hba-hotel-title-block{gap:12px}
  .hba-hotel-page .hba-info-section{padding:20px 0}
  .hba-hotel-page .hba-hotel-facts{margin:12px 0 20px}
  .hba-hotel-page .hba-booking-panel{padding:18px}
  .hba-hotel-page .hba-related-hotels .hba-hotel-grid{grid-template-columns:1fr}
  .hba-wide .hba-breadcrumb{margin-bottom:14px}
}


/* ==========================================================================
   v1.4.0 — Gallery slide animation + hotel gallery padded on phones
   ========================================================================== */
.hba-hotel-page .hba-gallery-main{isolation:isolate;touch-action:pan-y}
.hba-hotel-page .hba-gallery-main img{will-change:transform}
.hba-hotel-page .hba-gallery-main img.hba-slide{position:absolute!important;top:0;right:0;bottom:0;left:0;z-index:0}
.hba-hotel-page .hba-gallery-thumb{transition:outline-color .2s ease,opacity .2s ease}
.hba-hotel-page .hba-gallery-thumb:not(.is-active){opacity:.92}
@media(max-width:680px){
  /* Phone: same side padding as the rest of the content, rounded images, no full-bleed */
  .hba-wide.hba-hotel-page .hba-hotel-gallery{width:auto;max-width:100%;margin-inline:0;padding:0;border-radius:0}
  .hba-wide.hba-hotel-page .hba-gallery-thumbs{padding-inline:0}
  .hba-wide.hba-hotel-page .hba-gallery-main,.hba-wide.hba-hotel-page .hba-gallery-thumb{border-radius:16px}
}


/* ==========================================================================
   v1.4.1 — Hotel gallery gets side padding on laptop too (rounded, not bleeding);
   hotels archive is full-width like the other pages.
   ========================================================================== */
.hba-wide.hba-hotel-page .hba-hotel-gallery{width:auto;max-width:100%;margin-inline:0;padding:0;border-radius:0}
.hba-wide.hba-hotel-page .hba-gallery-main,.hba-wide.hba-hotel-page .hba-gallery-thumb{border-radius:18px}
.hba-wide.hba-hotel-page .hba-gallery-thumbs{padding-inline:0}
.hba-hotels-archive .hba-hotel-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.hba-hotels-archive .hba-pagination{margin-top:32px}
@media(min-width:981px){.hba-hotels-archive .hba-search{padding:26px 30px}}
@media(max-width:1180px){.hba-hotels-archive .hba-hotel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.hba-hotels-archive .hba-hotel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.hba-hotels-archive .hba-hotel-grid{grid-template-columns:1fr}}

/* v1.4.1 — gallery arrows: SVG chevrons (direction-proof), immune to theme button styles */
.hba-hotel-page .hba-gallery-arrow,.hba-hotel-page .hba-gallery-arrow:hover,.hba-hotel-page .hba-gallery-arrow:focus,.hba-hotel-page .hba-gallery-arrow:active{width:46px!important;height:46px!important;min-width:0!important;padding:0!important;margin:0!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:50%!important;background:rgba(255,255,255,.95)!important;color:var(--hba-ink)!important;box-shadow:0 3px 12px rgba(0,0,0,.18)!important;display:grid!important;place-items:center;line-height:0!important;font-size:0!important;cursor:pointer;pointer-events:auto}
.hba-hotel-page .hba-gallery-arrow:hover{background:#fff!important;transform:translateY(-50%) scale(1.06)}
.hba-hotel-page .hba-gallery-arrow svg{width:22px;height:22px;display:block;pointer-events:none}
@media(max-width:680px){.hba-hotel-page .hba-gallery-arrow,.hba-hotel-page .hba-gallery-arrow:hover{width:40px!important;height:40px!important}}


/* ==========================================================================
   v1.5.0 — Destinations carousel (scroll-snap, RTL-aware)
   ========================================================================== */
.hba-carousel{position:relative}
.hba-carousel .hba-carousel-track{display:flex;grid-template-columns:none;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-block:4px 10px}
.hba-carousel .hba-carousel-track::-webkit-scrollbar{display:none}
.hba-carousel .hba-destination-card{flex:0 0 calc((100% - 18px * (var(--hba-cols,3) - 1)) / var(--hba-cols,3));scroll-snap-align:start;min-width:0}
.hba-carousel .hba-columns-2{--hba-cols:2}.hba-carousel .hba-columns-3{--hba-cols:3}.hba-carousel .hba-columns-4{--hba-cols:4}.hba-carousel .hba-columns-1{--hba-cols:1}
.hba-carousel-btn{position:absolute;top:50%;z-index:3;width:46px;height:46px;margin-top:-23px;padding:0;border:1px solid var(--hba-line,#e8eeeb);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--hba-ink);box-shadow:0 4px 14px rgba(0,0,0,.16);cursor:pointer;line-height:0;transition:opacity .2s ease,transform .2s ease}
.hba-carousel-btn:hover{transform:scale(1.07);background:#fff;color:var(--hba-ink)}
.hba-carousel-btn[disabled]{opacity:0;pointer-events:none}
.hba-carousel-btn svg{width:22px;height:22px;display:block;pointer-events:none}
.hba-carousel-prev{right:-12px}.hba-carousel-next{left:-12px}
@media(max-width:980px){.hba-carousel .hba-columns-3,.hba-carousel .hba-columns-4{--hba-cols:2}}
@media(max-width:680px){.hba-carousel .hba-carousel-track{gap:12px}.hba-carousel .hba-destination-card{flex-basis:84%}.hba-carousel-btn{width:40px;height:40px;margin-top:-20px}.hba-carousel-prev{right:4px}.hba-carousel-next{left:4px}}

/* v1.5.1 — cards keep the archive's rounded corners everywhere (Elementor widgets / shortcodes) */
.hba-destination-card,.hba-hotel-card{border-radius:18px;overflow:hidden}
.hba-destination-card .hba-destination-image{border-radius:inherit}
.hba-carousel .hba-destination-card{border-radius:18px}
@media(max-width:680px){.hba-destination-card,.hba-hotel-card{border-radius:16px}}


/* ==========================================================================
   v1.6.1 — Hotel cards in widgets/shortcodes look exactly like the archive:
   own design tokens (no dependency on .hba-page), no link underlines, image fills the card.
   ========================================================================== */
.hba-hotel-grid,.hba-hotel-card,.hba-destination-grid,.hba-carousel{--hba-line:#e8eeeb;--hba-soft:#f5f8f6;--hba-muted:#75827f;--hba-accent:#c98b53;--hba-radius:18px}
.hba-hotel-grid,.hba-hotel-card,.hba-destination-card{direction:rtl;line-height:1.7;text-align:right;font-family:inherit}
.hba-hotel-grid *,.hba-hotel-card *,.hba-destination-grid *{box-sizing:border-box}
.hba-hotel-card{display:flex;flex-direction:column;border:1px solid var(--hba-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(23,59,54,.045)}
.hba-hotel-card a,.hba-hotel-card a:hover,.hba-hotel-card a:focus,.hba-destination-card,.hba-destination-card:hover{text-decoration:none!important;box-shadow:none}
.hba-hotel-card .hba-hotel-card-image{display:block;position:relative;height:210px;overflow:hidden;border-radius:18px 18px 0 0;background:#e7eee9;margin:0;padding:0}
.hba-hotel-card .hba-hotel-card-image img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:center;border-radius:0!important;margin:0!important;display:block}
.hba-hotel-card .hba-hotel-fallback{position:absolute;inset:0;height:100%}
.hba-hotel-card .hba-hotel-card-body{display:flex;flex-direction:column;flex:1;padding:16px}
.hba-hotel-card .hba-hotel-card-title-row h3{margin:0;font-size:17px;line-height:1.45;color:var(--hba-ink)}
.hba-hotel-card .hba-hotel-card-title-row h3 a{color:var(--hba-ink)}
.hba-hotel-card .hba-hotel-address,.hba-hotel-card .hba-hotel-distance{margin:9px 0 0}
.hba-hotel-card .hba-hotel-card-footer{margin-top:auto}
.hba-hotel-card .hba-text-link{color:var(--hba-green)}
.hba-hotel-card .hba-hotel-card-footer{border-top:1px solid var(--hba-line);padding-top:13px;margin-top:15px}
.hba-hotel-card-body>*:last-child{margin-bottom:0}
@media(max-width:680px){.hba-hotel-card .hba-hotel-card-image{height:225px;border-radius:16px 16px 0 0}}


/* ==========================================================================
   v1.7.0 — Side thumbnails are a 3-item window over ALL gallery images.
   Desktop: vertical strip. Phone: horizontal row. The JS slides the strip
   when the arrows / swipe move past the visible three.
   ========================================================================== */
.hba-hotel-page .hba-hotel-gallery{--hba-tgap:10px}
.hba-hotel-page .hba-hotel-gallery.hba-gallery-single{grid-template-columns:minmax(0,1fr)}
.hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-flow:row;grid-auto-rows:calc((100% - 2 * var(--hba-tgap)) / 3);grid-auto-columns:auto;gap:var(--hba-tgap);overflow:hidden;padding:0;border-radius:0}
.hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs--2{grid-auto-rows:calc((100% - var(--hba-tgap)) / 2)}
.hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs--1{grid-auto-rows:100%}
.hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs>*:nth-child(n+4){display:block}
.hba-hotel-page .hba-hotel-gallery .hba-gallery-thumb.is-active{outline:3px solid var(--hba-ink);outline-offset:-3px}
@media(max-width:680px){
  .hba-hotel-page .hba-hotel-gallery{--hba-tgap:8px}
  .hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs{grid-template-columns:none;grid-template-rows:100%;grid-auto-flow:column;grid-auto-rows:auto;grid-auto-columns:calc((100% - 2 * var(--hba-tgap)) / 3)}
  .hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs--2{grid-auto-columns:calc((100% - var(--hba-tgap)) / 2)}
  .hba-hotel-page .hba-hotel-gallery .hba-gallery-thumbs--1{grid-auto-columns:100%}
}


/* ==========================================================================
   v1.5.3 — Archive pagination: fixed slots, clear current page, theme-proof
   ========================================================================== */
.hba-pagination{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;direction:rtl;margin:34px 0 8px;padding:0}
.hba-pagination .hba-page{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;height:42px;padding:0 14px;border:1px solid var(--hba-line,#e1e8e4);border-radius:10px;background:#fff;color:var(--hba-ink);font-size:15px;line-height:1;font-weight:600;text-decoration:none!important;box-shadow:none;transition:background .2s,color .2s,border-color .2s}
.hba-pagination a.hba-page:hover{background:#eef3f0;border-color:var(--hba-ink)}
.hba-pagination .hba-page.is-current{background:var(--hba-ink);border-color:var(--hba-ink);color:#fff!important;cursor:default}
.hba-pagination .hba-page.is-disabled{opacity:.4;cursor:not-allowed;background:#f6f8f7}
.hba-pagination .hba-page-dots{border-color:transparent;background:transparent;min-width:24px;padding:0}
@media(max-width:680px){.hba-pagination{gap:6px}.hba-pagination .hba-page{min-width:38px;height:38px;padding:0 10px;font-size:14px}}
.hba-pagination .hba-page>span{padding:0!important;background:none!important;border-radius:0!important}


/* v1.7.3 — date fields: fixed Latin mm/dd/yyyy display, native picker kept */
.hba-date{position:relative;height:46px;width:100%}
.hba-date .hba-date-text{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:46px;padding:0 12px;border:1px solid #dfe7e3;border-radius:10px;background:#fff;color:var(--hba-ink);font:inherit;font-size:13px;font-weight:400;direction:ltr;text-align:left;font-variant-numeric:tabular-nums}
.hba-date .hba-date-text:after{content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;opacity:.75;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat}
.hba-date.is-empty .hba-date-text{color:#7b8c87}
.hba-date:focus-within .hba-date-text{border-color:#74a794;box-shadow:0 0 0 3px rgba(23,119,93,.09)}
.hba-field .hba-date input[type=date]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;z-index:2;-webkit-appearance:none;appearance:none}
.hba-date input[type=date]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
