@import url("/Content/css/experiences-fonts.css");
/* Experiences by TZ: shared brand presentation */
.experiences-brand-logo { display:inline-block; width:132px; max-width:100%; height:auto; object-fit:contain; vertical-align:middle; }
.experiences-brand-logo--header { width:auto; height:72px; max-width:150px; }
.experiences-brand-logo--tile { background:#12558b; border-radius:12px; padding:10px; box-sizing:border-box; }
.experiences-brand-loader { display:flex; flex-direction:column; align-items:center; gap:14px; margin:20px auto; }
.experiences-brand-loader img { display:block; width:150px; max-width:70vw; height:auto; margin:0; padding:12px; background:#12558b; border-radius:16px; box-sizing:border-box; }
.experiences-brand-spinner { display:block; width:28px; height:28px; border:3px solid #d8e8f5; border-top-color:#12558b; border-radius:50%; animation:experiences-spin .9s linear infinite; }
.svg_loader_image_main .experiences-brand-loader { margin-top:18vh; }
.svg_loader_image_main .experiences-brand-loader img { width:150px; margin-top:0; }
.experiences-login-art { position:relative; width:100%; }
.experiences-login-art > .experiences-login-photo { width:100%; height:auto; display:block; object-fit:contain; }
.experiences-login-art > .experiences-login-mark { position:absolute; top:8%; right:11%; width:28%; height:auto; object-fit:contain; background:#12558b; padding:5px; border-radius:8px; box-sizing:border-box; }
@keyframes experiences-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .experiences-brand-spinner { animation:none; } }

/* Equal side padding keeps the selected price order centered beside the arrow. */
select.experience-price-order { text-align:center; text-align-last:center; padding-left:40px; padding-right:40px; }
select.experience-price-order option { text-align:center; }

/* One continuous border encloses the search icon and destination field. */
.input-group.experience-destination-search { border:1px solid #667aa7; border-radius:6px; overflow:hidden; align-items:stretch; }
.experience-destination-search .input-group-append { display:flex; }
.experience-destination-search .custom-search,
.experience-destination-search .form-control { border:0 !important; border-radius:0 !important; box-shadow:none !important; margin:0 !important; background:transparent !important; }
.experience-destination-search .custom-search { display:flex; align-items:center; height:100%; }
.experience-destination-search .form-control { min-width:0; }
.experience-destination-search:focus-within { border-color:#0050ff; box-shadow:0 0 0 2px rgba(0,80,255,.15); }

#header .logo { display:flex; align-items:center; height:100%; padding-top:0; padding-bottom:0; }
#header .menu-row { align-items:center; }

/* Keep the complete brand inside the navigation banner at every breakpoint. */
#header .logo { top:0; left:0; margin:0; height:auto; align-self:center; }
#header .logo a { display:flex; align-items:center; padding:8px 0; }
#header .logo img.experiences-brand-logo--header { display:block; width:auto; height:64px; max-width:100%; margin:0; }
#header .menu-row { min-height:80px; }
footer .experiences-brand-logo { display:block; margin:0; }

/* Match the original site font even while a font file is loading. */
.body-login, .body-registro { font-family:"Open Sans",sans-serif; }

/* Loading uses the full balloon illustration, without a blue badge. */
.experiences-brand-loader img,
.svg_loader_image_main .experiences-brand-loader img {
    width:180px; max-width:60vw; max-height:32vh; height:auto;
    object-fit:contain; padding:0; background:transparent; border-radius:0;
}

/* Align the about illustration with the opening copy, without legacy top padding. */
.about-us .image-footer { padding-top:0; margin-top:0; }
