/* Readable navigation and shared contact/calculator controls. */
.ims-header .ims-nav{min-height:118px;gap:24px}
.ims-header .ims-brand{position:relative;overflow:hidden;flex:0 0 190px;width:190px;height:110px}
.ims-header .ims-brand img{position:absolute;width:220px;height:220px;max-width:none;left:-15px;top:-45px;object-fit:contain}
.ims-header .ims-menu{font-size:16px;gap:16px;line-height:1.4}
.ims-header .ims-menu a{padding:10px 0}
.ims-header .ims-langs{font-size:15px;gap:12px}
.ims-header .ims-nav-cta{font-size:14px;padding:13px 18px}
@media(min-width:1600px){.ims-header .ims-wrap{width:min(1660px,calc(100% - 64px))}}
@media(min-width:1101px) and (max-width:1599px){.ims-header .ims-nav{display:grid;grid-template-columns:190px 1fr auto;gap:0 25px;padding-bottom:13px}.ims-header .ims-brand{grid-column:1;grid-row:1}.ims-header .ims-langs{grid-column:2;grid-row:1;justify-content:flex-end}.ims-header .ims-nav-cta{grid-column:3;grid-row:1;display:block}.ims-header .ims-menu{grid-column:1/-1;grid-row:2;justify-content:center;gap:8px 22px}.ims-header .ims-menu a{padding:8px 0}}
@media(max-width:1100px){.ims-header .ims-nav .ims-brand{width:155px;height:84px}.ims-header .ims-nav .ims-brand img{width:179px;height:179px;left:-12px;top:-37px}.ims-header .ims-menu a{font-size:16px!important}}
.ims-floating-tools{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom) + var(--ims-tools-offset,0px));z-index:900;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.ims-floating-tools summary,.ims-floating-calc{display:flex;align-items:center;gap:10px;min-height:52px;padding:13px 20px;font:inherit;font-size:16px;font-weight:700;border:1px solid #b2975b;border-radius:28px;background:#b2975b;color:#191c40;box-shadow:0 5px 20px #191c4033;cursor:pointer;list-style:none}
.ims-floating-tools summary::-webkit-details-marker{display:none}
.ims-floating-calc{background:#b2975b;color:#191c40;border-color:#b2975b}
.ims-floating-tools svg{width:22px;height:22px;fill:currentColor;flex:none}
.ims-floating-contacts{position:relative}
.ims-floating-contacts:not([open]) .ims-floating-contact-panel{display:none}
.ims-floating-contact-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:280px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 220px);overflow:auto;background:#fff;border:1px solid #dfded7;border-radius:14px;padding:8px;box-shadow:0 8px 30px #191c4030}
.ims-floating-contact-panel a{display:block;min-height:48px;padding:11px 14px;color:#191c40;font-size:16px;font-weight:600;border-bottom:1px solid #efeee9}
.ims-floating-contact-panel a:last-child{border:0}
.ims-floating-contact-panel{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:300px;padding:12px}
.ims-floating-contact-panel .ims-contact-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:48px;padding:10px;border:1px solid #dfded7;border-radius:50%;background:#fff;text-decoration:none}
.ims-floating-contact-panel .ims-contact-icon svg{width:26px;height:26px;fill:currentColor}
.ims-floating-contact-panel .ims-contact-whatsapp{color:#16823b}
.ims-floating-contact-panel .ims-contact-telegram,.ims-floating-contact-panel .ims-contact-imo{color:#087fae}
.ims-floating-contact-panel .ims-contact-icon:hover{background:#f7f5ef}
@media(max-width:600px){.ims-floating-contact-panel{width:284px;gap:7px;padding:10px}.ims-floating-contact-panel .ims-contact-icon svg{width:26px;height:26px}}
.ims-floating-contact-panel a:hover{background:#f7f5ef}
.ims-floating-contact-panel small{display:block;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.ims-calculator-dialog{margin:auto;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #b2975b;border-radius:16px;padding:26px;background:#fff;color:#191c40;box-shadow:0 20px 80px #0004;font:inherit}
.ims-calculator-dialog::backdrop{background:#11132c99}
.ims-calculator-dialog h2{font-size:26px;line-height:1.3;margin:10px 0 22px}
.ims-calculator-close{display:block;margin-left:auto;background:transparent;border:0;font:inherit;font-size:14px;min-height:44px;cursor:pointer;color:#191c40}
#ims-floating-quote{display:grid;gap:16px}
#ims-floating-quote label{display:grid;gap:6px;font-size:15px;font-weight:600}
#ims-floating-quote input,#ims-floating-quote select{width:100%;min-height:48px;padding:11px 12px;background:#fff;color:#191c40;font:inherit;border:1px solid #cbc7be;border-radius:6px}
.ims-calculator-submit,.ims-calculator-book{display:block;min-height:48px;padding:12px 18px;background:#191c40;color:#fff;border:0;border-radius:6px;font:inherit;font-weight:700;cursor:pointer;text-align:center}
.ims-calculator-submit:disabled{opacity:.65;cursor:wait}
.ims-calculator-book[hidden]{display:none}
.ims-calculator-note{font-size:13px;line-height:1.6;color:#66706d}
.ims-calculator-result{font-size:17px}
.ims-floating-tools :focus-visible,.ims-calculator-dialog :focus-visible{outline:3px solid #b2975b;outline-offset:4px}
.ims-source-content .floating-contact{display:none!important}
@media(max-width:600px){.ims-floating-tools{right:14px;bottom:calc(14px + env(safe-area-inset-bottom) + var(--ims-tools-offset,0px));gap:8px}.ims-floating-tools summary,.ims-floating-calc{font-size:13px;min-height:46px;padding:10px 14px}.ims-floating-tools svg{width:19px;height:19px}.ims-calculator-dialog{padding:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Keep mobile content within the viewport, including Safari form controls. */
@media (max-width:800px){
  .ims-body main,.ims-body .ims-source-content{min-width:0;max-width:100%}
  .ims-body .ims-wrap{width:calc(100% - 36px)}
  .ims-body :is(.ims-hero-grid,.ims-split,.ims-cta-inner,.ims-form-grid,.ims-cards,.ims-steps,.ims-footer-grid,.ims-reviews,.ims-vehicles,.ims-routes-grid)>*,
  .ims-source-content :is(.hero-grid,.split,.route-detail,.route-grid,.mini-grid,.footer-grid,.cta-inner,.request-grid)>*{min-width:0;max-width:100%}
  .ims-body :is(h1,h2,h3,p,li,label,.ims-btn,.ims-nav-cta),
  .ims-source-content :is(.button,.route-card,.details-panel){overflow-wrap:anywhere}
  .ims-body :is(img,video,iframe){max-width:100%}
  .ims-body :is(input,select,textarea){min-width:0;min-inline-size:0;max-width:100%;font-size:16px}
  .ims-phone{min-width:0;max-width:100%}
  .ims-phone select{flex:0 0 100px;width:100px}
  .ims-phone input{flex:1 1 0;width:0}
  .ims-body :is(.ims-request-form,.ims-calculator-dialog){min-width:0;max-width:100%}
  .ims-body .ims-request-form button{max-width:100%;white-space:normal}
  .ims-source-content .cta-buttons{min-width:0;max-width:100%}
  .ims-source-content :is(.hero-grid,.split,.route-detail){grid-template-columns:minmax(0,1fr)}
  .ims-body .ims-form-grid{grid-template-columns:minmax(0,1fr)}
  .ims-body .ims-hero-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .ims-body :is(.ims-section h2,.ims-cta h2){font-size:clamp(30px,9vw,42px)}
  .ims-source-content :is(h1,h2){font-size:clamp(30px,9vw,42px)}
}

/* Small gold text on light backgrounds must remain readable. */
.ims-body .ims-eyebrow:not(.ims-light),.ims-body .ims-text-link,.ims-body .ims-cards a:not(.ims-btn),.ims-body .ims-cards strong,.ims-body .ims-card-link,.ims-body .ims-hero-panel>a,.ims-body .ims-airport-panel a,.ims-body .ims-source-content .eyebrow:not(.light),.ims-body .ims-source-content .card-link,.ims-body .ims-source-content .route-card strong{color:#79602e}
.ims-body .ims-langs .current{color:#79602e}
.ims-body .ims-header .ims-menu a:hover,.ims-body .ims-header .ims-langs a:hover{color:#79602e}
