/* V23 Google Font: Noto Sans Thai */
:root{
    --tte-font-thai:"Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
}
html body.tte-standalone-page,
body.tte-standalone-page,
.tte-site-header,
.tte-site-footer,
.tte-home,
.tte-tour-page,
.tte-tour-card,
.tte-side-card,
.tte-mega-nav,
.tte-hero-premium,
.tte-section,
.tte-seo-block{
    font-family:var(--tte-font-thai)!important;
    font-feature-settings:"liga" 1;
    text-rendering:geometricPrecision;
}
body.tte-standalone-page input,
body.tte-standalone-page button,
body.tte-standalone-page select,
body.tte-standalone-page textarea{
    font-family:var(--tte-font-thai)!important;
}
.tte-hero-copy h1,
.tte-section-head h2,
.tte-glass-card h3,
.tte-destination-card h3,
.tte-trust-copy h2,
.tte-seo-card h2{
    font-family:var(--tte-font-thai)!important;
    font-weight:900;
}


/* V22 CSS load / theme reset guard */
html body.tte-standalone-page{margin:0!important;padding:0!important;background:#fff!important}
body.tte-standalone-page *{box-sizing:border-box}
body.tte-standalone-page .tte-container{width:min(1180px, calc(100% - 40px));margin-left:auto;margin-right:auto}
body.tte-standalone-page .wp-site-blocks,
body.tte-standalone-page .site,
body.tte-standalone-page #page{margin:0!important;padding:0!important;max-width:none!important}

.tte-page{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827;background:#f7f8fa}
.tte-container{max-width:1180px;margin:0 auto;padding:0 20px}
.tte-section{padding:42px 0}
.tte-hero{padding:72px 0;background:linear-gradient(135deg,#111827,#334155);color:#fff}
.tte-eyebrow{display:inline-flex;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px;margin-bottom:12px}
.tte-hero h1,.tte-detail-copy h1{font-size:clamp(30px,5vw,52px);line-height:1.05;margin:0 0 14px}
.tte-hero p{font-size:18px;max-width:680px;color:#e5e7eb}
.tte-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.tte-toolbar h2{font-size:30px;margin:0 0 4px}
.tte-toolbar p{margin:0;color:#6b7280}
.tte-line-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#111827;color:#fff;text-decoration:none;font-weight:700;box-shadow:0 8px 24px rgba(17,24,39,.14)}
.tte-tour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.tte-tour-card{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.08);border:1px solid rgba(15,23,42,.06)}
.tte-card-image{height:210px;display:block;position:relative;background:#e5e7eb;text-decoration:none}
.tte-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.tte-img-placeholder,.tte-cover-placeholder{height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e5e7eb,#f8fafc);font-weight:800;color:#64748b}
.tte-card-badges,.tte-badges{display:flex;gap:8px;flex-wrap:wrap}
.tte-card-badges{position:absolute;left:14px;top:14px}
.tte-card-badges span,.tte-badges span{padding:6px 10px;border-radius:999px;background:#fff;color:#111827;font-size:12px;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.tte-card-body{padding:18px}
.tte-card-body a{text-decoration:none;color:inherit}
.tte-card-body h3{font-size:19px;line-height:1.3;margin:0 0 8px}
.tte-card-body p{color:#6b7280;min-height:44px;margin:0 0 14px}
.tte-card-meta{display:flex;gap:10px;color:#64748b;font-size:13px;margin-bottom:14px}
.tte-card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eef2f7;padding-top:14px}
.tte-card-bottom small{display:block;color:#64748b}
.tte-card-bottom strong{font-size:20px}
.tte-card-bottom a{padding:9px 13px;border-radius:999px;background:#f3f4f6;font-weight:700}
.tte-detail-hero{padding:42px 0;background:#fff}
.tte-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.tte-cover{border-radius:30px;overflow:hidden;min-height:420px;background:#f1f5f9}
.tte-cover img{width:100%;height:100%;min-height:420px;object-fit:cover;display:block}
.tte-detail-copy p{font-size:17px;color:#4b5563}
.tte-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}
.tte-facts div{background:#f8fafc;border:1px solid #eef2f7;border-radius:18px;padding:14px;text-align:center}
.tte-facts strong{display:block;font-size:20px}
.tte-facts span{font-size:12px;color:#64748b}
.tte-price-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:24px;padding:20px}
.tte-price-box span{display:block;color:#64748b}
.tte-price-box strong{display:block;font-size:34px;margin:4px 0 16px}
.tte-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.tte-card-section,.tte-side-card,.tte-seo-content{background:#fff;border:1px solid rgba(15,23,42,.06);box-shadow:0 10px 28px rgba(15,23,42,.06);border-radius:24px;padding:24px;margin-bottom:20px}
.tte-card-section h2{margin-top:0;font-size:26px}
.tte-side-card{position:sticky;top:24px}
.tte-inquiry-form{display:grid;gap:10px}
.tte-inquiry-form input,.tte-inquiry-form textarea{width:100%;box-sizing:border-box;border:1px solid #dbe3ef;border-radius:14px;padding:12px 14px}
.tte-inquiry-form button{border:0;border-radius:999px;background:#111827;color:#fff;padding:13px 16px;font-weight:800;cursor:pointer}
.tte-full-btn{width:100%;box-sizing:border-box;margin-top:12px}
.tte-period-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:18px;border:1px solid #e5e7eb}
.tte-period-table th,.tte-period-table td{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left}
.tte-period-table th{background:#f8fafc}
.tte-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#ecfdf5;color:#047857;font-weight:700;font-size:12px}
.tte-day{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid #eef2f7}
.tte-day-no{font-weight:900;color:#111827}
.tte-day h3{margin:0 0 6px}
.tte-empty{padding:30px;background:#fff;border-radius:20px;text-align:center;color:#64748b}
@media(max-width:900px){.tte-tour-grid,.tte-detail-grid,.tte-detail-layout{grid-template-columns:1fr}.tte-toolbar{align-items:flex-start;flex-direction:column}.tte-facts{grid-template-columns:repeat(2,1fr)}.tte-side-card{position:static}.tte-cover,.tte-cover img{min-height:280px}}

.tte-period-available{background:#ecfdf5!important;color:#047857!important}
.tte-period-closed{background:#fee2e2!important;color:#991b1b!important}
.tte-period-full{background:#fef3c7!important;color:#92400e!important}
.tte-period-on_request{background:#e0f2fe!important;color:#075985!important}

.tte-action-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tte-pdf-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;background:#f3f4f6;color:#111827;text-decoration:none;font-weight:800;border:1px solid #e5e7eb}
.tte-pdf-btn:hover{background:#e5e7eb;color:#111827}

.tte-hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

.tte-line-qr-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:18px;margin:14px 0 16px;box-shadow:0 10px 30px rgba(15,23,42,.06)}
.tte-line-qr-card img{width:190px;height:190px;object-fit:contain;border-radius:12px}
.tte-line-qr-card strong{font-size:22px;color:#111827}
.tte-line-qr-card span{color:#64748b;font-size:13px}


/* V19 Premium Header + Mega Menu */
:root{
    --tte-tiffany:#0ABAB5;
    --tte-tiffany-soft:#E6FFFF;
    --tte-ink:#071116;
    --tte-navy:#0B1F2A;
    --tte-muted:#64748B;
    --tte-line:#E6EEF0;
}
.tte-site-header{
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(255,255,255,.88);
    backdrop-filter:saturate(180%) blur(18px);
    border-bottom:1px solid rgba(230,238,240,.9);
}
.admin-bar .tte-site-header{top:32px}
.tte-header-top{height:74px;display:flex;align-items:center}
.tte-header-row{display:flex;align-items:center;gap:22px}
.tte-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tte-ink);min-width:170px}
.tte-brand-mark{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--tte-tiffany),#8AF7F1);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;letter-spacing:-.04em;box-shadow:0 12px 28px rgba(10,186,181,.28)}
.tte-brand-text{display:flex;flex-direction:column;line-height:1}
.tte-brand-text strong{font-size:22px;letter-spacing:-.04em}
.tte-brand-text small{font-size:12px;color:var(--tte-muted);margin-top:3px;letter-spacing:.08em;text-transform:uppercase}
.tte-header-search{flex:1;max-width:520px;display:flex;align-items:center;background:#F4F8F9;border:1px solid transparent;border-radius:999px;padding:4px 6px 4px 18px;transition:.2s}
.tte-header-search:focus-within{background:#fff;border-color:var(--tte-tiffany);box-shadow:0 0 0 4px rgba(10,186,181,.12)}
.tte-header-search input{flex:1;border:0!important;background:transparent!important;outline:0!important;box-shadow:none!important;font-size:15px;color:var(--tte-ink);min-height:42px}
.tte-header-search button{width:42px;height:42px;border-radius:999px;border:0;background:var(--tte-ink);color:#fff;font-size:24px;cursor:pointer;line-height:1}
.tte-header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.tte-header-link{font-size:14px;color:var(--tte-ink);text-decoration:none;font-weight:700}
.tte-header-link:hover{color:var(--tte-tiffany)}
.tte-line-mini{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:999px;background:var(--tte-ink);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 10px 26px rgba(7,17,22,.14)}
.tte-line-mini:hover{background:var(--tte-tiffany);color:#fff}
.tte-mobile-menu-toggle{display:none;border:0;background:#F4F8F9;border-radius:12px;width:42px;height:42px;font-size:22px}
.tte-mega-nav{height:54px;border-top:1px solid rgba(230,238,240,.72);background:rgba(255,255,255,.78)}
.tte-mega-row{display:flex;align-items:center;height:54px;gap:4px}
.tte-mega-item{position:relative;height:54px;display:flex;align-items:center}
.tte-mega-trigger,.tte-mega-link{display:flex;align-items:center;height:54px;padding:0 16px;color:var(--tte-ink);text-decoration:none;font-weight:800;font-size:15px;border-bottom:2px solid transparent}
.tte-mega-trigger:hover,.tte-mega-link:hover{color:var(--tte-tiffany);border-bottom-color:var(--tte-tiffany)}
.tte-mega-panel{position:fixed;left:0;right:0;top:128px;background:#fff;border-top:1px solid var(--tte-line);border-bottom:1px solid var(--tte-line);box-shadow:0 22px 48px rgba(7,17,22,.12);opacity:0;visibility:hidden;transform:translateY(-8px);transition:.18s ease;pointer-events:none}
.admin-bar .tte-mega-panel{top:160px}
.tte-mega-item:hover .tte-mega-panel,.tte-mega-item:focus-within .tte-mega-panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.tte-mega-panel-inner{max-width:1180px;margin:0 auto;padding:28px 20px;display:grid;grid-template-columns:300px 1fr;gap:36px}
.tte-mega-feature{border-radius:28px;background:linear-gradient(135deg,#071116 0%,#0B2A2C 55%,#0ABAB5 155%);padding:26px;color:#fff;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}
.tte-mega-feature span{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;margin-bottom:auto}
.tte-mega-feature h3{font-size:30px;margin:16px 0 8px;letter-spacing:-.04em}
.tte-mega-feature p{color:#D8F7F6;margin:0 0 16px}
.tte-mega-feature a{display:inline-flex;color:#071116;background:#fff;text-decoration:none;font-weight:900;border-radius:999px;padding:10px 14px;align-self:flex-start}
.tte-mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 22px}
.tte-mega-city{display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;text-decoration:none;color:var(--tte-ink);transition:.16s}
.tte-mega-city:hover{background:var(--tte-tiffany-soft);transform:translateY(-1px)}
.tte-city-orb{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#E6FFFF,#FFFFFF);border:1px solid #BDF4F1;display:flex;align-items:center;justify-content:center;color:var(--tte-tiffany);font-weight:900;box-shadow:0 10px 24px rgba(10,186,181,.12)}
.tte-mega-city strong{display:block;font-size:16px}
.tte-mega-city small{display:block;color:var(--tte-muted);font-size:12px;margin-top:2px}
@media(max-width:980px){
    .tte-header-top{height:auto;padding:12px 0}
    .tte-header-row{flex-wrap:wrap;gap:12px}
    .tte-brand{min-width:auto}
    .tte-header-search{order:3;max-width:none;flex-basis:100%}
    .tte-header-link{display:none}
    .tte-mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center}
    .tte-mega-nav{height:auto;display:none}
    .tte-site-header.is-open .tte-mega-nav{display:block}
    .tte-mega-row{height:auto;display:block;padding:8px 20px 16px}
    .tte-mega-item{height:auto;display:block}
    .tte-mega-trigger,.tte-mega-link{height:auto;padding:14px 0;border-bottom:1px solid var(--tte-line)}
    .tte-mega-panel{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;pointer-events:auto;display:none}
    .tte-mega-item.is-open .tte-mega-panel{display:block}
    .tte-mega-panel-inner{padding:12px 0 20px;display:block}
    .tte-mega-feature{min-height:auto;margin-bottom:12px}
    .tte-mega-grid{grid-template-columns:1fr}
}
@media(max-width:782px){
    .admin-bar .tte-site-header{top:46px}
}


/* V20 Premium Home + Footer */
.tte-home{background:#fff;color:var(--tte-ink)}
.tte-hero-premium{
    position:relative;
    overflow:hidden;
    padding:78px 0 88px;
    background:
        radial-gradient(circle at 78% 20%, rgba(10,186,181,.28), transparent 34%),
        linear-gradient(135deg,#F6FFFF 0%,#FFFFFF 48%,#E7FFFF 100%);
}
.tte-hero-premium:before{
    content:"";
    position:absolute;
    inset:auto -10% -35% 55%;
    height:520px;
    background:radial-gradient(circle, rgba(10,186,181,.18), transparent 62%);
    pointer-events:none;
}
.tte-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:46px;align-items:center}
.tte-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(10,186,181,.1);color:#087D79;font-weight:900;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.tte-hero-copy h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.07em;margin:20px 0 20px;color:#071116}
.tte-hero-copy p{font-size:19px;line-height:1.7;color:#475569;max-width:650px;margin:0 0 28px}
.tte-hero-search{display:flex;align-items:center;gap:8px;padding:8px;background:#fff;border-radius:999px;box-shadow:0 24px 60px rgba(7,17,22,.12);border:1px solid rgba(10,186,181,.18);max-width:720px}
.tte-hero-search input{flex:1;border:0!important;box-shadow:none!important;outline:0!important;background:transparent!important;min-height:52px;padding:0 18px;font-size:16px}
.tte-hero-search button{border:0;border-radius:999px;background:#071116;color:#fff;padding:16px 26px;font-weight:900;cursor:pointer}
.tte-hero-search button:hover{background:#0ABAB5}
.tte-quick-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tte-quick-chips a{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.74);border:1px solid #D9F4F2;color:#071116;text-decoration:none;font-weight:800}
.tte-quick-chips a:hover{background:#0ABAB5;color:#fff}
.tte-hero-visual{position:relative;min-height:440px;border-radius:42px;background:
    linear-gradient(135deg,rgba(7,17,22,.92),rgba(10,186,181,.55)),
    radial-gradient(circle at 25% 25%,rgba(255,255,255,.24),transparent 34%);
    box-shadow:0 34px 90px rgba(7,17,22,.22);
    overflow:hidden;
}
.tte-hero-visual:before{content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.24);border-radius:34px}
.tte-glass-card{position:absolute;left:34px;right:34px;bottom:34px;padding:28px;border-radius:30px;background:rgba(255,255,255,.14);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.22);color:#fff}
.tte-glass-card span{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:12px;font-weight:800}
.tte-glass-card h3{font-size:40px;letter-spacing:-.05em;margin:18px 0 8px}
.tte-glass-card p{color:#E6FFFF;margin:0 0 20px;line-height:1.7}
.tte-glass-card a{display:inline-flex;text-decoration:none;background:#fff;color:#071116;border-radius:999px;padding:12px 16px;font-weight:900}
.tte-floating-badge{position:absolute;right:28px;top:28px;background:#fff;color:#071116;border-radius:999px;padding:11px 16px;font-weight:900;box-shadow:0 18px 40px rgba(7,17,22,.18)}
.tte-section{padding:72px 0}
.tte-section-soft{background:#F7FBFC}
.tte-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:28px}
.tte-section-head h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.055em;margin:12px 0 0;color:#071116}
.tte-section-head>a{color:#071116;font-weight:900;text-decoration:none;border-bottom:2px solid #0ABAB5}
.tte-destination-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tte-destination-card{min-height:210px;border-radius:30px;padding:24px;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 22px 54px rgba(7,17,22,.12)}
.tte-destination-card:before{content:"";position:absolute;inset:-40% -30% auto auto;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.22)}
.tte-destination-card span{font-size:12px;font-weight:900;opacity:.8;text-transform:uppercase;letter-spacing:.08em}
.tte-destination-card h3{font-size:34px;margin:12px 0 6px;letter-spacing:-.05em}
.tte-destination-card p{margin:0;color:rgba(255,255,255,.84)}
.tte-destination-card strong{align-self:flex-start;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:10px 14px;margin-top:24px}
.tte-dest-sakura{background:linear-gradient(135deg,#182335,#EF9AB8)}
.tte-dest-jade{background:linear-gradient(135deg,#071116,#0ABAB5)}
.tte-dest-sky{background:linear-gradient(135deg,#0B1F2A,#7DD3FC)}
.tte-dest-royal{background:linear-gradient(135deg,#111827,#6366F1)}
.tte-dest-emerald{background:linear-gradient(135deg,#052E2B,#10B981)}
.tte-dest-amber{background:linear-gradient(135deg,#1F1300,#F59E0B)}
.tte-tour-grid-premium{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.tte-empty-state{grid-column:1/-1;background:#fff;border:1px solid #E6EEF0;border-radius:28px;padding:34px;text-align:center}
.tte-season-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tte-season-card{display:block;padding:24px;border-radius:28px;text-decoration:none;color:#071116;background:#fff;border:1px solid #E6EEF0;box-shadow:0 16px 42px rgba(7,17,22,.06);transition:.18s}
.tte-season-card:hover{transform:translateY(-3px);border-color:#0ABAB5;box-shadow:0 24px 58px rgba(10,186,181,.12)}
.tte-season-card span{font-size:22px;font-weight:900;letter-spacing:-.03em}
.tte-season-card p{margin:8px 0 0;color:#64748B}
.tte-trust-section{padding:76px 0;background:linear-gradient(135deg,#071116 0%,#0B2A2C 55%,#0ABAB5 150%);color:#fff}
.tte-trust-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:38px;align-items:center}
.tte-trust-copy h2{font-size:clamp(34px,5vw,56px);line-height:1.05;letter-spacing:-.06em;margin:16px 0}
.tte-trust-copy p{color:#D8F7F6;font-size:18px;line-height:1.8}
.tte-trust-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tte-trust-cards div{padding:24px;border-radius:26px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px)}
.tte-trust-cards strong{display:block;font-size:24px;letter-spacing:-.04em}
.tte-trust-cards span{display:block;color:#D8F7F6;margin-top:8px}
.tte-month-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}
.tte-month-grid a{text-align:center;text-decoration:none;color:#071116;background:#F7FBFC;border:1px solid #E6EEF0;border-radius:18px;padding:16px 8px;font-weight:900}
.tte-month-grid a:hover{background:#0ABAB5;color:#fff;border-color:#0ABAB5}
.tte-seo-block{padding:40px 0 82px;background:#fff}
.tte-seo-card{background:#F7FBFC;border:1px solid #E6EEF0;border-radius:34px;padding:34px;max-width:980px}
.tte-seo-card h2{font-size:34px;letter-spacing:-.04em;margin:16px 0}
.tte-seo-card p{color:#475569;line-height:1.85;font-size:16px}
.tte-site-footer{background:#071116;color:#fff;padding:62px 0 26px}
.tte-footer-top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:34px}
.tte-footer-brand p{color:#B6C6CB;line-height:1.8;max-width:380px}
.tte-footer-logo{color:#fff!important;margin-bottom:18px}
.tte-footer-line{display:inline-flex;background:#0ABAB5;color:#071116;text-decoration:none;border-radius:999px;padding:12px 16px;font-weight:900;margin-top:8px}
.tte-footer-col h4{font-size:16px;margin:0 0 14px;color:#fff}
.tte-footer-col a{display:block;color:#B6C6CB;text-decoration:none;margin:10px 0}
.tte-footer-col a:hover{color:#0ABAB5}
.tte-footer-bottom{display:flex;justify-content:space-between;gap:18px;border-top:1px solid rgba(255,255,255,.12);margin-top:38px;padding-top:22px;color:#789099;font-size:13px}
@media(max-width:1100px){
    .tte-tour-grid-premium{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tte-month-grid{grid-template-columns:repeat(6,1fr)}
}
@media(max-width:900px){
    .tte-hero-grid,.tte-trust-grid{grid-template-columns:1fr}
    .tte-hero-visual{min-height:360px}
    .tte-destination-grid,.tte-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tte-tour-grid-premium{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tte-footer-top{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    .tte-hero-premium{padding:42px 0 56px}
    .tte-hero-search{border-radius:26px;display:block;padding:10px}
    .tte-hero-search input{width:100%;padding:0 10px}
    .tte-hero-search button{width:100%;margin-top:8px}
    .tte-destination-grid,.tte-season-grid,.tte-tour-grid-premium,.tte-trust-cards{grid-template-columns:1fr}
    .tte-month-grid{grid-template-columns:repeat(3,1fr)}
    .tte-footer-top{grid-template-columns:1fr}
    .tte-footer-bottom{display:block}
}


/* V21 Standalone root/home rendering */
body.tte-standalone-page{margin:0;background:#fff;color:#071116}
body.tte-standalone-page #page,
body.tte-standalone-page .site,
body.tte-standalone-page .wp-site-blocks{margin:0;padding:0}
body.tte-standalone-page a{text-decoration-thickness:1px}
body.tte-standalone-page .tte-site-header + .tte-home{margin-top:0}



/* V24 Trip.com Minimal Typography Fix
   ลดความบวมของ Noto Sans Thai และทำ UI ให้ดูเรียบ โปร อ่านง่าย */
body.tte-standalone-page{
    font-family:"Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif!important;
    font-size:16px;
    line-height:1.55;
    color:#111827;
    background:#fff!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:auto;
}
body.tte-standalone-page *{
    letter-spacing:normal!important;
}

/* Header compact like Trip.com */
.tte-site-header{
    background:#fff!important;
    box-shadow:0 1px 0 rgba(17,24,39,.08);
    border-bottom:0!important;
}
.tte-header-top{
    height:64px!important;
}
.tte-header-row{
    gap:20px!important;
}
.tte-brand{
    min-width:160px!important;
}
.tte-brand-mark{
    width:38px!important;
    height:38px!important;
    border-radius:12px!important;
    font-size:17px!important;
    box-shadow:none!important;
}
.tte-brand-text strong{
    font-size:24px!important;
    font-weight:600!important;
    line-height:1.05!important;
}
.tte-brand-text small{
    font-size:11px!important;
    font-weight:400!important;
    letter-spacing:.04em!important;
    color:#64748b!important;
}
.tte-header-search{
    max-width:520px!important;
    height:44px!important;
    padding:0 6px 0 18px!important;
    background:#f5f6f7!important;
    box-shadow:none!important;
    border:1px solid transparent!important;
}
.tte-header-search input{
    min-height:42px!important;
    font-size:15px!important;
    font-weight:400!important;
}
.tte-header-search button{
    width:40px!important;
    height:40px!important;
    font-size:20px!important;
    font-weight:600!important;
    background:#071116!important;
}
.tte-header-link{
    font-size:15px!important;
    font-weight:700!important;
}
.tte-line-mini{
    padding:11px 22px!important;
    font-size:16px!important;
    font-weight:800!important;
    box-shadow:0 8px 18px rgba(7,17,22,.12)!important;
}

/* Mega nav compact */
.tte-mega-nav{
    height:48px!important;
    background:#fff!important;
}
.tte-mega-row{
    height:48px!important;
}
.tte-mega-trigger,
.tte-mega-link{
    height:48px!important;
    padding:0 18px!important;
    font-size:15px!important;
    font-weight:700!important;
}
.tte-mega-panel{
    top:112px!important;
}
.admin-bar .tte-mega-panel{
    top:144px!important;
}
.tte-mega-feature h3{
    font-size:26px!important;
    font-weight:700!important;
}
.tte-mega-feature p,
.tte-mega-city small{
    font-size:13px!important;
}
.tte-mega-city strong{
    font-size:15px!important;
    font-weight:700!important;
}

/* Hero: reduce Apple-big style to Trip minimal */
.tte-hero-premium{
    padding:56px 0 56px!important;
    background:linear-gradient(180deg,#f4ffff 0%,#ffffff 78%)!important;
}
.tte-hero-grid{
    grid-template-columns:minmax(0,1fr) 460px!important;
    gap:44px!important;
}
.tte-kicker{
    font-size:12px!important;
    font-weight:700!important;
    padding:7px 12px!important;
    color:#0f766e!important;
    background:#dff9f7!important;
    text-transform:uppercase;
}
.tte-hero-copy h1{
    font-size:clamp(38px,4.2vw,58px)!important;
    line-height:1.12!important;
    font-weight:800!important;
    margin:18px 0 18px!important;
    color:#071116!important;
}
.tte-hero-copy p{
    font-size:18px!important;
    line-height:1.8!important;
    font-weight:400!important;
    color:#64748b!important;
    max-width:680px!important;
}
.tte-hero-search{
    max-width:640px!important;
    padding:7px!important;
    border-radius:999px!important;
    box-shadow:0 14px 34px rgba(15,23,42,.08)!important;
}
.tte-hero-search input{
    min-height:48px!important;
    font-size:15px!important;
    font-weight:400!important;
}
.tte-hero-search button{
    padding:13px 22px!important;
    font-size:15px!important;
    font-weight:700!important;
}
.tte-quick-chips a{
    padding:9px 16px!important;
    font-size:15px!important;
    font-weight:700!important;
    background:#fff!important;
    box-shadow:0 5px 16px rgba(15,23,42,.04)!important;
}
.tte-hero-visual{
    min-height:340px!important;
    border-radius:30px!important;
    box-shadow:0 18px 45px rgba(15,23,42,.12)!important;
}
.tte-glass-card{
    left:24px!important;
    right:24px!important;
    bottom:24px!important;
    padding:24px!important;
    border-radius:24px!important;
}
.tte-glass-card h3{
    font-size:34px!important;
    line-height:1.1!important;
    font-weight:800!important;
}
.tte-glass-card p{
    font-size:17px!important;
    line-height:1.7!important;
}
.tte-glass-card a{
    padding:11px 18px!important;
    font-size:16px!important;
    font-weight:800!important;
}
.tte-floating-badge{
    padding:9px 14px!important;
    font-size:15px!important;
    font-weight:800!important;
}

/* Sections */
.tte-section{
    padding:54px 0!important;
}
.tte-section-head{
    margin-bottom:22px!important;
}
.tte-section-head h2{
    font-size:clamp(26px,3vw,36px)!important;
    line-height:1.25!important;
    font-weight:800!important;
    margin-top:10px!important;
}
.tte-section-head>a{
    font-size:15px!important;
    font-weight:700!important;
}

/* Destination cards: smaller */
.tte-destination-grid{
    gap:14px!important;
}
.tte-destination-card{
    min-height:170px!important;
    border-radius:22px!important;
    padding:20px!important;
    box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
.tte-destination-card h3{
    font-size:26px!important;
    line-height:1.2!important;
    font-weight:800!important;
}
.tte-destination-card p{
    font-size:14px!important;
}
.tte-destination-card strong{
    padding:8px 12px!important;
    font-size:14px!important;
}

/* Tour cards: fix huge Thai text */
.tte-tour-grid-premium{
    gap:18px!important;
}
.tte-tour-card{
    border-radius:22px!important;
    overflow:hidden!important;
    box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
}
.tte-tour-card h3,
.tte-tour-card .tte-tour-title{
    font-size:18px!important;
    line-height:1.45!important;
    font-weight:700!important;
    margin:0 0 8px!important;
}
.tte-tour-card p,
.tte-tour-card .tte-tour-desc{
    font-size:14px!important;
    line-height:1.65!important;
    color:#64748b!important;
    font-weight:400!important;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.tte-tour-card .tte-card-meta,
.tte-tour-card small,
.tte-tour-card .tte-tour-meta{
    font-size:13px!important;
    color:#64748b!important;
}
.tte-tour-card .tte-price,
.tte-tour-card .tte-tour-price{
    font-size:20px!important;
    line-height:1.25!important;
    font-weight:800!important;
}
.tte-tour-card .tte-btn,
.tte-tour-card a[class*="btn"],
.tte-tour-card .tte-card-btn{
    font-size:15px!important;
    padding:10px 16px!important;
    border-radius:999px!important;
    font-weight:800!important;
}

/* Catch existing card structure if no semantic classes */
.tte-tour-card a{
    font-weight:700;
}
.tte-tour-card .tte-card-body,
.tte-tour-card .tte-card-content{
    padding:18px!important;
}

/* Season/Trust/Footer typography */
.tte-season-card{
    border-radius:22px!important;
    padding:20px!important;
}
.tte-season-card span{
    font-size:20px!important;
    font-weight:800!important;
}
.tte-season-card p{
    font-size:14px!important;
    line-height:1.6!important;
}
.tte-trust-section{
    padding:58px 0!important;
}
.tte-trust-copy h2{
    font-size:clamp(30px,3.6vw,44px)!important;
    line-height:1.18!important;
    font-weight:800!important;
}
.tte-trust-copy p{
    font-size:16px!important;
    line-height:1.8!important;
}
.tte-trust-cards strong{
    font-size:20px!important;
    font-weight:800!important;
}
.tte-month-grid a{
    padding:13px 8px!important;
    font-size:15px!important;
    font-weight:700!important;
    border-radius:14px!important;
}
.tte-seo-card h2{
    font-size:28px!important;
    line-height:1.35!important;
    font-weight:800!important;
}
.tte-seo-card p{
    font-size:15px!important;
    line-height:1.85!important;
}
.tte-site-footer{
    padding:48px 0 24px!important;
}
.tte-footer-col h4{
    font-size:15px!important;
    font-weight:800!important;
}
.tte-footer-col a,
.tte-footer-brand p,
.tte-footer-bottom{
    font-size:14px!important;
}

/* Mobile */
@media(max-width:900px){
    .tte-hero-grid{
        grid-template-columns:1fr!important;
    }
    .tte-hero-visual{
        min-height:300px!important;
    }
}
@media(max-width:640px){
    .tte-hero-copy h1{
        font-size:36px!important;
    }
    .tte-hero-copy p{
        font-size:16px!important;
    }
    .tte-header-top{
        height:auto!important;
    }
}


/* V24 clean tour card */
.tte-card-modern{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px!important;
    overflow:hidden;
    box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
    transition:.18s ease;
}
.tte-card-modern:hover{
    transform:translateY(-2px);
    box-shadow:0 14px 34px rgba(15,23,42,.1)!important;
}
.tte-card-image{
    display:block;
    position:relative;
    aspect-ratio:16/9;
    overflow:hidden;
    background:#f3f4f6;
}
.tte-card-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.tte-card-placeholder{
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0f766e;
    font-weight:800;
    background:linear-gradient(135deg,#ecfeff,#f8fafc);
}
.tte-card-badges{
    position:absolute;
    top:10px;
    left:10px;
    display:flex;
    gap:6px;
    flex-wrap:wrap;
}
.tte-card-badges span{
    background:#0ABAB5;
    color:#fff;
    border-radius:999px;
    padding:4px 8px;
    font-size:11px;
    font-weight:700;
}
.tte-card-modern .tte-card-body{
    padding:16px!important;
}
.tte-card-modern h3{
    margin:0 0 8px!important;
}
.tte-card-modern h3 a{
    color:#111827;
    text-decoration:none;
    font-size:18px!important;
    line-height:1.4!important;
    font-weight:700!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.tte-card-modern p{
    margin:0 0 12px;
    color:#64748b;
    font-size:14px!important;
    line-height:1.65!important;
    min-height:46px;
}
.tte-card-modern .tte-card-meta{
    display:flex;
    gap:10px;
    color:#64748b;
    font-size:13px!important;
    margin-bottom:14px;
}
.tte-card-modern .tte-card-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-top:1px solid #e5e7eb;
    padding-top:14px;
}
.tte-card-price small{
    display:block;
    color:#64748b;
    font-size:12px;
}
.tte-card-price strong{
    font-size:20px!important;
    line-height:1.1;
    font-weight:800;
    color:#111827;
}
.tte-card-price span{
    font-size:13px;
    color:#111827;
    margin-left:2px;
}
.tte-card-cta{
    flex:0 0 auto;
    background:#f3f4f6;
    color:#111827;
    text-decoration:none;
    border-radius:999px;
    padding:10px 14px;
    font-size:14px!important;
    font-weight:800!important;
}
.tte-card-cta:hover{
    background:#071116;
    color:#fff;
}



/* V25 Klook-like Mobile Home UI */
.tte-mobile-icon-btn,
.tte-mobile-shortcuts,
.tte-mobile-sheet{
    display:none;
}

@media(max-width:640px){
    body.tte-standalone-page{
        background:#f5f6f7!important;
    }

    .tte-site-header{
        position:sticky;
        top:0;
        z-index:1000;
        background:#fff!important;
        box-shadow:0 1px 0 rgba(15,23,42,.08)!important;
    }
    .admin-bar .tte-site-header{
        top:46px;
    }
    .tte-header-top{
        padding:10px 0 8px!important;
    }
    .tte-header-row{
        width:calc(100% - 28px)!important;
        gap:8px!important;
        display:grid!important;
        grid-template-columns:auto 1fr auto auto auto!important;
        align-items:center!important;
    }
    .tte-brand{
        min-width:0!important;
        gap:8px!important;
        grid-column:2/3;
        justify-self:start;
    }
    .tte-brand-mark{
        width:36px!important;
        height:36px!important;
        border-radius:10px!important;
        font-size:16px!important;
    }
    .tte-brand-text strong{
        font-size:22px!important;
    }
    .tte-brand-text small{
        font-size:10px!important;
    }

    .tte-mobile-menu-toggle{
        display:inline-flex!important;
        grid-column:1/2;
        grid-row:1;
        background:transparent!important;
        width:34px!important;
        height:34px!important;
        font-size:25px!important;
        border-radius:8px!important;
        order:0;
    }

    .tte-header-search{
        grid-column:1/6;
        grid-row:2;
        width:100%!important;
        max-width:none!important;
        height:42px!important;
        margin-top:8px!important;
        border-radius:999px!important;
        background:#f3f4f6!important;
        padding:0 5px 0 14px!important;
    }
    .tte-header-search input{
        min-height:40px!important;
        font-size:14px!important;
    }
    .tte-header-search button{
        width:36px!important;
        height:36px!important;
        font-size:18px!important;
    }

    .tte-header-actions{
        display:flex!important;
        gap:10px!important;
        grid-column:3/6;
        grid-row:1;
        justify-self:end;
        align-items:center!important;
    }
    .tte-header-link,
    .tte-line-mini{
        display:none!important;
    }
    .tte-mobile-icon-btn{
        display:inline-flex!important;
        align-items:center;
        justify-content:center;
        width:34px;
        height:34px;
        border:0;
        background:transparent;
        color:#071116;
        text-decoration:none;
        font-size:22px;
        line-height:1;
        border-radius:10px;
    }
    .tte-mobile-icon-btn:hover{
        background:#f3f4f6;
        color:#071116;
    }

    .tte-mega-nav{
        display:none!important;
    }
    .tte-site-header.is-open .tte-mega-nav{
        display:block!important;
    }

    /* Mobile hero close to Klook: search first, not huge luxury poster */
    .tte-hero-premium{
        padding:14px 0 22px!important;
        background:
            radial-gradient(circle at 10% 0%, rgba(255,184,0,.28), transparent 28%),
            radial-gradient(circle at 88% 12%, rgba(10,186,181,.22), transparent 26%),
            linear-gradient(180deg,#fff7e8 0%,#ffffff 42%,#f5f6f7 100%)!important;
    }
    .tte-hero-grid{
        display:block!important;
    }
    .tte-hero-copy{
        padding-top:0!important;
    }
    .tte-kicker{
        display:none!important;
    }
    .tte-hero-copy h1{
        display:none!important;
    }
    .tte-hero-copy p{
        font-size:15px!important;
        line-height:1.6!important;
        margin:6px 0 12px!important;
        color:#64748b!important;
    }
    .tte-hero-search{
        display:flex!important;
        max-width:none!important;
        width:100%!important;
        border-radius:999px!important;
        border:1px solid #ff6b2c!important;
        box-shadow:none!important;
        background:#fff!important;
        padding:4px 5px 4px 14px!important;
        margin:0 0 12px!important;
    }
    .tte-hero-search input{
        min-height:42px!important;
        font-size:14px!important;
        padding:0 8px!important;
    }
    .tte-hero-search button{
        width:auto!important;
        min-width:96px!important;
        padding:11px 14px!important;
        font-size:14px!important;
        background:#ff5b00!important;
        color:#fff!important;
    }
    .tte-quick-chips{
        display:none!important;
    }

    .tte-mobile-shortcuts{
        display:grid!important;
        grid-template-columns:repeat(6,1fr);
        gap:8px;
        margin:12px 0 4px;
    }
    .tte-mobile-shortcuts a,
    .tte-mobile-shortcuts button{
        appearance:none;
        border:0;
        background:transparent;
        display:flex;
        flex-direction:column;
        align-items:center;
        gap:5px;
        text-decoration:none;
        color:#111827;
        padding:4px 0;
        min-width:0;
    }
    .tte-mobile-shortcuts span{
        width:34px;
        height:34px;
        border-radius:14px;
        display:flex;
        align-items:center;
        justify-content:center;
        background:linear-gradient(135deg,#fff,#e8ffff);
        box-shadow:0 4px 12px rgba(15,23,42,.06);
        font-size:18px;
    }
    .tte-mobile-shortcuts strong{
        font-size:11px;
        line-height:1.2;
        font-weight:700;
        white-space:nowrap;
    }

    .tte-hero-visual{
        display:none!important;
    }

    /* Home content cards mobile like app */
    .tte-section{
        padding:18px 0!important;
        background:#f5f6f7!important;
    }
    .tte-section .tte-container,
    .tte-trust-section .tte-container,
    .tte-seo-block .tte-container{
        width:calc(100% - 28px)!important;
    }
    .tte-section-head{
        margin-bottom:12px!important;
        align-items:center!important;
    }
    .tte-section-head h2{
        font-size:22px!important;
        line-height:1.25!important;
        margin:0!important;
        font-weight:800!important;
    }
    .tte-section-head .tte-kicker{
        display:none!important;
    }
    .tte-section-head>a{
        font-size:13px!important;
        color:#111827!important;
        border-bottom:1px solid #111827!important;
        font-weight:700!important;
    }

    .tte-destination-grid{
        display:flex!important;
        gap:12px!important;
        overflow-x:auto;
        padding:2px 2px 10px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
    }
    .tte-destination-grid::-webkit-scrollbar{
        display:none;
    }
    .tte-destination-card{
        flex:0 0 150px;
        min-height:170px!important;
        border-radius:18px!important;
        padding:14px!important;
        scroll-snap-align:start;
        box-shadow:0 8px 18px rgba(15,23,42,.1)!important;
    }
    .tte-destination-card h3{
        font-size:18px!important;
        margin:8px 0 4px!important;
    }
    .tte-destination-card p{
        font-size:12px!important;
        line-height:1.4!important;
    }
    .tte-destination-card strong{
        font-size:12px!important;
        padding:6px 9px!important;
    }

    .tte-tour-grid-premium{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }
    .tte-card-modern{
        border-radius:16px!important;
        box-shadow:0 6px 16px rgba(15,23,42,.08)!important;
    }
    .tte-card-modern .tte-card-body{
        padding:12px!important;
    }
    .tte-card-modern h3 a{
        font-size:14px!important;
        line-height:1.45!important;
        -webkit-line-clamp:2;
    }
    .tte-card-modern p{
        display:none!important;
    }
    .tte-card-modern .tte-card-meta{
        font-size:11px!important;
        margin-bottom:10px!important;
        gap:6px!important;
        flex-wrap:wrap;
    }
    .tte-card-modern .tte-card-bottom{
        display:block!important;
        padding-top:10px!important;
    }
    .tte-card-price strong{
        font-size:17px!important;
    }
    .tte-card-price span,
    .tte-card-price small{
        font-size:11px!important;
    }
    .tte-card-cta{
        display:block!important;
        text-align:center;
        margin-top:9px;
        padding:8px 10px!important;
        font-size:12px!important;
    }

    .tte-season-grid{
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:10px!important;
    }
    .tte-season-card{
        border-radius:16px!important;
        padding:14px!important;
        box-shadow:0 5px 14px rgba(15,23,42,.06)!important;
    }
    .tte-season-card span{
        font-size:15px!important;
    }
    .tte-season-card p{
        font-size:12px!important;
        line-height:1.45!important;
    }

    .tte-trust-section{
        padding:22px 0!important;
        background:#f5f6f7!important;
        color:#111827!important;
    }
    .tte-trust-grid{
        display:block!important;
        background:#fff;
        border-radius:22px;
        padding:18px;
        box-shadow:0 6px 18px rgba(15,23,42,.06);
    }
    .tte-trust-copy h2{
        font-size:22px!important;
        line-height:1.35!important;
        margin:0 0 8px!important;
    }
    .tte-trust-copy p{
        font-size:14px!important;
        line-height:1.7!important;
        color:#64748b!important;
    }
    .tte-trust-cards{
        grid-template-columns:repeat(2,1fr)!important;
        gap:10px!important;
        margin-top:14px;
    }
    .tte-trust-cards div{
        background:#f8fafc!important;
        border:1px solid #e5e7eb!important;
        padding:12px!important;
        border-radius:14px!important;
    }
    .tte-trust-cards strong{
        font-size:14px!important;
        color:#111827!important;
    }
    .tte-trust-cards span{
        font-size:12px!important;
        color:#64748b!important;
    }

    .tte-month-grid{
        grid-template-columns:repeat(4,1fr)!important;
        gap:8px!important;
    }
    .tte-month-grid a{
        font-size:13px!important;
        padding:10px 6px!important;
        border-radius:12px!important;
        background:#fff!important;
    }

    .tte-seo-block{
        padding:18px 0 24px!important;
        background:#f5f6f7!important;
    }
    .tte-seo-card{
        border-radius:20px!important;
        padding:18px!important;
        background:#fff!important;
    }
    .tte-seo-card h2{
        font-size:20px!important;
        line-height:1.4!important;
    }
    .tte-seo-card p{
        font-size:14px!important;
        line-height:1.8!important;
    }

    .tte-site-footer{
        padding:28px 0 90px!important;
    }
    .tte-footer-top{
        grid-template-columns:1fr!important;
        gap:20px!important;
    }
    .tte-footer-bottom{
        font-size:12px!important;
    }
}

/* Klook-style bottom sheet */
.tte-sheet-lock{
    overflow:hidden;
}
.tte-mobile-sheet{
    position:fixed;
    inset:0;
    z-index:9999;
    pointer-events:none;
}
.tte-mobile-sheet-backdrop{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.52);
    opacity:0;
    transition:.18s ease;
}
.tte-mobile-sheet-panel{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-height:82vh;
    overflow:auto;
    background:#f5f6f7;
    border-radius:24px 24px 0 0;
    transform:translateY(100%);
    transition:.22s ease;
    padding:8px 14px 22px;
    box-shadow:0 -20px 60px rgba(0,0,0,.18);
}
.tte-mobile-sheet.is-open{
    display:block;
    pointer-events:auto;
}
.tte-mobile-sheet.is-open .tte-mobile-sheet-backdrop{
    opacity:1;
}
.tte-mobile-sheet.is-open .tte-mobile-sheet-panel{
    transform:translateY(0);
}
.tte-mobile-sheet-handle{
    width:42px;
    height:4px;
    border-radius:999px;
    background:#d1d5db;
    margin:6px auto 10px;
}
.tte-mobile-sheet-head{
    display:grid;
    grid-template-columns:42px 1fr 42px;
    align-items:center;
    padding:6px 0 14px;
}
.tte-mobile-sheet-head h3{
    margin:0;
    text-align:center;
    font-size:18px;
    font-weight:800;
    color:#111827;
}
.tte-sheet-close,
.tte-sheet-view-toggle{
    width:38px;
    height:38px;
    border:0;
    border-radius:50%;
    background:#fff;
    font-size:26px;
    line-height:1;
    color:#111827;
}
.tte-sheet-view-toggle{
    font-size:18px;
    color:#ff5b00;
}
.tte-sheet-section{
    background:#fff;
    border-radius:18px;
    padding:16px;
    margin:12px 0;
    box-shadow:0 5px 16px rgba(15,23,42,.05);
}
.tte-sheet-section-title{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center;
    margin-bottom:14px;
}
.tte-sheet-section-title h4{
    margin:0;
    font-size:18px;
    font-weight:800;
    color:#111827;
}
.tte-sheet-section-title a{
    font-size:13px;
    color:#111827;
    font-weight:700;
}
.tte-sheet-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px 10px;
}
.tte-sheet-grid a{
    text-decoration:none;
    color:#111827;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:7px;
    text-align:center;
    min-width:0;
}
.tte-sheet-grid span{
    width:42px;
    height:42px;
    border-radius:16px;
    background:linear-gradient(135deg,#fff7ed,#e0ffff);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
}
.tte-sheet-grid strong{
    font-size:12px;
    line-height:1.25;
    font-weight:700;
}



/* V26 Mobile Menu Fix + Clean White Mobile UI */
@media(max-width:640px){
    /* White, minimal background — no Klook-like orange/gradient memory */
    body.tte-standalone-page,
    .tte-home,
    .tte-section,
    .tte-section-soft,
    .tte-seo-block{
        background:#ffffff!important;
    }

    .tte-site-header{
        background:#fff!important;
        border-bottom:1px solid #eef2f7!important;
        box-shadow:none!important;
    }

    /* Hamburger must not expand inline nav over hero */
    .tte-mega-nav,
    .tte-site-header.is-open .tte-mega-nav{
        display:none!important;
        height:0!important;
        overflow:hidden!important;
    }

    .tte-mobile-menu-toggle{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        background:#fff!important;
        color:#071116!important;
        border:0!important;
        font-size:28px!important;
        width:38px!important;
        height:38px!important;
        padding:0!important;
    }

    .tte-mobile-icon-btn{
        background:#fff!important;
        font-size:20px!important;
    }

    .tte-header-row{
        border:0!important;
    }

    .tte-header-search{
        background:#f6f7f8!important;
        border:1px solid #eef2f7!important;
        box-shadow:none!important;
    }

    /* Clean hero */
    .tte-hero-premium{
        background:#fff!important;
        padding:14px 0 22px!important;
        border-bottom:1px solid #f1f5f9!important;
    }

    .tte-hero-copy p{
        color:#64748b!important;
        margin:8px 0 14px!important;
    }

    .tte-hero-search{
        border:1px solid #dbeafe!important;
        background:#fff!important;
        box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
    }

    .tte-hero-search button{
        background:#071116!important;
        color:#fff!important;
        border-radius:999px!important;
    }

    .tte-mobile-shortcuts span{
        background:#f8fafc!important;
        box-shadow:none!important;
        border:1px solid #eef2f7!important;
    }

    .tte-mobile-shortcuts strong{
        color:#111827!important;
    }

    .tte-destination-card{
        box-shadow:none!important;
    }

    .tte-section .tte-container,
    .tte-trust-section .tte-container,
    .tte-seo-block .tte-container{
        width:calc(100% - 28px)!important;
    }

    .tte-trust-section{
        background:#fff!important;
    }

    .tte-trust-grid,
    .tte-seo-card,
    .tte-season-card,
    .tte-card-modern{
        box-shadow:none!important;
        border:1px solid #eef2f7!important;
    }
}

/* V26 bottom sheet should be the only mobile menu surface */
@media(max-width:640px){
    .tte-mobile-sheet-panel{
        background:#f7f8fa!important;
        border-radius:22px 22px 0 0!important;
    }
    .tte-sheet-section{
        background:#fff!important;
        box-shadow:none!important;
        border:1px solid #eef2f7!important;
    }
    .tte-sheet-grid span{
        background:#f8fafc!important;
        border:1px solid #eef2f7!important;
    }
}



/* V27 Listing / Category pages */
.tte-listing-page{
    background:#fff;
}
.tte-listing-hero{
    padding:48px 0 34px;
    background:linear-gradient(180deg,#f6ffff 0%,#fff 100%);
    border-bottom:1px solid #eef2f7;
}
.tte-breadcrumbs{
    display:flex;
    gap:8px;
    align-items:center;
    color:#64748b;
    font-size:13px;
    margin-bottom:22px;
}
.tte-breadcrumbs a{
    color:#64748b;
    text-decoration:none;
}
.tte-breadcrumbs strong{
    color:#111827;
}
.tte-listing-hero-grid{
    display:grid;
    grid-template-columns:1fr 260px;
    gap:28px;
    align-items:end;
}
.tte-listing-hero h1{
    font-size:clamp(34px,4vw,52px);
    line-height:1.15;
    font-weight:800;
    margin:16px 0 12px;
    color:#071116;
}
.tte-listing-hero p{
    color:#64748b;
    font-size:17px;
    line-height:1.75;
    max-width:760px;
    margin:0;
}
.tte-listing-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:20px;
}
.tte-listing-chips a{
    text-decoration:none;
    color:#111827;
    background:#fff;
    border:1px solid #dbeafe;
    border-radius:999px;
    padding:9px 13px;
    font-weight:700;
    font-size:14px;
}
.tte-listing-chips a:hover{
    background:#0ABAB5;
    color:#fff;
    border-color:#0ABAB5;
}
.tte-listing-summary{
    background:#071116;
    color:#fff;
    border-radius:24px;
    padding:22px;
}
.tte-listing-summary strong{
    font-size:42px;
    line-height:1;
    display:block;
}
.tte-listing-summary span{
    display:block;
    color:#d1d5db;
    margin:6px 0 18px;
}
.tte-listing-summary a{
    display:inline-flex;
    background:#fff;
    color:#071116;
    text-decoration:none;
    border-radius:999px;
    padding:10px 14px;
    font-weight:800;
}
.tte-listing-section{
    padding:28px 0 64px;
    background:#fff;
}
.tte-filter-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:22px;
    padding:14px;
    box-shadow:0 10px 28px rgba(15,23,42,.05);
    margin-bottom:24px;
    position:sticky;
    top:128px;
    z-index:30;
}
.tte-filter-form{
    display:grid;
    grid-template-columns:1.5fr repeat(3, minmax(130px, .75fr)) auto auto;
    gap:10px;
    align-items:end;
}
.tte-filter-form label{
    display:block;
    font-size:12px;
    color:#64748b;
    font-weight:700;
    margin:0 0 5px;
}
.tte-filter-form input,
.tte-filter-form select{
    width:100%;
    min-height:42px;
    border:1px solid #dbe3ea;
    border-radius:13px;
    padding:0 12px;
    background:#fff;
    color:#111827;
}
.tte-filter-form button{
    min-height:42px;
    border:0;
    border-radius:13px;
    background:#071116;
    color:#fff;
    font-weight:800;
    padding:0 18px;
    cursor:pointer;
}
.tte-filter-reset{
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#111827;
    text-decoration:none;
    font-weight:800;
    padding:0 12px;
}
.tte-listing-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:26px;
    align-items:start;
}
.tte-listing-sidebar{
    position:sticky;
    top:220px;
}
.tte-sidebar-card{
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:18px;
    margin-bottom:16px;
    background:#fff;
}
.tte-sidebar-card h3{
    font-size:18px;
    font-weight:800;
    margin:0 0 12px;
}
.tte-sidebar-card a:not(.tte-sidebar-line){
    display:block;
    color:#111827;
    text-decoration:none;
    padding:9px 0;
    border-bottom:1px solid #f1f5f9;
    font-weight:700;
}
.tte-sidebar-card p{
    color:#64748b;
    font-size:14px;
    line-height:1.7;
}
.tte-sidebar-line{
    display:inline-flex;
    background:#0ABAB5;
    color:#071116;
    text-decoration:none;
    border-radius:999px;
    padding:10px 14px;
    font-weight:900;
}
.tte-result-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:end;
    margin-bottom:16px;
}
.tte-result-head h2{
    font-size:28px;
    font-weight:800;
    margin:0;
}
.tte-result-head span{
    color:#64748b;
    font-size:14px;
}
.tte-listing-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.tte-no-results{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:24px;
    padding:34px;
    text-align:center;
}
.tte-no-results h3{
    margin:0 0 8px;
    font-size:24px;
}
.tte-no-results p{
    color:#64748b;
}
.tte-no-results a{
    display:inline-flex;
    background:#071116;
    color:#fff;
    border-radius:999px;
    padding:11px 16px;
    text-decoration:none;
    font-weight:800;
}
.tte-listing-seo,
.tte-faq-block{
    margin-top:34px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:24px;
    padding:24px;
}
.tte-listing-seo h2,
.tte-faq-block h2{
    margin:0 0 12px;
    font-size:26px;
    font-weight:800;
}
.tte-listing-seo p{
    color:#475569;
    line-height:1.85;
}
.tte-faq-block details{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:14px 16px;
    margin:10px 0;
}
.tte-faq-block summary{
    cursor:pointer;
    font-weight:800;
}
.tte-faq-block p{
    color:#64748b;
    margin:10px 0 0;
    line-height:1.7;
}
@media(max-width:1100px){
    .tte-filter-form{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .tte-listing-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}
@media(max-width:820px){
    .tte-listing-hero-grid,
    .tte-listing-layout{
        grid-template-columns:1fr;
    }
    .tte-listing-sidebar{
        display:none;
    }
    .tte-filter-card{
        position:static;
    }
}
@media(max-width:640px){
    .tte-listing-hero{
        padding:22px 0 18px;
        background:#fff!important;
    }
    .tte-breadcrumbs{
        font-size:12px;
        margin-bottom:12px;
        overflow:auto;
        white-space:nowrap;
    }
    .tte-listing-hero h1{
        font-size:28px!important;
        line-height:1.25!important;
        margin:10px 0 8px!important;
    }
    .tte-listing-hero p{
        font-size:14px!important;
        line-height:1.7!important;
    }
    .tte-listing-summary{
        display:flex;
        align-items:center;
        justify-content:space-between;
        border-radius:18px;
        padding:14px;
    }
    .tte-listing-summary strong{
        font-size:30px;
    }
    .tte-listing-summary span{
        margin:0;
        font-size:12px;
    }
    .tte-listing-summary a{
        padding:9px 12px;
        font-size:13px;
    }
    .tte-listing-chips{
        display:flex;
        overflow:auto;
        flex-wrap:nowrap;
        padding-bottom:6px;
        -webkit-overflow-scrolling:touch;
    }
    .tte-listing-chips::-webkit-scrollbar{
        display:none;
    }
    .tte-listing-chips a{
        flex:0 0 auto;
        font-size:13px;
        padding:8px 12px;
    }
    .tte-listing-section{
        padding:16px 0 36px;
    }
    .tte-filter-card{
        border-radius:18px;
        padding:12px;
        box-shadow:none;
    }
    .tte-filter-form{
        grid-template-columns:1fr 1fr;
        gap:9px;
    }
    .tte-filter-form>div:first-child{
        grid-column:1/-1;
    }
    .tte-filter-form button,
    .tte-filter-reset{
        grid-column:auto;
        font-size:14px;
    }
    .tte-result-head{
        align-items:center;
    }
    .tte-result-head h2{
        font-size:20px;
    }
    .tte-result-head span{
        font-size:12px;
    }
    .tte-listing-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:12px!important;
    }
    .tte-listing-seo,
    .tte-faq-block{
        margin-top:22px;
        border-radius:18px;
        padding:18px;
    }
    .tte-listing-seo h2,
    .tte-faq-block h2{
        font-size:20px;
    }
}



/* V28 Native-like mobile filter/sort */
.tte-mobile-filter-bar{
    display:none;
}
.tte-sheet-clear{
    color:#111827;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
}
.tte-sheet-filter-form{
    display:grid;
    gap:14px;
    padding-bottom:8px;
}
.tte-sheet-field label{
    display:block;
    font-size:13px;
    color:#64748b;
    font-weight:800;
    margin-bottom:7px;
}
.tte-sheet-field input,
.tte-sheet-field select{
    width:100%;
    min-height:46px;
    border:1px solid #dbe3ea;
    border-radius:14px;
    background:#fff;
    padding:0 13px;
    font-size:15px;
    color:#111827;
}
.tte-sheet-apply{
    position:sticky;
    bottom:0;
    border:0;
    border-radius:16px;
    background:#071116;
    color:#fff;
    min-height:50px;
    font-size:16px;
    font-weight:900;
    margin-top:4px;
}
.tte-sort-options{
    display:grid;
    gap:10px;
    padding:4px 0 18px;
}
.tte-sort-options a{
    display:flex;
    flex-direction:column;
    gap:3px;
    text-decoration:none;
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:16px;
    padding:15px;
    color:#111827;
}
.tte-sort-options a.is-active{
    border-color:#0ABAB5;
    box-shadow:0 0 0 3px rgba(10,186,181,.12);
}
.tte-sort-options strong{
    font-size:16px;
    font-weight:900;
}
.tte-sort-options span{
    font-size:13px;
    color:#64748b;
}
@media(max-width:640px){
    .tte-filter-card{
        display:none!important;
    }
    .tte-mobile-filter-bar{
        position:fixed;
        left:50%;
        bottom:14px;
        transform:translateX(-50%);
        width:calc(100% - 28px);
        max-width:420px;
        height:58px;
        background:#071116;
        border-radius:999px;
        box-shadow:0 16px 38px rgba(7,17,22,.22);
        z-index:9000;
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:1px;
        overflow:hidden;
        padding:5px;
    }
    .tte-mobile-filter-bar button{
        border:0;
        border-radius:999px;
        background:transparent;
        color:#fff;
        font-weight:900;
        font-size:14px;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:7px;
    }
    .tte-mobile-filter-bar button:first-child{
        background:#fff;
        color:#071116;
    }
    .tte-mobile-filter-bar strong{
        display:inline-flex;
        width:20px;
        height:20px;
        align-items:center;
        justify-content:center;
        background:#0ABAB5;
        color:#071116;
        border-radius:50%;
        font-size:12px;
    }
    .tte-listing-section{
        padding-bottom:92px!important;
    }
    .tte-filter-sheet .tte-mobile-sheet-panel,
    .tte-sort-sheet .tte-mobile-sheet-panel{
        max-height:86vh;
    }
}



/* V29 Agoda/Trip checkbox-chip chain filter */
.tte-chain-filter-form{
    gap:16px!important;
}
.tte-filter-chain{
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:18px;
    padding:14px;
}
.tte-filter-chain-title{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-bottom:12px;
}
.tte-filter-chain-title>span{
    flex:0 0 28px;
    width:28px;
    height:28px;
    border-radius:10px;
    background:#071116;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    font-weight:900;
}
.tte-filter-chain-title strong{
    display:block;
    color:#111827;
    font-size:15px;
    font-weight:900;
    line-height:1.3;
}
.tte-filter-chain-title small{
    display:block;
    color:#64748b;
    font-size:12px;
    margin-top:2px;
}
.tte-filter-chip-grid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.tte-filter-chip{
    appearance:none;
    border:1px solid #dbe3ea;
    background:#fff;
    color:#111827;
    border-radius:999px;
    padding:10px 13px;
    font-size:14px;
    font-weight:800;
    line-height:1;
    cursor:pointer;
    transition:.15s ease;
}
.tte-filter-chip:hover{
    border-color:#0ABAB5;
}
.tte-filter-chip.is-active{
    background:#071116;
    border-color:#071116;
    color:#fff;
    box-shadow:0 8px 18px rgba(7,17,22,.14);
}
.tte-filter-chip.is-active:before{
    content:"✓";
    margin-right:6px;
    color:#0ABAB5;
    font-weight:900;
}
.tte-filter-empty{
    display:block;
    color:#94a3b8;
    font-size:13px;
    padding:6px 0;
}
.tte-filter-sheet-actions{
    position:sticky;
    bottom:0;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:10px;
    background:linear-gradient(180deg,rgba(247,248,250,0),#f7f8fa 30%);
    padding-top:14px;
    margin-top:2px;
}
.tte-filter-clear-local{
    border:1px solid #dbe3ea;
    background:#fff;
    color:#111827;
    border-radius:16px;
    min-height:50px;
    font-size:15px;
    font-weight:900;
}
@media(max-width:640px){
    .tte-filter-sheet .tte-mobile-sheet-panel{
        background:#f7f8fa!important;
    }
    .tte-filter-chain{
        border-radius:18px;
        padding:14px;
    }
    .tte-filter-chip{
        padding:10px 12px;
        font-size:13px;
    }
    .tte-sheet-filter-form .tte-sheet-field{
        background:#fff;
        border:1px solid #eef2f7;
        border-radius:18px;
        padding:14px;
    }
}



/* V30 Desktop Checkbox/Chip Chain Filter */
.tte-desktop-chain-filter-card{
    padding:18px!important;
    border-radius:24px!important;
    background:#fff!important;
    border:1px solid #e5e7eb!important;
    box-shadow:0 14px 34px rgba(15,23,42,.06)!important;
}
.tte-desktop-chain-filter-form{
    display:block!important;
}
.tte-desktop-filter-top{
    display:grid;
    grid-template-columns:minmax(280px,1fr) auto;
    gap:18px;
    align-items:end;
    margin-bottom:16px;
    padding-bottom:16px;
    border-bottom:1px solid #eef2f7;
}
.tte-desktop-search label,
.tte-desktop-sort-chip label{
    display:block;
    font-size:12px;
    color:#64748b;
    font-weight:900;
    margin-bottom:7px;
}
.tte-desktop-search input{
    width:100%;
    min-height:48px;
    border:1px solid #dbe3ea;
    border-radius:16px;
    padding:0 15px;
    font-size:15px;
    color:#111827;
    background:#fff;
    box-shadow:none!important;
}
.tte-desktop-search input:focus{
    outline:0;
    border-color:#0ABAB5;
    box-shadow:0 0 0 3px rgba(10,186,181,.12)!important;
}
.tte-desktop-sort-chip .tte-filter-chip-grid{
    flex-wrap:nowrap;
}
.tte-desktop-filter-chain-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.tte-desktop-chain-filter-card .tte-filter-chain{
    background:#f8fafc;
    border:1px solid #eef2f7;
    border-radius:20px;
    padding:14px;
}
.tte-desktop-chain-filter-card .tte-filter-chain-title{
    margin-bottom:11px;
}
.tte-desktop-chain-filter-card .tte-filter-chain-title>span{
    background:#0ABAB5;
    color:#071116;
}
.tte-desktop-chain-filter-card .tte-filter-chip{
    background:#fff;
}
.tte-desktop-chain-filter-card .tte-filter-chip.is-active{
    background:#071116;
    color:#fff;
    border-color:#071116;
}
.tte-desktop-filter-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid #eef2f7;
}
.tte-desktop-filter-submit{
    border:0;
    background:#071116;
    color:#fff;
    border-radius:999px;
    min-height:44px;
    padding:0 26px;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
}
.tte-desktop-filter-submit:hover{
    background:#0ABAB5;
    color:#071116;
}
.tte-desktop-filter-actions .tte-filter-clear-local{
    border:1px solid #dbe3ea;
    background:#fff;
    color:#111827;
    border-radius:999px;
    min-height:44px;
    padding:0 18px;
    font-size:15px;
    font-weight:900;
    cursor:pointer;
}
@media(max-width:1100px){
    .tte-desktop-filter-top{
        grid-template-columns:1fr;
    }
    .tte-desktop-sort-chip .tte-filter-chip-grid{
        flex-wrap:wrap;
    }
    .tte-desktop-filter-chain-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:640px){
    .tte-desktop-chain-filter-card{
        display:none!important;
    }
}



/* V31 Desktop Listing: left filter sidebar + popular categories at bottom */
@media(min-width:821px){
    .tte-listing-layout{
        grid-template-columns:320px minmax(0,1fr)!important;
        gap:28px!important;
        align-items:start!important;
    }

    .tte-filter-sidebar{
        position:sticky!important;
        top:130px!important;
        display:block!important;
    }

    .tte-filter-sidebar .tte-filter-card{
        margin:0!important;
        position:static!important;
        top:auto!important;
        z-index:auto!important;
    }

    .tte-filter-sidebar .tte-desktop-chain-filter-card{
        padding:16px!important;
        border-radius:22px!important;
        max-height:calc(100vh - 150px);
        overflow:auto;
        scrollbar-width:thin;
    }

    .tte-filter-sidebar .tte-desktop-filter-top{
        display:block!important;
        padding-bottom:14px!important;
        margin-bottom:14px!important;
    }

    .tte-filter-sidebar .tte-desktop-search{
        margin-bottom:14px;
    }

    .tte-filter-sidebar .tte-desktop-sort-chip .tte-filter-chip-grid{
        flex-wrap:wrap!important;
    }

    .tte-filter-sidebar .tte-desktop-filter-chain-grid{
        grid-template-columns:1fr!important;
        gap:12px!important;
    }

    .tte-filter-sidebar .tte-filter-chain{
        padding:13px!important;
        border-radius:18px!important;
    }

    .tte-filter-sidebar .tte-filter-chain-title{
        gap:9px!important;
        margin-bottom:10px!important;
    }

    .tte-filter-sidebar .tte-filter-chain-title>span{
        width:26px!important;
        height:26px!important;
        flex-basis:26px!important;
        border-radius:9px!important;
        font-size:12px!important;
    }

    .tte-filter-sidebar .tte-filter-chain-title strong{
        font-size:14px!important;
    }

    .tte-filter-sidebar .tte-filter-chain-title small{
        font-size:11px!important;
    }

    .tte-filter-sidebar .tte-filter-chip-grid{
        gap:7px!important;
    }

    .tte-filter-sidebar .tte-filter-chip{
        padding:9px 11px!important;
        font-size:13px!important;
    }

    .tte-filter-sidebar .tte-desktop-filter-actions{
        position:sticky;
        bottom:-16px;
        background:linear-gradient(180deg,rgba(255,255,255,0),#fff 30%);
        margin:14px -2px -2px;
        padding:18px 2px 2px;
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:8px!important;
    }

    .tte-filter-sidebar .tte-desktop-filter-submit,
    .tte-filter-sidebar .tte-filter-clear-local{
        width:100%!important;
        justify-content:center!important;
    }

    .tte-listing-grid{
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
    }

    .tte-popular-bottom{
        margin-top:34px;
        background:#fff;
        border:1px solid #e5e7eb;
        border-radius:24px;
        padding:24px;
    }

    .tte-popular-bottom-head{
        display:flex;
        align-items:end;
        justify-content:space-between;
        gap:18px;
        margin-bottom:16px;
    }

    .tte-popular-bottom h2{
        margin:0;
        font-size:26px;
        line-height:1.25;
        font-weight:900;
        color:#111827;
    }

    .tte-popular-bottom p{
        margin:0;
        color:#64748b;
        font-size:14px;
        max-width:520px;
        line-height:1.65;
    }

    .tte-popular-bottom-grid{
        display:flex;
        flex-wrap:wrap;
        gap:10px;
    }

    .tte-popular-bottom-grid a{
        display:inline-flex;
        align-items:center;
        min-height:38px;
        padding:0 14px;
        border-radius:999px;
        background:#f8fafc;
        border:1px solid #e5e7eb;
        color:#111827;
        text-decoration:none;
        font-size:14px;
        font-weight:800;
    }

    .tte-popular-bottom-grid a:hover{
        background:#071116;
        border-color:#071116;
        color:#fff;
    }
}

@media(min-width:821px) and (max-width:1200px){
    .tte-listing-layout{
        grid-template-columns:300px minmax(0,1fr)!important;
    }
    .tte-listing-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:820px){
    .tte-popular-bottom{
        margin-top:24px;
        background:#fff;
        border:1px solid #eef2f7;
        border-radius:18px;
        padding:18px;
    }

    .tte-popular-bottom h2{
        margin:0 0 6px;
        font-size:20px;
        font-weight:900;
    }

    .tte-popular-bottom p{
        margin:0 0 12px;
        color:#64748b;
        font-size:13px;
        line-height:1.6;
    }

    .tte-popular-bottom-grid{
        display:flex;
        gap:8px;
        overflow:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:4px;
    }

    .tte-popular-bottom-grid::-webkit-scrollbar{
        display:none;
    }

    .tte-popular-bottom-grid a{
        flex:0 0 auto;
        text-decoration:none;
        color:#111827;
        background:#f8fafc;
        border:1px solid #eef2f7;
        border-radius:999px;
        padding:9px 12px;
        font-size:13px;
        font-weight:800;
    }
}



/* V33 AJAX filter + list view */
.tte-ajax-loading{
    display:none;
    align-items:center;
    gap:10px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:12px 14px;
    margin-bottom:14px;
    color:#475569;
    font-weight:800;
}
.tte-ajax-loading.is-active{
    display:flex;
}
.tte-ajax-loading span{
    width:18px;
    height:18px;
    border:3px solid #dbe3ea;
    border-top-color:#0ABAB5;
    border-radius:50%;
    animation:tteSpin .8s linear infinite;
}
@keyframes tteSpin{to{transform:rotate(360deg)}}
.tte-ajax-error{
    background:#fef2f2;
    border:1px solid #fecaca;
    color:#991b1b;
    border-radius:14px;
    padding:12px 14px;
    margin-bottom:12px;
    font-weight:800;
}
.tte-list-view,
.tte-listing-grid.tte-list-view{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
}
.tte-tour-list-card{
    display:grid!important;
    grid-template-columns:280px minmax(0,1fr)!important;
    border-radius:20px!important;
    border:1px solid #e5e7eb!important;
    box-shadow:none!important;
    overflow:hidden!important;
    background:#fff!important;
}
.tte-tour-list-card:hover{
    border-color:#0ABAB5!important;
    box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
    transform:none!important;
}
.tte-tour-list-card .tte-card-image{
    aspect-ratio:auto!important;
    height:100%!important;
    min-height:200px!important;
}
.tte-tour-list-card .tte-card-body{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 190px!important;
    gap:18px!important;
    padding:20px!important;
    align-items:stretch!important;
}
.tte-tour-list-card h3 a{
    font-size:21px!important;
    line-height:1.45!important;
    -webkit-line-clamp:2!important;
}
.tte-tour-list-card p{
    display:-webkit-box!important;
    font-size:15px!important;
    line-height:1.75!important;
    -webkit-line-clamp:3!important;
}
.tte-tour-list-card .tte-card-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    margin-top:12px!important;
}
.tte-tour-list-card .tte-card-meta span{
    background:#f8fafc;
    border:1px solid #eef2f7;
    border-radius:999px;
    padding:6px 10px;
    font-size:12px!important;
    color:#475569;
}
.tte-tour-list-card .tte-card-bottom{
    border-top:0!important;
    padding-top:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    text-align:right!important;
}
.tte-tour-list-card .tte-card-price strong{
    font-size:26px!important;
}
.tte-list-actions{
    display:grid;
    gap:8px;
    width:100%;
}
.tte-tour-list-card .tte-card-cta,
.tte-card-line{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:42px;
    border-radius:999px;
    text-decoration:none;
    font-weight:900!important;
}
.tte-card-line{
    background:#0ABAB5;
    color:#071116;
}
.tte-card-line:hover{
    background:#071116;
    color:#fff;
}
.tte-listing-results.is-loading{
    opacity:.72;
}
.tte-sort-options button{
    display:flex;
    flex-direction:column;
    gap:3px;
    text-align:left;
    background:#fff;
    border:1px solid #eef2f7;
    border-radius:16px;
    padding:15px;
    color:#111827;
    width:100%;
}
.tte-sort-options button.is-active{
    border-color:#0ABAB5;
    box-shadow:0 0 0 3px rgba(10,186,181,.12);
}
.tte-sort-options button strong{
    font-size:16px;
    font-weight:900;
}
.tte-sort-options button span{
    font-size:13px;
    color:#64748b;
}
@media(max-width:900px){
    .tte-tour-list-card{
        grid-template-columns:160px minmax(0,1fr)!important;
    }
    .tte-tour-list-card .tte-card-body{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }
    .tte-tour-list-card .tte-card-bottom{
        align-items:flex-start!important;
        text-align:left!important;
    }
    .tte-list-actions{
        grid-template-columns:1fr 1fr;
    }
}
@media(max-width:640px){
    .tte-list-view,
    .tte-listing-grid.tte-list-view{
        gap:12px!important;
    }
    .tte-tour-list-card{
        grid-template-columns:120px minmax(0,1fr)!important;
        border-radius:16px!important;
    }
    .tte-tour-list-card .tte-card-image{
        min-height:150px!important;
    }
    .tte-tour-list-card .tte-card-body{
        padding:12px!important;
    }
    .tte-tour-list-card h3 a{
        font-size:15px!important;
        line-height:1.45!important;
    }
    .tte-tour-list-card p{
        display:none!important;
    }
    .tte-tour-list-card .tte-card-meta{
        gap:5px!important;
        margin-top:8px!important;
    }
    .tte-tour-list-card .tte-card-meta span{
        font-size:10px!important;
        padding:4px 7px;
    }
    .tte-tour-list-card .tte-card-price strong{
        font-size:18px!important;
    }
    .tte-tour-list-card .tte-card-price small,
    .tte-tour-list-card .tte-card-price span{
        font-size:11px!important;
    }
    .tte-list-actions{
        grid-template-columns:1fr 1fr;
        gap:6px;
    }
    .tte-tour-list-card .tte-card-cta,
    .tte-card-line{
        min-height:34px;
        font-size:12px!important;
        padding:7px 8px!important;
    }
}



/* V34 Trip.com-like professional listing UI */
.tte-trip-listing{
    background:#f4f7fb!important;
}
.tte-trip-listing .tte-listing-hero{
    background:#2457ff!important;
    color:#fff!important;
    padding:42px 0 72px!important;
    border-bottom:0!important;
}
.tte-trip-listing .tte-breadcrumbs,
.tte-trip-listing .tte-breadcrumbs a,
.tte-trip-listing .tte-breadcrumbs strong{
    color:rgba(255,255,255,.82)!important;
}
.tte-trip-listing .tte-kicker{
    background:rgba(255,255,255,.16)!important;
    color:#fff!important;
}
.tte-trip-listing .tte-listing-hero h1{
    color:#fff!important;
    font-size:clamp(34px,4vw,48px)!important;
}
.tte-trip-listing .tte-listing-hero p{
    color:rgba(255,255,255,.86)!important;
}
.tte-trip-listing .tte-listing-summary{
    background:rgba(6,20,52,.32)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:none!important;
}
.tte-trip-listing .tte-listing-summary a{
    background:#fff!important;
    color:#2457ff!important;
}
.tte-trip-search-bar{
    display:grid;
    grid-template-columns:minmax(0,1fr) 124px;
    gap:10px;
    align-items:end;
    background:#fff;
    border-radius:16px;
    padding:10px;
    margin-top:24px;
    max-width:840px;
    box-shadow:0 18px 42px rgba(10,35,100,.18);
}
.tte-trip-search-field{
    background:#f3f6fb;
    border-radius:12px;
    padding:9px 13px 8px;
}
.tte-trip-search-field label{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:800;
    margin-bottom:2px;
}
.tte-trip-search-field input{
    width:100%;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    min-height:28px;
    font-size:15px;
    font-weight:700;
    color:#111827;
    outline:0!important;
}
.tte-trip-search-bar button{
    min-height:58px;
    border:0;
    border-radius:12px;
    background:#2457ff;
    color:#fff;
    font-size:18px;
    font-weight:900;
    cursor:pointer;
}
.tte-trip-search-bar button:hover{
    background:#0b3ce6;
}
.tte-trip-listing .tte-listing-section{
    background:#f4f7fb!important;
    margin-top:-44px;
    padding-top:0!important;
}
.tte-trip-listing .tte-listing-layout{
    grid-template-columns:300px minmax(0,1fr)!important;
    gap:18px!important;
}
.tte-filter-side-title{
    background:#fff;
    border-radius:14px 14px 0 0;
    border:1px solid #e5eaf2;
    border-bottom:0;
    padding:16px 18px;
}
.tte-filter-side-title strong{
    display:block;
    font-size:18px;
    font-weight:900;
    color:#0f172a;
}
.tte-filter-side-title span{
    display:block;
    margin-top:4px;
    color:#64748b;
    font-size:12px;
    line-height:1.45;
}
.tte-trip-listing .tte-filter-sidebar{
    top:116px!important;
}
.tte-trip-listing .tte-desktop-chain-filter-card{
    border-radius:0 0 14px 14px!important;
    border-color:#e5eaf2!important;
    box-shadow:none!important;
    max-height:calc(100vh - 170px);
}
.tte-trip-listing .tte-filter-chain{
    background:#fff!important;
    border:0!important;
    border-top:1px solid #eef2f7!important;
    border-radius:0!important;
    padding:16px 0!important;
}
.tte-trip-listing .tte-filter-chain:first-of-type{
    border-top:0!important;
}
.tte-trip-listing .tte-filter-chain-title>span{
    background:#eef4ff!important;
    color:#2457ff!important;
}
.tte-trip-listing .tte-filter-chain-title small{
    display:none!important;
}
.tte-trip-listing .tte-filter-chip{
    background:#f5f7fb!important;
    border-color:#eef2f7!important;
    border-radius:7px!important;
    color:#0f172a!important;
    box-shadow:none!important;
}
.tte-trip-listing .tte-filter-chip.is-active{
    background:#eaf1ff!important;
    border-color:#2457ff!important;
    color:#2457ff!important;
}
.tte-trip-listing .tte-filter-chip.is-active:before{
    color:#2457ff!important;
}
.tte-trip-listing .tte-desktop-filter-actions{
    background:#fff!important;
    border-top:1px solid #eef2f7!important;
}
.tte-trip-listing .tte-desktop-filter-submit{
    background:#2457ff!important;
}
.tte-trip-listing .tte-desktop-filter-submit:hover{
    color:#fff!important;
    background:#0b3ce6!important;
}
.tte-trip-result-shell{
    background:#fff;
    border-radius:14px;
    border:1px solid #e5eaf2;
    margin-bottom:12px;
    overflow:hidden;
}
.tte-trip-sort-tabs{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border-bottom:1px solid #edf1f6;
}
.tte-trip-sort-tabs button{
    min-height:48px;
    border:0;
    background:#fff;
    color:#0f172a;
    font-weight:900;
    font-size:15px;
    border-right:1px solid #edf1f6;
    cursor:pointer;
}
.tte-trip-sort-tabs button:last-child{
    border-right:0;
}
.tte-trip-sort-tabs button.is-active{
    background:#14315d;
    color:#fff;
}
.tte-trip-result-shell .tte-result-head{
    padding:14px 18px!important;
    margin:0!important;
}
.tte-trip-result-shell .tte-result-head h2{
    font-size:22px!important;
}
.tte-trip-result-shell .tte-result-count{
    color:#64748b!important;
}

/* List card */
.tte-listing-grid.tte-list-view,
.tte-list-view{
    gap:12px!important;
}
.tte-trip-tour-card{
    display:grid!important;
    grid-template-columns:260px minmax(0,1fr)!important;
    background:#fff!important;
    border:1px solid #e5eaf2!important;
    border-radius:14px!important;
    overflow:hidden!important;
    box-shadow:none!important;
    transition:border-color .15s ease, box-shadow .15s ease!important;
}
.tte-trip-tour-card:hover{
    border-color:#bdd0ff!important;
    box-shadow:0 10px 26px rgba(15,40,90,.08)!important;
    transform:none!important;
}
.tte-trip-card-image{
    position:relative;
    display:block;
    min-height:206px;
    background:#eef2f7;
    overflow:hidden;
}
.tte-trip-card-image img{
    width:100%;
    height:100%;
    min-height:206px;
    object-fit:cover;
    display:block;
}
.tte-trip-card-content{
    display:grid;
    grid-template-columns:minmax(0,1fr) 210px;
    gap:18px;
    padding:18px;
}
.tte-trip-card-main h3{
    margin:0 0 8px!important;
}
.tte-trip-card-main h3 a{
    color:#0f172a;
    text-decoration:none;
    font-size:24px!important;
    font-weight:900!important;
    line-height:1.32!important;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.tte-trip-card-main p{
    margin:0 0 12px!important;
    color:#334155!important;
    font-size:15px!important;
    line-height:1.55!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
}
.tte-trip-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:10px 0;
}
.tte-trip-meta span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border-radius:7px;
    background:#f5f7fb;
    color:#334155;
    font-size:12px;
    font-weight:800;
}
.tte-trip-submeta{
    color:#64748b;
    font-size:13px;
    margin-top:8px;
}
.tte-trip-card-side{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:space-between;
    text-align:right;
    border-left:1px solid #edf1f6;
    padding-left:18px;
}
.tte-trip-rating{
    display:flex;
    align-items:center;
    gap:8px;
}
.tte-trip-rating strong{
    background:#2457ff;
    color:#fff;
    padding:4px 7px;
    border-radius:5px;
    font-size:14px;
}
.tte-trip-rating span{
    color:#64748b;
    font-size:12px;
    font-weight:800;
}
.tte-trip-price small{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:700;
}
.tte-trip-price strong{
    display:block;
    color:#0f172a;
    font-size:30px;
    line-height:1.1;
    font-weight:900;
}
.tte-trip-price span{
    display:block;
    color:#64748b;
    font-size:12px;
}
.tte-trip-actions{
    display:grid;
    gap:8px;
    width:100%;
}
.tte-trip-detail,
.tte-trip-line{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    border-radius:8px;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
}
.tte-trip-detail{
    background:#2457ff;
    color:#fff;
}
.tte-trip-detail:hover{
    background:#0b3ce6;
    color:#fff;
}
.tte-trip-line{
    background:#edfdfa;
    color:#0f766e;
}
.tte-trip-line:hover{
    background:#0ABAB5;
    color:#071116;
}
.tte-trip-listing .tte-popular-bottom,
.tte-trip-listing .tte-listing-seo,
.tte-trip-listing .tte-faq-block{
    background:#fff!important;
    border-color:#e5eaf2!important;
    box-shadow:none!important;
}
@media(max-width:1100px){
    .tte-trip-listing .tte-listing-layout{
        grid-template-columns:280px minmax(0,1fr)!important;
    }
    .tte-trip-tour-card{
        grid-template-columns:220px minmax(0,1fr)!important;
    }
    .tte-trip-card-content{
        grid-template-columns:1fr!important;
    }
    .tte-trip-card-side{
        border-left:0;
        border-top:1px solid #edf1f6;
        padding-left:0;
        padding-top:12px;
        align-items:flex-start;
        text-align:left;
    }
}
@media(max-width:820px){
    .tte-trip-listing .tte-listing-hero{
        background:#fff!important;
        color:#0f172a!important;
        padding:22px 0 18px!important;
    }
    .tte-trip-listing .tte-breadcrumbs,
    .tte-trip-listing .tte-breadcrumbs a,
    .tte-trip-listing .tte-breadcrumbs strong{
        color:#64748b!important;
    }
    .tte-trip-listing .tte-listing-hero h1{
        color:#0f172a!important;
    }
    .tte-trip-listing .tte-listing-hero p{
        color:#64748b!important;
    }
    .tte-trip-search-bar{
        grid-template-columns:1fr;
        box-shadow:none;
        border:1px solid #e5eaf2;
        border-radius:14px;
        margin-top:16px;
    }
    .tte-trip-search-bar button{
        min-height:44px;
        font-size:15px;
    }
    .tte-trip-listing .tte-listing-section{
        margin-top:0;
        background:#f4f7fb!important;
        padding-top:14px!important;
    }
}
@media(max-width:640px){
    .tte-trip-result-shell{
        border-radius:12px;
    }
    .tte-trip-sort-tabs{
        display:none;
    }
    .tte-trip-result-shell .tte-result-head{
        padding:12px 14px!important;
    }
    .tte-trip-tour-card{
        grid-template-columns:112px minmax(0,1fr)!important;
        border-radius:12px!important;
    }
    .tte-trip-card-image,
    .tte-trip-card-image img{
        min-height:156px;
    }
    .tte-trip-card-content{
        padding:11px;
        gap:8px;
    }
    .tte-trip-card-main h3 a{
        font-size:15px!important;
        line-height:1.42!important;
    }
    .tte-trip-card-main p{
        display:none!important;
    }
    .tte-trip-meta{
        gap:5px;
        margin:7px 0;
    }
    .tte-trip-meta span{
        min-height:22px;
        padding:0 6px;
        font-size:10px;
    }
    .tte-trip-submeta{
        display:none;
    }
    .tte-trip-card-side{
        padding-top:8px;
    }
    .tte-trip-rating{
        display:none;
    }
    .tte-trip-price strong{
        font-size:18px;
    }
    .tte-trip-actions{
        grid-template-columns:1fr 1fr;
        gap:6px;
    }
    .tte-trip-detail,
    .tte-trip-line{
        min-height:32px;
        font-size:12px;
        border-radius:7px;
    }
}



/* V35 Brand Color Restore: Tiffany Blue + Deep Navy */
:root{
    --tte-brand-tiffany:#0ABAB5;
    --tte-brand-tiffany-soft:#E6FFFF;
    --tte-brand-navy:#071116;
    --tte-brand-navy-2:#0B2A2C;
    --tte-brand-text:#0f172a;
    --tte-brand-muted:#64748b;
}

/* Keep V34 professional layout, replace Trip blue with ThaiFly Travel brand */
.tte-trip-listing{
    background:#f6fafb!important;
}

.tte-trip-listing .tte-listing-hero{
    background:
        radial-gradient(circle at 78% 12%, rgba(10,186,181,.38), transparent 34%),
        linear-gradient(135deg, #071116 0%, #0B2A2C 62%, #0ABAB5 145%)!important;
    color:#fff!important;
}

.tte-trip-search-bar button,
.tte-trip-listing .tte-desktop-filter-submit,
.tte-trip-sort-tabs button.is-active,
.tte-trip-detail{
    background:var(--tte-brand-navy)!important;
    color:#fff!important;
}

.tte-trip-search-bar button:hover,
.tte-trip-listing .tte-desktop-filter-submit:hover,
.tte-trip-detail:hover{
    background:var(--tte-brand-tiffany)!important;
    color:var(--tte-brand-navy)!important;
}

.tte-trip-listing .tte-listing-summary{
    background:rgba(255,255,255,.12)!important;
    border:1px solid rgba(255,255,255,.18)!important;
    backdrop-filter:blur(16px);
}

.tte-trip-listing .tte-listing-summary a{
    color:var(--tte-brand-navy)!important;
}

.tte-trip-search-bar{
    box-shadow:0 18px 42px rgba(7,17,22,.22)!important;
}

.tte-trip-listing .tte-filter-chain-title>span{
    background:var(--tte-brand-tiffany-soft)!important;
    color:#087d79!important;
}

.tte-trip-listing .tte-filter-chip.is-active{
    background:#e6ffff!important;
    border-color:var(--tte-brand-tiffany)!important;
    color:#087d79!important;
}

.tte-trip-listing .tte-filter-chip.is-active:before{
    color:#087d79!important;
}

.tte-trip-sort-tabs button.is-active{
    background:linear-gradient(135deg, #071116 0%, #0B2A2C 100%)!important;
}

.tte-trip-tour-card:hover{
    border-color:rgba(10,186,181,.55)!important;
    box-shadow:0 10px 26px rgba(10,186,181,.10)!important;
}

.tte-trip-rating strong{
    background:var(--tte-brand-tiffany)!important;
    color:var(--tte-brand-navy)!important;
}

.tte-trip-line{
    background:#e6ffff!important;
    color:#087d79!important;
}

.tte-trip-line:hover{
    background:var(--tte-brand-tiffany)!important;
    color:var(--tte-brand-navy)!important;
}

.tte-trip-card-main h3 a:hover{
    color:#087d79!important;
}

.tte-trip-meta span{
    background:#f5fbfb!important;
    border:1px solid #d9f7f5!important;
}

/* Mobile brand colors */
@media(max-width:820px){
    .tte-trip-listing .tte-listing-hero{
        background:#fff!important;
        color:var(--tte-brand-text)!important;
    }

    .tte-trip-search-bar{
        border-color:#d9f7f5!important;
        box-shadow:none!important;
    }

    .tte-trip-search-bar button{
        background:var(--tte-brand-navy)!important;
        color:#fff!important;
    }
}



/* V38: remove duplicate listing search and keep filter/sort AJAX without URL change */
.tte-trip-search-bar{
    display:none!important;
}

.tte-trip-listing .tte-listing-hero{
    padding:36px 0 52px!important;
}

.tte-trip-listing .tte-listing-chips{
    margin-top:22px!important;
}

.tte-trip-listing .tte-listing-summary{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* Make left search clearly belong to filter panel */
.tte-filter-sidebar .tte-desktop-search input{
    background:#fff!important;
}

/* Small security/UX: prevent repeated clicks looking broken */
.tte-listing-results.is-loading,
.tte-list-view.is-loading{
    pointer-events:none;
}

/* Better ajax loading position in V38 list */
.tte-ajax-loading{
    position:relative;
    z-index:2;
}

/* Mobile: no blank area after removing hero search */
@media(max-width:820px){
    .tte-trip-listing .tte-listing-hero{
        padding:18px 0 16px!important;
    }
}



/* V39 Auto apply filter UX */
.tte-desktop-filter-submit,
.tte-sheet-apply{
    position:relative;
}
.tte-desktop-filter-submit::after,
.tte-sheet-apply::after{
    content:"";
}
@media(min-width:821px){
    .tte-desktop-filter-actions{
        grid-template-columns:1fr!important;
    }
    .tte-desktop-filter-submit{
        display:none!important;
    }
    .tte-desktop-filter-actions .tte-filter-clear-local{
        width:100%!important;
    }
    .tte-filter-side-title::after{
        content:"เลือกตัวกรองแล้วระบบจะแสดงผลให้อัตโนมัติ";
        display:block;
        margin-top:8px;
        color:#0f766e;
        font-size:12px;
        font-weight:800;
    }
}
@media(max-width:640px){
    .tte-sheet-apply{
        display:none!important;
    }
    .tte-filter-sheet .tte-mobile-sheet-head h3::after{
        content:"เลือกแล้วแสดงผลทันที";
        display:block;
        font-size:11px;
        color:#64748b;
        font-weight:700;
        margin-top:2px;
    }
    .tte-filter-sheet-actions{
        grid-template-columns:1fr!important;
    }
}



/* V40 Apple-style white listing hero + fixed breadcrumb visual */
.tte-trip-listing{
    background:#f5f7fa!important;
}

/* override previous dark V35/V34 hero */
.tte-trip-listing .tte-listing-hero{
    background:
        radial-gradient(circle at 82% 18%, rgba(10,186,181,.18), transparent 32%),
        linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%)!important;
    color:#071116!important;
    padding:36px 0 44px!important;
    border-bottom:1px solid #eaf0f2!important;
}

.tte-trip-listing .tte-breadcrumbs{
    color:#64748b!important;
    font-size:14px!important;
    margin-bottom:24px!important;
}

.tte-trip-listing .tte-breadcrumbs a{
    color:#64748b!important;
    text-decoration:none!important;
    font-weight:700!important;
}

.tte-trip-listing .tte-breadcrumbs a:hover{
    color:#087d79!important;
}

.tte-trip-listing .tte-breadcrumbs strong{
    color:#071116!important;
    font-weight:900!important;
}

.tte-trip-listing .tte-breadcrumbs span{
    color:#cbd5e1!important;
}

.tte-trip-listing .tte-kicker{
    background:#e6ffff!important;
    color:#087d79!important;
    border:1px solid #d9f7f5!important;
}

.tte-trip-listing .tte-listing-hero h1{
    color:#071116!important;
    text-shadow:none!important;
}

.tte-trip-listing .tte-listing-hero p{
    color:#64748b!important;
}

.tte-trip-listing .tte-listing-chips a{
    background:#fff!important;
    color:#071116!important;
    border:1px solid #d9f7f5!important;
    box-shadow:0 8px 20px rgba(15,23,42,.04)!important;
}

.tte-trip-listing .tte-listing-chips a:hover{
    background:#0ABAB5!important;
    border-color:#0ABAB5!important;
    color:#071116!important;
}

.tte-trip-listing .tte-listing-summary{
    background:#fff!important;
    color:#071116!important;
    border:1px solid #d9f7f5!important;
    box-shadow:0 18px 45px rgba(15,23,42,.06)!important;
    backdrop-filter:none!important;
}

.tte-trip-listing .tte-listing-summary strong{
    color:#071116!important;
}

.tte-trip-listing .tte-listing-summary span{
    color:#64748b!important;
}

.tte-trip-listing .tte-listing-summary a{
    background:#071116!important;
    color:#fff!important;
}

.tte-trip-listing .tte-listing-summary a:hover{
    background:#0ABAB5!important;
    color:#071116!important;
}

.tte-trip-listing .tte-listing-section{
    margin-top:0!important;
    background:#f5f7fa!important;
    padding-top:24px!important;
}

@media(max-width:820px){
    .tte-trip-listing .tte-listing-hero{
        padding:20px 0 18px!important;
        background:#fff!important;
    }

    .tte-trip-listing .tte-breadcrumbs{
        margin-bottom:14px!important;
        font-size:12px!important;
    }
}



/* V41 Detail breadcrumb */
.tte-detail-breadcrumb-section{
    background:#fff;
    border-top:1px solid #eef2f7;
    padding:18px 0 0;
}

.tte-detail-breadcrumbs{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
    color:#64748b;
    font-size:14px;
    margin:0;
}

.tte-detail-breadcrumbs a{
    color:#64748b;
    text-decoration:none;
    font-weight:700;
}

.tte-detail-breadcrumbs a:hover{
    color:#087d79;
}

.tte-detail-breadcrumbs span{
    color:#cbd5e1;
}

.tte-detail-breadcrumbs strong{
    color:#071116;
    font-weight:900;
}

.tte-detail-breadcrumb-section + .tte-detail-hero{
    padding-top:28px;
}

@media(max-width:640px){
    .tte-detail-breadcrumb-section{
        padding:12px 0 0;
    }

    .tte-detail-breadcrumbs{
        font-size:12px;
        gap:6px;
        overflow-x:auto;
        flex-wrap:nowrap;
        white-space:nowrap;
        -webkit-overflow-scrolling:touch;
    }

    .tte-detail-breadcrumbs::-webkit-scrollbar{
        display:none;
    }

    .tte-detail-breadcrumb-section + .tte-detail-hero{
        padding-top:18px;
    }
}



/* V42 Detail font fix + tour code */
.tte-page,
.tte-page *,
.tte-detail-hero,
.tte-detail-hero *,
.tte-detail-copy,
.tte-detail-copy *,
.tte-detail-breadcrumb-section,
.tte-detail-breadcrumb-section *,
.tte-detail-grid,
.tte-detail-grid *,
.tte-detail-price-card,
.tte-detail-price-card *,
.tte-period-table,
.tte-period-table *,
.tte-itinerary,
.tte-itinerary *{
    font-family:"Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif!important;
    letter-spacing:normal!important;
}

.tte-detail-copy h1,
.tte-detail-copy .tte-title,
.tte-detail-copy h2,
.tte-page h1,
.tte-page h2,
.tte-page h3{
    font-family:"Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif!important;
    font-weight:800!important;
    letter-spacing:-0.01em!important;
}

.tte-detail-copy h1{
    line-height:1.18!important;
}

.tte-tour-code-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin:10px 0 8px;
    padding:8px 12px;
    border-radius:999px;
    background:#e6ffff;
    border:1px solid #d9f7f5;
    color:#071116;
    width:fit-content;
}

.tte-tour-code-pill span{
    color:#087d79;
    font-size:12px;
    font-weight:800;
}

.tte-tour-code-pill strong{
    color:#071116;
    font-size:13px;
    font-weight:900;
    letter-spacing:.02em!important;
}

@media(max-width:640px){
    .tte-tour-code-pill{
        margin:8px 0 6px;
        padding:7px 10px;
    }

    .tte-tour-code-pill span,
    .tte-tour-code-pill strong{
        font-size:12px;
    }
}



/* V43 mobile header click targets */
@media(max-width:980px){
    .tte-mobile-menu-toggle,
    .tte-mobile-search-focus{
        cursor:pointer;
        touch-action:manipulation;
        position:relative;
        z-index:5;
    }

    .tte-header-search input{
        -webkit-user-select:text;
        user-select:text;
    }
}



/* V44 Landing/listing improvements: cover hero, tour code, first 3 departures */
.tte-listing-hero-cover{
    position:relative;
    overflow:hidden;
    isolation:isolate;
}

.tte-listing-hero-cover::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
    background-image:var(--tte-listing-hero-bg);
    background-size:cover;
    background-position:center;
    opacity:.22;
    transform:scale(1.02);
}

.tte-listing-hero-cover::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:
        radial-gradient(circle at 82% 18%, rgba(10,186,181,.26), transparent 34%),
        linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.92) 46%, rgba(246,250,251,.78) 100%);
}

.tte-listing-hero-cover .tte-listing-summary{
    backdrop-filter:blur(10px);
}

.tte-list-tour-code{
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:fit-content;
    margin:0 0 8px;
    padding:6px 10px;
    border-radius:999px;
    background:#e6ffff;
    border:1px solid #d9f7f5;
    color:#071116;
}

.tte-list-tour-code span{
    color:#087d79;
    font-size:11px;
    font-weight:900;
}

.tte-list-tour-code strong{
    color:#071116;
    font-size:12px;
    font-weight:900;
    letter-spacing:.02em;
}

.tte-list-periods{
    margin-top:12px;
}

.tte-list-periods-label{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    margin-bottom:7px;
}

.tte-list-period-chips{
    display:flex;
    align-items:center;
    gap:7px;
    flex-wrap:wrap;
}

.tte-list-period-chips span,
.tte-list-period-chips a{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
}

.tte-list-period-chips span{
    background:#f8fafc;
    border:1px solid #e5eaf2;
    color:#334155;
}

.tte-list-period-chips a{
    background:#071116;
    border:1px solid #071116;
    color:#fff;
}

.tte-list-period-chips a:hover{
    background:#0ABAB5;
    border-color:#0ABAB5;
    color:#071116;
}

@media(max-width:640px){
    .tte-listing-hero-cover::before{
        opacity:.12;
    }

    .tte-listing-hero-cover::after{
        background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.94) 100%);
    }

    .tte-list-tour-code{
        margin-bottom:6px;
        padding:5px 8px;
    }

    .tte-list-tour-code span,
    .tte-list-tour-code strong{
        font-size:10px;
    }

    .tte-list-periods{
        margin-top:8px;
    }

    .tte-list-periods-label{
        font-size:11px;
        margin-bottom:5px;
    }

    .tte-list-period-chips{
        gap:5px;
    }

    .tte-list-period-chips span,
    .tte-list-period-chips a{
        min-height:24px;
        padding:0 7px;
        font-size:10px;
    }
}



/* V45 admin-selected listing hero image support */
.tte-listing-hero-cover[style*="--tte-listing-hero-bg"]::before{
    opacity:.28;
}

@media(max-width:640px){
    .tte-listing-hero-cover[style*="--tte-listing-hero-bg"]::before{
        opacity:.16;
    }
}



/* V46 force admin-selected listing hero background */
.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    min-height:360px;
}

.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg::before{
    display:none!important;
}

.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg::after{
    display:none!important;
}

.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg .tte-listing-hero-grid{
    position:relative;
    z-index:2;
}

.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg .tte-kicker,
.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg .tte-listing-chips a,
.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg .tte-listing-summary{
    box-shadow:0 14px 34px rgba(15,23,42,.10)!important;
}

.tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg .tte-listing-summary{
    background:rgba(255,255,255,.88)!important;
    backdrop-filter:blur(10px)!important;
}

@media(max-width:820px){
    .tte-trip-listing .tte-listing-hero.tte-listing-hero-cover.has-hero-bg{
        min-height:300px;
        background-image:linear-gradient(180deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.88) 58%, rgba(255,255,255,.78) 100%), var(--tte-listing-hero-bg)!important;
    }
}



/* V47 Mega menu China/Japan city list */
.tte-mega-panel{
    width:min(1120px, calc(100vw - 48px))!important;
}

.tte-mega-panel-inner{
    grid-template-columns:240px minmax(0,1fr)!important;
    gap:24px!important;
}

.tte-mega-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px 24px!important;
}

.tte-mega-city{
    min-height:42px!important;
    padding:8px 10px!important;
    border-radius:12px!important;
}

.tte-mega-city:hover{
    background:#f8fafc!important;
}

.tte-city-orb{
    display:none!important;
}

.tte-mega-city strong{
    font-size:15px!important;
    font-weight:800!important;
}

.tte-mega-city small{
    display:block!important;
    margin-top:2px!important;
    color:#94a3b8!important;
    font-size:11px!important;
}

@media(min-width:1200px){
    .tte-mega-grid{
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
    }
}

@media(max-width:980px){
    .tte-mega-panel{
        width:auto!important;
    }
}



/* V48 Mega menu stable city pages */
.tte-mega-city strong{
    white-space:nowrap;
}


/* V50.1 Landing SEO content */
.tte-custom-seo-content{margin-top:18px;color:#475569;font-size:15px;line-height:1.8;}
.tte-custom-seo-content h2,.tte-custom-seo-content h3{color:#071116;margin:18px 0 8px;}
.tte-custom-seo-content p{margin:0 0 12px;}



/* V50.6 Country mega menu: Asia + Europe */
.tte-mega-item-wide{
    position:relative;
}

.tte-mega-panel-country{
    width:min(1120px, calc(100vw - 48px))!important;
    left:0!important;
    transform:none!important;
    padding:0!important;
    overflow:hidden;
}

.tte-country-mega-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    background:#fff;
    border-radius:24px;
    border:1px solid #e5eaf2;
    box-shadow:0 24px 70px rgba(15,23,42,.14);
}

.tte-country-col{
    padding:24px 28px 26px;
}

.tte-country-col + .tte-country-col{
    border-left:1px solid #e5eaf2;
}

.tte-country-col h3{
    margin:0 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid #e5eaf2;
    color:#071116;
    font-size:20px;
    font-weight:900;
}

.tte-country-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 18px;
}

.tte-country-menu-link{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:30px;
    color:#243041;
    text-decoration:none;
    font-weight:800;
    font-size:15px;
    border-radius:12px;
    padding:5px 7px;
    transition:background .18s ease, color .18s ease, transform .18s ease;
}

.tte-country-menu-link:hover{
    background:#f4fbfb;
    color:#007f7a;
    transform:translateX(2px);
}

.tte-country-flag{
    display:inline-flex;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center;
    font-size:20px;
    line-height:1;
    flex:0 0 24px;
}

@media(max-width:980px){
    .tte-mega-panel-country{
        width:auto!important;
    }

    .tte-country-mega-wrap{
        grid-template-columns:1fr;
        border-radius:22px 22px 0 0;
        box-shadow:none;
        border:0;
    }

    .tte-country-col{
        padding:18px 18px 8px;
    }

    .tte-country-col + .tte-country-col{
        border-left:0;
        border-top:1px solid #e5eaf2;
    }

    .tte-country-list{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }

    .tte-country-menu-link{
        font-size:14px;
        background:#f8fafc;
        padding:8px 10px;
    }
}

@media(max-width:420px){
    .tte-country-list{
        grid-template-columns:1fr;
    }
}



/* V50.9 — cleaner desktop hero + professional country mega menu */
@media (min-width: 981px) {
    .tte-listing-hero,
    .tte-listing-hero-cover {
        min-height: 0 !important;
        padding: 54px 0 58px !important;
    }

    .tte-listing-hero .tte-container {
        max-width: 1240px;
    }

    .tte-listing-hero-grid.tte-listing-hero-clean {
        display: block !important;
        max-width: 760px;
    }

    .tte-listing-hero-copy {
        max-width: 760px;
    }

    .tte-listing-hero h1 {
        margin-top: 18px !important;
        margin-bottom: 12px !important;
        font-size: clamp(44px, 4.4vw, 64px) !important;
        line-height: 1.04 !important;
        letter-spacing: -0.045em;
    }

    .tte-listing-hero p {
        max-width: 720px;
        font-size: 18px !important;
        line-height: 1.7 !important;
        margin-bottom: 20px !important;
    }

    .tte-listing-summary,
    .tte-kicker {
        display: none !important;
    }

    .tte-listing-chips {
        margin-top: 18px !important;
    }

    .tte-listing-chips a {
        min-height: 40px;
        padding: 8px 18px;
        border-radius: 999px;
        background: #ffffff;
        border: 1px solid rgba(10, 186, 181, .22);
        box-shadow: 0 10px 26px rgba(15, 23, 42, .05);
    }

    .tte-mega-nav {
        position: relative;
        z-index: 60;
    }

    .tte-mega-row {
        position: relative;
        justify-content: center !important;
        gap: 34px !important;
    }

    .tte-mega-item-wide {
        position: static !important;
    }

    .tte-mega-item-wide .tte-mega-panel-country {
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) translateY(10px) !important;
        width: min(1040px, calc(100vw - 64px)) !important;
        top: 100% !important;
        border-radius: 24px !important;
    }

    .tte-mega-item-wide:hover .tte-mega-panel-country,
    .tte-mega-item-wide:focus-within .tte-mega-panel-country {
        transform: translateX(-50%) translateY(0) !important;
    }

    .tte-country-mega-wrap {
        grid-template-columns: 1fr 1fr !important;
        gap: 0 !important;
        border-radius: 24px !important;
        overflow: hidden;
        background: rgba(255,255,255,.98);
        backdrop-filter: blur(18px);
    }

    .tte-country-col {
        padding: 24px 30px 26px !important;
    }

    .tte-country-col h3 {
        font-size: 20px !important;
        margin-bottom: 18px !important;
    }

    .tte-country-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px 14px !important;
    }

    .tte-country-menu-link {
        min-height: 38px !important;
        padding: 7px 9px !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        white-space: nowrap;
        border-radius: 12px !important;
    }

    .tte-country-flag {
        width: 22px !important;
        height: 22px !important;
        flex-basis: 22px !important;
        font-size: 18px !important;
    }
}

@media (min-width: 1280px) {
    .tte-mega-item-wide .tte-mega-panel-country {
        width: 1080px !important;
    }

    .tte-country-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 980px) {
    .tte-listing-hero,
    .tte-listing-hero-cover {
        padding: 34px 0 38px !important;
    }

    .tte-listing-hero-grid.tte-listing-hero-clean {
        display: block !important;
    }

    .tte-listing-summary,
    .tte-kicker {
        display: none !important;
    }

    .tte-listing-hero h1 {
        margin-top: 14px !important;
        font-size: clamp(38px, 12vw, 56px) !important;
        line-height: 1.04 !important;
    }
}



/* V51.0 — Japan/China mega menus use same professional pattern as global menu */
@media (min-width: 981px) {
    .tte-mega-item-city {
        position: static !important;
    }

    .tte-mega-item-city .tte-mega-panel-city {
        left: 50% !important;
        right: auto !important;
        top: 100% !important;
        transform: translateX(-50%) translateY(10px) !important;
        width: min(760px, calc(100vw - 64px)) !important;
        border-radius: 24px !important;
        padding: 0 !important;
        overflow: hidden;
    }

    .tte-mega-item-city:hover .tte-mega-panel-city,
    .tte-mega-item-city:focus-within .tte-mega-panel-city {
        transform: translateX(-50%) translateY(0) !important;
    }

    .tte-city-mega-wrap {
        display: block !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.98);
        border: 1px solid #e5eaf2;
        box-shadow: 0 24px 70px rgba(15,23,42,.14);
        backdrop-filter: blur(18px);
    }

    .tte-city-col-main {
        padding: 24px 30px 26px !important;
        border-left: 0 !important;
    }

    .tte-city-col-main h3 {
        margin: 0 0 18px !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid #e5eaf2 !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        color: #071116 !important;
    }

    .tte-city-country-list {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 9px 14px !important;
    }

    .tte-country-menu-link-all {
        background: #ecfeff !important;
        color: #007f7a !important;
        border: 1px solid rgba(10, 186, 181, .18);
    }

    .tte-mega-item-city .tte-country-flag {
        border-radius: 999px;
        background: #f4f7fb;
        font-size: 13px !important;
        font-weight: 900;
        color: #007f7a;
    }
}

@media (max-width: 980px) {
    .tte-city-country-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .tte-country-menu-link-all {
        background: #ecfeff !important;
        color: #007f7a !important;
    }
}

@media (max-width: 420px) {
    .tte-city-country-list {
        grid-template-columns: 1fr !important;
    }
}



/* V51.1 — real city icons in Japan/China mega menus */
.tte-city-menu-icon {
    background: #f6fbfc !important;
    border: 1px solid rgba(10, 186, 181, .18);
    box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
    font-size: 16px !important;
    line-height: 1 !important;
    color: inherit !important;
}

@media (min-width: 981px) {
    .tte-mega-item-city .tte-city-menu-icon {
        width: 26px !important;
        height: 26px !important;
        flex-basis: 26px !important;
        font-size: 17px !important;
        background: #f7fbfd !important;
    }

    .tte-mega-item-city .tte-country-menu-link:hover .tte-city-menu-icon {
        background: #ecfeff !important;
        border-color: rgba(10, 186, 181, .34);
        transform: scale(1.04);
    }
}

@media (max-width: 980px) {
    .tte-city-menu-icon {
        width: 28px !important;
        height: 28px !important;
        flex-basis: 28px !important;
        font-size: 17px !important;
    }
}



/* V51.2 — professional primary nav: shorter, calmer, more trustworthy */
@media (min-width: 981px) {
    .tte-mega-row-primary {
        justify-content: flex-start !important;
        gap: 42px !important;
        min-height: 58px;
        padding-left: 8px;
    }

    .tte-mega-row-primary .tte-mega-trigger,
    .tte-mega-row-primary .tte-mega-link {
        position: relative;
        display: inline-flex;
        align-items: center;
        min-height: 58px;
        padding: 0 2px;
        color: #071116;
        font-size: 16px;
        font-weight: 900;
        letter-spacing: -0.01em;
        text-decoration: none;
        white-space: nowrap;
    }

    .tte-mega-row-primary .tte-mega-trigger::after,
    .tte-mega-row-primary .tte-mega-link::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 3px;
        border-radius: 999px 999px 0 0;
        background: #0ABAB5;
        opacity: 0;
        transform: scaleX(.55);
        transition: opacity .18s ease, transform .18s ease;
    }

    .tte-mega-row-primary .tte-mega-item:hover > .tte-mega-trigger::after,
    .tte-mega-row-primary .tte-mega-trigger:focus-visible::after,
    .tte-mega-row-primary .tte-mega-link:hover::after,
    .tte-mega-row-primary .tte-mega-link:focus-visible::after {
        opacity: 1;
        transform: scaleX(1);
    }

    .tte-mega-row-primary .tte-mega-item:first-child .tte-mega-trigger {
        color: #007f7a;
    }

    .tte-site-header {
        border-bottom: 1px solid rgba(226, 232, 240, .9);
    }

    .tte-site-header .tte-mega-nav {
        background: rgba(255,255,255,.96);
        backdrop-filter: blur(16px);
    }
}

@media (max-width: 980px) {
    .tte-mega-row-primary .tte-mega-link {
        display: none !important;
    }
}



/* V51.3 — full-site professional nav + trust footer */
.tte-help-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.tte-help-trigger {
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
}

.tte-help-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 12px);
    min-width: 190px;
    padding: 10px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e5eaf2;
    box-shadow: 0 22px 55px rgba(15,23,42,.13);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 90;
}

.tte-help-menu:hover .tte-help-dropdown,
.tte-help-menu:focus-within .tte-help-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.tte-help-dropdown a {
    display: block;
    padding: 10px 12px;
    border-radius: 12px;
    color: #243041;
    text-decoration: none;
    font-weight: 800;
    font-size: 14px;
}

.tte-help-dropdown a:hover {
    background: #f4fbfb;
    color: #007f7a;
}

@media (min-width: 981px) {
    .tte-mega-item-festival {
        position: static !important;
    }

    .tte-mega-item-festival .tte-mega-panel-festival {
        left: 50% !important;
        right: auto !important;
        top: 100% !important;
        transform: translateX(-50%) translateY(10px) !important;
        width: min(620px, calc(100vw - 64px)) !important;
        border-radius: 24px !important;
        padding: 0 !important;
        overflow: hidden;
    }

    .tte-mega-item-festival:hover .tte-mega-panel-festival,
    .tte-mega-item-festival:focus-within .tte-mega-panel-festival {
        transform: translateX(-50%) translateY(0) !important;
    }

    .tte-festival-mega-wrap {
        display: block !important;
        border-radius: 24px !important;
        background: rgba(255,255,255,.98);
        border: 1px solid #e5eaf2;
        box-shadow: 0 24px 70px rgba(15,23,42,.14);
        backdrop-filter: blur(18px);
    }

    .tte-festival-col-main {
        padding: 24px 30px 26px !important;
        border-left: 0 !important;
    }

    .tte-festival-col-main h3 {
        margin: 0 0 18px !important;
        padding-bottom: 12px !important;
        border-bottom: 1px solid #e5eaf2 !important;
        font-size: 20px !important;
        font-weight: 900 !important;
        color: #071116 !important;
    }

    .tte-festival-list {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 14px !important;
    }
}

.tte-footer-trust-grid {
    grid-template-columns: minmax(240px, 1.45fr) repeat(4, minmax(150px, 1fr)) !important;
    gap: 28px !important;
}

.tte-site-footer .tte-footer-col h4 {
    color: #071116;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.tte-site-footer .tte-footer-col a {
    line-height: 1.65;
}

@media (max-width: 1080px) {
    .tte-footer-trust-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .tte-help-menu .tte-header-link {
        display: none !important;
    }

    .tte-footer-trust-grid {
        grid-template-columns: 1fr !important;
    }
}



/* V51.4 — stable mega menu positioning and no-overlap fix */
.tte-site-header {
    position: sticky;
    top: 0;
    z-index: 9990;
    background: rgba(255,255,255,.98);
}

.admin-bar .tte-site-header {
    top: 32px;
}

.tte-header-top {
    position: relative;
    z-index: 9994;
    background: rgba(255,255,255,.98);
}

.tte-mega-nav {
    position: relative !important;
    z-index: 9993 !important;
    background: rgba(255,255,255,.98) !important;
    border-top: 1px solid rgba(226,232,240,.72);
    border-bottom: 1px solid rgba(226,232,240,.9);
}

.tte-mega-row-primary {
    position: relative !important;
    min-height: 58px !important;
}

.tte-mega-item {
    position: static !important;
}

.tte-mega-trigger {
    position: relative;
    z-index: 2;
}

.tte-mega-panel {
    position: absolute !important;
    top: calc(100% + 0px) !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) translateY(10px) !important;
    z-index: 9992 !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.tte-mega-item:hover > .tte-mega-panel,
.tte-mega-item:focus-within > .tte-mega-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
}

.tte-mega-panel-country {
    width: min(1040px, calc(100vw - 64px)) !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

.tte-mega-panel-city {
    width: min(760px, calc(100vw - 64px)) !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

.tte-mega-panel-festival {
    width: min(620px, calc(100vw - 64px)) !important;
    padding: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

.tte-country-mega-wrap,
.tte-city-mega-wrap,
.tte-festival-mega-wrap {
    background: rgba(255,255,255,.985) !important;
    border: 1px solid #e5eaf2 !important;
    box-shadow: 0 26px 70px rgba(15,23,42,.16) !important;
    backdrop-filter: blur(18px);
    border-radius: 24px !important;
}

.tte-country-mega-wrap {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
}

.tte-city-mega-wrap,
.tte-festival-mega-wrap {
    display: block !important;
}

.tte-country-col,
.tte-city-col-main,
.tte-festival-col-main {
    padding: 24px 30px 26px !important;
}

.tte-country-col + .tte-country-col {
    border-left: 1px solid #e5eaf2 !important;
}

.tte-country-col h3,
.tte-city-col-main h3,
.tte-festival-col-main h3 {
    margin: 0 0 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #e5eaf2 !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    color: #071116 !important;
    line-height: 1.25 !important;
}

.tte-country-list {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 9px 14px !important;
}

.tte-city-country-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.tte-festival-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.tte-country-menu-link {
    min-height: 38px !important;
    padding: 7px 9px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    white-space: nowrap;
    border-radius: 12px !important;
}

.tte-country-menu-link:hover {
    background: #f4fbfb !important;
    color: #007f7a !important;
}

.tte-city-menu-icon {
    background: #f7fbfd !important;
    border: 1px solid rgba(10, 186, 181, .18) !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .05) !important;
    font-size: 16px !important;
}

@media (max-width: 980px) {
    .tte-site-header {
        position: sticky;
        top: 0;
    }

    .admin-bar .tte-site-header {
        top: 46px;
    }

    .tte-mega-panel {
        display: none !important;
    }

    .tte-mega-row-primary {
        overflow-x: auto;
        justify-content: flex-start !important;
        -webkit-overflow-scrolling: touch;
    }
}

@media (max-width: 782px) {
    .admin-bar .tte-site-header {
        top: 46px;
    }
}

@media (max-width: 600px) {
    .admin-bar .tte-site-header {
        top: 0;
    }
}



/* V51.6 — ThaiFly static pages handled by plugin template */
.tte-static-page {
    font-family: 'Noto Sans Thai', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #071116;
    background: #f6f8fb;
}

.tte-static-hero {
    padding: 46px 0 54px;
    background:
        radial-gradient(circle at 82% 20%, rgba(10,186,181,.18), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
    border-bottom: 1px solid #e7edf4;
}

.tte-static-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 36px;
    align-items: center;
    margin-top: 24px;
}

.tte-static-eyebrow {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    background: #ecfeff;
    border: 1px solid rgba(10,186,181,.18);
    color: #007f7a;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.tte-static-hero h1 {
    margin: 18px 0 12px;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.02;
    letter-spacing: -.05em;
    font-weight: 900;
}

.tte-static-hero p {
    margin: 0;
    max-width: 760px;
    color: #64748b;
    font-size: 18px;
    line-height: 1.75;
}

.tte-static-contact-card {
    padding: 28px;
    border-radius: 28px;
    background: rgba(255,255,255,.92);
    border: 1px solid #e5eaf2;
    box-shadow: 0 26px 70px rgba(15,23,42,.09);
}

.tte-static-contact-card strong {
    display: block;
    font-size: 24px;
    font-weight: 900;
    margin-bottom: 10px;
}

.tte-static-contact-card span {
    display: block;
    color: #64748b;
    line-height: 1.7;
    margin-bottom: 18px;
}

.tte-static-contact-card a,
.tte-footer-line {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 22px;
    border-radius: 999px;
    background: #071116;
    color: #fff !important;
    text-decoration: none;
    font-weight: 900;
}

.tte-static-content-section {
    padding: 44px 0 64px;
}

.tte-static-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 28px;
    align-items: start;
}

.tte-static-content-card,
.tte-static-side-card {
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 28px;
    box-shadow: 0 18px 45px rgba(15,23,42,.05);
}

.tte-static-content-card {
    padding: 34px;
}

.tte-static-content-card h2 {
    margin: 0 0 16px;
    font-size: 30px;
    line-height: 1.22;
    font-weight: 900;
    letter-spacing: -.03em;
}

.tte-static-content-card h3 {
    margin: 28px 0 10px;
    font-size: 22px;
    font-weight: 900;
}

.tte-static-content-card p {
    margin: 0 0 16px;
    color: #475569;
    font-size: 16px;
    line-height: 1.85;
}

.tte-static-action-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.tte-static-action-list a {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    background: #f4f8fb;
    border: 1px solid #e5eaf2;
    color: #071116;
    text-decoration: none;
    font-weight: 800;
}

.tte-static-steps {
    display: grid;
    gap: 14px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.tte-static-steps li {
    padding: 18px 20px;
    border-radius: 20px;
    background: #f8fafc;
    border: 1px solid #e5eaf2;
}

.tte-static-steps strong {
    display: block;
    font-weight: 900;
    margin-bottom: 4px;
}

.tte-static-steps span {
    color: #64748b;
}

.tte-static-faq-list {
    display: grid;
    gap: 12px;
}

.tte-static-faq-list details {
    border: 1px solid #e5eaf2;
    border-radius: 18px;
    background: #f8fafc;
    padding: 16px 18px;
}

.tte-static-faq-list summary {
    cursor: pointer;
    font-weight: 900;
}

.tte-static-faq-list p {
    margin-top: 12px;
}

.tte-static-side-card {
    padding: 24px;
    position: sticky;
    top: 150px;
}

.tte-static-side-card h3 {
    margin: 0 0 14px;
    font-size: 20px;
    font-weight: 900;
}

.tte-static-side-card a {
    display: block;
    padding: 12px 0;
    border-top: 1px solid #edf2f7;
    color: #243041;
    text-decoration: none;
    font-weight: 800;
}

.tte-static-side-card a:hover {
    color: #007f7a;
}

@media (max-width: 980px) {
    .tte-static-hero-grid,
    .tte-static-content-grid {
        grid-template-columns: 1fr;
    }

    .tte-static-contact-card,
    .tte-static-side-card {
        position: static;
    }

    .tte-static-hero {
        padding: 34px 0 40px;
    }

    .tte-static-content-card {
        padding: 24px;
    }
}



/* V51.8 — WP Core Posts rendered in ThaiFly style */
.tte-blog-page,
.tte-blog-single-page {
    font-family: 'Noto Sans Thai', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: #071116;
    background: #f6f8fb;
}

.tte-blog-hero,
.tte-blog-single-hero {
    padding: 44px 0 52px;
    background:
        radial-gradient(circle at 82% 20%, rgba(10,186,181,.18), transparent 34%),
        linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
    border-bottom: 1px solid #e7edf4;
}

.tte-blog-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 36px;
    align-items: end;
    margin-top: 24px;
}

.tte-blog-hero h1,
.tte-blog-single-heading h1 {
    margin: 18px 0 12px;
    font-size: clamp(42px, 5vw, 72px);
    line-height: 1.02;
    letter-spacing: -.05em;
    font-weight: 900;
}

.tte-blog-hero p,
.tte-blog-single-heading p {
    margin: 0;
    max-width: 780px;
    color: #64748b;
    font-size: 18px;
    line-height: 1.75;
}

.tte-blog-search-card {
    padding: 22px;
    border-radius: 26px;
    background: rgba(255,255,255,.94);
    border: 1px solid #e5eaf2;
    box-shadow: 0 24px 60px rgba(15,23,42,.08);
}

.tte-blog-search-card label {
    display: block;
    margin-bottom: 10px;
    color: #475569;
    font-weight: 900;
}

.tte-blog-search-card div {
    display: flex;
    gap: 10px;
}

.tte-blog-search-card input {
    flex: 1;
    min-height: 48px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    padding: 0 16px;
    font: inherit;
}

.tte-blog-search-card button {
    min-height: 48px;
    border: 0;
    border-radius: 16px;
    padding: 0 18px;
    background: #071116;
    color: #fff;
    font-weight: 900;
    cursor: pointer;
}

.tte-blog-list-section,
.tte-blog-single-content-section {
    padding: 44px 0 68px;
}

.tte-blog-layout,
.tte-blog-single-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 28px;
    align-items: start;
}

.tte-blog-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 18px;
}

.tte-blog-toolbar h2 {
    margin: 0;
    font-size: 30px;
    font-weight: 900;
    letter-spacing: -.03em;
}

.tte-blog-toolbar span {
    color: #64748b;
    font-weight: 700;
}

.tte-blog-list {
    display: grid;
    gap: 18px;
}

.tte-blog-card {
    display: grid;
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 0;
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15,23,42,.05);
}

.tte-blog-card-image {
    display: block;
    min-height: 230px;
    background: #edf2f7;
}

.tte-blog-card-image img {
    width: 100%;
    height: 100%;
    min-height: 230px;
    object-fit: cover;
    display: block;
}

.tte-blog-card-body {
    padding: 24px 26px;
}

.tte-blog-meta {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 12px;
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.tte-blog-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #ecfeff;
    color: #007f7a;
}

.tte-blog-card h3 {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.22;
    letter-spacing: -.03em;
    font-weight: 900;
}

.tte-blog-card h3 a {
    color: #071116;
    text-decoration: none;
}

.tte-blog-card p {
    margin: 0 0 18px;
    color: #475569;
    line-height: 1.75;
    font-size: 16px;
}

.tte-blog-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.tte-blog-read-more,
.tte-blog-line,
.tte-blog-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
}

.tte-blog-read-more {
    background: #071116;
    color: #fff !important;
}

.tte-blog-line {
    background: #e6fffb;
    color: #007f7a !important;
}

.tte-blog-sidebar {
    display: grid;
    gap: 18px;
    position: sticky;
    top: 150px;
}

.tte-blog-side-card {
    padding: 24px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid #e5eaf2;
    box-shadow: 0 18px 45px rgba(15,23,42,.05);
}

.tte-blog-side-card h3 {
    margin: 0 0 14px;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.02em;
}

.tte-blog-side-card p {
    color: #64748b;
    line-height: 1.7;
}

.tte-blog-side-card a {
    display: block;
    padding: 12px 0;
    border-top: 1px solid #edf2f7;
    color: #243041;
    text-decoration: none;
    font-weight: 800;
}

.tte-blog-side-card a:hover {
    color: #007f7a;
}

.tte-blog-cta a {
    display: inline-flex;
    border-top: 0;
    background: #071116;
    color: #fff !important;
    padding: 0 20px;
}

.tte-blog-pagination {
    margin-top: 26px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.tte-blog-pagination .page-numbers {
    display: inline-flex;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #e5eaf2;
    color: #071116;
    text-decoration: none;
    font-weight: 900;
}

.tte-blog-pagination .current {
    background: #071116;
    color: #fff;
}

.tte-blog-single-heading {
    max-width: 940px;
    margin-top: 24px;
}

.tte-blog-single-cover {
    margin-top: 30px;
    border-radius: 34px;
    overflow: hidden;
    border: 1px solid #e5eaf2;
    box-shadow: 0 26px 70px rgba(15,23,42,.08);
}

.tte-blog-single-cover img {
    width: 100%;
    max-height: 560px;
    object-fit: cover;
    display: block;
}

.tte-blog-single-content {
    padding: 36px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #e5eaf2;
    box-shadow: 0 18px 45px rgba(15,23,42,.05);
    color: #243041;
    font-size: 18px;
    line-height: 1.9;
}

.tte-blog-single-content h2,
.tte-blog-single-content h3,
.tte-blog-single-content h4 {
    color: #071116;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.25;
}

.tte-blog-single-content img {
    max-width: 100%;
    height: auto;
    border-radius: 22px;
}

@media (max-width: 1080px) {
    .tte-blog-hero-grid,
    .tte-blog-layout,
    .tte-blog-single-layout {
        grid-template-columns: 1fr;
    }

    .tte-blog-sidebar {
        position: static;
    }
}

@media (max-width: 760px) {
    .tte-blog-card {
        grid-template-columns: 1fr;
    }

    .tte-blog-card-image,
    .tte-blog-card-image img {
        min-height: 210px;
    }

    .tte-blog-search-card div {
        flex-direction: column;
    }

    .tte-blog-single-content {
        padding: 24px;
        font-size: 16px;
    }
}



/* V52.0 — Core WP post/category routes rendered cleanly in ThaiFly style */
.tte-blog-hero,
.tte-blog-single-hero {
    padding-top: 72px !important;
}

.tte-blog-hero-grid {
    align-items: center !important;
}

.tte-blog-hero h1,
.tte-blog-single-heading h1 {
    overflow: visible !important;
    padding-top: 4px;
}

.tte-blog-card-actions {
    margin-top: 16px;
}

.tte-blog-read-more {
    width: fit-content;
}

body.category .tte-blog-page,
body.single-post .tte-blog-single-page {
    margin-top: 0;
}

@media (max-width: 980px) {
    .tte-blog-hero,
    .tte-blog-single-hero {
        padding-top: 46px !important;
    }
}



/* V52.2 — Home /tour/ UX refresh: fullsize banner slider + fire sale + clean mobile */
.tte-home-hero-slider {
    position: relative;
    overflow: hidden;
    background: #fff;
    border-bottom: 1px solid #e7edf4;
}

.tte-home-slider-track {
    position: relative;
    min-height: 520px;
}

.tte-home-slide {
    position: absolute;
    inset: 0;
    min-height: 520px;
    display: flex;
    align-items: center;
    background-size: cover;
    background-position: center;
    opacity: 0;
    visibility: hidden;
    transform: scale(1.012);
    transition: opacity .55s ease, transform .75s ease, visibility .55s ease;
}

.tte-home-slide.is-active {
    position: relative;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.tte-home-slide.has-gradient-bg {
    background:
        radial-gradient(circle at 80% 24%, rgba(10,186,181,.18), transparent 35%),
        linear-gradient(135deg, #ffffff 0%, #f8fbfd 52%, #e9fbfb 100%);
}

.tte-home-slide-content {
    max-width: 680px;
    padding: 86px 0 92px;
}

.tte-home-slide-kicker,
.tte-fire-kicker {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 15px;
    border-radius: 999px;
    background: #ecfeff;
    border: 1px solid rgba(10,186,181,.2);
    color: #007f7a;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.tte-home-slide h1 {
    margin: 18px 0 16px;
    max-width: 760px;
    font-size: clamp(44px, 5.6vw, 82px);
    line-height: .98;
    letter-spacing: -.06em;
    font-weight: 900;
    color: #071116;
}

.tte-home-slide p {
    max-width: 620px;
    margin: 0 0 26px;
    color: #526174;
    font-size: 19px;
    line-height: 1.75;
}

.tte-home-slide-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 26px;
    border-radius: 999px;
    background: #071116;
    color: #fff !important;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 18px 42px rgba(15,23,42,.14);
}

.tte-home-slider-dots {
    position: absolute;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 9px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(226,232,240,.72);
}

.tte-home-slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cbd5e1;
    cursor: pointer;
    transition: width .22s ease, background .22s ease;
}

.tte-home-slider-dots button.is-active {
    width: 28px;
    background: #0ABAB5;
}

.tte-fire-sale-section {
    background: #fff;
    padding-top: 54px !important;
}

.tte-fire-sale-section .tte-section-head {
    align-items: end;
}

.tte-fire-sale-section .tte-section-head h2 {
    margin-top: 10px;
}

.tte-fire-sale-grid {
    margin-top: 22px;
}

@media (max-width: 980px) {
    .tte-home-hero-slider,
    .tte-home-slide,
    .tte-home-slide.has-gradient-bg {
        background: #fff !important;
    }

    .tte-home-slider-track,
    .tte-home-slide {
        min-height: 0;
    }

    .tte-home-slide {
        background-image: none !important;
        align-items: flex-start;
    }

    .tte-home-slide-content {
        padding: 34px 0 42px;
    }

    .tte-home-slide h1 {
        font-size: clamp(36px, 11vw, 54px);
        line-height: 1.03;
        margin-bottom: 12px;
    }

    .tte-home-slide p {
        font-size: 16px;
        line-height: 1.75;
        margin-bottom: 20px;
    }

    .tte-home-slide-button {
        min-height: 46px;
        padding: 0 22px;
    }

    .tte-home-slider-dots {
        position: static;
        transform: none;
        justify-content: center;
        margin: -22px auto 22px;
        width: fit-content;
        background: #fff;
    }

    .tte-fire-sale-section {
        padding-top: 28px !important;
        background: #fff !important;
    }

    .tte-fire-sale-section .tte-section-head {
        display: block;
    }

    .tte-fire-sale-section .tte-section-head a {
        margin-top: 12px;
        display: inline-flex;
    }

    body .tte-page,
    body .tte-section,
    body .tte-archive-main,
    body .tte-homepage,
    body .tte-tour-engine {
        background: #fff !important;
    }
}



/* V52.3 — Professional tour cards: fixed ratio image, compact 4-column grid, no stretch */
.tte-tour-grid-premium,
.tte-fire-sale-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.tte-fire-sale-section,
.tte-section {
    overflow: visible;
}

.tte-section .tte-container {
    max-width: 1280px;
}

.tte-fire-sale-section .tte-section-head,
.tte-section .tte-section-head {
    margin-bottom: 24px;
}

.tte-tour-grid-premium .tte-trip-tour-card,
.tte-fire-sale-grid .tte-trip-tour-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    height: 100%;
    overflow: hidden !important;
    border: 1px solid #e5eaf2 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 10px 24px rgba(15,23,42,.08) !important;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tte-tour-grid-premium .tte-trip-tour-card:hover,
.tte-fire-sale-grid .tte-trip-tour-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 42px rgba(15,23,42,.13) !important;
    border-color: rgba(10,186,181,.36) !important;
}

.tte-tour-grid-premium .tte-trip-card-image,
.tte-fire-sale-grid .tte-trip-card-image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    background: #edf2f7;
    border-radius: 0 !important;
}

.tte-tour-grid-premium .tte-trip-card-image img,
.tte-fire-sale-grid .tte-trip-card-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: scale(1.001);
}

.tte-card-wishlist {
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 4;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 999px;
    background: rgba(15,23,42,.45);
    color: #fff;
    font-size: 22px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.tte-tour-grid-premium .tte-card-badges,
.tte-fire-sale-grid .tte-card-badges {
    position: absolute !important;
    left: 12px !important;
    top: 12px !important;
    z-index: 3;
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

.tte-tour-grid-premium .tte-card-badges span,
.tte-fire-sale-grid .tte-card-badges span {
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #0ABAB5 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.tte-card-duration-ribbon {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    min-height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fffdf2;
    color: #ef3f25;
    font-size: 14px;
    font-weight: 900;
}

.tte-tour-grid-premium .tte-trip-card-content,
.tte-fire-sale-grid .tte-trip-card-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    padding: 18px 18px 20px !important;
    gap: 0 !important;
    border: 0 !important;
}

.tte-tour-grid-premium .tte-trip-card-main,
.tte-fire-sale-grid .tte-trip-card-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}

.tte-tour-grid-premium .tte-trip-card-main h3,
.tte-fire-sale-grid .tte-trip-card-main h3 {
    margin: 0 0 12px !important;
    min-height: 62px;
    font-size: 19px !important;
    line-height: 1.36 !important;
    font-weight: 900 !important;
    letter-spacing: -.018em !important;
}

.tte-tour-grid-premium .tte-trip-card-main h3 a,
.tte-fire-sale-grid .tte-trip-card-main h3 a {
    color: #2b3037 !important;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tte-card-info-list {
    display: grid;
    gap: 8px;
    margin: 0 0 14px;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.4;
}

.tte-card-info-list > div {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.tte-card-info-list > div span:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tte-card-info-icon {
    width: 18px;
    color: #6b7280;
    font-size: 13px;
    flex: 0 0 18px;
}

.tte-tour-grid-premium .tte-trip-card-main > p,
.tte-fire-sale-grid .tte-trip-card-main > p,
.tte-tour-grid-premium .tte-trip-meta,
.tte-fire-sale-grid .tte-trip-meta,
.tte-tour-grid-premium .tte-list-periods,
.tte-fire-sale-grid .tte-list-periods {
    display: none !important;
}

.tte-tour-grid-premium .tte-trip-card-side,
.tte-fire-sale-grid .tte-trip-card-side {
    margin-top: auto !important;
    padding-top: 10px !important;
    border-left: 0 !important;
    border-top: 1px solid #eef2f7 !important;
    min-width: 0 !important;
    display: block !important;
    text-align: right !important;
}

.tte-tour-grid-premium .tte-trip-rating,
.tte-fire-sale-grid .tte-trip-rating,
.tte-tour-grid-premium .tte-trip-actions,
.tte-fire-sale-grid .tte-trip-actions {
    display: none !important;
}

.tte-tour-grid-premium .tte-trip-price,
.tte-fire-sale-grid .tte-trip-price {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.tte-tour-grid-premium .tte-trip-price small,
.tte-fire-sale-grid .tte-trip-price small {
    color: #6b7280 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.tte-trip-price del {
    color: #9ca3af;
    font-size: 14px;
}

.tte-tour-grid-premium .tte-trip-price strong,
.tte-fire-sale-grid .tte-trip-price strong {
    color: #c6281d !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -.02em !important;
}

.tte-tour-grid-premium .tte-trip-price span,
.tte-fire-sale-grid .tte-trip-price span {
    display: none !important;
}

@media (max-width: 1180px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}

@media (max-width: 620px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        display: flex !important;
        overflow-x: auto !important;
        gap: 14px !important;
        padding: 0 18px 16px !important;
        margin-left: -18px;
        margin-right: -18px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .tte-tour-grid-premium .tte-trip-tour-card,
    .tte-fire-sale-grid .tte-trip-tour-card {
        flex: 0 0 82vw !important;
        max-width: 82vw !important;
        scroll-snap-align: start;
        border-radius: 16px !important;
    }

    .tte-tour-grid-premium .tte-trip-card-image,
    .tte-fire-sale-grid .tte-trip-card-image {
        aspect-ratio: 16 / 10 !important;
    }

    .tte-tour-grid-premium .tte-trip-card-content,
    .tte-fire-sale-grid .tte-trip-card-content {
        padding: 16px !important;
    }

    .tte-tour-grid-premium .tte-trip-card-main h3,
    .tte-fire-sale-grid .tte-trip-card-main h3 {
        font-size: 18px !important;
        min-height: 58px;
    }

    .tte-tour-grid-premium .tte-trip-price strong,
    .tte-fire-sale-grid .tte-trip-price strong {
        font-size: 22px !important;
    }
}

/* Keep listing pages list-card layout untouched as much as possible */
.tte-listing-page .tte-trip-card-image,
.tte-archive-layout .tte-trip-card-image {
    aspect-ratio: auto;
}



/* V52.4 — Tour card requested fields + 3:2 image + detail button */
.tte-tour-grid-premium,
.tte-fire-sale-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.tte-tour-grid-premium .tte-trip-card-image,
.tte-fire-sale-grid .tte-trip-card-image {
    aspect-ratio: 3 / 2 !important;
}

.tte-card-wishlist {
    width: 40px !important;
    height: 40px !important;
    background: rgba(15,23,42,.52) !important;
}

.tte-card-wishlist svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linejoin: round;
}

.tte-card-info-list {
    gap: 9px !important;
    margin-bottom: 16px !important;
    min-height: 84px;
}

.tte-card-info-list > div {
    color: #6b7280 !important;
    font-size: 14px !important;
}

.tte-card-info-icon {
    width: 19px !important;
    height: 19px !important;
    flex: 0 0 19px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #6b7280 !important;
}

.tte-card-info-icon svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
    display: block;
}

.tte-tour-grid-premium .tte-trip-card-side,
.tte-fire-sale-grid .tte-trip-card-side {
    display: grid !important;
    gap: 14px !important;
    text-align: left !important;
}

.tte-tour-grid-premium .tte-trip-price,
.tte-fire-sale-grid .tte-trip-price {
    justify-content: flex-end !important;
    text-align: right !important;
}

.tte-tour-grid-premium .tte-trip-actions,
.tte-fire-sale-grid .tte-trip-actions {
    display: block !important;
}

.tte-tour-grid-premium .tte-trip-detail,
.tte-fire-sale-grid .tte-trip-detail {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    border-radius: 999px;
    background: #071116;
    color: #fff !important;
    text-decoration: none;
    font-weight: 900;
    box-shadow: 0 10px 22px rgba(15,23,42,.12);
}

.tte-tour-grid-premium .tte-trip-detail:hover,
.tte-fire-sale-grid .tte-trip-detail:hover {
    background: #0ABAB5;
}

.tte-tour-grid-premium .tte-trip-line,
.tte-fire-sale-grid .tte-trip-line {
    display: none !important;
}

/* Keep exactly 4 items visible on wide desktop when section has more items */
@media (min-width: 1181px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1180px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 860px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .tte-tour-grid-premium,
    .tte-fire-sale-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        overflow: visible !important;
        padding: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .tte-tour-grid-premium .tte-trip-tour-card,
    .tte-fire-sale-grid .tte-trip-tour-card {
        flex: initial !important;
        max-width: none !important;
    }

    .tte-card-info-list {
        min-height: 0;
    }
}



/* V52.5 — Separate homepage grid cards from landing/list pages */
.tte-listing-page .tte-tour-list,
.tte-archive-main.tte-listing-page .tte-listing-tour-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

.tte-listing-page .tte-tour-list .tte-trip-tour-card,
.tte-archive-main.tte-listing-page .tte-trip-tour-card {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) !important;
    min-height: 230px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #fff !important;
    border: 1px solid #e5eaf2 !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
}

.tte-listing-page .tte-trip-card-image,
.tte-archive-main.tte-listing-page .tte-trip-card-image {
    width: 300px !important;
    height: 100% !important;
    min-height: 230px !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
}

.tte-listing-page .tte-trip-card-image img,
.tte-archive-main.tte-listing-page .tte-trip-card-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 230px !important;
    object-fit: cover !important;
    object-position: center !important;
}

.tte-listing-page .tte-card-duration-ribbon,
.tte-archive-main.tte-listing-page .tte-card-duration-ribbon {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    min-height: 34px !important;
    font-size: 13px !important;
}

.tte-listing-page .tte-trip-card-content,
.tte-archive-main.tte-listing-page .tte-trip-card-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 190px !important;
    gap: 22px !important;
    padding: 24px 24px 22px !important;
    align-items: stretch !important;
}

.tte-listing-page .tte-trip-card-main h3,
.tte-archive-main.tte-listing-page .tte-trip-card-main h3 {
    margin: 0 0 14px !important;
    min-height: 0 !important;
    font-size: 27px !important;
    line-height: 1.25 !important;
    letter-spacing: -.03em !important;
}

.tte-listing-page .tte-trip-card-main h3 a,
.tte-archive-main.tte-listing-page .tte-trip-card-main h3 a {
    -webkit-line-clamp: 2 !important;
}

.tte-listing-page .tte-card-info-list,
.tte-archive-main.tte-listing-page .tte-card-info-list {
    min-height: 0 !important;
    margin: 0 0 16px !important;
    gap: 9px !important;
}

.tte-listing-page .tte-card-info-list > div,
.tte-archive-main.tte-listing-page .tte-card-info-list > div {
    font-size: 15px !important;
}

.tte-listing-page .tte-trip-card-side,
.tte-archive-main.tte-listing-page .tte-trip-card-side {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 16px !important;
    border-top: 0 !important;
    border-left: 1px solid #edf2f7 !important;
    padding: 0 0 0 22px !important;
    text-align: right !important;
}

.tte-listing-page .tte-trip-price,
.tte-archive-main.tte-listing-page .tte-trip-price {
    display: block !important;
    text-align: right !important;
}

.tte-listing-page .tte-trip-price small,
.tte-archive-main.tte-listing-page .tte-trip-price small {
    display: block !important;
    margin-bottom: 5px !important;
}

.tte-listing-page .tte-trip-price strong,
.tte-archive-main.tte-listing-page .tte-trip-price strong {
    display: block !important;
    font-size: 34px !important;
    line-height: 1.08 !important;
}

.tte-listing-page .tte-trip-actions,
.tte-archive-main.tte-listing-page .tte-trip-actions {
    display: block !important;
}

.tte-listing-page .tte-trip-detail,
.tte-archive-main.tte-listing-page .tte-trip-detail {
    min-height: 46px !important;
}

/* Homepage only: keep card grid compact */
.tte-home-page .tte-tour-grid-premium,
.tte-home-page .tte-fire-sale-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 980px) {
    .tte-listing-page .tte-tour-list .tte-trip-tour-card,
    .tte-archive-main.tte-listing-page .tte-trip-tour-card {
        grid-template-columns: 220px minmax(0, 1fr) !important;
        min-height: 210px !important;
    }

    .tte-listing-page .tte-trip-card-image,
    .tte-archive-main.tte-listing-page .tte-trip-card-image {
        width: 220px !important;
        min-height: 210px !important;
    }

    .tte-listing-page .tte-trip-card-content,
    .tte-archive-main.tte-listing-page .tte-trip-card-content {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .tte-listing-page .tte-trip-card-side,
    .tte-archive-main.tte-listing-page .tte-trip-card-side {
        border-left: 0 !important;
        border-top: 1px solid #edf2f7 !important;
        padding: 14px 0 0 !important;
        text-align: left !important;
    }

    .tte-listing-page .tte-trip-price,
    .tte-archive-main.tte-listing-page .tte-trip-price {
        text-align: left !important;
    }

    .tte-listing-page .tte-trip-price strong,
    .tte-archive-main.tte-listing-page .tte-trip-price strong {
        font-size: 28px !important;
    }
}

@media (max-width: 680px) {
    .tte-listing-page .tte-tour-list .tte-trip-tour-card,
    .tte-archive-main.tte-listing-page .tte-trip-tour-card {
        display: block !important;
        min-height: 0 !important;
    }

    .tte-listing-page .tte-trip-card-image,
    .tte-archive-main.tte-listing-page .tte-trip-card-image {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 2 !important;
    }

    .tte-listing-page .tte-trip-card-image img,
    .tte-archive-main.tte-listing-page .tte-trip-card-image img {
        min-height: 0 !important;
        height: 100% !important;
    }

    .tte-listing-page .tte-trip-card-content,
    .tte-archive-main.tte-listing-page .tte-trip-card-content {
        padding: 18px !important;
    }

    .tte-listing-page .tte-trip-card-main h3,
    .tte-archive-main.tte-listing-page .tte-trip-card-main h3 {
        font-size: 22px !important;
    }
}



/* V52.6 — Hard separation: listing pages must be horizontal list, homepage only is grid */
#tteListingResults.tte-listing-grid,
.tte-listing-grid.tte-list-view {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    width: 100% !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) 210px !important;
    min-height: 238px !important;
    width: 100% !important;
    max-width: none !important;
    background: #fff !important;
    border: 1px solid #e5eaf2 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-image,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-image {
    grid-column: 1 !important;
    width: 300px !important;
    height: 100% !important;
    min-height: 238px !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-image img,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 238px !important;
    object-fit: cover !important;
    object-position: center !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-content,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-content {
    grid-column: 2 / 4 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 210px !important;
    gap: 22px !important;
    padding: 24px 24px 22px !important;
    align-items: stretch !important;
    border: 0 !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-main,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-main {
    min-width: 0 !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card h3,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card h3 {
    margin: 0 0 16px !important;
    min-height: 0 !important;
    font-size: 26px !important;
    line-height: 1.28 !important;
    letter-spacing: -.03em !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card h3 a,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card h3 a {
    color: #071116 !important;
    -webkit-line-clamp: 2 !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-card-info-list,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-card-info-list {
    min-height: 0 !important;
    gap: 10px !important;
    margin: 0 !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-card-info-list > div,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-card-info-list > div {
    font-size: 15px !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-side,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-side {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 0 0 22px !important;
    border-top: 0 !important;
    border-left: 1px solid #edf2f7 !important;
    text-align: right !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-price,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-price {
    display: block !important;
    text-align: right !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-price small,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-price small {
    display: block !important;
    color: #64748b !important;
    margin-bottom: 6px !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-price strong,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-price strong {
    display: block !important;
    color: #c6281d !important;
    font-size: 32px !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-actions,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-actions {
    display: block !important;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-detail,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-detail {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px !important;
    width: 100%;
    border-radius: 999px;
    background: #071116;
    color: #fff !important;
    font-weight: 900;
    text-decoration: none;
}

#tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-card-duration-ribbon,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-card-duration-ribbon {
    min-height: 34px !important;
    font-size: 13px !important;
}

/* Homepage grid must only affect homepage sections */
.tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid),
.tte-home-page .tte-fire-sale-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* prevent fixed header from covering listing top */
.tte-listing-page .tte-listing-hero,
.tte-trip-listing .tte-listing-hero {
    margin-top: 0 !important;
}

@media (max-width: 1100px) {
    #tteListingResults.tte-listing-grid > .tte-trip-tour-card,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card {
        grid-template-columns: 260px minmax(0, 1fr) !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-image,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-image {
        width: 260px !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-content,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-content {
        grid-template-columns: 1fr !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-side,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-side {
        border-left: 0 !important;
        border-top: 1px solid #edf2f7 !important;
        padding: 16px 0 0 !important;
        text-align: left !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-price,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-price {
        text-align: left !important;
    }
}

@media (max-width: 720px) {
    #tteListingResults.tte-listing-grid > .tte-trip-tour-card,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card {
        display: block !important;
        min-height: 0 !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-image,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-image {
        width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-image img,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-image img {
        height: 100% !important;
        min-height: 0 !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card .tte-trip-card-content,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card .tte-trip-card-content {
        display: block !important;
        padding: 18px !important;
    }

    #tteListingResults.tte-listing-grid > .tte-trip-tour-card h3,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card h3 {
        font-size: 22px !important;
    }
}



/* V52.7 — Mobile homepage swiper-like carousel: show 1.5 cards, no squeezed cards */
@media (max-width: 680px) {
    .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid),
    .tte-home-page .tte-fire-sale-grid,
    .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) {
        display: flex !important;
        grid-template-columns: none !important;
        gap: 14px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 18px 18px !important;
        margin-left: -18px !important;
        margin-right: -18px !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-left: 18px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid)::-webkit-scrollbar,
    .tte-home-page .tte-fire-sale-grid::-webkit-scrollbar {
        display: none !important;
    }

    .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-trip-tour-card,
    .tte-home-page .tte-fire-sale-grid > .tte-trip-tour-card,
    .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-trip-tour-card {
        flex: 0 0 68vw !important;
        width: 68vw !important;
        max-width: 68vw !important;
        min-width: 68vw !important;
        display: flex !important;
        flex-direction: column !important;
        scroll-snap-align: start !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    .tte-home-page .tte-trip-card-image {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 2 !important;
        display: block !important;
    }

    .tte-home-page .tte-trip-card-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        display: block !important;
    }

    .tte-home-page .tte-trip-card-content {
        display: flex !important;
        flex-direction: column !important;
        padding: 14px 14px 16px !important;
        gap: 0 !important;
        min-height: 0 !important;
    }

    .tte-home-page .tte-trip-card-main h3 {
        font-size: 17px !important;
        line-height: 1.35 !important;
        min-height: 48px !important;
        margin-bottom: 10px !important;
        letter-spacing: -.02em !important;
    }

    .tte-home-page .tte-card-info-list {
        min-height: 66px !important;
        gap: 7px !important;
        margin-bottom: 12px !important;
    }

    .tte-home-page .tte-card-info-list > div {
        font-size: 12.5px !important;
        gap: 7px !important;
    }

    .tte-home-page .tte-card-info-icon {
        width: 16px !important;
        height: 16px !important;
        flex-basis: 16px !important;
    }

    .tte-home-page .tte-card-info-icon svg {
        width: 15px !important;
        height: 15px !important;
    }

    .tte-home-page .tte-trip-card-side {
        margin-top: auto !important;
        display: grid !important;
        gap: 10px !important;
        padding-top: 10px !important;
        border-top: 1px solid #eef2f7 !important;
        border-left: 0 !important;
        text-align: left !important;
    }

    .tte-home-page .tte-trip-price {
        display: flex !important;
        justify-content: flex-end !important;
        align-items: baseline !important;
        gap: 6px !important;
        text-align: right !important;
    }

    .tte-home-page .tte-trip-price small {
        display: inline !important;
        font-size: 12px !important;
    }

    .tte-home-page .tte-trip-price strong {
        display: inline !important;
        font-size: 21px !important;
    }

    .tte-home-page .tte-trip-actions {
        display: block !important;
    }

    .tte-home-page .tte-trip-detail {
        min-height: 40px !important;
        font-size: 14px !important;
        border-radius: 999px !important;
    }

    .tte-home-page .tte-card-duration-ribbon {
        min-height: 30px !important;
        font-size: 12.5px !important;
    }

    .tte-home-page .tte-card-badges {
        top: 9px !important;
        left: 9px !important;
    }

    .tte-home-page .tte-card-badges span {
        height: 25px !important;
        padding: 0 8px !important;
        font-size: 11px !important;
    }

    .tte-home-page .tte-card-wishlist {
        top: 9px !important;
        right: 9px !important;
        width: 34px !important;
        height: 34px !important;
    }

    .tte-home-page .tte-section-head {
        padding-right: 0 !important;
    }

    .tte-home-page .tte-section-head h2 {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    .tte-home-page .tte-section-head p {
        font-size: 15px !important;
        line-height: 1.65 !important;
    }
}

/* iPhone SE / very small devices: still show 1.35 cards */
@media (max-width: 390px) {
    .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-trip-tour-card,
    .tte-home-page .tte-fire-sale-grid > .tte-trip-tour-card,
    .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-trip-tour-card {
        flex-basis: 72vw !important;
        width: 72vw !important;
        max-width: 72vw !important;
        min-width: 72vw !important;
    }
}



/* V52.8 — Mobile product detail viewport, period table overflow, menu fallback, hide WP theme footer remnants */
.tte-plugin-page {
    overflow-x: hidden !important;
}

.tte-plugin-page .wp-site-blocks > header,
.tte-plugin-page .wp-site-blocks > footer,
.tte-plugin-page footer.wp-block-template-part,
.tte-plugin-page .wp-block-template-part,
.tte-plugin-page .wp-block-group:has(.wp-block-site-title),
.tte-plugin-page .wp-block-group:has(.wp-block-site-title) + main,
.tte-plugin-page .wp-block-site-title,
.tte-plugin-page .wp-block-navigation,
.tte-plugin-page .wp-block-post-title,
.tte-plugin-page .wp-block-post-featured-image,
.tte-plugin-page .wp-block-post-content + footer {
    display: none !important;
}

.tte-plugin-page .wp-site-blocks {
    padding: 0 !important;
    margin: 0 !important;
}

.tte-single-tour-page,
.tte-single-tour-page body,
.tte-single-tour-page .tte-page,
.tte-tour-detail-page {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

.tte-tour-detail-page .tte-container {
    max-width: min(1280px, calc(100vw - 32px)) !important;
}

.tte-tour-detail-page .tte-card-section,
.tte-tour-detail-page .tte-main-content,
.tte-tour-detail-page .tte-detail-layout {
    min-width: 0 !important;
}

.tte-tour-detail-page table {
    max-width: 100%;
    border-collapse: collapse;
}

.tte-tour-detail-page .tte-period-table,
.tte-tour-detail-page .tte-periods-table,
.tte-tour-detail-page table {
    width: 100%;
}

/* Wrap common period table sections without changing PHP */
.tte-tour-detail-page .tte-card-section:has(table) {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.tte-tour-detail-page .tte-card-section:has(table) table {
    min-width: 680px !important;
}

@media (max-width: 760px) {
    html,
    body {
        overflow-x: hidden !important;
    }

    .tte-tour-detail-page {
        background: #fff !important;
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .tte-tour-detail-page .tte-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    .tte-detail-grid,
    .tte-detail-layout,
    .tte-tour-detail-page .tte-detail-grid,
    .tte-tour-detail-page .tte-detail-layout {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .tte-cover,
    .tte-cover img,
    .tte-tour-detail-page .tte-cover,
    .tte-tour-detail-page .tte-cover img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        box-sizing: border-box !important;
    }

    .tte-detail-copy,
    .tte-price-box,
    .tte-card-section,
    .tte-main-content,
    .tte-sidebar,
    .tte-tour-detail-page .tte-detail-copy,
    .tte-tour-detail-page .tte-price-box,
    .tte-tour-detail-page .tte-card-section {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .tte-card-section {
        padding: 24px 18px !important;
        border-radius: 22px !important;
        overflow: hidden !important;
    }

    .tte-card-section h2 {
        font-size: 28px !important;
        line-height: 1.25 !important;
        word-break: keep-all;
    }

    .tte-card-section:has(table) {
        overflow-x: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .tte-card-section:has(table) > h2,
    .tte-card-section:has(table) > p,
    .tte-card-section:has(table) > div:not(:has(table)) {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .tte-card-section:has(table) table {
        min-width: 640px !important;
        width: 640px !important;
        margin-left: 18px !important;
        margin-right: 18px !important;
    }

    .tte-card-section:has(table)::after {
        content: "เลื่อนซ้าย-ขวาเพื่อดูข้อมูลทั้งหมด";
        display: block;
        padding: 10px 18px 0;
        color: #64748b;
        font-size: 12px;
        font-weight: 700;
    }

    .tte-itinerary-row,
    .tte-tour-detail-page .tte-itinerary-row {
        display: grid !important;
        grid-template-columns: 92px minmax(0, 1fr) !important;
        gap: 14px !important;
        max-width: 100% !important;
    }

    .tte-itinerary-row h3,
    .tte-itinerary-row p {
        overflow-wrap: anywhere;
    }

    .tte-site-footer {
        margin-top: 32px !important;
    }
}

/* Mobile menu must be clickable and above all sections */
.tte-mobile-menu,
.tte-mobile-panel,
.tte-menu-drawer,
.tte-nav-panel,
.tte-header-mobile-panel {
    z-index: 99999 !important;
}

.tte-menu-toggle,
.tte-mobile-menu-toggle,
button[aria-label*="เมนู"],
button[aria-label*="menu"],
.tte-header-menu-button {
    position: relative;
    z-index: 100000 !important;
    pointer-events: auto !important;
}

/* fallback class controlled by JS */
body.tte-mobile-menu-open .tte-mobile-panel,
body.tte-mobile-menu-open .tte-menu-drawer,
body.tte-mobile-menu-open .tte-nav-panel,
body.tte-mobile-menu-open .tte-header-mobile-panel {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}



/* V52.9 — Hard hide WordPress theme powered/footer remnants after ThaiFly plugin footer */
body.tte-plugin-page-hard > footer:not(.tte-site-footer),
body.tte-plugin-page-hard > .wp-site-blocks,
body.tte-plugin-page-hard footer.wp-block-template-part,
body.tte-plugin-page-hard .wp-site-blocks > footer,
body.tte-plugin-page-hard .wp-block-template-part,
body.tte-plugin-page-hard [data-tte-hidden-theme-footer="1"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* If a block theme footer is injected as a plain group after our footer */
body.tte-plugin-page-hard .tte-site-footer ~ footer,
body.tte-plugin-page-hard .tte-site-footer ~ .wp-block-group,
body.tte-plugin-page-hard .tte-site-footer ~ .wp-block-template-part,
body.tte-plugin-page-hard .tte-site-footer ~ .wp-site-blocks {
    display: none !important;
}

/* Direct known TwentyTwenty block footer classes */
body.tte-plugin-page-hard .wp-block-site-title,
body.tte-plugin-page-hard .wp-block-navigation,
body.tte-plugin-page-hard .wp-block-group-is-layout-flow:has(a[href*="wordpress.org"]),
body.tte-plugin-page-hard .wp-block-group:has(a[href*="wordpress.org"]),
body.tte-plugin-page-hard p:has(a[href*="wordpress.org"]) {
    display: none !important;
}

/* Keep our real footer visible */
body.tte-plugin-page-hard .tte-site-footer,
body.tte-plugin-page-hard footer.tte-site-footer {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}



/* V53.0 — Real tour search page + safe UX */
.tte-search-page {
    background: #f6f8fb;
}

.tte-search-hero {
    padding: 44px 0 46px;
    background:
        radial-gradient(circle at 82% 18%, rgba(10,186,181,.16), transparent 34%),
        linear-gradient(180deg, #fff 0%, #f8fbfd 100%);
    border-bottom: 1px solid #e7edf4;
}

.tte-search-hero-inner {
    margin-top: 24px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 460px;
    gap: 32px;
    align-items: end;
}

.tte-search-hero h1 {
    margin: 16px 0 10px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.03;
    font-weight: 900;
    letter-spacing: -.055em;
    color: #071116;
}

.tte-search-hero p {
    margin: 0;
    color: #64748b;
    font-size: 18px;
    line-height: 1.7;
}

.tte-search-page-form {
    display: flex;
    gap: 10px;
    padding: 12px;
    border-radius: 26px;
    background: #fff;
    border: 1px solid #e5eaf2;
    box-shadow: 0 20px 48px rgba(15,23,42,.08);
}

.tte-search-page-form input {
    flex: 1;
    min-width: 0;
    height: 52px;
    border: 0;
    border-radius: 18px;
    background: #f3f6fa;
    padding: 0 16px;
    font: inherit;
    color: #071116;
}

.tte-search-page-form button {
    height: 52px;
    border: 0;
    border-radius: 18px;
    background: #071116;
    color: #fff;
    padding: 0 24px;
    font-weight: 900;
    cursor: pointer;
}

.tte-search-results-section {
    padding: 34px 0 64px;
}

.tte-search-result-head {
    margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
    align-items: end;
}

.tte-search-result-head h2 {
    margin: 0 0 6px;
    font-size: 32px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.035em;
}

.tte-search-result-head p {
    margin: 0;
    color: #64748b;
    font-weight: 700;
}

.tte-empty-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 20px;
    margin-top: 16px;
    border-radius: 999px;
    background: #071116;
    color: #fff !important;
    text-decoration: none;
    font-weight: 900;
}

.tte-header-search input[maxlength] {
    ime-mode: active;
}

@media (max-width: 760px) {
    .tte-search-hero {
        padding: 30px 0 34px;
        background: #fff;
    }

    .tte-search-hero-inner {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .tte-search-hero h1 {
        font-size: 38px;
    }

    .tte-search-page-form {
        display: grid;
        gap: 10px;
    }

    .tte-search-page-form input,
    .tte-search-page-form button {
        width: 100%;
    }
}



/* V53.1 — Search filters like tour listing + noindex page UX */
.tte-search-layout {
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.tte-search-filter-panel {
    position: sticky;
    top: 140px;
}

.tte-filter-card {
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 22px;
    box-shadow: 0 14px 34px rgba(15,23,42,.06);
    overflow: hidden;
}

.tte-filter-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
    padding: 20px 20px 16px;
    border-bottom: 1px solid #edf2f7;
}

.tte-filter-head h2 {
    margin: 0 0 6px;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 900;
}

.tte-filter-head p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

.tte-filter-head > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    border-radius: 999px;
    background: #dcfffb;
    color: #007f7a;
    font-weight: 900;
}

.tte-filter-form {
    padding: 18px 20px 20px;
    max-height: calc(100vh - 230px);
    overflow-y: auto;
}

.tte-filter-group {
    padding: 0 0 18px;
    margin: 0 0 18px;
    border-bottom: 1px solid #edf2f7;
}

.tte-filter-group h3 {
    margin: 0 0 12px;
    color: #334155;
    font-size: 15px;
    font-weight: 900;
}

.tte-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.tte-chip-row label {
    cursor: pointer;
}

.tte-chip-row input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tte-chip-row span {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border-radius: 10px;
    background: #f3f6fa;
    color: #071116;
    font-size: 14px;
    font-weight: 800;
    border: 1px solid transparent;
    transition: .16s ease;
}

.tte-chip-row input:checked + span {
    color: #007f7a;
    background: #ecfeff;
    border-color: rgba(10,186,181,.45);
    box-shadow: inset 0 0 0 1px rgba(10,186,181,.18);
}

.tte-filter-actions {
    display: grid;
    gap: 10px;
}

.tte-filter-actions button,
.tte-filter-actions a {
    min-height: 46px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    text-decoration: none;
}

.tte-filter-actions button {
    border: 0;
    background: #071116;
    color: #fff;
    cursor: pointer;
}

.tte-filter-actions a {
    border: 1px solid #dbe5ef;
    color: #071116;
    background: #fff;
}

.tte-search-result-area {
    min-width: 0;
}

@media (max-width: 980px) {
    .tte-search-layout {
        grid-template-columns: 1fr;
    }

    .tte-search-filter-panel {
        position: static;
    }

    .tte-filter-form {
        max-height: none;
    }
}

@media (max-width: 760px) {
    .tte-filter-card {
        border-radius: 20px;
    }

    .tte-chip-row span {
        min-height: 36px;
        font-size: 13px;
    }
}



/* V53.2 — Calendar travel period filter */
.tte-calendar-filter {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.tte-calendar-filter label {
    display: grid;
    gap: 6px;
}

.tte-calendar-filter label > span {
    color: #64748b;
    font-size: 12px;
    font-weight: 900;
}

.tte-calendar-filter input[type="date"] {
    width: 100%;
    min-height: 42px;
    border: 1px solid #dbe5ef;
    border-radius: 12px;
    background: #fff;
    color: #071116;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    padding: 0 12px;
    box-sizing: border-box;
}

.tte-calendar-filter input[type="date"]:focus {
    outline: none;
    border-color: rgba(10,186,181,.7);
    box-shadow: 0 0 0 4px rgba(10,186,181,.13);
}

@media (max-width: 980px) {
    .tte-calendar-filter {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 420px) {
    .tte-calendar-filter {
        grid-template-columns: 1fr;
    }
}



/* V53.3 — Klook-style search panel + precise filter bug fix */
.tte-site-header {
    z-index: 9990 !important;
}

.tte-header-row {
    position: relative;
}

.tte-klook-search {
    position: relative !important;
    z-index: 9995 !important;
}

.tte-klook-search-field {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 430px);
    height: 54px;
    border: 1.5px solid rgba(255, 91, 30, .75);
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(15,23,42,.05);
}

.tte-klook-search-field input {
    width: 100%;
    height: 100%;
    border: 0 !important;
    background: transparent !important;
    padding: 0 62px 0 22px !important;
    box-shadow: none !important;
    color: #071116;
    font-size: 16px;
    font-weight: 700;
}

.tte-klook-search-field input:focus {
    outline: none !important;
    box-shadow: none !important;
}

.tte-klook-search-field button {
    position: absolute !important;
    right: 6px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 42px !important;
    height: 42px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #071116 !important;
    color: #fff !important;
    font-size: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
}

.tte-klook-search-panel {
    position: absolute;
    left: 50%;
    top: calc(100% + 14px);
    width: min(920px, calc(100vw - 36px));
    transform: translateX(-50%) translateY(8px);
    padding: 18px;
    border-radius: 24px;
    background: rgba(255,255,255,.98);
    border: 1px solid #edf2f7;
    box-shadow: 0 28px 80px rgba(15,23,42,.18);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.tte-klook-search.is-open .tte-klook-search-panel,
.tte-klook-search:focus-within .tte-klook-search-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

.tte-klook-panel-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.tte-klook-panel-card {
    padding: 18px 18px 16px;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, #fff8f4 100%);
    border: 1px solid #f1e6dc;
    min-width: 0;
}

.tte-klook-panel-card h3 {
    margin: 0 0 14px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 900;
    color: #071116;
}

.tte-klook-suggest-list,
.tte-klook-destination-list {
    display: grid;
    gap: 10px;
}

.tte-klook-suggest-item {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 8px 6px;
    border-radius: 12px;
    color: #071116;
    text-decoration: none;
    transition: background .14s ease, transform .14s ease;
}

.tte-klook-suggest-item:hover {
    background: rgba(255, 91, 30, .08);
    transform: translateX(2px);
}

.tte-klook-rank {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: #ff5b1e;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tte-klook-suggest-text {
    min-width: 0;
    display: grid;
    gap: 2px;
}

.tte-klook-suggest-text strong {
    color: #071116;
    font-size: 15.5px;
    line-height: 1.35;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tte-klook-suggest-text small {
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Filter bug fix: do not let chips become broken columns */
.tte-search-layout {
    grid-template-columns: 360px minmax(0, 1fr) !important;
    gap: 28px !important;
}

.tte-search-filter-panel {
    width: 360px !important;
    min-width: 360px !important;
}

.tte-filter-card {
    width: 100% !important;
    overflow: hidden !important;
}

.tte-filter-form-fixed,
.tte-filter-form {
    display: block !important;
    padding: 18px 20px 22px !important;
    overflow-x: hidden !important;
}

.tte-filter-group {
    display: block !important;
    width: 100% !important;
    clear: both !important;
}

.tte-chip-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.tte-chip-row label {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
}

.tte-chip-row span {
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    line-height: 1.2 !important;
    text-align: center;
    min-height: 40px !important;
    padding: 0 14px !important;
}

.tte-filter-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

.tte-filter-actions button,
.tte-filter-actions a {
    width: 100% !important;
}

.tte-search-result-area {
    min-width: 0 !important;
    width: 100% !important;
}

@media (max-width: 1180px) {
    .tte-search-layout {
        grid-template-columns: 330px minmax(0, 1fr) !important;
    }

    .tte-search-filter-panel {
        width: 330px !important;
        min-width: 330px !important;
    }
}

@media (max-width: 980px) {
    .tte-search-layout {
        grid-template-columns: 1fr !important;
    }

    .tte-search-filter-panel {
        width: 100% !important;
        min-width: 0 !important;
        position: static !important;
    }
}

@media (max-width: 760px) {
    .tte-klook-search-field {
        height: 52px;
        width: 100%;
    }

    .tte-klook-search-panel {
        position: fixed;
        left: 12px;
        right: 12px;
        top: 128px;
        width: auto;
        max-height: calc(100vh - 150px);
        overflow-y: auto;
        transform: translateY(8px);
        z-index: 100000;
    }

    .tte-klook-search.is-open .tte-klook-search-panel,
    .tte-klook-search:focus-within .tte-klook-search-panel {
        transform: translateY(0);
    }

    .tte-klook-panel-grid {
        grid-template-columns: 1fr;
    }

    .tte-klook-panel-card {
        padding: 16px;
    }

    .tte-klook-suggest-text strong,
    .tte-klook-suggest-text small {
        white-space: normal;
    }

    .tte-filter-form-fixed,
    .tte-filter-form {
        max-height: none !important;
    }

    .tte-chip-row {
        gap: 8px !important;
    }

    .tte-chip-row label {
        max-width: calc(50% - 4px) !important;
    }

    .tte-chip-row span {
        width: 100% !important;
        min-height: 38px !important;
        font-size: 13px !important;
        padding: 0 10px !important;
    }
}



/* V53.4 — Clean Klook-like search: autosuggest + locked travel period */
.tte-smart-search {
    position: relative !important;
    z-index: 9995 !important;
}

.tte-smart-search-field {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 440px);
    height: 52px;
    border: 1px solid #dbe5ef;
    border-radius: 999px;
    background: #fff;
    overflow: visible;
    box-shadow: 0 10px 24px rgba(15,23,42,.05);
}

.tte-smart-search-icon {
    width: 44px;
    text-align: center;
    color: #071116;
    font-size: 24px;
    flex: 0 0 44px;
}

.tte-smart-search-field input {
    flex: 1;
    min-width: 0;
    height: 100%;
    border: 0 !important;
    background: transparent !important;
    padding: 0 96px 0 0 !important;
    font-size: 15px;
    font-weight: 700;
    color: #071116;
    box-shadow: none !important;
}

.tte-smart-search-field input:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

.tte-smart-search-clear {
    position: absolute;
    right: 58px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px !important;
    height: 28px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #64748b !important;
    font-size: 20px !important;
    line-height: 1 !important;
    cursor: pointer;
    display: none;
}

.tte-smart-search.has-value .tte-smart-search-clear,
.tte-locked-search-form.has-value .tte-smart-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.tte-smart-search-submit {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    min-width: 48px !important;
    width: 48px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #071116 !important;
    color: #fff !important;
    font-size: 0 !important;
    cursor: pointer;
}

.tte-smart-search-submit::before {
    content: "⌕";
    font-size: 22px;
}

.tte-autosuggest-panel {
    position: absolute;
    left: 0;
    top: calc(100% + 10px);
    width: min(520px, calc(100vw - 28px));
    background: #fff;
    border: 1px solid #e5eaf2;
    border-radius: 18px;
    box-shadow: 0 26px 70px rgba(15,23,42,.16);
    padding: 14px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: .16s ease;
    z-index: 100000;
}

.tte-smart-search.is-open .tte-autosuggest-panel,
.tte-locked-search-form.is-open .tte-autosuggest-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.tte-autosuggest-head {
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
    padding: 4px 6px 10px;
}

.tte-autosuggest-list {
    display: grid;
    gap: 6px;
}

.tte-autosuggest-list a {
    display: grid;
    gap: 2px;
    padding: 11px 12px;
    border-radius: 12px;
    color: #071116;
    text-decoration: none;
    transition: background .14s ease;
}

.tte-autosuggest-list a:hover,
.tte-autosuggest-list a.is-active {
    background: #f3f6fa;
}

.tte-autosuggest-list strong {
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
}

.tte-autosuggest-list small {
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}

.tte-locked-search-hero {
    padding: 42px 0 38px !important;
    background: linear-gradient(180deg, #fff 0%, #f8fbfd 100%) !important;
}

.tte-locked-search-box {
    margin-top: 22px;
    border-radius: 28px;
    background: #fff;
    border: 1px solid #e5eaf2;
    box-shadow: 0 24px 70px rgba(15,23,42,.10);
    padding: 20px;
}

.tte-locked-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 168px;
    gap: 18px;
    align-items: end;
    position: relative;
}

.tte-locked-search-main {
    display: grid;
    gap: 14px;
    min-width: 0;
}

.tte-locked-keyword {
    display: block;
    position: relative;
}

.tte-locked-keyword > span,
.tte-locked-period-row label > span {
    display: block;
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 7px;
}

.tte-locked-keyword-field {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    border: 1px solid #dbe5ef;
    border-radius: 18px;
    background: #fff;
}

.tte-locked-keyword-field > span {
    width: 52px;
    text-align: center;
    font-size: 25px;
    color: #071116;
    flex: 0 0 52px;
}

.tte-locked-keyword-field input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 58px;
    border: 0 !important;
    background: transparent !important;
    padding: 0 46px 0 0 !important;
    font-size: 18px;
    font-weight: 800;
    color: #071116;
    box-shadow: none !important;
}

.tte-locked-keyword-field .tte-smart-search-clear {
    right: 12px;
}

.tte-autosuggest-panel-large {
    width: min(720px, calc(100vw - 48px));
}

.tte-locked-period-row {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr;
    gap: 12px;
}

.tte-locked-period-row label {
    min-width: 0;
}

.tte-locked-period-row select,
.tte-locked-period-row input[type="text"] {
    width: 100%;
    height: 54px;
    border: 1px solid #dbe5ef;
    border-radius: 16px;
    background: #fff;
    color: #071116;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    padding: 0 14px;
    box-sizing: border-box;
}

.tte-locked-period-row input[readonly] {
    background: #f8fafc;
    color: #334155;
    cursor: not-allowed;
}

.tte-locked-search-actions {
    display: grid;
    gap: 10px;
}

.tte-locked-search-actions button,
.tte-locked-search-actions a {
    min-height: 58px;
    border-radius: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    text-decoration: none;
}

.tte-locked-search-actions button {
    border: 0;
    background: #dc2b20;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(220,43,32,.22);
}

.tte-locked-search-actions a {
    border: 1px solid #e5eaf2;
    background: #fff;
    color: #071116;
    font-size: 14px;
}

.tte-search-filter-panel .tte-calendar-filter-group {
    display: none !important;
}

/* Override old Klook mega panel from V53.3 if still cached in DOM */
.tte-klook-search-panel,
.tte-klook-panel-grid,
.tte-klook-panel-card {
    display: none !important;
}

@media (max-width: 980px) {
    .tte-locked-search-form {
        grid-template-columns: 1fr;
    }

    .tte-locked-period-row {
        grid-template-columns: 1fr;
    }

    .tte-locked-search-actions {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .tte-smart-search-field {
        width: 100%;
    }

    .tte-autosuggest-panel {
        left: 0;
        right: 0;
        width: auto;
        max-height: 68vh;
        overflow-y: auto;
    }

    .tte-locked-search-hero {
        padding: 26px 0 28px !important;
        background: #fff !important;
    }

    .tte-locked-search-box {
        padding: 14px;
        border-radius: 22px;
        box-shadow: 0 14px 40px rgba(15,23,42,.08);
    }

    .tte-locked-keyword-field input[type="search"] {
        font-size: 16px;
    }

    .tte-locked-search-actions {
        grid-template-columns: 1fr;
    }

    .tte-locked-search-actions button,
    .tte-locked-search-actions a {
        min-height: 50px;
    }
}



/* V53.5 FINAL — Dedicated /tour/search/ layout. Do not share with listing/home. */
.tte-search-final-page {
    background: #f3f6fa !important;
    color: #071116;
}

.tte-search-final-top {
    position: sticky;
    top: 0;
    z-index: 8900;
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid #e5eaf2;
    backdrop-filter: blur(12px);
    padding: 14px 0;
}

body.admin-bar .tte-search-final-top {
    top: 32px;
}

.tte-search-final-bar {
    display: grid;
    grid-template-columns: minmax(260px, 1.15fr) minmax(220px, .85fr) 180px 180px 70px;
    gap: 10px;
    align-items: end;
}

.tte-final-field {
    min-width: 0;
    position: relative;
}

.tte-final-field label {
    display: block;
    color: #64748b;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 900;
    margin: 0 0 5px;
}

.tte-final-keyword-wrap {
    position: relative;
    display: flex;
    align-items: center;
    height: 44px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #fff;
}

.tte-final-keyword-wrap > span {
    flex: 0 0 40px;
    text-align: center;
    font-size: 22px;
    color: #071116;
}

.tte-final-keyword-wrap input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 42px;
    border: 0 !important;
    background: transparent !important;
    padding: 0 36px 0 0 !important;
    color: #071116;
    font-size: 14px;
    font-weight: 800;
    box-shadow: none !important;
}

.tte-final-keyword-wrap input[type="search"]:focus {
    outline: 0 !important;
}

.tte-final-keyword-wrap .tte-smart-search-clear {
    right: 8px !important;
    width: 24px !important;
    height: 24px !important;
    font-size: 18px !important;
}

.tte-final-field select,
.tte-final-field input[type="text"] {
    width: 100%;
    height: 44px;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    background: #fff;
    color: #071116;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    padding: 0 10px;
    box-sizing: border-box;
}

.tte-final-field input[readonly] {
    background: #f8fafc;
    color: #334155;
    cursor: not-allowed;
}

.tte-search-final-submit {
    height: 44px;
    width: 70px;
    border: 0;
    border-radius: 8px;
    background: #d9291f;
    color: #fff;
    font-size: 0;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(217,41,31,.18);
}

.tte-search-final-submit::before {
    content: "⌕";
    font-size: 28px;
    line-height: 1;
}

.tte-final-suggest-panel {
    left: 0 !important;
    top: calc(100% + 8px) !important;
    width: min(520px, calc(100vw - 32px)) !important;
    z-index: 100000 !important;
}

.tte-search-final-content {
    padding: 24px 0 64px;
}

.tte-search-final-layout {
    display: grid;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
}

.tte-search-final-sidebar {
    position: sticky;
    top: 88px;
    min-width: 0;
}

body.admin-bar .tte-search-final-sidebar {
    top: 120px;
}

.tte-search-final-filter {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 4px;
    overflow: hidden;
}

.tte-final-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid #e5eaf2;
}

.tte-final-filter-head strong {
    font-size: 14px;
    font-weight: 900;
}

.tte-final-filter-head span {
    min-width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dcfffb;
    color: #007f7a;
    font-weight: 900;
    font-size: 12px;
}

.tte-final-filter-group {
    display: grid;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid #edf2f7;
}

.tte-final-filter-group label,
.tte-final-filter-checks label {
    display: flex;
    align-items: center;
    gap: 7px;
    color: #334155;
    font-size: 13px;
    line-height: 1.35;
    cursor: pointer;
}

.tte-final-filter-group input,
.tte-final-filter-checks input {
    accent-color: #d9291f;
}

.tte-final-filter-details {
    border-bottom: 1px solid #edf2f7;
    padding: 0;
}

.tte-final-filter-details summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 900;
    color: #071116;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.tte-final-filter-details summary::-webkit-details-marker {
    display: none;
}

.tte-final-filter-details summary::after {
    content: "⌄";
    color: #64748b;
    font-size: 14px;
}

.tte-final-filter-details[open] summary::after {
    content: "⌃";
}

.tte-final-filter-chips,
.tte-final-filter-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0 14px 14px;
}

.tte-final-filter-chips label {
    display: inline-flex;
    cursor: pointer;
}

.tte-final-filter-chips input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tte-final-filter-chips span {
    min-height: 30px;
    padding: 0 10px;
    border-radius: 7px;
    background: #f3f6fa;
    color: #071116;
    font-size: 12px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
}

.tte-final-filter-chips input:checked + span {
    background: #fff4f2;
    color: #d9291f;
    border-color: rgba(217,41,31,.35);
}

.tte-final-filter-checks {
    display: grid;
    grid-template-columns: 1fr;
}

.tte-final-filter-actions {
    display: grid;
    gap: 8px;
    padding: 14px;
}

.tte-final-filter-actions button,
.tte-final-filter-actions a {
    min-height: 38px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    text-decoration: none;
    font-size: 13px;
}

.tte-final-filter-actions button {
    background: #d9291f;
    color: #fff;
    border: 0;
    cursor: pointer;
}

.tte-final-filter-actions a {
    background: #fff;
    color: #d9291f;
    border: 1px solid #d9291f;
}

.tte-search-final-results {
    min-width: 0;
}

.tte-search-final-title {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: end;
    margin: 0 0 14px;
}

.tte-search-final-title h1 {
    margin: 0;
    color: #071116;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 900;
    letter-spacing: -.035em;
}

.tte-search-final-title p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
}

.tte-search-final-title strong {
    color: #64748b;
    font-size: 14px;
    white-space: nowrap;
}

.tte-search-final-list {
    display: grid;
    gap: 14px;
}

.tte-search-result-card {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 5px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    min-height: 200px;
    box-shadow: 0 4px 14px rgba(15,23,42,.04);
}

.tte-search-result-image {
    display: block;
    position: relative;
    min-height: 200px;
    background: #e5eaf2;
    overflow: hidden;
}

.tte-search-result-image img {
    width: 100%;
    height: 100%;
    min-height: 200px;
    display: block;
    object-fit: cover;
}

.tte-search-duration {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    min-height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #8c1b13;
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.tte-search-result-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 190px;
    min-width: 0;
}

.tte-search-result-main {
    padding: 16px 18px;
    min-width: 0;
}

.tte-search-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #071116;
    text-decoration: none;
    font-size: 19px;
    line-height: 1.35;
    font-weight: 900;
    margin: 0 0 8px;
}

.tte-search-title:hover {
    color: #d9291f;
}

.tte-search-meta {
    display: grid;
    gap: 5px;
    margin: 0 0 8px;
}

.tte-search-meta span {
    color: #64748b;
    font-size: 13px;
    line-height: 1.35;
}

.tte-search-meta span::before {
    content: "▸";
    color: #94a3b8;
    margin-right: 6px;
}

.tte-search-short {
    margin: 0 0 10px;
    color: #16a34a;
    font-size: 12.5px;
    line-height: 1.5;
}

.tte-search-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tte-search-tags span {
    min-height: 24px;
    padding: 0 8px;
    border-radius: 999px;
    background: #fff7ed;
    color: #dc2626;
    font-size: 11px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
}

.tte-search-result-price {
    border-left: 1px solid #edf2f7;
    padding: 18px 18px 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-end;
    text-align: right;
}

.tte-search-result-price small {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.tte-search-result-price strong {
    margin-top: 5px;
    color: #d9291f;
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
}

.tte-search-result-price span {
    color: #d9291f;
    font-size: 12px;
    font-weight: 900;
    margin-top: 4px;
}

.tte-search-result-price a {
    margin-top: 18px;
    width: 100%;
    min-height: 38px;
    border-radius: 6px;
    background: #071116;
    color: #fff !important;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 900;
}

.tte-search-final-empty {
    background: #fff;
    border: 1px solid #dbe5ef;
    border-radius: 8px;
    padding: 40px 24px;
    text-align: center;
}

.tte-search-final-empty h2 {
    margin: 0 0 8px;
    font-size: 24px;
}

.tte-search-final-empty p {
    margin: 0 0 18px;
    color: #64748b;
}

.tte-search-final-empty a {
    display: inline-flex;
    min-height: 42px;
    padding: 0 18px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: #071116;
    color: #fff !important;
    text-decoration: none;
    font-weight: 900;
}

/* Kill old search/list shared classes only inside final search page */
.tte-search-final-page .tte-search-layout,
.tte-search-final-page .tte-listing-grid,
.tte-search-final-page .tte-tour-grid-premium,
.tte-search-final-page .tte-trip-tour-card {
    all: revert-layer;
}

@media (max-width: 1100px) {
    .tte-search-final-bar {
        grid-template-columns: 1fr 1fr 1fr 1fr 64px;
    }

    .tte-search-final-layout {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .tte-search-result-card {
        grid-template-columns: 230px minmax(0, 1fr);
    }

    .tte-search-result-body {
        grid-template-columns: 1fr;
    }

    .tte-search-result-price {
        border-left: 0;
        border-top: 1px solid #edf2f7;
        align-items: flex-start;
        text-align: left;
    }
}

@media (max-width: 820px) {
    .tte-search-final-top {
        position: static;
    }

    body.admin-bar .tte-search-final-top {
        top: auto;
    }

    .tte-search-final-bar {
        grid-template-columns: 1fr;
    }

    .tte-search-final-submit {
        width: 100%;
        font-size: 16px;
    }

    .tte-search-final-submit::before {
        content: "";
        font-size: 0;
    }

    .tte-search-final-layout {
        grid-template-columns: 1fr;
    }

    .tte-search-final-sidebar {
        position: static;
    }

    .tte-search-result-card {
        grid-template-columns: 1fr;
    }

    .tte-search-result-image,
    .tte-search-result-image img {
        min-height: 0;
        height: auto;
        aspect-ratio: 3 / 2;
    }

    .tte-search-result-body {
        grid-template-columns: 1fr;
    }

    .tte-search-final-title {
        align-items: start;
        flex-direction: column;
    }
}

@media (max-width: 520px) {
    .tte-search-final-content {
        padding-top: 16px;
    }

    .tte-search-result-main {
        padding: 14px;
    }

    .tte-search-result-price {
        padding: 14px;
    }

    .tte-search-title {
        font-size: 18px;
    }
}



/* V53.6 — Search page bugfix: strict isolated layout, DB-driven filters */
.tte-search-v536 {
    background: #f4f7fb !important;
}

.tte-search-v536 .tte-container {
    max-width: 1320px !important;
    width: min(1320px, calc(100vw - 36px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.tte-search-v536 .tte-search-final-top {
    position: relative !important;
    top: auto !important;
    z-index: 50 !important;
    padding: 18px 0 !important;
    background: #fff !important;
    border-top: 1px solid #eef2f7 !important;
    border-bottom: 1px solid #dfe7f1 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

body.admin-bar .tte-search-v536 .tte-search-final-top {
    top: auto !important;
}

.tte-search-v536 .tte-search-final-bar {
    display: grid !important;
    grid-template-columns: minmax(280px, 1fr) 290px 180px 180px 74px !important;
    gap: 12px !important;
    align-items: end !important;
    width: 100% !important;
}

.tte-search-v536 .tte-final-field {
    min-width: 0 !important;
}

.tte-search-v536 .tte-final-field label {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    color: #64748b !important;
    margin: 0 0 6px !important;
}

.tte-search-v536 .tte-final-keyword-wrap,
.tte-search-v536 .tte-final-field select,
.tte-search-v536 .tte-final-field input[type="text"] {
    height: 48px !important;
    min-height: 48px !important;
    border: 1px solid #d8e2ee !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

.tte-search-v536 .tte-final-keyword-wrap {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

.tte-search-v536 .tte-final-keyword-wrap > span {
    width: 44px !important;
    flex: 0 0 44px !important;
    font-size: 22px !important;
    color: #071116 !important;
    text-align: center !important;
}

.tte-search-v536 .tte-final-keyword-wrap input[type="search"] {
    height: 46px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 36px 0 0 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.tte-search-v536 .tte-final-field select,
.tte-search-v536 .tte-final-field input[type="text"] {
    width: 100% !important;
    padding: 0 12px !important;
    color: #071116 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.tte-search-v536 .tte-final-field input[readonly] {
    background: #f8fafc !important;
    color: #334155 !important;
}

.tte-search-v536 .tte-search-final-submit {
    width: 74px !important;
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 10px !important;
    background: #d9291f !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 12px 28px rgba(217,41,31,.22) !important;
    cursor: pointer !important;
}

.tte-search-v536 .tte-search-final-content {
    padding: 28px 0 70px !important;
}

.tte-search-v536 .tte-search-final-layout {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
}

.tte-search-v536 .tte-search-final-sidebar {
    position: sticky !important;
    top: 18px !important;
    width: 260px !important;
    min-width: 260px !important;
}

body.admin-bar .tte-search-v536 .tte-search-final-sidebar {
    top: 50px !important;
}

.tte-search-v536 .tte-search-final-filter {
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}

.tte-search-v536 .tte-final-filter-head,
.tte-search-v536 .tte-final-filter-group,
.tte-search-v536 .tte-final-filter-details,
.tte-search-v536 .tte-final-filter-actions {
    box-sizing: border-box !important;
}

.tte-search-v536 .tte-final-filter-chips {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    padding: 0 12px 14px !important;
}

.tte-search-v536 .tte-final-filter-chips label {
    display: inline-flex !important;
    max-width: 100% !important;
}

.tte-search-v536 .tte-final-filter-chips span {
    min-height: 31px !important;
    height: auto !important;
    line-height: 1.2 !important;
    padding: 6px 10px !important;
    white-space: normal !important;
    word-break: keep-all !important;
}

.tte-search-v536 .tte-final-filter-checks {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    padding: 0 14px 14px !important;
}

.tte-search-v536 .tte-final-filter-checks em {
    margin-left: auto !important;
    color: #64748b !important;
    font-style: normal !important;
    font-size: 12px !important;
}

.tte-search-v536 .tte-search-final-results {
    min-width: 0 !important;
    width: 100% !important;
}

.tte-search-v536 .tte-search-final-title {
    margin: 0 0 16px !important;
}

.tte-search-v536 .tte-search-final-title h1 {
    font-size: 30px !important;
    line-height: 1.2 !important;
}

.tte-search-v536 .tte-search-final-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}

.tte-search-v536 .tte-search-result-card {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) !important;
    width: 100% !important;
    min-height: 205px !important;
    background: #fff !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 16px rgba(15,23,42,.04) !important;
}

.tte-search-v536 .tte-search-result-image {
    min-height: 205px !important;
    height: 100% !important;
}

.tte-search-v536 .tte-search-result-image img {
    height: 100% !important;
    min-height: 205px !important;
    object-fit: cover !important;
}

.tte-search-v536 .tte-search-result-body {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 190px !important;
    min-width: 0 !important;
}

.tte-search-v536 .tte-search-result-main {
    min-width: 0 !important;
}

.tte-search-v536 .tte-search-result-price {
    border-left: 1px solid #edf2f7 !important;
    border-top: 0 !important;
}

.tte-search-v536 .tte-final-suggest-panel {
    z-index: 99999 !important;
}

@media (max-width: 1180px) {
    .tte-search-v536 .tte-search-final-bar {
        grid-template-columns: 1fr 1fr 1fr 1fr 66px !important;
    }

    .tte-search-v536 .tte-search-final-layout {
        grid-template-columns: 240px minmax(0,1fr) !important;
    }

    .tte-search-v536 .tte-search-final-sidebar {
        width: 240px !important;
        min-width: 240px !important;
    }

    .tte-search-v536 .tte-search-result-body {
        grid-template-columns: 1fr !important;
    }

    .tte-search-v536 .tte-search-result-price {
        border-left: 0 !important;
        border-top: 1px solid #edf2f7 !important;
        align-items: flex-start !important;
        text-align: left !important;
    }
}

@media (max-width: 860px) {
    .tte-search-v536 .tte-container {
        width: min(100%, calc(100vw - 28px)) !important;
    }

    .tte-search-v536 .tte-search-final-bar {
        grid-template-columns: 1fr !important;
    }

    .tte-search-v536 .tte-search-final-submit {
        width: 100% !important;
        font-size: 16px !important;
    }

    .tte-search-v536 .tte-search-final-submit::before {
        content: "" !important;
    }

    .tte-search-v536 .tte-search-final-layout {
        grid-template-columns: 1fr !important;
    }

    .tte-search-v536 .tte-search-final-sidebar {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .tte-search-v536 .tte-search-result-card {
        grid-template-columns: 1fr !important;
    }

    .tte-search-v536 .tte-search-result-image,
    .tte-search-v536 .tte-search-result-image img {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
    }

    .tte-search-v536 .tte-search-result-body {
        grid-template-columns: 1fr !important;
    }

    .tte-search-v536 .tte-search-result-price {
        border-left: 0 !important;
        border-top: 1px solid #edf2f7 !important;
    }
}



/* V53.7 — Final horizontal package card for Landing + Search desktop */
.tte-list-product-card {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
    min-height: 290px !important;
}

.tte-list-product-image {
    position: relative !important;
    display: block !important;
    min-height: 290px !important;
    background: #eef3f8 !important;
    overflow: hidden !important;
}

.tte-list-product-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 290px !important;
    display: block !important;
    object-fit: cover !important;
}

.tte-list-product-placeholder {
    height: 100%;
    min-height: 290px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #e8fffb, #f8fafc);
    color: #007f7a;
    font-weight: 900;
}

.tte-list-duration {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    min-height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(133, 23, 15, .96) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    z-index: 2 !important;
}

.tte-list-promo {
    position: absolute !important;
    top: 40px !important;
    left: 12px !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #10bdb7 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
    z-index: 3 !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.12) !important;
}

.tte-list-product-info {
    min-width: 0 !important;
    padding: 18px 20px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 9px !important;
}

.tte-list-product-head {
    min-width: 0 !important;
}

.tte-list-product-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #071116 !important;
    text-decoration: none !important;
    font-size: 23px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    letter-spacing: -.025em !important;
    margin-bottom: 9px !important;
}

.tte-list-product-title:hover {
    color: #d9291f !important;
}

.tte-list-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
}

.tte-list-badges span {
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 0 10px !important;
    border: 1px solid rgba(37,99,235,.22) !important;
    border-radius: 999px !important;
    background: #f8fbff !important;
    color: #1d4ed8 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.tte-list-badges .tte-list-airline {
    color: #dc2626 !important;
    border-color: rgba(220,38,38,.22) !important;
    background: #fff7f7 !important;
}

.tte-list-desc {
    margin: 0 !important;
    color: #334155 !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.tte-list-highlight {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    color: #0f766e !important;
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
}

.tte-list-periods {
    margin-top: 3px !important;
    border-top: 1px dashed #dbe5ef !important;
    padding-top: 8px !important;
    display: grid !important;
    gap: 5px !important;
}

.tte-list-period-row {
    display: grid !important;
    grid-template-columns: minmax(150px, 1fr) 96px 122px !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 34px !important;
}

.tte-list-period-date {
    color: #334155 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

.tte-list-period-row strong {
    color: #dc2626 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    text-align: right !important;
}

.tte-list-seat-btn {
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #0d6efd !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

.tte-list-seat-btn.is-soldout {
    background: #fee2e2 !important;
    color: #dc2626 !important;
}

.tte-list-more-periods {
    margin-top: 3px !important;
    color: #2563eb !important;
    text-decoration: none !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
}

.tte-list-product-footer {
    margin-top: auto !important;
    padding-top: 8px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
}

.tte-list-start-price {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    color: #64748b !important;
}

.tte-list-start-price small,
.tte-list-start-price span {
    font-size: 13px !important;
    font-weight: 800 !important;
}

.tte-list-start-price strong {
    color: #dc2626 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.tte-list-detail-btn {
    min-height: 40px !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    border: 1px solid #dbe5ef !important;
    background: #fff !important;
    color: #071116 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.tte-list-detail-btn:hover {
    background: #071116 !important;
    color: #fff !important;
}

/* Landing/List pages: force vertical list on desktop for result area only */
.tte-listing-page #tteListingResults,
.tte-trip-listing #tteListingResults,
.tte-search-final-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

/* Search page V53.6 wrapper: use the same product card without old card rules */
.tte-search-v536 .tte-list-product-card {
    grid-template-columns: 310px minmax(0, 1fr) !important;
    min-height: 270px !important;
}

.tte-search-v536 .tte-list-product-image,
.tte-search-v536 .tte-list-product-image img {
    min-height: 270px !important;
}

/* Neutralize old search-card CSS for new class only */
.tte-search-final-page .tte-list-product-card,
.tte-search-final-page .tte-list-product-card * {
    box-sizing: border-box !important;
}

@media (max-width: 1100px) {
    .tte-list-product-card,
    .tte-search-v536 .tte-list-product-card {
        grid-template-columns: 280px minmax(0, 1fr) !important;
    }

    .tte-list-period-row {
        grid-template-columns: 1fr 86px 116px !important;
    }

    .tte-list-product-title {
        font-size: 21px !important;
    }
}

@media (max-width: 820px) {
    .tte-list-product-card,
    .tte-search-v536 .tte-list-product-card {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
        border-radius: 18px !important;
    }

    .tte-list-product-image,
    .tte-list-product-image img,
    .tte-search-v536 .tte-list-product-image,
    .tte-search-v536 .tte-list-product-image img {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
    }

    .tte-list-product-info {
        padding: 16px !important;
    }

    .tte-list-period-row {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
        padding: 9px 0 !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    .tte-list-period-row strong {
        text-align: left !important;
    }

    .tte-list-seat-btn {
        width: fit-content !important;
    }

    .tte-list-product-footer {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .tte-list-detail-btn {
        width: 100% !important;
    }
}

@media (max-width: 520px) {
    .tte-list-product-title {
        font-size: 19px !important;
    }

    .tte-list-desc {
        font-size: 13px !important;
    }

    .tte-list-badges span {
        font-size: 11px !important;
        min-height: 26px !important;
    }

    .tte-list-start-price strong {
        font-size: 22px !important;
    }
}



/* V53.8 — Fix homepage bleed, period expansion, sidebar scroll */
.tte-home-page .tte-list-product-card,
.tte-home-page .tte-list-product-card * {
    all: unset;
}

/* Limit V53.7 horizontal list styling to landing/list/search contexts only */
.tte-tour-page.tte-listing-page .tte-list-product-card,
.tte-search-final-page .tte-list-product-card {
    display: grid !important;
    grid-template-columns: 330px minmax(0, 1fr) !important;
    gap: 0 !important;
    width: 100% !important;
    background: #fff !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 30px rgba(15,23,42,.06) !important;
    min-height: 290px !important;
}

.tte-tour-page.tte-listing-page .tte-list-product-image,
.tte-search-final-page .tte-list-product-image {
    position: relative !important;
    display: block !important;
    min-height: 290px !important;
    background: #eef3f8 !important;
    overflow: hidden !important;
}

.tte-tour-page.tte-listing-page .tte-list-product-image img,
.tte-search-final-page .tte-list-product-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 290px !important;
    display: block !important;
    object-fit: cover !important;
}

.tte-list-period-extra {
    display: grid;
    gap: 5px;
}

.tte-list-period-extra[hidden] {
    display: none !important;
}

.tte-list-expand-periods {
    width: fit-content;
    min-height: 30px;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 12.5px;
    font-weight: 900;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.tte-list-expand-periods:hover {
    color: #1d4ed8;
}

/* Listing sidebar must scroll fully */
.tte-listing-page .tte-filter-sidebar,
.tte-listing-page .tte-listing-sidebar,
.tte-listing-page .tte-sidebar,
.tte-listing-page .tte-filter-card,
.tte-tour-page .tte-filter-sidebar,
.tte-tour-page .tte-listing-sidebar,
.tte-tour-page .tte-sidebar {
    max-height: none !important;
    overflow: visible !important;
}

.tte-listing-page .tte-filter-card form,
.tte-listing-page .tte-filter-form,
.tte-tour-page .tte-filter-card form,
.tte-tour-page .tte-filter-form {
    max-height: calc(100vh - 150px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-bottom: 120px !important;
    scrollbar-gutter: stable !important;
}

.tte-listing-page .tte-filter-card form::-webkit-scrollbar,
.tte-listing-page .tte-filter-form::-webkit-scrollbar,
.tte-tour-page .tte-filter-card form::-webkit-scrollbar,
.tte-tour-page .tte-filter-form::-webkit-scrollbar {
    width: 8px;
}

.tte-listing-page .tte-filter-card form::-webkit-scrollbar-thumb,
.tte-listing-page .tte-filter-form::-webkit-scrollbar-thumb,
.tte-tour-page .tte-filter-card form::-webkit-scrollbar-thumb,
.tte-tour-page .tte-filter-form::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 999px;
}

@media (max-width: 820px) {
    .tte-tour-page.tte-listing-page .tte-list-product-card,
    .tte-search-final-page .tte-list-product-card {
        grid-template-columns: 1fr !important;
        min-height: 0 !important;
    }

    .tte-tour-page.tte-listing-page .tte-list-product-image,
    .tte-tour-page.tte-listing-page .tte-list-product-image img,
    .tte-search-final-page .tte-list-product-image,
    .tte-search-final-page .tte-list-product-image img {
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
    }

    .tte-listing-page .tte-filter-card form,
    .tte-listing-page .tte-filter-form,
    .tte-tour-page .tte-filter-card form,
    .tte-tour-page .tte-filter-form {
        max-height: none !important;
        overflow: visible !important;
        padding-bottom: 24px !important;
    }
}



/* V53.9 — Final separation: home cards vs landing/search list cards */

/* Home page uses its own card; do not inherit V53.7 horizontal list behavior */
.tte-home-page .tte-tour-grid-premium,
.tte-home-page .tte-fire-sale-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}

.tte-home-product-card,
.tte-home-product-card * {
    box-sizing: border-box !important;
}

.tte-home-product-card {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    background: #fff !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(15,23,42,.07) !important;
}

.tte-home-product-image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 3 / 2 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #eef3f8 !important;
}

.tte-home-product-image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: block !important;
    object-fit: cover !important;
}

.tte-home-product-image > span {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #007f7a;
    font-weight: 900;
}

.tte-home-product-image em {
    position: absolute !important;
    left: 12px !important;
    top: 12px !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #10bdb7 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    display: inline-flex !important;
    align-items: center !important;
}

.tte-home-duration {
    min-height: 42px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fffaf0 !important;
    color: #ef3b2d !important;
    font-size: 15px !important;
    font-weight: 900 !important;
}

.tte-home-product-body {
    padding: 18px 18px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    flex: 1 !important;
}

.tte-home-product-title {
    color: #071116 !important;
    text-decoration: none !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    font-weight: 900 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

.tte-home-product-meta {
    display: grid !important;
    gap: 6px !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.tte-home-product-meta span::before {
    content: "▫";
    color: #94a3b8;
    margin-right: 7px;
}

.tte-home-product-price {
    margin-top: auto !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    color: #64748b !important;
}

.tte-home-product-price small,
.tte-home-product-price span {
    font-size: 13px !important;
    font-weight: 800 !important;
}

.tte-home-product-price strong {
    color: #d9291f !important;
    font-size: 24px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

/* Landing list: make periods visible and not hidden behind old card sizing */
.tte-listing-page .tte-list-product-info,
.tte-search-final-page .tte-list-product-info {
    min-height: 290px !important;
}

.tte-listing-page .tte-list-periods,
.tte-search-final-page .tte-list-periods {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.tte-listing-page .tte-list-period-row,
.tte-search-final-page .tte-list-period-row {
    display: grid !important;
}

.tte-listing-page .tte-list-product-footer,
.tte-search-final-page .tte-list-product-footer {
    margin-top: 8px !important;
}

/* Sidebar scroll: viewport-safe. Let whole sidebar form scroll, not clipped by parent */
.tte-listing-page .tte-listing-sidebar {
    align-self: start !important;
    position: sticky !important;
    top: 112px !important;
    max-height: calc(100vh - 126px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 6px !important;
    scrollbar-gutter: stable !important;
}

.tte-listing-page .tte-listing-sidebar .tte-filter-card,
.tte-listing-page .tte-listing-sidebar form,
.tte-listing-page .tte-desktop-chain-filter-form {
    max-height: none !important;
    overflow: visible !important;
    padding-bottom: 28px !important;
}

/* Kill old destructive V53.8 all:unset behavior */
.tte-home-page .tte-list-product-card,
.tte-home-page .tte-list-product-card * {
    all: revert !important;
}

@media (max-width: 1180px) {
    .tte-home-page .tte-tour-grid-premium,
    .tte-home-page .tte-fire-sale-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .tte-home-page .tte-tour-grid-premium,
    .tte-home-page .tte-fire-sale-grid {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    .tte-listing-page .tte-listing-sidebar {
        position: static !important;
        max-height: none !important;
        overflow: visible !important;
        padding-right: 0 !important;
    }
}



/* V54.0 — DB-driven landing filters with counts + month filter */
.tte-filter-chip small {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    height: 20px !important;
    padding: 0 6px !important;
    margin-left: 6px !important;
    border-radius: 999px !important;
    background: rgba(15,23,42,.08) !important;
    color: #475569 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
}

.tte-filter-chip.is-active small {
    background: rgba(20,184,166,.18) !important;
    color: #007f7a !important;
}

.tte-filter-chain-title span {
    min-width: 28px !important;
}

.tte-filter-empty {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    color: #94a3b8 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}

/* Month chips tend to be longer; keep them readable */
.tte-filter-chip-grid[data-filter-group="month"] .tte-filter-chip {
    min-width: 112px !important;
    justify-content: space-between !important;
}



/* V54.1 — Header search button icon only + robust month filter */
.tte-site-header .tte-header-search button[type="submit"],
.tte-site-header .tte-smart-search-submit,
.tte-header-search .tte-smart-search-submit {
    width: 48px !important;
    min-width: 48px !important;
    height: 42px !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.tte-site-header .tte-header-search button[type="submit"]::before,
.tte-site-header .tte-smart-search-submit::before,
.tte-header-search .tte-smart-search-submit::before {
    content: "⌕" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.tte-site-header .tte-header-search input[type="search"] {
    padding-right: 66px !important;
}

.tte-filter-chip-grid[data-filter-group="month"] .tte-filter-empty {
    color: #94a3b8 !important;
}



/* V54.2 — Mobile landing UX cleanup */
@media (max-width: 760px) {
    /* 1) Mobile landing hero: remove bg image / poster behind text */
    body .tte-listing-hero,
    body .tte-landing-hero,
    body .tte-hero,
    body .tte-tour-hero,
    body .tte-tour-page .tte-listing-hero,
    body .tte-tour-page .tte-landing-hero,
    body .tte-tour-page .tte-hero {
        background-image: none !important;
        background: #fff !important;
        min-height: 0 !important;
        padding: 22px 0 24px !important;
        overflow: visible !important;
    }

    body .tte-listing-hero::before,
    body .tte-listing-hero::after,
    body .tte-landing-hero::before,
    body .tte-landing-hero::after,
    body .tte-hero::before,
    body .tte-hero::after,
    body .tte-tour-hero::before,
    body .tte-tour-hero::after {
        display: none !important;
        content: none !important;
        background-image: none !important;
    }

    body .tte-listing-hero [style*="background"],
    body .tte-landing-hero [style*="background"],
    body .tte-hero [style*="background"] {
        background-image: none !important;
    }

    body .tte-hero-cover,
    body .tte-hero-bg,
    body .tte-hero-background,
    body .tte-listing-hero-bg,
    body .tte-landing-hero-bg {
        display: none !important;
    }

    body .tte-listing-hero h1,
    body .tte-landing-hero h1,
    body .tte-hero h1,
    body .tte-tour-hero h1 {
        font-size: 36px !important;
        line-height: 1.08 !important;
        margin-bottom: 10px !important;
        color: #071116 !important;
    }

    body .tte-listing-hero p,
    body .tte-landing-hero p,
    body .tte-hero p,
    body .tte-tour-hero p {
        color: #64748b !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
    }

    /* 2) Floating filter bar: smaller, cleaner */
    body .tte-mobile-filter-bar,
    body .tte-floating-filter-bar,
    body .tte-mobile-bottom-filter,
    body .tte-mobile-filter-float {
        left: 16px !important;
        right: 16px !important;
        bottom: 12px !important;
        width: auto !important;
        max-width: calc(100vw - 32px) !important;
        min-height: 54px !important;
        height: 54px !important;
        padding: 5px !important;
        border-radius: 999px !important;
        box-shadow: 0 14px 34px rgba(7,17,22,.16) !important;
        background: #071116 !important;
        overflow: hidden !important;
        z-index: 9900 !important;
    }

    body .tte-mobile-filter-bar button,
    body .tte-floating-filter-bar button,
    body .tte-mobile-bottom-filter button,
    body .tte-mobile-filter-float button,
    body .tte-mobile-filter-bar a,
    body .tte-floating-filter-bar a,
    body .tte-mobile-bottom-filter a,
    body .tte-mobile-filter-float a {
        min-height: 44px !important;
        height: 44px !important;
        border-radius: 999px !important;
        font-size: 13px !important;
        line-height: 1.1 !important;
        padding: 0 12px !important;
        font-weight: 900 !important;
    }

    body .tte-mobile-filter-bar .is-active,
    body .tte-floating-filter-bar .is-active,
    body .tte-mobile-bottom-filter .is-active,
    body .tte-mobile-filter-float .is-active {
        background: #fff !important;
        color: #071116 !important;
    }

    /* 3) Mobile listing card: use full available width */
    body.tte-tour-page,
    body .tte-tour-page {
        overflow-x: hidden !important;
    }

    body .tte-listing-page .tte-container,
    body .tte-tour-page.tte-listing-page .tte-container,
    body .tte-listing-page .tte-listing-container,
    body .tte-tour-page .tte-listing-container {
        width: 100% !important;
        max-width: none !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body .tte-listing-page .tte-listing-layout,
    body .tte-tour-page .tte-listing-layout,
    body .tte-listing-page .tte-listing-content,
    body .tte-tour-page .tte-listing-content,
    body .tte-listing-page #tteListingResults,
    body .tte-tour-page #tteListingResults {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .tte-listing-page .tte-list-product-card,
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        border-radius: 18px !important;
        box-shadow: 0 12px 28px rgba(15,23,42,.07) !important;
    }

    body .tte-listing-page .tte-list-product-info,
    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        padding: 14px !important;
        min-height: 0 !important;
        gap: 8px !important;
    }

    body .tte-listing-page .tte-list-product-title,
    body .tte-tour-page.tte-listing-page .tte-list-product-title,
    body .tte-search-final-page .tte-list-product-title {
        font-size: 20px !important;
        line-height: 1.25 !important;
        margin-bottom: 6px !important;
    }

    body .tte-listing-page .tte-list-badges,
    body .tte-tour-page.tte-listing-page .tte-list-badges,
    body .tte-search-final-page .tte-list-badges {
        gap: 5px !important;
    }

    body .tte-listing-page .tte-list-badges span,
    body .tte-tour-page.tte-listing-page .tte-list-badges span,
    body .tte-search-final-page .tte-list-badges span {
        min-height: 24px !important;
        padding: 0 8px !important;
        font-size: 10.5px !important;
    }

    body .tte-listing-page .tte-list-desc,
    body .tte-tour-page.tte-listing-page .tte-list-desc,
    body .tte-search-final-page .tte-list-desc {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* 4) Period rows: compact single-line on mobile */
    body .tte-listing-page .tte-list-periods,
    body .tte-tour-page.tte-listing-page .tte-list-periods,
    body .tte-search-final-page .tte-list-periods {
        gap: 0 !important;
        padding-top: 6px !important;
        margin-top: 2px !important;
    }

    body .tte-listing-page .tte-list-period-row,
    body .tte-tour-page.tte-listing-page .tte-list-period-row,
    body .tte-search-final-page .tte-list-period-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 66px 88px !important;
        gap: 6px !important;
        align-items: center !important;
        min-height: 32px !important;
        padding: 4px 0 !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    body .tte-listing-page .tte-list-period-date,
    body .tte-tour-page.tte-listing-page .tte-list-period-date,
    body .tte-search-final-page .tte-list-period-date {
        font-size: 11.5px !important;
        line-height: 1.25 !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body .tte-listing-page .tte-list-period-row strong,
    body .tte-tour-page.tte-listing-page .tte-list-period-row strong,
    body .tte-search-final-page .tte-list-period-row strong {
        font-size: 12px !important;
        text-align: right !important;
        white-space: nowrap !important;
    }

    body .tte-listing-page .tte-list-seat-btn,
    body .tte-tour-page.tte-listing-page .tte-list-seat-btn,
    body .tte-search-final-page .tte-list-seat-btn {
        min-height: 26px !important;
        height: 26px !important;
        padding: 0 7px !important;
        font-size: 10.5px !important;
        width: auto !important;
        max-width: 88px !important;
        white-space: nowrap !important;
    }

    body .tte-listing-page .tte-list-expand-periods,
    body .tte-tour-page.tte-listing-page .tte-list-expand-periods,
    body .tte-search-final-page .tte-list-expand-periods,
    body .tte-listing-page .tte-list-more-periods,
    body .tte-tour-page.tte-listing-page .tte-list-more-periods,
    body .tte-search-final-page .tte-list-more-periods {
        font-size: 12px !important;
        margin-top: 6px !important;
    }

    body .tte-listing-page .tte-list-product-footer,
    body .tte-tour-page.tte-listing-page .tte-list-product-footer,
    body .tte-search-final-page .tte-list-product-footer {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
    }

    body .tte-listing-page .tte-list-start-price strong,
    body .tte-tour-page.tte-listing-page .tte-list-start-price strong,
    body .tte-search-final-page .tte-list-start-price strong {
        font-size: 22px !important;
    }

    body .tte-listing-page .tte-list-detail-btn,
    body .tte-tour-page.tte-listing-page .tte-list-detail-btn,
    body .tte-search-final-page .tte-list-detail-btn {
        width: auto !important;
        min-height: 36px !important;
        padding: 0 14px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 390px) {
    body .tte-listing-page .tte-list-period-row,
    body .tte-tour-page.tte-listing-page .tte-list-period-row,
    body .tte-search-final-page .tte-list-period-row {
        grid-template-columns: minmax(0, 1fr) 58px 76px !important;
        gap: 4px !important;
    }

    body .tte-listing-page .tte-list-seat-btn,
    body .tte-tour-page.tte-listing-page .tte-list-seat-btn,
    body .tte-search-final-page .tte-list-seat-btn {
        max-width: 76px !important;
        font-size: 9.5px !important;
        padding: 0 5px !important;
    }

    body .tte-listing-page .tte-list-period-row strong,
    body .tte-tour-page.tte-listing-page .tte-list-period-row strong,
    body .tte-search-final-page .tte-list-period-row strong {
        font-size: 11px !important;
    }
}



/* V54.3 — Professional mobile landing/list reset. Mobile only. */
@media (max-width: 760px) {
    html,
    body {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        background: #f4f7fb !important;
    }

    body .tte-site,
    body .tte-page,
    body .tte-main,
    body .tte-tour-page,
    body .tte-listing-page,
    body .tte-search-final-page {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        background: #f4f7fb !important;
    }

    /* Header stays clean and does not force a narrow inner width */
    body .tte-site-header,
    body .tte-header,
    body .tte-site-header-inner,
    body .tte-header-inner {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Hero: remove all image layers on mobile and make it compact */
    body .tte-listing-hero,
    body .tte-landing-hero,
    body .tte-tour-hero,
    body .tte-hero,
    body section[class*="hero"],
    body .tte-tour-page section[class*="hero"] {
        background: #fff !important;
        background-image: none !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 18px 16px 20px !important;
        margin: 0 !important;
        border-bottom: 1px solid #e5eaf2 !important;
        overflow: hidden !important;
    }

    body .tte-listing-hero *,
    body .tte-landing-hero *,
    body .tte-tour-hero *,
    body .tte-hero * {
        position: relative;
        z-index: 2;
    }

    body .tte-listing-hero::before,
    body .tte-listing-hero::after,
    body .tte-landing-hero::before,
    body .tte-landing-hero::after,
    body .tte-tour-hero::before,
    body .tte-tour-hero::after,
    body .tte-hero::before,
    body .tte-hero::after,
    body section[class*="hero"]::before,
    body section[class*="hero"]::after {
        display: none !important;
        content: none !important;
        background: none !important;
        background-image: none !important;
        opacity: 0 !important;
    }

    body .tte-hero-cover,
    body .tte-hero-bg,
    body .tte-hero-background,
    body .tte-hero-media,
    body .tte-hero-image,
    body .tte-listing-hero-bg,
    body .tte-landing-hero-bg,
    body [class*="hero"] img[class*="bg"],
    body [class*="hero"] .tte-cover {
        display: none !important;
    }

    body .tte-listing-hero .tte-container,
    body .tte-landing-hero .tte-container,
    body .tte-tour-hero .tte-container,
    body .tte-hero .tte-container {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body .tte-listing-hero h1,
    body .tte-landing-hero h1,
    body .tte-tour-hero h1,
    body .tte-hero h1 {
        font-size: 34px !important;
        line-height: 1.08 !important;
        letter-spacing: -.04em !important;
        margin: 6px 0 8px !important;
        color: #071116 !important;
        text-shadow: none !important;
    }

    body .tte-listing-hero p,
    body .tte-landing-hero p,
    body .tte-tour-hero p,
    body .tte-hero p {
        max-width: 100% !important;
        color: #64748b !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
        margin: 0 0 12px !important;
        text-shadow: none !important;
    }

    body .tte-hero-tags,
    body .tte-listing-hero .tte-chip-row,
    body .tte-landing-hero .tte-chip-row {
        display: flex !important;
        gap: 8px !important;
        overflow-x: auto !important;
        padding-bottom: 4px !important;
        scrollbar-width: none !important;
    }

    body .tte-hero-tags::-webkit-scrollbar,
    body .tte-listing-hero .tte-chip-row::-webkit-scrollbar,
    body .tte-landing-hero .tte-chip-row::-webkit-scrollbar {
        display: none !important;
    }

    /* The important part: break out of desktop max-width/grid constraints */
    body .tte-tour-page.tte-listing-page,
    body .tte-listing-page {
        padding: 0 !important;
    }

    body .tte-tour-page.tte-listing-page > .tte-container,
    body .tte-listing-page > .tte-container,
    body .tte-tour-page.tte-listing-page .tte-container,
    body .tte-listing-page .tte-container,
    body .tte-listing-wrap,
    body .tte-listing-container,
    body .tte-listing-layout,
    body .tte-listing-content,
    body .tte-results-wrap,
    body #tteListingResults {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    body .tte-listing-layout {
        display: block !important;
        grid-template-columns: none !important;
    }

    body .tte-listing-sidebar,
    body .tte-filter-sidebar,
    body .tte-desktop-filter,
    body aside.tte-listing-sidebar {
        display: none !important;
    }

    body .tte-results-head,
    body .tte-listing-title-card,
    body .tte-listing-section-head {
        width: 100% !important;
        margin: 12px 0 14px !important;
        border-radius: 14px !important;
        padding: 14px 16px !important;
        box-sizing: border-box !important;
    }

    body .tte-results-head h2,
    body .tte-listing-title-card h2,
    body .tte-listing-section-head h2 {
        font-size: 22px !important;
        line-height: 1.2 !important;
        margin: 0 !important;
    }

    body .tte-results-head small,
    body .tte-listing-title-card small,
    body .tte-listing-section-head small {
        font-size: 12px !important;
    }

    /* Card full width professional mobile */
    body .tte-listing-page .tte-list-product-card,
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 0 14px !important;
        border-radius: 18px !important;
        background: #fff !important;
        overflow: hidden !important;
        border: 1px solid #dbe5ef !important;
        box-shadow: 0 12px 28px rgba(15,23,42,.08) !important;
        box-sizing: border-box !important;
    }

    body .tte-listing-page .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 2 !important;
        display: block !important;
        border-radius: 0 !important;
        overflow: hidden !important;
    }

    body .tte-listing-page .tte-list-product-image img,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        display: block !important;
    }

    body .tte-listing-page .tte-list-duration,
    body .tte-tour-page.tte-listing-page .tte-list-duration,
    body .tte-search-final-page .tte-list-duration {
        min-height: 28px !important;
        height: 28px !important;
        font-size: 13px !important;
    }

    body .tte-listing-page .tte-list-promo,
    body .tte-tour-page.tte-listing-page .tte-list-promo,
    body .tte-search-final-page .tte-list-promo {
        top: 40px !important;
        left: 12px !important;
        min-height: 28px !important;
        font-size: 12px !important;
        padding: 0 11px !important;
    }

    body .tte-listing-page .tte-list-product-info,
    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        padding: 14px !important;
        gap: 8px !important;
        box-sizing: border-box !important;
    }

    body .tte-listing-page .tte-list-product-title,
    body .tte-tour-page.tte-listing-page .tte-list-product-title,
    body .tte-search-final-page .tte-list-product-title {
        font-size: 20px !important;
        line-height: 1.25 !important;
        margin: 0 0 5px !important;
        color: #071116 !important;
    }

    body .tte-listing-page .tte-list-badges,
    body .tte-tour-page.tte-listing-page .tte-list-badges,
    body .tte-search-final-page .tte-list-badges {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
    }

    body .tte-listing-page .tte-list-badges span,
    body .tte-tour-page.tte-listing-page .tte-list-badges span,
    body .tte-search-final-page .tte-list-badges span {
        min-height: 24px !important;
        padding: 0 8px !important;
        font-size: 10.5px !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    body .tte-listing-page .tte-list-desc,
    body .tte-tour-page.tte-listing-page .tte-list-desc,
    body .tte-search-final-page .tte-list-desc {
        font-size: 13px !important;
        line-height: 1.45 !important;
        margin: 2px 0 !important;
        color: #475569 !important;
    }

    body .tte-listing-page .tte-list-highlight,
    body .tte-tour-page.tte-listing-page .tte-list-highlight,
    body .tte-search-final-page .tte-list-highlight {
        font-size: 12px !important;
        gap: 6px !important;
    }

    /* Compact periods: one line */
    body .tte-listing-page .tte-list-periods,
    body .tte-tour-page.tte-listing-page .tte-list-periods,
    body .tte-search-final-page .tte-list-periods {
        margin-top: 4px !important;
        padding-top: 6px !important;
        border-top: 1px dashed #dbe5ef !important;
        display: grid !important;
        gap: 0 !important;
    }

    body .tte-listing-page .tte-list-period-row,
    body .tte-tour-page.tte-listing-page .tte-list-period-row,
    body .tte-search-final-page .tte-list-period-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 62px 84px !important;
        gap: 5px !important;
        align-items: center !important;
        min-height: 31px !important;
        padding: 3px 0 !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    body .tte-listing-page .tte-list-period-date,
    body .tte-tour-page.tte-listing-page .tte-list-period-date,
    body .tte-search-final-page .tte-list-period-date {
        min-width: 0 !important;
        font-size: 11px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        color: #334155 !important;
    }

    body .tte-listing-page .tte-list-period-row strong,
    body .tte-tour-page.tte-listing-page .tte-list-period-row strong,
    body .tte-search-final-page .tte-list-period-row strong {
        font-size: 11.5px !important;
        text-align: right !important;
        white-space: nowrap !important;
        color: #dc2626 !important;
    }

    body .tte-listing-page .tte-list-seat-btn,
    body .tte-tour-page.tte-listing-page .tte-list-seat-btn,
    body .tte-search-final-page .tte-list-seat-btn {
        width: 84px !important;
        max-width: 84px !important;
        min-height: 25px !important;
        height: 25px !important;
        padding: 0 5px !important;
        border-radius: 999px !important;
        font-size: 9.8px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body .tte-listing-page .tte-list-product-footer,
    body .tte-tour-page.tte-listing-page .tte-list-product-footer,
    body .tte-search-final-page .tte-list-product-footer {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-top: 8px !important;
        padding-top: 8px !important;
    }

    body .tte-listing-page .tte-list-start-price,
    body .tte-tour-page.tte-listing-page .tte-list-start-price,
    body .tte-search-final-page .tte-list-start-price {
        min-width: 0 !important;
    }

    body .tte-listing-page .tte-list-start-price strong,
    body .tte-tour-page.tte-listing-page .tte-list-start-price strong,
    body .tte-search-final-page .tte-list-start-price strong {
        font-size: 21px !important;
    }

    body .tte-listing-page .tte-list-start-price small,
    body .tte-listing-page .tte-list-start-price span,
    body .tte-tour-page.tte-listing-page .tte-list-start-price small,
    body .tte-tour-page.tte-listing-page .tte-list-start-price span,
    body .tte-search-final-page .tte-list-start-price small,
    body .tte-search-final-page .tte-list-start-price span {
        font-size: 11px !important;
    }

    body .tte-listing-page .tte-list-detail-btn,
    body .tte-tour-page.tte-listing-page .tte-list-detail-btn,
    body .tte-search-final-page .tte-list-detail-btn {
        width: auto !important;
        min-width: 104px !important;
        min-height: 34px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }

    /* Floating filter: smaller and less intrusive */
    body .tte-mobile-filter-bar,
    body .tte-floating-filter-bar,
    body .tte-mobile-bottom-filter,
    body .tte-mobile-filter-float,
    body [class*="mobile"][class*="filter"][class*="bar"] {
        left: 18px !important;
        right: 18px !important;
        bottom: 10px !important;
        width: auto !important;
        max-width: calc(100vw - 36px) !important;
        min-height: 48px !important;
        height: 48px !important;
        padding: 4px !important;
        border-radius: 999px !important;
        background: #071116 !important;
        box-shadow: 0 12px 30px rgba(7,17,22,.18) !important;
        z-index: 9990 !important;
    }

    body .tte-mobile-filter-bar button,
    body .tte-floating-filter-bar button,
    body .tte-mobile-bottom-filter button,
    body .tte-mobile-filter-float button,
    body [class*="mobile"][class*="filter"][class*="bar"] button {
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 10px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    /* Give bottom breathing room so floating bar does not cover last card */
    body .tte-listing-page #tteListingResults,
    body .tte-tour-page #tteListingResults {
        padding-bottom: 72px !important;
    }
}

@media (max-width: 390px) {
    body .tte-listing-page .tte-container,
    body .tte-listing-page .tte-listing-container,
    body .tte-listing-page .tte-listing-layout,
    body .tte-listing-page .tte-listing-content,
    body .tte-tour-page #tteListingResults {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    body .tte-listing-page .tte-list-period-row,
    body .tte-tour-page.tte-listing-page .tte-list-period-row,
    body .tte-search-final-page .tte-list-period-row {
        grid-template-columns: minmax(0, 1fr) 56px 74px !important;
        gap: 4px !important;
    }

    body .tte-listing-page .tte-list-seat-btn,
    body .tte-tour-page.tte-listing-page .tte-list-seat-btn,
    body .tte-search-final-page .tte-list-seat-btn {
        width: 74px !important;
        max-width: 74px !important;
        font-size: 9px !important;
        padding: 0 4px !important;
    }

    body .tte-listing-page .tte-list-period-row strong,
    body .tte-tour-page.tte-listing-page .tte-list-period-row strong,
    body .tte-search-final-page .tte-list-period-row strong {
        font-size: 10.8px !important;
    }

    body .tte-listing-page .tte-list-product-info,
    body .tte-tour-page.tte-listing-page .tte-list-product-info {
        padding: 12px !important;
    }
}



/* V54.4 — Mobile: center floating filter + hide problematic hero section */
@media (max-width: 760px) {
    /* Hide landing hero completely on mobile because background is injected by legacy/inline layers */
    body.tte-tour-page.tte-listing-page .tte-listing-hero,
    body.tte-tour-page.tte-listing-page .tte-landing-hero,
    body.tte-tour-page.tte-listing-page .tte-tour-hero,
    body.tte-tour-page.tte-listing-page .tte-hero,
    body.tte-tour-page.tte-listing-page section[class*="hero"],
    body .tte-tour-page.tte-listing-page .tte-listing-hero,
    body .tte-tour-page.tte-listing-page .tte-landing-hero,
    body .tte-tour-page.tte-listing-page .tte-tour-hero,
    body .tte-tour-page.tte-listing-page .tte-hero,
    body .tte-tour-page.tte-listing-page section[class*="hero"] {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
    }

    /* Remove top gap after hiding hero */
    body.tte-tour-page.tte-listing-page .tte-listing-page,
    body .tte-tour-page.tte-listing-page .tte-listing-page,
    body.tte-tour-page.tte-listing-page .tte-listing-content,
    body .tte-tour-page.tte-listing-page .tte-listing-content,
    body.tte-tour-page.tte-listing-page #tteListingResults,
    body .tte-tour-page.tte-listing-page #tteListingResults {
        margin-top: 0 !important;
        padding-top: 12px !important;
    }

    /* Listing title card becomes the mobile hero replacement */
    body.tte-tour-page.tte-listing-page .tte-results-head,
    body.tte-tour-page.tte-listing-page .tte-listing-title-card,
    body.tte-tour-page.tte-listing-page .tte-listing-section-head,
    body .tte-tour-page.tte-listing-page .tte-results-head,
    body .tte-tour-page.tte-listing-page .tte-listing-title-card,
    body .tte-tour-page.tte-listing-page .tte-listing-section-head {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        margin: 12px auto 14px !important;
        padding: 14px 16px !important;
        border-radius: 14px !important;
        background: #fff !important;
        border: 1px solid #dbe5ef !important;
        box-shadow: 0 8px 22px rgba(15,23,42,.04) !important;
        box-sizing: border-box !important;
    }

    /* Floating filter: true center */
    body .tte-mobile-filter-bar,
    body .tte-floating-filter-bar,
    body .tte-mobile-bottom-filter,
    body .tte-mobile-filter-float,
    body [class*="mobile"][class*="filter"][class*="bar"] {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: 12px !important;
        transform: translateX(-50%) !important;
        width: clamp(250px, calc(100vw - 36px), 340px) !important;
        max-width: calc(100vw - 36px) !important;
        min-width: 250px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 4px !important;
        border-radius: 999px !important;
        background: #071116 !important;
        box-shadow: 0 14px 34px rgba(7,17,22,.22) !important;
        z-index: 99990 !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 4px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }

    body .tte-mobile-filter-bar > *,
    body .tte-floating-filter-bar > *,
    body .tte-mobile-bottom-filter > *,
    body .tte-mobile-filter-float > *,
    body [class*="mobile"][class*="filter"][class*="bar"] > * {
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body .tte-mobile-filter-bar button,
    body .tte-floating-filter-bar button,
    body .tte-mobile-bottom-filter button,
    body .tte-mobile-filter-float button,
    body [class*="mobile"][class*="filter"][class*="bar"] button,
    body .tte-mobile-filter-bar a,
    body .tte-floating-filter-bar a,
    body .tte-mobile-bottom-filter a,
    body .tte-mobile-filter-float a,
    body [class*="mobile"][class*="filter"][class*="bar"] a {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 40px !important;
        height: 40px !important;
        padding: 0 8px !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        text-align: center !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Prevent any old transform from child wrappers pulling the bar left */
    body .tte-mobile-filter-bar *,
    body .tte-floating-filter-bar *,
    body .tte-mobile-bottom-filter *,
    body .tte-mobile-filter-float * {
        transform: none;
    }

    body.tte-tour-page.tte-listing-page #tteListingResults,
    body .tte-tour-page.tte-listing-page #tteListingResults {
        padding-bottom: 84px !important;
    }
}

@media (max-width: 390px) {
    body .tte-mobile-filter-bar,
    body .tte-floating-filter-bar,
    body .tte-mobile-bottom-filter,
    body .tte-mobile-filter-float,
    body [class*="mobile"][class*="filter"][class*="bar"] {
        width: clamp(240px, calc(100vw - 30px), 330px) !important;
        max-width: calc(100vw - 30px) !important;
        min-width: 240px !important;
        bottom: 10px !important;
    }
}



/* V54.5 — Remove duplicated duration ribbon */
.tte-list-duration {
    display: none !important;
}



/* V54.6 — Ensure period extra can be toggled by JS */
.tte-list-period-extra[hidden] {
    display: none !important;
}

.tte-list-periods.is-expanded .tte-list-period-extra {
    display: grid !important;
    gap: 5px !important;
}

.tte-list-expand-periods {
    cursor: pointer !important;
    user-select: none !important;
    position: relative !important;
    z-index: 5 !important;
}



/* V54.7 — Do not stretch listing image when periods are expanded */
@media (min-width: 821px) {
    .tte-tour-page.tte-listing-page .tte-list-product-card,
    .tte-search-final-page .tte-list-product-card,
    .tte-listing-page .tte-list-product-card {
        align-items: start !important;
    }

    .tte-tour-page.tte-listing-page .tte-list-product-image,
    .tte-search-final-page .tte-list-product-image,
    .tte-listing-page .tte-list-product-image {
        align-self: start !important;
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
        aspect-ratio: 4 / 3 !important;
        overflow: hidden !important;
    }

    .tte-tour-page.tte-listing-page .tte-list-product-image img,
    .tte-search-final-page .tte-list-product-image img,
    .tte-listing-page .tte-list-product-image img {
        width: 100% !important;
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    .tte-tour-page.tte-listing-page .tte-list-product-placeholder,
    .tte-search-final-page .tte-list-product-placeholder,
    .tte-listing-page .tte-list-product-placeholder {
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
    }

    .tte-tour-page.tte-listing-page .tte-list-periods.is-expanded,
    .tte-search-final-page .tte-list-periods.is-expanded,
    .tte-listing-page .tte-list-periods.is-expanded {
        padding-bottom: 4px !important;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    .tte-tour-page.tte-listing-page .tte-list-product-image,
    .tte-search-final-page .tte-list-product-image,
    .tte-listing-page .tte-list-product-image,
    .tte-tour-page.tte-listing-page .tte-list-product-image img,
    .tte-search-final-page .tte-list-product-image img,
    .tte-listing-page .tte-list-product-image img {
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
    }
}



/* V54.9 — Fix desktop list image overflow/overlap */
@media (min-width: 821px) {
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        display: grid !important;
        grid-template-columns: 330px minmax(0, 1fr) !important;
        align-items: start !important;
        overflow: hidden !important;
        position: relative !important;
        isolation: isolate !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image {
        grid-column: 1 / 2 !important;
        grid-row: 1 / 2 !important;
        width: 330px !important;
        min-width: 330px !important;
        max-width: 330px !important;
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
        aspect-ratio: auto !important;
        display: block !important;
        overflow: hidden !important;
        position: relative !important;
        z-index: 1 !important;
        transform: none !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img {
        width: 330px !important;
        min-width: 330px !important;
        max-width: 330px !important;
        height: 300px !important;
        min-height: 300px !important;
        max-height: 300px !important;
        display: block !important;
        object-fit: cover !important;
        object-position: center center !important;
        position: static !important;
        z-index: 1 !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        grid-column: 2 / 3 !important;
        grid-row: 1 / 2 !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        position: relative !important;
        z-index: 2 !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-promo,
    body .tte-listing-page .tte-list-promo,
    body .tte-search-final-page .tte-list-promo {
        z-index: 3 !important;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        grid-template-columns: 300px minmax(0, 1fr) !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img {
        width: 300px !important;
        min-width: 300px !important;
        max-width: 300px !important;
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
    }
}



/* V55.0 — 1:1 full-size tour images for desktop list cards */
@media (min-width: 1181px) {
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        grid-template-columns: 420px minmax(0, 1fr) !important;
        align-items: start !important;
        min-height: 420px !important;
        overflow: hidden !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image {
        width: 420px !important;
        min-width: 420px !important;
        max-width: 420px !important;
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
        aspect-ratio: 1 / 1 !important;
        overflow: hidden !important;
        background: #eef3f8 !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img {
        width: 420px !important;
        min-width: 420px !important;
        max-width: 420px !important;
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
        object-fit: cover !important;
        object-position: center center !important;
        display: block !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-placeholder,
    body .tte-listing-page .tte-list-product-placeholder,
    body .tte-search-final-page .tte-list-product-placeholder {
        width: 420px !important;
        height: 420px !important;
        min-height: 420px !important;
        max-height: 420px !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        min-height: 420px !important;
        padding: 24px 28px 22px !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-title,
    body .tte-listing-page .tte-list-product-title,
    body .tte-search-final-page .tte-list-product-title {
        font-size: 26px !important;
        line-height: 1.22 !important;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        grid-template-columns: 340px minmax(0, 1fr) !important;
        min-height: 340px !important;
        overflow: hidden !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img {
        width: 340px !important;
        min-width: 340px !important;
        max-width: 340px !important;
        height: 340px !important;
        min-height: 340px !important;
        max-height: 340px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        min-height: 340px !important;
    }
}

/* Mobile: keep professional full-width card, not square too tall */
@media (max-width: 820px) {
    body .tte-listing-page .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image {
        aspect-ratio: 1 / 1 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    body .tte-listing-page .tte-list-product-image img,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}



/* V55.1 — Professional compact 1:1 desktop image size */
@media (min-width: 1181px) {
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        grid-template-columns: 280px minmax(0, 1fr) !important;
        min-height: 280px !important;
        align-items: start !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img,
    body .tte-tour-page.tte-listing-page .tte-list-product-placeholder,
    body .tte-listing-page .tte-list-product-placeholder,
    body .tte-search-final-page .tte-list-product-placeholder {
        width: 280px !important;
        min-width: 280px !important;
        max-width: 280px !important;
        height: 280px !important;
        min-height: 280px !important;
        max-height: 280px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        min-height: 280px !important;
        padding: 20px 24px 18px !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-title,
    body .tte-listing-page .tte-list-product-title,
    body .tte-search-final-page .tte-list-product-title {
        font-size: 24px !important;
        line-height: 1.22 !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-desc,
    body .tte-listing-page .tte-list-desc,
    body .tte-search-final-page .tte-list-desc {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-period-row,
    body .tte-listing-page .tte-list-period-row,
    body .tte-search-final-page .tte-list-period-row {
        min-height: 32px !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-start-price strong,
    body .tte-listing-page .tte-list-start-price strong,
    body .tte-search-final-page .tte-list-start-price strong {
        font-size: 26px !important;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card,
    body .tte-search-final-page .tte-list-product-card {
        grid-template-columns: 260px minmax(0, 1fr) !important;
        min-height: 260px !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-search-final-page .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-search-final-page .tte-list-product-image img,
    body .tte-tour-page.tte-listing-page .tte-list-product-placeholder,
    body .tte-listing-page .tte-list-product-placeholder,
    body .tte-search-final-page .tte-list-product-placeholder {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-listing-page .tte-list-product-info,
    body .tte-search-final-page .tte-list-product-info {
        min-height: 260px !important;
    }
}



/* V55.2 — Fix mobile filter sheet header/button layout */
@media (max-width: 760px) {
    /* Mobile sheet itself: reset from old floating/grid styles */
    body .tte-mobile-sheet,
    body #tteMobileFilterSheet,
    body #tteMobileSortSheet,
    body #tteMobileCategorySheet {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: 0 !important;
        top: auto !important;
        transform: translateX(-50%) !important;
        width: min(100vw, 430px) !important;
        max-width: 100vw !important;
        height: min(86vh, 720px) !important;
        max-height: 86vh !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        gap: 0 !important;
        padding: 0 !important;
        border-radius: 22px 22px 0 0 !important;
        background: #fff !important;
        overflow: hidden !important;
        box-shadow: 0 -18px 45px rgba(7,17,22,.22) !important;
        z-index: 100000 !important;
        box-sizing: border-box !important;
    }

    body .tte-mobile-sheet[aria-hidden="true"],
    body #tteMobileFilterSheet[aria-hidden="true"],
    body #tteMobileSortSheet[aria-hidden="true"],
    body #tteMobileCategorySheet[aria-hidden="true"] {
        display: none !important;
        pointer-events: none !important;
    }

    body .tte-mobile-sheet[aria-hidden="false"],
    body #tteMobileFilterSheet[aria-hidden="false"],
    body #tteMobileSortSheet[aria-hidden="false"],
    body #tteMobileCategorySheet[aria-hidden="false"] {
        display: flex !important;
        pointer-events: auto !important;
    }

    /* Header row: X | title | clear */
    body .tte-mobile-sheet-head,
    body .tte-mobile-sheet-header,
    body #tteMobileFilterSheet .tte-mobile-sheet-head,
    body #tteMobileFilterSheet .tte-mobile-sheet-header {
        position: sticky !important;
        top: 0 !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 64px !important;
        align-items: center !important;
        gap: 8px !important;
        width: 100% !important;
        min-height: 64px !important;
        height: 64px !important;
        padding: 10px 14px !important;
        margin: 0 !important;
        background: rgba(255,255,255,.96) !important;
        backdrop-filter: blur(14px) !important;
        border-bottom: 1px solid #e5eaf2 !important;
        box-sizing: border-box !important;
        z-index: 5 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        transform: none !important;
    }

    body .tte-mobile-sheet-head::before,
    body .tte-mobile-sheet-header::before {
        content: "" !important;
        position: absolute !important;
        top: 7px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 42px !important;
        height: 4px !important;
        border-radius: 999px !important;
        background: #d5dce6 !important;
    }

    body .tte-mobile-sheet-head h3,
    body .tte-mobile-sheet-header h3,
    body #tteMobileFilterSheet h3 {
        grid-column: 2 / 3 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center !important;
        font-size: 18px !important;
        line-height: 1.15 !important;
        font-weight: 900 !important;
        color: #071116 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    body .tte-mobile-sheet-head small,
    body .tte-mobile-sheet-header small,
    body #tteMobileFilterSheet .tte-mobile-sheet-head small,
    body #tteMobileFilterSheet .tte-mobile-sheet-header small {
        display: block !important;
        margin-top: 3px !important;
        text-align: center !important;
        font-size: 11px !important;
        line-height: 1.1 !important;
        color: #64748b !important;
        font-weight: 700 !important;
    }

    /* Close X button */
    body .tte-mobile-sheet-close,
    body .tte-sheet-close,
    body #tteMobileFilterSheet .tte-mobile-sheet-close,
    body #tteMobileFilterSheet .tte-sheet-close,
    body #tteMobileFilterSheet button[aria-label="Close"],
    body #tteMobileFilterSheet button[aria-label="ปิด"] {
        grid-column: 1 / 2 !important;
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 999px !important;
        border: 0 !important;
        background: #f1f5f9 !important;
        color: #071116 !important;
        font-size: 24px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: none !important;
        transform: none !important;
        position: static !important;
        text-indent: 0 !important;
    }

    /* Clear button/link */
    body .tte-mobile-sheet-clear,
    body .tte-sheet-clear,
    body #tteMobileFilterSheet .tte-mobile-sheet-clear,
    body #tteMobileFilterSheet .tte-sheet-clear,
    body #tteMobileFilterSheet a[href*="clear"],
    body #tteMobileFilterSheet button[data-tte-clear] {
        grid-column: 3 / 4 !important;
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 8px !important;
        margin: 0 !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1px solid #dbe5ef !important;
        color: #071116 !important;
        font-size: 12px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        white-space: nowrap !important;
        transform: none !important;
        box-shadow: none !important;
        position: static !important;
    }

    /* Sheet body scrolls, not the header */
    body .tte-mobile-sheet-body,
    body .tte-sheet-body,
    body #tteMobileFilterSheet .tte-mobile-sheet-body,
    body #tteMobileFilterSheet .tte-sheet-body,
    body #tteMobileFilterSheet form {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 16px 14px 96px !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        display: block !important;
        grid-template-columns: none !important;
    }

    body #tteMobileFilterSheet .tte-filter-chain,
    body #tteMobileFilterSheet .tte-filter-card,
    body #tteMobileFilterSheet .tte-filter-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Bottom floating bar: apply only to actual bottom bar, not sheet/header */
    body .tte-mobile-filter-bar:not(.tte-mobile-sheet):not(#tteMobileFilterSheet),
    body .tte-floating-filter-bar:not(.tte-mobile-sheet):not(#tteMobileFilterSheet),
    body .tte-mobile-bottom-filter:not(.tte-mobile-sheet):not(#tteMobileFilterSheet),
    body .tte-mobile-filter-float:not(.tte-mobile-sheet):not(#tteMobileFilterSheet) {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: 12px !important;
        transform: translateX(-50%) !important;
        width: clamp(250px, calc(100vw - 36px), 340px) !important;
        max-width: calc(100vw - 36px) !important;
        min-width: 250px !important;
        height: 48px !important;
        min-height: 48px !important;
        padding: 4px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 4px !important;
        border-radius: 999px !important;
        background: #071116 !important;
        overflow: hidden !important;
        z-index: 99990 !important;
        box-sizing: border-box !important;
    }
}



/* V55.3 — Clean mobile body/background + professional filter sheet */
@media (max-width: 760px) {
    html,
    body,
    body.blog,
    body.wp-embed-responsive,
    body.wp-theme-twentytwentyfive,
    body.tte-standalone-page,
    body.tte-plugin-page,
    body.tte-plugin-page-hard {
        background: #f4f7fb !important;
        background-color: #f4f7fb !important;
        background-image: none !important;
    }

    body::before,
    body::after {
        background-image: none !important;
    }

    body .tte-site,
    body .tte-main,
    body .tte-tour-page,
    body .tte-listing-page,
    body .tte-trip-listing {
        background: #f4f7fb !important;
        background-color: #f4f7fb !important;
        background-image: none !important;
    }

    /* Clean modal backdrop */
    html.tte-sheet-lock,
    html.tte-sheet-lock body {
        overflow: hidden !important;
        background: #f4f7fb !important;
    }

    html.tte-sheet-lock body::before {
        content: "" !important;
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        background: rgba(7, 17, 22, .48) !important;
        backdrop-filter: blur(2px) !important;
        z-index: 99980 !important;
        pointer-events: none !important;
    }

    /* Sheet: plain white, no weird inherited bg */
    body #tteMobileFilterSheet,
    body #tteMobileSortSheet,
    body #tteMobileCategorySheet,
    body .tte-mobile-sheet {
        background: #fff !important;
        background-color: #fff !important;
        background-image: none !important;
        border: 1px solid rgba(219, 229, 239, .95) !important;
        border-bottom: 0 !important;
        color: #071116 !important;
    }

    body #tteMobileFilterSheet *,
    body #tteMobileSortSheet *,
    body #tteMobileCategorySheet *,
    body .tte-mobile-sheet * {
        box-sizing: border-box !important;
    }

    body #tteMobileFilterSheet::before,
    body #tteMobileFilterSheet::after,
    body #tteMobileSortSheet::before,
    body #tteMobileSortSheet::after,
    body #tteMobileCategorySheet::before,
    body #tteMobileCategorySheet::after,
    body .tte-mobile-sheet::before,
    body .tte-mobile-sheet::after {
        background-image: none !important;
    }

    /* Header: calmer spacing */
    body #tteMobileFilterSheet .tte-mobile-sheet-head,
    body #tteMobileFilterSheet .tte-mobile-sheet-header,
    body .tte-mobile-sheet .tte-mobile-sheet-head,
    body .tte-mobile-sheet .tte-mobile-sheet-header {
        min-height: 70px !important;
        height: 70px !important;
        padding: 16px 14px 10px !important;
        background: rgba(255,255,255,.98) !important;
        background-image: none !important;
        border-bottom: 1px solid #edf2f7 !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-head::before,
    body #tteMobileFilterSheet .tte-mobile-sheet-header::before,
    body .tte-mobile-sheet .tte-mobile-sheet-head::before,
    body .tte-mobile-sheet .tte-mobile-sheet-header::before {
        top: 8px !important;
        width: 44px !important;
        height: 4px !important;
        background: #d8dee8 !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-head h3,
    body #tteMobileFilterSheet .tte-mobile-sheet-header h3,
    body .tte-mobile-sheet .tte-mobile-sheet-head h3,
    body .tte-mobile-sheet .tte-mobile-sheet-header h3 {
        font-size: 18px !important;
        line-height: 1.12 !important;
        letter-spacing: -.02em !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-head small,
    body #tteMobileFilterSheet .tte-mobile-sheet-header small,
    body .tte-mobile-sheet .tte-mobile-sheet-head small,
    body .tte-mobile-sheet .tte-mobile-sheet-header small {
        color: #64748b !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        margin-top: 4px !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-body,
    body #tteMobileFilterSheet .tte-sheet-body,
    body #tteMobileFilterSheet form,
    body .tte-mobile-sheet .tte-mobile-sheet-body,
    body .tte-mobile-sheet .tte-sheet-body {
        background: #fff !important;
        background-image: none !important;
        padding: 16px 14px 104px !important;
    }

    body #tteMobileFilterSheet .tte-filter-chain,
    body .tte-mobile-sheet .tte-filter-chain {
        background: #fff !important;
        border-top: 1px solid #edf2f7 !important;
        padding-top: 16px !important;
        margin-top: 16px !important;
    }

    body #tteMobileFilterSheet .tte-filter-chain:first-child,
    body .tte-mobile-sheet .tte-filter-chain:first-child {
        border-top: 0 !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    body #tteMobileFilterSheet .tte-filter-chip,
    body .tte-mobile-sheet .tte-filter-chip {
        background: #f3f6fb !important;
        border: 1px solid #edf2f7 !important;
        box-shadow: none !important;
    }

    body #tteMobileFilterSheet .tte-filter-chip.is-active,
    body .tte-mobile-sheet .tte-filter-chip.is-active {
        background: #e8fffc !important;
        border-color: #7ee7df !important;
        color: #007f7a !important;
    }
}



/* V55.4 — Clean white search bar, remove gray double background */
.tte-site-header .tte-header-search,
.tte-header-search,
.tte-smart-search,
.tte-search-form,
.tte-search-shell,
.tte-search-wrap,
.tte-header-search-wrap {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

.tte-site-header .tte-header-search form,
.tte-header-search form,
.tte-smart-search form,
.tte-search-form form,
.tte-search-shell form,
.tte-search-wrap form,
.tte-header-search-wrap form {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #dbe5ef !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .06) !important;
    overflow: hidden !important;
}

.tte-site-header .tte-header-search input[type="search"],
.tte-header-search input[type="search"],
.tte-smart-search input[type="search"],
.tte-search-form input[type="search"],
.tte-site-header .tte-header-search input[type="text"],
.tte-header-search input[type="text"],
.tte-smart-search input[type="text"],
.tte-search-form input[type="text"] {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
}

.tte-site-header .tte-header-search::before,
.tte-site-header .tte-header-search::after,
.tte-header-search::before,
.tte-header-search::after,
.tte-smart-search::before,
.tte-smart-search::after,
.tte-search-form::before,
.tte-search-form::after,
.tte-search-shell::before,
.tte-search-shell::after,
.tte-search-wrap::before,
.tte-search-wrap::after,
.tte-header-search-wrap::before,
.tte-header-search-wrap::after {
    display: none !important;
    content: none !important;
    background: none !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .tte-site-header .tte-header-search,
    .tte-header-search,
    .tte-smart-search,
    .tte-search-form,
    .tte-search-shell,
    .tte-search-wrap,
    .tte-header-search-wrap {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .tte-site-header .tte-header-search form,
    .tte-header-search form,
    .tte-smart-search form,
    .tte-search-form form,
    .tte-search-shell form,
    .tte-search-wrap form,
    .tte-header-search-wrap form {
        background: #fff !important;
        box-shadow: 0 6px 18px rgba(15, 23, 42, .055) !important;
    }
}

/* V55.6 Search pagination / result stability */
.tte-search-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:8px;
    margin:28px 0 4px;
}
.tte-search-pagination .tte-page-link,
.tte-search-pagination .tte-page-dots{
    min-width:38px;
    height:38px;
    padding:0 12px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    border:1px solid rgba(15,23,42,.12);
    background:#fff;
    color:#0f172a;
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}
.tte-search-pagination .tte-page-link:hover{
    transform:translateY(-1px);
    box-shadow:0 12px 28px rgba(15,23,42,.10);
}
.tte-search-pagination .tte-page-link.is-active{
    background:#0f172a;
    border-color:#0f172a;
    color:#fff;
}
.tte-search-pagination .is-prev,
.tte-search-pagination .is-next{
    min-width:92px;
}
.tte-search-pagination .tte-page-dots{
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    min-width:20px;
}

/* V55.1 — Klook-style date range picker for /tour/search/ */
.tte-klook-date-field {
    position: relative;
    min-width: 260px;
}

.tte-klook-date-trigger {
    width: 100%;
    height: 56px;
    padding: 0 18px;
    border: 1px solid #dbe5f2;
    border-radius: 14px;
    background: #ffffff;
    color: #0f172a;
    font-weight: 800;
    font-size: 15px;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.tte-klook-date-trigger:hover,
.tte-klook-date-field.is-open .tte-klook-date-trigger {
    border-color: #ff5b00;
    box-shadow: 0 12px 30px rgba(255, 91, 0, .14);
}

.tte-klook-date-dot {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #ff5b00;
    margin-left: auto;
    margin-right: 6px;
    flex: 0 0 auto;
}

.tte-klook-date-arrow {
    color: #111827;
    font-size: 12px;
    line-height: 1;
    flex: 0 0 auto;
}

.tte-klook-calendar-popover {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 999;
    width: 850px;
    max-width: calc(100vw - 32px);
}

.tte-klook-calendar-popover.is-open {
    display: block;
}

.tte-klook-calendar-panel {
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .16);
    padding: 24px 28px 88px;
    position: relative;
    border: 1px solid rgba(226, 232, 240, .9);
}

.tte-klook-calendar-selected {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.tte-klook-calendar-selected > div {
    padding: 12px 14px;
    border-radius: 16px;
    background: #fff7ed;
    border: 1px solid #fed7aa;
}

.tte-klook-calendar-selected span {
    display: block;
    color: #9a3412;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 4px;
}

.tte-klook-calendar-selected strong {
    display: block;
    color: #111827;
    font-size: 15px;
    font-weight: 900;
}

.tte-klook-nav {
    position: absolute;
    left: 28px;
    right: 28px;
    top: 116px;
    display: flex;
    justify-content: space-between;
    pointer-events: none;
}

.tte-klook-nav-btn {
    pointer-events: auto;
    width: 38px;
    height: 38px;
    border: 0;
    background: transparent;
    border-radius: 999px;
    color: #111827;
    font-size: 42px;
    line-height: 30px;
    cursor: pointer;
}

.tte-klook-nav-btn:hover {
    background: #f3f4f6;
}

.tte-klook-months {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 58px;
}

.tte-klook-month-title {
    text-align: center;
    font-size: 20px;
    font-weight: 900;
    color: #27272a;
    margin-bottom: 28px;
}

.tte-klook-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 18px;
    column-gap: 0;
}

.tte-klook-dow {
    text-align: center;
    font-size: 16px;
    font-weight: 800;
    color: #27272a;
    padding-bottom: 8px;
}

.tte-klook-empty {
    height: 42px;
}

.tte-klook-day {
    height: 42px;
    border: 0;
    background: transparent;
    color: #27272a;
    font-size: 19px;
    font-weight: 800;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

.tte-klook-day:hover {
    color: #ff5b00;
}

.tte-klook-day.is-range {
    background: #fff0e8;
    border-radius: 0;
}

.tte-klook-day.is-start,
.tte-klook-day.is-end {
    background: #ff5b00;
    color: #ffffff;
    border-radius: 999px;
}

.tte-klook-day.is-start.is-end {
    border-radius: 999px;
}

.tte-klook-calendar-footer {
    position: absolute;
    right: 28px;
    bottom: 24px;
    display: flex;
    align-items: center;
    gap: 28px;
}

.tte-klook-clear {
    border: 0;
    background: transparent;
    color: #222;
    font-size: 16px;
    text-decoration: underline;
    font-weight: 700;
    cursor: pointer;
}

.tte-klook-apply {
    min-width: 92px;
    min-height: 48px;
    border: 0;
    border-radius: 10px;
    background: #ff5b00;
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.tte-klook-apply:hover {
    background: #e95000;
}

@media (max-width: 980px) {
    .tte-klook-calendar-popover {
        position: fixed;
        left: 12px;
        right: 12px;
        top: auto;
        bottom: 12px;
        width: auto;
        max-height: calc(100vh - 24px);
        overflow: auto;
    }

    .tte-klook-calendar-panel {
        padding: 22px 18px 86px;
    }

    .tte-klook-calendar-selected,
    .tte-klook-months {
        grid-template-columns: 1fr;
    }

    .tte-klook-months {
        gap: 30px;
    }

    .tte-klook-nav {
        top: 112px;
        left: 18px;
        right: 18px;
    }
}

/* V54.0 Search page redesign: chained chips + active filters */
.tte-search-chain-panel {
    background: #ffffff;
    border-bottom: 1px solid #e6edf6;
    padding: 14px 0 18px;
}

.tte-search-chain-panel .tte-container {
    display: grid;
    gap: 10px;
}

.tte-chain-row {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.tte-chain-label {
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.tte-chain-scroll {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 2px 2px 4px;
    scrollbar-width: thin;
}

.tte-chain-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    transition: all .16s ease;
}

.tte-chain-chip:hover,
.tte-chain-chip.is-active {
    border-color: #0f766e;
    background: #ecfdf5;
    color: #0f766e;
    box-shadow: 0 10px 24px rgba(15, 118, 110, .10);
}

.tte-search-chain-title {
    align-items: flex-start;
}

.tte-search-chain-title strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #eef6ff;
    color: #0f4aa8;
    font-size: 14px;
    font-weight: 900;
    white-space: nowrap;
}

.tte-active-filter-bar {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: -8px 0 18px;
    padding: 12px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    background: #ffffff;
}

.tte-active-filter-bar > span {
    flex: 0 0 auto;
    padding-top: 7px;
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
}

.tte-active-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.tte-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.tte-active-chip b {
    color: #ef4444;
    font-size: 15px;
    line-height: 1;
}

.tte-active-chip:hover {
    background: #fee2e2;
    color: #991b1b;
}

.tte-clear-all-chip {
    margin-left: auto;
    flex: 0 0 auto;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    border-radius: 999px;
    background: #0f172a;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 991px) {
    .tte-chain-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .tte-chain-label {
        padding-left: 2px;
    }

    .tte-active-filter-bar {
        flex-direction: column;
    }

    .tte-clear-all-chip {
        margin-left: 0;
    }
}

/* V56.18.5 Unified search page: Klook-style date range + chained chips layout fixes */
.tte-search-v536 .tte-search-final-bar.tte-search-klook-bar {
    grid-template-columns: minmax(320px, 1fr) minmax(300px, .9fr) 92px !important;
    align-items: end !important;
}

.tte-search-v536 .tte-search-klook-bar .tte-klook-date-field {
    min-width: 0 !important;
}

.tte-search-v536 .tte-search-klook-bar .tte-klook-date-trigger {
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 10px !important;
    border-color: #d8e2ee !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.tte-search-v536 .tte-search-klook-bar .tte-klook-date-field.is-open .tte-klook-date-trigger,
.tte-search-v536 .tte-search-klook-bar .tte-klook-date-trigger:hover {
    border-color: #ff5b00 !important;
    box-shadow: 0 12px 30px rgba(255,91,0,.14) !important;
}

.tte-search-v536 .tte-search-klook-bar .tte-klook-calendar-popover {
    z-index: 100001 !important;
}

.tte-search-v536 .tte-search-klook-bar .tte-search-final-submit {
    width: 92px !important;
}

.tte-search-v536 .tte-search-klook-bar .tte-search-final-submit::before {
    margin-right: 0 !important;
}

.tte-search-v536 .tte-search-chain-panel {
    position: relative;
    z-index: 2;
}

.tte-search-v536 .tte-chain-scroll {
    scroll-padding-left: 2px;
}

.tte-search-v536 .tte-active-filter-bar {
    margin: 0 0 18px !important;
}

.tte-search-v536 .tte-results-count {
    text-align: right;
    line-height: 1.35;
}

@media (max-width: 1180px) {
    .tte-search-v536 .tte-search-final-bar.tte-search-klook-bar {
        grid-template-columns: minmax(240px, 1fr) minmax(260px, .9fr) 80px !important;
    }
}

@media (max-width: 860px) {
    .tte-search-v536 .tte-search-final-bar.tte-search-klook-bar {
        grid-template-columns: 1fr !important;
    }

    .tte-search-v536 .tte-search-klook-bar .tte-search-final-submit {
        width: 100% !important;
    }

    .tte-search-v536 .tte-search-klook-bar .tte-search-final-submit::before {
        content: '' !important;
        font-size: 0 !important;
    }

    .tte-search-v536 .tte-search-klook-bar .tte-klook-calendar-popover {
        left: 8px !important;
        right: 8px !important;
        width: auto !important;
        max-width: calc(100vw - 16px) !important;
    }

    .tte-search-v536 .tte-results-count {
        text-align: left;
    }
}


/* TTE Load More for tour landing pages */
.tte-loadmore-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin:28px auto 6px;
  text-align:center;
}
.tte-loadmore-wrap.is-hidden{
  display:none !important;
}
.tte-loadmore-button{
  appearance:none;
  border:1px solid rgba(15,23,42,.12);
  border-radius:999px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  color:#0f172a;
  min-width:220px;
  min-height:48px;
  padding:12px 24px;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 14px 35px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.92);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.tte-loadmore-button:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 42px rgba(15,23,42,.14), inset 0 1px 0 rgba(255,255,255,.95);
}
.tte-loadmore-button:disabled,
.tte-loadmore-button.is-loading{
  cursor:wait;
  opacity:.72;
  transform:none;
}
.tte-loadmore-count{
  color:#64748b;
  font-size:13px;
  font-weight:600;
}
.tte-loadmore-count span{
  color:#0f172a;
  font-weight:900;
}


/* V55.7 — Mobile single tour image visibility fix
   Fix: older mobile hero cleanup used `section[class*="hero"] .tte-cover { display:none }`,
   which also matched `.tte-detail-hero` and hid the product cover image on phones. */
.tte-tour-detail-page .tte-detail-hero .tte-cover,
.tte-single-tour-page .tte-detail-hero .tte-cover,
body .tte-detail-hero .tte-cover {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
}

.tte-tour-detail-page .tte-detail-hero .tte-cover img,
.tte-single-tour-page .tte-detail-hero .tte-cover img,
body .tte-detail-hero .tte-cover img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

@media (max-width: 760px) {
    .tte-detail-hero,
    body .tte-detail-hero,
    body section.tte-detail-hero {
        background: #fff !important;
        padding: 14px 0 22px !important;
        overflow: visible !important;
    }

    .tte-detail-hero .tte-container,
    .tte-detail-hero .tte-detail-grid,
    body .tte-detail-hero .tte-container,
    body .tte-detail-hero .tte-detail-grid {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .tte-tour-detail-page .tte-detail-hero .tte-cover,
    .tte-single-tour-page .tte-detail-hero .tte-cover,
    body .tte-detail-hero .tte-cover,
    body section.tte-detail-hero .tte-cover,
    body [class*="hero"].tte-detail-hero .tte-cover {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        margin: 0 0 18px !important;
        border-radius: 22px !important;
        background: #eef2f7 !important;
        box-sizing: border-box !important;
    }

    .tte-tour-detail-page .tte-detail-hero .tte-cover img,
    .tte-single-tour-page .tte-detail-hero .tte-cover img,
    body .tte-detail-hero .tte-cover img,
    body section.tte-detail-hero .tte-cover img,
    body [class*="hero"].tte-detail-hero .tte-cover img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        aspect-ratio: 16 / 10 !important;
        object-fit: cover !important;
        border-radius: 22px !important;
    }

    .tte-tour-detail-page .tte-card-section img,
    .tte-single-tour-page .tte-card-section img,
    body .tte-tour-detail-page .tte-card-section img {
        display: block !important;
        max-width: 100% !important;
        height: auto !important;
    }
}

/* V55.8 — Mobile menu sheet available on every plugin page, including product detail */
.tte-global-mobile-category-sheet {
    display: block !important;
    z-index: 100000 !important;
}

.tte-global-mobile-category-sheet:not(.is-open) {
    pointer-events: none !important;
}

.tte-global-mobile-category-sheet.is-open {
    pointer-events: auto !important;
}

html.tte-sheet-lock,
body.tte-sheet-lock-body {
    overflow: hidden !important;
    touch-action: none;
}

@media (min-width: 981px) {
    .tte-global-mobile-category-sheet {
        display: none !important;
    }
}


/* V55.9 — Isolated global mobile hamburger menu. Do not reuse .tte-mobile-sheet here. */
@media (max-width: 980px) {
    .tte-mobile-menu-toggle,
    .tte-mobile-cat-open,
    [data-tte-mobile-menu-open] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 2147483000 !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    #tteGlobalMobileMenu.tte-mobile-global-menu {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        min-height: 100vh !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 2147483100 !important;
        background: transparent !important;
        color: #071116 !important;
    }

    #tteGlobalMobileMenu.tte-mobile-global-menu.is-open,
    #tteGlobalMobileMenu.tte-mobile-global-menu[aria-hidden="false"] {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-backdrop {
        position: absolute !important;
        z-index: 1 !important;
        inset: 0 !important;
        display: block !important;
        background: rgba(7, 17, 22, .52) !important;
        backdrop-filter: blur(3px) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-panel {
        position: fixed !important;
        z-index: 2 !important;
        left: 50% !important;
        right: auto !important;
        bottom: 0 !important;
        width: min(100vw, 460px) !important;
        max-width: 100vw !important;
        height: min(88dvh, 760px) !important;
        max-height: 88vh !important;
        transform: translateX(-50%) translateY(105%) !important;
        transition: transform .24s cubic-bezier(.2,.8,.2,1) !important;
        background: #fff !important;
        border-radius: 26px 26px 0 0 !important;
        box-shadow: 0 -24px 70px rgba(7,17,22,.28) !important;
        overflow: hidden !important;
        pointer-events: auto !important;
        display: flex !important;
        flex-direction: column !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-bottom: 0 !important;
    }

    #tteGlobalMobileMenu.is-open .tte-mobile-global-menu-panel,
    #tteGlobalMobileMenu[aria-hidden="false"] .tte-mobile-global-menu-panel {
        transform: translateX(-50%) translateY(0) !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-handle {
        width: 42px !important;
        height: 5px !important;
        border-radius: 999px !important;
        background: #d9e2ea !important;
        margin: 9px auto 7px !important;
        flex: 0 0 auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 44px !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 16px 14px !important;
        border-bottom: 1px solid #edf2f7 !important;
        background: rgba(255,255,255,.98) !important;
        flex: 0 0 auto !important;
        pointer-events: auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-head strong {
        display: block !important;
        font-size: 18px !important;
        font-weight: 900 !important;
        letter-spacing: -.02em !important;
        color: #071116 !important;
        line-height: 1.2 !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-head small {
        display: block !important;
        margin-top: 3px !important;
        font-size: 12px !important;
        color: #64748b !important;
        line-height: 1.35 !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-close {
        width: 42px !important;
        height: 42px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #f1f5f9 !important;
        color: #071116 !important;
        font-size: 28px !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-body {
        padding: 16px !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        flex: 1 1 auto !important;
        background: #f8fafc !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-section {
        background: #fff !important;
        border: 1px solid #e5edf5 !important;
        border-radius: 22px !important;
        padding: 14px !important;
        margin: 0 0 14px !important;
        box-shadow: 0 10px 28px rgba(15,23,42,.05) !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-title {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin: 0 0 12px !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-title h4 {
        margin: 0 !important;
        font-size: 15px !important;
        font-weight: 900 !important;
        color: #071116 !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-title a {
        font-size: 12px !important;
        color: #0abab5 !important;
        text-decoration: none !important;
        font-weight: 800 !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-grid a {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 48px !important;
        padding: 10px 11px !important;
        border: 1px solid #e8eef5 !important;
        border-radius: 16px !important;
        background: #fff !important;
        color: #071116 !important;
        text-decoration: none !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        box-shadow: none !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-grid a span {
        font-size: 22px !important;
        line-height: 1 !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-grid a strong {
        font-size: 14px !important;
        line-height: 1.25 !important;
        color: #071116 !important;
    }

    html.tte-mobile-global-menu-lock,
    body.tte-mobile-global-menu-lock {
        overflow: hidden !important;
        touch-action: none !important;
    }
}

@media (min-width: 981px) {
    #tteGlobalMobileMenu.tte-mobile-global-menu {
        display: none !important;
    }
}


/* V56.0 — Mobile menu emergency hardening: keep global menu outside header and force panel above overlay. */
@media (max-width: 980px) {
    body > #tteGlobalMobileMenu.tte-mobile-global-menu,
    #tteGlobalMobileMenu.tte-mobile-global-menu {
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483640 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        background: transparent !important;
    }

    body > #tteGlobalMobileMenu.tte-mobile-global-menu.is-open,
    body > #tteGlobalMobileMenu.tte-mobile-global-menu[aria-hidden="false"],
    #tteGlobalMobileMenu.tte-mobile-global-menu.is-open,
    #tteGlobalMobileMenu.tte-mobile-global-menu[aria-hidden="false"] {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-backdrop {
        position: fixed !important;
        inset: 0 !important;
        z-index: 1 !important;
        display: block !important;
        background: rgba(7, 17, 22, .54) !important;
        pointer-events: auto !important;
    }

    #tteGlobalMobileMenu .tte-mobile-global-menu-panel {
        position: fixed !important;
        z-index: 2 !important;
        left: 50% !important;
        right: auto !important;
        bottom: 0 !important;
        top: auto !important;
        width: min(100vw, 460px) !important;
        max-width: 100vw !important;
        height: min(88dvh, 760px) !important;
        max-height: 88vh !important;
        transform: translate3d(-50%, 110%, 0) !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        pointer-events: auto !important;
        background: #fff !important;
        border-radius: 26px 26px 0 0 !important;
        box-shadow: 0 -24px 70px rgba(7,17,22,.30) !important;
        overflow: hidden !important;
    }

    #tteGlobalMobileMenu.is-open .tte-mobile-global-menu-panel,
    #tteGlobalMobileMenu[aria-hidden="false"] .tte-mobile-global-menu-panel {
        transform: translate3d(-50%, 0, 0) !important;
    }

    html.tte-mobile-global-menu-lock,
    body.tte-mobile-global-menu-lock,
    html.tte-sheet-lock,
    body.tte-sheet-lock-body {
        overflow: hidden !important;
    }
}


/* V56.1 — Fix /tour mobile home product carousel: home-tour-card uses .tte-home-product-card, not .tte-trip-tour-card. */
@media (max-width: 680px) {
    body.tte-plugin-page .tte-home-page .tte-fire-sale-grid,
    body.tte-plugin-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid),
    body.tte-plugin-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) {
        display: flex !important;
        grid-template-columns: none !important;
        grid-auto-columns: unset !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 14px !important;
        width: auto !important;
        max-width: none !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 18px 18px !important;
        margin-left: -18px !important;
        margin-right: -18px !important;
        scroll-snap-type: x mandatory !important;
        scroll-padding-left: 18px !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    body.tte-plugin-page .tte-home-page .tte-fire-sale-grid::-webkit-scrollbar,
    body.tte-plugin-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid)::-webkit-scrollbar {
        display: none !important;
    }

    body.tte-plugin-page .tte-home-page .tte-fire-sale-grid > .tte-home-product-card,
    body.tte-plugin-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card,
    body.tte-plugin-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card {
        flex: 0 0 72vw !important;
        width: 72vw !important;
        min-width: 72vw !important;
        max-width: 72vw !important;
        min-height: 0 !important;
        scroll-snap-align: start !important;
        scroll-snap-stop: always !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        border-radius: 18px !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-image {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: 3 / 2 !important;
        display: block !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-image img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        display: block !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-body {
        min-width: 0 !important;
        padding: 14px 14px 16px !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-title {
        font-size: 17px !important;
        line-height: 1.35 !important;
        min-height: 46px !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-meta {
        min-height: 58px !important;
        font-size: 12.5px !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-price strong {
        font-size: 21px !important;
    }
}

@media (max-width: 390px) {
    body.tte-plugin-page .tte-home-page .tte-fire-sale-grid > .tte-home-product-card,
    body.tte-plugin-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card,
    body.tte-plugin-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card {
        flex-basis: 76vw !important;
        width: 76vw !important;
        min-width: 76vw !important;
        max-width: 76vw !important;
    }
}


/* V56.5 — Tablet landing/listing layout fix (iPad portrait 641–820px)
   Root cause: the earlier max-width:1100 rule kept .tte-trip-listing .tte-listing-layout
   at 280px + 1fr with !important. When the sidebar is hidden at tablet width,
   the result column stayed in the 280px track, making cards look squeezed. */
@media (min-width: 641px) and (max-width: 820px) {
    body .tte-tour-page.tte-listing-page,
    body .tte-trip-listing {
        overflow-x: hidden !important;
        background: #f4f7fb !important;
    }

    body .tte-trip-listing .tte-listing-section {
        padding: 20px 0 72px !important;
        background: #f4f7fb !important;
    }

    body .tte-trip-listing .tte-container,
    body .tte-tour-page.tte-listing-page .tte-container,
    body .tte-listing-page .tte-container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    body .tte-trip-listing .tte-listing-layout,
    body .tte-tour-page.tte-listing-page .tte-listing-layout,
    body .tte-listing-page .tte-listing-layout {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 18px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body .tte-trip-listing .tte-listing-sidebar,
    body .tte-tour-page.tte-listing-page .tte-listing-sidebar,
    body .tte-listing-page .tte-listing-sidebar,
    body .tte-trip-listing .tte-filter-sidebar {
        display: none !important;
    }

    body .tte-trip-listing .tte-listing-results,
    body .tte-tour-page.tte-listing-page .tte-listing-results,
    body .tte-listing-page .tte-listing-results {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .tte-trip-listing #tteListingResults,
    body .tte-tour-page.tte-listing-page #tteListingResults,
    body .tte-listing-page #tteListingResults {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body .tte-trip-listing .tte-list-product-card,
    body .tte-tour-page.tte-listing-page .tte-list-product-card,
    body .tte-listing-page .tte-list-product-card {
        display: grid !important;
        grid-template-columns: 260px minmax(0, 1fr) !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 260px !important;
        margin: 0 !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        align-items: stretch !important;
    }

    body .tte-trip-listing .tte-list-product-image,
    body .tte-tour-page.tte-listing-page .tte-list-product-image,
    body .tte-listing-page .tte-list-product-image,
    body .tte-trip-listing .tte-list-product-image img,
    body .tte-tour-page.tte-listing-page .tte-list-product-image img,
    body .tte-listing-page .tte-list-product-image img,
    body .tte-trip-listing .tte-list-product-placeholder,
    body .tte-tour-page.tte-listing-page .tte-list-product-placeholder,
    body .tte-listing-page .tte-list-product-placeholder {
        width: 260px !important;
        min-width: 260px !important;
        max-width: 260px !important;
        height: 260px !important;
        min-height: 260px !important;
        max-height: 260px !important;
        aspect-ratio: 1 / 1 !important;
        object-fit: cover !important;
        object-position: center center !important;
    }

    body .tte-trip-listing .tte-list-product-info,
    body .tte-tour-page.tte-listing-page .tte-list-product-info,
    body .tte-listing-page .tte-list-product-info {
        min-height: 260px !important;
        min-width: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 16px 18px !important;
        gap: 8px !important;
    }

    body .tte-trip-listing .tte-list-product-title,
    body .tte-tour-page.tte-listing-page .tte-list-product-title,
    body .tte-listing-page .tte-list-product-title {
        font-size: 21px !important;
        line-height: 1.28 !important;
        margin-bottom: 6px !important;
    }

    body .tte-trip-listing .tte-list-desc,
    body .tte-tour-page.tte-listing-page .tte-list-desc,
    body .tte-listing-page .tte-list-desc {
        font-size: 13.5px !important;
        line-height: 1.55 !important;
        margin: 4px 0 !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }

    body .tte-trip-listing .tte-list-period-row,
    body .tte-tour-page.tte-listing-page .tte-list-period-row,
    body .tte-listing-page .tte-list-period-row {
        grid-template-columns: minmax(0, 1fr) 72px 102px !important;
        gap: 8px !important;
        min-height: 34px !important;
        padding: 5px 0 !important;
    }

    body .tte-trip-listing .tte-list-period-date,
    body .tte-tour-page.tte-listing-page .tte-list-period-date,
    body .tte-listing-page .tte-list-period-date {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 12px !important;
    }

    body .tte-trip-listing .tte-list-seat-btn,
    body .tte-tour-page.tte-listing-page .tte-list-seat-btn,
    body .tte-listing-page .tte-list-seat-btn {
        min-height: 28px !important;
        height: 28px !important;
        max-width: 102px !important;
        padding: 0 8px !important;
        font-size: 10.5px !important;
        white-space: nowrap !important;
    }

    body .tte-trip-listing .tte-list-product-footer,
    body .tte-tour-page.tte-listing-page .tte-list-product-footer,
    body .tte-listing-page .tte-list-product-footer {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    body .tte-trip-listing .tte-list-detail-btn,
    body .tte-tour-page.tte-listing-page .tte-list-detail-btn,
    body .tte-listing-page .tte-list-detail-btn {
        width: auto !important;
        min-width: 132px !important;
        min-height: 38px !important;
    }
}

/* V56.6 — iPad mini / tablet landing controls fix (641–820px)
   - Sidebar is hidden at this size, so the mobile filter/sort bar must be visible.
   - Header actions were still using the old tablet mix, making the menu button feel lost/sunken. */
@media (min-width: 641px) and (max-width: 820px) {
    html,
    body {
        overflow-x: hidden !important;
    }

    body.tte-plugin-page-hard,
    body.tte-standalone-page,
    body .tte-tour-page.tte-listing-page,
    body .tte-trip-listing {
        background: #f4f7fb !important;
    }

    /* Tablet header: keep search visible and make the menu button obvious. */
    body .tte-site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 99980 !important;
        background: rgba(255,255,255,.94) !important;
        backdrop-filter: saturate(180%) blur(16px) !important;
        border-bottom: 1px solid rgba(226,232,240,.92) !important;
        overflow: visible !important;
    }

    body.admin-bar .tte-site-header {
        top: 32px !important;
    }

    body .tte-header-top {
        height: auto !important;
        min-height: 64px !important;
        padding: 9px 0 !important;
        display: block !important;
    }

    body .tte-header-row {
        width: calc(100% - 32px) !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: grid !important;
        grid-template-columns: auto minmax(240px, 1fr) auto !important;
        gap: 12px !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    body .tte-brand {
        grid-column: 1 / 2 !important;
        min-width: 0 !important;
        width: auto !important;
        gap: 8px !important;
        overflow: hidden !important;
    }

    body .tte-brand-mark {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        border-radius: 12px !important;
        font-size: 15px !important;
    }

    body .tte-brand-text strong {
        font-size: 18px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body .tte-brand-text small {
        font-size: 9px !important;
        white-space: nowrap !important;
    }

    body .tte-header-search,
    body .tte-site-header .tte-header-search {
        grid-column: 2 / 3 !important;
        grid-row: 1 !important;
        order: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        flex-basis: auto !important;
        margin: 0 !important;
        height: 42px !important;
        padding: 0 5px 0 14px !important;
        border-radius: 999px !important;
        background: #f3f7fb !important;
        border: 1px solid #e5edf5 !important;
    }

    body .tte-header-search input,
    body .tte-site-header .tte-header-search input[type="search"] {
        min-height: 40px !important;
        font-size: 14px !important;
        color: #071116 !important;
    }

    body .tte-header-search button,
    body .tte-site-header .tte-smart-search-submit {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        font-size: 0 !important;
        border-radius: 999px !important;
        background: #071116 !important;
        color: #fff !important;
    }

    body .tte-header-search button::before,
    body .tte-site-header .tte-smart-search-submit::before {
        font-size: 16px !important;
    }

    body .tte-header-actions {
        grid-column: 3 / 4 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    body .tte-header-actions .tte-help-menu,
    body .tte-header-actions .tte-help-trigger,
    body .tte-header-actions .tte-help-dropdown,
    body .tte-header-actions .tte-line-mini,
    body .tte-header-actions .tte-mobile-icon-btn {
        display: none !important;
    }

    body .tte-mobile-menu-toggle,
    body .tte-mobile-cat-open {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        width: auto !important;
        min-width: 76px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 14px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #071116 !important;
        color: transparent !important;
        box-shadow: 0 10px 26px rgba(7,17,22,.18) !important;
        font-size: 0 !important;
        line-height: 1 !important;
        z-index: 2147483000 !important;
        pointer-events: auto !important;
        position: relative !important;
    }

    body .tte-mobile-menu-toggle::before,
    body .tte-mobile-cat-open::before {
        content: "เมนู" !important;
        color: #fff !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
    }

    body .tte-mobile-menu-toggle::after,
    body .tte-mobile-cat-open::after {
        content: "☰" !important;
        color: #fff !important;
        font-size: 17px !important;
        font-weight: 900 !important;
        line-height: 1 !important;
        transform: translateY(-1px) !important;
    }

    body .tte-mega-nav {
        display: none !important;
    }

    /* The sidebar is hidden on tablet, so expose filter/sort as a floating control. */
    body .tte-mobile-filter-bar:not(.tte-mobile-sheet):not(#tteMobileFilterSheet),
    html.tte-has-mobile-filter-bar body .tte-mobile-filter-bar:not(.tte-mobile-sheet):not(#tteMobileFilterSheet) {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: calc(18px + env(safe-area-inset-bottom)) !important;
        transform: translateX(-50%) !important;
        width: min(480px, calc(100vw - 40px)) !important;
        max-width: calc(100vw - 40px) !important;
        min-width: 360px !important;
        height: 56px !important;
        min-height: 56px !important;
        padding: 5px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 5px !important;
        border-radius: 999px !important;
        background: #071116 !important;
        border: 1px solid rgba(255,255,255,.16) !important;
        box-shadow: 0 20px 46px rgba(7,17,22,.24) !important;
        overflow: hidden !important;
        z-index: 99990 !important;
        box-sizing: border-box !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body .tte-mobile-filter-bar button {
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: #fff !important;
        height: 46px !important;
        min-height: 46px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 0 12px !important;
        margin: 0 !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 900 !important;
        white-space: nowrap !important;
        box-shadow: none !important;
        cursor: pointer !important;
        pointer-events: auto !important;
        touch-action: manipulation !important;
    }

    body .tte-mobile-filter-bar button:first-child {
        background: #fff !important;
        color: #071116 !important;
    }

    body .tte-mobile-filter-bar strong {
        display: inline-flex !important;
        width: 22px !important;
        height: 22px !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 999px !important;
        background: #0ABAB5 !important;
        color: #071116 !important;
        font-size: 12px !important;
        font-weight: 900 !important;
    }

    body .tte-trip-listing .tte-listing-section,
    body .tte-tour-page.tte-listing-page .tte-listing-section,
    body .tte-listing-page .tte-listing-section {
        padding-bottom: 108px !important;
    }

    /* Tablet bottom sheets: force stable iPad mini behavior when filter/sort opens. */
    body #tteMobileFilterSheet,
    body #tteMobileSortSheet,
    body .tte-filter-sheet,
    body .tte-sort-sheet {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        height: 100dvh !important;
        z-index: 2147482000 !important;
        display: none !important;
        pointer-events: none !important;
        background: transparent !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body #tteMobileFilterSheet.is-open,
    body #tteMobileFilterSheet[aria-hidden="false"],
    body #tteMobileSortSheet.is-open,
    body #tteMobileSortSheet[aria-hidden="false"],
    body .tte-filter-sheet.is-open,
    body .tte-sort-sheet.is-open {
        display: block !important;
        pointer-events: auto !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-backdrop,
    body #tteMobileSortSheet .tte-mobile-sheet-backdrop,
    body .tte-filter-sheet .tte-mobile-sheet-backdrop,
    body .tte-sort-sheet .tte-mobile-sheet-backdrop {
        position: fixed !important;
        inset: 0 !important;
        display: block !important;
        background: rgba(7,17,22,.50) !important;
        opacity: 0 !important;
        transition: opacity .18s ease !important;
        pointer-events: auto !important;
    }

    body #tteMobileFilterSheet.is-open .tte-mobile-sheet-backdrop,
    body #tteMobileFilterSheet[aria-hidden="false"] .tte-mobile-sheet-backdrop,
    body #tteMobileSortSheet.is-open .tte-mobile-sheet-backdrop,
    body #tteMobileSortSheet[aria-hidden="false"] .tte-mobile-sheet-backdrop,
    body .tte-filter-sheet.is-open .tte-mobile-sheet-backdrop,
    body .tte-sort-sheet.is-open .tte-mobile-sheet-backdrop {
        opacity: 1 !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-panel,
    body #tteMobileSortSheet .tte-mobile-sheet-panel,
    body .tte-filter-sheet .tte-mobile-sheet-panel,
    body .tte-sort-sheet .tte-mobile-sheet-panel {
        position: fixed !important;
        left: 50% !important;
        right: auto !important;
        bottom: 0 !important;
        top: auto !important;
        width: min(620px, 100vw) !important;
        max-width: 100vw !important;
        height: min(82dvh, 760px) !important;
        max-height: 82vh !important;
        transform: translate3d(-50%, 110%, 0) !important;
        transition: transform .22s cubic-bezier(.2,.8,.2,1) !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        padding: 0 !important;
        border-radius: 26px 26px 0 0 !important;
        background: #fff !important;
        box-shadow: 0 -24px 70px rgba(7,17,22,.28) !important;
    }

    body #tteMobileFilterSheet.is-open .tte-mobile-sheet-panel,
    body #tteMobileFilterSheet[aria-hidden="false"] .tte-mobile-sheet-panel,
    body #tteMobileSortSheet.is-open .tte-mobile-sheet-panel,
    body #tteMobileSortSheet[aria-hidden="false"] .tte-mobile-sheet-panel,
    body .tte-filter-sheet.is-open .tte-mobile-sheet-panel,
    body .tte-sort-sheet.is-open .tte-mobile-sheet-panel {
        transform: translate3d(-50%, 0, 0) !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-head,
    body #tteMobileSortSheet .tte-mobile-sheet-head,
    body .tte-filter-sheet .tte-mobile-sheet-head,
    body .tte-sort-sheet .tte-mobile-sheet-head {
        flex: 0 0 auto !important;
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 72px !important;
        align-items: center !important;
        gap: 10px !important;
        min-height: 66px !important;
        padding: 12px 16px !important;
        margin: 0 !important;
        background: #fff !important;
        border-bottom: 1px solid #e5eaf2 !important;
        position: relative !important;
        z-index: 4 !important;
    }

    body #tteMobileFilterSheet .tte-mobile-sheet-head h3,
    body #tteMobileSortSheet .tte-mobile-sheet-head h3,
    body .tte-filter-sheet .tte-mobile-sheet-head h3,
    body .tte-sort-sheet .tte-mobile-sheet-head h3 {
        margin: 0 !important;
        text-align: center !important;
        color: #071116 !important;
        font-size: 18px !important;
        font-weight: 900 !important;
        line-height: 1.2 !important;
    }

    body #tteMobileFilterSheet form,
    body #tteMobileSortSheet .tte-sort-options,
    body .tte-filter-sheet form,
    body .tte-sort-sheet .tte-sort-options {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
        padding: 16px 18px 108px !important;
        margin: 0 !important;
    }
}


/* V56.7 — iPad mini/tablet header search no-overlap fix (641–820px)
   Keep the first row clean (brand + menu), and move search to its own full-width row.
   This prevents the search pill from colliding with the hamburger, logo, or listing hero on iPad mini. */
@media (min-width: 641px) and (max-width: 820px) {
    body .tte-site-header {
        overflow: visible !important;
    }

    body .tte-header-top {
        min-height: 104px !important;
        height: auto !important;
        padding: 8px 0 10px !important;
        box-sizing: border-box !important;
    }

    body .tte-header-row {
        width: calc(100% - 32px) !important;
        max-width: 100% !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: 40px 46px !important;
        gap: 8px 12px !important;
        align-items: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    body .tte-brand {
        grid-column: 1 / 2 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: start !important;
        max-width: 240px !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }

    body .tte-header-actions {
        grid-column: 2 / 3 !important;
        grid-row: 1 !important;
        align-self: center !important;
        justify-self: end !important;
        min-width: 0 !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        margin: 0 !important;
    }

    body .tte-header-search,
    body .tte-site-header .tte-header-search,
    body .tte-site-header form.tte-smart-search {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        order: 2 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        z-index: 99990 !important;
        position: relative !important;
    }

    body .tte-site-header .tte-smart-search-field {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 46px !important;
        min-height: 46px !important;
        border-radius: 999px !important;
        background: #fff !important;
        border: 1px solid #dbe5ef !important;
        box-shadow: 0 8px 22px rgba(15,23,42,.06) !important;
        overflow: hidden !important;
        display: flex !important;
        align-items: center !important;
        box-sizing: border-box !important;
    }

    body .tte-site-header .tte-smart-search-icon {
        width: 42px !important;
        flex: 0 0 42px !important;
        font-size: 20px !important;
        color: #071116 !important;
        line-height: 1 !important;
        text-align: center !important;
    }

    body .tte-site-header .tte-smart-search-field input[type="search"] {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        width: auto !important;
        height: 44px !important;
        min-height: 44px !important;
        padding: 0 88px 0 0 !important;
        font-size: 14px !important;
        line-height: 44px !important;
        font-weight: 800 !important;
        color: #071116 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body .tte-site-header .tte-smart-search-clear {
        right: 54px !important;
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        min-height: 26px !important;
        z-index: 3 !important;
    }

    body .tte-site-header .tte-smart-search-submit,
    body .tte-header-search button.tte-smart-search-submit {
        position: absolute !important;
        right: 5px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        border-radius: 999px !important;
        background: #071116 !important;
        color: #fff !important;
        padding: 0 !important;
        margin: 0 !important;
        z-index: 4 !important;
    }

    body .tte-site-header .tte-autosuggest-panel {
        left: 0 !important;
        right: 0 !important;
        top: calc(100% + 8px) !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 18px !important;
        z-index: 2147482500 !important;
    }

    body .tte-listing-hero,
    body .tte-trip-listing .tte-listing-hero {
        padding-top: 18px !important;
    }
}


/* V56.8 — Galaxy Z Fold / compact tablet homepage product grid fix (681–760px)
   Goal: on foldable/tablet portrait widths, show 2 product cards per row instead of a squeezed 4-column desktop grid.
   Mobile <=680px still uses the horizontal carousel from V56.1; iPad mini 820px keeps the tablet listing fixes. */
@media (min-width: 681px) and (max-width: 760px) {
    body.tte-plugin-page .tte-home-page .tte-fire-sale-grid,
    body.tte-plugin-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid),
    body.tte-plugin-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid),
    body.tte-standalone-page .tte-home-page .tte-fire-sale-grid,
    body.tte-standalone-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid),
    body.tte-standalone-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-columns: unset !important;
        gap: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        scroll-snap-type: none !important;
    }

    body.tte-plugin-page .tte-home-page .tte-fire-sale-grid > .tte-home-product-card,
    body.tte-plugin-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card,
    body.tte-plugin-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card,
    body.tte-standalone-page .tte-home-page .tte-fire-sale-grid > .tte-home-product-card,
    body.tte-standalone-page .tte-home-page .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card,
    body.tte-standalone-page .tte-home-page .tte-section .tte-tour-grid-premium:not(.tte-listing-grid) > .tte-home-product-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        scroll-snap-align: none !important;
        display: flex !important;
        flex-direction: column !important;
        border-radius: 18px !important;
        overflow: hidden !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-image,
    body.tte-standalone-page .tte-home-page .tte-home-product-image {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        aspect-ratio: 3 / 2 !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-image img,
    body.tte-standalone-page .tte-home-page .tte-home-product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-body,
    body.tte-standalone-page .tte-home-page .tte-home-product-body {
        padding: 14px 14px 16px !important;
        min-width: 0 !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-title,
    body.tte-standalone-page .tte-home-page .tte-home-product-title {
        font-size: 18px !important;
        line-height: 1.32 !important;
        min-height: 48px !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-meta,
    body.tte-standalone-page .tte-home-page .tte-home-product-meta {
        min-height: 58px !important;
        font-size: 12.5px !important;
    }

    body.tte-plugin-page .tte-home-page .tte-home-product-price strong,
    body.tte-standalone-page .tte-home-page .tte-home-product-price strong {
        font-size: 22px !important;
    }
}

/* V56.9 — Traveloka-inspired visual refresh for Thaifly Tour Engine
   Scope: plugin/tour pages only. Keep layout fixes from V56.1–V56.8 intact; this layer mainly improves colors, depth, cards, CTA, and search polish. */
:root{
    --tte-tiffany:#0194F3;
    --tte-tiffany-soft:#EAF7FF;
    --tte-ink:#071D33;
    --tte-navy:#073E75;
    --tte-muted:#627083;
    --tte-line:#D9E8F5;
    --tte-tv-blue:#0194F3;
    --tte-tv-blue-dark:#0064D2;
    --tte-tv-blue-soft:#EAF7FF;
    --tte-tv-orange:#FF5E1F;
    --tte-tv-yellow:#FFC83D;
    --tte-tv-bg:#F6FAFD;
    --tte-tv-card:#FFFFFF;
    --tte-tv-shadow:0 14px 38px rgba(1, 100, 210, .10);
    --tte-tv-shadow-hover:0 22px 54px rgba(1, 100, 210, .16);
}

body.tte-standalone-page,
body.tte-plugin-page{
    color:var(--tte-ink)!important;
    background:var(--tte-tv-bg)!important;
}

body.tte-standalone-page .tte-page,
body.tte-plugin-page .tte-page,
body.tte-standalone-page .tte-home,
body.tte-plugin-page .tte-home,
body.tte-standalone-page .tte-tour-page,
body.tte-plugin-page .tte-tour-page{
    background:linear-gradient(180deg,#ffffff 0%,#f6fbff 42%,#ffffff 100%)!important;
}

/* Header: cleaner blue travel-product feel */
.tte-site-header{
    background:rgba(255,255,255,.94)!important;
    border-bottom:1px solid rgba(1,148,243,.14)!important;
    box-shadow:0 10px 30px rgba(7,29,51,.05)!important;
}
.tte-brand-mark{
    background:linear-gradient(135deg,var(--tte-tv-blue),#33C6FF)!important;
    box-shadow:0 14px 30px rgba(1,148,243,.24)!important;
}
.tte-brand-text strong,
.tte-mega-trigger,
.tte-mega-link{
    color:var(--tte-ink)!important;
}
.tte-header-search,
.tte-smart-search-field{
    background:#F2F9FF!important;
    border:1px solid #D7ECFF!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.tte-header-search:focus-within,
.tte-smart-search.is-open .tte-smart-search-field,
.tte-smart-search-field:focus-within{
    background:#fff!important;
    border-color:rgba(1,148,243,.52)!important;
    box-shadow:0 0 0 4px rgba(1,148,243,.12), 0 12px 26px rgba(1,100,210,.09)!important;
}
.tte-header-search button,
.tte-smart-search-submit,
.tte-site-header .tte-smart-search-submit,
.tte-header-search .tte-smart-search-submit{
    background:linear-gradient(135deg,var(--tte-tv-blue),var(--tte-tv-blue-dark))!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(1,100,210,.22)!important;
}
.tte-line-mini,
.tte-mobile-menu-toggle{
    background:var(--tte-tv-blue)!important;
    color:#fff!important;
    box-shadow:0 10px 24px rgba(1,148,243,.22)!important;
}
.tte-line-mini:hover,
.tte-mobile-menu-toggle:hover{
    background:var(--tte-tv-blue-dark)!important;
    color:#fff!important;
}
.tte-mega-trigger:hover,
.tte-mega-link:hover,
.tte-header-link:hover{
    color:var(--tte-tv-blue)!important;
    border-bottom-color:var(--tte-tv-blue)!important;
}

/* Section heads */
.tte-section-head h2,
.tte-toolbar h2,
.tte-trip-result-shell .tte-result-head h2{
    color:var(--tte-ink)!important;
    letter-spacing:-.035em!important;
}
.tte-section-head p,
.tte-toolbar p,
.tte-result-count{
    color:var(--tte-muted)!important;
}
.tte-section-head a:not(.tte-trip-detail){
    color:var(--tte-navy)!important;
    text-decoration:none!important;
    border-bottom:2px solid var(--tte-tv-blue)!important;
}

/* Hero/listing area */
.tte-listing-hero,
.tte-home-hero-slider,
.tte-hero-premium{
    background-color:#f4fbff!important;
}
.tte-listing-hero:after,
.tte-hero-premium:after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:120px;
    background:linear-gradient(180deg,rgba(246,251,255,0),#f6fbff);
    pointer-events:none;
}
.tte-quick-chips a,
.tte-listing-hero .tte-filter-chip,
.tte-filter-chip{
    background:#fff!important;
    border:1px solid #D8EAFB!important;
    color:#153B5C!important;
    box-shadow:0 8px 18px rgba(1,100,210,.07)!important;
}
.tte-quick-chips a:hover,
.tte-filter-chip:hover,
.tte-filter-chip.is-active,
.tte-trip-listing .tte-filter-chip.is-active{
    background:var(--tte-tv-blue-soft)!important;
    border-color:var(--tte-tv-blue)!important;
    color:var(--tte-tv-blue-dark)!important;
}

/* Cards: desktop/home/fire-sale */
.tte-home-product-card,
.tte-tour-grid-premium .tte-trip-tour-card,
.tte-fire-sale-grid .tte-trip-tour-card,
#tteListingResults.tte-listing-grid > .tte-trip-tour-card,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card{
    background:var(--tte-tv-card)!important;
    border:1px solid #DCEBFA!important;
    border-radius:20px!important;
    box-shadow:var(--tte-tv-shadow)!important;
    overflow:hidden!important;
}
.tte-home-product-card:hover,
.tte-tour-grid-premium .tte-trip-tour-card:hover,
.tte-fire-sale-grid .tte-trip-tour-card:hover,
#tteListingResults.tte-listing-grid > .tte-trip-tour-card:hover,
.tte-listing-grid.tte-list-view > .tte-trip-tour-card:hover{
    border-color:rgba(1,148,243,.42)!important;
    box-shadow:var(--tte-tv-shadow-hover)!important;
    transform:translateY(-3px)!important;
}
.tte-home-product-image,
.tte-trip-card-image{
    background:#EAF3FB!important;
}
.tte-home-product-image img,
.tte-trip-card-image img{
    transition:transform .28s ease, filter .28s ease!important;
}
.tte-home-product-card:hover .tte-home-product-image img,
.tte-trip-tour-card:hover .tte-trip-card-image img{
    transform:scale(1.035)!important;
    filter:saturate(1.06)!important;
}
.tte-home-product-image em,
.tte-tour-grid-premium .tte-card-badges span,
.tte-fire-sale-grid .tte-card-badges span,
.tte-card-badges span{
    background:linear-gradient(135deg,var(--tte-tv-blue),#30C6FF)!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(1,148,243,.25)!important;
}
.tte-card-duration-ribbon,
.tte-home-duration{
    background:linear-gradient(90deg,#FFF7E8,#EAF7FF)!important;
    color:var(--tte-tv-orange)!important;
    border-top:1px solid rgba(255,94,31,.08)!important;
}
.tte-home-product-title,
.tte-tour-grid-premium .tte-trip-card-main h3 a,
.tte-fire-sale-grid .tte-trip-card-main h3 a,
.tte-trip-card-main h3 a{
    color:#132B42!important;
}
.tte-home-product-meta,
.tte-card-info-list,
.tte-trip-submeta,
.tte-trip-card-main p{
    color:#66788A!important;
}
.tte-home-product-meta span::before,
.tte-card-info-icon{
    color:var(--tte-tv-blue)!important;
}
.tte-home-product-price strong,
.tte-tour-grid-premium .tte-trip-price strong,
.tte-fire-sale-grid .tte-trip-price strong,
.tte-trip-price strong{
    color:var(--tte-tv-orange)!important;
    letter-spacing:-.035em!important;
}
.tte-home-product-price small,
.tte-home-product-price span,
.tte-trip-price small,
.tte-trip-price span{
    color:#627083!important;
}

/* Listing cards and buttons */
.tte-trip-result-shell,
.tte-filter-card,
.tte-side-card,
.tte-card-section,
.tte-seo-content{
    background:#fff!important;
    border:1px solid #DCEBFA!important;
    box-shadow:0 12px 32px rgba(1,100,210,.07)!important;
    border-radius:20px!important;
}
.tte-trip-sort-tabs button{
    color:#173A59!important;
    background:#fff!important;
}
.tte-trip-sort-tabs button.is-active{
    background:linear-gradient(135deg,var(--tte-tv-blue),var(--tte-tv-blue-dark))!important;
    color:#fff!important;
}
.tte-trip-meta span,
.tte-list-periods .tte-period-row,
.tte-period-table th{
    background:#F2F9FF!important;
    border-color:#D8EAFB!important;
    color:#244967!important;
}
.tte-trip-rating strong,
.tte-status{
    background:var(--tte-tv-blue)!important;
    color:#fff!important;
}
.tte-trip-detail,
.tte-tour-grid-premium .tte-trip-detail,
.tte-fire-sale-grid .tte-trip-detail,
.tte-load-more-btn,
.tte-desktop-filter-submit{
    background:linear-gradient(135deg,var(--tte-tv-blue),var(--tte-tv-blue-dark))!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 12px 24px rgba(1,100,210,.20)!important;
}
.tte-trip-detail:hover,
.tte-tour-grid-premium .tte-trip-detail:hover,
.tte-fire-sale-grid .tte-trip-detail:hover,
.tte-load-more-btn:hover,
.tte-desktop-filter-submit:hover{
    background:linear-gradient(135deg,#0AA5FF,#0052B8)!important;
    color:#fff!important;
    box-shadow:0 16px 34px rgba(1,100,210,.28)!important;
}
.tte-trip-line{
    background:#EAF7FF!important;
    color:var(--tte-tv-blue-dark)!important;
}
.tte-trip-line:hover{
    background:#D7EEFF!important;
    color:var(--tte-tv-blue-dark)!important;
}

/* Mobile filter bar and sheet */
.tte-mobile-filter-bar:not(.tte-mobile-sheet):not(#tteMobileFilterSheet){
    background:rgba(255,255,255,.94)!important;
    border:1px solid rgba(216,234,251,.95)!important;
    box-shadow:0 -16px 34px rgba(7,29,51,.12)!important;
    backdrop-filter:blur(18px)!important;
}
.tte-mobile-filter-bar button,
.tte-mobile-filter-bar a{
    color:#173A59!important;
}
.tte-mobile-filter-bar button:first-child,
.tte-mobile-filter-bar .is-active{
    background:linear-gradient(135deg,var(--tte-tv-blue),var(--tte-tv-blue-dark))!important;
    color:#fff!important;
}
.tte-mobile-sheet{
    background:rgba(255,255,255,.98)!important;
    border-top:1px solid #DCEBFA!important;
    box-shadow:0 -24px 54px rgba(7,29,51,.18)!important;
}
.tte-mobile-sheet h3,
.tte-mobile-sheet-title{
    color:var(--tte-ink)!important;
}

/* Detail page */
.tte-tour-detail-page .tte-detail-hero,
.tte-detail-hero{
    background:linear-gradient(180deg,#F4FBFF 0%,#FFFFFF 100%)!important;
}
.tte-cover,
.tte-detail-hero .tte-cover{
    border:1px solid #DCEBFA!important;
    box-shadow:0 18px 44px rgba(1,100,210,.12)!important;
}
.tte-facts div,
.tte-price-box{
    background:#F2F9FF!important;
    border-color:#D8EAFB!important;
}
.tte-price-box strong{
    color:var(--tte-tv-orange)!important;
}

/* Inputs */
.tte-inquiry-form input,
.tte-inquiry-form textarea,
.tte-inquiry-form select,
.tte-mobile-sheet input,
.tte-mobile-sheet select{
    border-color:#D8EAFB!important;
    background:#fff!important;
}
.tte-inquiry-form input:focus,
.tte-inquiry-form textarea:focus,
.tte-mobile-sheet input:focus,
.tte-mobile-sheet select:focus{
    border-color:var(--tte-tv-blue)!important;
    outline:none!important;
    box-shadow:0 0 0 4px rgba(1,148,243,.12)!important;
}

/* Tablet/foldable keeps the nice card depth but avoids cramped shadow overflow */
@media (min-width:681px) and (max-width:820px){
    .tte-home-product-card,
    .tte-trip-tour-card{
        border-radius:18px!important;
        box-shadow:0 10px 24px rgba(1,100,210,.10)!important;
    }
    .tte-listing-hero,
    .tte-trip-listing .tte-listing-section{
        background:#f6fbff!important;
    }
}

/* Mobile: keep it airy and app-like */
@media (max-width:640px){
    body.tte-standalone-page,
    body.tte-plugin-page{
        background:#fff!important;
    }
    .tte-home-product-card,
    .tte-trip-tour-card,
    #tteListingResults.tte-listing-grid > .tte-trip-tour-card,
    .tte-listing-grid.tte-list-view > .tte-trip-tour-card{
        border-radius:20px!important;
        box-shadow:0 12px 28px rgba(1,100,210,.10)!important;
    }
    .tte-home-product-title,
    .tte-trip-card-main h3 a{
        color:#0B2136!important;
    }
    .tte-listing-hero,
    .tte-trip-listing .tte-listing-section{
        background:#fff!important;
    }
}


/* V57.0 — Header smart-search alignment fix
   Fix: Traveloka-style search pill looked like the submit button was floating/overlapping because
   the outer .tte-header-search was wider than the inner .tte-smart-search-field. Force one single
   clean pill, enough input padding, and safe responsive behavior. */
.tte-site-header .tte-header-row {
    gap: 28px !important;
}

.tte-site-header .tte-header-search.tte-smart-search,
.tte-site-header form.tte-header-search.tte-smart-search {
    flex: 1 1 560px !important;
    width: auto !important;
    max-width: 650px !important;
    min-width: 360px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    position: relative !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-field {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #F2F9FF !important;
    border: 1px solid #D7ECFF !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 10px 24px rgba(1,100,210,.06) !important;
    box-sizing: border-box !important;
}

.tte-site-header .tte-header-search.tte-smart-search:focus-within .tte-smart-search-field,
.tte-site-header .tte-header-search.tte-smart-search.is-open .tte-smart-search-field {
    background: #fff !important;
    border-color: rgba(1,148,243,.52) !important;
    box-shadow: 0 0 0 4px rgba(1,148,243,.12), 0 14px 30px rgba(1,100,210,.10) !important;
}

.tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-icon {
    flex: 0 0 64px !important;
    width: 64px !important;
    min-width: 64px !important;
    height: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 999px 0 0 999px !important;
    background: #EAF7FF !important;
    color: #071D33 !important;
    font-size: 23px !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
}

.tte-site-header .tte-header-search.tte-smart-search input[type="search"] {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    line-height: 56px !important;
    padding: 0 118px 0 0 !important;
    margin: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #071D33 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-clear {
    right: 78px !important;
    top: 50% !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    transform: translateY(-50%) !important;
    z-index: 5 !important;
}

.tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-submit,
.tte-site-header .tte-header-search.tte-smart-search button.tte-smart-search-submit {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--tte-tv-blue), var(--tte-tv-blue-dark)) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(1,100,210,.24) !important;
    z-index: 6 !important;
    font-size: 0 !important;
    line-height: 1 !important;
}

.tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-submit::before {
    content: "⌕" !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.tte-site-header .tte-header-search.tte-smart-search .tte-autosuggest-panel {
    left: 0 !important;
    top: calc(100% + 10px) !important;
    width: min(650px, calc(100vw - 40px)) !important;
    max-width: 100% !important;
}

@media (min-width: 981px) and (max-width: 1180px) {
    .tte-site-header .tte-header-search.tte-smart-search,
    .tte-site-header form.tte-header-search.tte-smart-search {
        flex-basis: 460px !important;
        max-width: 520px !important;
        min-width: 300px !important;
    }

    .tte-site-header .tte-header-actions {
        gap: 12px !important;
    }
}

@media (min-width: 641px) and (max-width: 820px) {
    body .tte-site-header .tte-header-search.tte-smart-search,
    body .tte-site-header form.tte-header-search.tte-smart-search {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        flex: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 46px !important;
        min-height: 46px !important;
        display: block !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-field {
        height: 46px !important;
        min-height: 46px !important;
        border-radius: 999px !important;
        overflow: hidden !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-icon {
        flex-basis: 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        font-size: 20px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search input[type="search"] {
        height: 44px !important;
        min-height: 44px !important;
        line-height: 44px !important;
        padding-right: 88px !important;
        font-size: 14px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-clear {
        right: 54px !important;
        width: 26px !important;
        height: 26px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-submit,
    body .tte-site-header .tte-header-search.tte-smart-search button.tte-smart-search-submit {
        right: 5px !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
    }
}

@media (max-width: 640px) {
    body .tte-site-header .tte-header-search.tte-smart-search,
    body .tte-site-header form.tte-header-search.tte-smart-search {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-field {
        width: 100% !important;
        max-width: 100% !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-icon {
        flex-basis: 42px !important;
        width: 42px !important;
        min-width: 42px !important;
        font-size: 19px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search input[type="search"] {
        height: 42px !important;
        min-height: 42px !important;
        line-height: 42px !important;
        padding-right: 82px !important;
        font-size: 13px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-clear {
        right: 50px !important;
        width: 24px !important;
        height: 24px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-submit,
    body .tte-site-header .tte-header-search.tte-smart-search button.tte-smart-search-submit {
        right: 4px !important;
        width: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
    }
}


/* V57.1 Traveloka blue hover fix: listing hero chips / filter chips
   Old Tiffany hover rules were hardcoded as #0ABAB5, so later variables could not override them. */
body.tte-standalone-page .tte-listing-chips a,
body .tte-trip-listing .tte-listing-chips a {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body.tte-standalone-page .tte-listing-chips a:hover,
body.tte-standalone-page .tte-listing-chips a:focus-visible,
body .tte-trip-listing .tte-listing-chips a:hover,
body .tte-trip-listing .tte-listing-chips a:focus-visible {
    background: #0194F3 !important;
    border-color: #0194F3 !important;
    color: #FFFFFF !important;
    box-shadow: 0 12px 26px rgba(1, 148, 243, .22) !important;
    transform: translateY(-1px) !important;
    outline: none !important;
}

body.tte-standalone-page .tte-listing-chips a:active,
body .tte-trip-listing .tte-listing-chips a:active {
    background: #0064D2 !important;
    border-color: #0064D2 !important;
    color: #FFFFFF !important;
    transform: translateY(0) !important;
}

body.tte-standalone-page .tte-quick-chips a:hover,
body.tte-standalone-page .tte-quick-chips a:focus-visible,
body .tte-tour-page .tte-quick-chips a:hover,
body .tte-tour-page .tte-quick-chips a:focus-visible {
    background: #0194F3 !important;
    border-color: #0194F3 !important;
    color: #FFFFFF !important;
    box-shadow: 0 12px 26px rgba(1, 148, 243, .22) !important;
}

body .tte-trip-listing .tte-filter-chip:hover,
body .tte-trip-listing .tte-filter-chip:focus-visible,
body .tte-filter-chip:hover,
body .tte-filter-chip:focus-visible {
    border-color: #0194F3 !important;
    color: #0064D2 !important;
    box-shadow: 0 10px 22px rgba(1, 148, 243, .14) !important;
}

body .tte-trip-listing .tte-filter-chip.is-active,
body .tte-filter-chip.is-active,
body .tte-trip-sort-tabs button.is-active,
body .tte-sort-options button.is-active,
body .tte-sort-options a.is-active {
    background: #0194F3 !important;
    border-color: #0194F3 !important;
    color: #FFFFFF !important;
}


/* V57.2 — Detail page product title size tune */
.tte-tour-detail-page .tte-detail-copy h1{
    font-size:clamp(30px,2.6vw,46px)!important;
    line-height:1.16!important;
    letter-spacing:-0.018em!important;
    margin:10px 0 14px!important;
    max-width:760px!important;
}

.tte-tour-detail-page .tte-detail-copy > p{
    font-size:17px!important;
    line-height:1.72!important;
    max-width:720px!important;
}

@media (min-width:1280px){
    .tte-tour-detail-page .tte-detail-copy h1{
        font-size:clamp(36px,2.35vw,46px)!important;
    }
}

@media (min-width:761px) and (max-width:1180px){
    .tte-tour-detail-page .tte-detail-copy h1{
        font-size:clamp(32px,3.2vw,40px)!important;
        line-height:1.18!important;
    }
}

@media (max-width:760px){
    .tte-tour-detail-page .tte-detail-copy h1{
        font-size:clamp(26px,7.2vw,34px)!important;
        line-height:1.2!important;
        margin:8px 0 12px!important;
    }
    .tte-tour-detail-page .tte-detail-copy > p{
        font-size:15px!important;
        line-height:1.65!important;
    }
}


/* V57.3 — Mobile topbar cleanup
   Remove the duplicate topbar search/chat icon buttons and keep only the hamburger menu.
   The full search bar remains on the second row, and the LINE CTA remains inside the menu / desktop header. */
@media (max-width: 980px) {
    body .tte-site-header .tte-header-actions .tte-mobile-icon-btn,
    body .tte-site-header .tte-header-actions .tte-mobile-search-focus {
        display: none !important;
    }

    body .tte-site-header .tte-header-actions {
        gap: 0 !important;
    }
}

@media (max-width: 640px) {
    body .tte-site-header .tte-header-actions {
        grid-column: 3 / 6 !important;
        justify-self: end !important;
        width: auto !important;
        min-width: 0 !important;
    }

    body .tte-site-header .tte-mobile-menu-toggle,
    body .tte-site-header .tte-mobile-cat-open {
        margin-left: 0 !important;
    }
}

/* V57.4 — Desktop header search size tune
   Keep Traveloka-style look, but make the header search smaller, lower-profile, and less visually dominant. */
@media (min-width: 981px) {
    body .tte-site-header .tte-header-row {
        align-items: center !important;
        gap: 24px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search,
    body .tte-site-header form.tte-header-search.tte-smart-search {
        flex: 0 1 560px !important;
        width: auto !important;
        max-width: 560px !important;
        min-width: 360px !important;
        margin: 0 auto !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-field {
        height: 48px !important;
        min-height: 48px !important;
        border-radius: 999px !important;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(1,100,210,.055) !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search:focus-within .tte-smart-search-field,
    body .tte-site-header .tte-header-search.tte-smart-search.is-open .tte-smart-search-field {
        box-shadow: 0 0 0 3px rgba(1,148,243,.11), 0 10px 22px rgba(1,100,210,.085) !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-icon {
        flex: 0 0 52px !important;
        width: 52px !important;
        min-width: 52px !important;
        font-size: 20px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search input[type="search"] {
        height: 46px !important;
        min-height: 46px !important;
        line-height: 46px !important;
        padding: 0 98px 0 0 !important;
        font-size: 15px !important;
        font-weight: 650 !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-clear {
        right: 68px !important;
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-submit,
    body .tte-site-header .tte-header-search.tte-smart-search button.tte-smart-search-submit {
        right: 6px !important;
        width: 50px !important;
        min-width: 50px !important;
        max-width: 50px !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        box-shadow: 0 8px 18px rgba(1,100,210,.22) !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-smart-search-submit::before {
        font-size: 22px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-autosuggest-panel {
        top: calc(100% + 8px) !important;
        width: min(560px, calc(100vw - 40px)) !important;
    }
}

@media (min-width: 1181px) {
    body .tte-site-header .tte-header-search.tte-smart-search,
    body .tte-site-header form.tte-header-search.tte-smart-search {
        max-width: 580px !important;
        flex-basis: 580px !important;
    }

    body .tte-site-header .tte-header-search.tte-smart-search .tte-autosuggest-panel {
        width: min(580px, calc(100vw - 40px)) !important;
    }
}

/* V58.3 — Detail page: LINE QR fallback + period seat-check button */
.tte-tour-detail-page .tte-line-qr-card img{
    background:#fff!important;
    border:1px solid #e5eef8!important;
    padding:10px!important;
    box-sizing:border-box!important;
}

.tte-period-check-table .tte-period-action-head,
.tte-period-check-table .tte-period-action-cell{
    text-align:right!important;
    white-space:nowrap!important;
}

.tte-seat-check-btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:34px!important;
    padding:8px 14px!important;
    border-radius:999px!important;
    border:0!important;
    background:linear-gradient(135deg,#0B8FFF,#0066E6)!important;
    color:#fff!important;
    font-weight:800!important;
    font-size:13px!important;
    line-height:1!important;
    text-decoration:none!important;
    box-shadow:0 10px 20px rgba(1,100,210,.18)!important;
}

.tte-seat-check-btn:hover,
.tte-seat-check-btn:focus{
    background:linear-gradient(135deg,#09A7FF,#0053C7)!important;
    color:#fff!important;
    text-decoration:none!important;
    box-shadow:0 14px 28px rgba(1,100,210,.26)!important;
    transform:translateY(-1px)!important;
}

@media (max-width: 760px){
    .tte-tour-detail-page .tte-card-section:has(.tte-period-check-table) table,
    .tte-tour-detail-page .tte-period-check-table{
        min-width:820px!important;
    }

    .tte-seat-check-btn{
        min-height:36px!important;
        padding:9px 13px!important;
        font-size:12px!important;
    }
}

/* V58.4 — Detail period table UX: distinct status colors + action states */
.tte-tour-detail-page .tte-period-check-table .tte-status{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:62px!important;
    padding:6px 10px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:900!important;
    line-height:1!important;
    border:1px solid transparent!important;
    box-shadow:none!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-status.tte-period-available{
    background:#E8FFF4!important;
    color:#047857!important;
    border-color:#A7F3D0!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-status.tte-period-on_request{
    background:#FFF7ED!important;
    color:#C2410C!important;
    border-color:#FED7AA!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-status.tte-period-closed{
    background:#FFE4E6!important;
    color:#BE123C!important;
    border-color:#FDA4AF!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-status.tte-period-full{
    background:#F1F5F9!important;
    color:#475569!important;
    border-color:#CBD5E1!important;
}

.tte-tour-detail-page .tte-period-check-table tr.tte-period-row-status-closed,
.tte-tour-detail-page .tte-period-check-table tr.tte-period-row-status-full{
    background:linear-gradient(90deg,rgba(248,250,252,.86),rgba(255,255,255,1))!important;
}

.tte-tour-detail-page .tte-period-check-table tr.tte-period-row-status-closed td,
.tte-tour-detail-page .tte-period-check-table tr.tte-period-row-status-full td{
    color:#64748B!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn{
    min-width:118px!important;
    min-height:34px!important;
    border-radius:999px!important;
    font-size:13px!important;
    font-weight:900!important;
    letter-spacing:-.01em!important;
    box-shadow:none!important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn.is-available{
    background:linear-gradient(135deg,#0EA5E9,#0066E6)!important;
    color:#fff!important;
    box-shadow:0 10px 22px rgba(14,116,224,.18)!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn.is-request{
    background:#FFF7ED!important;
    color:#C2410C!important;
    border:1px solid #FED7AA!important;
    box-shadow:none!important;
}

.tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn.is-closed,
.tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn.is-full,
.tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn.is-disabled{
    cursor:not-allowed!important;
    pointer-events:none!important;
    background:#F1F5F9!important;
    color:#94A3B8!important;
    border:1px solid #E2E8F0!important;
    box-shadow:none!important;
}

.tte-tour-detail-page .tte-period-check-table a.tte-seat-check-btn.is-available:hover,
.tte-tour-detail-page .tte-period-check-table a.tte-seat-check-btn.is-available:focus{
    background:linear-gradient(135deg,#0284C7,#0053C7)!important;
    color:#fff!important;
    box-shadow:0 14px 30px rgba(14,116,224,.26)!important;
    transform:translateY(-1px)!important;
}

.tte-tour-detail-page .tte-period-check-table a.tte-seat-check-btn.is-request:hover,
.tte-tour-detail-page .tte-period-check-table a.tte-seat-check-btn.is-request:focus{
    background:#FFEDD5!important;
    color:#9A3412!important;
    transform:translateY(-1px)!important;
}

@media (max-width: 760px){
    .tte-tour-detail-page .tte-period-check-table .tte-status{
        min-width:58px!important;
        padding:6px 8px!important;
        font-size:11px!important;
    }

    .tte-tour-detail-page .tte-period-check-table .tte-seat-check-btn{
        min-width:112px!important;
        min-height:36px!important;
        padding:9px 12px!important;
        font-size:12px!important;
    }
}

