:root {
    --tr-orange: #f47b20;
    --tr-orange-light: #ff9b38;
    --tr-blue: #087ca7;
    --tr-blue-dark: #075a7d;
    --tr-green: #28a96b;
    --tr-ink: #15364a;
    --tr-muted: #667985;
    --tr-white: #ffffff;
    --tr-line: #d9e4e8;
    --tr-shadow: 0 18px 50px rgba(16, 54, 74, .13);
}

html { scroll-behavior: smooth; }
body.tropical-ride-theme { margin: 0; color: var(--tr-ink); background: #fff; font-family: Montserrat, Arial, sans-serif; }
body.tropical-ride-theme * { box-sizing: border-box; }
body.tropical-ride-theme a { text-decoration: none; }

.tr-header,
.page-template-page_home .tr-header,
.page-template-page_home-php .tr-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    height: 86px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .06) !important;
}

.admin-bar .tr-header { top: 32px; }
.tr-header > .wrap,
.tr-header-inner {
    width: 100%;
    max-width: none;
    height: 86px !important;
    padding: 0 clamp(20px, 5vw, 78px);
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.tr-logo { display: block; height: 78px; padding: 0; }
.tr-logo a { display: flex; align-items: center; height: 78px; }
.tr-logo img { display: block; width: 80px; height: 70px; object-fit: contain; mix-blend-mode: multiply; }
.tr-header .main-nav { float: none; margin-left: auto; }
.tr-header .main-nav ul { display: flex; align-items: center; gap: 27px; }
.tr-header .main-nav ul > li { float: none; height: auto; line-height: normal; padding: 0; }
.tr-header .main-nav ul > li > a {
    color: var(--tr-ink) !important;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}
.tr-header .main-nav ul > li > a:hover { color: var(--tr-orange) !important; }
.tr-menu-toggle { display: none; border: 0; background: transparent !important; color: var(--tr-blue-dark) !important; font-size: 28px; padding: 8px; }

.page-template-page_home .main,
.page-template-page_home-php .main,
.home .main { margin-top: 0 !important; padding: 0 !important; }
.home .site-title,
.page-template-page_home .site-title,
.page-template-page_home-php .site-title { display: none !important; }

.tr-home { width: 100%; overflow: hidden; background: #fff; }
.tr-hero { height: 680px; position: relative; overflow: hidden; padding-top: 86px; }
.tr-slide { position: absolute; inset: 0; background-image: var(--tr-bg); background-size: cover; background-position: center 48%; opacity: 0; transform: scale(1.04); transition: opacity 1s, transform 7s; }
.tr-slide-active { opacity: 1; transform: scale(1); }
.tr-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,47,64,.76), rgba(7,47,64,.20) 65%, rgba(7,47,64,.08)); }
.tr-hero-content { position: relative; z-index: 2; max-width: 780px; padding: 155px clamp(24px,8vw,125px); color: #fff; }
.tr-eyebrow { display: inline-block; font-size: 13px; letter-spacing: 2px; text-transform: uppercase; font-weight: 800; margin-bottom: 16px; }
.tr-hero h1 { color: #fff !important; font-size: clamp(42px,6vw,72px); line-height: 1.02; margin: 0 0 22px; padding: 0; font-weight: 800; }
.tr-hero h1 em { color: #ffc05f; font-family: Georgia, 'Times New Roman', serif; }
.tr-hero p { color: #fff; font-size: 18px; max-width: 610px; line-height: 1.65; margin: 0 0 35px; padding: 0; }
.tr-primary-btn { display: inline-block; border: 0; border-radius: 8px; background: var(--tr-orange); color: #fff !important; font-weight: 800; text-transform: uppercase; padding: 15px 22px; box-shadow: 0 8px 20px rgba(244,123,32,.25); }
.tr-primary-btn:hover { background: #dd6610; color: #fff !important; transform: translateY(-2px); }
.tr-slider-dots { position: absolute; bottom: 105px; left: 50%; z-index: 3; display: flex; gap: 8px; transform: translateX(-50%); }
.tr-dot { width: 11px; height: 11px; min-width: 0; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent !important; box-shadow: none; }
.tr-dot-active { background: var(--tr-orange) !important; border-color: var(--tr-orange); }

.tr-booking-wrap { position: relative; z-index: 5; margin: -72px auto 0; padding: 0 5%; max-width: 1450px; }
.tr-booking-card { background: #fff; border-radius: 14px; box-shadow: var(--tr-shadow); padding: 25px 26px 26px; border-top: 5px solid var(--tr-orange); }
.tr-booking-heading { display: flex; align-items: baseline; gap: 14px; margin-bottom: 16px; }
.tr-booking-heading span,
.tr-section-title > span { color: var(--tr-orange); font-size: 12px; text-transform: uppercase; letter-spacing: 1.7px; font-weight: 800; }
.tr-booking-heading h2 { color: var(--tr-blue-dark); font-size: 25px; margin: 0; padding: 0; font-weight: 700; }
.tr-booking-engine .advanced-search,
.tr-booking-engine .advanced-search.color,
.tr-booking-engine .advanced-search.grey { float: none; width: 100%; margin: 0; padding: 0; border: 0; background: transparent !important; color: var(--tr-ink); box-shadow: none; }
.tr-booking-engine .advanced-search > .wrap { display: block; width: 100%; max-width: none; }
.tr-booking-engine .advanced-search form { display: grid; grid-template-columns: 1.05fr 1fr 1fr .55fr .9fr auto; gap: 14px; align-items: end; padding: 0; }
.tr-booking-engine .advanced-search .f-row { display: contents; margin: 0; padding: 0; border: 0; box-shadow: none; }
.tr-booking-engine .advanced-search .f-row[style] { display: none !important; }
.tr-booking-engine .advanced-search .form-group,
.tr-booking-engine .advanced-search .form-group.spinner,
.tr-booking-engine .advanced-search .form-group.radios,
.tr-booking-engine .advanced-search .form-group.right { float: none; width: auto; padding: 0; margin: 0; }
.tr-booking-engine .advanced-search label { display: block; float: none; color: var(--tr-blue-dark); font-size: 10px; line-height: 1.35; letter-spacing: .5px; text-transform: uppercase; font-weight: 700; padding: 0; }
.tr-booking-engine .advanced-search input[type='text'],
.tr-booking-engine .advanced-search input[type='number'],
.tr-booking-engine .advanced-search select,
.tr-booking-engine .advanced-search div.selector { display: block; float: none; width: 100% !important; height: 48px; min-height: 48px; margin-top: 8px; padding: 13px 12px; border: 1px solid var(--tr-line) !important; border-radius: 7px; background: #f9fbfc !important; color: #526773; line-height: 20px; box-shadow: none; }
.tr-booking-engine .advanced-search div.selector span { width: 100% !important; height: 20px; padding: 0; line-height: 20px; }
.tr-booking-engine .advanced-search .form-group.spinner input { width: 100% !important; }
.tr-booking-engine .advanced-search .form-group.radios { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; margin-top: 8px; padding: 4px 7px; border: 1px solid var(--tr-line); border-radius: 7px; background: #f9fbfc; }
.tr-booking-engine .advanced-search .form-group.radios > div { float: none; display: flex; align-items: center; gap: 4px; }
.tr-booking-engine .advanced-search .form-group.radios label { line-height: 1.2; white-space: nowrap; }
.tr-booking-engine .advanced-search .radio,
.tr-booking-engine .advanced-search .radio span,
.tr-booking-engine .advanced-search .radio input { width: 18px; height: 18px; }
.tr-booking-engine .advanced-search .form-group.right .btn { width: auto; min-width: 160px; height: 48px; margin: 0; padding: 0 18px; border-radius: 8px; background: var(--tr-orange) !important; color: #fff !important; font-size: 12px; font-weight: 800; box-shadow: 0 8px 20px rgba(244,123,32,.22); }
.tr-booking-engine .advanced-search .form-group.right .btn:hover { background: #dd6610 !important; }
.tr-engine-warning { padding: 18px; border-radius: 8px; background: #fff4ec; color: #a84500; }

.tr-section { padding: 95px clamp(22px,7vw,105px); }
.tr-section-title { text-align: center; margin: 0 auto 38px; max-width: 700px; }
.tr-section-title h2 { color: var(--tr-blue-dark); font-size: clamp(31px,4vw,46px); margin: 7px 0; padding: 0; font-weight: 800; }
.tr-section-title p { color: var(--tr-muted); line-height: 1.7; padding: 0; }
.tr-fleet-grid { display: grid; grid-template-columns: 1.1fr 1fr; grid-template-rows: 250px 250px; gap: 16px; max-width: 1200px; margin: auto; }
.tr-fleet-card { position: relative; background-image: linear-gradient(0deg,rgba(7,47,64,.86),rgba(7,47,64,.05) 65%), var(--tr-card); background-size: cover; background-position: center; border-radius: 12px; overflow: hidden; display: flex; align-items: flex-end; color: #fff; }
.tr-fleet-large { grid-row: 1 / 3; }
.tr-fleet-card > div { padding: 30px; width: 100%; }
.tr-fleet-card small { color: #ffbe78; font-weight: 700; }
.tr-fleet-card h3 { color: #fff !important; margin: 5px 0 18px; padding: 0; font-size: 25px; font-weight: 700; }
.tr-fleet-card a { display: inline-block; padding: 9px 15px; border: 1px solid #fff; border-radius: 22px; color: #fff !important; text-transform: uppercase; font-size: 10px; font-weight: 800; }
.tr-fleet-card a:hover { border-color: var(--tr-orange); background: var(--tr-orange); }
.tr-peugeot { background-position: center 47%; }

.tr-benefits { padding: 90px 7%; text-align: center; background: linear-gradient(rgba(5,82,112,.86),rgba(5,82,112,.88)), url('https://images.unsplash.com/photo-1504512485720-7d83a16ee930?auto=format&fit=crop&w=2000&q=85') center/cover fixed; color: #fff; }
.tr-section-title.tr-light h2,
.tr-section-title.tr-light span { color: #fff; }
.tr-benefit-grid { display: grid; grid-template-columns: repeat(4,1fr); max-width: 1200px; margin: 0 auto 38px; }
.tr-benefit-grid article { padding: 20px 28px; border-right: 1px solid rgba(255,255,255,.25); }
.tr-benefit-grid article:last-child { border: 0; }
.tr-benefit-grid b { display: grid; place-items: center; margin: auto; width: 70px; height: 70px; border-radius: 50%; background: var(--tr-orange); color: #fff; font-size: 30px; }
.tr-benefit-grid h3 { color: #fff !important; font-size: 17px; padding: 16px 0 10px; }
.tr-benefit-grid p { color: #d8eff5; font-size: 13px; line-height: 1.65; padding: 0; }
.tr-outline-btn { display: inline-block; padding: 13px 26px; border: 2px solid #fff; border-radius: 7px; color: #fff !important; text-transform: uppercase; font-size: 12px; font-weight: 800; }
.tr-outline-btn:hover { background: #fff; color: var(--tr-blue-dark) !important; }

.tr-destinations { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 530px; }
.tr-destination-photo { background: url('https://images.unsplash.com/photo-1512813195386-6cf811ad3542?auto=format&fit=crop&w=1400&q=88') center/cover; }
.tr-destination-copy { padding: 80px clamp(30px,7vw,100px); display: flex; flex-direction: column; justify-content: center; background: #f7fbfc; }
.tr-orange { color: var(--tr-orange); }
.tr-destination-copy h2 { color: var(--tr-blue-dark); font-size: clamp(38px,5vw,61px); line-height: 1.05; margin: 8px 0 22px; padding: 0; font-weight: 800; }
.tr-destination-copy p { color: var(--tr-muted); line-height: 1.8; margin: 0 0 28px; padding: 0; }
.tr-destination-copy .tr-primary-btn { align-self: flex-start; }

.tr-home-footer { position: relative; float: left; width: 100%; padding: 60px 7% 22px; background: #073d57; color: #fff; }
.tr-footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 60px; max-width: 1200px; margin: auto; }
.tr-footer-grid img { display: block; width: 118px; height: 90px; padding: 4px; border-radius: 6px; object-fit: contain; background: #fff; }
.tr-footer-grid p { color: #bbd0da; line-height: 1.7; font-size: 13px; max-width: 440px; }
.tr-footer-grid h3 { color: #ffb35d !important; font-size: 14px; text-transform: uppercase; padding: 0; }
.tr-footer-grid > div > a { display: block; color: #d2e1e7 !important; font-size: 13px; margin: 12px 0; }
.tr-footer-grid > div > a:hover { color: #fff !important; }
.tr-copyright { max-width: 1200px; margin: 40px auto 0; border-top: 1px solid rgba(255,255,255,.13); padding-top: 20px; font-size: 11px; color: #9ab6c3; }

@media (max-width: 1100px) {
    .tr-booking-engine .advanced-search form { grid-template-columns: 1fr 1fr 1fr; }
    .tr-booking-engine .advanced-search .form-group.right .btn { width: 100%; }
}

@media (max-width: 980px) {
    .admin-bar .tr-header { top: 46px; }
    .tr-menu-toggle { display: block; }
    .tr-header .main-nav { display: none; position: absolute; top: 86px; left: 0; right: 0; width: 100%; padding: 24px; background: #fff; box-shadow: 0 15px 25px rgba(0,0,0,.1); }
    .tr-header .main-nav.tr-nav-open { display: block; }
    .tr-header .main-nav ul { flex-direction: column; gap: 20px; }
    .tr-fleet-grid { grid-template-columns: 1fr; grid-template-rows: 330px 330px 330px; }
    .tr-fleet-large { grid-row: auto; }
    .tr-benefit-grid { grid-template-columns: 1fr 1fr; }
    .tr-benefit-grid article:nth-child(2) { border-right: 0; }
    .tr-destinations { grid-template-columns: 1fr; }
    .tr-destination-photo { min-height: 430px; }
}

/* Vehicle photo gallery */
.tr-gallery-card { cursor: pointer; }
.tr-gallery-open { position:absolute; top:18px; right:18px; z-index:3; width:42px; height:42px; border:0; border-radius:50%; background:#fff; color:#075985; font-size:26px; line-height:1; cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.25); }
.tr-gallery-card > div { position:relative; }
.tr-gallery-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; background:rgba(0,25,45,.78); padding:24px; }
.tr-gallery-modal[hidden] { display:none; }
.tr-gallery-image { max-width:min(88vw,760px); max-height:82vh; width:auto; height:auto; object-fit:contain; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.35); }
.tr-gallery-close,.tr-gallery-prev,.tr-gallery-next { position:absolute; border:0; color:#fff; background:#075985; cursor:pointer; border-radius:50%; width:42px; height:42px; font-size:30px; line-height:1; }
.tr-gallery-close { top:24px; right:28px; }
.tr-gallery-prev { left:28px; }
.tr-gallery-next { right:28px; }
.tr-gallery-counter { position:absolute; bottom:22px; left:50%; transform:translateX(-50%); color:#fff; font-weight:700; }
.tr-gallery-opened { overflow:hidden; }

@media (max-width: 640px) {
    .tr-header,
    .page-template-page_home .tr-header,
    .page-template-page_home-php .tr-header { height: 75px !important; }
    .tr-header > .wrap,
    .tr-header-inner { height: 75px !important; padding: 0 18px; }
    .tr-logo,
    .tr-logo a { height: 70px; }
    .tr-logo img { width: 68px; height: 62px; }
    .tr-header .main-nav { top: 75px; }
    .tr-hero { height: 620px; padding-top: 75px; }
    .tr-hero-content { padding: 140px 23px; }
    .tr-hero h1 { font-size: 41px; }
    .tr-hero p { font-size: 15px; }
    .tr-booking-wrap { margin: -55px auto 0; padding: 0 15px; }
    .tr-booking-card { padding: 20px; }
    .tr-booking-heading { display: block; }
    .tr-booking-heading h2 { margin-top: 5px; }
    .tr-booking-engine .advanced-search form { grid-template-columns: 1fr; }
    .tr-booking-engine .advanced-search .form-group.radios { justify-content: flex-start; }
    .tr-section { padding: 75px 18px; }
    .tr-fleet-grid { grid-template-rows: 330px 260px 260px; }
    .tr-fleet-card h3 { font-size: 21px; }
    .tr-benefits { padding: 70px 18px; background-attachment: scroll; }
    .tr-benefit-grid { grid-template-columns: 1fr; }
    .tr-benefit-grid article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
    .tr-destination-photo { min-height: 330px; }
    .tr-destination-copy { padding: 55px 24px; }
    .tr-destination-copy h2 { font-size: 39px; }
    .tr-footer-grid { grid-template-columns: 1fr; gap: 25px; }
}






/* MOTOR LIMPIO: 4 campos visibles + botÃ³n */

section#reservar.tr-booking-wrap {
    width: min(1180px, calc(100% - 48px)) !important;
    max-width: 1180px !important;
    margin: -72px auto 64px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: relative !important;
    z-index: 20 !important;
    overflow: visible !important;
}

section#reservar .tr-booking-card {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 26px 30px 30px !important;
    background: #fff !important;
    border-top: 5px solid var(--tr-orange) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 50px rgba(16, 54, 74, .13) !important;
    overflow: visible !important;
    display: block !important;
}

section#reservar .tr-booking-heading {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
}

section#reservar .tr-booking-heading h2 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--tr-blue-dark) !important;
    font-size: 25px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
}

section#reservar #booking,
section#reservar .advanced-search,
section#reservar .tr-booking-engine,
section#reservar .tr-booking-engine .advanced-search,
section#reservar .tr-booking-engine .advanced-search > .wrap {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    position: static !important;
}

section#reservar #booking form,
section#reservar .advanced-search form {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 1.4fr .8fr 180px !important;
    gap: 15px !important;
    align-items: end !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

section#reservar #booking .f-row,
section#reservar .advanced-search .f-row {
    display: contents !important;
}

section#reservar #booking .f-row-return,
section#reservar #booking .f-row-report {
    display: none !important;
}

section#reservar #booking .form-group,
section#reservar .advanced-search .form-group {
    display: block !important;
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
    grid-column: auto !important;
}

section#reservar #booking label,
section#reservar .advanced-search label {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    color: var(--tr-blue-dark) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .45px !important;
    text-transform: uppercase !important;
}

section#reservar #booking input[type="text"],
section#reservar #booking input[type="number"],
section#reservar #booking select,
section#reservar #booking div.selector,
section#reservar .advanced-search input[type="text"],
section#reservar .advanced-search input[type="number"],
section#reservar .advanced-search select,
section#reservar .advanced-search div.selector {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 12px 13px !important;
    background: #f9fbfc !important;
    border: 1px solid var(--tr-line) !important;
    border-radius: 7px !important;
    color: #526773 !important;
    font-size: 13px !important;
    line-height: 22px !important;
    box-shadow: none !important;
}

section#reservar #booking .btn,
section#reservar #booking input[type="submit"],
section#reservar .advanced-search .btn,
section#reservar .advanced-search input[type="submit"] {
    width: 100% !important;
    height: 48px !important;
    background: var(--tr-orange) !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    box-shadow: 0 8px 20px rgba(244, 123, 32, .22) !important;
}

/* Responsive */
@media (max-width: 900px) {
    section#reservar.tr-booking-wrap {
        width: calc(100% - 34px) !important;
        margin-top: -55px !important;
    }

    section#reservar .tr-booking-card {
        padding: 24px 22px 26px !important;
    }

    section#reservar #booking form,
    section#reservar .advanced-search form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    section#reservar.tr-booking-wrap {
        width: calc(100% - 28px) !important;
        margin-top: -45px !important;
        margin-bottom: 45px !important;
    }

    section#reservar #booking form,
    section#reservar .advanced-search form {
        display: block !important;
    }

    section#reservar #booking .form-group,
    section#reservar .advanced-search .form-group {
        width: 100% !important;
        margin-bottom: 14px !important;
    }
}




/* Ocultar el bloque lateral del plugin */
section#reservar #booking .f-row-report,
section#reservar #booking .f-row-return {
    display: none !important;
}

/* Si el plugin mete un tÃ­tulo lateral o bloque extra */
section#reservar #booking .f-row > h2,
section#reservar #booking .f-row > .f-title,
section#reservar #booking .f-row > .form-title,
section#reservar #booking .form-group h2 {
    display: none !important;
}







/*header*/



.tr-header-inner{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
}

.tr-logo{
    flex:0 0 auto !important;
}

.tr-header .main-nav{
    flex:1 1 auto !important;
    display:flex !important;
    justify-content:flex-end !important;
    margin-left:auto !important;
}

.tr-social-links{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    margin-left:18px !important;
}
.tr-social-links a {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.tr-social-links a:hover{
    transform:translateY(-2px) !important;
}

@media (max-width:980px){
    .tr-header-inner{
        gap:12px !important;
    }

    .tr-social-links{
        margin-left:12px !important;
    }

    .tr-social-links a{
        width:32px !important;
        height:32px !important;
        font-size:12px !important;
    }
}






/* Quitar espacio superior del header */
body.tropical-ride-theme {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.tr-header,
.page-template-page_home .tr-header,
.page-template-page_home-php .tr-header {
    top: 0 !important;
    margin-top: 0 !important;
}

.admin-bar .tr-header {
    top: 32px !important;
}

@media (max-width: 980px) {
    .admin-bar .tr-header {
        top: 46px !important;
    }
}

/* GalerÃ­a de vehÃ­culos: ventana emergente centrada */
#tr-gallery-modal[hidden] {
    display: none !important;
}

#tr-gallery-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px !important;
    background: rgba(0, 0, 0, .78) !important;
}

#tr-gallery-modal .tr-gallery-dialog {
    position: relative !important;
    width: min(760px, 94vw) !important;
    max-height: 90vh !important;
    padding: 18px !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 20px 70px rgba(0, 0, 0, .45) !important;
}

#tr-gallery-modal .tr-gallery-image {
    display: block !important;
    width: 100% !important;
    max-height: 70vh !important;
    object-fit: contain !important;
    border-radius: 8px !important;
}

#tr-gallery-modal .tr-gallery-close,
#tr-gallery-modal .tr-gallery-prev,
#tr-gallery-modal .tr-gallery-next {
    position: absolute !important;
    z-index: 2 !important;
    width: 38px !important;
    height: 38px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #168542 !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 38px !important;
    text-align: center !important;
    cursor: pointer !important;
}

#tr-gallery-modal .tr-gallery-close {
    top: 8px !important;
    right: 8px !important;
}

#tr-gallery-modal .tr-gallery-prev {
    top: 50% !important;
    left: 28px !important;
    transform: translateY(-50%) !important;
}

#tr-gallery-modal .tr-gallery-next {
    top: 50% !important;
    right: 28px !important;
    transform: translateY(-50%) !important;
}

#tr-gallery-modal .tr-gallery-counter {
    display: block !important;
    padding-top: 10px !important;
    color: #075b83 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

body.tr-gallery-opened {
    overflow: hidden !important;
}

/* Dynamic vehicle cards */
.tr-fleet-grid.tr-fleet-grid-dynamic {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-template-rows: none !important;
    gap: 20px !important;
    max-width: 1200px !important;
}

.tr-vehicle-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dbe8ee;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(7, 89, 125, .09);
    transition: transform .2s ease, box-shadow .2s ease;
}

.tr-vehicle-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(7, 89, 125, .15);
}

.tr-vehicle-photo {
    position: relative;
    height: 235px;
    padding: 16px;
    background: linear-gradient(180deg, #fff 0%, #f3fbfe 100%);
}

.tr-vehicle-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.tr-vehicle-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 7px 11px;
    border-radius: 999px;
    background: #07869b;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 5px 14px rgba(7, 134, 155, .22);
}

.tr-vehicle-info {
    padding: 20px;
}

.tr-vehicle-info h3 {
    margin: 0 0 13px !important;
    padding: 0 !important;
    color: var(--tr-blue-dark) !important;
    font-size: 24px !important;
    line-height: 1.2;
}

.tr-vehicle-info ul {
    display: grid;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.tr-vehicle-info li {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #35566b;
    font-size: 14px;
    line-height: 1.35;
}

.tr-vehicle-info li span {
    width: 20px;
    color: #075985;
    text-align: center;
    font-weight: 900;
}

.tr-gallery-open.tr-vehicle-details,
.tr-vehicle-details {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    height: auto !important;
    padding: 11px 15px !important;
    border: 1px solid #0b80aa !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #075985 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.tr-gallery-open.tr-vehicle-details:hover,
.tr-vehicle-details:hover {
    background: #075985 !important;
    color: #fff !important;
}

.tr-vehicle-details b {
    margin-left: auto;
    font-size: 18px;
}

#tr-gallery-modal .tr-gallery-prev[hidden],
#tr-gallery-modal .tr-gallery-next[hidden] {
    display: none !important;
}

@media (max-width: 980px) {
    .tr-fleet-grid.tr-fleet-grid-dynamic {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .tr-fleet-grid.tr-fleet-grid-dynamic {
        grid-template-columns: 1fr !important;
    }

    .tr-vehicle-photo {
        height: 220px;
    }
}

/* Editable Tropical Ride controls */
html { scroll-behavior: smooth; }
.tr-benefits { background-image: linear-gradient(rgba(5,82,112,.86),rgba(5,82,112,.88)), var(--tr-benefits-bg, url('https://images.unsplash.com/photo-1504512485720-7d83a16ee930?auto=format&fit=crop&w=2000&q=85')); }
.tr-view-interior { position:absolute; left:14px; bottom:14px; z-index:4; border:0; border-radius:999px; padding:8px 12px; background:rgba(255,255,255,.94); color:#075985; font-size:12px; font-weight:800; text-transform:uppercase; cursor:pointer; box-shadow:0 5px 16px rgba(0,0,0,.16); }
.tr-view-interior:hover { background:#075985; color:#fff; }
.tr-book-now { text-transform:uppercase; background:#fff !important; }
.tr-footer-menu { list-style:none; padding:0; margin:12px 0 0; }
.tr-footer-menu li { margin:8px 0; }
.tr-footer-menu a { color:#d2e1e7 !important; font-size:13px; }
\n\n/* Tropical Ride vehicle cards - approved layout */
.tr-vehicle-card { border-radius:16px !important; }
.tr-vehicle-photo { height:255px !important; padding:14px 16px 22px !important; background:linear-gradient(180deg,#fff 0%,#f5fbfd 100%) !important; overflow:hidden; }
.tr-vehicle-photo img { object-fit:contain !important; }
.tr-vehicle-badge { top:12px !important; right:12px !important; z-index:5 !important; background:#0789a5 !important; padding:8px 13px !important; font-size:12px !important; }

/* Override the old round gallery icon completely. */
.tr-gallery-open.tr-view-interior,
.tr-view-interior {
    position:absolute !important;
    left:16px !important;
    right:auto !important;
    top:auto !important;
    bottom:12px !important;
    z-index:6 !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:8px !important;
    padding:9px 14px !important;
    border:0 !important;
    border-radius:9px !important;
    background:rgba(40,55,67,.90) !important;
    color:#fff !important;
    font-size:12px !important;
    line-height:1 !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    white-space:nowrap !important;
    box-shadow:0 5px 15px rgba(0,0,0,.18) !important;
}
.tr-gallery-open.tr-view-interior span { font-size:18px !important; line-height:1 !important; color:#fff !important; }
.tr-gallery-open.tr-view-interior:hover { background:#075985 !important; color:#fff !important; transform:translateY(-1px); }

.tr-vehicle-info { padding:18px 20px 20px !important; }
.tr-vehicle-info h3 { font-size:23px !important; font-weight:700 !important; margin-bottom:14px !important; }
.tr-vehicle-info ul { gap:10px !important; margin-bottom:20px !important; }
.tr-vehicle-info li { gap:12px !important; font-size:14px !important; }
.tr-vehicle-info li span { width:24px !important; flex:0 0 24px !important; font-size:18px !important; color:#087ca7 !important; }

.tr-vehicle-details.tr-book-now {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    padding:14px 17px !important;
    border:0 !important;
    border-radius:9px !important;
    background:#ff7a16 !important;
    color:#fff !important;
    font-size:14px !important;
    font-weight:800 !important;
    text-transform:uppercase !important;
    box-shadow:0 7px 17px rgba(255,122,22,.22) !important;
}
.tr-vehicle-details.tr-book-now b { margin-left:auto !important; color:#fff !important; font-size:22px !important; }
.tr-vehicle-details.tr-book-now:hover { background:#e96a0b !important; color:#fff !important; transform:translateY(-1px); }

@media (max-width:640px){ .tr-vehicle-photo{height:235px !important;} }

/* === Tropical Ride fleet cards FINAL approved design === */
.tr-fleet-grid.tr-fleet-grid-dynamic{gap:22px!important;max-width:1200px!important}
.tr-vehicle-card{border:1px solid #d7e8ef!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:0 10px 28px rgba(7,89,125,.09)!important}
.tr-vehicle-photo{position:relative!important;height:255px!important;padding:14px 16px 24px!important;background:linear-gradient(180deg,#fff 0%,#f4fbfd 100%)!important;overflow:hidden!important}
.tr-vehicle-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important}
.tr-vehicle-badge{position:absolute!important;top:12px!important;right:12px!important;left:auto!important;z-index:8!important;width:auto!important;height:auto!important;padding:8px 13px!important;border-radius:999px!important;background:#0789a5!important;color:#fff!important;font-size:12px!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;box-shadow:0 5px 14px rgba(7,134,155,.22)!important}
/* Unique class deliberately avoids the theme's old round .tr-gallery-open rules. */
.tr-interior-trigger{position:absolute!important;left:16px!important;right:auto!important;top:auto!important;bottom:12px!important;z-index:9!important;display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;width:auto!important;max-width:calc(100% - 32px)!important;height:42px!important;min-width:0!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:9px!important;background:rgba(43,55,66,.92)!important;color:#fff!important;font-family:inherit!important;font-size:12px!important;line-height:1!important;font-weight:800!important;letter-spacing:.1px!important;text-transform:uppercase!important;white-space:nowrap!important;writing-mode:horizontal-tb!important;transform:none!important;box-shadow:0 5px 15px rgba(0,0,0,.18)!important;cursor:pointer!important}
.tr-interior-trigger:hover{background:#075985!important;color:#fff!important;transform:translateY(-1px)!important}
.tr-interior-trigger .tr-camera-icon{display:block!important;flex:0 0 22px!important;width:22px!important;height:22px!important;fill:currentColor!important}
.tr-interior-trigger span{display:inline!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;color:inherit!important;font-size:inherit!important;line-height:1!important;writing-mode:horizontal-tb!important;transform:none!important}
.tr-vehicle-info{padding:18px 20px 20px!important}
.tr-vehicle-info h3{margin:0 0 15px!important;padding:0!important;color:#075985!important;font-size:23px!important;line-height:1.2!important;font-weight:700!important}
.tr-vehicle-info ul{display:grid!important;gap:10px!important;margin:0 0 20px!important;padding:0!important;list-style:none!important}
.tr-vehicle-info li{display:flex!important;align-items:center!important;gap:12px!important;margin:0!important;padding:0!important;color:#35566b!important;font-size:14px!important;line-height:1.35!important;list-style:none!important}
.tr-vehicle-info li::before,.tr-vehicle-info li::marker{content:none!important;display:none!important}
.tr-vehicle-info li>span{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 25px!important;width:25px!important;min-width:25px!important;margin:0!important;color:#087ca7!important;font-size:18px!important;line-height:1!important;font-weight:900!important;text-align:center!important}
.tr-vehicle-details.tr-book-now{position:static!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;width:100%!important;height:54px!important;margin:0!important;padding:0 0 0 18px!important;border:0!important;border-radius:9px!important;background:#ff7a16!important;color:#fff!important;font-size:14px!important;line-height:1!important;font-weight:800!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:0 7px 17px rgba(255,122,22,.22)!important;overflow:hidden!important}
.tr-vehicle-details.tr-book-now>span{flex:1!important;text-align:left!important;color:#fff!important}
.tr-vehicle-details.tr-book-now>b{display:flex!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;flex:0 0 58px!important;width:58px!important;margin:0!important;border-left:1px solid rgba(255,255,255,.72)!important;color:#fff!important;font-size:25px!important;line-height:1!important;font-weight:400!important}
.tr-vehicle-details.tr-book-now:hover{background:#e96a0b!important;color:#fff!important;transform:translateY(-1px)!important}
@media(max-width:640px){.tr-vehicle-photo{height:235px!important}.tr-interior-trigger{height:40px!important;font-size:11px!important}.tr-vehicle-info h3{font-size:22px!important}}

/* === Tropical Ride editable header social colors + professional footer === */
.tr-header .tr-social-links{display:flex!important;align-items:center!important;gap:10px!important}
.tr-header .tr-social-links a.tr-social,.tr-footer-socials a.tr-social{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;min-width:42px!important;border-radius:50%!important;color:#fff!important;text-decoration:none!important;font-weight:900!important;font-size:20px!important;line-height:1!important;box-shadow:0 5px 14px rgba(0,0,0,.16)!important;border:0!important;padding:0!important}
.tr-social-facebook{background:#1877f2!important}.tr-social-instagram{background:radial-gradient(circle at 30% 110%,#ffd600 0 10%,#ff7a00 28%,#ff0169 50%,#d300c5 72%,#7638fa 100%)!important}.tr-social-tiktok{background:#050505!important;text-shadow:-2px 0 #25f4ee,2px 0 #fe2c55!important}.tr-social-whatsapp{background:#25d366!important}.tr-social-youtube{background:#ff0000!important}.tr-social-tripadvisor{background:#34e0a1!important;color:#111!important}.tr-social-x{background:#050505!important}.tr-social-link{background:#0b7897!important}
.tr-social span{color:inherit!important;line-height:1!important;font-size:inherit!important}

.tr-home-footer.tr-footer-pro{background:#074b68!important;color:#fff!important;position:relative!important;overflow:hidden!important;padding:0!important}
.tr-home-footer.tr-footer-pro:before,.tr-home-footer.tr-footer-pro:after{content:"";position:absolute;pointer-events:none;opacity:.09;border-radius:50%;border:55px solid #7bdbe5;width:360px;height:360px}
.tr-home-footer.tr-footer-pro:before{left:-260px;top:-210px}.tr-home-footer.tr-footer-pro:after{right:-280px;bottom:-260px}
.tr-footer-main{position:relative;z-index:2;max-width:1220px;margin:0 auto;padding:58px 28px 42px;display:grid;grid-template-columns:1.25fr .8fr 1.25fr .9fr 1.05fr;gap:0}
.tr-footer-main>div{padding:0 25px;border-right:1px solid rgba(255,255,255,.22)}.tr-footer-main>div:first-child{padding-left:0}.tr-footer-main>div:last-child{border-right:0;padding-right:0}
.tr-footer-brand img{display:block!important;width:auto!important;max-width:150px!important;height:105px!important;object-fit:contain!important;background:#fff!important;border-radius:8px!important;padding:6px!important;margin:0 0 16px!important}
.tr-footer-brand p,.tr-footer-col p,.tr-footer-col a{color:#fff!important;font-size:14px!important;line-height:1.6!important;text-decoration:none!important}.tr-footer-brand p{margin:0 0 18px!important}.tr-footer-tagline,.tr-connect-text{display:block;color:#fff!important;font-size:15px!important;font-style:italic!important;line-height:1.4!important}
.tr-footer-col h3{margin:0 0 20px!important;color:#fff!important;font-size:18px!important;line-height:1.2!important;font-weight:800!important;text-transform:none!important}
.tr-footer-menu{list-style:none!important;margin:0!important;padding:0!important}.tr-footer-menu li{margin:0 0 11px!important;padding:0!important;list-style:none!important}.tr-footer-menu li:before{content:"â€º"!important;color:#5ee3ec!important;font-size:22px!important;font-weight:800!important;margin-right:9px!important}.tr-footer-menu a{display:inline!important;color:#fff!important;font-size:14px!important}
.tr-footer-contact a,.tr-footer-contact p{display:flex!important;align-items:flex-start!important;gap:10px!important;margin:0 0 12px!important}.tr-footer-contact span{color:#fff!important;font-size:18px!important;flex:0 0 20px!important}
.tr-footer-socials{display:flex!important;gap:9px!important;flex-wrap:wrap!important;margin:0 0 18px!important}.tr-footer-socials a.tr-social{width:40px!important;height:40px!important;min-width:40px!important;font-size:19px!important}.tr-connect-text{border-bottom:4px solid #ff7a16!important;padding-bottom:7px!important;width:max-content!important;max-width:100%!important}
.tr-footer-secure h3 span{font-size:20px!important}.tr-payment-list{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 20px!important}.tr-pay{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:31px!important;padding:4px 8px!important;border-radius:5px!important;background:#fff!important;text-decoration:none!important;font-size:12px!important;font-weight:900!important;line-height:1!important}.tr-pay-visa{color:#1434cb!important;font-style:italic!important}.tr-pay-mastercard{color:#eb001b!important}.tr-pay-amex{color:#016fd0!important}.tr-pay-paypal{color:#003087!important;font-style:italic!important}.tr-pay-other{color:#075985!important}
.tr-footer-legal{display:flex!important;gap:8px!important;flex-wrap:wrap!important}.tr-footer-legal a{color:#fff!important;font-size:12px!important}.tr-footer-legal a+a:before{content:"|";margin-right:8px;color:rgba(255,255,255,.55)}
.tr-footer-bottom{position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.3)!important;max-width:1220px;margin:0 auto;padding:18px 28px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff!important;font-size:13px!important}
@media(max-width:1050px){.tr-footer-main{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}.tr-footer-main>div{border-right:0!important;padding:0 22px!important}.tr-footer-main>div:first-child{grid-column:1/-1}.tr-footer-main>div:last-child{grid-column:1/-1}.tr-footer-bottom{flex-direction:column;align-items:flex-start}}
@media(max-width:640px){.tr-footer-main{grid-template-columns:1fr;padding:42px 22px 28px}.tr-footer-main>div,.tr-footer-main>div:first-child,.tr-footer-main>div:last-child{grid-column:auto;padding:0!important}.tr-footer-bottom{padding:18px 22px}.tr-header .tr-social-links a.tr-social{width:36px!important;height:36px!important;min-width:36px!important;font-size:17px!important}}

/* === Tropical Ride 2.1.2: vehicle carousel + true social icons === */
.tr-fleet-carousel{position:relative!important;max-width:1200px!important;margin:0 auto!important;padding:0 34px!important}
.tr-fleet-viewport{overflow:hidden!important;width:100%!important;padding:8px 0 18px!important}
.tr-fleet-carousel .tr-fleet-grid.tr-fleet-grid-dynamic{display:flex!important;grid-template-columns:none!important;gap:20px!important;max-width:none!important;margin:0!important;overflow:visible!important;transition:transform .38s ease!important;will-change:transform}
.tr-fleet-carousel .tr-vehicle-card{flex:0 0 calc((100% - 40px)/3)!important;width:calc((100% - 40px)/3)!important;min-width:0!important}
.tr-fleet-arrow{position:absolute!important;top:50%!important;transform:translateY(-50%)!important;z-index:30!important;width:48px!important;height:48px!important;border:3px solid #fff!important;border-radius:50%!important;background:#ff7a16!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;font:700 38px/1 Arial,sans-serif!important;box-shadow:0 7px 20px rgba(0,0,0,.2)!important;cursor:pointer!important;transition:transform .18s ease,opacity .18s ease!important}
.tr-fleet-arrow:hover{transform:translateY(-50%) scale(1.08)!important;background:#e96a0b!important}
.tr-fleet-prev{left:5px!important}.tr-fleet-next{right:5px!important}.tr-fleet-arrow[disabled]{opacity:.25!important;cursor:default!important;pointer-events:none!important}
.tr-social span{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}
.tr-social span svg{display:block!important;width:22px!important;height:22px!important;color:#fff!important;overflow:visible!important}
.tr-social-instagram span svg{width:23px!important;height:23px!important}.tr-social-tripadvisor span svg{color:#111!important}
.tr-footer-brand{text-align:center!important}.tr-footer-brand img{display:block!important;margin:0 auto 16px!important;background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
@media(max-width:980px){.tr-fleet-carousel .tr-vehicle-card{flex-basis:calc((100% - 20px)/2)!important;width:calc((100% - 20px)/2)!important}}
@media(max-width:640px){.tr-fleet-carousel{padding:0 22px!important}.tr-fleet-carousel .tr-vehicle-card{flex-basis:100%!important;width:100%!important}.tr-fleet-arrow{width:42px!important;height:42px!important;font-size:32px!important}.tr-fleet-prev{left:0!important}.tr-fleet-next{right:0!important}}

/* === Tropical Ride 2.1.3: header social brand colors === */
.tr-header .tr-social-links a.tr-social-facebook{background:#1877f2!important}
.tr-header .tr-social-links a.tr-social-instagram{background:radial-gradient(circle at 30% 110%,#ffd600 0 10%,#ff7a00 28%,#ff0169 50%,#d300c5 72%,#7638fa 100%)!important}
.tr-header .tr-social-links a.tr-social-tiktok{background:#050505!important;text-shadow:-2px 0 #25f4ee,2px 0 #fe2c55!important}
.tr-header .tr-social-links a.tr-social-whatsapp{background:#25d366!important}
.tr-header .tr-social-links a.tr-social-youtube{background:#ff0000!important}
.tr-header .tr-social-links a.tr-social-tripadvisor{background:#34e0a1!important;color:#111!important}
.tr-header .tr-social-links a.tr-social-x{background:#050505!important}
.tr-header .tr-social-links a.tr-social-link{background:#0b7897!important}
.tr-header .tr-social-links a.tr-social:hover{filter:brightness(.92)!important;transform:translateY(-2px)!important}

/* =========================================================
   INTERNAL BOOKING ENGINE â€” same visual language as Home
   ========================================================= */
body:not(.home) .tr-internal-booking-wrap{
    width:min(1180px,calc(100% - 48px))!important;max-width:1180px!important;
    margin:34px auto 44px!important;padding:0!important;background:transparent!important;
    position:relative!important;z-index:20!important;overflow:visible!important;
}
body:not(.home) .tr-internal-booking-card{
    width:100%!important;margin:0!important;padding:26px 30px 30px!important;
    background:#fff!important;border-top:5px solid var(--tr-orange)!important;border-radius:14px!important;
    box-shadow:0 18px 50px rgba(16,54,74,.13)!important;overflow:visible!important;
}
body:not(.home) .tr-internal-booking-heading{display:flex!important;align-items:baseline!important;gap:16px!important;margin:0 0 22px!important;padding:0!important}
body:not(.home) .tr-internal-booking-heading span{color:var(--tr-orange)!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:1.7px!important;font-weight:800!important}
body:not(.home) .tr-internal-booking-heading h2{margin:0!important;padding:0!important;color:var(--tr-blue-dark)!important;font-size:25px!important;line-height:1.15!important;font-weight:800!important}
body:not(.home) .tr-internal-booking-card .advanced-search,
body:not(.home) .tr-internal-booking-card .advanced-search.color,
body:not(.home) .tr-internal-booking-card .advanced-search.grey,
body:not(.home) .tr-internal-booking-card .advanced-search>.wrap{
    float:none!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--tr-ink)!important;box-shadow:none!important;overflow:visible!important;
}
body:not(.home) .tr-internal-booking-card .advanced-search form{
    display:grid!important;grid-template-columns:1.2fr 1fr 1.4fr .8fr 180px!important;gap:15px!important;align-items:end!important;
    width:100%!important;margin:0!important;padding:0!important;background:transparent!important;
}
body:not(.home) .tr-internal-booking-card .advanced-search .f-row{display:contents!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body:not(.home) .tr-internal-booking-card .advanced-search .f-row-return,
body:not(.home) .tr-internal-booking-card .advanced-search .f-row-report{display:none!important}
body:not(.home) .tr-internal-booking-card .advanced-search .form-group,
body:not(.home) .tr-internal-booking-card .advanced-search .form-group.spinner,
body:not(.home) .tr-internal-booking-card .advanced-search .form-group.radios,
body:not(.home) .tr-internal-booking-card .advanced-search .form-group.right{
    display:block!important;float:none!important;width:auto!important;min-width:0!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body:not(.home) .tr-internal-booking-card .advanced-search label{display:block!important;float:none!important;width:100%!important;margin:0 0 8px!important;padding:0!important;color:var(--tr-blue-dark)!important;font-size:10px!important;line-height:1.25!important;font-weight:800!important;letter-spacing:.45px!important;text-transform:uppercase!important}
body:not(.home) .tr-internal-booking-card .advanced-search input[type=text],
body:not(.home) .tr-internal-booking-card .advanced-search input[type=number],
body:not(.home) .tr-internal-booking-card .advanced-search select,
body:not(.home) .tr-internal-booking-card .advanced-search div.selector{
    display:block!important;float:none!important;width:100%!important;height:48px!important;min-height:48px!important;margin:0!important;padding:12px 13px!important;background:#f9fbfc!important;border:1px solid var(--tr-line)!important;border-radius:7px!important;color:#526773!important;font-size:13px!important;line-height:22px!important;box-shadow:none!important;
}
body:not(.home) .tr-internal-booking-card .advanced-search div.selector span{width:100%!important;height:22px!important;line-height:22px!important;padding:0!important}
body:not(.home) .tr-internal-booking-card .advanced-search .form-group.right .btn,
body:not(.home) .tr-internal-booking-card .advanced-search input[type=submit]{width:100%!important;min-width:0!important;height:48px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:8px!important;background:var(--tr-orange)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;box-shadow:0 8px 20px rgba(244,123,32,.22)!important}
body:not(.home) .tr-internal-booking-card .advanced-search .form-group.right .btn:hover,
body:not(.home) .tr-internal-booking-card .advanced-search input[type=submit]:hover{background:#dd6610!important;color:#fff!important}
/* Remove old full-width colored search background once it is wrapped. */
body:not(.home) .tr-internal-booking-wrap:before,body:not(.home) .tr-internal-booking-wrap:after{content:none!important}
@media(max-width:900px){body:not(.home) .tr-internal-booking-wrap{width:calc(100% - 34px)!important}body:not(.home) .tr-internal-booking-card{padding:24px 22px 26px!important}body:not(.home) .tr-internal-booking-card .advanced-search form{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:640px){body:not(.home) .tr-internal-booking-wrap{width:calc(100% - 28px)!important;margin:24px auto 36px!important}body:not(.home) .tr-internal-booking-heading{display:block!important}body:not(.home) .tr-internal-booking-heading h2{margin-top:5px!important}body:not(.home) .tr-internal-booking-card .advanced-search form{display:block!important}body:not(.home) .tr-internal-booking-card .advanced-search .form-group{width:100%!important;margin-bottom:14px!important}}

/* =========================================================
   Tropical Ride - Booking progress (4 steps)
   ========================================================= */
.tr-booking-progress {
    width: 100%;
    background: #fff;
    padding: 24px 20px 18px;
    position: relative;
    z-index: 8;
}
.tr-booking-progress-inner {
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
}
.tr-booking-progress-inner::before {
    content: "";
    position: absolute;
    top: 35px;
    left: 9%;
    right: 9%;
    height: 4px;
    background: #d7d9dc;
    z-index: 0;
}
.tr-booking-step {
    width: 25%;
    text-align: center;
    position: relative;
    z-index: 1;
}
.tr-booking-circle {
    width: 72px;
    height: 72px;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: #e7e8ea;
    border: 4px solid #fff;
    box-shadow: 0 2px 10px rgba(15, 23, 42, .13);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #5e6267;
}
.tr-booking-step.is-active .tr-booking-circle,
.tr-booking-step.is-complete .tr-booking-circle {
    background: #ff7a16;
    color: #fff;
}
.tr-booking-step.is-complete::before,
.tr-booking-step.is-active::before {
    content: "";
    position: absolute;
    top: 35px;
    height: 4px;
    background: #ff7a16;
    z-index: -1;
}
.tr-booking-step.is-complete::before { left: 50%; right: -50%; }
.tr-booking-step.is-active::before { left: -50%; right: 50%; }
.tr-booking-step:first-child::before { display: none; }
.tr-booking-icon {
    font-size: 27px;
    font-weight: 800;
    line-height: 1;
}
.tr-booking-number {
    position: absolute;
    left: 50%;
    bottom: -11px;
    transform: translateX(-50%);
    min-width: 23px;
    height: 23px;
    padding: 0 5px;
    border-radius: 12px;
    background: #fff;
    color: #075985;
    border: 2px solid #e5e7eb;
    font-size: 12px;
    line-height: 19px;
    font-weight: 800;
}
.tr-booking-step.is-active .tr-booking-number,
.tr-booking-step.is-complete .tr-booking-number { border-color: #ff7a16; }
.tr-booking-label {
    margin-top: 15px;
    color: #075985;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 800;
}
@media (max-width: 700px) {
    .tr-booking-progress { padding: 16px 6px 14px; overflow: hidden; }
    .tr-booking-progress-inner::before { top: 27px; left: 11%; right: 11%; height: 3px; }
    .tr-booking-circle { width: 56px; height: 56px; }
    .tr-booking-step.is-complete::before,
    .tr-booking-step.is-active::before { top: 27px; height: 3px; }
    .tr-booking-icon { font-size: 21px; }
    .tr-booking-label { font-size: 11px; padding: 0 2px; }
    .tr-booking-number { bottom: -9px; min-width: 20px; height: 20px; line-height: 16px; font-size: 10px; }
}

/* =========================================================
   Tropical Ride v15 - compact results search
   ========================================================= */
body.tropical-ride-theme .tr-results-engine-collapsed { display:none !important; }
.tr-search-summary {
    width: min(880px, calc(100% - 34px)); margin: 24px auto 26px; padding: 16px 18px;
    display:flex; align-items:center; justify-content:space-between; gap:18px;
    background:#fff; border:1px solid #e3ebef; border-left:4px solid #f47b20;
    border-radius:12px; box-shadow:0 8px 24px rgba(7,61,87,.09);
}
.tr-search-summary-main{min-width:0}.tr-search-route{display:flex;align-items:center;gap:8px;color:#075985;font-size:16px;line-height:1.3}.tr-search-pin{font-size:18px}.tr-search-meta{margin:5px 0 0 27px;color:#607784;font-size:13px;font-weight:600}
.tr-change-search{flex:0 0 auto;border:0!important;border-radius:8px!important;background:#f47b20!important;color:#fff!important;padding:12px 18px!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 15px rgba(244,123,32,.2)}
.tr-change-search:hover{background:#dd6610!important;color:#fff!important}

/* Mobile header: compact, clear and thumb-friendly. */
@media(max-width:700px){
    .tr-header{min-height:70px!important;height:auto!important;background:#fff!important}
    .tr-header-inner{min-height:70px!important;padding:8px 14px!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:10px!important}
    .tr-logo{grid-column:1!important;grid-row:1!important;margin:0!important}
    .tr-logo img{width:auto!important;max-width:70px!important;height:54px!important;object-fit:contain!important}
    .tr-menu-toggle{grid-column:3!important;grid-row:1!important;display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important;border:1px solid #e4eaee!important;border-radius:9px!important;background:#fff!important;font-size:25px!important;line-height:1!important}
    .tr-social-links{grid-column:2!important;grid-row:1!important;justify-self:end!important;display:flex!important;align-items:center!important;gap:6px!important;margin:0!important}
    .tr-social-links a{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;margin:0!important}
    .tr-header .main-nav{top:70px!important;padding:10px 16px 16px!important;border-top:1px solid #edf1f3!important;box-shadow:0 12px 24px rgba(0,0,0,.12)!important}
    .admin-bar .tr-header .main-nav{top:70px!important}
    .tr-header .main-nav ul{gap:0!important;margin:0!important}
    .tr-header .main-nav li{width:100%!important;border-bottom:1px solid #eef2f4!important}
    .tr-header .main-nav li:last-child{border-bottom:0!important}
    .tr-header .main-nav a{display:block!important;width:100%!important;padding:14px 4px!important;font-size:14px!important}

    .tr-booking-progress{padding:10px 4px 12px!important}
    .tr-booking-circle{width:42px!important;height:42px!important;border-width:3px!important}
    .tr-booking-progress-inner::before{top:20px!important;height:2px!important}
    .tr-booking-step.is-complete::before,.tr-booking-step.is-active::before{top:20px!important;height:2px!important}
    .tr-booking-icon{font-size:16px!important}.tr-booking-number{bottom:-8px!important}
    .tr-booking-label{font-size:9px!important;line-height:1.15!important;margin-top:12px!important}

    .tr-search-summary{width:calc(100% - 28px);margin:14px auto 18px;padding:14px;display:block;border-left-width:3px}
    .tr-search-route{font-size:14px}.tr-search-meta{font-size:12px;margin-left:25px}
    .tr-change-search{display:block!important;width:100%!important;margin-top:12px!important;padding:12px 14px!important}
}
@media(max-width:390px){
    .tr-social-links a{width:29px!important;height:29px!important;min-width:29px!important;min-height:29px!important}
    .tr-logo img{max-width:62px!important;height:49px!important}
    .tr-booking-label{font-size:8px!important}
}

/* =========================================================
   Tropical Ride v16 - final responsive booking/header fixes
   ========================================================= */
/* On results there must be only ONE compact search summary until editing. */
body.tropical-ride-theme .tr-results-engine-collapsed,
body.tropical-ride-theme .tr-results-engine-collapsed.advanced-search {
    display: none !important;
}

/* Progress is always visible and sits directly below the header. */
body.tropical-ride-theme .tr-booking-progress {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    clear:both;
}

/* Search summary: horizontal on desktop, compact and visually connected to results. */
body.tropical-ride-theme .tr-search-summary {
    max-width: 900px !important;
    margin: 18px auto 24px !important;
    background: #eef8ff !important;
    border: 1px solid #d7e9f4 !important;
    border-left: 4px solid #f47b20 !important;
}
body.tropical-ride-theme .tr-search-pin { color:#f47b20 !important; }

@media (max-width:980px) {
    /* Fix an older !important rule that forced the navigation to stay visible. */
    body.tropical-ride-theme .tr-header .main-nav {
        display:none !important;
        position:absolute !important;
        left:0 !important;
        right:0 !important;
        width:100% !important;
        background:#fff !important;
        z-index:9999 !important;
    }
    body.tropical-ride-theme .tr-header .main-nav.tr-nav-open { display:block !important; }
}

@media (max-width:700px) {
    /* One-line mobile header: logo | social icons | hamburger. */
    body.tropical-ride-theme .tr-header-inner {
        grid-template-columns:minmax(58px,auto) 1fr 42px !important;
        padding:7px 10px !important;
        gap:7px !important;
    }
    body.tropical-ride-theme .tr-logo img { max-width:66px !important; height:50px !important; }
    body.tropical-ride-theme .tr-social-links { gap:5px !important; margin:0 !important; }
    body.tropical-ride-theme .tr-social-links a {
        width:30px !important; height:30px !important;
        min-width:30px !important; min-height:30px !important;
    }
    body.tropical-ride-theme .tr-menu-toggle {
        width:40px !important; height:40px !important;
        border:0 !important; color:#075985 !important;
        font-size:27px !important;
    }

    /* Four steps always visible without forcing horizontal scrolling. */
    body.tropical-ride-theme .tr-booking-progress { padding:10px 6px 12px !important; }
    body.tropical-ride-theme .tr-booking-progress-inner { width:100% !important; max-width:100% !important; }
    body.tropical-ride-theme .tr-booking-circle { width:38px !important; height:38px !important; }
    body.tropical-ride-theme .tr-booking-progress-inner::before,
    body.tropical-ride-theme .tr-booking-step.is-complete::before,
    body.tropical-ride-theme .tr-booking-step.is-active::before { top:18px !important; }
    body.tropical-ride-theme .tr-booking-icon { font-size:14px !important; }
    body.tropical-ride-theme .tr-booking-label { font-size:9px !important; margin-top:11px !important; }

    /* Compact search card like the approved reference, not the vehicle cards. */
    body.tropical-ride-theme .tr-search-summary {
        width:calc(100% - 20px) !important;
        margin:10px auto 16px !important;
        padding:12px !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:10px !important;
        border-radius:10px !important;
    }
    body.tropical-ride-theme .tr-search-route { font-size:13px !important; align-items:flex-start !important; }
    body.tropical-ride-theme .tr-search-meta { margin:5px 0 0 20px !important; font-size:11px !important; }
    body.tropical-ride-theme .tr-change-search {
        width:100% !important; margin:0 !important; padding:10px 12px !important;
        font-size:11px !important;
    }

    /* When the user chooses Cambiar bÃºsqueda, the existing engine stays responsive. */
    body.tropical-ride-theme .tr-internal-booking-wrap:not(.tr-results-engine-collapsed) {
        width:calc(100% - 20px) !important;
        margin:10px auto 22px !important;
    }
}

/* =========================================================
   Tropical Ride v17 - passenger selector + final mobile header
   ========================================================= */
body.tropical-ride-theme .tr-menu-toggle::before,
body.tropical-ride-theme .tr-menu-toggle::after{content:none!important;display:none!important}
body.tropical-ride-theme .tr-menu-toggle{background-image:none!important;text-indent:0!important;overflow:hidden!important;font-family:Arial,sans-serif!important}

.tr-original-passenger-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important}
.tr-passenger-picker{position:relative!important;width:100%!important;margin-top:8px!important;z-index:80!important}
.tr-passenger-summary{width:100%!important;height:48px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0 13px!important;border:1px solid var(--tr-line)!important;border-radius:7px!important;background:#f9fbfc!important;color:#075985!important;box-shadow:none!important;text-transform:none!important}
.tr-passenger-icon{font-size:20px!important}.tr-passenger-total{font-size:15px!important;color:#102f45!important}.tr-passenger-caret{margin-left:auto!important;font-size:19px!important;color:#075985!important}
.tr-passenger-help{display:block!important;margin:5px 4px 0!important;color:#607784!important;font-size:10px!important;line-height:1.2!important;text-transform:none!important;letter-spacing:0!important}
.tr-passenger-popover{position:absolute!important;top:55px!important;left:0!important;width:310px!important;max-width:calc(100vw - 30px)!important;padding:10px 14px 12px!important;background:#fff!important;border:1px solid #d7e3e9!important;border-radius:10px!important;box-shadow:0 16px 38px rgba(7,61,87,.18)!important;z-index:99999!important}
.tr-passenger-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:9px 0!important}.tr-passenger-row>span:first-child{display:flex!important;flex-direction:column!important}.tr-passenger-row b{color:#102f45!important;font-size:13px!important}.tr-passenger-row small{color:#607784!important;font-size:10px!important;margin-top:2px!important}
.tr-counter{display:flex!important;align-items:center!important;gap:10px!important}.tr-counter button{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#eaf5fb!important;color:#075985!important;font-size:20px!important;line-height:30px!important;box-shadow:none!important}.tr-counter .tr-count{min-width:18px!important;text-align:center!important;font-size:14px!important}
.tr-passenger-pop-total{display:flex!important;justify-content:space-between!important;padding-top:10px!important;border-top:1px solid #dce7ec!important;color:#102f45!important;font-size:13px!important;font-weight:800!important}

.tr-checkout-passengers{margin:18px 0 26px;padding:18px 20px;border:1px solid #dbe7ed;border-left:4px solid #f47b20;border-radius:9px;background:#f8fcff}.tr-checkout-passengers h3{margin:0 0 10px!important;color:#075985!important;font-size:18px!important}.tr-checkout-passengers p{margin:4px 0!important;color:#334155!important}

@media(max-width:700px){
 body.tropical-ride-theme .tr-header{position:relative!important;z-index:10000!important;overflow:visible!important}
 body.tropical-ride-theme .tr-header-inner{display:grid!important;grid-template-columns:64px minmax(0,1fr) 40px!important;min-height:68px!important;padding:7px 10px!important;overflow:visible!important}
 body.tropical-ride-theme .tr-logo{grid-column:1!important;min-width:0!important}
 body.tropical-ride-theme .tr-social-links{grid-column:2!important;justify-self:end!important;white-space:nowrap!important;overflow:visible!important}
 body.tropical-ride-theme .tr-menu-toggle{grid-column:3!important;display:flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:10002!important;color:#075985!important}
 body.tropical-ride-theme .tr-header .main-nav{top:100%!important;z-index:10001!important}
 body.tropical-ride-theme .tr-booking-progress{position:relative!important;z-index:20!important;display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:76px!important;background:#fff!important}
 body.tropical-ride-theme .tr-booking-progress-inner{display:grid!important;grid-template-columns:repeat(4,1fr)!important;align-items:start!important}
 .tr-passenger-popover{position:relative!important;top:auto!important;width:100%!important;max-width:none!important;margin-top:7px!important}
 .tr-passenger-help{font-size:9px!important}
}

/* =========================================================
   Tropical Ride v18 - progress/header/passenger selector fixes
   ========================================================= */
/* Keep booking progress in normal document flow, directly below header. */
body.tropical-ride-theme > .tr-booking-progress,
body.tropical-ride-theme .tr-booking-progress{
  display:block!important; visibility:visible!important; opacity:1!important;
  position:relative!important; inset:auto!important; transform:none!important;
  width:100%!important; max-width:none!important; height:auto!important;
  margin:0!important; clear:both!important; overflow:visible!important;
  background:#fff!important; z-index:90!important;
}
body.tropical-ride-theme .tr-booking-progress-inner{visibility:visible!important;opacity:1!important;position:relative!important;z-index:2!important}
body.tropical-ride-theme .tr-booking-step{display:block!important;visibility:visible!important;opacity:1!important}

/* Header: one and only one hamburger; keep it aligned with socials. */
body.tropical-ride-theme .tr-menu-toggle{background:#fff!important;background-image:none!important;color:#075985!important;text-shadow:none!important}
body.tropical-ride-theme .tr-menu-toggle span{display:block!important;width:auto!important;height:auto!important;background:none!important;color:#075985!important;font-size:0!important;line-height:1!important}
body.tropical-ride-theme .tr-menu-toggle span::before{content:"â˜°"!important;display:block!important;font-size:27px!important;line-height:1!important;color:#075985!important}

/* Passenger picker must occupy exactly the old passenger field, not expand the engine. */
body.tropical-ride-theme .tr-passenger-picker{margin:0!important;position:relative!important;z-index:500!important;overflow:visible!important}
body.tropical-ride-theme .tr-passenger-summary{margin:0!important}
body.tropical-ride-theme .tr-passenger-popover[hidden]{display:none!important}
body.tropical-ride-theme .tr-passenger-popover:not([hidden]){display:block!important;position:absolute!important;top:54px!important;left:0!important;right:auto!important;width:310px!important;max-width:min(310px,calc(100vw - 24px))!important;margin:0!important;z-index:999999!important}

@media(max-width:700px){
  body.tropical-ride-theme .tr-header{position:relative!important;top:auto!important;margin:0!important;z-index:1000!important}
  body.tropical-ride-theme .tr-header-inner{grid-template-columns:68px minmax(0,1fr) 42px!important;min-height:68px!important;height:auto!important}
  body.tropical-ride-theme .tr-logo{grid-column:1!important;grid-row:1!important;align-self:center!important}
  body.tropical-ride-theme .tr-logo img{display:block!important;max-width:64px!important;height:50px!important;margin:0!important}
  body.tropical-ride-theme .tr-social-links{grid-column:2!important;grid-row:1!important;display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:5px!important}
  body.tropical-ride-theme .tr-menu-toggle{grid-column:3!important;grid-row:1!important;justify-self:end!important;align-self:center!important;margin:0!important;padding:0!important;width:40px!important;height:40px!important}
  body.tropical-ride-theme .tr-header .main-nav{top:100%!important;left:0!important;right:0!important;margin:0!important}

  body.tropical-ride-theme > .tr-booking-progress,
  body.tropical-ride-theme .tr-booking-progress{min-height:82px!important;padding:9px 4px 10px!important;z-index:80!important}
  body.tropical-ride-theme .tr-booking-progress-inner{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important;max-width:430px!important;margin:0 auto!important}
  body.tropical-ride-theme .tr-booking-circle{width:36px!important;height:36px!important;margin:0 auto 6px!important;border-width:2px!important}
  body.tropical-ride-theme .tr-booking-progress-inner::before{top:17px!important;left:12.5%!important;right:12.5%!important;height:2px!important}
  body.tropical-ride-theme .tr-booking-step.is-complete::before,
  body.tropical-ride-theme .tr-booking-step.is-active::before{top:17px!important;height:2px!important}
  body.tropical-ride-theme .tr-booking-icon{font-size:13px!important}
  body.tropical-ride-theme .tr-booking-number{min-width:17px!important;height:17px!important;line-height:13px!important;font-size:8px!important;bottom:-7px!important}
  body.tropical-ride-theme .tr-booking-label{display:block!important;font-size:8px!important;line-height:1.1!important;margin-top:8px!important;padding:0 1px!important;white-space:normal!important}

  body.tropical-ride-theme .tr-passenger-popover:not([hidden]){position:absolute!important;top:54px!important;left:auto!important;right:0!important;width:min(310px,calc(100vw - 32px))!important;max-width:calc(100vw - 32px)!important;margin:0!important}
}

/* Tropical Ride v19 - contextual booking fields */
body.tropical-ride-theme .advanced-search .form-group.tr-icon-field{position:relative!important}
body.tropical-ride-theme .advanced-search .tr-field-icon{position:absolute!important;left:12px!important;top:39px!important;z-index:6!important;color:#075985!important;font-size:17px!important;line-height:1!important;pointer-events:none!important;font-weight:700!important}
body.tropical-ride-theme .advanced-search .tr-icon-field>input,
body.tropical-ride-theme .advanced-search .tr-icon-field>select{padding-left:38px!important}
body.tropical-ride-theme .advanced-search .tr-info-tip{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:17px!important;height:17px!important;border:1px solid #0b6b8d!important;border-radius:50%!important;background:#fff!important;color:#0b6b8d!important;font-size:11px!important;font-weight:800!important;padding:0!important;vertical-align:middle!important;cursor:help!important;position:relative!important;text-transform:none!important}
body.tropical-ride-theme .advanced-search .tr-info-tip:hover:after,
body.tropical-ride-theme .advanced-search .tr-info-tip:focus:after{content:attr(data-tip);position:absolute;left:50%;bottom:25px;transform:translateX(-50%);width:270px;padding:9px 11px;border-radius:8px;background:#073b57;color:#fff;font-size:11px;font-weight:500;line-height:1.4;text-align:left;z-index:999999;box-shadow:0 8px 24px rgba(0,0,0,.18)}
body.tropical-ride-theme .advanced-search select.tr-time-12h{font-variant-numeric:tabular-nums}
@media(max-width:767px){
 body.tropical-ride-theme .advanced-search .tr-field-icon{top:var(--tr-field-icon-top, 50%)!important;transform:translateY(-50%)!important}
 body.tropical-ride-theme .advanced-search .tr-info-tip:hover:after,body.tropical-ride-theme .advanced-search .tr-info-tip:focus:after{left:auto;right:-10px;transform:none;width:min(260px,calc(100vw - 44px))}
}

/* Tropical Ride v20 - readable time, validation and icon spacing */
body.tropical-ride-theme .advanced-search .tr-time-readable{display:block!important;margin:5px 2px 0!important;color:#607784!important;font-size:10px!important;line-height:1.25!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important}
body.tropical-ride-theme .advanced-search select.tr-hour-ampm{font-variant-numeric:tabular-nums!important}
body.tropical-ride-theme .advanced-search .form-group.tr-field-error input,
body.tropical-ride-theme .advanced-search .form-group.tr-field-error select,
body.tropical-ride-theme .advanced-search .form-group.tr-field-error .tr-passenger-summary{border-color:#d92d20!important;box-shadow:0 0 0 1px rgba(217,45,32,.08)!important}
body.tropical-ride-theme .advanced-search .tr-required-message{display:block!important;margin:5px 2px 0!important;color:#b42318!important;font-size:10px!important;line-height:1.25!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important}
body.tropical-ride-theme .advanced-search .tr-icon-field>.tr-field-icon{left:10px!important;width:18px!important;text-align:center!important;font-size:14px!important;opacity:.9!important}
body.tropical-ride-theme .advanced-search .tr-icon-field>input,
body.tropical-ride-theme .advanced-search .tr-icon-field>select{padding-left:34px!important}

/* =========================================================
   Tropical Ride v25 - floating pickup notice + checkout cards
   ========================================================= */
.tr-pickup-modal{display:none;position:fixed;inset:0;z-index:1000000;align-items:center;justify-content:center;padding:20px}
.tr-pickup-modal.is-open{display:flex}
.tr-pickup-backdrop{position:absolute;inset:0;background:rgba(4,25,38,.58);backdrop-filter:blur(1px)}
.tr-pickup-dialog{position:relative;width:min(520px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:30px 30px 26px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.3);border-top:5px solid #ff6b16}
.tr-pickup-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;color:#64748b;cursor:pointer}
.tr-pickup-plane{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:#e8f7f2;color:#0b9d72;font-size:27px}
.tr-pickup-dialog h3{margin:0 0 10px;color:#075985;font-size:24px}
.tr-pickup-dialog p{margin:0 auto 20px;max-width:420px;color:#475569;font-size:15px;line-height:1.6}
.tr-pickup-ok{border:0;border-radius:9px;background:#ff6b16;color:#fff;font-weight:800;padding:12px 28px;cursor:pointer}

body.woocommerce-checkout form.checkout.tr25-ready{max-width:1120px!important;margin:28px auto 70px!important;padding:0 18px!important}
.tr25-checkout-shell{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr);gap:26px;align-items:start}
.tr25-checkout-main,.tr25-checkout-side{min-width:0}
.tr25-card,.tr25-checkout-side{background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 8px 28px rgba(7,89,133,.08);padding:22px;margin:0 0 20px}
.tr25-card-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.tr25-card-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef7fb;color:#0876b9;font-size:21px;flex:0 0 42px}
.tr25-card-head h3{margin:0!important;color:#0b4d83!important;font-size:21px!important;line-height:1.15!important;text-transform:none!important}
.tr25-card-head p{margin:4px 0 0!important;color:#64748b!important;font-size:13px!important}
.tr25-card-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.tr25-card-body .form-row{width:100%!important;float:none!important;margin:0!important;padding:0!important}
.tr25-card-body .form-row-wide{grid-column:1/-1}
.tr25-card-body label{display:block!important;margin:0 0 6px!important;color:#173b5f!important;font-size:12px!important;font-weight:700!important;text-transform:none!important}
.tr25-card-body input,.tr25-card-body select,.tr25-card-body textarea{width:100%!important;min-height:44px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:9px 11px!important;background:#fff!important}
.tr25-technical-field{display:none!important}
.tr25-source-hidden{display:none!important}
.tr25-passengers h3{margin-top:0!important;color:#0b4d83!important;text-align:left!important}
.tr25-passengers{border-left:4px solid #1683d8!important}
.tr25-checkout-side{position:sticky;top:110px;padding:22px!important}
.tr25-checkout-side #order_review_heading{display:block!important;margin:0 0 16px!important;color:#0b4d83!important;font-size:21px!important;text-align:left!important}
.tr25-checkout-side #order_review{width:100%!important;float:none!important;margin:0!important}
.tr25-checkout-side table.shop_table{width:100%!important;font-size:13px!important}
.tr25-checkout-side #payment{margin-top:18px!important;border-radius:12px!important;overflow:hidden!important}
.tr25-checkout-side #place_order{width:100%!important;min-height:52px!important;border-radius:9px!important;background:#ff6b16!important;border-color:#ff6b16!important;font-size:16px!important;font-weight:800!important}
@media(max-width:900px){.tr25-checkout-shell{grid-template-columns:1fr}.tr25-checkout-side{position:relative;top:auto}.tr25-card-body{grid-template-columns:1fr}.tr25-card-body .form-row-wide{grid-column:auto}}


/* =========================================================
   Tropical Ride v26 - corrected dynamic checkout
   ========================================================= */
body.woocommerce-checkout form.checkout.tr26-ready{max-width:1180px!important;margin:28px auto 70px!important;padding:0 18px!important;float:none!important;width:auto!important}
.tr26-checkout-shell{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(390px,.9fr)!important;gap:28px!important;align-items:start!important;width:100%!important}
.tr26-checkout-main,.tr26-checkout-side{min-width:0!important;width:100%!important;float:none!important}
.tr26-card,.tr26-checkout-side{box-sizing:border-box!important;background:#fff!important;border:1px solid #dfe8ee!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(7,89,133,.08)!important;padding:22px!important;margin:0 0 20px!important;width:100%!important}
.tr26-card-head{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:18px!important}
.tr26-card-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef7fb;color:#0876b9;font-size:21px;flex:0 0 42px}
.tr26-card-head h3{margin:0!important;color:#0b4d83!important;font-size:21px!important;line-height:1.15!important;text-transform:none!important}
.tr26-card-head p{margin:4px 0 0!important;color:#64748b!important;font-size:13px!important}
.tr26-card-body{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 16px!important}
.tr26-card-body .form-row{width:100%!important;float:none!important;clear:none!important;margin:0!important;padding:0!important}
.tr26-card-body .form-row-wide{grid-column:1/-1!important}
.tr26-card-body label{display:block!important;margin:0 0 6px!important;color:#173b5f!important;font-size:12px!important;font-weight:700!important;text-transform:none!important}
.tr26-card-body input,.tr26-card-body select,.tr26-card-body textarea{box-sizing:border-box!important;width:100%!important;min-height:44px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:9px 11px!important;background:#fff!important}
.tr26-technical-field,.tr26-source-hidden{display:none!important}
.tr26-passengers{border-left:4px solid #1683d8!important}
.tr26-passengers h3{margin-top:0!important;color:#0b4d83!important;text-align:left!important}
.tr26-checkout-side{position:sticky!important;top:110px!important;padding:22px!important;overflow:visible!important}
.tr26-checkout-side #order_review_heading{display:block!important;width:100%!important;float:none!important;margin:0 0 16px!important;color:#0b4d83!important;font-size:21px!important;text-align:left!important}
.tr26-checkout-side #order_review,.tr26-checkout-side .woocommerce-checkout-review-order{display:block!important;width:100%!important;max-width:none!important;float:none!important;clear:both!important;margin:0!important;padding:0!important}
.tr26-checkout-side table.shop_table,.tr26-checkout-side .woocommerce-checkout-review-order-table{display:table!important;width:100%!important;max-width:none!important;table-layout:auto!important;float:none!important;margin:0 0 18px!important;font-size:13px!important}
.tr26-checkout-side table.shop_table th,.tr26-checkout-side table.shop_table td{word-break:normal!important;overflow-wrap:anywhere!important;padding:12px 10px!important;vertical-align:top!important}
.tr26-checkout-side #payment,.tr26-checkout-side .woocommerce-checkout-payment{display:block!important;width:100%!important;max-width:none!important;float:none!important;clear:both!important;margin:18px 0 0!important;border-radius:12px!important;overflow:hidden!important;box-sizing:border-box!important}
.tr26-checkout-side #payment ul.payment_methods{width:100%!important;box-sizing:border-box!important;margin:0!important;padding:16px!important}
.tr26-checkout-side #payment .form-row.place-order{width:100%!important;float:none!important;box-sizing:border-box!important;padding:16px!important;margin:0!important}
.tr26-checkout-side #place_order{display:block!important;width:100%!important;float:none!important;min-height:54px!important;border-radius:9px!important;background:#ff6b16!important;border-color:#ff6b16!important;font-size:16px!important;font-weight:800!important;white-space:normal!important}
@media(max-width:900px){.tr26-checkout-shell{grid-template-columns:1fr!important}.tr26-checkout-side{position:relative!important;top:auto!important}.tr26-card-body{grid-template-columns:1fr!important}.tr26-card-body .form-row-wide{grid-column:auto!important}}
\n\n/* Tropical Ride V27 - preserve all WooCommerce customer fields and reveal moved flight fields */\n.tr26-card-body .form-row:not(.tr26-technical-field){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;}\n.tr26-card-body .woocommerce-input-wrapper{display:block!important;width:100%!important;}\n.tr26-card-body .select2-container{display:block!important;width:100%!important;max-width:none!important;}\n.tr26-data .form-row-first,.tr26-data .form-row-last{width:100%!important;}\n.tr26-data #billing_address_1_field,.tr26-data #billing_email_field{grid-column:1/-1!important;}\n.tr26-arrival .tr26-card-body:empty::after,.tr26-departure .tr26-card-body:empty::after{content:'Cargando campos de vueloâ€¦';display:block;grid-column:1/-1;color:#64748b;font-size:13px;}\n
/* Tropical Ride V28 - complete English checkout */
body.woocommerce-checkout form.checkout.tr28-ready{max-width:1180px!important;margin:28px auto 70px!important;padding:0 18px!important;width:auto!important;float:none!important}
.tr28-shell{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(380px,.9fr)!important;gap:28px!important;align-items:start!important}.tr28-main,.tr28-side{min-width:0!important}.tr28-card,.tr28-side{background:#fff!important;border:1px solid #dfe8ee!important;border-radius:18px!important;box-shadow:0 8px 28px rgba(7,89,133,.08)!important;padding:22px!important;margin:0 0 20px!important}.tr28-head{display:flex;gap:12px;align-items:center;margin-bottom:18px}.tr28-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef7fb;color:#0876b9;font-size:21px}.tr28-head h3{margin:0!important;color:#0b4d83!important;font-size:21px!important;text-transform:none!important}.tr28-head p{margin:4px 0 0!important;color:#64748b!important;font-size:13px!important}.tr28-body{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 16px!important}.tr28-body .form-row{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;float:none!important;clear:none!important;margin:0!important;padding:0!important;height:auto!important}.tr28-body .form-row-wide,.tr28-body #billing_address_1_field,.tr28-body #billing_email_field{grid-column:1/-1!important}.tr28-body label{display:block!important;margin:0 0 6px!important;color:#173b5f!important;font-size:12px!important;font-weight:700!important;text-transform:none!important}.tr28-body input,.tr28-body select,.tr28-body textarea,.tr28-body .select2-container{width:100%!important;max-width:none!important;box-sizing:border-box!important}.tr28-body input,.tr28-body select,.tr28-pickup input{min-height:44px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:9px 11px!important;background:#fff!important}.tr28-hidden-tech{display:none!important}.tr28-note{grid-column:1/-1;padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.5}.tr28-note.is-green{background:#eaf8f3;color:#08745a}.tr28-pickup{grid-column:1/-1;background:#fff7e8;border:1px solid #fed7aa;border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:1fr 170px;gap:14px;align-items:center}.tr28-pickup strong{display:block;color:#9a4d0a}.tr28-pickup small{display:block;color:#7c5b3d;line-height:1.45;margin-top:3px}.tr28-passengers{border-left:4px solid #1683d8!important}.tr-passenger-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;text-align:center}.tr-passenger-grid p{margin:0;padding:12px 8px;background:#f8fbfd;border-radius:10px}.tr-passenger-grid strong,.tr-passenger-grid span{display:block}.tr-passenger-grid span{font-size:22px;color:#0b4d83;margin-top:5px}.tr-infant-seat{margin-top:16px;padding-top:14px;border-top:1px solid #e2e8f0;display:grid;grid-template-columns:1fr 180px;gap:10px 14px;align-items:center}.tr-infant-seat select,.tr-infant-seat input{min-height:42px;border:1px solid #cbd5e1;border-radius:8px;padding:8px}.tr28-side{position:sticky!important;top:110px!important}.tr28-side #order_review_heading{display:block!important;margin:0 0 16px!important;color:#0b4d83!important;font-size:21px!important}.tr28-side #order_review,.tr28-side table.shop_table,.tr28-side #payment{width:100%!important;max-width:none!important;float:none!important}.tr28-side table.shop_table{table-layout:auto!important}.tr28-side table.shop_table th,.tr28-side table.shop_table td{padding:12px 10px!important;overflow-wrap:anywhere!important}.tr28-side #place_order{width:100%!important;min-height:54px!important;border-radius:9px!important;background:#ff6b16!important;border-color:#ff6b16!important;font-weight:800!important;font-size:16px!important}.tr28-modal{display:none;position:fixed;inset:0;z-index:1000000;align-items:center;justify-content:center;padding:20px}.tr28-modal.open{display:flex}.tr28-backdrop{position:absolute;inset:0;background:rgba(4,25,38,.62)}.tr28-dialog{position:relative;width:min(520px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:30px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.3);border-top:5px solid #ff6b16}.tr28-x{position:absolute;right:14px;top:8px;border:0;background:transparent;font-size:28px;cursor:pointer}.tr28-plane{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:#e8f7f2;font-size:27px}.tr28-dialog h3{margin:0 0 10px;color:#075985}.tr28-dialog p{color:#475569;line-height:1.6}.tr28-ok{border:0;border-radius:9px;background:#ff6b16;color:#fff;font-weight:800;padding:12px 28px;cursor:pointer}
@media(max-width:900px){.tr28-shell{grid-template-columns:1fr!important}.tr28-side{position:relative!important;top:auto!important}.tr28-body{grid-template-columns:1fr!important}.tr28-body .form-row-wide,.tr28-body #billing_address_1_field,.tr28-body #billing_email_field{grid-column:auto!important}.tr-passenger-grid{grid-template-columns:repeat(2,1fr)}.tr28-pickup,.tr-infant-seat{grid-template-columns:1fr}}

/* V53 - hide legacy timepicker controls even against later V51 important rules */
body #ui-datepicker-div.tr-booking-picker-adjusted.tr-single-time-enabled .ui-timepicker-div .ui_tpicker_hour_label,
body #ui-datepicker-div.tr-booking-picker-adjusted.tr-single-time-enabled .ui-timepicker-div .ui_tpicker_minute_label,
body #ui-datepicker-div.tr-booking-picker-adjusted.tr-single-time-enabled .ui-timepicker-div .ui_tpicker_hour,
body #ui-datepicker-div.tr-booking-picker-adjusted.tr-single-time-enabled .ui-timepicker-div .ui_tpicker_minute{
 display:none!important;visibility:hidden!important;
}
body #ui-datepicker-div.tr-booking-picker-adjusted.tr-single-time-enabled .ui-timepicker-div .tr-single-time-row{
 grid-column:1/-1!important;grid-row:auto!important;display:flex!important;
}
/* V52 - one unified 5-minute time selector */
#ui-datepicker-div.tr-single-time-enabled .ui_tpicker_hour_label,
#ui-datepicker-div.tr-single-time-enabled .ui_tpicker_minute_label,
#ui-datepicker-div.tr-single-time-enabled .ui_tpicker_hour,
#ui-datepicker-div.tr-single-time-enabled .ui_tpicker_minute{display:none!important}
#ui-datepicker-div.tr-single-time-enabled .tr-single-time-row{
 grid-column:1 / -1!important;display:flex!important;flex-direction:column!important;
 gap:7px!important;min-width:0!important;width:100%!important;
}
#ui-datepicker-div.tr-single-time-enabled .tr-single-time-row label{
 display:block!important;line-height:1.35!important;font-weight:600!important;color:#173b5f!important;
}
#ui-datepicker-div.tr-single-time-enabled .tr-single-time-row select{
 width:100%!important;max-width:100%!important;min-height:44px!important;
 padding:8px 12px!important;box-sizing:border-box!important;border:1px solid #cbd5e1!important;
 border-radius:7px!important;background:#fff!important;
}
/* Tropical Ride V51: booking calendar usability (ES/EN) */
#ui-datepicker-div.tr-booking-picker-adjusted .tr-booking-picker-title{
 display:block!important;text-align:center!important;font-size:17px!important;
 font-weight:700!important;line-height:1.4!important;color:#173b5f!important;
 padding:12px 12px 8px!important;white-space:normal!important;
}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-datepicker-buttonpane .ui-datepicker-current{
 display:none!important;
}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-datepicker-buttonpane{
 display:flex!important;justify-content:flex-end!important;align-items:center!important;
}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 gap:8px 12px!important;align-items:center!important;
}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_time_label,
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_time{
 grid-column:1 / -1!important;
}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_hour_label,
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_minute_label{
 display:block!important;min-width:0!important;width:auto!important;clear:none!important;
}
/* Put each label above its own selector, side by side. */
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_hour_label{grid-column:1!important;grid-row:2!important;text-align:left!important}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_minute_label{grid-column:2!important;grid-row:2!important;text-align:left!important}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_hour{grid-column:1!important;grid-row:3!important}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_minute{grid-column:2!important;grid-row:3!important}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_hour,
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_minute{
 display:block!important;min-width:0!important;width:100%!important;clear:none!important;
}
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_hour select,
#ui-datepicker-div.tr-booking-picker-adjusted .ui-timepicker-div .ui_tpicker_minute select{
 max-width:100%!important;width:100%!important;box-sizing:border-box!important;
}
@media(max-width:700px){
 #ui-datepicker-div.tr-booking-picker-adjusted{max-width:calc(100vw - 24px)!important;box-sizing:border-box!important;}
}

/* Tropical Ride V35 - contact grid mobile correction */
body.woocommerce-checkout .tr28-data .tr28-body{
 display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;
 gap:14px 10px!important;align-items:end!important;
}
body.woocommerce-checkout .tr28-data .tr28-body .form-row{
 min-width:0!important;width:100%!important;max-width:100%!important;
 float:none!important;clear:none!important;overflow:visible!important;
}
body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-first-name,
body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-last-name{grid-column:span 6!important}
body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-email{grid-column:span 6!important}
body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-tr-phone-country{grid-column:span 2!important}
body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-phone{grid-column:span 4!important}
body.woocommerce-checkout .tr28-data .tr28-body label{
 overflow-wrap:normal!important;word-break:normal!important;
 white-space:normal!important;line-height:1.35!important;
}
body.woocommerce-checkout .tr28-data .tr28-body input,
body.woocommerce-checkout .tr28-data .tr28-body select{min-width:0!important;width:100%!important;box-sizing:border-box!important}
@media(max-width:700px){
 body.woocommerce-checkout .tr28-data .tr28-body{grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:16px 8px!important}
 body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-first-name,
 body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-last-name,
 body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-email{grid-column:1/-1!important}
 body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-tr-phone-country{grid-column:span 4!important}
 body.woocommerce-checkout .tr28-data .tr28-body .tr-contact-billing-phone{grid-column:span 8!important}
 body.woocommerce-checkout .tr28-data .tr-contact-tr-phone-country select{font-size:13px!important}
}

/* Tropical Ride V37: mobile contact layout uses a dedicated phone group.
   The customer email is always a full-width direct grid item. */
body.woocommerce-checkout form.checkout .tr28-data .tr28-body{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:15px 12px!important;align-items:end!important;
}
body.woocommerce-checkout form.checkout .tr28-data .tr28-body #billing_email_field{
 grid-column:1 / -1!important;width:100%!important;min-width:0!important;
}
body.woocommerce-checkout form.checkout .tr28-data .tr28-body > .tr-contact-phone-group{
 grid-column:1 / -1!important;display:grid!important;
 grid-template-columns:minmax(0,116px) minmax(0,1fr)!important;
 align-items:end!important;gap:10px!important;width:100%!important;min-width:0!important;
}
body.woocommerce-checkout form.checkout .tr28-data .tr28-body > .tr-contact-phone-group > .form-row{
 grid-column:auto!important;display:block!important;float:none!important;clear:none!important;
 width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;
}
body.woocommerce-checkout form.checkout .tr28-data .tr28-body > .tr-contact-phone-group select{
 width:100%!important;min-width:0!important;font-size:13px!important;padding:8px 4px!important;
}
@media(max-width:700px){
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body{
  grid-template-columns:minmax(0,1fr)!important;gap:16px!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body > #billing_first_name_field,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body > #billing_last_name_field,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body > #billing_email_field,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body > .tr-contact-phone-group{
  grid-column:1/-1!important;width:100%!important;min-width:0!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body > .tr-contact-phone-group{
  grid-template-columns:minmax(0,112px) minmax(0,1fr)!important;
 }
}
/* Legacy V36 selectors below remain harmless: phone fields are now children of their own wrapper. */

@media (max-width:700px) {
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body {
   display:grid!important;grid-template-columns:minmax(0,112px) minmax(0,1fr)!important;
   gap:15px 10px!important;align-items:end!important;min-width:0!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body #billing_first_name_field,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body #billing_last_name_field,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body #billing_email_field {
   grid-column:1 / -1!important;min-width:0!important;width:100%!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body #tr_phone_country_field {
   grid-column:1 / 2!important;min-width:0!important;width:100%!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body #billing_phone_field {
   grid-column:2 / 3!important;min-width:0!important;width:100%!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body .form-row label {
   overflow-wrap:normal!important;word-break:keep-all!important;white-space:normal!important;
   text-align:left!important;font-size:13px!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body .form-row input,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body .form-row select,
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body .woocommerce-input-wrapper {
   display:block!important;min-width:0!important;width:100%!important;max-width:100%!important;
 }
 body.woocommerce-checkout form.checkout .tr28-data .tr28-body #tr_phone_country_field select {
   font-size:13px!important;padding:8px 5px!important;overflow:hidden!important;text-overflow:ellipsis!important;
 }
}


/* Tropical Ride V30 - checkout alignment + no flash */
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout{opacity:1!important;visibility:visible!important;}
body.woocommerce-checkout:not(.woocommerce-order-received) form.checkout.tr28-ready{opacity:1!important;visibility:visible!important;}

body.woocommerce-checkout .page-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .woocommerce-products-header,
body.woocommerce-checkout .main > h1:first-child{display:none!important;}
body.woocommerce-checkout .optional{display:none!important;}
.tr28-arrival .tr28-body,.tr28-departure .tr28-body{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:end!important;}
.tr28-arrival .tr28-body .form-row,.tr28-departure .tr28-body .form-row{grid-column:auto!important;min-width:0!important;}
.tr28-arrival .tr28-body .tr28-note,.tr28-departure .tr28-body .tr28-note,.tr28-departure .tr28-body .tr28-pickup{grid-column:1/-1!important;}
.tr28-arrival input,.tr28-departure input{width:100%!important;max-width:none!important;}
.tr28-hidden-tech{display:block!important;visibility:visible!important;opacity:1!important;}
/* Neutralize inherited green strips/backgrounds around the checkout title area */
body.woocommerce-checkout main.main,body.woocommerce-checkout .main{background-color:transparent!important;}
@media(max-width:700px){.tr28-arrival .tr28-body,.tr28-departure .tr28-body{grid-template-columns:1fr!important}.tr28-arrival .tr28-body .form-row,.tr28-departure .tr28-body .form-row,.tr28-arrival .tr28-body .tr28-note,.tr28-departure .tr28-body .tr28-note,.tr28-departure .tr28-body .tr28-pickup{grid-column:1!important}}
\n/* Tropical Ride V33 - stable checkout fields; no antiflash field hiding */
body.woocommerce-checkout form.checkout .tr28-arrival .form-row,
body.woocommerce-checkout form.checkout .tr28-departure .form-row{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important;}
.tr28-arrival .tr28-body,.tr28-departure .tr28-body{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px 16px!important;}
.tr28-arrival .tr28-note,.tr28-departure .tr28-note,.tr28-departure .tr28-pickup{grid-column:1/-1!important;}
@media(max-width:700px){.tr28-arrival .tr28-body,.tr28-departure .tr28-body{grid-template-columns:1fr!important;}}

/* =========================================================
   Tropical Ride V35 - mobile checkout ergonomics + centered progress
   ========================================================= */
@media (max-width:700px){
  body.woocommerce-checkout form.checkout.tr28-ready{
    width:100%!important;
    max-width:none!important;
    padding:0 10px!important;
    margin:18px auto 46px!important;
    box-sizing:border-box!important;
  }
  body.woocommerce-checkout .tr28-shell{width:100%!important;max-width:none!important;gap:14px!important;}
  body.woocommerce-checkout .tr28-card,
  body.woocommerce-checkout .tr28-side{
    width:100%!important;max-width:none!important;box-sizing:border-box!important;
    padding:18px 14px!important;margin-left:0!important;margin-right:0!important;border-radius:15px!important;
  }
  body.woocommerce-checkout .tr28-body{width:100%!important;}
  body.woocommerce-checkout .tr28-body input,
  body.woocommerce-checkout .tr28-body select,
  body.woocommerce-checkout .tr28-body textarea,
  body.woocommerce-checkout .tr28-body .select2-container{width:100%!important;max-width:100%!important;}

  body.tropical-ride-theme .tr-booking-progress{width:100%!important;padding:10px 8px 13px!important;overflow:visible!important;box-sizing:border-box!important;}
  body.tropical-ride-theme .tr-booking-progress-inner{
    width:100%!important;max-width:520px!important;margin:0 auto!important;padding:0 4px!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-items:start!important;justify-items:center!important;box-sizing:border-box!important;
  }
  body.tropical-ride-theme .tr-booking-step{width:100%!important;min-width:0!important;text-align:center!important;}
  body.tropical-ride-theme .tr-booking-circle{width:42px!important;height:42px!important;margin:0 auto 8px!important;}
  body.tropical-ride-theme .tr-booking-label{width:100%!important;max-width:76px!important;margin:10px auto 0!important;padding:0 2px!important;font-size:10px!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;}
  body.tropical-ride-theme .tr-booking-progress-inner::before{left:12.5%!important;right:12.5%!important;top:20px!important;}

  /* Keep only the Tropical Ride hamburger visual; neutralize inherited theme bars. */
  body.tropical-ride-theme .tr-menu-toggle{background:#fff!important;background-image:none!important;box-shadow:none!important;border:0!important;color:#075985!important;}
  body.tropical-ride-theme .tr-menu-toggle::before,
  body.tropical-ride-theme .tr-menu-toggle::after,
  body.tropical-ride-theme .tr-menu-toggle span::after{content:none!important;display:none!important;background:none!important;box-shadow:none!important;border:0!important;}
  body.tropical-ride-theme .tr-menu-toggle span{background:none!important;background-image:none!important;box-shadow:none!important;border:0!important;text-decoration:none!important;}
  body.tropical-ride-theme .tr-menu-toggle span::before{content:"â˜°"!important;display:block!important;background:none!important;box-shadow:none!important;border:0!important;color:#075985!important;font-size:27px!important;line-height:1!important;}
}

/* =========================================================
   Tropical Ride v36 - final mobile/flow polish
   ========================================================= */
/* Remove remnants of the parent mobile hamburger decoration. */
body.tropical-ride-theme .tr-menu-toggle::before,
body.tropical-ride-theme .tr-menu-toggle::after{content:none!important;display:none!important;background:none!important;border:0!important;box-shadow:none!important}
body.tropical-ride-theme .tr-header .menu-toggle:not(.tr-menu-toggle),
body.tropical-ride-theme .tr-header .mobile-menu-toggle:not(.tr-menu-toggle),
body.tropical-ride-theme .tr-header .hamburger:not(.tr-menu-toggle){display:none!important}

/* Progress: centered, readable and tappable. */
.tr-booking-step>a.tr-booking-step-link{display:block!important;color:inherit!important;text-decoration:none!important}
.tr-booking-step.is-complete>a{cursor:pointer!important}
.tr-booking-step.is-complete>a:focus-visible{outline:2px solid #ff7a16!important;outline-offset:4px!important;border-radius:12px}
@media(max-width:700px){
 body.tropical-ride-theme .tr-booking-progress{padding:10px 10px 14px!important;overflow:visible!important}
 body.tropical-ride-theme .tr-booking-progress-inner{width:100%!important;max-width:520px!important;margin:0 auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;justify-items:center!important}
 body.tropical-ride-theme .tr-booking-step{width:100%!important;min-width:0!important;padding:0 2px!important}
 body.tropical-ride-theme .tr-booking-circle{width:44px!important;height:44px!important;margin:0 auto 7px!important;border-width:3px!important}
 body.tropical-ride-theme .tr-booking-icon{font-size:17px!important}
 body.tropical-ride-theme .tr-booking-label{font-size:10px!important;line-height:1.12!important;margin-top:10px!important;padding:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
 body.tropical-ride-theme .tr-booking-progress-inner::before{top:21px!important;left:12.5%!important;right:12.5%!important}
 body.tropical-ride-theme .tr-booking-step.is-complete::before,body.tropical-ride-theme .tr-booking-step.is-active::before{top:21px!important}
}

/* Editable AM/PM flight-time list. */
.tr28-body .tr-flight-time-select{display:block!important;width:100%!important;max-width:none!important;min-height:44px!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:9px 11px!important;background:#fff!important;color:#173b5f!important;font:inherit!important}

/* Extras: summary before navigation buttons. */
.tr-extra-actions-bottom{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;margin:22px 0 36px!important;width:100%!important}
.tr-extra-actions-bottom>*{margin:0!important;width:100%!important}
.tr-extra-actions-bottom a,.tr-extra-actions-bottom button,.tr-extra-actions-bottom input{width:100%!important;min-height:54px!important}
@media(max-width:640px){.tr-extra-actions-bottom{grid-template-columns:1fr!important;gap:12px!important}}

/* Results: compact horizontal vehicle rows, especially on mobile. */
.tr-result-compact-row{display:grid!important;grid-template-columns:minmax(150px,220px) minmax(0,1fr) auto!important;align-items:center!important;gap:18px!important;padding:14px!important;height:auto!important;min-height:0!important}
.tr-result-compact-row img{width:100%!important;max-width:210px!important;height:120px!important;object-fit:contain!important;margin:0!important}
@media(max-width:700px){
 .tr-result-compact-row{grid-template-columns:96px minmax(0,1fr) auto!important;gap:10px!important;padding:10px!important}
 .tr-result-compact-row img{width:96px!important;max-width:96px!important;height:78px!important}
 .tr-result-compact-row h2,.tr-result-compact-row h3,.tr-result-compact-row h4{font-size:15px!important;line-height:1.2!important;margin:0 0 5px!important}
 .tr-result-compact-row p,.tr-result-compact-row li,.tr-result-compact-row span{font-size:11px!important;line-height:1.25!important}
 .tr-result-compact-row a,.tr-result-compact-row button{min-height:38px!important;padding:8px 10px!important;font-size:11px!important}
}

/* V37 targeted fixes */
@media(max-width:700px){
 .one-fourth.tr-result-compact-row,.full-width.tr-result-compact-row{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;padding:0!important}
 .tr-result-compact-row{width:100%!important;max-width:100%!important;grid-template-columns:86px minmax(150px,1fr) 88px!important;gap:10px!important;align-items:center!important;overflow:visible!important}
 .tr-result-compact-row *{min-width:0!important;word-break:normal!important;overflow-wrap:normal!important}
 .tr-result-compact-row img{width:86px!important;max-width:86px!important;height:72px!important;object-fit:contain!important}
 .tr-result-compact-row h1,.tr-result-compact-row h2,.tr-result-compact-row h3,.tr-result-compact-row h4{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;font-size:14px!important;line-height:1.25!important}
}


/* =========================================================
   V38 - Vehicle result cards: approved desktop/mobile layout
   ========================================================= */
body .tr-result-compact-row{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:220px minmax(320px,1fr) 190px !important;
  grid-template-rows:auto !important;
  column-gap:24px !important;
  align-items:center !important;
  padding:18px 22px !important;
  margin:0 0 16px !important;
  overflow:visible !important;
}
body .tr-result-compact-row *{
  min-width:0 !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
body .tr-result-compact-row img{
  width:100% !important;
  max-width:200px !important;
  height:135px !important;
  object-fit:contain !important;
  margin:auto !important;
}
body .tr-result-compact-row h1,
body .tr-result-compact-row h2,
body .tr-result-compact-row h3,
body .tr-result-compact-row h4{
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  line-height:1.25 !important;
}
body .tr-result-compact-row .price,
body .tr-result-compact-row [class*="price"]{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
body .tr-result-compact-row a,
body .tr-result-compact-row button,
body .tr-result-compact-row input[type="submit"]{
  max-width:190px !important;
}

/* Prevent legacy percentage widths from squeezing result content */
body .tr-result-compact-row .one-fourth,
body .tr-result-compact-row .one-third,
body .tr-result-compact-row .one-half,
body .tr-result-compact-row .three-fourth,
body .tr-result-compact-row .full-width{
  width:auto !important;
  max-width:none !important;
  float:none !important;
  clear:none !important;
}

/* Tablet */
@media (max-width:900px){
 body .tr-result-compact-row{
   grid-template-columns:150px minmax(240px,1fr) 145px !important;
   column-gap:14px !important;
   padding:14px !important;
 }
 body .tr-result-compact-row img{
   max-width:140px !important;
   height:100px !important;
 }
}

/* Mobile: compact card, image left / info center / price right / button bottom */
@media (max-width:700px){
 body .tr-result-compact-row{
   width:100% !important;
   max-width:100% !important;
   display:grid !important;
   grid-template-columns:92px minmax(0,1fr) 78px !important;
   grid-template-rows:auto auto !important;
   gap:10px 10px !important;
   align-items:center !important;
   padding:12px !important;
   margin:0 0 12px !important;
   overflow:hidden !important;
 }
 body .tr-result-compact-row img{
   width:88px !important;
   max-width:88px !important;
   height:76px !important;
   object-fit:contain !important;
 }
 body .tr-result-compact-row h1,
 body .tr-result-compact-row h2,
 body .tr-result-compact-row h3,
 body .tr-result-compact-row h4{
   font-size:14px !important;
   line-height:1.2 !important;
   margin:0 0 6px !important;
   white-space:normal !important;
   word-break:normal !important;
   overflow-wrap:normal !important;
 }
 body .tr-result-compact-row .price,
 body .tr-result-compact-row [class*="price"]{
   font-size:20px !important;
   line-height:1.1 !important;
   white-space:normal !important;
   word-break:normal !important;
   overflow-wrap:normal !important;
   text-align:center !important;
 }
 body .tr-result-compact-row a,
 body .tr-result-compact-row button,
 body .tr-result-compact-row input[type="submit"]{
   grid-column:1 / -1 !important;
   width:100% !important;
   max-width:100% !important;
   min-height:42px !important;
   margin-top:6px !important;
 }
 body .tr-result-compact-row .one-fourth,
 body .tr-result-compact-row .one-third,
 body .tr-result-compact-row .one-half,
 body .tr-result-compact-row .three-fourth,
 body .tr-result-compact-row .full-width{
   width:auto !important;
   max-width:none !important;
   float:none !important;
   clear:none !important;
 }
}

/* =========================================================
   V40 - Results cards isolated from parent theme column CSS
   ========================================================= */
body.tropical-ride-theme .tr40-original-hidden{display:none!important}
body.tropical-ride-theme .tr40-card{box-sizing:border-box!important;display:grid!important;grid-template-columns:240px minmax(0,1fr) 190px!important;grid-template-rows:auto auto!important;gap:0 26px!important;align-items:center!important;width:100%!important;max-width:1120px!important;min-height:190px!important;margin:0 auto 14px!important;padding:18px 20px!important;background:#fff!important;border:1px solid #dbe5e9!important;border-radius:14px!important;box-shadow:0 4px 14px rgba(7,55,84,.04)!important;overflow:hidden!important}
body.tropical-ride-theme .tr40-photo{grid-column:1!important;grid-row:1 / span 2!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:150px!important}
body.tropical-ride-theme .tr40-photo img{display:block!important;width:100%!important;max-width:220px!important;height:145px!important;object-fit:contain!important;margin:0!important}
body.tropical-ride-theme .tr40-main{grid-column:2!important;grid-row:1 / span 2!important;min-width:0!important}
body.tropical-ride-theme .tr40-main h3{margin:0 0 18px!important;padding:0!important;color:#0b3657!important;font-size:22px!important;line-height:1.2!important;font-weight:800!important;text-transform:uppercase!important;word-break:normal!important;overflow-wrap:normal!important}
body.tropical-ride-theme .tr40-meta{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important}
body.tropical-ride-theme .tr40-meta>div{display:flex!important;align-items:flex-start!important;gap:10px!important;min-width:0!important;padding:0 14px!important;border-right:1px solid #dce4e8!important;color:#35566b!important;font-size:13px!important;line-height:1.15!important}
body.tropical-ride-theme .tr40-meta>div:first-child{padding-left:0!important}body.tropical-ride-theme .tr40-meta>div:last-child{border-right:0!important}
body.tropical-ride-theme .tr40-meta span:not(.tr40-ico){display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
body.tropical-ride-theme .tr40-meta b{display:block!important;color:#173b5f!important;font-size:14px!important;line-height:1.15!important;white-space:normal!important}
body.tropical-ride-theme .tr40-meta small{display:block!important;color:#6f8290!important;font-size:12px!important}
body.tropical-ride-theme .tr40-ico{flex:0 0 28px!important;color:#128b45!important;font-size:27px!important;line-height:1!important}
body.tropical-ride-theme .tr40-price{grid-column:3!important;grid-row:1!important;align-self:end!important;text-align:center!important;padding-bottom:10px!important}
body.tropical-ride-theme .tr40-price strong{display:block!important;color:#0b3657!important;font-size:31px!important;line-height:1.05!important;font-weight:800!important;white-space:nowrap!important}
body.tropical-ride-theme .tr40-price small{display:block!important;margin-top:8px!important;color:#8999a5!important;font-size:14px!important}
body.tropical-ride-theme .tr40-select{grid-column:3!important;grid-row:2!important;align-self:start!important;width:100%!important;min-height:54px!important;margin:0!important;padding:0 18px!important;border:0!important;border-radius:7px!important;background:#ff7117!important;color:#fff!important;font-size:15px!important;line-height:1!important;font-weight:800!important;text-align:center!important;cursor:pointer!important;box-shadow:none!important}
body.tropical-ride-theme .tr40-select:hover{background:#e9630d!important}
@media(max-width:760px){
 body.tropical-ride-theme .tr40-card{grid-template-columns:112px minmax(0,1fr) 82px!important;grid-template-rows:auto auto!important;gap:10px 10px!important;width:calc(100% - 20px)!important;max-width:520px!important;min-height:0!important;margin:0 auto 10px!important;padding:12px!important;border-radius:12px!important}
 body.tropical-ride-theme .tr40-photo{grid-column:1!important;grid-row:1!important;height:96px!important;align-self:start!important}
 body.tropical-ride-theme .tr40-photo img{width:108px!important;max-width:108px!important;height:92px!important}
 body.tropical-ride-theme .tr40-main{grid-column:2!important;grid-row:1!important;align-self:start!important}
 body.tropical-ride-theme .tr40-main h3{margin:1px 0 9px!important;font-size:14px!important;line-height:1.18!important}
 body.tropical-ride-theme .tr40-meta{display:flex!important;flex-direction:column!important;gap:5px!important}
 body.tropical-ride-theme .tr40-meta>div{display:flex!important;align-items:center!important;gap:6px!important;padding:0!important;border:0!important;font-size:11px!important;line-height:1.1!important}
 body.tropical-ride-theme .tr40-meta span:not(.tr40-ico){display:block!important}
 body.tropical-ride-theme .tr40-meta b{display:inline!important;margin-left:3px!important;font-size:11px!important;white-space:normal!important}
 body.tropical-ride-theme .tr40-meta small{display:block!important;margin-top:1px!important;font-size:10px!important}
 body.tropical-ride-theme .tr40-ico{flex:0 0 17px!important;width:17px!important;font-size:17px!important;text-align:center!important}
 body.tropical-ride-theme .tr40-price{grid-column:3!important;grid-row:1!important;align-self:center!important;padding:0!important;text-align:center!important}
 body.tropical-ride-theme .tr40-price strong{font-size:19px!important;line-height:1.12!important;white-space:normal!important;word-break:normal!important}
 body.tropical-ride-theme .tr40-price small{margin-top:5px!important;font-size:9px!important;line-height:1.1!important}
 body.tropical-ride-theme .tr40-select{grid-column:1 / -1!important;grid-row:2!important;width:100%!important;min-height:40px!important;margin:0!important;border-radius:6px!important;font-size:13px!important}
}
@media(max-width:390px){body.tropical-ride-theme .tr40-card{grid-template-columns:96px minmax(0,1fr) 72px!important;width:calc(100% - 14px)!important;padding:10px!important;gap:8px!important}body.tropical-ride-theme .tr40-photo img{width:92px!important;height:82px!important}body.tropical-ride-theme .tr40-main h3{font-size:13px!important}body.tropical-ride-theme .tr40-price strong{font-size:17px!important}}

/* =========================================================
   Tropical Ride v41 - booking engine alignment + icon polish
   2026-09-30
   ========================================================= */
@media (min-width: 901px){
  body.tropical-ride-theme .tr-booking-engine .advanced-search form{
    grid-template-columns:1.05fr 1.05fr 1.22fr .70fr auto!important;
    gap:14px!important;
    align-items:end!important;
  }
  body.tropical-ride-theme .tr-booking-engine .advanced-search .form-group{
    position:relative!important;
    min-width:0!important;
  }
  body.tropical-ride-theme .tr-booking-engine .advanced-search .form-group>label{
    display:flex!important;
    align-items:flex-end!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    line-height:1.25!important;
  }
  body.tropical-ride-theme .tr-booking-engine .advanced-search input[type='text'],
  body.tropical-ride-theme .tr-booking-engine .advanced-search input[type='number'],
  body.tropical-ride-theme .tr-booking-engine .advanced-search select,
  body.tropical-ride-theme .tr-booking-engine .advanced-search div.selector,
  body.tropical-ride-theme .tr-booking-engine .tr-passenger-summary{
    box-sizing:border-box!important;
    height:48px!important;
    min-height:48px!important;
    margin-top:8px!important;
  }
  /* Help copy must not change the vertical alignment of the grid row. */
  body.tropical-ride-theme .tr-booking-engine .tr-passenger-help{
    position:absolute!important;
    top:84px!important;
    left:2px!important;
    right:0!important;
    margin:0!important;
  }
  body.tropical-ride-theme .tr-booking-engine .tr-passenger-picker{
    position:relative!important;
    margin-top:8px!important;
  }
  body.tropical-ride-theme .tr-booking-engine .tr-passenger-summary{
    margin-top:0!important;
  }
  body.tropical-ride-theme .tr-booking-engine .advanced-search .form-group.right .btn{
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    white-space:nowrap!important;
  }
  /* Center contextual icons against the actual 48px control, independent of label wrapping. */
  body.tropical-ride-theme .advanced-search .tr-icon-field>.tr-field-icon{
    top:60px!important;
    left:11px!important;
    width:18px!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    font-size:15px!important;
    line-height:1!important;
  }
}

/* Keep every field icon visually centered and give text a consistent inset. */
body.tropical-ride-theme .advanced-search .tr-icon-field>input,
body.tropical-ride-theme .advanced-search .tr-icon-field>select,
body.tropical-ride-theme .advanced-search .tr-icon-field>div.selector{
  padding-left:36px!important;
}
body.tropical-ride-theme .tr-passenger-icon{
  width:20px!important;
  min-width:20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:17px!important;
  line-height:1!important;
}

@media (max-width:900px){
  body.tropical-ride-theme .tr-booking-engine .advanced-search .form-group>label{
    min-height:0!important;
  }
  body.tropical-ride-theme .tr-booking-engine .tr-passenger-help{
    position:static!important;
    margin:5px 4px 0!important;
  }
  body.tropical-ride-theme .advanced-search .tr-icon-field>.tr-field-icon{
    top:39px!important;
    transform:none!important;
  }
}

/* =========================================================
   Tropical Ride v42 - motor icons + passenger help containment
   2026-09-30
   ========================================================= */
@media (min-width:901px){
  section#reservar .tr-booking-card{
    padding-bottom:46px!important;
  }
  section#reservar .advanced-search .form-group>label{
    min-height:28px!important;
    margin:0!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  section#reservar .advanced-search .form-group.tr-icon-field{
    position:relative!important;
  }
  section#reservar .advanced-search .tr-icon-field>.tr-field-icon{
    position:absolute!important;
    left:12px!important;
    top:60px!important;
    width:18px!important;
    height:18px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    color:#0b6b8d!important;
    font-family:Arial,sans-serif!important;
    font-size:15px!important;
    font-weight:700!important;
    line-height:18px!important;
    text-align:center!important;
    z-index:8!important;
    pointer-events:none!important;
  }
  section#reservar .advanced-search .tr-icon-field>input,
  section#reservar .advanced-search .tr-icon-field>select,
  section#reservar .advanced-search .tr-icon-field>div.selector{
    padding-left:38px!important;
  }
  section#reservar .tr-passenger-picker{
    position:relative!important;
    margin:0!important;
  }
  section#reservar .tr-passenger-summary{
    height:48px!important;
    min-height:48px!important;
    margin:0!important;
    padding:0 12px!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
  }
  section#reservar .tr-passenger-icon{
    width:18px!important;
    min-width:18px!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:15px!important;
    line-height:18px!important;
  }
  section#reservar .tr-passenger-caret{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:18px!important;
    line-height:18px!important;
  }
  section#reservar .tr-passenger-help{
    position:absolute!important;
    top:53px!important;
    left:2px!important;
    right:0!important;
    display:block!important;
    margin:0!important;
    color:#607784!important;
    font-size:9px!important;
    line-height:1.2!important;
    text-transform:none!important;
    letter-spacing:0!important;
    white-space:normal!important;
  }
}
@media (max-width:900px){
  section#reservar .tr-passenger-help{
    position:static!important;
    margin:5px 3px 0!important;
  }
  section#reservar .advanced-search .tr-icon-field>.tr-field-icon{
    left:12px!important;
    top:38px!important;
    width:18px!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:none!important;
    font-size:15px!important;
    line-height:18px!important;
  }
}


/* Tropical Ride v43 - stable SVG icons only; no engine logic changes */
section#reservar .advanced-search .tr-field-icon svg{
 width:16px!important;height:16px!important;display:block!important;overflow:visible!important;
 fill:none!important;stroke:#0b6b8d!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
section#reservar .advanced-search .tr-field-icon{font-size:0!important;}

/* Tropical Ride v44 - extra breathing room for date icon */
section#reservar .advanced-search .form-group.tr-icon-field input[type="text"],
section#reservar .advanced-search .form-group.tr-icon-field input:not([type]){
  padding-left:48px!important;
}
section#reservar .advanced-search .form-group.tr-icon-field>.tr-field-icon{
  left:11px!important;
}

/* =========================================================
   Tropical Ride v16 - results header/progress + change-search alignment
   ========================================================= */
/* Results/booking pages: the header is absolute, so reserve its real height
   before the progress bar to prevent it from sitting underneath the menu. */
body.tropical-ride-theme .tr-header + .tr-booking-progress {
    margin-top: 86px !important;
}
body.admin-bar.tropical-ride-theme .tr-header + .tr-booking-progress {
    margin-top: 118px !important;
}

/* The internal engine must not inherit the plugin's decorative title inside
   the form. The card heading above it is the only title we want. */
body:not(.home) .tr-internal-booking-card .advanced-search .f-row > h2,
body:not(.home) .tr-internal-booking-card .advanced-search .f-row > .f-title,
body:not(.home) .tr-internal-booking-card .advanced-search .f-row > .form-title,
body:not(.home) .tr-internal-booking-card .advanced-search .form-group > h2,
body:not(.home) .tr-internal-booking-card .advanced-search .form-group > .f-title,
body:not(.home) .tr-internal-booking-card .advanced-search .form-group > .form-title {
    display: none !important;
}

/* Keep the five actual search controls on one clean row on desktop. */
@media (min-width: 901px) {
    body:not(.home) .tr-internal-booking-card .advanced-search form {
        grid-template-columns: minmax(145px,1.15fr) minmax(145px,1fr) minmax(210px,1.45fr) minmax(120px,.8fr) minmax(145px,180px) !important;
        align-items: end !important;
    }
}

/* When Cambiar bÃºsqueda opens the engine, keep the whole card visible below
   the header instead of scrolling its top underneath the header. */
@media (min-width: 701px) {
    body:not(.home) .tr-internal-booking-wrap:not(.tr-results-engine-collapsed) {
        scroll-margin-top: 135px !important;
    }
}

/* =========================================================
   Tropical Ride v17 - compact Cart spacing
   Keep the progress bar position unchanged; only bring the
   cart content upward to remove the excessive empty space.
   ========================================================= */
@media (min-width: 701px) {
  body.woocommerce-cart .woocommerce-cart-form {
    margin-top: -80px !important;
  }
  body.woocommerce-cart .cart-collaterals {
    margin-top: -50px !important;
  }
}
/* =========================================================
   Tropical Ride v18 - results search card matches Home spacing
   ========================================================= */
@media (min-width: 901px) {
  body:not(.home) .tr-internal-booking-heading {
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
  }
  body:not(.home) .tr-internal-booking-heading h2 {
    margin: 0 !important;
    text-align: left !important;
  }
  body:not(.home) .tr-internal-booking-card .advanced-search form {
    margin-top: -38px !important;
  }
}


/* Tropical Ride v45 - stable SVG icons on Results/booking engine
   Same visual treatment as Home; no booking logic changes. */
@media (min-width:901px){
  body.tropical-ride-theme .advanced-search .form-group.tr-icon-field{position:relative!important;}
  body.tropical-ride-theme .advanced-search .tr-icon-field>.tr-field-icon{
    position:absolute!important;
    left:11px!important;
    top:60px!important;
    width:18px!important;
    height:18px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    color:#0b6b8d!important;
    font-size:0!important;
    line-height:18px!important;
    z-index:8!important;
    pointer-events:none!important;
  }
  body.tropical-ride-theme .advanced-search .tr-field-icon svg{
    width:16px!important;
    height:16px!important;
    display:block!important;
    overflow:visible!important;
    fill:none!important;
    stroke:#0b6b8d!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
  body.tropical-ride-theme .advanced-search .tr-icon-field>input,
  body.tropical-ride-theme .advanced-search .tr-icon-field>select,
  body.tropical-ride-theme .advanced-search .tr-icon-field>div.selector{
    padding-left:38px!important;
  }
}

@media (max-width:900px){
  body.tropical-ride-theme .advanced-search .tr-icon-field>.tr-field-icon{
    left:12px!important;
    top:var(--tr-field-icon-top, 50%)!important;
    transform:translateY(-50%)!important;
    width:18px!important;
    height:18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    transform:translateY(-50%)!important;
    font-size:0!important;
  }
  body.tropical-ride-theme .advanced-search .tr-field-icon svg{
    width:16px!important;
    height:16px!important;
    display:block!important;
    fill:none!important;
    stroke:#0b6b8d!important;
    stroke-width:1.9!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
  }
}


/* =========================================================
   Tropical Ride v20 - Results icon vertical alignment
   Keep the date icon at its current position and raise the
   service/hotel field icons so all field icons share the
   same visual center. No booking logic changes.
   ========================================================= */
@media (min-width: 901px) {
  body.tropical-ride-theme .advanced-search .tr-icon-field > .tr-field-icon {
    top: 48px !important;
  }

  /* Date field keeps the position already working correctly. */
  body.tropical-ride-theme .advanced-search .tr-icon-field:has(input[id*="date"], input[name*="date"], input[class*="date"]) > .tr-field-icon {
    top: 60px !important;
  }

  /* Passenger icon remains controlled by its own component. */
  body.tropical-ride-theme .advanced-search .tr-passenger-icon {
    top: auto !important;
  }
}


/* =========================================================
   Tropical Ride v21 - structural alignment for Results icons
   Align every field icon to the actual vertical center of its
   control instead of using fixed top offsets.
   ========================================================= */
@media (min-width: 901px) {
  body.tropical-ride-theme .advanced-search .tr-icon-field:has(.tr-field-icon) > .tr-field-icon {
    top: var(--tr-field-icon-top, 50%) !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }
}
@media (max-width: 900px) {
  body.tropical-ride-theme .advanced-search .tr-icon-field:has(.tr-field-icon) > .tr-field-icon {
    top: var(--tr-field-icon-top, 50%) !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }
}

/* Tropical Ride v22 - use the actual visible control center for field icons. */
@media (min-width: 901px) {
  body.tropical-ride-theme .advanced-search .tr-icon-field > .tr-field-icon {
    top: var(--tr-field-icon-top) !important;
    transform: translateY(-50%) !important;
  }
}
@media (max-width: 900px) {
  body.tropical-ride-theme .advanced-search .tr-icon-field > .tr-field-icon {
    top: var(--tr-field-icon-top) !important;
    transform: translateY(-50%) !important;
  }
}

/* Results: position field icons only against the visible input control.
   The ResizeObserver updates this value whenever the collapsed panel opens. */
body.tropical-ride-theme .tr-internal-booking-card #booking.advanced-search .tr-icon-field > .tr-field-icon {
  position: absolute !important;
  top: var(--tr-field-icon-top, 0px) !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}


body.tr-results-icon-layout .tr-internal-booking-card #booking .tr-icon-field > input[type="text"] {
  padding-left: 38px !important;
}
@media (min-width: 641px) {
  body.tr-results-icon-layout .tr-internal-booking-card #booking form {
    align-items: start !important;
  }
  body.tr-results-icon-layout .tr-internal-booking-card #booking .form-group > label {
    min-height: 28px !important;
  }
  body.tr-results-icon-layout .tr-internal-booking-card #booking .form-group.right {
    padding-top: 36px !important;
  }
}
/* Hotel autocomplete: plain text, with suggestions only after typing. */
body .advanced-search .tr-hotel-original { display: none !important; }
.tr-hotel-autocomplete { position: relative; width: 100%; }
body .advanced-search .tr-hotel-autocomplete input.tr-hotel-search {
  width: 100% !important; height: 48px !important; min-height: 48px !important;
  box-sizing: border-box !important; margin: 0 !important; padding: 0 12px 0 38px !important;
  border: 1px solid #d3e1e7 !important; border-radius: 7px !important;
  background: #f9fbfc !important; color: #526773 !important; font-size: 13px !important;
}
.tr-hotel-autocomplete input::placeholder { color: #627783; opacity: 1; }
.tr-hotel-suggestions { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 1000; max-height: 240px; overflow-y: auto; margin: 0 !important; padding: 4px 0 !important; list-style: none !important; border: 1px solid #d3e1e7; border-radius: 7px; background: #fff; box-shadow: 0 8px 22px rgba(7,47,64,.15); }
.tr-hotel-suggestions[hidden] { display: none !important; }
.tr-hotel-suggestions li { padding: 10px 12px !important; margin: 0 !important; float: none !important; width: auto !important; color: #075985; font-size: 13px; line-height: 1.4; text-transform: none; cursor: pointer; }
.tr-hotel-suggestions li:hover,.tr-hotel-suggestions li[aria-selected="true"] { background: #eaf6fb; }
.tr-hotel-suggestions .tr-hotel-empty { color: #627783; cursor: default; }
.tr-hotel-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
body.tr-results-icon-layout .tr-internal-booking-card #booking .tr-icon-field:has(.tr-hotel-autocomplete) > .tr-field-icon { top: var(--tr-field-icon-top, 0px) !important; }
body #booking.advanced-search .tr-hotel-autocomplete input.tr-hotel-search,
body #reservar .advanced-search .tr-hotel-autocomplete input.tr-hotel-search {
  padding-left: 38px !important;
}
body #reservar .advanced-search .tr-hotel-autocomplete {
  margin-top: 8px;
}
body #booking.advanced-search .form-group .tr-hotel-original,
body #reservar .advanced-search .form-group .tr-hotel-original {
  display: none !important;
}
body .tr-booking-engine .advanced-search .form-group .tr-hotel-autocomplete input.tr-hotel-search,
body .tr-internal-booking-card .advanced-search .form-group .tr-hotel-autocomplete input.tr-hotel-search {
  padding-left: 38px !important;
}

/* Uniform may wrap the original select after initialization; hide that wrapper too. */
body #booking.advanced-search .form-group.tr-hotel-field > div.selector,
body #reservar .advanced-search .form-group.tr-hotel-field > div.selector,
body .tr-booking-engine .advanced-search .form-group.tr-hotel-field > div.selector {
  display: none !important;
}

/* Two passenger categories plus total. */
.tr-passenger-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){.tr-passenger-grid{grid-template-columns:1fr}}

/* v49 - Home motor: one stable layout, same visible controls as Results. */
body.home section#reservar .advanced-search .form-group > div.selector{
 position:relative!important;display:block!important;width:100%!important;max-width:100%!important;
 height:48px!important;min-height:48px!important;margin-top:8px!important;padding:0!important;
 overflow:hidden!important;box-sizing:border-box!important;border:1px solid #d9e4e8!important;
 border-radius:7px!important;background:#f9fbfc!important;
}
body.home section#reservar .advanced-search .form-group > div.selector > span{
 position:relative!important;z-index:2!important;display:flex!important;align-items:center!important;width:100%!important;height:100%!important;
 margin:0!important;padding:0 38px!important;box-sizing:border-box!important;overflow:hidden!important;
 white-space:nowrap!important;text-overflow:ellipsis!important;font-size:13px!important;line-height:normal!important;
 top:0!important;
 font-weight:400!important;color:#526773!important;text-align:left!important;visibility:visible!important;opacity:1!important;
 pointer-events:none!important;transform:none!important;
}
body.home section#reservar .advanced-search .form-group > div.selector > span:empty::before{content:"Seleccione el tipo de servicio";color:#526773!important}
body.home section#reservar .advanced-search .form-group > div.selector > select{
 position:absolute!important;z-index:3!important;inset:0!important;display:block!important;width:100%!important;height:48px!important;
 margin:0!important;opacity:0!important;cursor:pointer!important;
}
body.home section#reservar .advanced-search .tr-icon-field{position:relative!important}
body.home section#reservar .advanced-search .tr-icon-field > .tr-field-icon{
 left:12px!important;top:var(--tr-field-icon-top, 50%)!important;width:18px!important;height:18px!important;margin:0!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 transform:translateY(-50%)!important;text-align:center!important;z-index:4!important;pointer-events:none!important;
}
body.home section#reservar .advanced-search .tr-icon-field input[type="text"],
body.home section#reservar .advanced-search .tr-icon-field input[type="search"]{padding-left:38px!important}
@media(max-width:900px){
 body.home section#reservar .advanced-search .tr-icon-field > .tr-field-icon{top:var(--tr-field-icon-top, 50%)!important;transform:translateY(-50%)!important}
}

/* Tropical Ride checkout flow: three steps (vehicle, extras, booking/payment). */
body.tropical-ride-theme .tr-booking-progress-inner{
 grid-template-columns:repeat(3,minmax(0,1fr))!important;
 max-width:620px!important;
}
body.tropical-ride-theme .tr-booking-step{
 width:100%!important;
}
body.tropical-ride-theme .tr-booking-progress-inner::before{
 left:16.666%!important;
 right:16.666%!important;
}
body.tropical-ride-theme .tr-booking-label{
 max-width:185px!important;
 width:100%!important;
 white-space:normal!important;
 overflow-wrap:break-word!important;
 line-height:1.3!important;
}
@media(max-width:700px){
 body.tropical-ride-theme .tr-booking-progress-inner{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:520px!important;}
 body.tropical-ride-theme .tr-booking-progress-inner::before{left:16.666%!important;right:16.666%!important;}
 body.tropical-ride-theme .tr-booking-label{max-width:120px!important;font-size:10px!important;}
}
