.ge-ph-hero{--ge-ph-pos-x:50%;--ge-ph-pos-y:50%;position:relative;isolation:isolate;overflow:hidden;overflow-x:clip;width:100vw;max-width:100vw;min-width:0;min-height:100vh;height:auto;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:#0b2d53;color:#fff}
.ge-ph-picture{position:absolute!important;inset:0!important;z-index:-3;display:block!important;width:100%!important;height:100%!important;overflow:hidden}
.ge-ph-image{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:var(--ge-ph-pos-x) var(--ge-ph-pos-y)}
.ge-ph-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:-2;--ge-ph-overlay:rgba(7,25,52,.52);--ge-ph-overlay-bottom:rgba(7,25,52,.76);background:linear-gradient(180deg,var(--ge-ph-overlay) 0%,rgba(7,25,52,.30) 42%,var(--ge-ph-overlay-bottom) 100%)}
.ge-ph-inner{position:relative;z-index:1;box-sizing:border-box;width:min(94%,1480px);min-height:inherit;margin:0 auto;padding:26px 0 18px;display:grid;grid-template-rows:auto auto auto;align-content:center;gap:0}
.ge-ph-copy{align-self:center;max-width:900px;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.ge-ph-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font-size:18px;line-height:1.25;font-weight:700;letter-spacing:.02em;color:#f5a65b}
.ge-ph-kicker:before{content:"";width:34px;height:2px;border-radius:2px;background:currentColor}
.ge-ph-title{margin:0 0 22px;max-width:1000px;font-size:54px;line-height:1.04;letter-spacing:-.035em;font-weight:800;color:#fff;text-wrap:balance}
.ge-ph-description{margin:0 0 24px;max-width:1120px;font-size:18px;line-height:1.58;font-weight:450;color:#fff;text-wrap:pretty}

/* Featured trip glass carousel */
.ge-ph-featured{min-width:0;margin:0 0 16px}
.ge-ph-featured-label{margin:0 0 9px;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.ge-ph-trip-row{--ge-ph-cards-per-view:3;--ge-ph-trip-gap:12px;display:flex;gap:var(--ge-ph-trip-gap);min-width:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;padding:1px 0 3px}
.ge-ph-trip-row::-webkit-scrollbar{display:none}
.ge-ph-trip-card{position:relative;flex:0 0 calc((100% - (var(--ge-ph-cards-per-view) - 1)*var(--ge-ph-trip-gap))/var(--ge-ph-cards-per-view));min-width:0;min-height:120px;height:120px;overflow:hidden;display:grid;grid-template-columns:minmax(118px,34%) minmax(0,1fr);border:1px solid rgba(255,255,255,.34);border-radius:22px;background:rgba(255,255,255,.16);box-shadow:0 16px 38px rgba(2,17,35,.14);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);scroll-snap-align:start;scroll-snap-stop:always;color:#fff;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}
.ge-ph-trip-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.52);background:rgba(255,255,255,.20)}
.ge-ph-trip-media-wrap{position:relative;display:block;min-width:0;width:100%;height:100%;overflow:hidden;border-start-start-radius:21px;border-end-start-radius:21px;background:rgba(255,255,255,.10)}
.ge-ph-trip-media{position:absolute;inset:0;display:block;min-width:0;width:100%;height:100%;overflow:hidden}
.ge-ph-trip-image,.ge-ph-trip-image-placeholder{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.ge-ph-trip-image{transition:transform .35s ease}
.ge-ph-trip-card:hover .ge-ph-trip-image{transform:scale(1.025)}
.ge-ph-trip-image-placeholder{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.04))}
.ge-ph-trip-body{min-width:0;padding:9px 46px 9px 12px;display:flex;flex-direction:column;justify-content:center}
[dir=rtl] .ge-ph-trip-body{padding:9px 12px 9px 46px}
.ge-ph-trip-title{margin:0;font-size:14px;line-height:1.2;font-weight:800;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ge-ph-trip-title a{color:inherit!important;text-decoration:none!important}
.ge-ph-trip-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-top:4px;font-size:11px;line-height:1.25;color:rgba(255,255,255,.86)}
.ge-ph-trip-duration{display:inline-flex;align-items:center;gap:7px;font-weight:700}
.ge-ph-clock{width:16px;height:16px;border:2px solid currentColor;border-radius:50%;position:relative;display:inline-block;opacity:.86}
.ge-ph-clock:before{content:"";position:absolute;left:50%;top:50%;width:1.5px;height:5px;background:currentColor;transform:translate(-50%,-88%);border-radius:1px}
.ge-ph-clock:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:1.5px;background:currentColor;transform:translate(-5%,-50%);border-radius:1px}
.ge-ph-trip-price{color:#ffd0aa;font-size:12px;font-weight:850}
.ge-ph-trip-description{margin:4px 0 0;font-size:10.5px;line-height:1.3;font-weight:500;color:rgba(255,255,255,.82);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.ge-ph-trip-wishlist{position:absolute;z-index:5;inset-block-start:8px;inset-inline-start:8px;width:34px;height:34px;padding:0!important;border:1px solid rgba(255,255,255,.45)!important;border-radius:999px!important;background:rgba(255,255,255,.90)!important;color:#112b4d!important;box-shadow:0 8px 22px rgba(2,17,35,.16);display:flex!important;align-items:center!important;justify-content:center!important;line-height:0!important;cursor:pointer;text-decoration:none!important;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.ge-ph-trip-wishlist:hover{transform:translateY(-1px);background:#fff!important}
.ge-ph-trip-wishlist .ge-ph-heart-normal,.ge-ph-trip-wishlist .ge-ph-heart-active{width:100%;height:100%;align-items:center;justify-content:center;line-height:0}
.ge-ph-trip-wishlist .ge-ph-heart-normal{display:flex}
.ge-ph-trip-wishlist .ge-ph-heart-active{display:none}
.ge-ph-trip-wishlist svg{display:block;width:54%;height:54%;margin:auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ge-ph-trip-wishlist.active{background:#c35b13!important;color:#fff!important;border-color:#c35b13!important}
.ge-ph-trip-wishlist.active .ge-ph-heart-normal{display:none}
.ge-ph-trip-wishlist.active .ge-ph-heart-active{display:flex}
.ge-ph-trip-wishlist.active .ge-ph-heart-active svg{fill:currentColor;stroke:currentColor}

/* Search */
.ge-ph-search-area{min-width:0;margin:0}
.ge-ph-search-shell{box-sizing:border-box;background:rgba(255,255,255,.96);color:#13243a;border:1px solid rgba(213,221,232,.95);border-radius:20px;box-shadow:0 18px 50px rgba(3,18,37,.18)}
.ge-ph-search-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,.85fr);align-items:stretch;min-width:0}
.ge-ph-field{position:relative;min-width:0;min-height:86px;padding:13px 18px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;border-inline-end:1px solid #e1e6ee;cursor:pointer}
.ge-ph-field-icon,.ge-ph-mobile-summary-icon{display:grid;place-items:center;color:#10345f}
.ge-ph-field-icon svg,.ge-ph-mobile-summary-icon svg,.ge-ph-search-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ge-ph-field-copy{display:block;min-width:0}
.ge-ph-field-label{display:block;margin-bottom:4px;font-size:11px;line-height:1.2;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7b8797}
.ge-ph-field select,.ge-ph-field input{display:block;width:100%;min-width:0;height:30px;padding:0;border:0!important;outline:0;background:transparent!important;box-shadow:none!important;color:#14263e;font:inherit;font-size:15px;line-height:30px;font-weight:700;appearance:auto}
.ge-ph-field input[type=month]{padding:0!important}
.ge-ph-search-button{margin:9px;min-height:68px;padding:0 22px;border:0;border-radius:14px;background:#10345f;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:16px;line-height:1;font-weight:800;cursor:pointer;transition:transform .18s ease,filter .18s ease}
.ge-ph-search-button:hover,.ge-ph-search-button:focus-visible{filter:brightness(1.08);transform:translateY(-1px)}
.ge-ph-search-shell--mobile{display:none}
.ge-ph-mobile-summary{list-style:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;width:100%;text-align:inherit}
.ge-ph-mobile-summary::-webkit-details-marker{display:none}
.ge-ph-search-shell--mobile:not(.is-open) .ge-ph-mobile-form-wrap{display:none!important}
.ge-ph-search-shell--mobile.is-open .ge-ph-mobile-form-wrap{display:block!important}
.ge-ph-mobile-chevron{font-size:22px;line-height:1;transition:transform .18s ease}
.ge-ph-search-shell--mobile.is-open .ge-ph-mobile-chevron{transform:rotate(180deg)}
[dir=rtl] .ge-ph-kicker:before{order:2}
[dir=rtl] .ge-ph-search-form{direction:rtl}
[dir=rtl] .ge-ph-field{border-inline-end:1px solid #e1e6ee}
.ge-ph-hero *{box-sizing:border-box}

@media(max-width:1024px){
  .ge-ph-hero{min-height:100vh}
  .ge-ph-inner{width:min(92%,900px);padding:24px 0 16px;gap:0;grid-template-rows:auto auto auto;align-content:center}
  .ge-ph-kicker{margin-bottom:12px}
  .ge-ph-title{margin-bottom:18px;font-size:54px;line-height:1.06}
  .ge-ph-description{margin-bottom:18px;font-size:18px;line-height:1.52;max-width:760px}
  .ge-ph-featured{margin-bottom:14px}
  .ge-ph-featured-label{margin-bottom:8px}
  .ge-ph-trip-row{--ge-ph-cards-per-view:2;--ge-ph-trip-gap:10px}
  .ge-ph-trip-card{min-height:150px;height:150px;grid-template-columns:minmax(130px,34%) minmax(0,1fr);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
  .ge-ph-trip-body{padding:16px 50px 15px 16px}
  [dir=rtl] .ge-ph-trip-body{padding:16px 16px 15px 50px}
  .ge-ph-trip-title{font-size:14.5px}
  .ge-ph-trip-description{font-size:12.5px;line-height:1.45}
  .ge-ph-search-shell--desktop{display:none}
  .ge-ph-search-shell--mobile{display:block}
  .ge-ph-mobile-summary{min-height:74px;padding:0 20px;display:grid;grid-template-columns:28px minmax(0,1fr) 24px;align-items:center;gap:12px;font-size:17px;font-weight:800;cursor:pointer}
  .ge-ph-mobile-form-wrap{padding:0 10px 10px}
  .ge-ph-search-form{grid-template-columns:1fr}
  .ge-ph-field{min-height:72px;border:1px solid #e1e6ee!important;border-radius:14px;margin-bottom:8px;padding:10px 14px}
  .ge-ph-field-label{font-size:10px}
  .ge-ph-search-button{width:100%;margin:2px 0 0;min-height:60px}
  .ge-ph-field select,.ge-ph-field input{font-size:16px}
  .ge-ph-featured-label{font-size:11px}
}

@media(max-width:767px){
  .ge-ph-hero{min-height:100vh}
  .ge-ph-inner{width:min(90%,640px);padding:20px 0 14px;gap:0;grid-template-rows:auto auto auto;align-content:center}
  .ge-ph-copy{align-self:end}
  .ge-ph-kicker{margin-bottom:10px;font-size:15px}
  .ge-ph-kicker:before{width:24px}
  .ge-ph-title{margin-bottom:14px;font-size:40px;line-height:1.075;letter-spacing:-.028em}
  .ge-ph-description{margin-top:0;margin-bottom:16px;font-size:16px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
  .ge-ph-featured{margin-bottom:14px}
  .ge-ph-featured-label{margin-bottom:8px}
  .ge-ph-trip-row{--ge-ph-cards-per-view:1;--ge-ph-trip-gap:10px}
  .ge-ph-trip-card{flex-basis:100%;min-height:164px;height:164px;grid-template-columns:minmax(112px,36%) minmax(0,1fr);border-radius:20px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .ge-ph-trip-media{border-start-start-radius:19px;border-end-start-radius:19px}
  .ge-ph-trip-body{padding:14px 46px 13px 14px}
  [dir=rtl] .ge-ph-trip-body{padding:14px 14px 13px 46px}
  .ge-ph-trip-title{font-size:14px;line-height:1.25}
  .ge-ph-trip-meta{gap:6px 9px;margin-top:7px;font-size:11.5px}
  .ge-ph-trip-price{font-size:13px}
  .ge-ph-trip-description{margin-top:8px;font-size:11.8px;line-height:1.42;-webkit-line-clamp:3}
  .ge-ph-trip-wishlist{width:34px;height:34px;inset-block-start:8px;inset-inline-end:8px}
  .ge-ph-trip-wishlist svg{width:54%;height:54%}
  .ge-ph-mobile-summary{min-height:68px;padding:0 16px;font-size:16px}
  .ge-ph-mobile-form-wrap{padding:0 8px 8px}
  .ge-ph-field{min-height:66px;padding:9px 12px}
  .ge-ph-search-button{min-height:56px}
  .ge-ph-search-shell{border-radius:18px}
}

@media(prefers-reduced-motion:reduce){
  .ge-ph-trip-card,.ge-ph-trip-image,.ge-ph-search-button,.ge-ph-mobile-chevron{transition:none!important}
  .ge-ph-trip-row{scroll-behavior:auto}
}

@supports (width:100dvw){
  .ge-ph-hero{width:100dvw;max-width:100dvw;margin-left:calc(50% - 50dvw);margin-right:calc(50% - 50dvw)}
}
@supports (overflow:clip){
  .ge-ph-hero{overflow-x:clip}
}
@supports (min-height:100dvh){
  .ge-ph-hero{min-height:100dvh}
}

/* v1.4 Search Builder */
.ge-ph-primary-fields,.ge-ph-builder-fields,.ge-ph-more-fields{display:flex;flex-wrap:wrap;min-width:0}
.ge-ph-more-filters{width:100%}
.ge-ph-more-filters>summary{list-style:none}
.ge-ph-more-filters>summary::-webkit-details-marker{display:none}
.ge-ph-quick-picks{min-width:0}
.ge-ph-quick-pick{transition:transform .18s ease,border-color .18s ease,background .18s ease}
.ge-ph-field select[data-ge-range]{cursor:pointer}
.ge-ph-search-form--advanced .ge-ph-builder-fields{width:100%}
.ge-ph-search-form--classic .ge-ph-builder-fields{width:100%}
.ge-ph-search-mode-smart .ge-ph-search-button{align-self:stretch}

@media(max-width:1024px){
  .ge-ph-quick-picks{display:none!important}
  .ge-ph-search-shell--mobile.is-open{background:rgba(255,255,255,.99)}
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-form-wrap{padding:6px 10px 12px}
  .ge-ph-search-form--mobile .ge-ph-builder-fields{width:100%}
  .ge-ph-search-form--mobile .ge-ph-field{margin-bottom:0}
}

/* v1.4.1 Smart Search UI — compact equal distribution + custom adaptive popovers */
.ge-ph-native-control{display:none!important}
.ge-ph-field{overflow:visible!important;isolation:isolate}
.ge-ph-field-trigger{appearance:none;-webkit-appearance:none;border:0!important;background:transparent!important;color:inherit!important;padding:0!important;margin:0!important;width:100%;min-width:0;height:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:inherit;cursor:pointer;font:inherit;box-shadow:none!important}
.ge-ph-field-trigger:focus-visible{outline:2px solid var(--ge-ph-popover-accent,#c35b13);outline-offset:3px;border-radius:8px}
.ge-ph-field-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#14263e;font-size:15px;line-height:1.35;font-weight:700}
.ge-ph-field-chevron{flex:0 0 auto;font-size:18px;line-height:1;color:#657488;transition:transform .18s ease}
.ge-ph-field.is-open .ge-ph-field-chevron{transform:rotate(180deg)}
.ge-ph-field-popover{position:absolute;z-index:9999;inset-inline-start:0;width:max(100%,280px);max-width:min(390px,calc(100vw - 28px));max-height:min(390px,60vh);overflow:auto;padding:9px;background:var(--ge-ph-popover-bg,#fff);color:var(--ge-ph-popover-text,#13243a);border:1px solid rgba(16,52,95,.13);border-radius:var(--ge-ph-popover-radius,18px);box-shadow:0 22px 60px rgba(6,25,49,.22);overscroll-behavior:contain}
.ge-ph-field.ge-ph-drop-down .ge-ph-field-popover{top:calc(100% + 10px);bottom:auto;transform:none}
.ge-ph-field.ge-ph-drop-up .ge-ph-field-popover{bottom:calc(100% + 10px);top:auto;transform:none}
.ge-ph-field.ge-ph-drop-center .ge-ph-field-popover{top:50%;bottom:auto;transform:translateY(-50%)}
.ge-ph-popover-option{width:100%;display:flex;align-items:center;min-height:42px;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:inherit;font:inherit;font-size:14px;font-weight:650;cursor:pointer}
.ge-ph-popover-option:hover,.ge-ph-popover-option:focus-visible{background:rgba(16,52,95,.07);outline:0}
.ge-ph-popover-option.is-selected{background:color-mix(in srgb,var(--ge-ph-popover-accent,#c35b13) 13%,transparent);color:var(--ge-ph-popover-accent,#c35b13);font-weight:800}

.ge-ph-calendar-popover{width:min(370px,calc(100vw - 28px));padding:14px}
.ge-ph-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}
.ge-ph-calendar-head strong{text-align:center;font-size:17px;line-height:1.2}
.ge-ph-calendar-nav{width:38px;height:38px;border:0;border-radius:10px;background:rgba(16,52,95,.07);color:#10345f;font-size:25px;line-height:1;cursor:pointer}
.ge-ph-calendar-nav:hover{background:rgba(16,52,95,.12)}
.ge-ph-calendar-months{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.ge-ph-calendar-month{min-height:43px;border:1px solid transparent;border-radius:10px;background:rgba(16,52,95,.035);color:inherit;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.ge-ph-calendar-month:hover:not(:disabled){border-color:color-mix(in srgb,var(--ge-ph-popover-accent,#c35b13) 45%,transparent);background:rgba(16,52,95,.06)}
.ge-ph-calendar-month.is-selected{background:var(--ge-ph-popover-accent,#c35b13);color:#fff}
.ge-ph-calendar-month.is-current:not(.is-selected){border-color:var(--ge-ph-popover-accent,#c35b13);color:var(--ge-ph-popover-accent,#c35b13)}
.ge-ph-calendar-month:disabled{opacity:.32;cursor:not-allowed}
.ge-ph-calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid rgba(16,52,95,.1)}
.ge-ph-calendar-actions button{border:0;background:transparent;color:#0b66cc;font:inherit;font-size:13px;font-weight:750;cursor:pointer;padding:6px 4px}

/* Smart mode: 3 primary filters + button share the row; secondary fields always consume the row evenly. */
@media(min-width:1025px){
  .ge-ph-search-form--smart:not(.ge-ph-search-form--mobile){display:grid!important;grid-template-columns:minmax(0,1fr) var(--ge-ph-search-button-width,25%)!important;grid-template-rows:auto auto;gap:0!important;align-items:stretch!important}
  .ge-ph-search-form--smart:not(.ge-ph-search-form--mobile)>.ge-ph-primary-fields{grid-column:1;grid-row:1;display:flex!important;flex-wrap:nowrap!important;width:100%!important;min-width:0}
  .ge-ph-search-form--smart:not(.ge-ph-search-form--mobile)>.ge-ph-primary-fields>.ge-ph-field{flex:1 1 0!important;max-width:none!important}
  .ge-ph-search-form--smart:not(.ge-ph-search-form--mobile)>.ge-ph-search-button{grid-column:2;grid-row:1;width:auto!important;min-width:0!important;align-self:stretch!important}
  .ge-ph-search-form--smart:not(.ge-ph-search-form--mobile)>.ge-ph-more-filters{grid-column:1/-1;grid-row:2;margin:0!important}
  .ge-ph-search-form--smart .ge-ph-more-fields{display:flex!important;flex-wrap:nowrap!important;width:100%!important;padding:6px!important}
  .ge-ph-search-form--smart .ge-ph-more-fields>.ge-ph-field{flex:1 1 0!important;max-width:none!important}

  .ge-ph-search-form--classic,.ge-ph-search-form--advanced{align-items:stretch!important}
  .ge-ph-search-form--classic>.ge-ph-builder-fields,.ge-ph-search-form--advanced>.ge-ph-builder-fields{flex:1 1 calc(100% - var(--ge-ph-search-button-width,25%))!important;align-content:stretch!important}
  .ge-ph-search-form--classic>.ge-ph-builder-fields>.ge-ph-field,.ge-ph-search-form--advanced>.ge-ph-builder-fields>.ge-ph-field{flex-grow:1!important}
  .ge-ph-search-form--classic>.ge-ph-search-button,.ge-ph-search-form--advanced>.ge-ph-search-button{flex:0 0 calc(var(--ge-ph-search-button-width,25%) - 12px)!important;min-width:160px!important}
}

.ge-ph-search-shell{overflow:visible!important}
.ge-ph-search-form{align-content:stretch!important}
.ge-ph-more-filters>summary{min-height:42px!important;margin:0!important}
.ge-ph-more-fields>.ge-ph-field{align-self:stretch}

@media(max-width:1024px){
  .ge-ph-field-popover{position:absolute;width:100%;max-width:100%;max-height:42vh}
  .ge-ph-field.ge-ph-drop-center .ge-ph-field-popover{top:calc(100% + 8px);transform:none}
  .ge-ph-calendar-popover{width:100%}
  .ge-ph-calendar-months{grid-template-columns:repeat(3,minmax(0,1fr))}
}


/* v1.4.3 — popover stacking + calendar theme-state hardening */
.ge-ph-field.is-open{position:relative;z-index:2;overflow:visible!important}
.ge-ph-field-popover.ge-ph-popover-portal{position:fixed!important;z-index:9999!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;box-sizing:border-box!important}

.ge-ph-calendar-head{width:100%;max-width:100%;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;justify-items:center;overflow:visible}
.ge-ph-calendar-head strong{min-width:0;width:100%;text-align:center}
.ge-ph-calendar-nav{box-sizing:border-box!important;width:38px!important;height:38px!important;min-width:38px!important;max-width:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;margin:0!important;border:1px solid transparent!important;border-radius:10px!important;display:grid!important;place-items:center!important;overflow:hidden!important;background:#f3f5f7!important;color:#10345f!important;font:inherit!important;font-size:24px!important;font-weight:800!important;line-height:1!important;cursor:pointer!important;transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important}
.ge-ph-calendar-nav:hover:not(:disabled),.ge-ph-calendar-nav:focus-visible{background:var(--ge-ph-popover-hover-bg,#fce9da)!important;color:var(--ge-ph-popover-hover-text,#c35b13)!important;border-color:color-mix(in srgb,var(--ge-ph-popover-hover-text,#c35b13) 28%,transparent)!important;outline:0!important}
.ge-ph-calendar-nav:active:not(:disabled){background:var(--ge-ph-popover-active-bg,#c35b13)!important;color:var(--ge-ph-popover-active-text,#fff)!important;transform:scale(.96)!important}
.ge-ph-calendar-nav:disabled{opacity:.34!important;cursor:not-allowed!important;background:#eef1f5!important;color:#66768a!important}
.ge-ph-popover-option:hover,.ge-ph-popover-option:focus-visible,.ge-ph-calendar-month:hover:not(:disabled),.ge-ph-calendar-month:focus-visible,.ge-ph-calendar-actions button:hover,.ge-ph-calendar-actions button:focus-visible{background:var(--ge-ph-popover-hover-bg,#fce9da)!important;color:var(--ge-ph-popover-hover-text,#c35b13)!important;outline:0!important}
.ge-ph-popover-option.is-selected,.ge-ph-calendar-month.is-selected{background:var(--ge-ph-popover-active-bg,#c35b13)!important;color:var(--ge-ph-popover-active-text,#fff)!important;border-color:var(--ge-ph-popover-active-bg,#c35b13)!important}
.ge-ph-calendar-actions button{border-radius:9px;padding:7px 9px;transition:background-color .16s ease,color .16s ease}

/* v1.4.5 — tablet/mobile popovers only: centered, viewport-safe and internally scrollable. */
@media(max-width:1024px){
  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    position:fixed!important;
    z-index:100001!important;
    inset:auto!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    max-width:calc(100vw - 24px)!important;
  }
  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal .ge-ph-popover-option{
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    max-width:calc(100vw - 24px)!important;
  }
}


/* v1.4.7 — explicit mobile/tablet search drawer (replaces native <details> behavior). */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile{position:relative;display:block!important;overflow:visible!important}
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary{position:relative;z-index:1;cursor:pointer!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .ge-ph-search-shell--mobile.is-open{position:fixed!important;inset-inline:12px!important;top:var(--ge-ph-mobile-drawer-top,12px)!important;bottom:12px!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;z-index:99990!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;background:rgba(255,255,255,.99)!important;border-radius:24px!important;box-shadow:0 24px 90px rgba(0,0,0,.36)!important}
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-summary{position:sticky!important;top:0!important;background:rgba(255,255,255,.98)!important;z-index:4!important}
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-form-wrap{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;padding:6px 10px 12px!important}
  .ge-ph-search-shell--mobile.is-open .ge-ph-search-form--mobile,.ge-ph-search-shell--mobile.is-open .ge-ph-builder-fields{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media(max-width:767px){
  .ge-ph-search-shell--mobile.is-open{inset-inline:8px!important;bottom:8px!important;border-radius:20px!important}
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-form-wrap{padding:6px 8px 10px!important}
}

/* v1.4.8 — robust tablet/mobile drawer portal + real More Filters. Desktop untouched. */
@media (max-width:1024px){
  .ge-ph-mobile-summary,
  .ge-ph-mobile-summary:hover,
  .ge-ph-mobile-summary:focus,
  .ge-ph-mobile-summary:focus-visible,
  .ge-ph-mobile-summary:active,
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-summary,
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-summary:hover,
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-summary:focus,
  .ge-ph-search-shell--mobile.is-open .ge-ph-mobile-summary:active{
    background:var(--ge-ph-search-bg,#fff)!important;
    color:var(--ge-ph-search-text,#14263e)!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:var(--ge-ph-mobile-drawer-top,12px)!important;
    bottom:12px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    z-index:99990!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:var(--ge-ph-search-bg,rgba(255,255,255,.99))!important;
    color:var(--ge-ph-search-text,#14263e)!important;
    border:1px solid rgba(16,52,95,.13)!important;
    border-radius:24px!important;
    box-shadow:0 24px 90px rgba(0,0,0,.36)!important;
    box-sizing:border-box!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-summary{
    flex:0 0 auto!important;
    position:relative!important;
    top:auto!important;
    z-index:2!important;
    border-bottom:1px solid rgba(16,52,95,.10)!important;
    border-radius:23px 23px 0 0!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-form-wrap{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 12px 14px!important;
    box-sizing:border-box!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-search-form--mobile{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-primary-fields--mobile,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-builder-fields,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-more-fields--mobile{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-search-button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex:0 0 auto!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-search-button{
    min-height:58px!important;
    margin-top:2px!important;
  }

  .ge-ph-mobile-more{width:100%!important;max-width:100%!important;min-width:0!important}
  .ge-ph-more-toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid rgba(16,52,95,.13)!important;
    border-radius:14px!important;
    background:#f7f9fb!important;
    color:#10345f!important;
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr) 20px!important;
    align-items:center!important;
    gap:10px!important;
    text-align:start!important;
    font:inherit!important;
    font-size:16px!important;
    font-weight:800!important;
    cursor:pointer!important;
    box-shadow:none!important;
  }
  .ge-ph-more-toggle:hover,
  .ge-ph-more-toggle:focus-visible{
    background:var(--ge-ph-popover-hover-bg,#fce9da)!important;
    color:var(--ge-ph-popover-hover-text,#c35b13)!important;
    outline:0!important;
  }
  .ge-ph-more-toggle.is-open{
    background:color-mix(in srgb,var(--ge-ph-popover-active-bg,#c35b13) 10%,#fff)!important;
    color:var(--ge-ph-popover-active-bg,#c35b13)!important;
    border-color:color-mix(in srgb,var(--ge-ph-popover-active-bg,#c35b13) 32%,transparent)!important;
  }
  .ge-ph-more-toggle svg{width:20px!important;height:20px!important;display:block!important}
  .ge-ph-more-toggle-chevron{font-size:20px!important;line-height:1!important;transition:transform .18s ease!important}
  .ge-ph-more-toggle.is-open .ge-ph-more-toggle-chevron{transform:rotate(180deg)!important}
  .ge-ph-more-panel[hidden]{display:none!important}
  .ge-ph-more-panel:not([hidden]){display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;padding-top:10px!important}

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal input,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal select,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal textarea,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal button{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal input,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal select,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal textarea{font-size:16px!important}
}
@media(max-width:767px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    border-radius:20px!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-summary{border-radius:19px 19px 0 0!important}
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-form-wrap{padding:8px 8px 10px!important}
}


/* v1.4.9 — compact tablet/mobile drawer: fit content first, grow only with More Filters. */
@media (max-width:1024px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal{
    bottom:auto!important;
    height:auto!important;
    max-height:var(--ge-ph-mobile-drawer-max-h,calc(100dvh - var(--ge-ph-mobile-drawer-top,12px) - 12px))!important;
    overflow:hidden!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-form-wrap{
    flex:0 1 auto!important;
    min-height:0!important;
    max-height:calc(var(--ge-ph-mobile-drawer-max-h,80vh) - 82px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-search-form--mobile{
    min-height:0!important;
    height:auto!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-more-panel:not([hidden]){
    height:auto!important;
    max-height:none!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field--date .ge-ph-field-value{
    letter-spacing:.035em!important;
    white-space:nowrap!important;
  }
}
@media (max-width:767px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal{
    max-height:var(--ge-ph-mobile-drawer-max-h,calc(100dvh - var(--ge-ph-mobile-drawer-top,8px) - 8px))!important;
  }
}


/* v1.5.5 — compact viewport popovers must sit above the portaled mobile/tablet drawer. */
@media(max-width:1024px){
  .ge-ph-field-popover.ge-ph-popover-portal,
  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal,
  .ge-ph-calendar-popover.ge-ph-popover-portal,
  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    z-index:100020!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-more-toggle{
    min-height:49px!important;
  }
}


/* v1.5.7 — robust compact Smart Search: inline option panels + always-visible submit dock. */
@media(max-width:1024px){
  /* Drawer is portaled out of the Elementor wrapper, so compact sizing must be global. */
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field{
    min-height:calc(var(--ge-ph-search-field-height,68px) - 5px)!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-more-toggle{
    min-height:49px!important;
  }

  /* Popovers are no longer portaled on mobile/tablet. They expand directly below the field. */
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field.ge-ph-mobile-inline-open{
    height:auto!important;
    max-height:none!important;
    align-items:start!important;
    grid-auto-rows:auto!important;
    overflow:visible!important;
    z-index:3!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field.ge-ph-mobile-inline-open>.ge-ph-field-icon,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field.ge-ph-mobile-inline-open>.ge-ph-field-trigger{
    align-self:start!important;
    min-height:calc(var(--ge-ph-search-field-height,68px) - 25px)!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-popover.ge-ph-mobile-inline-popover{
    position:static!important;
    inset:auto!important;
    grid-column:1/-1!important;
    grid-row:auto!important;
    width:100%!important;
    max-width:100%!important;
    max-height:220px!important;
    margin:8px 0 0!important;
    padding:6px!important;
    transform:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:1!important;
    background:var(--ge-ph-popover-bg,#fff)!important;
    color:var(--ge-ph-popover-text,#13243a)!important;
    border:1px solid rgba(16,52,95,.13)!important;
    border-radius:12px!important;
    box-shadow:0 8px 22px rgba(6,25,49,.10)!important;
    box-sizing:border-box!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-calendar-popover.ge-ph-mobile-inline-popover{
    max-height:290px!important;
    padding:10px!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-popover.ge-ph-mobile-inline-popover .ge-ph-popover-option{
    min-height:38px!important;
    padding:7px 10px!important;
  }

  /* Keep the real submit button permanently visible in a footer outside the scrollable fields. */
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-submit-dock{
    flex:0 0 auto!important;
    width:100%!important;
    padding:8px 12px 12px!important;
    margin:0!important;
    background:var(--ge-ph-search-bg,#fff)!important;
    border-top:1px solid rgba(16,52,95,.10)!important;
    box-sizing:border-box!important;
    z-index:6!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-submit-dock .ge-ph-search-button{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    margin:0!important;
    display:flex!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-form-wrap{
    flex:1 1 auto!important;
    max-height:calc(var(--ge-ph-mobile-drawer-max-h,80vh) - 145px)!important;
    padding-bottom:8px!important;
  }
}
@media(max-width:767px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-submit-dock{
    padding:7px 8px 8px!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-mobile-submit-dock .ge-ph-search-button{
    min-height:52px!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-popover.ge-ph-mobile-inline-popover{
    max-height:205px!important;
  }
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-calendar-popover.ge-ph-mobile-inline-popover{
    max-height:270px!important;
  }
}


/* v1.5.8 — Tablet/Mobile use real native controls.
   The closed Gate East field keeps its visual design, but tapping it opens the OS/browser
   select/month picker. Desktop custom popovers remain unchanged. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field{
    position:relative!important;
    overflow:hidden!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-trigger{
    pointer-events:none!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-native-control[data-ge-native-compact]{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:12!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:inherit!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:.001!important;
    color:transparent!important;
    font-size:16px!important;
    line-height:1!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
  }

  /* There is no custom dropdown/calendar on compact viewports anymore. */
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-popover,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-calendar-popover,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-popover.ge-ph-mobile-inline-popover{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field.is-open,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field.ge-ph-mobile-inline-open{
    height:auto!important;
    max-height:none!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field.is-open .ge-ph-field-chevron{
    transform:none!important;
  }
}


/* v1.5.9 — Wider native dropdown anchor on tablet/mobile.
   The visible Gate East field keeps the same dimensions; only the invisible native SELECT
   used to summon the OS/browser picker is widened toward the viewport. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field{
    overflow:visible!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-native-control[data-ge-native-compact="select"]{
    inset:auto!important;
    top:0!important;
    bottom:0!important;
    left:50%!important;
    right:auto!important;
    width:min(calc(100% + 96px), calc(100vw - 16px))!important;
    min-width:min(calc(100% + 96px), calc(100vw - 16px))!important;
    max-width:calc(100vw - 16px)!important;
    height:100%!important;
    min-height:100%!important;
    transform:translateX(-50%)!important;
    transform-origin:center center!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-native-control[data-ge-native-compact="month"]{
    inset:0!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }
}

@media(max-width:767px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-native-control[data-ge-native-compact="select"]{
    width:min(calc(100% + 72px), calc(100vw - 12px))!important;
    min-width:min(calc(100% + 72px), calc(100vw - 12px))!important;
    max-width:calc(100vw - 12px)!important;
  }
}


/* v1.6.0 — WIDE FIELD DROPDOWNS on tablet/mobile.
   This changes Destination / Trip Type / Travel Month / Activity / Duration / Price panels,
   NOT the "Find your Egypt tour" drawer width. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-native-control[data-ge-native-compact]{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal .ge-ph-field-trigger{
    pointer-events:auto!important;
  }

  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal,
  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    z-index:99995!important;
    width:calc(100vw - 44px)!important;
    max-width:760px!important;
    min-width:0!important;
    border-radius:18px!important;
    box-shadow:0 22px 64px rgba(3,18,37,.26)!important;
  }

  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    padding:9px!important;
  }

  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal .ge-ph-popover-option{
    min-height:44px!important;
    padding:10px 14px!important;
    white-space:normal!important;
  }
}

@media(max-width:767px){
  .ge-ph-field-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal,
  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    width:calc(100vw - 28px)!important;
    max-width:calc(100vw - 28px)!important;
    border-radius:16px!important;
  }
}


/* v1.6.1 — Mobile/tablet search fields are REAL browser controls.
   No custom popover, no portal, no z-index tricks. The actual SELECT/INPUT is full width,
   so its native dropdown/picker opens from a wide control. Desktop remains untouched. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-native-field{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:49px!important;
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    padding:5px 10px!important;
    margin:0!important;
    border:0!important;
    border-bottom:1px solid rgba(16,52,95,.10)!important;
    background:transparent!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon{
    width:24px!important;
    height:24px!important;
    display:grid!important;
    place-items:center!important;
    color:#10345f!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon svg,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon i{
    width:20px!important;
    height:20px!important;
    font-size:20px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-content{
    min-width:0!important;
    width:100%!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-label{
    display:block!important;
    margin:0 0 2px!important;
    padding:0!important;
    font-size:10px!important;
    line-height:1.05!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-select,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-month{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0 4px!important;
    box-sizing:border-box!important;
    font-size:16px!important;
    line-height:30px!important;
    font-weight:600!important;
    color:#14263e!important;
    background:#fff!important;
    border:1px solid #d9e0e8!important;
    border-radius:5px!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
    touch-action:manipulation!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-select:focus,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-month:focus{
    outline:auto!important;
    box-shadow:none!important;
  }

  /* Old custom field system must never participate inside the mobile form. */
  /* v1.6.7: old mobile custom fields are no longer blanket-hidden.
     Only their native backing controls stay hidden. The restored Travel Month trigger/calendar
     must remain available. */
  .ge-ph-search-form--mobile .ge-ph-native-control{
    display:none!important;
  }
  .ge-ph-search-form--mobile .ge-ph-calendar-popover[hidden]{
    display:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-primary-fields--mobile,
  .ge-ph-search-form--mobile .ge-ph-more-fields--mobile,
  .ge-ph-search-form--mobile .ge-ph-builder-fields{
    width:100%!important;
    min-width:0!important;
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    gap:0!important;
  }
}


/* v1.6.2 — Premium closed field + REAL wide native dropdown on tablet/mobile.
   The visual card is Gate East styled. A real select/month input covers the entire card
   transparently, so tapping anywhere opens the browser's native picker from the full card width. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-native-field{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:63px!important;
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:12px!important;
    padding:10px 18px!important;
    margin:0!important;
    border:1px solid var(--ge-ph-field-border,#e1e6ee)!important;
    border-radius:var(--ge-ph-field-radius,14px)!important;
    background:rgba(255,255,255,.40)!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    isolation:isolate!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-field:hover{
    background:rgba(255,255,255,.52)!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon{
    position:relative!important;
    z-index:1!important;
    width:34px!important;
    height:34px!important;
    display:grid!important;
    place-items:center!important;
    color:#10345f!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon svg,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon i{
    width:25px!important;
    height:25px!important;
    font-size:25px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-copy{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    min-width:0!important;
    width:100%!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-label{
    display:block!important;
    margin:0 0 3px!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:700!important;
    letter-spacing:.04em!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-value{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:17px!important;
    line-height:1.25!important;
    font-weight:800!important;
    color:#14263e!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    font-size:22px!important;
    line-height:1!important;
    color:#657488!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-overlay{
    display:block!important;
    position:absolute!important;
    z-index:5!important;
    inset:0!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:inherit!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:.001!important;
    color:transparent!important;
    font-size:16px!important;
    line-height:1!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
    touch-action:manipulation!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-overlay:focus{
    outline:0!important;
    box-shadow:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-field:focus-within{
    border-color:rgba(16,52,95,.36)!important;
    box-shadow:0 0 0 2px rgba(16,52,95,.06)!important;
  }

  .ge-ph-search-form--mobile .ge-ph-primary-fields--mobile,
  .ge-ph-search-form--mobile .ge-ph-more-fields--mobile,
  .ge-ph-search-form--mobile .ge-ph-builder-fields{
    gap:8px!important;
  }
}

@media(max-width:767px){
  .ge-ph-search-form--mobile .ge-ph-mobile-native-field{
    min-height:60px!important;
    grid-template-columns:32px minmax(0,1fr) 22px!important;
    gap:10px!important;
    padding:9px 14px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon{
    width:32px!important;
    height:32px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon svg,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon i{
    width:24px!important;
    height:24px!important;
    font-size:24px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-label{
    font-size:11px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-value{
    font-size:16px!important;
  }
}


/* v1.6.3 — Wide selector experiment for tablet/mobile.
   Mobile: bottom sheet. Tablet: centered wide panel.
   Desktop remains untouched. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-native-field{
    cursor:pointer!important;
  }

  /* Underlying native controls stay in the form for submission only.
     They no longer receive the tap directly. */
  .ge-ph-search-form--mobile .ge-ph-mobile-native-overlay[data-ge-wide-selector]{
    pointer-events:none!important;
  }

  .ge-ph-compact-selector-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:99994!important;
    background:rgba(4,17,34,.30)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
    opacity:0;
    transition:opacity .16s ease;
  }

  .ge-ph-compact-selector-backdrop.is-open{
    opacity:1;
  }

  .ge-ph-compact-selector{
    position:fixed!important;
    z-index:99995!important;
    box-sizing:border-box!important;
    background:#fff!important;
    color:#14263e!important;
    border:1px solid rgba(16,52,95,.12)!important;
    box-shadow:0 26px 80px rgba(3,18,37,.30)!important;
    overflow:hidden!important;
    opacity:0;
    transform:translateY(10px) scale(.99);
    transition:opacity .16s ease,transform .16s ease;
  }

  .ge-ph-compact-selector.is-open{
    opacity:1;
    transform:none;
  }

  .ge-ph-compact-selector-head{
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:14px!important;
    padding:12px 16px!important;
    border-bottom:1px solid rgba(16,52,95,.10)!important;
    background:#fff!important;
  }

  .ge-ph-compact-selector-title{
    min-width:0!important;
    margin:0!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:800!important;
    color:#14263e!important;
  }

  .ge-ph-compact-selector-close{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#f3f5f7!important;
    color:#10345f!important;
    font-size:24px!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .ge-ph-compact-selector-body{
    max-height:min(56vh,520px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:8px!important;
    background:#fff!important;
  }

  .ge-ph-compact-selector-option{
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    min-height:50px!important;
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    margin:0!important;
    padding:10px 12px!important;
    border:0!important;
    border-radius:12px!important;
    background:transparent!important;
    color:#14263e!important;
    text-align:start!important;
    font:inherit!important;
    font-size:16px!important;
    line-height:1.35!important;
    cursor:pointer!important;
  }

  .ge-ph-compact-selector-option:hover,
  .ge-ph-compact-selector-option:focus-visible{
    background:#f4f7fa!important;
    outline:0!important;
  }

  .ge-ph-compact-selector-option.is-selected{
    background:#eef4fb!important;
    color:#10345f!important;
    font-weight:800!important;
  }

  .ge-ph-compact-selector-check{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    font-size:18px!important;
    color:#10345f!important;
    opacity:0!important;
  }

  .ge-ph-compact-selector-option.is-selected .ge-ph-compact-selector-check{
    opacity:1!important;
  }

  .ge-ph-compact-selector-month-wrap{
    padding:18px!important;
  }

  .ge-ph-compact-selector-month{
    display:block!important;
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid #d9e0e8!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#14263e!important;
    font-size:17px!important;
    font-weight:700!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
  }

  .ge-ph-compact-selector-month-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    padding:0 18px 18px!important;
  }

  .ge-ph-compact-selector-month-actions button{
    min-height:46px!important;
    border:0!important;
    border-radius:12px!important;
    font:inherit!important;
    font-weight:800!important;
    cursor:pointer!important;
  }

  .ge-ph-compact-selector-clear{
    background:#f3f5f7!important;
    color:#14263e!important;
  }

  .ge-ph-compact-selector-apply{
    background:#10345f!important;
    color:#fff!important;
  }

  /* Tablet */
  @media(min-width:768px){
    .ge-ph-compact-selector{
      left:50%!important;
      top:50%!important;
      width:min(720px,calc(100vw - 56px))!important;
      max-height:min(72vh,620px)!important;
      border-radius:22px!important;
      transform:translate(-50%,calc(-50% + 10px)) scale(.99);
    }
    .ge-ph-compact-selector.is-open{
      transform:translate(-50%,-50%) scale(1);
    }
  }
}

/* Mobile bottom sheet */
@media(max-width:767px){
  .ge-ph-compact-selector{
    left:8px!important;
    right:8px!important;
    bottom:8px!important;
    width:auto!important;
    max-height:min(72vh,620px)!important;
    border-radius:24px!important;
    transform:translateY(22px);
  }

  .ge-ph-compact-selector.is-open{
    transform:translateY(0);
  }

  .ge-ph-compact-selector-body{
    max-height:min(56vh,480px)!important;
  }

  .ge-ph-compact-selector-option{
    min-height:52px!important;
    font-size:17px!important;
  }
}


/* v1.6.4 — icon polish + direct month picker */
@media(max-width:1024px){
  /* Direct Travel Month picker: exactly like before the selector-sheet experiment. */
  .ge-ph-search-form--mobile .ge-ph-mobile-native-month-overlay[data-ge-direct-month="1"]{
    pointer-events:auto!important;
  }

  /* Elementor icon sizing. */
  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon i,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon svg{
    display:block!important;
    width:24px!important;
    height:24px!important;
    font-size:24px!important;
    line-height:1!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron{
    display:grid!important;
    place-items:center!important;
    width:22px!important;
    height:22px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron i,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron svg{
    display:block!important;
    width:13px!important;
    height:13px!important;
    font-size:13px!important;
    line-height:1!important;
    transition:transform .18s ease!important;
  }

  .ge-ph-more-toggle-icon,
  .ge-ph-mobile-summary-icon{
    display:grid!important;
    place-items:center!important;
    flex:0 0 auto!important;
  }

  .ge-ph-more-toggle-icon i,
  .ge-ph-more-toggle-icon svg{
    width:19px!important;
    height:19px!important;
    font-size:19px!important;
    line-height:1!important;
  }

  .ge-ph-more-toggle-chevron{
    display:grid!important;
    place-items:center!important;
    margin-inline-start:auto!important;
  }

  .ge-ph-more-toggle-chevron i,
  .ge-ph-more-toggle-chevron svg{
    width:13px!important;
    height:13px!important;
    font-size:13px!important;
    line-height:1!important;
    transition:transform .18s ease!important;
  }

  .ge-ph-more-toggle[aria-expanded="true"] .ge-ph-more-toggle-chevron{
    transform:rotate(180deg)!important;
  }

  .ge-ph-mobile-chevron{
    display:grid!important;
    place-items:center!important;
  }

  .ge-ph-mobile-chevron i,
  .ge-ph-mobile-chevron svg{
    width:14px!important;
    height:14px!important;
    font-size:14px!important;
    line-height:1!important;
  }
}

@media(min-width:1025px){
  .ge-ph-field-icon i,
  .ge-ph-field-icon svg{
    display:block!important;
    width:21px!important;
    height:21px!important;
    font-size:21px!important;
    line-height:1!important;
  }

  .ge-ph-field-chevron{
    display:grid!important;
    place-items:center!important;
    width:18px!important;
    height:18px!important;
  }

  .ge-ph-field-chevron i,
  .ge-ph-field-chevron svg{
    width:11px!important;
    height:11px!important;
    font-size:11px!important;
    line-height:1!important;
  }

  .ge-ph-field.is-open .ge-ph-field-chevron{
    transform:rotate(180deg)!important;
  }

  .ge-ph-more-filters>summary .ge-ph-more-toggle-icon{
    display:grid!important;
    place-items:center!important;
  }

  .ge-ph-more-filters>summary .ge-ph-more-toggle-icon i,
  .ge-ph-more-filters>summary .ge-ph-more-toggle-icon svg{
    width:17px!important;
    height:17px!important;
    font-size:17px!important;
    line-height:1!important;
  }

  .ge-ph-more-summary-chevron{
    display:grid!important;
    place-items:center!important;
    margin-inline-start:4px!important;
  }

  .ge-ph-more-summary-chevron i,
  .ge-ph-more-summary-chevron svg{
    width:11px!important;
    height:11px!important;
    font-size:11px!important;
    line-height:1!important;
    transition:transform .18s ease!important;
  }

  .ge-ph-more-filters[open]>summary .ge-ph-more-summary-chevron{
    transform:rotate(180deg)!important;
  }
}


/* v1.6.6 — Reference mobile style + exact v1.6.0 calendar behavior.
   Keep the newer wide selector sheets for non-date fields. */
@media(max-width:1024px){
  /* Reference closed-card visual from the approved screenshot. */
  .ge-ph-search-form--mobile .ge-ph-mobile-native-field,
  .ge-ph-search-form--mobile .ge-ph-field--date{
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:63px!important;
    margin:0!important;
    padding:10px 18px!important;
    border:1px solid #dfe5ed!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.72)!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-field{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:12px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-icon{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    color:#050505!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon i,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-icon svg,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-icon i,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-icon svg{
    display:block!important;
    width:27px!important;
    height:27px!important;
    font-size:27px!important;
    line-height:1!important;
    color:currentColor!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-label,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-label{
    display:block!important;
    margin:0 0 3px!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.12!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-value,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-value{
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:18px!important;
    line-height:1.22!important;
    font-weight:800!important;
    color:#14263e!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-chevron{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    color:#050505!important;
    flex:0 0 24px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron i,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-chevron svg,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-chevron i,
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-chevron svg{
    width:13px!important;
    height:13px!important;
    font-size:13px!important;
    line-height:1!important;
  }

  /* Date field is the original custom field, not the newer native/mobile sheet field. */
  .ge-ph-search-form--mobile .ge-ph-field--date{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    overflow:visible!important;
  }

  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-trigger{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#14263e!important;
    text-align:inherit!important;
    cursor:pointer!important;
    pointer-events:auto!important;
  }

  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-copy{
    display:block!important;
    min-width:0!important;
    width:100%!important;
  }

  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-native-control{
    display:none!important;
  }

  /* The calendar is portaled to body. Do not let later mobile rules hide it. */
  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:99995!important;
  }

  /* Exact v1.6.0 calendar proportions. */
  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    width:min(370px,calc(100vw - 28px))!important;
    max-width:min(370px,calc(100vw - 28px))!important;
    padding:14px!important;
    border-radius:var(--ge-ph-popover-radius,18px)!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-head{
    display:grid!important;
    grid-template-columns:42px 1fr 42px!important;
    align-items:center!important;
    gap:8px!important;
    margin-bottom:12px!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-head strong{
    text-align:center!important;
    font-size:17px!important;
    line-height:1.2!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-nav{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    border:0!important;
    border-radius:10px!important;
    background:rgba(16,52,95,.07)!important;
    color:#10345f!important;
    font-size:25px!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-months{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-month{
    min-height:43px!important;
    border:1px solid transparent!important;
    border-radius:10px!important;
    background:rgba(16,52,95,.035)!important;
    color:inherit!important;
    font:inherit!important;
    font-size:13px!important;
    font-weight:700!important;
    cursor:pointer!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-month:hover:not(:disabled){
    border-color:color-mix(in srgb,var(--ge-ph-popover-accent,#c35b13) 45%,transparent)!important;
    background:rgba(16,52,95,.06)!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-month.is-selected{
    background:var(--ge-ph-popover-accent,#c35b13)!important;
    color:#fff!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-month.is-current:not(.is-selected){
    border-color:var(--ge-ph-popover-accent,#c35b13)!important;
    color:var(--ge-ph-popover-accent,#c35b13)!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-month:disabled{
    opacity:.32!important;
    cursor:not-allowed!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-top:12px!important;
    padding-top:10px!important;
    border-top:1px solid rgba(16,52,95,.1)!important;
  }

  .ge-ph-calendar-popover .ge-ph-calendar-actions button{
    border:0!important;
    background:transparent!important;
    color:#0b66cc!important;
    font:inherit!important;
    font-size:13px!important;
    font-weight:750!important;
    cursor:pointer!important;
    padding:6px 4px!important;
  }

  /* More Filters reference styling from the screenshot. */
  .ge-ph-more-toggle{
    border-color:#efb48e!important;
    background:#fff3e9!important;
    color:#c65a10!important;
  }

  .ge-ph-more-toggle-icon{
    color:#050505!important;
  }

  .ge-ph-more-toggle-chevron{
    color:#050505!important;
  }
}

@media(max-width:767px){
  .ge-ph-search-form--mobile .ge-ph-mobile-native-field,
  .ge-ph-search-form--mobile .ge-ph-field--date{
    min-height:60px!important;
    padding:9px 14px!important;
    border-radius:20px!important;
  }

  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    width:min(370px,calc(100vw - 24px))!important;
    max-width:min(370px,calc(100vw - 24px))!important;
  }
}


/* v1.6.7 — DATE ONLY hardening. No other filter is changed. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date{
    display:grid!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    overflow:visible!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date > .ge-ph-field-icon{
    display:grid!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date > .ge-ph-field-trigger{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    position:relative!important;
    z-index:2!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-copy,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-label,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-value,
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-field-chevron{
    visibility:visible!important;
    opacity:1!important;
  }

  .ge-ph-search-form--mobile .ge-ph-field--date .ge-ph-calendar-popover[hidden]{
    display:none!important;
  }

  .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal:not([hidden]){
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* v1.6.8 — Date only: solid Elementor calendar icon + reliable visual state. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile [data-ge-date-calendar-field="1"] > .ge-ph-field-icon{
    color:#050505!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-form--mobile [data-ge-date-calendar-field="1"] > .ge-ph-field-icon i,
  .ge-ph-search-form--mobile [data-ge-date-calendar-field="1"] > .ge-ph-field-icon svg,
  .ge-ph-search-form--mobile [data-ge-date-calendar-field="1"] > .ge-ph-field-icon svg *{
    color:#050505!important;
    fill:#050505!important;
    stroke:#050505!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-form--mobile [data-ge-date-calendar-field="1"] > .ge-ph-field-trigger{
    cursor:pointer!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .ge-ph-search-form--mobile [data-ge-date-calendar-field="1"].is-open .ge-ph-field-chevron{
    transform:rotate(180deg)!important;
  }
}


/* v1.6.9 — DATE CALENDAR ONLY: keep the calendar above the portaled mobile/tablet search drawer.
   Search drawer is 99999. Calendar gets a narrowly scoped higher layer. */
@media(max-width:1024px){
  body > .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal:not([hidden]){
    z-index:100010!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* v1.7.0 — Travel Month event rebuild, mobile/tablet only. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  [data-ge-date-calendar-field="1"]{
    cursor:pointer!important;
    touch-action:manipulation!important;
    pointer-events:auto!important;
  }

  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  [data-ge-date-calendar-field="1"] > *{
    pointer-events:none!important;
  }

  /* The trigger itself does not need to receive the pointer; the whole card is delegated. */
  .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal
  [data-ge-date-calendar-field="1"] > .ge-ph-field-trigger{
    pointer-events:none!important;
  }

  body > .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal:not([hidden]){
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    z-index:100050!important;
  }

  body > .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal:not([hidden]) *{
    pointer-events:auto!important;
  }
}


/* v1.7.1 — Tablet/mobile Travel Month uses the real OS/browser native month picker.
   No custom date popover, no portal and no date JS opening logic. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-native-date{
    position:relative!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
    overflow:visible!important;
  }

  .ge-ph-search-form--mobile
  .ge-ph-mobile-native-date > .ge-ph-mobile-native-month-direct{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:20!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:inherit!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:.001!important;
    color:transparent!important;
    font-size:16px!important;
    line-height:1!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
    touch-action:manipulation!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-native-date > .ge-ph-mobile-native-icon,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-date > .ge-ph-mobile-native-copy,
  .ge-ph-search-form--mobile .ge-ph-mobile-native-date > .ge-ph-mobile-native-chevron{
    pointer-events:none!important;
  }

  /* Old custom date calendar, if any stale markup remains from cache, never participates in compact view. */
  .ge-ph-search-form--mobile .ge-ph-field--date,
  body > .ge-ph-calendar-popover.ge-ph-popover-portal.ge-ph-popover-compact-portal{
    /* Do not affect desktop; this block only exists under max-width 1024. */
  }
}


/* v1.7.2 DIAGNOSTIC — mobile/tablet date is a plain visible native month input.
   This intentionally avoids overlay, opacity, absolute positioning, z-index and JS opening. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic{
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:72px!important;
    padding:10px 16px!important;
    margin:0!important;
    border:1px solid #dfe5ed!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.78)!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    cursor:default!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic > .ge-ph-mobile-native-icon{
    width:38px!important;
    height:38px!important;
    display:grid!important;
    place-items:center!important;
    color:#050505!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic-content{
    width:100%!important;
    min-width:0!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic .ge-ph-mobile-native-label{
    display:block!important;
    margin:0 0 4px!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.1!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:38px!important;
    min-height:38px!important;
    margin:0!important;
    padding:0 10px!important;
    border:1px solid #cfd8e3!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#14263e!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    font-size:16px!important;
    line-height:38px!important;
    font-weight:700!important;
    -webkit-appearance:auto!important;
    appearance:auto!important;
    touch-action:manipulation!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input:focus{
    outline:auto!important;
    box-shadow:none!important;
  }

  /* Ensure no legacy overlay/date picker styling can hijack this diagnostic field. */
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic .ge-ph-mobile-native-overlay,
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic .ge-ph-field-trigger,
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic .ge-ph-calendar-popover{
    display:none!important;
  }
}

@media(max-width:767px){
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic{
    min-height:68px!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:10px!important;
    padding:9px 14px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input{
    height:36px!important;
    min-height:36px!important;
    line-height:36px!important;
  }
}


/* v1.7.3 — PURE NATIVE mobile/tablet month input.
   The OS/browser owns the picker. We style only layout/typography, not the native control behavior. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic{
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:63px!important;
    padding:10px 18px!important;
    margin:0!important;
    border:1px solid #dfe5ed!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.72)!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic-content{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic .ge-ph-mobile-native-label{
    display:block!important;
    margin:0 0 2px!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.1!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input{
    display:block!important;
    position:static!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    color:#14263e!important;
    font:inherit!important;
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:800!important;
    cursor:pointer!important;
    touch-action:manipulation!important;

    /* IMPORTANT: deliberately do not force -webkit-appearance/appearance.
       Safari/Chrome/Android are allowed to render their own native month control. */
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input:focus{
    outline:0!important;
    box-shadow:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-calendar-picker-indicator{
    cursor:pointer!important;
  }
}

@media(max-width:767px){
  .ge-ph-search-form--mobile .ge-ph-mobile-date-diagnostic{
    min-height:60px!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:10px!important;
    padding:9px 14px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input{
    min-height:26px!important;
    font-size:17px!important;
  }
}


/* v1.7.4 — Premium closed Travel Month card over a REAL native month input.
   The native input remains the actual control; only its rendered text/icon are visually hidden. */
@media(max-width:1024px){
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-card{
    position:relative!important;
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 24px!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:63px!important;
    margin:0!important;
    padding:10px 18px!important;
    border:1px solid #dfe5ed!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.72)!important;
    box-shadow:none!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    cursor:pointer!important;
    text-decoration:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-card > .ge-ph-mobile-native-icon{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    color:#050505!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-card .ge-ph-mobile-native-copy{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-card .ge-ph-mobile-native-label{
    display:block!important;
    margin:0 0 3px!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.12!important;
    font-weight:700!important;
    letter-spacing:.035em!important;
    text-transform:uppercase!important;
    color:#7b8797!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-value-wrap{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:25px!important;
    pointer-events:auto!important;
  }

  /* The input stays real and focusable/clickable. We only hide the browser-drawn closed value. */
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:25px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
    caret-color:transparent!important;
    font-size:16px!important;
    cursor:pointer!important;
    touch-action:manipulation!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-datetime-edit,
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-datetime-edit-fields-wrapper,
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-datetime-edit-text,
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-datetime-edit-month-field,
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-datetime-edit-year-field{
    color:transparent!important;
    -webkit-text-fill-color:transparent!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-input::-webkit-calendar-picker-indicator{
    opacity:0!important;
    cursor:pointer!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-display{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:18px!important;
    line-height:1.22!important;
    font-weight:800!important;
    color:#14263e!important;
    pointer-events:none!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-card > .ge-ph-mobile-native-chevron{
    display:grid!important;
    place-items:center!important;
    width:24px!important;
    height:24px!important;
    color:#050505!important;
    pointer-events:none!important;
  }
}

@media(max-width:767px){
  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-card{
    min-height:60px!important;
    grid-template-columns:34px minmax(0,1fr) 22px!important;
    gap:10px!important;
    padding:9px 14px!important;
  }

  .ge-ph-search-form--mobile .ge-ph-mobile-date-native-display{
    font-size:17px!important;
  }
}


/* v1.7.6 — Featured card media radius + hover clipping fix.
   If image radius controls are untouched, media follows Card Radius automatically (-1px for the border). */
.ge-ph-trip-row{
  /* v1.7.7: exact inner breathing room for card hover movement. */
  padding-top:5px!important;
  padding-bottom:5px!important;
}

.ge-ph-trip-card{
  isolation:isolate!important;
}

.ge-ph-trip-media-wrap,
.ge-ph-trip-media{
  overflow:hidden!important;

  /* Logical outer corners: correct automatically for LTR and RTL. */
  border-start-start-radius:var(
    --ge-ph-image-radius-normal,
    max(0px, calc(var(--ge-ph-card-radius,22px) - 1px))
  )!important;
  border-end-start-radius:var(
    --ge-ph-image-radius-normal,
    max(0px, calc(var(--ge-ph-card-radius,22px) - 1px))
  )!important;

  /* Inner edge stays square where image meets text. */
  border-start-end-radius:0!important;
  border-end-end-radius:0!important;

  transition:border-radius .22s ease!important;
  transform:translateZ(0);
  -webkit-mask-image:-webkit-radial-gradient(white,black);
}

.ge-ph-trip-image,
.ge-ph-trip-image-placeholder{
  border-start-start-radius:inherit!important;
  border-end-start-radius:inherit!important;
  border-start-end-radius:0!important;
  border-end-end-radius:0!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}

.ge-ph-trip-card:hover .ge-ph-trip-media-wrap,
.ge-ph-trip-card:hover .ge-ph-trip-media{
  border-start-start-radius:var(
    --ge-ph-image-radius-hover,
    var(
      --ge-ph-image-radius-normal,
      max(0px, calc(var(--ge-ph-card-radius,22px) - 1px))
    )
  )!important;
  border-end-start-radius:var(
    --ge-ph-image-radius-hover,
    var(
      --ge-ph-image-radius-normal,
      max(0px, calc(var(--ge-ph-card-radius,22px) - 1px))
    )
  )!important;
}

.ge-ph-trip-card:hover .ge-ph-trip-image,
.ge-ph-trip-card:hover .ge-ph-trip-image-placeholder{
  border-start-start-radius:inherit!important;
  border-end-start-radius:inherit!important;
}

/* Compact Search-First cards cap their card radius at 18px.
   When the user has NOT set an explicit image radius, make the image follow that compact outer radius too. */
@media(min-width:1025px){
  .ge-ph-layout-search-first.ge-ph-compact-featured .ge-ph-trip-media-wrap,
  .ge-ph-layout-search-first.ge-ph-compact-featured .ge-ph-trip-media{
    border-start-start-radius:var(
      --ge-ph-image-radius-normal,
      max(0px, calc(min(var(--ge-ph-card-radius,22px),18px) - 1px))
    )!important;
    border-end-start-radius:var(
      --ge-ph-image-radius-normal,
      max(0px, calc(min(var(--ge-ph-card-radius,22px),18px) - 1px))
    )!important;
  }

  .ge-ph-layout-search-first.ge-ph-compact-featured .ge-ph-trip-card:hover .ge-ph-trip-media-wrap,
  .ge-ph-layout-search-first.ge-ph-compact-featured .ge-ph-trip-card:hover .ge-ph-trip-media{
    border-start-start-radius:var(
      --ge-ph-image-radius-hover,
      var(
        --ge-ph-image-radius-normal,
        max(0px, calc(min(var(--ge-ph-card-radius,22px),18px) - 1px))
      )
    )!important;
    border-end-start-radius:var(
      --ge-ph-image-radius-hover,
      var(
        --ge-ph-image-radius-normal,
        max(0px, calc(min(var(--ge-ph-card-radius,22px),18px) - 1px))
      )
    )!important;
  }
}


/* v1.7.8 — fallback only; the authoritative 5px inset is now set in the widget's ID-scoped rule. */
.ge-ph-featured .ge-ph-trip-row{
  padding-block:5px!important;
  box-sizing:border-box!important;
}
.ge-ph-featured .ge-ph-trip-card{
  margin-block:0!important;
}


/* v1.7.9 — Mobile/Tablet collapsed Search icon must remain clearly visible.
   This is intentionally isolated from the desktop search accent setting. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon{
    color:#050505!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon i{
    color:#050505!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg{
    color:#050505!important;
    stroke:#050505!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg path,
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg circle,
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg line{
    stroke:#050505!important;
    opacity:1!important;
  }
}


/* v1.8.0 — Mobile/Tablet Search Summary icon: true SOLID black.
   Elementor Font Awesome solid icons are fill-based. An old generic hero rule used fill:none,
   which made the search icon look like a pale outline. Override it only for this icon. */
@media(max-width:1024px){
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon{
    color:#050505!important;
    opacity:1!important;
    filter:none!important;
    -webkit-filter:none!important;
  }

  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon i{
    color:#050505!important;
    opacity:1!important;
    filter:none!important;
    -webkit-filter:none!important;
  }

  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg,
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg *,
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg path{
    color:#050505!important;
    fill:#050505!important;
    stroke:#050505!important;
    opacity:1!important;
    filter:none!important;
    -webkit-filter:none!important;
  }

  /* For Elementor / Font Awesome solid search SVG specifically, use filled geometry,
     not the old outline stroke treatment. */
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg.e-font-icon-svg,
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg[class*="e-fas-"],
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg.e-font-icon-svg path,
  .ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon svg[class*="e-fas-"] path{
    fill:#050505!important;
    stroke:none!important;
    stroke-width:0!important;
  }
}


/* v1.8.1 — Search submit button colors, isolated from collapsed search summary icon. */
.ge-ph-search-button{
  background:var(--ge-ph-search-btn-bg,#10345f)!important;
  color:#fff!important;
}

.ge-ph-search-button:hover,
.ge-ph-search-button:focus-visible,
.ge-ph-search-button:active{
  background:var(--ge-ph-search-btn-hover-bg,#c65a10)!important;
  color:#fff!important;
  filter:none!important;
}

.ge-ph-search-button i{
  color:#fff!important;
  opacity:1!important;
  filter:none!important;
}

.ge-ph-search-button svg,
.ge-ph-search-button svg *,
.ge-ph-search-button svg path{
  color:#fff!important;
  fill:#fff!important;
  stroke:#fff!important;
  opacity:1!important;
  filter:none!important;
}

.ge-ph-search-button svg.e-font-icon-svg,
.ge-ph-search-button svg[class*="e-fas-"],
.ge-ph-search-button svg.e-font-icon-svg path,
.ge-ph-search-button svg[class*="e-fas-"] path{
  fill:#fff!important;
  stroke:none!important;
  stroke-width:0!important;
}


/* v1.8.2 — Tablet Featured bottom anchoring.
   Extra free space goes between Search and Featured; cards sit 40px above hero bottom. */
@media(min-width:768px) and (max-width:1024px){
  .ge-ph-layout-search-first .ge-ph-inner{
    grid-template-rows:auto auto 1fr!important;
    align-content:stretch!important;
    padding-bottom:var(--ge-ph-featured-bottom-gap,40px)!important;
  }
  .ge-ph-layout-search-first .ge-ph-featured{
    align-self:end!important;
    margin-bottom:0!important;
  }
}

@media(min-width:1025px) and (max-width:1366px) and (min-height:800px) and (max-height:1024px) and (orientation:landscape){
  .ge-ph-layout-search-first .ge-ph-inner{
    grid-template-rows:auto auto 1fr!important;
    align-content:stretch!important;
    padding-bottom:var(--ge-ph-featured-bottom-gap,40px)!important;
  }
  .ge-ph-layout-search-first .ge-ph-featured{
    align-self:end!important;
    margin-bottom:0!important;
  }
}


/* v1.8.3 — desktop filter icons dark gray */
@media(min-width:1025px){
  .ge-ph-search-shell--desktop .ge-ph-field-icon,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon,
  .ge-ph-search-shell--desktop .ge-ph-field-icon i,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon i{
    color:#4B5563!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-shell--desktop .ge-ph-field-icon svg,
  .ge-ph-search-shell--desktop .ge-ph-field-icon svg *,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon svg,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon svg *{
    color:#4B5563!important;
    fill:#4B5563!important;
    stroke:#4B5563!important;
    opacity:1!important;
    filter:none!important;
  }

  .ge-ph-search-shell--desktop .ge-ph-field-icon svg.e-font-icon-svg,
  .ge-ph-search-shell--desktop .ge-ph-field-icon svg[class*="e-fas-"],
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon svg.e-font-icon-svg,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon svg[class*="e-fas-"],
  .ge-ph-search-shell--desktop .ge-ph-field-icon svg.e-font-icon-svg path,
  .ge-ph-search-shell--desktop .ge-ph-field-icon svg[class*="e-fas-"] path,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon svg.e-font-icon-svg path,
  .ge-ph-search-shell--desktop .ge-ph-more-toggle-icon svg[class*="e-fas-"] path{
    fill:#4B5563!important;
    stroke:none!important;
    stroke-width:0!important;
  }
}


/* v1.8.4 — Desktop dropdown intrinsic width only.
   Tablet/mobile selectors keep their existing width behavior. */
@media(min-width:1025px){
  .ge-ph-field-popover:not(.ge-ph-calendar-popover){
    padding:9px 0!important;
    overflow-x:auto!important;
  }

  .ge-ph-field-popover:not(.ge-ph-calendar-popover) .ge-ph-popover-option{
    width:100%!important;
    min-width:max-content!important;
    padding:9px 10px!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}


/* v1.8.5 — taxonomy trip counts + exact desktop dropdown spacing. */
@media(min-width:1025px){
  .ge-ph-taxonomy-popover{
    padding:9px 0!important;
  }

  .ge-ph-taxonomy-popover .ge-ph-popover-option{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:max-content!important;
    padding:9px 15px!important; /* normal city/type/activity: 15px left + right */
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .ge-ph-taxonomy-popover .ge-ph-popover-option.is-selected{
    padding-left:10px!important;  /* orange selected row: 10px left */
    padding-right:10px!important; /* orange selected row: 10px right */
  }

  .ge-ph-taxonomy-popover .ge-ph-popover-option-label{
    display:block!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }

  .ge-ph-taxonomy-popover .ge-ph-popover-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-width:28px!important;
    height:24px!important;
    padding:0 7px!important;
    border-radius:999px!important;
    background:rgba(16,52,95,.08)!important;
    color:#4B5563!important;
    font-size:12px!important;
    line-height:1!important;
    font-weight:800!important;
  }

  .ge-ph-taxonomy-popover .ge-ph-popover-option.is-selected .ge-ph-popover-count{
    background:rgba(255,255,255,.18)!important;
    color:#fff!important;
  }
}

/* Count badge in the existing custom mobile/tablet wide selector.
   Width/position behavior is intentionally unchanged. */
.ge-ph-compact-selector-option-label{
  min-width:0;
  flex:1 1 auto;
}

.ge-ph-compact-selector-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:30px;
  height:26px;
  padding:0 8px;
  margin-inline-start:auto;
  border-radius:999px;
  background:rgba(16,52,95,.08);
  color:#4B5563;
  font-size:12px;
  line-height:1;
  font-weight:800;
}

.ge-ph-compact-selector-option.is-selected .ge-ph-compact-selector-count{
  background:rgba(16,52,95,.14);
  color:#10345f;
}


/* v1.8.6 — Desktop taxonomy dropdown exact inset + matching radius. */
@media(min-width:1025px){
  /* Outer dropdown: 10px inner inset on both sides.
     Radius matches the orange selected row. */
  .ge-ph-taxonomy-popover,
  body > .ge-ph-taxonomy-popover.ge-ph-popover-portal{
    box-sizing:border-box!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
    padding-left:10px!important;
    padding-right:10px!important;
    border-radius:var(--ge-ph-popover-radius,18px)!important;
    overflow-x:hidden!important;
  }

  /* Normal Destination / Trip Type / Activity rows:
     15px internal left + right padding. */
  .ge-ph-taxonomy-popover .ge-ph-popover-option{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:max-content!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
    padding-left:15px!important;
    padding-right:15px!important;
    margin-left:0!important;
    margin-right:0!important;
    white-space:nowrap!important;
  }

  /* Selected orange row:
     10px internal left + right padding.
     It is already inset 10px from the dropdown edge by the parent padding. */
  .ge-ph-taxonomy-popover .ge-ph-popover-option.is-selected{
    padding-left:10px!important;
    padding-right:10px!important;
    margin-left:0!important;
    margin-right:0!important;
    border-radius:var(--ge-ph-popover-radius,18px)!important;
  }

  /* Keep label/count aligned cleanly inside the adjusted row widths. */
  .ge-ph-taxonomy-popover .ge-ph-popover-option-label{
    white-space:nowrap!important;
  }
}


/* v1.8.7 — Desktop Duration + Price dropdowns use the same spacing system as taxonomy dropdowns. */
@media(min-width:1025px){
  .ge-ph-range-popover,
  body > .ge-ph-range-popover.ge-ph-popover-portal{
    box-sizing:border-box!important;
    padding:9px 10px!important; /* 10px inset from dropdown edge */
    border-radius:var(--ge-ph-popover-radius,18px)!important;
    overflow-x:hidden!important;
  }

  /* Normal range choices: 15px left + right. */
  .ge-ph-range-popover .ge-ph-popover-option{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:max-content!important;
    padding:9px 15px!important;
    margin-inline:0!important;
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Selected orange choice: 10px left + right, matching taxonomy dropdowns. */
  .ge-ph-range-popover .ge-ph-popover-option.is-selected{
    padding-left:10px!important;
    padding-right:10px!important;
    margin-inline:0!important;
    border-radius:var(--ge-ph-popover-radius,18px)!important;
  }
}


/* v1.8.8 — Mobile/Tablet taxonomy count stays on the SAME row as the label.
   Desktop dropdowns are intentionally untouched. */
@media(max-width:1024px){
  .ge-ph-compact-selector .ge-ph-compact-selector-option{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr) auto!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:0!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .ge-ph-compact-selector .ge-ph-compact-selector-check{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:center!important;
    margin:0!important;
  }

  .ge-ph-compact-selector .ge-ph-compact-selector-option-label{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    align-self:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.25!important;
  }

  .ge-ph-compact-selector .ge-ph-compact-selector-count{
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    margin-inline-start:0!important;
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }

  /* If counts are disabled, label still fills the option cleanly. */
  .ge-ph-compact-selector .ge-ph-compact-selector-option:not(:has(.ge-ph-compact-selector-count)){
    grid-template-columns:32px minmax(0,1fr)!important;
  }
}

/* :has() fallback for older browsers: JS adds this class when a count exists. */
@media(max-width:1024px){
  .ge-ph-compact-selector .ge-ph-compact-selector-option.ge-ph-has-count{
    grid-template-columns:32px minmax(0,1fr) auto!important;
  }
}


/* v1.8.9 — Accessibility Pass 1 */

/* Screen-reader-only utility: semantic H2 remains available when the visual Featured title is OFF. */
.ge-ph-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* Search field labels: stronger contrast on white / translucent white surfaces.
   #526071 provides a comfortable dark-gray contrast while retaining hierarchy below the navy value text. */
.ge-ph-field-label,
.ge-ph-mobile-native-label{
  color:#526071!important;
  opacity:1!important;
}

/* More Filters label/icon in inactive state also needs readable contrast. */
.ge-ph-more-toggle{
  color:#24364d!important;
}
.ge-ph-more-toggle-icon{
  color:#526071!important;
  opacity:1!important;
}

/* Preserve the orange active/open state. */
.ge-ph-more-filters[open] > summary,
.ge-ph-more-toggle[aria-expanded="true"]{
  color:var(--ge-ph-popover-accent,#C35B13)!important;
}

/* Keyboard focus: clear, high-contrast focus indicator without changing mouse layout. */
.ge-ph-field-trigger:focus-visible,
.ge-ph-more-filters > summary:focus-visible,
.ge-ph-more-toggle:focus-visible,
.ge-ph-search-button:focus-visible,
.ge-ph-mobile-summary:focus-visible,
.ge-ph-popover-option:focus-visible,
.ge-ph-calendar-nav:focus-visible,
.ge-ph-calendar-month:focus-visible,
.ge-ph-wishlist-button:focus-visible{
  outline:3px solid #0B5FFF!important;
  outline-offset:3px!important;
  box-shadow:none!important;
}

/* H2 is semantic now; remove browser default heading margins so visual design stays unchanged. */
.ge-ph-featured-label{
  margin:0!important;
}


/* v1.8.41 — mobile summary chevron uses logical end alignment + RTL-safe inline padding. */
.ge-ph-search-shell--mobile .ge-ph-mobile-summary{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  text-align:start!important;
  padding-inline:20px 24px!important;
}
.ge-ph-search-shell--mobile .ge-ph-mobile-summary-icon{
  flex:0 0 auto!important;
}
.ge-ph-search-shell--mobile .ge-ph-mobile-summary > span:nth-child(2){
  flex:1 1 auto!important;
  min-width:0!important;
}
.ge-ph-search-shell--mobile .ge-ph-mobile-chevron{
  flex:0 0 auto!important;
  display:grid!important;
  place-items:center!important;
  margin-inline-start:auto!important;
  padding-inline-start:12px!important;
}


/* v1.8.47 — TRUE TABLET VIEWPORT CENTER PORTAL (768–1024 only).
 * The open tablet search is moved to <body>, so these rules intentionally
 * do not depend on the hero wrapper / Elementor container hierarchy. */
@media (min-width:768px) and (max-width:1024px){
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open{
    position:fixed!important;
    inset:auto!important;
    top:50%!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    width:min(90vw,760px)!important;
    max-width:760px!important;
    height:auto!important;
    max-height:82vh!important;
    max-height:82dvh!important;
    margin:0!important;
    padding:0!important;
    transform:translate(-50%,-50%)!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    z-index:2147483000!important;
    background:rgba(255,255,255,.99)!important;
    border:1px solid rgba(16,52,95,.13)!important;
    border-radius:22px!important;
    box-shadow:0 24px 80px rgba(0,0,0,.28)!important;
    box-sizing:border-box!important;
  }
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open .ge-ph-mobile-summary{
    position:sticky!important;
    top:0!important;
    flex:0 0 auto!important;
    width:100%!important;
    background:rgba(255,255,255,.99)!important;
    z-index:4!important;
    border-radius:21px 21px 0 0!important;
  }
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open .ge-ph-mobile-form-wrap{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:calc(82dvh - 74px)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:10px 12px 14px!important;
    box-sizing:border-box!important;
  }
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open .ge-ph-search-form--mobile,
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open .ge-ph-builder-fields,
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open .ge-ph-primary-fields--mobile,
  body > .ge-ph-search-shell--mobile.ge-ph-mobile-drawer-portal.ge-ph-tablet-center-portal.is-open .ge-ph-more-fields--mobile{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
}


/* v1.8.48 — zero page-level horizontal overflow from this widget.
 * The trip row may still swipe horizontally inside itself; the document never does. */
.elementor-widget-ge-performance-home-hero,
.elementor-widget-ge-performance-home-hero > .elementor-widget-container{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
.ge-ph-hero,
.ge-ph-hero .ge-ph-inner,
.ge-ph-hero .ge-ph-copy,
.ge-ph-hero .ge-ph-search-area,
.ge-ph-hero .ge-ph-featured{
  min-width:0!important;
  max-width:100%!important;
}

/* v1.8.48 — tablet hero uses the real remaining viewport height, not a blind 100vh
 * added below the site header. JS resolves --ge-ph-tablet-resolved-height. */
@media (min-width:768px) and (max-width:1024px){
  .ge-ph-hero.ge-ph-layout-search-first.ge-ph-manual-xyz{
    min-height:var(--ge-ph-tablet-resolved-height,calc(100svh - 1px))!important;
    height:auto!important;
    overflow-x:clip!important;
  }
}


/* v1.8.49 — FULL-BLEED HERO + PAGE-SAFE X AXIS.
 * Restore the viewport-wide hero on every resolution without letting the document
 * become horizontally scrollable. JS adds the page class only when this widget exists. */
html.ge-ph-page-no-x-overflow,
body.ge-ph-page-no-x-overflow{
  overflow-x:clip!important;
  max-width:100%!important;
}
@supports not (overflow:clip){
  html.ge-ph-page-no-x-overflow,
  body.ge-ph-page-no-x-overflow{overflow-x:hidden!important}
}
.elementor-widget-ge-performance-home-hero,
.elementor-widget-ge-performance-home-hero > .elementor-widget-container{
  overflow:visible!important;
  max-width:none!important;
}
.ge-ph-hero{
  max-width:100vw!important;
}
@supports (width:100dvw){
  .ge-ph-hero{max-width:100dvw!important}
}
