/* Thai Tourism B2B - Clean Code Final | Desktop + Tablet + Mobile */
@import url("../assets/fonts/FCSubjectRounded/ttb-font.css");
:root{
  --ttb-font-family:"FC Subject Rounded", "Tahoma", sans-serif;
}
@media (max-width: 900px){
  .ttb-mobile-search-panel.ttb-premium-search-panel{
    top:auto !important;
    bottom:0 !important;
    transform:translateX(-50%) !important;
    width:min(100vw, 720px) !important;
    max-height:94dvh !important;
    border-radius:30px 30px 0 0 !important;
    padding:14px 16px calc(22px + env(safe-area-inset-bottom)) !important;
    overscroll-behavior:contain;
  }

  .ttb-search-eyebrow{
    font-size:clamp(12px, 3.4vw, 16px) !important;
  }

  .ttb-mobile-search-tabs.ttb-premium-search-tabs{
    display:grid !important;
    grid-template-columns:repeat(12, minmax(0, 1fr)) !important;
    gap:8px !important;
    margin:0 0 18px !important;
  }

  .ttb-mobile-search-tabs > button{
    grid-column:span 3;
    position:relative;
    min-width:0 !important;
    min-height:96px !important;
    padding:9px 4px 10px !important;
    border-radius:17px !important;
    box-shadow:none !important;
    overflow:hidden;
  }

  .ttb-mobile-search-tabs > button:nth-child(n+5){
    grid-column:span 4;
  }

  .ttb-mobile-search-tabs > button.is-active::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:5px;
    background:#f5b800;
  }

  .ttb-mobile-search-tabs .tab-icon,
  .ttb-mobile-search-tabs .tab-icon.ttb-real-icon{
    width:42px !important;
    height:42px !important;
    border-radius:50% !important;
    background:#eef5ff !important;
    color:#075fc7 !important;
    font-size:20px !important;
  }

  .ttb-mobile-search-tabs button.is-active .tab-icon,
  .ttb-mobile-search-tabs button.is-active .tab-icon.ttb-real-icon{
    background:rgba(255,255,255,.19) !important;
    color:#fff !important;
    padding:0 !important;
  }

  .ttb-mobile-search-tabs strong{
    display:block;
    font-size:clamp(10px, 2.85vw, 14px) !important;
    line-height:1.16 !important;
    overflow-wrap:anywhere;
  }

  .ttb-mobile-search-section-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 2px 14px;
    color:#0756a8;
    font-size:clamp(18px, 4.9vw, 24px);
    line-height:1.25;
    font-weight:900;
  }

  .ttb-mobile-search-section-title::before{
    content:"";
    width:16px;
    height:16px;
    flex:0 0 16px;
    border:4px solid #f5b800;
    border-radius:50%;
  }

  .ttb-search-modal-form,
  .ttb-search-modal-form.is-active{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .ttb-search-modal-form .ttb-search-field{
    min-width:0;
  }

  .ttb-search-modal-form .ttb-search-field.is-search,
  .ttb-search-modal-form .ttb-search-submit{
    grid-column:1 / -1;
  }

  .ttb-search-field{
    position:relative;
    padding-right:34px !important;
  }

  .ttb-search-field:not(.is-search)::after{
    content:"";
    position:absolute;
    right:14px;
    top:50%;
    width:9px;
    height:9px;
    border-right:2px solid #25304a;
    border-bottom:2px solid #25304a;
    transform:translateY(-70%) rotate(45deg);
    pointer-events:none;
  }

  .ttb-simple-field-icon{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    display:grid !important;
    place-items:center !important;
    background:#eef5ff !important;
    color:#0c62c7 !important;
    font-size:17px !important;
  }

  .ttb-simple-field-icon.field-pink{background:#fff0f7 !important;color:#ec4899 !important;}
  .ttb-simple-field-icon.field-purple{background:#f4efff !important;color:#7c3aed !important;}
  .ttb-simple-field-icon.field-orange{background:#fff7e6 !important;color:#f59e0b !important;}

  .ttb-search-submit{
    position:sticky;
    bottom:0;
    z-index:3;
  }
}

@media (max-width: 430px){
  .ttb-mobile-search-panel.ttb-premium-search-panel{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .ttb-mobile-search-tabs.ttb-premium-search-tabs{
    gap:6px !important;
  }

  .ttb-mobile-search-tabs > button{
    min-height:88px !important;
    border-radius:15px !important;
  }

  .ttb-mobile-search-tabs .tab-icon{
    width:36px !important;
    height:36px !important;
    font-size:18px !important;
  }

  .ttb-search-field{
    grid-template-columns:39px 1fr !important;
    padding-left:3px !important;
    padding-right:29px !important;
  }

  .ttb-search-field input,
  .ttb-search-field select{
    font-size:14px !important;
  }

  .ttb-search-field:not(.is-search)::after{
    right:11px;
  }
}

html,
body,
button,
input,
select{
  font-family:var(--ttb-font-family);
}
:root{
  --blue-dark:#003f8f;
  --blue:#0055b8;
  --blue-soft:#eaf3ff;
  --red:#e21b2d;
  --gold:#f7c948;
  --white:#ffffff;
  --soft:#f5f7fa;
  --line:#e4e9f1;
  --text:#14213d;
  --muted:#667085;
  --container:1180px;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:var(--ttb-font-family);
  color:var(--text);
  background:#ffffff;
  line-height:1.65;
}

a{
  color:inherit;
  text-decoration:none;
}

button{
  font-family:inherit;
}

.container{
  width:min(var(--container), calc(100% - 36px));
  margin:0 auto;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  padding:13px 22px;
  font-weight:800;
  cursor:pointer;
  transition:0.25s ease;
  white-space:nowrap;
}

.btn:hover{
  transform:translateY(-2px);
}

.btn-blue{
  background:var(--blue);
  color:var(--white);
  box-shadow:0 12px 28px rgba(0, 85, 184, 0.24);
}
.hero-banner{
  position:relative;
  overflow:hidden;
  min-height:470px;
  background:linear-gradient(90deg, rgba(3, 18, 44, 0.86), rgba(3, 18, 44, 0.35)), radial-gradient(circle at 84% 28%, rgba(247, 201, 72, 0.55), transparent 18%), linear-gradient(135deg, #064e3b, #0f7a3b 42%, #183f19);
  color:var(--white);
}

.promo-price{
  font-size:70px;
  line-height:1;
  font-weight:800;
  color:var(--red);
  margin:12px 0 6px;
}
.search-section{
  background:#f6f6f6;
  padding-bottom:48px;
}

.field{
  border:1px solid var(--line);
  border-radius:14px;
  min-height:48px;
  padding:12px 14px;
  display:flex;
  align-items:center;
  color:var(--muted);
  background:#fbfcfe;
  font-size:13px;
}
.section{
  padding:76px 0;
}

.soft{
  background:var(--soft);
}

.section-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 34px;
}

.section-head.compact{
  text-align:left;
  margin:0 0 22px;
}

.section-head h2,
.matching-layout h2{
  font-size:clamp(28px, 4vw, 42px);
  line-height:1.2;
  color:var(--blue-dark);
  font-weight:800;
}

.section-head h2::after{
  content:"";
  display:block;
  width:68px;
  height:4px;
  border-radius:99px;
  background:var(--red);
  margin:12px auto 0;
}

.section-head.compact h2::after{
  margin-left:0;
}

.section-head p,
.matching-layout p{
  color:var(--muted);
  margin-top:12px;
}

.section-label{
  color:var(--red);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  margin-bottom:12px;
}

.news-thumb,
.biz-img,
.gallery-img{
  background-size:cover;
  background-position:center;
}

.news-thumb{
  min-height:110px;
  border-radius:16px;
}

.japan{ background:linear-gradient(135deg, #2563eb, #fbcfe8); }
.korea{ background:linear-gradient(135deg, #7c3aed, #fef3c7); }
.china{ background:linear-gradient(135deg, #dc2626, #fde68a); }
.vietnam{ background:linear-gradient(135deg, #16a34a, #bae6fd); }
.europe{ background:linear-gradient(135deg, #1e293b, #cbd5e1); }
.singapore{ background:linear-gradient(135deg, #be123c, #38bdf8); }
.phuket{ background:linear-gradient(135deg, #0891b2, #a7f3d0); }
.pattaya{ background:linear-gradient(135deg, #0f766e, #fde68a); }
.kanchanaburi{ background:linear-gradient(135deg, #92400e, #bbf7d0); }

.center-btn{
  text-align:center;
  margin-top:34px;
}

.skyline-bg{
  background:linear-gradient(to bottom, #ffffff 0%, #ffffff 72%, rgba(20, 33, 61, 0.08) 100%);
  position:relative;
}
.business-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:18px;
}

.business-card{
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--white);
  box-shadow:0 14px 34px rgba(20, 33, 61, 0.08);
}

.biz-img{
  height:135px;
}

.b1{ background:linear-gradient(135deg, #1d4ed8, #bfdbfe); }
.b2{ background:linear-gradient(135deg, #be123c, #fecdd3); }
.b3{ background:linear-gradient(135deg, #0f766e, #99f6e4); }
.b4{ background:linear-gradient(135deg, #b45309, #fde68a); }
.b5{ background:linear-gradient(135deg, #166534, #bbf7d0); }
.b6{ background:linear-gradient(135deg, #581c87, #ddd6fe); }
.b7{ background:linear-gradient(135deg, #0f172a, #94a3b8); }
.b8{ background:linear-gradient(135deg, #e11d48, #fef08a); }

.business-card h3{
  padding:14px 16px 18px;
  color:var(--blue-dark);
  font-size:16px;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}

.gallery-img{
  min-height:150px;
  border-radius:18px;
  box-shadow:0 10px 30px rgba(20, 33, 61, 0.08);
}

.g1{ background:linear-gradient(135deg, #1e40af, #60a5fa); }
.g2{ background:linear-gradient(135deg, #7f1d1d, #fca5a5); }
.g3{ background:linear-gradient(135deg, #065f46, #6ee7b7); }
.g4{ background:linear-gradient(135deg, #92400e, #fcd34d); }
.g5{ background:linear-gradient(135deg, #4c1d95, #c4b5fd); }
.g6{ background:linear-gradient(135deg, #0f172a, #94a3b8); }
.g7{ background:linear-gradient(135deg, #075985, #7dd3fc); }
.g8{ background:linear-gradient(135deg, #831843, #f9a8d4); }
.g9{ background:linear-gradient(135deg, #14532d, #86efac); }
.g10{ background:linear-gradient(135deg, #713f12, #fde68a); }
.g11{ background:linear-gradient(135deg, #172554, #93c5fd); }
.g12{ background:linear-gradient(135deg, #881337, #fecdd3); }
.matching-section{
  background:radial-gradient(circle at 20% 20%, rgba(247, 201, 72, 0.16), transparent 24%), linear-gradient(135deg, #05204f, #003f8f);
  color:var(--white);
}

.matching-layout{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  align-items:center;
  gap:44px;
}

.matching-layout h2{
  color:var(--white);
}

.matching-layout p{
  color:#d9e9ff;
  font-size:18px;
}

.matching-cards{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}

.matching-cards div{
  min-height:96px;
  border-radius:22px;
  background:rgba(255, 255, 255, 0.12);
  border:1px solid rgba(255, 255, 255, 0.16);
  display:grid;
  place-items:center;
  font-weight:800;
}
.review-section{
  background:#dddddd;
}

.review-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:22px;
}

.review-card{
  background:var(--white);
  border-radius:26px;
  padding:28px;
  text-align:center;
  box-shadow:0 16px 44px rgba(20, 33, 61, 0.1);
}

.avatar{
  width:74px;
  height:74px;
  border-radius:999px;
  background:var(--blue-soft);
  display:grid;
  place-items:center;
  margin:0 auto 16px;
  font-size:34px;
}

.review-card h3{
  color:var(--blue-dark);
  margin-bottom:10px;
}

.review-card p{
  color:var(--muted);
}
.partners-section{
  background:var(--white);
}

.partner-grid{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:14px;
}

.partner-grid div{
  min-height:92px;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fafafa;
  display:grid;
  place-items:center;
  text-align:center;
  color:#64748b;
  font-weight:800;
  padding:10px;
}
.footer{
  background:var(--blue-dark);
  color:#dce8ff;
}

.footer h3{
  color:var(--white);
  margin-bottom:12px;
}

.footer a,
.footer p{
  display:block;
  color:#dce8ff;
  font-size:14px;
  margin-bottom:8px;
}
.tour-section-divider{
  padding:18px 0 22px;
  background:linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
}

#tour-outbound{
  padding-bottom:56px;
}

#tour-domestic{
  padding-top:70px;
}
.domestic-bg-section{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 48%, rgba(245, 247, 250, 0.96) 100%);
}

.domestic-bg-section::before{
  height:360px;
  background-image:url("../assets/hero/sections/domestic-tour-skyline.webp");
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:cover;
  opacity:0.92;
  z-index:0;
}

.domestic-bg-section::before,.domestic-bg-section::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  pointer-events:none;
}

.domestic-bg-section::after{
  height:390px;
  background:linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.34) 48%,
    rgba(255, 255, 255, 0.08) 100%
  );
  z-index:1;
}

.domestic-bg-section .container{
  position:relative;
  z-index:2;
}

#tour-domestic.domestic-bg-section::before{
  left:50%;
  right:auto;
  width:100vw;
  height:340px;
  transform:translateX(-50%);
}

#tour-domestic.domestic-bg-section::after{
  display:block !important;
  height:360px;
}

#tour-domestic.domestic-bg-section::before{

  background-image:url("../assets/hero/sections/domestic-tour-skyline.webp");
  background-repeat:no-repeat;
  background-position:center bottom;
  background-size:100% auto;

  opacity:0.94;
  z-index:0;
}

#tour-domestic.domestic-bg-section::before,#tour-domestic.domestic-bg-section::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:clamp(330px, 24.1vw, 520px);
  pointer-events:none;
}

#tour-domestic.domestic-bg-section::after{
  background:linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.02) 0%,
    rgba(255, 255, 255, 0.18) 32%,
    rgba(255, 255, 255, 0.10) 100%
  );
  z-index:1;
}
#tour-domestic.domestic-bg-section{
  position:relative;
  overflow:hidden;
  background:#ffffff;
  padding-top:70px;
  padding-bottom:88px;
}

#tour-domestic.domestic-bg-section::before,
#tour-domestic.domestic-bg-section::after{
  display:none !important;
  content:none !important;
  background:none !important;
}

.domestic-skyline-img{
  position:absolute;
  left:50%;
  bottom:0;
  width:100%;
  min-width:1623px;
  height:auto;
  transform:translateX(-50%);
  opacity:0.55;
  filter:saturate(45%) brightness(1.08);
  z-index:0;
  pointer-events:none;
  user-select:none;
}

#tour-domestic.domestic-bg-section .container{
  position:relative;
  z-index:2;
}

#tour-domestic.domestic-bg-section .center-btn{
  position:relative;
  z-index:3;
  margin-top:-92px;
  text-align:center;
}

#tour-domestic.domestic-bg-section .center-btn .btn{
  width:auto;
  min-width:210px;
  box-shadow:0 16px 36px rgba(0, 85, 184, 0.28);
}
.business-section-divider{
  position:relative;
  z-index:4;
  padding:34px 0 18px;
  background:linear-gradient(180deg, #ffffff 0%, #f5f7fa 100%);
}
.simple-section-divider{
  position:relative;
  z-index:4;
  padding:34px 0;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 50%, #ffffff 100%);
}

.simple-divider-line{
  position:relative;
  height:1px;
  width:100%;
  max-width:980px;
  margin:0 auto;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 85, 184, 0.14) 18%,
    rgba(226, 27, 45, 0.38) 50%,
    rgba(0, 85, 184, 0.14) 82%,
    transparent 100%
  );
}

.simple-divider-line::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:88px;
  height:4px;
  border-radius:999px;
  background:var(--red);
  transform:translate(-50%, -50%);
  box-shadow:0 8px 20px rgba(226, 27, 45, 0.18);
}

.tour-section-divider.simple-section-divider,.business-section-divider.simple-section-divider{
  margin-top:8px;
  margin-bottom:8px;
}

#business{
  padding-top:76px;
}
#tour-outbound.outbound-bg-section{
  position:relative;
  overflow:hidden;
  background:#ffffff;
  padding-top:76px;
  padding-bottom:88px;
}

.outbound-skyline-img{
  position:absolute;
  left:50%;
  bottom:0;
  width:100%;
  min-width:2023px;
  height:auto;
  transform:translateX(-50%);
  opacity:0.46;
  filter:saturate(55%) brightness(1.08);
  z-index:0;
  pointer-events:none;
  user-select:none;
}

#tour-outbound.outbound-bg-section .container{
  position:relative;
  z-index:2;
}

#tour-outbound.outbound-bg-section .center-btn{
  position:relative;
  z-index:3;
  margin-top:-92px;
  text-align:center;
}

#tour-outbound.outbound-bg-section .center-btn .btn{
  width:auto;
  min-width:230px;
  box-shadow:0 16px 36px rgba(0, 85, 184, 0.28);
}

.banner-dots span{
  width:34px;
  height:4px;
  border-radius:999px;
  background:rgba(255, 255, 255, 0.48);
}

.banner-dots span.active{
  background:var(--blue);
}
.hero-banner.banner-hero{
  position:relative;
  min-height:auto;
  color:var(--text);
}

.banner-slider,.banner-track{
  position:relative;
}

.banner-slide{
  opacity:0;
  visibility:hidden;
  transition:opacity 0.55s ease, visibility 0.55s ease;
}

.banner-slide.is-active{
  opacity:1;
  visibility:visible;
}

.banner-arrow{
  position:absolute;
  border:0;
  border-radius:999px;
  transform:translateY(-50%);
  font-size:42px;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:0.22s ease;
}

.banner-dots{
  position:absolute;
  left:50%;
  z-index:3;
  display:flex;
  gap:8px;
  transform:translateX(-50%);
}

.banner-dots button{
  width:34px;
  height:4px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255, 255, 255, 0.48);
  cursor:pointer;
  transition:0.22s ease;
}

.banner-dots button.active{
  background:var(--blue);
  width:42px;
}
.banner-hero + .search-section{
  position:relative;
  z-index:5;
}
.hero-banner.banner-hero{
  width:100%;
  background:#ffffff;
  overflow:visible;
}

.banner-slider{
  width:100%;
  max-width:none;
  margin:0;
  background:#0b1f14;
  overflow:hidden;
}

.banner-track{
  width:100%;
  height:auto !important;
  aspect-ratio:1920 / 596;
  max-height:596px;
  min-height:360px;
}

.banner-slide{
  position:absolute;
  inset:0;
}

.main-hero-banner-img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center center;
  display:block;
  background:#0b1f14;
}
.banner-arrow{
  top:50%;
  width:46px;
  height:46px;
  background:rgba(0, 0, 0, 0.22);
  color:#ffffff;
  z-index:4;
}

.banner-arrow:hover{
  background:rgba(0, 0, 0, 0.42);
}

.banner-arrow-left{
  left:22px;
}

.banner-arrow-right{
  right:22px;
}

.banner-dots{
  bottom:16px;
}
.banner-hero + .search-section{
  background:#f6f6f6;
  padding-top:24px;
  padding-bottom:54px;
}
.long-promo-banner-section{
  padding:64px 0 58px;
}

.long-promo-head{
  max-width:760px;
  margin-bottom:24px;
}

.long-promo-head .section-label{
  display:inline-block;
  color:var(--red);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-size:13px;
  margin-bottom:8px;
}

.long-promo-banner-wrap{
  max-width:1200px;
  margin:0 auto;
}

.long-promo-banner{
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 22px 64px rgba(20, 33, 61, 0.12);
  border:1px solid var(--line);
  transition:0.25s ease;
}

.long-promo-banner:hover{
  transform:translateY(-3px);
  box-shadow:0 28px 78px rgba(20, 33, 61, 0.16);
}

.long-promo-banner img{
  display:block;
  width:100%;
  aspect-ratio:1200 / 360;
  height:auto;
  object-fit:cover;
  object-position:center center;
}

.long-promo-banner-section{
  padding-top:76px;
  padding-bottom:34px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 52%, #ffffff 100%);
}

.long-promo-banner-wrap{
  margin-top:26px;
}

.long-promo-action{
  margin-top:28px;
}

.promo-to-products-divider{
  position:relative;
  padding:34px 0 50px;
  background:linear-gradient(180deg, #ffffff 0%, #f5f7fa 52%, #ffffff 100%);
}

.section-divider-line{
  position:relative;
  height:1px;
  width:100%;
  max-width:720px;
  margin:0 auto;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 85, 184, 0.14) 18%,
    rgba(226, 27, 45, 0.46) 50%,
    rgba(0, 85, 184, 0.14) 82%,
    transparent 100%
  );
}

.section-divider-line::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:96px;
  height:4px;
  border-radius:999px;
  background:var(--red);
  transform:translate(-50%, -50%);
  box-shadow:0 10px 24px rgba(226, 27, 45, 0.18);
}
#promotion.section{
  padding-top:64px;
}
.news-to-pr-divider{
  position:relative;
  padding:38px 0 34px;
  background:linear-gradient(180deg, #ffffff 0%, #f8fafc 50%, #ffffff 100%);
}

.news-to-pr-divider .section-divider-line{
  position:relative;
  height:1px;
  width:100%;
  max-width:720px;
  margin:0 auto;
  background:linear-gradient(
    90deg,
    transparent 0%,
    rgba(0, 85, 184, 0.14) 18%,
    rgba(226, 27, 45, 0.46) 50%,
    rgba(0, 85, 184, 0.14) 82%,
    transparent 100%
  );
}

.news-to-pr-divider .section-divider-line::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:96px;
  height:4px;
  border-radius:999px;
  background:var(--red);
  transform:translate(-50%, -50%);
  box-shadow:0 10px 24px rgba(226, 27, 45, 0.18);
}
.news-to-pr-divider + .long-promo-banner-section{
  padding-top:42px;
}
.news-section{
  padding-bottom:46px;
}
#tour-outbound.outbound-bg-section .outbound-product-grid{
  z-index:1;
}
#tour-outbound.outbound-bg-section .outbound-product-grid,.product-card-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
  position:relative;
}
.product-card-grid{
  z-index:3;
}

.product-tour-card{
  background:#ffffff;
  border:1px solid #e7edf7;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 18px 42px rgba(20, 33, 61, 0.10);
  display:flex;
  flex-direction:column;
  transition:transform .25s ease, box-shadow .25s ease;
}

.product-tour-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 54px rgba(20, 33, 61, 0.14);
}

.product-card-image{
  position:relative;
  aspect-ratio:1 / 1.05;
  overflow:hidden;
  background:#eef4ff;
}

.product-card-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.product-badge{
  position:absolute;
  left:14px;
  top:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 11px;
  border-radius:999px;
  background:#ffffff;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 22px rgba(15, 23, 42, 0.16);
}

.product-badge.hot{
  background:var(--red);
  color:#ffffff;
}

.product-badge.direct{
  background:var(--blue-dark);
  color:#ffffff;
}

.product-badge.sale{
  background:var(--gold);
  color:#111827;
}

.product-card-body{
  padding:17px 18px 14px;
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1;
}

.product-card-body h3{
  margin:0;
  color:#ef4b20;
  font-size:18px;
  line-height:1.42;
  font-weight:800;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:77px;
}

.product-meta-list{
  display:grid;
  gap:7px;
  padding-top:2px;
}

.product-meta-list span{
  color:#71717a;
  font-size:13.5px;
  line-height:1.45;
}

.product-meta-list b{
  min-width:22px;
  font-weight:400;
}

.product-card-footer{
  margin-top:auto;
  padding:16px 18px 18px;
  border-top:1px solid #eef2f7;
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.airasia-logo{
  width:74px;
  height:54px;
  justify-content:center;
  background:#ef4444;
  color:#ffffff;
  border-radius:999px;
  transform:rotate(-7deg);
  font-style:italic;
  font-size:15px;
}

.price-block{
  text-align:right;
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:112px;
}

.price-block small{
  color:#9ca3af;
  font-size:12px;
  font-weight:700;
}

.price-block strong{
  color:#ef4444;
  font-size:38px;
  line-height:0.95;
  font-weight:900;
  letter-spacing:-0.035em;
}

.price-block em{
  color:#6b7280;
  font-style:normal;
  font-size:13px;
  font-weight:700;
}

#tour-outbound.outbound-bg-section .outbound-product-grid{
  max-width:none;
  margin:0 auto;
}

#tour-domestic.domestic-bg-section .domestic-product-grid{
  position:relative;
  z-index:4;
}

#tour-domestic.domestic-bg-section .product-card-body h3{
  color:var(--blue-dark);
}
.product-meta-list span{
  display:flex;
  align-items:center;
  gap:9px;
}

.product-meta-list b{
  display:none !important;
}

.meta-icon{
  width:17px;
  height:17px;
  flex:0 0 17px;
  display:inline-block;
  background:#f5a400;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}

.icon-tag{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M20.59 13.41 12 22l-8.59-8.59A2 2 0 0 1 2.83 12V4a2 2 0 0 1 2-2h8a2 2 0 0 1 1.41.59l6.35 6.35a2 2 0 0 1 0 2.82ZM7.5 8A1.5 1.5 0 1 0 7.5 5a1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M20.59 13.41 12 22l-8.59-8.59A2 2 0 0 1 2.83 12V4a2 2 0 0 1 2-2h8a2 2 0 0 1 1.41.59l6.35 6.35a2 2 0 0 1 0 2.82ZM7.5 8A1.5 1.5 0 1 0 7.5 5a1.5 1.5 0 0 0 0 3Z'/%3E%3C/svg%3E");
}

.icon-clock{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 11h4a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1V7a1 1 0 1 1 2 0v6Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 11h4a1 1 0 1 1 0 2h-5a1 1 0 0 1-1-1V7a1 1 0 1 1 2 0v6Z'/%3E%3C/svg%3E");
}

.icon-calendar{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h1V3a1 1 0 0 1 1-1Zm13 9H4v8a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-8ZM5 6a1 1 0 0 0-1 1v2h16V7a1 1 0 0 0-1-1H5Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23000' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h1V3a1 1 0 0 1 1-1Zm13 9H4v8a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-8ZM5 6a1 1 0 0 0-1 1v2h16V7a1 1 0 0 0-1-1H5Z'/%3E%3C/svg%3E");
}

.airline-logo-img{
  width:92px;
  min-height:54px;
  flex:0 0 92px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.airline-logo-img img{
  max-width:92px;
  max-height:52px;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  border-radius:4px;
}

.product-card-footer{
  align-items:center;
}
#tour-domestic.domestic-bg-section .product-card-image{
  aspect-ratio:1 / 1.05 !important;
}

#tour-domestic.domestic-bg-section .product-card-image img,
#tour-outbound.outbound-bg-section .product-card-image img{
  width:100%;
  height:100%;
  object-fit:cover !important;
  object-position:center top !important;
}
#tour-outbound.outbound-bg-section .center-btn,
#tour-domestic.domestic-bg-section .center-btn{
  margin-top:54px !important;
  position:relative;
  z-index:20;
  clear:both;
}
#tour-outbound.outbound-bg-section .product-card-grid,
#tour-domestic.domestic-bg-section .product-card-grid{
  margin-bottom:10px;
}

#tour-outbound.outbound-bg-section,
#tour-domestic.domestic-bg-section{
  padding-bottom:120px;
}
#tour-outbound.outbound-bg-section .center-btn .btn,
#tour-domestic.domestic-bg-section .center-btn .btn{
  box-shadow:0 16px 32px rgba(0, 85, 184, 0.22);
}
.flash-sale-section{
  position:relative;
  overflow:hidden;
  padding:24px 0 74px;
  background:linear-gradient(180deg, #ffffff 0%, #fff6ea 38%, #fff1dc 100%);
}

.flash-sale-shell{
  position:relative;
  max-width:100%;
  margin:0 auto;
  padding:52px 0 46px;
  background:radial-gradient(circle at 18% 8%, rgba(255, 213, 79, 0.34), transparent 28%), radial-gradient(circle at 85% 35%, rgba(255, 61, 0, 0.16), transparent 30%), linear-gradient(135deg, #fff8ec 0%, #fff0da 52%, #fff8ef 100%);
  border-top:1px solid rgba(255, 173, 51, 0.34);
  border-bottom:1px solid rgba(255, 173, 51, 0.34);
}

.flash-sale-shell::before,
.flash-sale-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}

.flash-sale-shell::before{
  background:linear-gradient(115deg, rgba(255, 255, 255, 0.72) 0%, transparent 36%), linear-gradient(295deg, rgba(255, 196, 0, 0.16) 0%, transparent 34%);
}

.flash-sale-shell::after{
  opacity:.35;
  background-image:linear-gradient(135deg, transparent 0 46%, rgba(255, 180, 0, .42) 48% 52%, transparent 54% 100%), linear-gradient(135deg, transparent 0 44%, rgba(226, 27, 45, .28) 45% 50%, transparent 52% 100%);
  background-size:180px 180px, 260px 260px;
  background-position:-40px 20px, calc(100% + 20px) 70px;
  background-repeat:no-repeat;
}

.flash-bolts{
  position:absolute;
  top:28px;
  width:120px;
  height:210px;
  pointer-events:none;
  z-index:1;
  opacity:.9;
}

.flash-bolts-left{
  left:28px;
}

.flash-bolts-right{
  right:28px;
  transform:scaleX(-1);
}

.flash-bolts span{
  position:absolute;
  display:block;
  width:22px;
  height:74px;
  background:linear-gradient(180deg, #ffcf23, #ff4b1f);
  clip-path:polygon(43% 0, 100% 0, 62% 43%, 100% 43%, 30% 100%, 47% 56%, 0 56%);
  filter:drop-shadow(0 8px 14px rgba(255, 77, 31, .25));
}

.flash-bolts span:nth-child(1){
  left:6px;
  top:8px;
  transform:rotate(8deg) scale(1.24);
}

.flash-bolts span:nth-child(2){
  left:58px;
  top:36px;
  transform:rotate(-7deg);
}

.flash-bolts span:nth-child(3){
  left:28px;
  top:118px;
  transform:rotate(18deg) scale(.8);
  opacity:.75;
}

.flash-sale-section .container{
  position:relative;
  z-index:2;
}

.flash-sale-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  margin-bottom:28px;
}

.flash-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--red);
  font-weight:900;
  letter-spacing:.02em;
  margin-bottom:8px;
}

.flash-sale-title-block h2{
  margin:0;
  color:#111827;
  font-size:clamp(30px, 3vw, 48px);
  line-height:1.08;
}

.flash-sale-title-block h2 strong{
  color:var(--red);
  font-style:italic;
  letter-spacing:.02em;
}

.flash-sale-title-block h2::after{
  content:"";
  display:block;
  width:94px;
  height:5px;
  margin-top:12px;
  border-radius:999px;
  background:var(--red);
}

.flash-sale-title-block p{
  margin:14px 0 0;
  color:#344054;
  font-size:18px;
  line-height:1.7;
  font-weight:600;
}

.countdown-box{
  gap:18px;
  padding:16px 18px;
  border-radius:18px;
  background:linear-gradient(135deg, #e21b2d 0%, #b51120 100%);
  box-shadow:0 18px 42px rgba(226, 27, 45, .22);
  color:#ffffff;
}

.countdown-box,.countdown-label{
  display:flex;
  align-items:center;
}

.countdown-label{
  gap:10px;
  min-width:150px;
}

.countdown-label span{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255, 255, 255, .14);
  font-size:20px;
}

.countdown-label b{
  font-size:18px;
  white-space:nowrap;
}

.countdown-time{
  display:flex;
  align-items:center;
  gap:9px;
}

.countdown-time em{
  font-style:normal;
  font-size:34px;
  font-weight:900;
  color:#ffe08a;
}

.time-card{
  min-width:72px;
  padding:9px 10px 8px;
  border-radius:13px;
  background:linear-gradient(180deg, #ffe360 0%, #ffc928 100%);
  color:#111827;
  text-align:center;
  border:2px solid rgba(255, 255, 255, .36);
  box-shadow:inset 0 -3px 0 rgba(163, 91, 0, .13);
}

.time-card strong{
  display:block;
  font-size:36px;
  line-height:.95;
  font-weight:900;
}

.time-card small{
  display:block;
  margin-top:4px;
  font-size:13px;
  font-weight:800;
}

.flash-sale-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:22px;
}

.flash-deal-card{
  position:relative;
  border-radius:18px;
  background:#ffffff;
  border:1px solid rgba(226, 27, 45, .20);
  box-shadow:0 18px 44px rgba(20, 33, 61, .12);
  transition:.25s ease;
}

.flash-deal-card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 58px rgba(20, 33, 61, .18);
}

.flash-deal-image{
  position:relative;
  aspect-ratio:1.58 / 1;
  overflow:hidden;
  background:#eaf2ff;
}

.flash-deal-image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.deal-badge{
  position:absolute;
  left:12px;
  top:12px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  color:#ffffff;
  font-size:13px;
  font-weight:900;
  background:var(--red);
  box-shadow:0 8px 18px rgba(0, 0, 0, .16);
}

.deal-badge.urgent{
  background:#ff6a00;
}

.deal-badge.strong{
  background:#e21b2d;
}

.deal-badge.special{
  background:var(--blue-dark);
}

.discount-badge{
  position:absolute;
  left:12px;
  bottom:12px;
  z-index:2;
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:6px 13px;
  border-radius:999px;
  background:#ffd233;
  color:#111827;
  font-weight:900;
  font-size:13px;
  box-shadow:0 8px 18px rgba(0, 0, 0, .14);
}

.flash-deal-body{
  padding:16px 16px 18px;
}

.flash-deal-body h3{
  margin:0;
  color:var(--blue-dark);
  font-size:17px;
  line-height:1.42;
  font-weight:900;
  min-height:50px;
}

.flash-deal-meta{
  display:grid;
  gap:6px;
  margin-top:12px;
  color:#475467;
  font-size:13px;
  font-weight:600;
}

.flash-price-row{
  justify-content:space-between;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #edf1f7;
}

.flash-price-row div{
  display:grid;
  gap:2px;
}

.old-price{
  color:#9ca3af;
  text-decoration:line-through;
  font-weight:700;
}

.flash-price-row strong{
  color:var(--red);
  font-size:30px;
  font-weight:900;
  letter-spacing:-.02em;
}

.flash-price-row em{
  color:#6b7280;
  font-size:12px;
  font-style:normal;
  font-weight:700;
}

.deal-btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 15px;
  border-radius:999px;
  background:var(--red);
  color:#ffffff;
  font-weight:900;
  font-size:14px;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(226, 27, 45, .22);
}

.flash-sale-action{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.flash-sale-action .btn{
  min-width:245px;
  gap:8px;
  box-shadow:0 16px 34px rgba(0, 85, 184, .22);
}

.flash-sale-action .btn span{
  font-size:26px;
  line-height:0;
  transform:translateY(-1px);
}
.promotion-marketplace-section{
  padding:86px 0 96px;
}

.promo-market-bg{
  position:absolute;
  inset:auto 0 0;
  height:270px;
  pointer-events:none;
  opacity:.26;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.88) 72%, #ffffff 100%), url("../assets/hero/sections/outbound-tour-skyline.webp") center bottom / cover no-repeat;
}

.promo-market-head{
  max-width:980px;
  margin-bottom:28px;
}

.promo-filter-tabs{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin:0 auto 34px;
}

.promo-filter-tabs,.promo-filter-tab{
  justify-content:center;
  align-items:center;
}

.promo-filter-tab{
  min-height:58px;
  padding:0 26px;
  border:1px solid #dfe7f3;
  border-radius:999px;
  background:#ffffff;
  color:#344054;
  font-weight:800;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(20, 33, 61, 0.05);
  transition:.22s ease;
  display:inline-flex;
  gap:12px;
}

.promo-filter-tab .tab-label{
  white-space:nowrap;
}

.tab-icon-wrap{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.7), 0 6px 14px rgba(20,33,61,.10);
}

.tab-icon-wrap svg{
  width:17px;
  height:17px;
}

.tab-icon-tour{
  background:linear-gradient(135deg, #ffe0f2, #ffd0ea);
  color:#df3f91;
}

.tab-icon-hotel{
  background:linear-gradient(135deg, #fff0cc, #ffe2a1);
  color:#d97706;
}

.tab-icon-car{
  background:linear-gradient(135deg, #dbeafe, #c7e7ff);
  color:#1d4ed8;
}

.tab-icon-member{
  background:linear-gradient(135deg, #eef2ff, #e2e8f0);
  color:#475569;
}

.promo-filter-tab.active,
.promo-filter-tab:hover{
  background:var(--blue);
  color:#ffffff;
  border-color:var(--blue);
  box-shadow:0 16px 34px rgba(0, 85, 184, 0.18);
  transform:translateY(-1px);
}

.promo-filter-tab.active .tab-icon-wrap,
.promo-filter-tab:hover .tab-icon-wrap{
  background:rgba(255,255,255,.16);
  color:#ffffff;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.15);
}

.promo-market-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:24px;
}

.promo-market-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100%;
  border-radius:24px;
  background:#ffffff;
  border:1px solid #e6edf7;
  box-shadow:0 18px 44px rgba(20, 33, 61, .10);
  transition:transform .24s ease, box-shadow .24s ease;
}

.promo-market-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 58px rgba(20, 33, 61, .15);
}

.promo-market-card.is-hidden{
  display:none;
}

.promo-market-image{
  position:relative;
  aspect-ratio:1.42 / 1;
  overflow:hidden;
  background:#eef4ff;
}

.promo-market-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.promo-card-badge{
  position:absolute;
  top:14px;
  left:14px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 14px;
  border-radius:999px;
  color:#ffffff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.02em;
  box-shadow:0 10px 20px rgba(0,0,0,.16);
}

.badge-tour{
  background:linear-gradient(135deg, #2faa54, #73c65b);
}

.badge-hotel{
  background:linear-gradient(135deg, #6d3dc9, #a66cff);
}

.badge-car{
  background:linear-gradient(135deg, #0063d1, #21a4e8);
}

.badge-member{
  background:linear-gradient(135deg, #f97316, #f59e0b);
}

.promo-market-body{
  flex:1;
  padding:18px 20px 16px;
}

.promo-market-body h3{
  margin:0;
  color:var(--blue-dark);
  font-size:19px;
  line-height:1.45;
  font-weight:900;
  min-height:55px;
}

.promo-supplier{
  margin:8px 0 16px;
  color:#667085;
  font-size:14px;
  line-height:1.45;
}

.promo-meta-list{
  display:grid;
  gap:10px;
}

.promo-meta-list span{
  display:flex;
  align-items:center;
  gap:10px;
  color:#667085;
  font-size:14px;
  font-weight:600;
  line-height:1.4;
}

.promo-market-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px 20px;
  border-top:1px solid #eef2f7;
}

.promo-price{
  display:flex;
  align-items:baseline;
  gap:7px;
  flex-wrap:wrap;
}

.promo-price small{
  width:100%;
  color:#9ca3af;
  font-size:12px;
  font-weight:700;
}

.promo-price strong{
  color:var(--red);
  font-size:36px;
  line-height:.9;
  font-weight:900;
  letter-spacing:-.035em;
}

.promo-price em{
  color:#6b7280;
  font-style:normal;
  font-size:13px;
  font-weight:700;
}

.request-price strong{
  font-size:30px;
  letter-spacing:0;
}

.promo-detail-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  color:var(--blue);
  text-decoration:none;
  font-size:15px;
  font-weight:900;
}

.promo-detail-link span{
  font-size:26px;
  line-height:0;
  transform:translateY(-1px);
}

.promo-market-action{
  display:flex;
  justify-content:center;
  margin-top:36px;
}

.promo-market-cta{
  min-width:310px;
  gap:10px;
  box-shadow:0 16px 34px rgba(0, 85, 184, .22);
}

.promo-market-cta .cta-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.promo-market-cta .cta-icon,.promo-market-cta .cta-icon svg{
  width:22px;
  height:22px;
}

.news-section .news-card{
  position:relative;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
  will-change:transform;
}

.news-section .news-card:hover{
  transform:translateY(-8px);
  border-color:rgba(0, 85, 184, .24);
  background-color:#ffffff;
  box-shadow:0 24px 56px rgba(20, 33, 61, .16);
}

.news-section .news-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  z-index:1;
  background:linear-gradient(135deg, rgba(0, 85, 184, .10), transparent 40%), linear-gradient(315deg, rgba(226, 27, 45, .08), transparent 38%);
  transition:opacity .28s ease;
}

.news-section .news-card:hover::after{
  opacity:1;
}

.news-section .news-card > *{
  position:relative;
  z-index:2;
}

.news-section .news-card img{
  transition:transform .38s ease, filter .38s ease;
}

.news-section .news-card:hover img{
  transform:scale(1.06);
  filter:saturate(1.08) contrast(1.04);
}

.news-section .news-card h3{
  transition:color .24s ease;
}

.news-section .news-card:hover h3{
  color:var(--blue);
}

.news-section .news-card a{
  display:inline-flex;
  align-items:center;
  transition:color .24s ease, transform .24s ease;
}

.news-section .news-card:hover a{
  color:var(--red);
  transform:translateX(4px);
}
.promo-outbound-separator + .promotion-marketplace-section{
  padding-top:72px;
}

.promotion-marketplace-section .promo-market-bg{
  height:320px;
  opacity:.30;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.78) 64%, #ffffff 100%), url("../assets/hero/sections/outbound-tour-skyline.webp") center bottom / contain no-repeat;
}
.section-separator.promo-outbound-separator{
  position:relative;
  z-index:6;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #ffffff 44%, #ffffff 100%);
  padding:42px 0 38px;
  overflow:hidden;
}

.section-separator.promo-outbound-separator .container{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
}

.section-separator.promo-outbound-separator .separator-line{
  height:1px;
  width:min(380px, 30vw);
  background:linear-gradient(90deg, transparent, rgba(0, 85, 184, .18), transparent);
}

.section-separator.promo-outbound-separator .separator-mark{
  width:86px;
  height:6px;
  border-radius:999px;
  background:var(--red);
  box-shadow:0 8px 22px rgba(226, 27, 45, .22);
}

.promo-outbound-separator + #tour-outbound,
.promo-outbound-separator + .outbound-bg-section{
  padding-top:72px;
}
.promotion-marketplace-section{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding-bottom:132px !important;
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 44%, #ffffff 100%) !important;
}

.promotion-marketplace-section::before{
  height:360px;
  z-index:0;
  opacity:.38;
  background:url("../assets/hero/sections/outbound-tour-skyline.webp") center bottom / 100% auto no-repeat;
}

.promotion-marketplace-section::before,.promotion-marketplace-section::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:100vw;
  transform:translateX(-50%);
  pointer-events:none;
}

.promotion-marketplace-section::after{
  height:380px;
  z-index:1;
  background:linear-gradient(180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.22) 34%,
      rgba(255,255,255,.68) 76%,
      #ffffff 100%);
}

.promotion-marketplace-section .promo-market-bg{
  display:none !important;
}

.promotion-marketplace-section .container{
  position:relative;
  z-index:3;
}
.promotion-marketplace-section + .promo-outbound-separator{
  position:relative;
  z-index:5;
  margin-top:-18px;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, #ffffff 44%, #ffffff 100%);
}
.featured-news-section{
  position:relative;
  padding:94px 0;
  background:radial-gradient(circle at 18% 18%, rgba(0, 85, 184, .06), transparent 28%), linear-gradient(180deg, #ffffff 0%, #f8fbff 50%, #ffffff 100%);
}

.featured-news-panel{
  position:relative;
  overflow:hidden;
  padding:36px 38px 32px;
  border-radius:28px;
  background:rgba(255, 255, 255, .86);
  border:1px solid #dfe8f5;
  box-shadow:0 24px 64px rgba(20, 33, 61, .10);
  backdrop-filter:blur(12px);
}

.featured-news-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 10% 8%, rgba(0, 85, 184, .07), transparent 24%), radial-gradient(circle at 88% 92%, rgba(226, 27, 45, .05), transparent 22%);
}

.featured-news-panel > *{
  position:relative;
  z-index:2;
}

.featured-news-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:24px;
  margin-bottom:28px;
}

.featured-news-title{
  display:flex;
  align-items:flex-start;
  gap:18px;
}

.news-title-icon{
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  border-radius:16px;
  color:#ffffff;
  background:linear-gradient(135deg, var(--blue), var(--blue-dark));
  box-shadow:0 14px 30px rgba(0, 85, 184, .24);
}

.news-title-icon svg{
  width:30px;
  height:30px;
}

.featured-news-title h2{
  margin:0;
  color:var(--blue-dark);
  font-size:clamp(32px, 3vw, 48px);
  line-height:1.12;
  font-weight:900;
}

.featured-news-title p{
  margin:10px 0 0;
  color:#667085;
  font-size:18px;
  line-height:1.55;
  font-weight:600;
}

.news-all-link{
  flex:0 0 auto;
  min-height:54px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(0, 85, 184, .26);
  border-radius:999px;
  color:var(--blue);
  background:#ffffff;
  text-decoration:none;
  font-size:16px;
  font-weight:900;
  transition:.24s ease;
}

.news-all-link:hover{
  transform:translateY(-3px);
  color:#ffffff;
  background:var(--blue);
  box-shadow:0 16px 34px rgba(0, 85, 184, .18);
}

.news-category-tabs{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:16px;
  margin-bottom:30px;
}

.news-tab{
  min-height:54px;
  border:1px solid #dfe7f3;
  border-radius:999px;
  background:#ffffff;
  color:#344054;
  font-size:15px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(20, 33, 61, .04);
  transition:.24s ease;
}

.news-tab:hover,
.news-tab.active{
  color:#ffffff;
  background:var(--blue);
  border-color:var(--blue);
  box-shadow:0 16px 34px rgba(0, 85, 184, .18);
  transform:translateY(-2px);
}

.news-tab-icon{
  margin-right:8px;
}

.featured-news-layout{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, 1.12fr);
  gap:24px;
}

.featured-main-news,
.side-news-card{
  position:relative;
  overflow:hidden;
  background:#ffffff;
  border:1px solid #e5edf7;
  box-shadow:0 16px 42px rgba(20, 33, 61, .08);
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.featured-main-news:hover,
.side-news-card:hover{
  transform:translateY(-8px);
  border-color:rgba(0, 85, 184, .24);
  box-shadow:0 26px 62px rgba(20, 33, 61, .15);
}

.featured-main-news{
  border-radius:24px;
}

.featured-main-image{
  position:relative;
  height:410px;
  overflow:hidden;
  background:#eef4ff;
}

.featured-main-image img,
.side-news-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .42s ease, filter .42s ease;
}

.featured-main-news:hover img,
.side-news-card:hover img{
  transform:scale(1.055);
  filter:saturate(1.08) contrast(1.04);
}

.featured-badge{
  position:absolute;
  left:22px;
  top:22px;
  z-index:2;
  min-height:42px;
  padding:9px 18px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  background:var(--red);
  color:#ffffff;
  font-weight:900;
  box-shadow:0 12px 24px rgba(226, 27, 45, .28);
}

.featured-main-content{
  margin:-64px 22px 22px;
  position:relative;
  z-index:3;
  padding:28px 30px 30px;
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 44px rgba(20, 33, 61, .12);
  backdrop-filter:blur(12px);
}

.news-meta-line{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:12px;
  flex-wrap:wrap;
}

.news-badge{
  min-height:30px;
  display:inline-flex;
  align-items:center;
  padding:5px 13px;
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}

.badge-association{
  color:#0055b8;
  background:#dbeafe;
}

.badge-activity{
  color:#ffffff;
  background:#2faa54;
}

.badge-business{
  color:#ffffff;
  background:#7a4bd3;
}

.news-date{
  color:#667085;
  font-size:14px;
  font-weight:700;
}

.featured-main-content h3,
.side-news-content h3{
  margin:0;
  color:var(--blue-dark);
  font-weight:900;
  transition:color .24s ease;
}

.featured-main-news:hover h3,
.side-news-card:hover h3{
  color:var(--blue);
}

.featured-main-content h3{
  font-size:30px;
  line-height:1.25;
}

.featured-main-content p{
  margin:14px 0 22px;
  color:#475467;
  font-size:17px;
  line-height:1.72;
}

.news-read-more{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--blue);
  font-weight:900;
  text-decoration:none;
  transition:.24s ease;
}

.news-read-more:hover,
.featured-main-news:hover .news-read-more,
.side-news-card:hover .news-read-more{
  color:var(--red);
  transform:translateX(4px);
}

.featured-side-news{
  display:grid;
  gap:20px;
}

.side-news-card{
  display:grid;
  grid-template-columns:280px minmax(0, 1fr);
  border-radius:22px;
  min-height:198px;
}

.side-news-image{
  overflow:hidden;
  background:#eef4ff;
}

.side-news-content{
  padding:24px 26px 22px;
}

.side-news-content h3{
  font-size:23px;
  line-height:1.34;
}

.side-news-content p{
  margin:10px 0 14px;
  color:#475467;
  font-size:15px;
  line-height:1.62;
}

.news-subscribe-box{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) minmax(360px, .95fr);
  align-items:center;
  gap:22px;
  margin-top:28px;
  padding:22px 24px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(0, 85, 184, .10), rgba(0, 85, 184, .04));
  border:1px solid #dfe8f5;
}

.subscribe-icon{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:18px;
  color:#ffffff;
  background:linear-gradient(135deg, var(--blue), #4f8df7);
  box-shadow:0 14px 28px rgba(0, 85, 184, .20);
}

.subscribe-icon svg{
  width:34px;
  height:34px;
}

.subscribe-text h3{
  margin:0;
  color:var(--blue-dark);
  font-size:22px;
  line-height:1.3;
  font-weight:900;
}

.subscribe-text p{
  margin:6px 0 0;
  color:#667085;
  font-size:15px;
  line-height:1.55;
}

.subscribe-form{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  overflow:hidden;
  border:1px solid #d8e2f1;
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(20, 33, 61, .05);
}

.subscribe-form input{
  min-height:54px;
  border:0;
  padding:0 22px;
  font:inherit;
  outline:none;
  background:transparent;
}

.subscribe-form button{
  min-height:54px;
  padding:0 30px;
  border:0;
  border-radius:999px;
  color:#ffffff;
  background:var(--blue);
  font-weight:900;
  cursor:pointer;
  transition:.24s ease;
}

.subscribe-form button:hover{
  background:var(--blue-dark);
}

.news-card.is-hidden{
  display:none !important;
}

.featured-main-image,
.side-news-image{
  position:relative;
}

.featured-main-news .featured-main-image::after,
.side-news-card .side-news-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(0,0,0,.035) 100%);
}

.featured-main-news:hover .featured-main-image img,
.side-news-card:hover .side-news-image img{
  opacity:1;
}
body .featured-news-section + .section-separator{
  margin-top:-4px !important;
}

body .featured-news-section + section:not(.section-separator){
  margin-top:0 !important;
}
body .featured-main-news::after,
body .side-news-card::after{
  pointer-events:none !important;
}
.flash-price-row > div{
  flex-direction:column;
}

.flash-price-row .old-price{
  display:inline-block;
  margin-bottom:4px;
}

.flash-price-row .save-badge{
  justify-content:center;
}

.flash-price-row .old-price{
  color:#8f98a8 !important;
  font-size:17px !important;
  font-weight:800 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
}

.flash-price-row .save-badge{
  display:inline-flex !important;
  align-items:center !important;
  width:fit-content !important;
  margin:0 !important;
  padding:7px 14px !important;
  border-radius:9px !important;
  background:linear-gradient(135deg, #ffe36b 0%, #ffc21a 100%) !important;
  color:#e31326 !important;
  font-size:14px !important;
  font-weight:950 !important;
  line-height:1 !important;
  box-shadow:0 8px 18px rgba(255, 193, 7, .28) !important;
  border:1px solid rgba(255, 172, 0, .55) !important;
}

.flash-price-row .save-badge::before{
  content:"🏷";
  font-size:13px;
  margin-right:6px;
}

.flash-price-row .save-badge::after{
  content:"✦";
  font-size:12px;
  margin-left:6px;
  color:#ff5a00;
}

.flash-price-row strong{
  display:block !important;
  margin-top:0 !important;
  line-height:.98 !important;
}

.flash-price-row{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) auto !important;
  align-items:end !important;
  gap:14px !important;
  width:100% !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}

.flash-price-row > div{
  width:auto !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:auto minmax(0, auto) !important;
  grid-template-areas:"old save" "price price" !important;
  align-items:center !important;
  justify-content:start !important;
  column-gap:12px !important;
  row-gap:6px !important;
}

.flash-price-row .old-price{
  grid-area:old !important;
  margin:0 !important;
  white-space:nowrap !important;
}

.flash-price-row .save-badge{
  grid-area:save !important;
  justify-self:start !important;
  max-width:100% !important;
  white-space:nowrap !important;
}

.flash-price-row strong{
  grid-area:price !important;
  white-space:nowrap !important;
}

.flash-price-row a,
.flash-price-row button{
  justify-self:end !important;
  align-self:end !important;
  flex:0 0 auto !important;
  white-space:nowrap !important;
  max-width:none !important;
  margin-left:0 !important;
}
.flash-deal-card{
  overflow:visible !important;
}

.flash-deal-card .flash-price-row{
  min-height:118px !important;
}
.product-meta-list .tour-wholesale-row{
  display:flex;
  align-items:center;
  gap:7px;
  color:#6b7280;
  font-size:14px;
  font-weight:700;
  line-height:1.35;
}

.product-meta-list .tour-wholesale-row .fa-solid.fa-user{
  width:17px;
  min-width:17px;
  color:#f5a400;
  font-size:15px;
  line-height:1;
  text-align:center;
}

.product-meta-list .tour-wholesale-row .wholesale-label{
  color:#6b7280;
  font-weight:700;
}

.product-meta-list .tour-wholesale-row a{
  color:#00448f;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:2px;
}

.product-meta-list .tour-wholesale-row a:hover{
  color:#ef3340;
}
.tour-wholesale-row{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#6b7280 !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  white-space:nowrap !important;
}

.tour-wholesale-row .fa-solid.fa-user{
  width:17px !important;
  min-width:17px !important;
  color:#f5a400 !important;
  font-size:15px !important;
  line-height:1 !important;
  text-align:center !important;
}

.tour-wholesale-row .wholesale-label{
  color:#6b7280 !important;
  font-weight:700 !important;
}

.tour-wholesale-row a{
  color:#00448f !important;
  font-weight:900 !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}

.tour-wholesale-row a:hover{
  color:#ef3340 !important;
}

.promo-market-card .tour-wholesale-row,
.flash-deal-card .tour-wholesale-row,
.ttb-domestic-shelf .tour-wholesale-row{
  margin-top:2px !important;
}

:root{
  --ttb-green:#00c300;
}

.ttb-site-footer,
.ttb-site-footer *{
  box-sizing:border-box;
}

.ttb-site-footer{
  background:var(--ttb-blue-dark);
  color:#fff;
  padding:0;
  position:relative;
  overflow:hidden;
  font-family:var(--ttb-font-family);
  line-height:1.6;
}

.ttb-site-footer a{
  color:inherit;
  text-decoration:none;
}

.ttb-site-footer img{
  max-width:100%;
  display:block;
}

.ttb-container{
  width:min(1360px, calc(100% - 48px));
  margin-inline:auto;
}

.ttb-footer-inner{
  width:min(1380px, calc(100% - 48px));
  max-width:1380px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.45fr .78fr .9fr 1fr;
  gap:70px;
  padding:66px 0 58px;
  align-items:start;
  transform:translateX(40px);
}

.ttb-footer-brand-row{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:24px;
}

.ttb-footer-logo{
  width:86px;
  height:86px;
  border-radius:18px;
  background:#fff;
  display:grid;
  place-items:center;
  padding:10px;
  box-shadow:0 10px 26px rgba(0,0,0,.08);
}

.ttb-footer-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.ttb-footer-brand h3{
  font-size:27px;
  font-weight:800;
  line-height:1.2;
  margin:0;
}

.ttb-footer-company-name{
  font-weight:800;
  color:#fff;
  margin-bottom:14px;
}

.ttb-footer-brand p,
.ttb-footer-col p,
.ttb-footer-col a{
  color:rgba(255,255,255,.86);
  font-size:15px;
  line-height:1.8;
}

.ttb-footer-brand p{
  max-width:430px;
  margin:0 0 10px;
}

.ttb-footer-col h4{
  display:inline-block;
  position:relative;
  font-size:18px;
  font-weight:800;
  margin:0 0 22px;
}

.ttb-footer-col h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:42px;
  height:2px;
  background:rgba(255,255,255,.92);
  border-radius:999px;
}

.ttb-footer-col a{
  display:block;
  margin-bottom:11px;
  transition:.22s ease;
}

.ttb-footer-col a:hover{
  color:var(--ttb-gold);
  padding-left:4px;
}

.ttb-footer-register{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  padding:8px 30px;
  border-radius:999px;
  background:var(--ttb-gold);
  color:#073b77 !important;
  font-weight:800;
  line-height:1.3 !important;
}

.ttb-footer-register:hover{
  padding-left:30px !important;
  transform:translateY(-1px);
}

.ttb-footer-contact p{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 10px;
}

.ttb-footer-socials{
  display:flex;
  gap:12px;
  margin-top:18px;
}

.ttb-footer-socials a{
  width:38px;
  height:38px;
  border-radius:11px;
  display:grid;
  place-items:center;
  padding:0 !important;
  margin:0;
  color:#fff;
  font-weight:800;
  line-height:1;
}

.ttb-social-facebook{
  background:#1877f2;
  font-size:20px;
}

.ttb-social-line{
  background:var(--ttb-green);
  font-size:10px;
}

.ttb-social-tiktok{
  background:#111111;
}

.ttb-social-instagram{
  background:linear-gradient(135deg, #f9ce34 0%, #ee2a7b 48%, #6228d7 100%);
}

.ttb-footer-socials svg{
  width:19px;
  height:19px;
  display:block;
}

.ttb-social-tiktok svg path{
  fill:#fff;
}

.ttb-social-instagram svg rect,
.ttb-social-instagram svg circle{
  fill:none;
  stroke:#fff;
  stroke-width:1.9;
}

.ttb-mobile-footer-actions{
  display:none;
}

.ttb-footer-meta-wrap{
  padding:0 0 34px;
}

.ttb-footer-meta-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto minmax(0, 1fr);
  align-items:center;
  gap:24px;
}

.ttb-footer-line-left,
.ttb-footer-line-right{
  display:block;
  width:100%;
  height:1px;
  min-height:1px;
  background:rgba(255,255,255,.28);
  border:0;
  box-shadow:none;
}

.ttb-footer-visitor-badge{
  min-width:176px;
  padding:12px 26px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.36);
  text-align:center;
  position:relative;
  z-index:2;
}

.visitor-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  line-height:1.25;
  margin-bottom:4px;
}

.visitor-icon{
  width:14px;
  height:14px;
  fill:#fff;
  color:#fff;
  flex:0 0 auto;
}

.ttb-footer-visitor-badge strong{
  display:block;
  color:#fff;
  font-size:20px;
  font-weight:800;
  line-height:1.1;
}

.ttb-footer-bottom-final{
  width:min(1280px, calc(100% - 48px));
  max-width:1280px;
  margin:0 auto;
  padding:22px 0 0;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  grid-template-rows:auto auto;
  row-gap:26px;
  align-items:center;
  text-align:center;
}

.ttb-footer-copyright{
  grid-column:1 / -1;
  grid-row:1;
}

.ttb-footer-copyright,.ttb-footer-powered{
  justify-self:center;
  color:rgba(255,255,255,.88);
  font-size:14px;
  margin:0;
}

.ttb-footer-powered{
  grid-column:2;
  grid-row:2;
  align-self:center;
  white-space:nowrap;
}

.ttb-footer-powered strong{
  color:#fff;
  font-size:18px;
  font-weight:800;
}

.ttb-back-to-top{
  grid-column:3;
  grid-row:2;
  justify-self:end;
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  background:transparent;
  color:#fff;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  line-height:1;
  letter-spacing:-0.25px;
  cursor:pointer;
  transition:.22s ease;
  margin:0;
  padding:0;
  white-space:nowrap;
}

.ttb-back-to-top i{
  width:24px;
  height:24px;
  min-width:24px;
  border-radius:999px;
  background:#fff;
  color:var(--ttb-blue-dark);
  display:grid;
  place-items:center;
  font-style:normal;
  box-shadow:0 8px 18px rgba(0,0,0,.12);
}

.ttb-back-to-top i svg{
  width:14px;
  height:14px;
  display:block;
}

.ttb-back-to-top i path{
  fill:none;
  stroke:currentColor;
  stroke-width:2.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-back-to-top:hover{
  color:#fff;
  transform:translateY(-2px);
}

.ttb-back-to-top:hover i{
  background:var(--ttb-gold);
  color:#073b77;
}

:root{
  --ttb-blue-dark:#003f8f;
  --ttb-blue-soft:#eaf3ff;
  --ttb-gold:#f7c948;
  --ttb-white:#fff;
  --ttb-line:#e4e9f1;
  --ttb-text:#14213d;
  --ttb-muted:#667085;
  --ttb-container:1180px;
}

.top-bar,
.top-bar *,
.site-header,
.site-header *{
  box-sizing:border-box;
}

.top-bar,
.site-header{
  font-family:var(--ttb-font-family);
  color:var(--ttb-text);
}

.top-bar a,
.site-header a{
  color:inherit;
  text-decoration:none;
}

.site-header button{
  font-family:inherit;
}

.top-bar .container,
.site-header .container{
  width:min(var(--ttb-container), calc(100% - 36px));
  margin-inline:auto;
}

.top-bar .top-links a.top-register,
.top-bar .top-links a.top-register-actual-btn{
  min-width:104px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg, #ffd544 0%, #f5b50a 100%);
  color:#0b2c55;
  font-size:14.5px;
  font-weight:950;
  line-height:1;
  letter-spacing:-0.01em;
  box-shadow:0 5px 12px rgba(245, 181, 10, 0.24);
  transition:background 0.22s ease, color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}

.top-bar .top-links a.top-register:hover,
.top-bar .top-links a.top-register-actual-btn:hover{
  background:linear-gradient(180deg, #ffe06b 0%, #ffbf1a 100%);
  color:var(--ttb-blue-dark);
  transform:translateY(-1px);
  box-shadow:0 7px 15px rgba(245, 181, 10, 0.38);
}

.top-bar .top-links a.top-register:active,
.top-bar .top-links a.top-register-actual-btn:active{
  transform:translateY(0);
  box-shadow:0 4px 10px rgba(245, 181, 10, 0.28);
}

.brand-logo{
  margin-left:-55px;
}

.main-menu-inner a:hover{
  background:rgba(255, 255, 255, 0.12);
  color:var(--ttb-gold);
}
body > .top-links,
main > .top-links,
.hero-banner > .top-links{
  display:none !important;
}

:root{
  --layout-header-width:1380px;
  --layout-content-width:1380px;
  --layout-padding:24px;
}
html,
body{
  overflow-x:clip;
}
.site-header .container,
.site-header .header-main,
.header-main,
.main-menu-inner,
.main-menu-bar > .container,
.main-menu-bar > .main-menu-inner{
  width:min(var(--layout-header-width), calc(100% - (var(--layout-padding) * 2))) !important;
  max-width:var(--layout-header-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
main,
main > section,
.hero-banner,
.banner-hero,
.search-section,
.featured-news-section,
.news-section,
.news-to-pr-divider,
.long-promo-banner-section,
.promo-to-products-divider,
.promotion-marketplace-section,
.section-separator,
.outbound-bg-section,
.flash-sale-section,
.tour-section-divider,
.domestic-bg-section,
.business-section-divider,
.matching-section,
.review-section,
.partners-section{
  width:100% !important;
}
.search-section > .container,
.featured-news-section > .container,
.news-section > .container,
.news-to-pr-divider > .container,
.long-promo-banner-section > .container,
.promo-to-products-divider > .container,
.promotion-marketplace-section > .container,
.section-separator > .container,
.outbound-bg-section > .container,
.flash-sale-section .flash-sale-shell > .container,
.tour-section-divider > .container,
.domestic-bg-section > .container,
.business-section-divider > .container,
#business > .container,
.section.soft > .container,
.matching-section > .container,
.review-section > .container,
.partners-section > .container,
#members > .container{
  width:min(var(--layout-content-width), calc(100% - (var(--layout-padding) * 2))) !important;
  max-width:var(--layout-content-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.hero-banner .banner-slider,
.hero-banner .banner-track,
.hero-banner .banner-slide{
  width:100% !important;
}
.featured-news-layout,
.promo-market-grid,
.product-card-grid,
.outbound-product-grid,
.domestic-product-grid,
.flash-sale-grid,
.business-grid,
.gallery-grid,
.matching-cards,
.review-grid,
.partner-grid{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}
.promo-market-grid,
.outbound-product-grid,
.domestic-product-grid,
.flash-sale-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  column-gap:24px !important;
}
.business-grid,
.gallery-grid,
.partner-grid,
.review-grid,
.matching-cards{
  box-sizing:border-box !important;
}
.promo-market-card,
.product-tour-card,
.domestic-card,
.business-card,
.gallery-img,
.review-card,
.partner-grid > *,
.matching-cards > *,
main article,
main [class*="card"]{
  max-width:100% !important;
  box-sizing:border-box !important;
}
main img,
.long-promo-banner-wrap img{
  max-width:100% !important;
  height:auto;
}
.outbound-skyline-img,
.domestic-skyline-img,
.promo-market-bg{
  max-width:none !important;
}
footer{
  width:100% !important;
}

footer .container{
  width:min(var(--layout-content-width), calc(100% - (var(--layout-padding) * 2))) !important;
  max-width:var(--layout-content-width) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
main > section{
  scroll-margin-top:24px;
}

body > .top-links,
main > .top-links,
.hero-banner > .top-links,
.search-section > .top-links{
  display:none !important;
}

.main-menu-bar{
  position:relative !important;
  top:auto !important;
  width:100% !important;
  background:#004993 !important;
  z-index:1000 !important;
}

body.ttb-menu-fixed-active .top-bar,
body.ttb-menu-fixed-active .site-header .header-main{
  display:none !important;
}

body.ttb-menu-fixed-active .site-header{
  position:relative !important;
  z-index:9999 !important;
}

.main-menu-bar.is-menu-fixed{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  z-index:99999 !important;
  box-shadow:0 10px 24px rgba(0, 42, 100, 0.18) !important;
  animation:ttbMenuDrop .16s ease-out both;
}

@keyframes ttbMenuDrop{
  from{
    transform:translateY(-6px);
    opacity:.96;
  }
  to{
    transform:translateY(0);
    opacity:1;
  }
}

.ttb-menu-spacer{
  display:none;
  height:0;
}

.ttb-menu-spacer.is-active{
  display:block;
}

.main-menu-inner,
.main-menu-bar > .container,
.main-menu-bar > .main-menu-inner{
  width:min(var(--layout-header-width, 1380px), calc(100% - (var(--layout-padding, 24px) * 2))) !important;
  max-width:var(--layout-header-width, 1380px) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

main > section,
section[id]{
  scroll-margin-top:92px !important;
}

.ttb-mobile-home,
.mobile-menu-toggle,
.mobile-header-search-icon,.ttb-mobile-search-modal{
  display:none;
}

@keyframes ttbSearchShake{
  0%, 100%{ transform:translateX(0); }
  25%{ transform:translateX(-4px); }
  50%{ transform:translateX(4px); }
  75%{ transform:translateX(-3px); }
}

.shelf-title-row,
.shelf-view-all,
.shelf-chip-row{
  display:none;
}

.top-bar{
  height:58px;
  min-height:58px;
  background:var(--blue-dark);
  color:var(--white);
  font-size:14px;
  font-weight:850;
  overflow:visible;
}

.top-bar-inner{
  min-height:58px;
  justify-content:space-between;
  gap:18px;
}

.top-bar-inner,.top-links{
  height:58px;
  display:flex;
  align-items:center;
}

.top-links{
  gap:10px;
  white-space:nowrap;
}

.top-links a,
.top-links span{
  font-size:14px;
  font-weight:850;
  line-height:1;
}

.top-register{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:104px;
  height:28px;
  padding:0 17px;
  border-radius:999px;
  background:linear-gradient(135deg, #ffd84d 0%, #ffb300 100%);
  color:#0b2c55 !important;
  font-size:14.5px;
  font-weight:950;
  line-height:1;
  letter-spacing:-0.01em;
  box-shadow:0 5px 12px rgba(255, 176, 0, 0.25);
  border:1px solid rgba(255, 218, 76, 0.75);
  transition:0.22s ease;
}

.top-register:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 15px rgba(255, 176, 0, 0.32);
}

.site-header{
  background:#ffffff;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:100;
  box-shadow:0 6px 24px rgba(0, 0, 0, 0.04);
}

.header-main{
  min-height:118px;
  display:grid;
  grid-template-columns:minmax(330px, 0.95fr) minmax(520px, 1.05fr);
  align-items:center;
  gap:34px;
  padding:14px 0;
}

.brand{
  gap:18px;
  min-width:0;
}

.brand,.brand-logo{
  display:flex;
  align-items:center;
}

.brand-logo{
  width:104px;
  height:104px;
  border-radius:24px;
  background:#ffffff;
  border:1px solid #d9e8ff;
  justify-content:center;
  color:var(--blue);
  font-weight:800;
  box-shadow:0 12px 30px rgba(0, 85, 184, 0.16);
  padding:3px;
  overflow:hidden;
  flex:0 0 104px;
}

.brand-logo img{
  width:116%;
  height:116%;
  object-fit:contain;
  display:block;
}

.brand-title{
  line-height:1.05;
  font-weight:800;
  color:var(--blue-dark);
}

.brand-sub{
  font-size:15px;
  color:var(--muted);
  margin-top:7px;
}

.header-info{
  justify-content:flex-end;
  gap:28px;
}

.header-info,.info-block{
  display:flex;
  align-items:center;
}

.info-block{
  gap:14px;
  color:#4b5563;
}

.info-block + .info-block{
  padding-left:28px;
  border-left:1px solid var(--line);
}

.info-block strong{
  display:block;
  color:#344054;
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  margin-bottom:4px;
}

.info-block p{
  margin:0;
  color:#5b6472;
  font-size:14px;
  line-height:1.45;
}

.info-icon{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--blue-soft);
  color:var(--blue-dark);
  font-size:22px;
  flex:0 0 42px;
}

.line-icon{
  width:50px;
  height:50px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:#00c300;
  color:#ffffff;
  font-size:12px;
  font-weight:800;
  flex:0 0 50px;
}

.contact-line strong{
  color:#00a600;
  font-size:18px;
}

.main-menu-bar{
  background:var(--blue-dark);
  border-top:1px solid rgba(255, 255, 255, 0.12);
  border-bottom:1px solid rgba(0, 0, 0, 0.08);
  min-height:70px;
}

.main-menu-inner{
  display:flex;
  gap:0;
}

.main-menu-inner,.main-menu-inner a{
  min-height:70px;
  align-items:center;
  justify-content:center;
}

.main-menu-inner a{
  display:inline-flex;
  color:#ffffff;
  white-space:nowrap;
  transition:0.22s ease;
  border-left:1px solid rgba(255, 255, 255, 0.08);
}

.main-menu-inner a:last-child{
  border-right:1px solid rgba(255, 255, 255, 0.08);
}

.main-menu-inner a.active,
.main-menu-inner a:hover{
  background:rgba(255, 255, 255, 0.12);
  color:var(--gold);
}

.mobile-menu-toggle,
.mobile-menu-overlay,
.mobile-menu-panel{
  display:none;
}

.top-bar,
.top-links a,
.top-links span,
.main-menu-inner a,
.brand-title{
  font-family:var(--ttb-font-family);
}

.main-menu-bar,.main-menu-inner{
  min-height:72px;
}

.main-menu-inner a{
  min-height:72px;
  padding:0 24px;
  font-size:20px;
  line-height:1.15;
  letter-spacing:-0.015em;
  text-shadow:0 0 0 currentColor;
}

.top-bar,.top-links a,
.top-links span{
  font-size:14.5px;
  font-weight:700;
}

.top-register,.brand-title{
  font-weight:700;
}

.brand-title{
  font-size:31px;
  letter-spacing:-0.02em;
}

.info-block strong,
.contact-line strong{
  font-weight:700;
}

input,
select,
button,
option,
.main-menu-inner a{
  font-family:var(--ttb-font-family) !important;
}

.main-menu-inner a{
  font-weight:700 !important;
}

button,
input,
select,
option,
label,
.main-menu-inner a{
  font-family:var(--ttb-font-family) !important;
}

.main-menu-bar,.main-menu-inner{
  overflow:visible;
}

.main-menu-inner,.nav-mega-item{
  position:static;
}

.nav-mega-item{
  min-height:72px;
}

.main-menu-inner > a,
.main-menu-inner > .nav-mega-item > .nav-mega-trigger{
  min-height:72px;
  padding:0 24px;
  font-size:18px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.2;
  text-shadow:none;
}

.nav-mega-trigger i{
  margin-left:7px;
  font-size:11px;
  opacity:.78;
}

.nav-mega-item:hover > .nav-mega-trigger,
.nav-mega-item:focus-within > .nav-mega-trigger{
  color:#ffc20e;
  background:rgba(255, 255, 255, 0.08);
}

.ttb-country-mega{
  position:absolute;
  top:100%;
  left:50%;
  z-index:80;
  width:min(1420px, calc(100vw - 92px));
  transform:translateX(-50%);
  display:block;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  border-radius:0 0 10px 10px;
  border:1px solid #e7edf5;
  border-top:0;
  background:#ffffff;
  box-shadow:0 18px 38px rgba(15, 23, 42, 0.12);
  transition:opacity .16s ease, visibility .16s ease, transform .16s ease;
}

.nav-mega-item:hover > .ttb-country-mega,
.nav-mega-item:focus-within > .ttb-country-mega{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateX(-50%);
}

.ttb-country-mega-inner{
  display:grid;
  grid-template-columns:1.02fr 1.04fr 1.12fr 1.14fr 1.02fr 1.02fr;
  align-items:start;
  min-height:0;
}

.ttb-country-mega--domestic .ttb-country-mega-inner{
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

.ttb-country-col{
  min-width:0;
  padding:15px 18px 18px;
  border-right:1px solid #edf2f7;
  background:#ffffff;
}

.ttb-country-col:last-child{
  border-right:0;
}

.ttb-country-col h3{
  margin:0 0 11px;
  padding:0 0 9px;
  border-bottom:1px solid #edf2f7;
  font-size:15.6px;
}

.ttb-country-col h3,.ttb-country-subhead{
  color:#0c2d62;
  font-weight:700;
  line-height:1.25;
  text-align:center;
  letter-spacing:0;
}

.ttb-country-subhead{
  margin:11px 0 7px;
  padding-top:9px;
  border-top:1px solid #edf2f7;
  font-size:13.8px;
}

.ttb-country-link{
  min-height:36px;
  height:36px;
  display:grid;
  grid-template-columns:25px minmax(0, 1fr) 44px;
  align-items:center;
  gap:8px;
  padding:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#17233b;
  font-size:14.3px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:0;
  text-decoration:none;
  text-shadow:none;
  transition:background-color .16s ease, color .16s ease, transform .16s ease;
}

.ttb-country-link:hover{
  background:#f4f8ff;
  color:#0055b8;
  transform:translateX(1px);
}

.ttb-country-link .country-flag{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  flex:0 0 22px;
  overflow:hidden;
  border:1px solid #e4edf8;
  border-radius:50%;
  background:#ffffff;
  box-shadow:0 2px 6px rgba(15, 23, 42, 0.07);
  font-size:13px;
}

.country-flag-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:50%;
}

.ttb-country-link .country-name{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  color:#17233b;
  font-size:14.3px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:0;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.ttb-country-link:hover .country-name{
  color:#0055b8;
  font-weight:500;
}

.ttb-country-link b{
  width:44px;
  min-width:44px;
  max-width:44px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:center;
  padding:0;
  border-radius:7px;
  background:#0055b8;
  color:#ffffff;
  font-size:12px;
  font-weight:700;
  line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:-0.02em;
  box-shadow:0 4px 10px rgba(0, 85, 184, 0.12);
}

.ttb-country-link:hover b{
  background:#ffc20e;
  color:#0c2d62;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-flag{
  margin:0 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link b{
  margin:0 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link:hover b,
body .ttb-country-mega .ttb-country-col .ttb-country-link:focus b{
  background:#ffc20e !important;
  color:#0c2d62 !important;
  box-shadow:0 4px 10px rgba(255, 194, 14, 0.22) !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link:hover .country-flag,
body .ttb-country-mega .ttb-country-col .ttb-country-link:focus .country-flag{
  border-color:#d8e9ff !important;
  box-shadow:0 2px 8px rgba(0, 85, 184, 0.12) !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-name{
  font-family:var(--ttb-font-family) !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link{
  grid-template-columns:30px minmax(0, 1fr) 58px !important;
  margin-top:2px !important;
  margin-bottom:2px !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link + .ttb-country-link{
  margin-top:3px !important;
}

body .ttb-country-mega .ttb-country-col h3{
  margin-bottom:12px !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-subhead{
  margin-top:12px !important;
  margin-bottom:9px !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link:hover .country-name,
body .ttb-country-mega .ttb-country-col .ttb-country-link:focus .country-name{
  color:#0055b8 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-name{
  margin-left:0 !important;
  padding-left:0 !important;
}

body .ttb-country-mega .ttb-country-col{
  padding-left:16px !important;
  padding-right:16px !important;
}

body .ttb-country-mega{
  width:min(1540px, calc(100vw - 36px)) !important;
}

body .ttb-country-mega .ttb-country-mega-inner{
  grid-template-columns:1.18fr 1.16fr 1.12fr 1.14fr 1.04fr 1.04fr !important;
}

body .ttb-country-mega .ttb-country-col{
  padding:16px 18px 19px !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link{
  display:flex !important;
  align-items:center !important;
  min-height:46px !important;
  height:46px !important;
  margin:2px 0 !important;
  padding:0 6px 0 0 !important;
  gap:8px !important;
  border-radius:13px !important;
  line-height:1.25 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-flag{
  width:31px !important;
  height:31px !important;
  flex:0 0 31px !important;
  margin-left:0 !important;
  margin-right:0 !important;
  align-self:center !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-name{
  flex:1 1 auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#17233b !important;
  letter-spacing:0 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link b{
  margin-left:auto !important;
  margin-right:0 !important;
  width:50px !important;
  min-width:50px !important;
  max-width:50px !important;
  height:30px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:center !important;
  border-radius:11px !important;
  font-size:13.6px !important;
  font-weight:700 !important;
  line-height:1 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link:hover,
body .ttb-country-mega .ttb-country-col .ttb-country-link:focus{
  min-height:46px !important;
  height:46px !important;
  padding:0 6px 0 0 !important;
  background:#f3f8ff !important;
  color:#0055b8 !important;
  transform:none !important;
}

body .ttb-country-mega .ttb-country-col h3{
  margin:0 0 15px !important;
  padding:0 0 12px !important;
  border-bottom:1px solid #e3ebf5 !important;
  color:#0b2d63 !important;
  font-size:17.2px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  text-align:center !important;
  letter-spacing:0 !important;
}

body .ttb-country-mega .ttb-country-col{
  padding-top:18px !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-subhead{
  margin:14px 0 10px !important;
  padding-top:12px !important;
  border-top:1px solid #e3ebf5 !important;
  text-align:center !important;
  letter-spacing:0 !important;
  font-size:17.6px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  color:#0b2d63 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-name{
  font-size:16px !important;
  font-weight:300 !important;
  line-height:1.25 !important;
}

body .ttb-country-mega .ttb-country-col .ttb-country-link:hover .country-name,
body .ttb-country-mega .ttb-country-col .ttb-country-link:focus .country-name{
  font-size:16px !important;
  font-weight:400 !important;
}

body .ttb-country-mega .menu-heading-pill,
body .ttb-country-mega .menu-heading-pill--sub{
  overflow:visible !important;
}

body .ttb-country-mega .menu-heading-real-icon,
body .ttb-country-mega .menu-heading-pill--sub .menu-heading-real-icon{
  display:block !important;
  object-fit:contain !important;
  border-radius:50% !important;
}

body .ttb-country-mega .menu-heading-pill{
  padding-left:10px !important;
  padding-right:15px !important;
}

body .ttb-country-mega .menu-heading-pill--sub{
  padding-left:10px !important;
  padding-right:14px !important;
}

body .ttb-country-mega .menu-heading-pill{
  min-height:38px !important;
  padding:6px 15px 6px 10px !important;
  gap:10px !important;
}

body .ttb-country-mega .menu-heading-pill--sub{
  min-height:37px !important;
  padding:6px 14px 6px 10px !important;
  gap:9px !important;
}

body .ttb-country-mega .menu-heading-real-icon,
body .ttb-country-mega .menu-heading-pill--sub .menu-heading-real-icon{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  max-width:30px !important;
  transform:scale(1.65) !important;
  transform-origin:center center !important;
}

body .ttb-country-mega--foreign .ttb-country-1080-lower-grid{
  display:none;
}
.ttb-service-search{
  position:relative;
  min-height:620px;
  padding:0;
  overflow:hidden;
  background:#b8d2e8;
}

.ttb-service-bg,
.ttb-service-bg-shade,.ttb-service-bg img{
  position:absolute;
  inset:0;
}

.ttb-service-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  opacity:0;
  transform:scale(1.025);
  transition:opacity 0.55s ease, transform 5s ease;
}

.ttb-service-bg img.is-active{
  opacity:1;
  transform:scale(1);
}

.ttb-service-bg-shade{
  z-index:1;
  background:linear-gradient(
      90deg,
      rgba(4, 34, 72, 0.36) 0%,
      rgba(4, 34, 72, 0.06) 46%,
      rgba(4, 34, 72, 0.18) 100%
    ), linear-gradient(
      180deg,
      rgba(0, 36, 77, 0.06) 0%,
      rgba(0, 27, 60, 0.12) 58%,
      rgba(0, 25, 55, 0.36) 100%
    );
}

.ttb-service-search > .container{
  position:relative;
  z-index:2;
  min-height:620px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-top:28px;
  padding-bottom:32px;
}

.ttb-service-hero-title{
  margin:0 auto 22px;
  color:#fff;
  font-size:clamp(28px, 2.25vw, 42px);
  font-weight:600;
  line-height:1.18;
  text-align:center;
  letter-spacing:-0.02em;
  text-shadow:0 3px 18px rgba(0, 34, 72, 0.58);
}

.ttb-service-search .ttb-service-search-card{
  position:relative;
  z-index:20;
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:24px 26px 26px;
  border:1px solid rgba(0, 73, 150, 0.13);
  border-radius:25px;
  background:rgba(255, 255, 255, 0.98);
  box-shadow:0 22px 48px rgba(0, 54, 116, 0.14);
}

.ttb-service-tabs{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:6px;
  padding-bottom:16px;
  border-bottom:1px solid #e5edf7;
}

.ttb-service-tab{
  min-width:0;
  min-height:58px;
  padding:8px 6px;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:#243a57;
  font:inherit;
  font-size:15px;
  font-weight:600;
  line-height:1.15;
  cursor:pointer;
  display:flex;
  gap:7px;
  transition:0.2s ease;
}

.ttb-service-tab,.ttb-service-tab i{
  align-items:center;
  justify-content:center;
}

.ttb-service-tab i{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:inline-flex;
  border-radius:999px;
  background:#edf5ff;
  color:#075db9;
  font-size:14px;
}

.ttb-service-tab span{
  white-space:nowrap;
}

.ttb-service-tab:hover{
  background:#f2f7fd;
  color:#004b9b;
}

.ttb-service-tab.is-active{
  border-color:#d6e7fb;
  background:linear-gradient(180deg, #eef6ff 0%, #fff 100%);
  color:#0055b8;
  box-shadow:inset 0 -3px 0 #f4bf2a;
}

.ttb-service-tab.is-active i{
  background:#0055b8;
  color:#fff;
  box-shadow:0 5px 12px rgba(0, 85, 184, 0.2);
}

.ttb-service-search-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  padding:15px 2px 12px;
}

.ttb-service-search-title{
  color:#064f9f;
  font-size:18px;
  font-weight:600;
}

.ttb-service-search-title::before{
  content:"";
  width:10px;
  height:10px;
  display:inline-block;
  margin-right:8px;
  border:3px solid #f4bf2a;
  border-radius:999px;
  vertical-align:1px;
}

.ttb-service-search-hint{
  color:#7b8798;
  font-size:13px;
}

.ttb-service-fields{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:10px;
}

.ttb-service-field{
  grid-column:span 3;
  min-width:0;
  min-height:68px;
  padding:9px 13px 8px 50px;
  border:1px solid #dfe8f3;
  border-radius:15px;
  background:#fbfdff;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.ttb-service-field i{
  position:absolute;
  left:13px;
  top:50%;
  width:28px;
  height:28px;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#edf5ff;
  color:#075db9;
  font-size:13px;
}

.ttb-service-field span{
  color:#8793a4;
  font-size:11px;
  line-height:1.1;
}

.ttb-service-field input,
.ttb-service-field select{
  width:100%;
  height:28px;
  min-width:0;
  border:0;
  outline:0;
  padding:0;
  background:transparent;
  color:#172b47;
  font:inherit;
  font-size:15px;
  font-weight:600;
}

.ttb-service-field.booking-select{
  position:relative;
}

.ttb-service-field.booking-select::after{
  content:"";
  position:absolute;
  right:14px;
  bottom:20px;
  width:9px;
  height:9px;
  border-right:2px solid #25304a;
  border-bottom:2px solid #25304a;
  transform:rotate(45deg);
  pointer-events:none;
}

.ttb-service-field.booking-select select{
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding-right:34px;
  text-indent:4px;
  background:transparent;
}

.ttb-service-field:focus-within{
  border-color:#78afe9;
  box-shadow:0 0 0 4px rgba(0, 85, 184, 0.08);
}
.ttb-service-fields > .ttb-service-field:last-of-type{
  grid-column:span 9;
}

.ttb-service-submit{
  grid-column:span 3;
  min-height:68px;
  border:0;
  border-radius:15px;
  background:linear-gradient(135deg, #0067cf 0%, #00458f 100%);
  color:#fff;
  font:inherit;
  font-size:18px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(0, 76, 158, 0.22);
}

.ttb-service-submit:hover{
  transform:translateY(-1px);
  filter:brightness(1.05);
}
.ttb-date-overlay{
  position:fixed;
  inset:0;
  z-index:100000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(5, 25, 52, 0.55);
  backdrop-filter:blur(4px);
}
.ttb-date-overlay.is-open{
  display:flex;
}
.ttb-date-dialog{
  width:min(760px, 100%);
  padding:20px;
  border-radius:22px;
  background:#fff;
  box-shadow:0 28px 80px rgba(0, 35, 75, 0.3);
}
.ttb-date-head{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  gap:12px;
  text-align:center;
}
.ttb-date-head > button{
  width:44px;
  height:44px;
  border:1px solid #dce8f5;
  border-radius:50%;
  background:#f4f8fd;
  color:#075db9;
  font-size:30px;
  cursor:pointer;
}
.ttb-date-head strong{
  display:block;
  color:#064f9f;
  font-size:21px;
}
.ttb-date-head small{
  color:#7b8798;
}
.ttb-date-months{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin:20px 0;
}
.ttb-calendar{
  padding:14px;
  border:1px solid #e0e9f4;
  border-radius:16px;
}
.ttb-calendar h3{
  margin:0 0 12px;
  color:#12385f;
  text-align:center;
  font-size:17px;
}
.ttb-week,
.ttb-days{
  display:grid;
  grid-template-columns:repeat(7, 1fr);
  gap:4px;
}
.ttb-week b{
  padding:5px 0;
  color:#8693a4;
  text-align:center;
  font-size:12px;
}
.ttb-days button,
.ttb-days i{
  aspect-ratio:1;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#233b57;
  font:inherit;
  cursor:pointer;
}
.ttb-days button:hover{
  background:#eaf4ff;
  color:#0055b8;
}
.ttb-days button.between{
  border-radius:0;
  background:#e7f2ff;
}
.ttb-days button.start,
.ttb-days button.end{
  border-radius:9px;
  background:#075db9;
  color:#fff;
}
.ttb-date-actions{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:14px;
  border-top:1px solid #e8eef6;
  padding-top:15px;
}
.ttb-date-actions button{
  min-height:42px;
  padding:0 20px;
  border:1px solid #dbe6f3;
  border-radius:12px;
  background:#fff;
  color:#075db9;
  font:inherit;
  font-weight:600;
  cursor:pointer;
}
.ttb-date-actions .apply{
  border-color:#075db9;
  background:#075db9;
  color:#fff;
}
.ttb-date-actions span{
  color:#53677e;
  text-align:center;
  font-size:14px;
}
@media (max-width: 720px){
  .container{
    width:min(100% - 28px, var(--container));
  }

  .btn{
    width:100%;
  }

  .promo-price{
    font-size:52px;
  }

  
  .business-grid,
  .gallery-grid,
  .review-grid,
  .partner-grid,
  .matching-cards{
    grid-template-columns:1fr;
  }

  .section{
    padding:58px 0;
  }
  .domestic-bg-section::before{
    height:230px;
    background-size:auto 100%;
  }
  #tour-domestic.domestic-bg-section::before{
    height:240px;
    background-size:auto 100%;
  }

  #tour-domestic.domestic-bg-section::after{
    height:260px;
  }
  #tour-domestic.domestic-bg-section::before,
  #tour-domestic.domestic-bg-section::after{
    height:260px;
    background-size:auto 100%;
  }
  .domestic-skyline-img{
    min-width:1000px;
    height:260px;
    object-fit:contain;
  }

  #tour-domestic.domestic-bg-section .center-btn{
    margin-top:-64px;
  }

  #tour-domestic.domestic-bg-section .center-btn .btn{
    width:auto;
  }
  .business-section-divider{
    padding:26px 0 10px;
  }
  .simple-section-divider{
    padding:26px 0;
  }

  .simple-divider-line::before{
    width:68px;
  }
  .outbound-skyline-img{
    min-width:1050px;
    height:250px;
    object-fit:contain;
  }

  #tour-outbound.outbound-bg-section .center-btn{
    margin-top:-64px;
  }

  #tour-outbound.outbound-bg-section .center-btn .btn{
    width:auto;
  }
  .main-hero-banner-img{
    height:300px;
  }

  .banner-dots span{
    width:24px;
  }
  .banner-track{
    height:300px;
  }

  .banner-dots button{
    width:24px;
  }

  .banner-dots button.active{
    width:30px;
  }
  .banner-track{
    aspect-ratio:1920 / 596;
  }

  .main-hero-banner-img{
    object-fit:cover !important;
    object-position:center center;
  }

  .banner-arrow{
    width:36px;
    height:36px;
    font-size:34px;
  }

  .banner-arrow-left{
    left:8px;
  }

  .banner-arrow-right{
    right:8px;
  }

  .banner-hero + .search-section{
    padding-top:16px;
  }

  .mobile-contact-card{
    margin-top:20px;
    padding:16px;
    border-radius:18px;
    background:#f8fbff;
    border:1px solid var(--line);
  }

  .mobile-contact-card strong{
    color:var(--blue-dark);
    display:block;
    margin-bottom:6px;
  }

  .mobile-contact-card p{
    color:var(--muted);
    margin:0 0 4px;
    font-size:14px;
  }
  .banner-track{
    min-height:210px !important;
    max-height:none !important;
  }

  .banner-arrow{
    background:rgba(0, 0, 0, 0.22);
  }

  .banner-hero + .search-section{
    background:linear-gradient(168deg, #246f55 0%, #246f55 72%, #ffffff 72.2%, #ffffff 100%) !important;
    padding:16px 0 64px !important;
  }

  body.mobile-search-open::before{
    content:"";
    position:fixed;
    inset:0;
    background:rgba(15, 23, 42, 0.52);
  }

  .field{
    min-height:56px;
    border-radius:10px;
    font-size:16px;
    background:#ffffff;
  }
  body.mobile-search-open::before{
    z-index:9000 !important;
    pointer-events:auto;
  }

  body.mobile-search-open .banner-hero + .search-section{
    position:relative;
    z-index:9010 !important;
  }
  .long-promo-banner-section{
    padding:46px 0 44px;
  }

  .center-on-mobile{
    text-align:center !important;
  }

  .long-promo-banner{
    border-radius:16px;
  }

  .long-promo-banner img{
    aspect-ratio:16 / 9;
  }

  .long-promo-action .btn{
    width:auto;
    min-width:210px;
  }

  .long-promo-banner-section{
    padding-top:54px;
    padding-bottom:24px;
  }

  .promo-to-products-divider{
    padding:26px 0 38px;
  }

  .section-divider-line::before{
    width:72px;
  }

  #promotion.section{
    padding-top:46px;
  }
  .news-to-pr-divider{
    padding:28px 0 26px;
  }

  .news-to-pr-divider .section-divider-line::before{
    width:72px;
  }

  .news-to-pr-divider + .long-promo-banner-section{
    padding-top:34px;
  }

  .news-section{
    padding-bottom:36px;
  }
  .flash-sale-section{
    padding:14px 0 54px;
  }

  .flash-sale-shell{
    padding:38px 0 36px;
  }

  .flash-bolts{
    display:none;
  }

  .flash-sale-title-block h2{
    font-size:30px;
  }

  .flash-sale-title-block p{
    font-size:15px;
  }

  .countdown-box{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .countdown-label{
    min-width:0;
    justify-content:center;
  }

  .countdown-time{
    justify-content:center;
    gap:5px;
  }

  .time-card{
    min-width:58px;
    padding:8px 7px;
  }

  .time-card strong{
    font-size:28px;
  }

  .time-card small{
    font-size:11px;
  }

  .countdown-time em{
    font-size:26px;
  }

  .flash-sale-grid{
    grid-template-columns:1fr;
  }

  .flash-deal-body h3{
    min-height:auto;
  }

  .flash-sale-action .btn{
    width:100%;
    max-width:320px;
  }
  .promotion-marketplace-section{
    padding:62px 0 72px;
  }

  .promo-filter-tabs{
    gap:10px;
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:8px;
  }

  .promo-filter-tab{
    flex:0 0 auto;
    min-height:46px;
    padding:0 20px;
    font-size:14px;
  }

  .promo-market-grid{
    grid-template-columns:1fr;
  }

  .promo-market-body h3{
    min-height:auto;
  }

  .promo-market-footer{
    align-items:center;
  }

  .promo-price strong{
    font-size:32px;
  }

  .promo-market-action .btn{
    width:100%;
    max-width:340px;
  }
  :root{
    --layout-padding:16px;
  }

  .site-header .container,
  .site-header .header-main,
  .header-main,
  .main-menu-inner,
  .main-menu-bar > .container,
  .main-menu-bar > .main-menu-inner,
  .search-section > .container,
  .featured-news-section > .container,
  .news-section > .container,
  .news-to-pr-divider > .container,
  .long-promo-banner-section > .container,
  .promo-to-products-divider > .container,
  .promotion-marketplace-section > .container,
  .section-separator > .container,
  .outbound-bg-section > .container,
  .flash-sale-section .flash-sale-shell > .container,
  .tour-section-divider > .container,
  .domestic-bg-section > .container,
  .business-section-divider > .container,
  #business > .container,
  .section.soft > .container,
  .matching-section > .container,
  .review-section > .container,
  .partners-section > .container,
  #members > .container,
  footer .container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
  }

  .promo-market-grid,
  .outbound-product-grid,
  .domestic-product-grid,
  .flash-sale-grid,
  .business-grid,
  .gallery-grid,
  .review-grid,
  .partner-grid{
    grid-template-columns:1fr !important;
  }
  main > section,
  section[id]{
    scroll-margin-top:78px !important;
  }
}
@media (max-width: 1080px){

  
  .matching-layout{
    grid-template-columns:1fr;
  }

  
  .business-grid,
  .gallery-grid{
    grid-template-columns:repeat(2, 1fr);
  }

  .partner-grid{
    grid-template-columns:repeat(3, 1fr);
  }
  .domestic-bg-section::before,#tour-domestic.domestic-bg-section::before{
    height:300px;
    background-size:auto 100%;
  }

  #tour-domestic.domestic-bg-section::after{
    height:320px;
  }
  #tour-domestic.domestic-bg-section::before,
  #tour-domestic.domestic-bg-section::after{
    height:clamp(300px, 30vw, 430px);
    background-size:auto 100%;
  }
  .domestic-skyline-img{
    width:auto;
    min-width:1400px;
    height:340px;
    object-fit:contain;
  }

  #tour-domestic.domestic-bg-section .center-btn{
    margin-top:-78px;
  }
  .outbound-skyline-img{
    width:auto;
    min-width:1500px;
    height:330px;
    object-fit:contain;
  }

  #tour-outbound.outbound-bg-section .center-btn{
    margin-top:-78px;
  }
  .main-hero-banner-img,.banner-track{
    height:clamp(300px, 42vw, 460px);
  }

  .banner-hero + .search-section{
    padding-top:20px;
  }
  .banner-track{
    aspect-ratio:1920 / 596;
    min-height:300px;
    max-height:520px;
  }

  .banner-arrow-left{
    left:14px;
  }

  .banner-arrow-right{
    right:14px;
  }
}
@media (max-width: 1199px){
  #tour-outbound.outbound-bg-section .outbound-product-grid,.product-card-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px){
  #tour-outbound.outbound-bg-section .outbound-product-grid,.product-card-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .product-card-body h3{
    min-height:auto;
  }

  .price-block strong{
    font-size:34px;
  }

  .product-card-image{
    aspect-ratio:1 / 0.9;
  }
  .airline-logo-img{
    width:84px;
    flex-basis:84px;
  }

  .airline-logo-img img{
    max-width:84px;
  }

  .meta-icon{
    width:16px;
    height:16px;
    flex-basis:16px;
  }
  #tour-domestic.domestic-bg-section .product-card-image,
  #tour-outbound.outbound-bg-section .product-card-image{
    aspect-ratio:1 / 1.05 !important;
  }

  #tour-outbound.outbound-bg-section .center-btn,
  #tour-domestic.domestic-bg-section .center-btn{
    margin-top:34px !important;
  }

  #tour-outbound.outbound-bg-section,
  #tour-domestic.domestic-bg-section{
    padding-bottom:86px;
  }
  .promo-filter-tabs{
    padding-bottom:8px;
  }

  .promo-market-cta{
    min-width:100%;
  }
  .section-separator{
    padding:24px 0 20px;
  }

  .separator-line{
    width:24vw;
  }

  .separator-mark{
    width:58px;
    height:5px;
  }

  .promo-outbound-separator + .promotion-marketplace-section{
    padding-top:54px;
  }

  .promotion-marketplace-section .promo-market-bg{
    height:245px;
    background-size:cover;
  }
  .section-separator.promo-outbound-separator{
    padding:30px 0 28px;
  }

  .section-separator.promo-outbound-separator .separator-line{
    width:24vw;
  }

  .section-separator.promo-outbound-separator .separator-mark{
    width:62px;
    height:5px;
  }

  .promo-outbound-separator + #tour-outbound,
  .promo-outbound-separator + .outbound-bg-section{
    padding-top:52px;
  }

  .promotion-marketplace-section::before{
    background-position:center bottom;
  }

  .promotion-marketplace-section::after{
    background:linear-gradient(180deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.42) 38%,
        rgba(255,255,255,.82) 76%,
        #ffffff 100%);
  }

  .promo-market-head{
    margin-bottom:20px;
    padding:0 4px;
  }

  .promo-market-head h2{
    font-size:30px;
    line-height:1.18;
    letter-spacing:-0.02em;
  }

  .promo-market-head p{
    max-width:92%;
    margin-left:auto;
    margin-right:auto;
    font-size:14px;
    line-height:1.65;
  }

  .promo-filter-tabs{
    position:relative;
    justify-content:flex-start !important;
    flex-wrap:nowrap !important;
    gap:10px !important;
    width:calc(100% + 32px);
    margin-left:-16px;
    margin-right:-16px;
    margin-bottom:22px !important;
    padding:0 16px 10px;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }

  .promo-filter-tabs::-webkit-scrollbar{
    display:none;
  }

  .promo-filter-tabs::after{
    content:"";
    flex:0 0 6px;
    height:1px;
  }

  .promo-filter-tab{
    flex:0 0 auto !important;
    min-height:48px !important;
    padding:0 17px !important;
    font-size:14px !important;
    gap:9px !important;
    scroll-snap-align:start;
    box-shadow:0 8px 20px rgba(20, 33, 61, .06);
  }

  .promo-filter-tab.active{
    box-shadow:0 12px 28px rgba(0, 85, 184, .20);
  }

  .tab-icon-wrap{
    width:28px !important;
    height:28px !important;
    flex:0 0 28px;
  }

  .tab-icon-wrap svg{
    width:16px !important;
    height:16px !important;
  }

  .promo-market-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
    width:100%;
  }

  .promo-market-card{
    width:100%;
    max-width:420px;
    margin:0 auto;
    border-radius:22px;
    box-shadow:0 14px 34px rgba(20, 33, 61, .11);
  }

  .promo-market-card:active{
    transform:scale(.985);
  }

  .promo-market-image{
    aspect-ratio:16 / 9;
  }

  .promo-card-badge{
    top:12px;
    left:12px;
    min-height:30px;
    padding:6px 12px;
    font-size:12px;
  }

  .promo-market-body{
    padding:16px 17px 14px;
  }

  .promo-market-body h3{
    min-height:auto !important;
    font-size:20px;
    line-height:1.38;
  }

  .promo-supplier{
    margin:8px 0 13px;
    font-size:13px;
  }

  .promo-meta-list{
    gap:9px;
  }

  .promo-meta-list span{
    font-size:13px;
    gap:9px;
  }

  .promo-market-footer{
    display:grid !important;
    grid-template-columns:1fr auto;
    align-items:end !important;
    gap:12px;
    padding:14px 17px 17px;
    background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  }

  .promo-price{
    min-width:0;
    gap:5px;
  }

  .promo-price small{
    font-size:11px;
  }

  .promo-price strong{
    font-size:34px !important;
    line-height:.9;
  }

  .request-price strong{
    font-size:28px !important;
  }

  .promo-price em{
    font-size:12px;
  }

  .promo-detail-link{
    min-height:38px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(0, 85, 184, .08);
    font-size:13px;
    white-space:nowrap;
  }

  .promo-detail-link span{
    font-size:22px;
  }

  .promo-market-action{
    margin-top:24px;
  }

  .promo-market-cta,
  .promo-market-action .btn{
    width:100% !important;
    max-width:420px !important;
    min-width:0 !important;
    min-height:52px;
    margin:0 auto;
    border-radius:999px;
    font-size:15px;
  }

  .promo-market-cta .cta-icon,
  .promo-market-cta .cta-icon svg{
    width:20px;
    height:20px;
  }
  .flash-sale-section{
    padding-top:18px !important;
    padding-bottom:58px !important;
  }

  .flash-sale-shell{
    padding-top:42px !important;
    padding-bottom:42px !important;
  }

  .flash-deal-card,
  .promo-market-card{
    min-height:auto !important;
  }

  .flash-deal-image,
  .promo-market-image{
    aspect-ratio:16 / 9 !important;
  }

  .promotion-marketplace-section{
    padding-top:58px !important;
    padding-bottom:92px !important;
    min-height:auto !important;
  }

  .promotion-marketplace-section::before{
    width:190vw !important;
    height:260px !important;
    opacity:.24 !important;
    background-size:190% auto !important;
  }

  .promotion-marketplace-section::after{
    height:285px !important;
  }
  .featured-news-section{
    padding:62px 0;
  }

  .featured-news-panel{
    border-radius:22px;
  }

  .featured-news-top{
    display:grid;
    gap:16px;
  }

  .featured-news-title{
    gap:12px;
  }

  .news-title-icon{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:14px;
  }

  .news-title-icon svg{
    width:25px;
    height:25px;
  }

  .featured-news-title h2{
    font-size:28px;
  }

  .featured-news-title p{
    font-size:14px;
  }

  .news-all-link{
    width:100%;
    justify-content:center;
    min-height:48px;
  }

  .news-tab{
    min-height:46px;
    font-size:14px;
    padding:0 18px;
  }

  .featured-main-content{
    border-radius:18px;
  }

  .featured-main-content h3{
    font-size:22px;
  }

  .featured-main-content p{
    font-size:14px;
  }

  .side-news-card{
    grid-template-columns:1fr;
  }

  .side-news-content{
    padding:20px 18px;
  }

  .side-news-content h3{
    font-size:20px;
  }

  .news-subscribe-box{
    grid-template-columns:1fr;
    text-align:center;
  }

  .subscribe-icon{
    margin:0 auto;
  }

  .subscribe-form{
    grid-template-columns:1fr;
    border-radius:18px;
  }

  .subscribe-form button{
    border-radius:0 0 18px 18px;
  }
  .featured-news-section{
    padding-top:56px !important;
    padding-bottom:42px !important;
  }

  .featured-news-panel{
    padding:22px 14px 20px !important;
  }

  .featured-main-image{
    height:238px !important;
  }

  .featured-main-content{
    margin:-42px 10px 12px !important;
    padding:20px 16px 18px !important;
  }

  .side-news-image{
    height:190px !important;
  }

  .news-subscribe-box{
    margin-top:20px !important;
  }

  body .featured-news-panel{
    border-radius:22px !important;
  }

  body .side-news-card{
    grid-template-columns:1fr !important;
  }

  body .side-news-image{
    height:190px !important;
  }

  body .featured-main-content{
    padding:18px 15px 16px !important;
  }
  body .featured-news-section{
    padding-top:46px !important;
    padding-bottom:34px !important;
  }
  body .featured-news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(100% - 28px, 520px) !important;
    max-width:520px !important;
  }
  body main .container,
  body .news-section > .container,
  body .featured-news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(100% - 28px, 520px) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .featured-news-section > .container,
  body .news-section > .container{
    width:min(100% - 28px, 520px) !important;
    max-width:520px !important;
  }

  body .featured-news-panel{ padding:20px 14px 18px !important; }

  body .featured-main-image{
    height:220px !important;
    flex-basis:220px !important;
  }

  body .featured-main-content{ margin:-36px 10px 12px !important; }
  body .featured-news-section > .container,
  body .news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body .outbound-bg-section > .container,
  body #tour-outbound > .container,
  body .flash-sale-section > .container,
  body .domestic-bg-section > .container,
  body #tour-domestic > .container{
    width:min(100% - 28px, 520px) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .featured-news-title h2{
    font-size:29px !important;
  }

  body .featured-news-title p{
    font-size:14px !important;
  }

  body .news-tab{
    font-size:13.5px !important;
  }

  body .featured-main-content h3{
    font-size:21px !important;
  }

  body .featured-main-content p{
    font-size:13.5px !important;
  }

  body .side-news-content h3{
    font-size:19px !important;
  }

  body .side-news-content p{
    font-size:13.5px !important;
  }
  body .search-section > .container,
  body #search-section > .container{
    width:min(100% - 28px, 520px) !important;
    max-width:520px !important;
    padding:22px 16px !important;
  }
  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab,
  body .news-all-link{
    min-height:44px !important;
    font-size:14px !important;
    font-weight:900 !important;
  }
  .flash-price-row > div{
    column-gap:8px !important;
  }

  .flash-price-row .old-price{
    font-size:14px !important;
  }

  .flash-price-row .save-badge{
    font-size:12px !important;
    padding:6px 10px !important;
  }

  .flash-deal-card .flash-price-row{
    min-height:104px !important;
  }
  .flash-price-row{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .flash-price-row > div{
    width:100% !important;
  }

  
  .flash-price-row a,
  .flash-price-row button{
    justify-self:stretch !important;
    width:100% !important;
  }
  .flash-sale-section,
  .flash-sale-grid,
  .flash-deal-card{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .flash-deal-card{
    overflow:hidden !important;
  }

  body .flash-price-row > div{
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
  }
  body .flash-price-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    min-height:0 !important;
  }

  body .flash-price-row > div{
    width:100% !important;
    grid-template-columns:auto auto !important;
    column-gap:8px !important;
  }

  body .flash-price-row .old-price{
    font-size:14px !important;
  }

  body .flash-price-row .save-badge{
    height:28px !important;
    padding:0 11px !important;
    font-size:12px !important;
  }

  body .flash-price-row strong{
    font-size:34px !important;
  }

  
  body .flash-price-row a,
  body .flash-price-row button{
    width:100% !important;
    min-height:48px !important;
    justify-self:stretch !important;
  }
body .site-header{
    display:block !important;
    position:sticky !important;
    top:0 !important;
    z-index:1200 !important;
    overflow:visible !important;
    background:#ffffff !important;
  }

body .site-header .header-main,
body .container.header-main{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    min-height:68px !important;
    height:68px !important;
    align-items:center !important;
    justify-content:center !important;
    position:relative !important;
  }

body .mobile-menu-toggle{
    display:inline-flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    cursor:pointer !important;
    z-index:1202 !important;
  }

body .mobile-menu-overlay{
    inset:0 !important;
    z-index:2147483000 !important;
    background:rgba(6, 16, 32, .62) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .24s ease, visibility .24s ease !important;
  }

body .mobile-menu-overlay,body .mobile-menu-panel{
    display:block !important;
    position:fixed !important;
  }

body .mobile-menu-panel{
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:min(88vw, 390px) !important;
    max-width:390px !important;
    height:100dvh !important;
    z-index:2147483001 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    background:#ffffff !important;
    transform:translate3d(-105%, 0, 0) !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    transition:transform .28s ease !important;
    will-change:transform !important;
  }

body.mobile-menu-open{
    overflow:hidden !important;
    touch-action:none !important;
  }

body.mobile-menu-open .mobile-menu-overlay{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

body.mobile-menu-open .mobile-menu-panel{
    transform:translate3d(0, 0, 0) !important;
  }
  .ttb-service-search{
    display:none !important;
  }
}
@media (max-width: 1180px){
  .flash-sale-head{
    grid-template-columns:1fr;
  }

  .countdown-box{
    width:fit-content;
  }

  .flash-sale-grid,.promo-market-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
  .news-category-tabs{
    display:flex;
    overflow-x:auto;
    gap:12px;
    padding-bottom:8px;
    scrollbar-width:none;
  }

  .news-category-tabs::-webkit-scrollbar{
    display:none;
  }

  .news-tab{
    flex:0 0 auto;
    padding:0 22px;
  }

  .featured-news-layout{
    grid-template-columns:1fr;
  }

  .side-news-card{
    grid-template-columns:260px minmax(0, 1fr);
  }

  .news-subscribe-box{
    grid-template-columns:auto 1fr;
  }

  .subscribe-form{
    grid-column:1 / -1;
  }
  .ttb-footer-inner{
    grid-template-columns:1fr 1fr;
  }
  :root{
    --layout-padding:20px;
  }

  .promo-market-grid,
  .outbound-product-grid,
  .domestic-product-grid,
  .flash-sale-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
  .ttb-service-tabs{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
  .ttb-service-field{
    grid-column:span 4;
  }
  .ttb-service-fields > .ttb-service-field:last-of-type{
    grid-column:span 8;
  }
  .ttb-service-submit{
    grid-column:span 4;
  }
}
@media (max-width: 1280px){
  .promotion-marketplace-section::before{
    width:120vw;
    background-size:120% auto;
  }
}
@media (max-width: 420px){
  .promo-market-head h2{
    font-size:27px;
  }

  .promo-market-card{
    max-width:100%;
  }

  .promo-market-footer{
    grid-template-columns:1fr;
    align-items:start !important;
  }

  .promo-detail-link{
    justify-content:center;
    width:100%;
  }

  .promo-price strong{
    font-size:32px !important;
  }

.ttb-mobile-search-area{
    padding-bottom:30px !important;
  }


  .ttb-mobile-search-box{
    margin-top:-44px !important;
  }

.ttb-mobile-hero{
    height:330px !important;
  }

  .ttb-mobile-hero-img{
    object-position:55% center !important;
  }

  .ttb-mobile-search-area{
    margin-top:-90px !important;
    padding:0 16px 16px !important;
  }

  .ttb-mobile-search-box{
    min-height:58px !important;
    grid-template-columns:1fr 44px !important;
  }

  .ttb-mobile-search-placeholder{
    font-size:21px !important;
  }

  .ttb-mobile-search-btn{
    width:42px !important;
    height:42px !important;
  }

  .ttb-mobile-quick-card{
    margin-top:9px !important;
    padding:9px 6px !important;
  }

  .ttb-mobile-quick-item{
    min-height:72px !important;
    font-size:11.5px !important;
  }

  .ttb-mobile-quick-icon{
    width:37px !important;
    height:37px !important;
  }

  .ttb-mobile-quick-icon svg{
    width:24px !important;
    height:24px !important;
  }

  .ttb-mobile-programs{
    margin-top:11px !important;
  }

  .ttb-mobile-search-modal-close{
    width:44px;
    height:44px;
    top:16px;
    right:16px;
    font-size:26px;
  }

  .ttb-search-modal-head{
    padding-right:52px;
  }

  .ttb-mobile-search-tabs .tab-icon{
    width:34px;
    height:34px;
    border-radius:12px;
    font-size:18px;
  }

  .ttb-search-field{
    border-radius:14px;
    grid-template-columns:44px 1fr;
  }

  .ttb-search-field > span{
    width:39px;
    height:39px;
    font-size:16px;
  }

.ttb-mobile-search-panel{
    top:51% !important;
    width:calc(100vw - 28px) !important;
    max-height:86dvh !important;
    border-radius:24px !important;
    padding:12px 14px 18px !important;
  }

  .ttb-search-modal-head{
    padding:4px 50px 10px 2px !important;
  }

  .ttb-search-modal-head h2{
    font-size:21px !important;
  }

  .ttb-search-modal-head p:last-child{
    font-size:12.5px !important;
  }

  .ttb-mobile-search-tabs{
    gap:8px !important;
    margin-bottom:12px !important;
  }

  .ttb-mobile-search-tabs button{
    min-height:76px !important;
    border-radius:15px !important;
    padding:8px 4px !important;
  }

  .ttb-mobile-search-tabs strong{
    font-size:12px !important;
  }

  .ttb-mobile-search-tabs small{
    font-size:9.5px !important;
  }

  .ttb-search-field{
    min-height:50px !important;
  }

  .ttb-search-field input,
  .ttb-search-field select{
    height:48px !important;
    font-size:15.5px !important;
  }

  .ttb-search-submit{
    min-height:54px !important;
    font-size:20px !important;
  }

.ttb-mobile-quick-icon.ttb-real-icon{
    width:44px !important;
    height:44px !important;
  }

  .ttb-mobile-search-tabs .tab-icon.ttb-real-icon,
  .ttb-modal-field-icon{
    width:40px !important;
    height:40px !important;
  }

body .ttb-mobile-home{
    padding-bottom:28px !important;
  }

  body section.news-section.featured-news-section.ttb-mobile-news-hub-final,
  body .news-section.featured-news-section.ttb-mobile-news-hub-final,
  body .ttb-mobile-news-hub-final{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body section.news-section.featured-news-section.ttb-mobile-news-hub-final .featured-news-panel{
    padding-left:12px !important;
    padding-right:12px !important;
    border-radius:22px !important;
  }

  body .ttb-mobile-news-hub-final .news-category-tabs{
    width:calc(100% + 24px) !important;
    margin-left:-12px !important;
    margin-right:-12px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body .ttb-mobile-news-hub-final .side-news-card{
    grid-template-columns:88px minmax(0, 1fr) !important;
    gap:10px !important;
  }

  body .ttb-mobile-news-hub-final .side-news-image{
    width:88px !important;
    height:82px !important;
  }
  body section.long-promo-banner-section{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:20px 12px 22px !important;
    border-radius:24px !important;
  }

  body section.long-promo-banner-section h2{
    font-size:clamp(27px, 7.4vw, 34px) !important;
  }

  body section.long-promo-banner-section p{
    font-size:14.5px !important;
  }

  body section.long-promo-banner-section .long-promo-dots{
    margin-top:12px !important;
    gap:7px !important;
  }

  body section.long-promo-banner-section .long-promo-dots span{
    width:7px !important;
    height:7px !important;
  }

  body section.long-promo-banner-section .long-promo-dots span.active{
    width:17px !important;
  }

  body section.long-promo-banner-section .long-promo-action{
    margin-top:16px !important;
  }

  body section.long-promo-banner-section .long-promo-action .btn{
    width:min(100%, 288px) !important;
    max-width:288px !important;
    min-height:56px !important;
    font-size:18px !important;
  }
  body section.promotion-marketplace-section{
    padding:22px 12px 24px !important;
    border-radius:24px !important;
  }

  body section.promotion-marketplace-section .promo-market-body{
    padding:11px 10px 0 !important;
  }
  body section.promotion-marketplace-section .promo-market-head h2{
    max-width:292px !important;
    font-size:clamp(24px, 6.55vw, 30px) !important;
  }

  body section.promotion-marketplace-section .promo-market-head p{
    max-width:292px !important;
    font-size:13px !important;
  }

  body section.promotion-marketplace-section .promo-market-grid{
    gap:10px !important;
  }

  body section.promotion-marketplace-section .promo-market-image{
    height:128px !important;
  }

  body section.promotion-marketplace-section .promo-market-body h3{
    font-size:14px !important;
  }

  body section.promotion-marketplace-section .promo-price{
    font-size:20px !important;
  }
  body section.promotion-marketplace-section{
    width:calc(100% - 28px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }
  body .promo-to-products-divider,body .news-to-pr-divider,
  body .promo-to-products-divider{
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  
  body section.long-promo-banner-section{
    margin-bottom:0 !important;
  }

  body section.long-promo-banner-section,
  body section.promotion-marketplace-section{
    margin-top:16px !important;
  }
  body .mobile-gap-before-pr-source{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }

  body section.long-promo-banner-section.mobile-gap-target-pr,
  body .mobile-gap-target-pr,body section.promotion-marketplace-section{
    margin-top:16px !important;
  }
  body section.promotion-marketplace-section#promotion-marketplace{
    width:calc(100% - 28px) !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  body section.promotion-marketplace-section#promotion-marketplace > .container{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  body section.promotion-marketplace-section#promotion-marketplace .promo-market-grid{
    width:100% !important;
    max-width:none !important;
    gap:10px !important;
  }

  body section.long-promo-banner-section.mobile-gap-target-pr,
  body .mobile-gap-target-pr{
    margin-top:4px !important;
  }

  body section.ttb-mobile-tour-shelf .section-head p,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block p{
    font-size:12.5px !important;
  }

  body section.ttb-outbound-shelf .product-card-body{
    padding:12px 10px 8px !important;
  }

  body section.ttb-flash-shelf .flash-deal-card{
    flex-basis:78% !important;
    width:78% !important;
  }

  body section.ttb-domestic-shelf .product-tour-card{
    flex-basis:70% !important;
    width:70% !important;
  }
  body section.ttb-mobile-tour-shelf{
    width:calc(100% - 28px) !important;
    margin-top:16px !important;
    padding:18px 12px 18px !important;
    border-radius:24px !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-title-row h2,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block h2{
    max-width:244px !important;
    font-size:clamp(21px, 6.15vw, 28px) !important;
  }

  body section.ttb-mobile-tour-shelf .product-card-grid,
  body section.ttb-mobile-tour-shelf .flash-sale-grid,
  body section.ttb-mobile-tour-shelf .shelf-chip-row{
    width:calc(100% + 24px) !important;
    margin-left:-12px !important;
    margin-right:-12px !important;
    padding-left:12px !important;
    padding-right:12px !important;
    scroll-padding-left:12px !important;
  }

  body section.ttb-outbound-shelf .product-card-body h3{
    font-size:14.2px !important;
  }

  body section.ttb-outbound-shelf .price-block strong{
    font-size:21px !important;
  }

  body section.ttb-flash-shelf .flash-deal-card{
    min-height:212px !important;
  }

  body section.ttb-domestic-shelf .product-tour-card{
    min-height:224px !important;
  }
  body section.ttb-mobile-tour-shelf .product-card-grid,
  body section.ttb-mobile-tour-shelf .flash-sale-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    scroll-padding-left:0 !important;
    gap:8px !important;
  }

  body section.ttb-outbound-shelf .product-tour-card{
    min-height:194px !important;
    grid-template-columns:48% 52% !important;
  }
  body section.ttb-outbound-shelf .product-card-grid,
  body section.ttb-flash-shelf .flash-sale-grid,
  body section.ttb-domestic-shelf .product-card-grid{
    width:calc(100% + 3px) !important;
    margin-left:-3px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    scroll-padding-left:0 !important;
  }

  body section.ttb-outbound-shelf .product-tour-card{
    grid-template-rows:146px 48px !important;
  }

  body section.ttb-outbound-shelf .product-card-image{
    height:146px !important;
    min-height:146px !important;
  }

  body section.ttb-flash-shelf .flash-deal-card,
  body section.ttb-domestic-shelf .product-tour-card{
    flex-basis:47% !important;
    width:47% !important;
  }

  body section.ttb-flash-shelf .flash-deal-image{
    height:94px !important;
    min-height:94px !important;
  }

  body section.ttb-domestic-shelf .product-card-image{
    height:98px !important;
    min-height:98px !important;
  }
  body section.ttb-outbound-shelf .product-card-grid{
    width:calc(100% + 22px) !important;
    margin-left:-13px !important;
    margin-right:-9px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:8px !important;
    scroll-padding-left:0 !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }

  body section.ttb-outbound-shelf .product-tour-card{
    flex-basis:70% !important;
    width:70% !important;
  }
}
@media (min-width: 1025px){
  .flash-sale-section{
    padding:0 !important;
  }

  .flash-sale-shell{
    padding:68px 0 66px !important;
    min-height:720px;
    display:flex;
    align-items:center;
  }

  .flash-sale-head{
    margin-bottom:38px !important;
  }

  .flash-sale-title-block h2{
    font-size:clamp(38px, 3.4vw, 58px) !important;
    line-height:1.05;
  }

  .flash-sale-title-block p{
    max-width:720px;
    font-size:19px !important;
  }

  .countdown-box{
    padding:18px 22px !important;
    border-radius:20px !important;
  }

  .time-card{
    min-width:80px !important;
    padding:11px 12px 10px !important;
  }

  .time-card strong{
    font-size:40px !important;
  }

  .flash-sale-grid{
    gap:26px !important;
  }

  .flash-deal-image{
    aspect-ratio:1.32 / 1 !important;
  }

  .flash-deal-body{
    padding:18px 18px 20px !important;
  }

  .flash-deal-body h3{
    min-height:60px !important;
    font-size:18px !important;
    line-height:1.45;
  }

  .flash-deal-meta{
    margin-top:14px !important;
    gap:8px !important;
  }

  .flash-price-row{
    margin-top:16px !important;
    padding-top:16px !important;
  }

  .flash-price-row strong{
    font-size:34px !important;
  }

  .deal-btn{
    min-height:42px !important;
    padding:0 18px !important;
  }

  .flash-sale-action{
    margin-top:34px !important;
  }
  .promotion-marketplace-section{
    padding-top:92px !important;
    padding-bottom:136px !important;
    min-height:760px;
    background:linear-gradient(180deg, #ffffff 0%, #f8fbff 38%, #ffffff 100%) !important;
  }

  .promotion-marketplace-section::before{
    height:390px !important;
    opacity:.36 !important;
    background-size:112% auto !important;
    background-position:center bottom !important;
  }

  .promotion-marketplace-section::after{
    height:405px !important;
    background:linear-gradient(180deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.26) 34%,
        rgba(255,255,255,.72) 78%,
        #ffffff 100%) !important;
  }

  .promo-market-head{
    margin-bottom:30px !important;
  }

  .promo-filter-tabs{
    margin-bottom:40px !important;
  }

  .promo-market-grid{
    gap:26px !important;
    align-items:stretch;
  }

  .promo-market-card{
    border-radius:24px !important;
    min-height:560px;
  }

  .promo-market-image{
    aspect-ratio:1.28 / 1 !important;
  }

  .promo-market-body{
    padding:20px 21px 17px !important;
  }

  .promo-market-body h3{
    min-height:64px !important;
    font-size:20px !important;
    line-height:1.42;
  }

  .promo-supplier{
    margin:9px 0 17px !important;
  }

  .promo-meta-list{
    gap:11px !important;
  }

  .promo-market-footer{
    padding:18px 21px 22px !important;
  }

  .promo-price strong{
    font-size:38px !important;
  }

  .request-price strong{
    font-size:32px !important;
  }

  .promo-market-action{
    margin-top:38px !important;
  }

  .promo-market-cta,
  .promo-market-action .btn{
    min-height:54px !important;
    min-width:325px !important;
  }
  .section-separator.promo-outbound-separator{
    padding:46px 0 42px !important;
    margin-top:-10px;
  }

  .promo-outbound-separator + #tour-outbound,
  .promo-outbound-separator + .outbound-bg-section{
    padding-top:82px !important;
  }
  .featured-news-section{
    padding-top:78px !important;
    padding-bottom:58px !important;
  }

  .featured-news-section .container{
    max-width:1480px !important;
  }

  .featured-news-panel{
    padding:38px 42px 30px !important;
    border-radius:30px !important;
  }

  .featured-news-top,.news-category-tabs{
    margin-bottom:26px !important;
  }

  .news-category-tabs{
    gap:14px !important;
  }

  .featured-news-layout{
    grid-template-columns:minmax(0, 1.08fr) minmax(0, 1.14fr) !important;
    gap:26px !important;
    align-items:stretch;
  }

  .featured-main-image{
    height:350px !important;
  }

  .featured-main-image img{
    opacity:.92;
    filter:saturate(1.08) contrast(1.05);
  }

  .featured-main-content{
    margin:-48px 22px 20px !important;
    padding:24px 28px 26px !important;
  }

  .featured-main-content h3{
    font-size:28px !important;
    line-height:1.28 !important;
  }

  .featured-main-content p{
    margin:12px 0 18px !important;
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .featured-side-news{
    gap:18px !important;
  }

  .side-news-card{
    grid-template-columns:290px minmax(0, 1fr) !important;
    min-height:180px !important;
  }

  .side-news-image{
    min-height:180px;
  }

  .side-news-image img{
    opacity:.96;
    filter:saturate(1.08) contrast(1.04);
  }

  .side-news-content{
    padding:20px 24px 18px !important;
  }

  .side-news-content h3{
    font-size:21px !important;
    line-height:1.34 !important;
  }

  .side-news-content p{
    margin:8px 0 12px !important;
    font-size:14px !important;
    line-height:1.55 !important;
  }

  .news-subscribe-box{
    margin-top:24px !important;
    padding:20px 24px !important;
  }
  body .featured-main-news{
    align-self:stretch !important;
    display:flex !important;
    flex-direction:column !important;
    background:#ffffff !important;
  }

  body .featured-main-image{
    background:#eef4ff !important;
  }

  body .featured-main-image img{
    opacity:.98 !important;
    filter:saturate(1.12) contrast(1.08) !important;
  }

  body .featured-main-content{
    background:rgba(255,255,255,.96) !important;
  }
  body .featured-side-news{
    display:grid !important;
    grid-template-rows:repeat(3, minmax(0, 1fr)) !important;
  }

  body .side-news-card{
    min-height:214px !important;
    height:auto !important;
    background:#ffffff !important;
  }

  body .side-news-image{
    height:100% !important;
    min-height:214px !important;
  }

  body .side-news-image img{
    opacity:.98 !important;
    filter:saturate(1.12) contrast(1.06) !important;
  }

  body .featured-news-section + .section-separator{
    margin-top:0 !important;
  }
  
  body .long-promo-banner{
    border-radius:20px !important;
    overflow:hidden !important;
  }
  body .featured-news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(1480px, calc(100% - 96px)) !important;
    max-width:1480px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .featured-news-section > .container{
    width:min(1320px, calc(100% - 96px)) !important;
    max-width:1320px !important;
  }
  body .featured-news-panel,
  body .promo-market-grid,
  body .flash-sale-grid,
  body .gallery-grid{
    max-width:100% !important;
  }
  :root{
    --home-content-width:1320px;
    --home-wide-content-width:1380px;
    --home-side-gap:88px;
  }
  body main .container,
  body .news-section > .container,
  body .featured-news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(var(--home-content-width), calc(100% - var(--home-side-gap))) !important;
    max-width:var(--home-content-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(var(--home-wide-content-width), calc(100% - var(--home-side-gap))) !important;
    max-width:var(--home-wide-content-width) !important;
  }
  body .promotion-marketplace-section .section-head,
  body #tour-outbound .section-head,
  body .outbound-bg-section .section-head,
  body #tour-domestic .section-head,
  body .domestic-bg-section .section-head,
  body .flash-sale-section .section-head{
    max-width:980px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
  }
  body .featured-news-section,
  body .promotion-marketplace-section,
  body #tour-outbound,
  body .outbound-bg-section,
  body #tour-domestic,
  body .domestic-bg-section{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body .flash-sale-shell,
  body .flash-sale-section .flash-sale-shell{
    width:100% !important;
  }
  :root{
    --final-home-width:1380px;
    --final-home-wide:1420px;
    --final-side-gap:96px;
  }
  body .featured-news-section > .container,
  body .news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body .outbound-bg-section > .container,
  body #tour-outbound > .container,
  body .flash-sale-section > .container,
  body .domestic-bg-section > .container,
  body #tour-domestic > .container,
  body .footer .container,
  body footer .container{
    width:min(var(--final-home-width), calc(100% - var(--final-side-gap))) !important;
    max-width:var(--final-home-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body .outbound-bg-section > .container,
  body #tour-outbound > .container,
  body .flash-sale-section > .container,
  body .domestic-bg-section > .container,
  body #tour-domestic > .container{
    width:min(var(--final-home-wide), calc(100% - var(--final-side-gap))) !important;
    max-width:var(--final-home-wide) !important;
  }
  body .featured-news-section > .container,
  body .featured-news-panel{
    width:min(var(--final-home-width), calc(100vw - var(--final-side-gap))) !important;
    max-width:var(--final-home-width) !important;
  }
  body .section-separator .container{
    width:min(var(--final-home-width), calc(100% - var(--final-side-gap))) !important;
    max-width:var(--final-home-width) !important;
  }
  :root{
    --step-wide-section-width:1460px;
    --step-side-gap:96px;
  }
  body .featured-news-section > .container,
  body .news-section > .container{
    max-width:var(--step-wide-section-width) !important;
  }

  body .featured-news-panel{
    max-width:var(--step-wide-section-width) !important;
  }

  body .featured-main-image{
    flex-basis:300px !important;
  }

  
  body .long-promo-banner{
    width:100% !important;
    max-width:var(--step-wide-section-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:block !important;
  }
  :root{
    --news-match-promo-width:1320px;
    --news-match-side-gap:96px;
  }

  body .featured-news-section{
    padding-top:52px !important;
    padding-bottom:36px !important;
  }

  body .featured-news-section > .container,
  body .news-section > .container{
    width:min(var(--news-match-promo-width), calc(100% - var(--news-match-side-gap))) !important;
  }

  body .featured-news-section > .container,
  body .news-section > .container,body .featured-news-panel{
    max-width:var(--news-match-promo-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body .featured-news-panel{
    width:100% !important;
    border-radius:24px !important;
    box-shadow:0 18px 46px rgba(20, 33, 61, .09) !important;
  }

  body .featured-news-top{ margin-bottom:16px !important; }
  body .featured-news-title{ gap:11px !important; }

  body .news-title-icon{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
    border-radius:12px !important;
  }

  body .news-title-icon svg{ width:22px !important; height:22px !important; }

  body .featured-news-title p{
    margin-top:4px !important;
  }

  body .news-category-tabs{
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
  }

  body .news-tab{
    box-shadow:0 8px 18px rgba(20, 33, 61, .04) !important;
  }

  body .featured-news-layout{
    align-items:stretch !important;
  }

  body .featured-main-news{
    border-radius:19px !important;
    min-height:0 !important;
    height:auto !important;
  }

  body .featured-main-image{
    height:255px !important;
    flex:0 0 255px !important;
  }

  body .featured-badge{
    left:14px !important;
    top:14px !important;
  }

  body .featured-main-content{
    margin:-36px 14px 14px !important;
    border-radius:17px !important;
    box-shadow:0 12px 30px rgba(20, 33, 61, .10) !important;
  }

  body .featured-main-content p{
    margin:7px 0 10px !important;
  }

  body .news-meta-line{
    gap:9px !important;
    margin-bottom:7px !important;
  }
  body .featured-side-news{ gap:12px !important; }

  body .side-news-card{
    grid-template-columns:195px minmax(0, 1fr) !important;
    border-radius:17px !important;
  }

  body .side-news-card,body .side-news-image{
    min-height:123px !important; }

  body .side-news-content p{
    margin:4px 0 6px !important;
  }

  body .news-subscribe-box{
    margin-top:14px !important;
    padding:12px 14px !important;
    border-radius:15px !important;
    grid-template-columns:auto minmax(0, 1fr) minmax(300px, .85fr) !important;
    gap:14px !important;
  }

  body .news-subscribe-box .subscribe-icon{
    width:42px !important;
    height:42px !important;
    border-radius:12px !important;
  }

  body .news-subscribe-box .subscribe-icon svg{ width:22px !important; height:22px !important; }

  body .subscribe-text p{
    margin-top:3px !important;
    font-size:10.8px !important;
  }

  body .subscribe-form input,
  body .subscribe-form button{
    min-height:36px !important;
    font-size:11px !important;
  }

  body .subscribe-form input{ padding:0 16px !important; }
  body .subscribe-form button{ padding:0 18px !important; }
  :root{
    --visual-rail-width:1320px;
    --visual-rail-gap:96px;
  }
  body .featured-news-section > .container,
  body .news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body .outbound-bg-section > .container,
  body #tour-outbound > .container,
  body .flash-sale-section > .container,
  body .domestic-bg-section > .container,
  body #tour-domestic > .container{
    width:min(var(--visual-rail-width), calc(100% - var(--visual-rail-gap))) !important;
    max-width:var(--visual-rail-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body .featured-news-panel,
  body .long-promo-banner{
    width:100% !important;
    max-width:var(--visual-rail-width) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  body .promo-market-grid,
  body .flash-sale-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
    justify-content:stretch !important;
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:24px !important;
  }

  body .promo-market-card,
  body .flash-deal-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  
  body .promotion-marketplace-section .section-head,
  body #promotion-marketplace .section-head,
  body .outbound-bg-section .section-head,
  body #tour-outbound .section-head,
  body .flash-sale-section .section-head,
  body .domestic-bg-section .section-head,
  body #tour-domestic .section-head{
    max-width:var(--visual-rail-width) !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  body .featured-news-panel{
    padding:26px 28px 22px !important;
  }

  body .featured-news-layout{
    grid-template-columns:minmax(0, 1.02fr) minmax(0, 1.08fr) !important;
    gap:17px !important;
  }

  body .featured-news-title h2{
    font-size:clamp(34px, 2.55vw, 46px) !important;
    line-height:1.12 !important;
    letter-spacing:-0.015em !important;
  }

  body .featured-news-title p{
    font-size:15.5px !important;
    line-height:1.55 !important;
    color:#5f6b7a !important;
  }

  body .news-tab{
    min-height:44px !important;
    padding:0 18px !important;
    font-size:13.5px !important;
    font-weight:900 !important;
  }

  body .news-tab-icon{
    font-size:14px !important;
  }

  body .featured-badge{
    font-size:13px !important;
    min-height:34px !important;
    padding:7px 14px !important;
  }

  body .news-badge{
    min-height:26px !important;
    padding:4px 11px !important;
    font-size:12px !important;
    font-weight:900 !important;
  }

  body .news-date{
    font-size:12px !important;
    font-weight:800 !important;
  }

  body .featured-main-content h3{
    font-size:25px !important;
    line-height:1.34 !important;
    letter-spacing:-0.01em !important;
  }

  body .featured-main-content p{
    font-size:14.5px !important;
    line-height:1.65 !important;
    color:#475467 !important;
  }

  body .side-news-content h3{
    font-size:18px !important;
    line-height:1.38 !important;
    letter-spacing:-0.005em !important;
  }

  body .side-news-content p{
    font-size:13px !important;
    line-height:1.55 !important;
    color:#5f6b7a !important;
  }

  body .news-read-more{
    font-size:13px !important;
    font-weight:900 !important;
  }

  body .subscribe-text h3{
    font-size:17px !important;
    line-height:1.32 !important;
  }

  body .subscribe-text p{
    line-height:1.45 !important;
  }

  body .subscribe-text p,body .subscribe-form input,
  body .subscribe-form button{
    font-size:12.5px !important;
  }
  body .featured-main-content{
    padding:18px 20px 19px !important;
  }

  body .side-news-content{
    padding:14px 16px 12px !important;
  }
  body .search-section > .container,
  body #search-section > .container{
    width:min(1180px, calc(100% - 96px)) !important;
    max-width:1180px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .news-category-tabs{
    gap:12px !important;
    margin-bottom:22px !important;
  }

  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab{
    min-height:46px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    letter-spacing:-0.005em !important;
    justify-content:center !important;
    gap:8px !important;
    white-space:nowrap !important;
  }

  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab,body .news-tab-icon{
    font-size:15px !important;
    display:inline-flex !important;
    align-items:center !important;
  }

  body .news-tab-icon{
    margin-right:0 !important;
    line-height:1 !important;
  }
  body .news-all-link{
    min-height:46px !important;
    padding:0 24px !important;
    border-radius:999px !important;
    font-size:15px !important;
    font-weight:900 !important;
    line-height:1.2 !important;
    letter-spacing:-0.005em !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:9px !important;
    white-space:nowrap !important;
  }

  body .news-all-link span{
    font-size:16px !important;
    line-height:1 !important;
  }
  .flash-price-row .save-badge{
    font-size:13px !important;
    padding:7px 12px !important;
  }

  .flash-sale-section,
  .flash-sale-section .container,
  .flash-sale-shell,
  .flash-sale-grid{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .flash-sale-grid{
    align-items:stretch !important;
  }

  .flash-deal-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    border-radius:22px !important;
  }

  .flash-deal-card img{
    object-fit:cover !important;
    object-position:center top !important;
  }

  .flash-deal-card .flash-price-row{
    margin-top:auto !important;
    min-height:108px !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding-top:14px !important;
  }
  .flash-deal-card .deal-badge,
  .flash-deal-card .discount-badge{
    z-index:3 !important;
  }
.mobile-menu-overlay,
.mobile-menu-panel{
    display:none !important;
  }
  body main > .container,
  body main > section > .container,
  body main section > .container,
  body main .flash-sale-shell > .container{
    width:min(1380px, calc(100% - 48px)) !important;
    max-width:1380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px){
  .flash-sale-shell{
    padding:54px 0 56px !important;
    min-height:680px;
  }

  .flash-sale-grid,
  .promo-market-grid{
    gap:22px !important;
  }

  .flash-deal-card{
    min-height:445px;
  }

  .promo-market-card{
    min-height:520px;
  }

  .promo-market-image{
    aspect-ratio:1.35 / 1 !important;
  }
  .featured-news-section{
    padding-top:68px !important;
    padding-bottom:54px !important;
  }

  .featured-news-panel{
    padding:30px 28px 28px !important;
  }

  .featured-main-image{
    height:320px !important;
  }

  .featured-main-content{
    margin-top:-42px !important;
  }

  .side-news-card{
    grid-template-columns:250px minmax(0, 1fr) !important;
  }

  body .featured-news-section > .container{
    width:min(100% - 42px, 1080px) !important;
  }

  body .featured-news-layout{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  body .featured-news-section{
    padding-top:52px !important;
    padding-bottom:38px !important;
  }
  body .featured-news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(100% - 48px, 980px) !important;
    max-width:980px !important;
  }
  body main .container,
  body .news-section > .container,
  body .featured-news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(100% - 44px, 960px) !important;
    max-width:960px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body .featured-news-section > .container,
  body .news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body .outbound-bg-section > .container,
  body #tour-outbound > .container,
  body .flash-sale-section > .container,
  body .domestic-bg-section > .container,
  body #tour-domestic > .container,body .featured-news-section > .container,
  body .news-section > .container{
    width:min(100% - 44px, 980px) !important;
    max-width:980px !important;
  }
  body .featured-news-section > .container,
  body .news-section > .container{
    width:min(100% - 44px, 960px) !important;
    max-width:960px !important;
  }

  body .featured-news-panel{ padding:24px 20px 20px !important; }

  body .featured-main-image{
    height:260px !important;
    flex-basis:260px !important;
  }

  body .featured-main-content{ margin-top:-36px !important; }

  body .side-news-card{
    grid-template-columns:200px minmax(0, 1fr) !important;
    min-height:140px !important;
  }
  body .featured-news-section > .container,
  body .news-section > .container,
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body .outbound-bg-section > .container,
  body #tour-outbound > .container,
  body .flash-sale-section > .container,
  body .domestic-bg-section > .container,
  body #tour-domestic > .container{
    width:min(100% - 44px, 960px) !important;
    max-width:960px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  body .featured-news-title h2{
    font-size:31px !important;
  }

  body .featured-news-title p{
    font-size:14px !important;
  }

  body .news-tab{
    font-size:13px !important;
  }

  body .featured-main-content h3{
    font-size:22px !important;
  }

  body .featured-main-content p{
    font-size:13.5px !important;
  }

  body .side-news-content h3{
    font-size:18px !important;
  }

  body .side-news-content p{
    font-size:13px !important;
  }
  body .search-section > .container,
  body #search-section > .container{
    width:min(100% - 44px, 860px) !important;
    max-width:860px !important;
  }
  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab,
  body .news-all-link{
    min-height:44px !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab{
    padding:0 18px !important;
  }

  body .news-all-link{
    padding:0 22px !important;
  }
}
@media (min-width: 1025px) and (max-width: 1366px){
  body .featured-news-section > .container{
    width:min(1120px, calc(100% - 56px)) !important;
    max-width:1120px !important;
  }

  body .featured-news-panel{
    padding:26px 26px 22px !important;
  }

  body .featured-main-image{
    height:270px !important;
    flex-basis:270px !important;
  }

  body .featured-main-content h3{
    font-size:20px !important;
  }

  body .side-news-card{
    grid-template-columns:190px minmax(0, 1fr) !important;
  }

  body .side-news-card,body .side-news-image{
    min-height:128px !important;
  }

  body .side-news-content h3{
    font-size:14.5px !important;
  }

  body .side-news-content p{
    font-size:10.5px !important;
  }
}
@media (min-width: 1440px){
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container,
  body .flash-sale-section > .container{
    width:min(1540px, calc(100% - 120px)) !important;
    max-width:1540px !important;
  }

  body .featured-news-section > .container{
    width:min(1380px, calc(100% - 120px)) !important;
    max-width:1380px !important;
  }

  body .featured-news-panel{
    max-width:1380px !important;
  }
  :root{
    --home-content-width:1380px;
    --home-wide-content-width:1440px;
    --home-side-gap:120px;
    --final-home-width:1380px;
    --final-home-wide:1460px;
    --final-side-gap:120px;
    --step-wide-section-width:1500px;
    --step-side-gap:120px;
    --news-match-promo-width:1380px;
    --news-match-side-gap:120px;
    --visual-rail-width:1380px;
    --visual-rail-gap:120px;
  }

  body .promo-market-grid,
  body .flash-sale-grid{
    gap:26px !important;
  }
  body .featured-news-title h2{
    font-size:48px !important;
  }

  body .featured-main-content h3{
    font-size:26px !important;
  }

  body .side-news-content h3{
    font-size:18.5px !important;
  }
  body .search-section > .container,
  body #search-section > .container{
    width:min(1240px, calc(100% - 120px)) !important;
    max-width:1240px !important;
  }
  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab,
  body .news-all-link{
    font-size:15.5px !important;
    min-height:48px !important;
  }

  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab{
    padding-left:24px !important;
    padding-right:24px !important;
  }

  body .news-all-link{
    padding-left:26px !important;
    padding-right:26px !important;
  }
  .flash-price-row .old-price{
    font-size:18px !important;
  }

  .flash-price-row .save-badge{
    font-size:14px !important;
    padding:7px 14px !important;
  }

  body .flash-price-row .save-badge{
    padding:7px 13px !important;
  }
  body .flash-price-row .old-price{
    font-size:17px !important;
  }

  body .flash-price-row .save-badge{
    height:30px !important;
    padding-left:14px !important;
    padding-right:14px !important;
    font-size:13px !important;
  }

  body .flash-price-row strong{
    font-size:40px !important;
  }

  
  body .flash-price-row a,
  body .flash-price-row button{
    min-width:110px !important;
    min-height:48px !important;
  }
}
@media (min-width: 1025px) and (max-width: 1280px){
  :root{
    --home-content-width:1180px;
    --home-wide-content-width:1220px;
    --home-side-gap:56px;
    --final-home-width:1160px;
    --final-home-wide:1200px;
    --final-side-gap:56px;
    --step-wide-section-width:1200px;
    --step-side-gap:56px;
    --news-match-promo-width:1120px;
    --news-match-side-gap:56px;
  }

  body .featured-main-image{
    height:238px !important;
    flex-basis:238px !important;
  }

  body .side-news-card{
    grid-template-columns:175px minmax(0, 1fr) !important;
  }

  body .side-news-card,body .side-news-image{
    min-height:116px !important; }
  :root{
    --visual-rail-width:1120px;
    --visual-rail-gap:56px;
  }

  body .promo-market-grid,
  body .flash-sale-grid{
    gap:18px !important;
  }
  body .featured-news-title h2{
    font-size:32px !important;
  }

  body .news-tab{
    font-size:12.5px !important;
    padding:0 13px !important;
  }

  body .featured-main-content h3{
    font-size:21.5px !important;
  }

  body .featured-main-content p{
    font-size:13px !important;
  }

  body .side-news-content h3{
    font-size:15.2px !important;
  }

  body .side-news-content p{
    font-size:11.2px !important;
  }
  body .search-section > .container,
  body #search-section > .container{
    width:min(1080px, calc(100% - 56px)) !important;
    max-width:1080px !important;
  }
  body .news-category-tabs{
    gap:9px !important;
  }

  body .news-tab,
  body .news-category-tabs button,
  body button.news-tab{
    min-height:42px !important;
    padding:0 14px !important;
    font-size:13.5px !important;
  }

  body .news-all-link{
    min-height:42px !important;
    padding:0 18px !important;
    font-size:13.5px !important;
  }
  .flash-price-row{
    gap:10px !important;
  }

  .flash-price-row > div{
    column-gap:8px !important;
  }

  .flash-price-row .save-badge{
    font-size:10.8px !important;
    padding:5px 8px !important;
  }

  .flash-price-row .old-price{
    font-size:13px !important;
  }

  .flash-deal-card .flash-price-row{
    min-height:100px !important;
  }

  body .flash-price-row .save-badge::before{
    font-size:8.5px !important;
    padding:2px 5px !important;
    margin-right:5px !important;
  }

  body .flash-price-row .save-badge{
    padding:5px 8px !important;
  }
  body .flash-price-row{
    gap:9px !important;
    min-height:100px !important;
  }

  body .flash-price-row > div{
    column-gap:8px !important;
  }

  body .flash-price-row .old-price{
    font-size:13px !important;
  }

  body .flash-price-row .save-badge{
    height:24px !important;
    padding-left:9px !important;
    padding-right:9px !important;
    font-size:10.5px !important;
  }

  body .flash-price-row strong{
    font-size:30px !important;
  }

  
  body .flash-price-row a,
  body .flash-price-row button{
    min-width:88px !important;
    min-height:42px !important;
    padding:0 13px !important;
    font-size:12.5px !important;
  }

  .main-menu-bar,
  .main-menu-inner,
  .main-menu-inner a{
    min-height:64px;
  }
.header-main{
    grid-template-columns:minmax(300px, 0.95fr) minmax(470px, 1.05fr);
    gap:24px;
  }

.brand-logo{
    width:92px;
    height:92px;
    flex-basis:92px;
  }

.brand-title{
    font-size:26px;
  }

.brand-sub{
    font-size:14px;
  }

.header-info{
    gap:20px;
  }

.info-block + .info-block{
    padding-left:20px;
  }

.main-menu-bar,
.main-menu-inner,.main-menu-inner a{
    min-height:64px;
  }

.main-menu-inner a{
    padding-left:16px;
    padding-right:16px;
  }

.top-register{
    min-width:96px;
    height:26px;
    padding-left:14px;
    padding-right:14px;
    font-size:13.5px;
  }
.main-menu-inner a{
    padding:0 20px;
    font-size:18.5px;
  }
}
@media (min-width: 768px){

  body .flash-price-row > div{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
  }

  body .flash-price-row .save-badge::before{
    content:"ลดทันที" !important;
    display:inline-flex !important;
    align-items:center !important;
    margin-right:6px !important;
    padding:2px 6px !important;
    border-radius:999px !important;
    background:#e31326 !important;
    color:#ffffff !important;
    font-size:10px !important;
    font-weight:950 !important;
    line-height:1 !important;
  }

  body .flash-price-row .save-badge::after{
    content:"" !important;
    display:none !important;
  }

  body .flash-deal-card{
    overflow:hidden !important;
  }

  body .flash-price-row .old-price{
    line-height:1.1 !important;
    text-decoration:line-through !important;
  }

  body .flash-price-row .save-badge{
    max-width:100% !important;
  }

  
  body .flash-price-row a,
  body .flash-price-row button{
    margin-left:0 !important;
  }

  body .flash-price-row{
    grid-template-columns:minmax(0, 1fr) auto !important;
    grid-template-areas:"priceinfo cta" !important;
    align-items:end !important;
    gap:12px !important;
    min-height:104px !important;
    padding-top:10px !important;
    box-sizing:border-box !important;
  }

  body .flash-price-row,body .flash-price-row > div{
    display:grid !important;
    width:100% !important;
    overflow:visible !important;
  }

  body .flash-price-row > div{
    grid-area:priceinfo !important;
    min-width:0 !important;
    grid-template-columns:auto auto !important;
    grid-template-areas:"old save" "price price" "unit unit" !important;
    align-items:center !important;
    justify-content:start !important;
    column-gap:12px !important;
    row-gap:5px !important;
  }

  body .flash-price-row .old-price{
    grid-area:old !important;
    display:inline-block !important;
    width:auto !important;
    padding:0 !important;
    color:#8f98a8 !important;
    font-size:16px !important;
    font-weight:800 !important;
    text-decoration-line:line-through !important;
    text-decoration-thickness:2px !important;
    text-decoration-color:#8f98a8 !important;
  }

  body .flash-price-row .old-price,body .flash-price-row .save-badge{
    max-width:none !important;
    margin:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  body .flash-price-row .save-badge{
    grid-area:save !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:max-content !important;
    min-width:max-content !important;
    height:28px !important;
    padding:0 13px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg, #ffe86a 0%, #ffc21a 100%) !important;
    border:1px solid rgba(245, 158, 11, .45) !important;
    color:#0f2748 !important;
    font-size:12.5px !important;
    font-weight:950 !important;
    letter-spacing:-0.01em !important;
    box-shadow:0 6px 14px rgba(245, 158, 11, .22) !important;
    transform:none !important;
    text-indent:0 !important;
  }

  body .flash-price-row .save-badge::before,
  body .flash-price-row .save-badge::after{
    content:none !important;
    display:none !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body .flash-price-row strong{
    grid-area:price !important;
    display:block !important;
    width:max-content !important;
    max-width:none !important;
    margin:2px 0 0 !important;
    color:#e31326 !important;
    font-size:clamp(31px, 1.95vw, 38px) !important;
    font-weight:950 !important;
    line-height:.96 !important;
    letter-spacing:-0.035em !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  body .flash-price-row em,
  body .flash-price-row small:last-child:not(.old-price){
    grid-area:unit !important;
    display:block !important;
    margin-top:0 !important;
    font-size:11.5px !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    color:#4b5565 !important;
  }

  
  body .flash-price-row a,
  body .flash-price-row button{
    grid-area:cta !important;
    justify-self:end !important;
    align-self:end !important;
    flex:0 0 auto !important;
    min-width:102px !important;
    min-height:46px !important;
    padding:0 18px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    max-width:none !important;
    margin:0 !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  body .flash-deal-card .flash-price-row{
    min-height:104px !important;
  }
  body main > .hero-banner.banner-hero{
    display:none !important;
  }
}
@media (max-width: 900px){
  .tour-wholesale-row{
    display:flex !important;
    font-size:10.5px !important;
    gap:5px !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .tour-wholesale-row .fa-solid.fa-user{
    width:14px !important;
    min-width:14px !important;
    font-size:12px !important;
  }

  .tour-wholesale-row a{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  body section.promotion-marketplace-section .promo-meta-list .tour-wholesale-row,
  body section.ttb-flash-shelf .flash-deal-meta .tour-wholesale-row,
  body section.ttb-domestic-shelf .product-meta-list .tour-wholesale-row,
  body section.ttb-outbound-shelf .product-meta-list .tour-wholesale-row{
    display:flex !important;
  }
    html,
  body{
    overflow-x:hidden !important;
    background:#ffffff !important;
  }

  .top-bar,
  .main-menu-bar{
    display:none !important;
  }

  .site-header{
    display:block !important;
    background:#fff !important;
    position:relative !important;
    z-index:1000 !important;
  }

  .site-header::after{
    display:none !important;
    content:none !important;
  }

  .site-header .header-main,
  .header-main{
    width:100% !important;
    max-width:none !important;
    min-height:74px !important;
    height:74px !important;
    margin:0 !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(0, 50, 110, .08) !important;
    overflow:visible !important;
  }

  .mobile-menu-toggle{
    display:block !important;
    width:42px !important;
    height:42px !important;
    padding:7px 0 !important;
    border:0 !important;
    background:transparent !important;
    flex:0 0 42px !important;
    cursor:pointer !important;
  }

  .mobile-menu-toggle span{
    display:block !important;
    width:27px !important;
    height:3px !important;
    margin:5px 0 !important;
    border-radius:999px !important;
    background:#202833 !important;
  }

  .site-header .brand,
  .header-main .brand{
    position:static !important;
    transform:none !important;
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:9px !important;
  }

  .site-header .brand,
  .header-main .brand,.site-header .brand-logo,
  .header-main .brand-logo{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 !important;
  }

  .site-header .brand-logo,
  .header-main .brand-logo{
    width:52px !important;
    height:52px !important;
    min-width:52px !important;
    overflow:visible !important;
  }

  .site-header .brand-logo img,
  .header-main .brand-logo img{
    width:58px !important;
    height:auto !important;
    max-width:none !important;
    object-fit:contain !important;
  }

  .site-header .brand-title,
  .header-main .brand-title{
    display:block !important;
    width:auto !important;
    height:auto !important;
    opacity:1 !important;
    background:none !important;
    color:#00448f !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
    letter-spacing:-.02em !important;
  }

  .site-header .brand-sub,
  .site-header .header-info,
  .header-main .brand-sub,
  .header-main .header-info{
    display:none !important;
  }

  .mobile-header-search-icon{
    display:grid !important;
    place-items:center !important;
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    border:0 !important;
    background:transparent !important;
    color:#111827 !important;
    padding:0 !important;
    cursor:pointer !important;
  }

  .mobile-header-search-icon svg{
    width:29px !important;
    height:29px !important;
  }
  body > .hero-banner,
  body > .search-section,
  [data-desktop-main] > .hero-banner:first-child,
  [data-desktop-main] > .search-section:first-child{
    display:none !important;
  }

  .ttb-mobile-home{
    display:block !important;
    position:relative !important;
    overflow:hidden !important;
    padding-bottom:26px !important;
  }

  .ttb-mobile-hero{
    width:100% !important;
    overflow:hidden !important;
    background:#123 !important;
  }

  .ttb-mobile-hero-img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .ttb-mobile-search-box{
    width:100% !important;
    border:0 !important;
    background:#fff !important;
    display:grid !important;
    align-items:center !important;
    gap:10px !important;
    text-align:left !important;
  }

  .ttb-mobile-search-placeholder{
    color:#9aa1ac !important;
    font-weight:500 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .ttb-mobile-search-btn{
    display:grid !important;
    place-items:center !important;
    color:#fff !important;
    background:#0c62c7 !important;
  }

  .ttb-mobile-quick-card{
    display:grid !important;
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .ttb-mobile-quick-item{
    display:grid !important;
    place-items:center !important;
    align-content:center !important;
    text-align:center !important;
    text-decoration:none !important;
    color:#17233d !important;
    border-right:1px solid #edf1f7 !important;
    border-bottom:1px solid #edf1f7 !important;
    font-weight:800 !important;
  }

  .ttb-mobile-quick-item:nth-child(3n){
    border-right:0 !important;
  }

  .ttb-mobile-quick-item:nth-last-child(-n+3){
    border-bottom:0 !important;
  }

  .ttb-mobile-quick-icon{
    display:grid !important;
    place-items:center !important;
    background:#f4f7fb !important;
  }

  .icon-blue{ color:#2d7df2 !important; }
  .icon-orange{ color:#ff9f10 !important; }
  .icon-green{ color:#16aa66 !important; }
  .icon-purple{ color:#8750d8 !important; }
  .icon-pink{ color:#ed4c8e !important; }
  .icon-gray{ color:#7a8392 !important; }

  .ttb-mobile-programs,
  .ttb-mobile-news{
    position:relative !important;
    z-index:4 !important;
    margin:-54px 14px 0 !important;
    background:#fff !important;
    border-radius:22px !important;
    padding:18px 16px 22px !important;
    box-shadow:0 16px 44px rgba(15, 45, 90, .12) !important;
  }

  .ttb-mobile-news{
    margin-top:18px !important;
  }

  .ttb-mobile-section-title-row{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:16px !important;
  }

  .ttb-mobile-section-title-row h2{
    margin:0 !important;
    line-height:1.2 !important;
    color:#111827 !important;
    font-weight:800 !important;
  }

  .ttb-mobile-section-title-row a{
    color:#004b9a !important;
    font-weight:800 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
  }

  .ttb-mobile-program-scroll{
    display:grid !important;
    grid-auto-flow:column !important;
    overflow-x:auto !important;
    overscroll-behavior-x:contain !important;
    scroll-snap-type:x mandatory !important;
    padding-bottom:4px !important;
  }

  .ttb-mobile-program-scroll::-webkit-scrollbar{
    display:none !important;
  }

  .ttb-mobile-program-card{
    display:flex !important;
    flex-direction:column !important;
    min-width:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #dfe8f3 !important;
    border-radius:17px !important;
    box-shadow:0 9px 24px rgba(20, 55, 96, .10) !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }

  .program-img-wrap{
    position:relative !important;
    overflow:hidden !important;
    aspect-ratio:1 / 1 !important;
    margin:8px 8px 0 !important;
    border-radius:13px !important;
    background:#eaf0f7 !important;
  }

  .program-img-wrap img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .program-img-wrap button{
    position:absolute !important;
    border:0 !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.94) !important;
    color:#fff !important;
    line-height:1 !important;
  }

  .ttb-mobile-program-body{
    display:flex !important;
    flex:1 1 auto !important;
    flex-direction:column !important;
    padding:12px 13px 14px !important;
  }

  .ttb-mobile-program-card h3{
    margin:0 0 10px !important;
    color:#101a2d !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:800 !important;
  }

  .ttb-mobile-program-meta{
    display:grid !important;
    gap:7px !important;
  }

  .ttb-mobile-program-meta-row{
    display:grid !important;
    grid-template-columns:20px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    color:#667085 !important;
    font-size:13.5px !important;
    line-height:1.25 !important;
    font-weight:600 !important;
  }

  .ttb-mobile-program-meta-row svg{
    width:19px !important;
    height:19px !important;
    fill:none !important;
    stroke:#f5a000 !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .ttb-mobile-program-meta-row span{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .ttb-mobile-program-wholesaler a{
    color:#0756a3 !important;
    font-weight:800 !important;
    text-decoration:underline !important;
    text-underline-offset:2px !important;
  }

  .ttb-mobile-program-price{
    display:flex !important;
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin-top:12px !important;
    padding-top:11px !important;
    border-top:1px solid #edf1f6 !important;
  }

  .ttb-mobile-program-price span{
    color:#697386 !important;
    font-size:13px !important;
    font-weight:700 !important;
  }

  .ttb-mobile-program-price strong{
    color:#0a4f9b !important;
    font-size:21px !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  .ttb-mobile-dots{
    display:flex !important;
    justify-content:center !important;
    gap:7px !important;
  }

  .ttb-mobile-dots span{
    width:8px !important;
    height:8px !important;
    border-radius:999px !important;
    background:#d1d7e2 !important;
    transition:width .2s ease, background-color .2s ease !important;
    cursor:pointer !important;
  }

  .ttb-mobile-dots span.active{
    width:22px !important;
    background:#005fcb !important;
  }

  .ttb-mobile-news-card{
    display:grid !important;
    grid-template-columns:96px 1fr !important;
    gap:14px !important;
    align-items:center !important;
    padding:12px !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 8px 24px rgba(15, 45, 90, .1) !important;
    border:1px solid #eef2f7 !important;
  }

  .news-thumb{
    position:relative !important;
    width:96px !important;
    height:76px !important;
    border-radius:10px !important;
    overflow:hidden !important;
    background:#eaf0f7 !important;
  }

  .news-thumb img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .news-thumb span{
    position:absolute !important;
    top:6px !important;
    left:6px !important;
    min-height:20px !important;
    padding:0 7px !important;
    border-radius:4px !important;
    background:#ed1c34 !important;
    color:#fff !important;
    font-size:10px !important;
    font-weight:900 !important;
  }

  .ttb-mobile-news-card h3{
    margin:0 0 8px !important;
    color:#111827 !important;
    font-size:15px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
  }

  .ttb-mobile-news-card p{
    margin:0 !important;
    color:#6b7484 !important;
    font-size:13px !important;
    font-weight:600 !important;
  }
  body.mobile-search-open,
  body.mobile-search-open::before{
    overflow:auto !important;
  }

  body.mobile-search-open::before{
    display:none !important;
    content:none !important;
  }

  .ttb-mobile-search-box{
    position:relative !important;
    z-index:5 !important;
  }

  .ttb-mobile-quick-card{
    position:relative !important;
    z-index:4 !important;
  }
  .ttb-mobile-programs{
    box-shadow:0 14px 36px rgba(15, 45, 90, .10) !important;
  }

  .ttb-mobile-section-title-row a{
    font-size:13.5px !important;
  }

  .program-img-wrap button{
    width:34px !important;
    height:34px !important;
    top:9px !important;
    right:9px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
    font-size:0 !important;
    box-shadow:0 4px 12px rgba(15,45,90,.16) !important;
  }

  .program-img-wrap button svg{
    width:19px !important;
    height:19px !important;
    fill:none !important;
    stroke:#0b5fc6 !important;
    stroke-width:2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .ttb-mobile-dots{
    margin-top:14px !important;
  }
  .ttb-mobile-news{
    padding:17px 15px 20px !important;
    border-radius:21px !important;
  }

  .ttb-mobile-section-title-row{
    margin-bottom:12px !important;
  }

  .ttb-mobile-section-title-row h2{
    font-size:21px !important;
  }

  .ttb-mobile-program-scroll{
    grid-auto-columns:min(82%, 320px) !important;
    gap:14px !important;
    padding:2px 2px 8px !important;
    scroll-padding-inline:2px !important;
  }
  .ttb-mobile-hero{
    height:345px !important;
    position:relative !important;
    z-index:1 !important;
  }

  .ttb-mobile-hero-img{
    object-position:55% center !important;
  }
  .ttb-mobile-search-area{
    position:relative !important;
    z-index:8 !important;
    margin-top:-94px !important;
    padding:0 16px 18px !important;
    background:transparent !important;
  }

  .ttb-mobile-search-box{
    min-height:60px !important;
    margin-top:0 !important;
    border-radius:13px !important;
    grid-template-columns:1fr 46px !important;
    padding:0 7px 0 18px !important;
    box-shadow:0 16px 36px rgba(10, 35, 80, .22) !important;
  }

  .ttb-mobile-search-placeholder{
    font-size:22px !important;
    letter-spacing:-.02em !important;
  }

  .ttb-mobile-search-btn{
    width:44px !important;
    height:44px !important;
    border-radius:10px !important;
  }

  .ttb-mobile-search-btn svg{
    width:24px !important;
    height:24px !important;
  }

  .ttb-mobile-quick-card{
    margin-top:10px !important;
    padding:10px 6px !important;
    border-radius:16px !important;
    box-shadow:0 18px 44px rgba(15, 45, 90, .16) !important;
  }

  .ttb-mobile-quick-item{
    min-height:74px !important;
    gap:5px !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  .ttb-mobile-quick-icon{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
  }

  .ttb-mobile-quick-icon svg{
    width:25px !important;
    height:25px !important;
  }
  .ttb-mobile-home{
    background:linear-gradient(
      180deg,
      #ffffff 0%,
      #ffffff 54%,
      #f7fafc 100%
    ) !important;
  }
  .ttb-mobile-programs{
    margin:12px 14px 0 !important;
    padding:17px 15px 20px !important;
    border-radius:21px !important;
  }

  .ttb-mobile-news{
    margin:16px 14px 0 !important;
  }

.mobile-header-search-icon,
  .ttb-mobile-search-box,
  .ttb-mobile-search-btn{
    cursor:pointer !important;
  }

  .ttb-mobile-search-modal{
    display:none;
    position:fixed;
    inset:0;
    z-index:999999;
  }

  body.ttb-search-modal-open{
    overflow:hidden !important;
  }

  body.ttb-search-modal-open .ttb-mobile-search-modal{
    display:block !important;
  }

  .ttb-mobile-search-backdrop{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(8, 18, 34, .62), rgba(8, 18, 34, .74));
    backdrop-filter:blur(4px);
  }

  .ttb-mobile-search-panel{
    position:absolute;
    overflow-y:auto;
    background:radial-gradient(circle at top left, rgba(12, 98, 199, .08), transparent 34%), linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  }

  .ttb-modal-handle{
    width:54px;
    height:5px;
    border-radius:999px;
    background:#d6dee8;
    margin:0 auto 18px;
  }

  .ttb-mobile-search-modal-close{
    position:absolute;
    top:18px;
    right:18px;
    width:48px;
    height:48px;
    border:0;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#eef3f9;
    color:#1f2a3d;
    font-size:28px;
    line-height:1;
    font-weight:900;
    box-shadow:0 10px 24px rgba(15, 45, 90, .08);
  }

  .ttb-search-eyebrow{
    margin:0 0 5px;
    color:#0c62c7;
    font-size:12px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  .ttb-search-modal-head h2{
    margin:0;
    color:#08224a;
    line-height:1.15;
    font-weight:900;
    letter-spacing:-.03em;
  }

  .ttb-search-modal-head p:last-child{
    margin:6px 0 0;
    color:#667085;
    line-height:1.45;
    font-weight:600;
  }

  .ttb-mobile-search-tabs{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
    margin:0 0 16px;
  }

  .ttb-mobile-search-tabs button{
    border:1px solid #dce7f4;
    background:rgba(255, 255, 255, .88);
    color:#13233a;
    font-family:inherit;
    padding:10px 7px;
    display:grid;
    place-items:center;
    align-content:center;
    gap:7px;
    box-shadow:0 12px 28px rgba(15, 45, 90, .08);
  }

  .ttb-mobile-search-tabs button.is-active{
    border-color:rgba(12, 98, 199, .35);
    background:linear-gradient(135deg, #075bc0 0%, #1474df 100%);
    color:#ffffff;
    box-shadow:0 18px 32px rgba(12, 98, 199, .28);
  }

  .ttb-mobile-search-tabs .tab-icon{
    display:grid;
    place-items:center;
    background:#eef4fb;
  }

  .ttb-mobile-search-tabs button.is-active .tab-icon{
    background:rgba(255,255,255,.18);
  }

  .ttb-mobile-search-tabs .tab-text{
    display:grid;
    gap:1px;
    text-align:center;
  }

  .ttb-mobile-search-tabs strong{
    font-size:13.5px;
    line-height:1.15;
    font-weight:900;
  }

  .ttb-mobile-search-tabs small{
    color:#667085;
    font-size:11px;
    line-height:1.15;
    font-weight:700;
  }

  .ttb-mobile-search-tabs button.is-active small{
    color:rgba(255,255,255,.84);
  }

  .ttb-search-modal-form{
    display:none;
    grid-template-columns:1fr;
    padding-bottom:4px;
  }

  .ttb-search-modal-form.is-active{
    display:grid;
  }

  .ttb-search-field{
    border:1px solid #dbe5f0;
    background:#ffffff;
    display:grid;
    align-items:center;
    padding:0 14px 0 4px;
    box-shadow:0 8px 18px rgba(15, 45, 90, .035);
  }

  .ttb-search-field > span{
    display:grid;
    place-items:center;
    background:#f3f7fc;
  }

  .ttb-search-field input,
  .ttb-search-field select{
    width:100%;
    min-width:0;
    border:0;
    outline:none;
    background:transparent;
    color:#102033;
    font-family:inherit;
    font-weight:700;
  }

  .ttb-search-field input::placeholder{
    color:#738095;
    opacity:1;
    font-weight:600;
  }

  .ttb-search-field:focus-within{
    border-color:#0c62c7;
    box-shadow:0 0 0 3px rgba(12, 98, 199, .11);
  }

  .ttb-search-submit{
    width:100%;
    border:0;
    background:linear-gradient(135deg, #075bc0 0%, #0c6bd8 55%, #004fae 100%);
    color:#ffffff;
    font-family:inherit;
    font-weight:900;
    box-shadow:0 16px 32px rgba(12, 98, 199, .28);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
  }

  .ttb-search-modal-form.is-empty-warning .ttb-search-field:first-of-type{
    border-color:#ed1c34;
    box-shadow:0 0 0 3px rgba(237, 28, 52, .14);
    animation:ttbSearchShake .28s ease-in-out 0s 1;
  }

.ttb-mobile-search-panel{
    top:50% !important;
    bottom:auto !important;
    left:50% !important;
    transform:translate(-50%, -50%) !important;
    width:min(92vw, 680px) !important;
    max-height:84dvh !important;
    border-radius:28px !important;
    padding:14px 16px 20px !important;
    box-shadow:0 26px 80px rgba(0, 0, 0, .34) !important;
  }

  .ttb-search-modal-head{
    padding:6px 56px 12px 4px !important;
  }

  .ttb-search-modal-head h2{
    font-size:24px !important;
  }

  .ttb-search-modal-head p:last-child{
    font-size:13.5px !important;
  }

  .ttb-mobile-search-tabs{
    margin-bottom:14px !important;
  }

  .ttb-mobile-search-tabs button{
    min-height:82px !important;
    border-radius:17px !important;
  }

  .ttb-mobile-search-tabs .tab-icon{
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
    font-size:18px !important;
  }

  .ttb-search-modal-form{
    gap:9px !important;
  }

  .ttb-search-field{
    min-height:52px !important;
    border-radius:14px !important;
    grid-template-columns:42px 1fr !important;
  }

  .ttb-search-field > span{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    font-size:16px !important;
  }

  .ttb-search-field input,
  .ttb-search-field select{
    height:50px !important;
    font-size:16px !important;
  }

  .ttb-search-submit{
    min-height:56px !important;
    border-radius:15px !important;
    font-size:21px !important;
    margin-top:3px !important;
  }

.ttb-real-icon{
    background:transparent !important;
    color:inherit !important;
    padding:0 !important;
    overflow:visible !important;
    display:grid !important;
    place-items:center !important;
    box-shadow:none !important;
  }

  .ttb-real-icon img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    display:block !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .ttb-mobile-quick-icon.ttb-real-icon{
    width:46px !important;
    height:46px !important;
    border-radius:14px !important;
  }

  .ttb-mobile-search-tabs .tab-icon.ttb-real-icon{
    width:42px !important;
    height:42px !important;
    border-radius:14px !important;
  }

  .ttb-mobile-search-tabs button.is-active .tab-icon.ttb-real-icon{
    background:rgba(255, 255, 255, .16) !important;
    padding:4px !important;
  }

  .ttb-mobile-search-tabs button.is-active .tab-icon.ttb-real-icon img{
    filter:none !important;
  }

  .ttb-modal-field-icon{
    --field-icon-color:#0c62c7;
    --field-icon-bg:#eef5ff;
    width:42px !important;
    height:42px !important;
    border-radius:13px !important;
    background:var(--field-icon-bg) !important;
    color:var(--field-icon-color) !important;
    padding:8px !important;
    display:grid !important;
    place-items:center !important;
    overflow:visible !important;
    box-shadow:none !important;
  }

  .ttb-modal-field-icon svg{
    width:100% !important;
    height:100% !important;
    display:block !important;
  }

  .ttb-modal-field-icon svg *,
  .ttb-modal-field-icon svg circle,
  .ttb-modal-field-icon svg path,
  .ttb-modal-field-icon svg rect{
    fill:none !important;
    stroke:currentColor !important;
    stroke-width:3.2 !important;
    stroke-linecap:round !important;
    stroke-linejoin:round !important;
  }

  .ttb-modal-field-icon.field-blue{ --field-icon-color:#0c62c7; --field-icon-bg:#eef5ff; }
  .ttb-modal-field-icon.field-pink{ --field-icon-color:#ec4899; --field-icon-bg:#fff0f7; }
  .ttb-modal-field-icon.field-purple{ --field-icon-color:#7c3aed; --field-icon-bg:#f4efff; }
  .ttb-modal-field-icon.field-orange{ --field-icon-color:#f59e0b; --field-icon-bg:#fff7e6; }
  .ttb-modal-field-icon.field-green{ --field-icon-color:#12a36c; --field-icon-bg:#ecfff6; }
  .ttb-modal-field-icon.field-gray{ --field-icon-color:#64748b; --field-icon-bg:#f4f7fb; }

  .ttb-search-field:focus-within > .ttb-modal-field-icon{
    transform:scale(1.04);
    transition:transform .18s ease;
  }

  .ttb-search-submit span{
    display:inline-grid !important;
    place-items:center !important;
    width:28px !important;
    height:28px !important;
    color:#ffffff !important;
    font-size:0 !important;
    position:relative !important;
  }

  .ttb-search-submit span::before{
    content:"" !important;
    width:18px !important;
    height:18px !important;
    border:3px solid currentColor !important;
    border-radius:50% !important;
    display:block !important;
  }

  .ttb-search-submit span::after{
    content:"" !important;
    width:11px !important;
    height:3px !important;
    background:currentColor !important;
    border-radius:999px !important;
    transform:rotate(45deg) !important;
    position:absolute !important;
    right:1px !important;
    bottom:3px !important;
    display:block !important;
  }
  .ttb-mobile-home .ttb-mobile-news,
  .ttb-mobile-home .ttb-mobile-news-premium,
  body > section.hero-banner.banner-hero,
  body > section.hero-banner,
  body > section.search-section,
  section.hero-banner.banner-hero,
  section.search-section{
    display:none !important;
    visibility:hidden !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body .ttb-mobile-home{
    padding-bottom:30px !important;
    margin-bottom:0 !important;
  }

  body .ttb-mobile-programs{
    margin-bottom:0 !important;
    padding-bottom:24px !important;
  }

  body .ttb-mobile-programs .ttb-mobile-dots{
    margin-top:15px !important;
    margin-bottom:0 !important;
  }
  body section.news-section.featured-news-section.ttb-mobile-news-hub-final,
  body .news-section.featured-news-section.ttb-mobile-news-hub-final,
  body .ttb-mobile-news-hub-final{
    display:block !important;
    visibility:visible !important;
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 14px 12px !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  body section.news-section.featured-news-section.ttb-mobile-news-hub-final > .container,
  body section.news-section.ttb-mobile-news-hub-final > .container,
  body .ttb-mobile-news-hub-final > .container{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  body section.news-section.featured-news-section.ttb-mobile-news-hub-final .featured-news-panel{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:18px 14px 16px !important;
    box-sizing:border-box !important;
    border-radius:24px !important;
    border:1px solid rgba(209, 224, 244, .88) !important;
    background:radial-gradient(circle at 8% 0%, rgba(0, 85, 184, .06), transparent 34%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    box-shadow:0 14px 34px rgba(15, 45, 90, .09) !important;
    overflow:hidden !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-panel::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    pointer-events:none !important;
    background:radial-gradient(circle at 10% 0%, rgba(12, 98, 199, .08), transparent 34%), radial-gradient(circle at 90% 100%, rgba(18, 163, 108, .05), transparent 30%) !important;
    z-index:0 !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-panel > *{
    position:relative !important;
    z-index:1 !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-top{
    display:block !important;
    margin:0 0 10px !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-title{
    display:grid !important;
    grid-template-columns:44px minmax(0, 1fr) !important;
    gap:11px !important;
    align-items:start !important;
  }

  body .ttb-mobile-news-hub-final .news-title-icon{
    width:44px !important;
    height:44px !important;
    border-radius:13px !important;
    box-shadow:0 14px 26px rgba(0, 85, 184, .20) !important;
  }

  body .ttb-mobile-news-hub-final .news-title-icon svg{
    width:23px !important;
    height:23px !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-title h2{
    margin:0 !important;
    color:#082f68 !important;
    font-size:clamp(24px, 6.7vw, 31px) !important;
    line-height:1.08 !important;
    font-weight:900 !important;
    letter-spacing:-.028em !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-title p{
    grid-column:2 !important;
    max-width:292px !important;
    margin:7px 0 0 !important;
    color:#667085 !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
    font-weight:700 !important;
  }

  body .ttb-mobile-news-hub-final .news-all-link{
    display:none !important;
  }

  body .ttb-mobile-news-hub-final .news-category-tabs{
    width:calc(100% + 28px) !important;
    margin:14px -14px 12px !important;
    padding:2px 14px 10px !important;
    display:flex !important;
    gap:9px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-padding-left:14px !important;
    mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%) !important;
  }

  body .ttb-mobile-news-hub-final .news-category-tabs::-webkit-scrollbar{
    display:none !important;
  }

  body .ttb-mobile-news-hub-final .news-tab{
    flex:0 0 auto !important;
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    border:1px solid #dfe7f3 !important;
    background:#fff !important;
    color:#24324a !important;
    white-space:nowrap !important;
    font-size:13px !important;
    font-weight:900 !important;
    box-shadow:0 8px 18px rgba(20, 33, 61, .045) !important;
    transform:none !important;
  }

  body .ttb-mobile-news-hub-final .news-tab.active,
  body .ttb-mobile-news-hub-final .news-tab.is-active{
    color:#fff !important;
    background:linear-gradient(135deg, #0c62c7, #0054b8) !important;
    border-color:#0c62c7 !important;
    box-shadow:0 12px 24px rgba(12, 98, 199, .18) !important;
  }

  body .ttb-mobile-news-hub-final .news-tab-icon{
    margin-right:7px !important;
  }

  body .ttb-mobile-news-hub-final .featured-news-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  body .ttb-mobile-news-hub-final .featured-main-news{
    width:100% !important;
    max-width:none !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e2ebf7 !important;
    box-shadow:0 13px 30px rgba(15, 39, 75, .075) !important;
    transform:none !important;
  }

  body .ttb-mobile-news-hub-final .featured-main-image{
    height:174px !important;
    background:#eef4ff !important;
  }

  body .ttb-mobile-news-hub-final .featured-main-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    transform:none !important;
  }

  body .ttb-mobile-news-hub-final .featured-badge{
    left:12px !important;
    top:12px !important;
    min-height:32px !important;
    padding:6px 13px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg, #ff244f, #ff5a2f) !important;
    color:#fff !important;
    font-size:12.5px !important;
    font-weight:900 !important;
    box-shadow:0 10px 20px rgba(255, 36, 79, .22) !important;
  }

  body .ttb-mobile-news-hub-final .featured-main-content{
    margin:0 !important;
    padding:15px 15px 16px !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }

  body .ttb-mobile-news-hub-final .news-meta-line{
    display:flex !important;
    align-items:center !important;
    gap:9px !important;
    margin:0 0 8px !important;
    flex-wrap:wrap !important;
  }

  body .ttb-mobile-news-hub-final .news-badge{
    min-height:24px !important;
    padding:4px 9px !important;
    border-radius:999px !important;
    font-size:11.5px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  body .ttb-mobile-news-hub-final .badge-association{
    color:#0055b8 !important;
    background:#dbeafe !important;
  }

  body .ttb-mobile-news-hub-final .badge-activity{
    color:#0e7a3b !important;
    background:#dcfce7 !important;
  }

  body .ttb-mobile-news-hub-final .badge-business{
    color:#6d28d9 !important;
    background:#ede9fe !important;
  }

  body .ttb-mobile-news-hub-final .news-date{
    color:#6b7688 !important;
    font-size:12px !important;
    font-weight:800 !important;
  }

  body .ttb-mobile-news-hub-final .featured-main-content h3{
    margin:0 0 8px !important;
    color:#082f68 !important;
    font-size:18.5px !important;
    line-height:1.34 !important;
    font-weight:900 !important;
    letter-spacing:-.014em !important;
  }

  body .ttb-mobile-news-hub-final .featured-main-content p{
    margin:9px 0 11px !important;
    color:#5f6b7a !important;
    font-size:13.5px !important;
    line-height:1.55 !important;
    font-weight:600 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body .ttb-mobile-news-hub-final .news-read-more{
    color:#0054b8 !important;
    font-size:13px !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }

  body .ttb-mobile-news-hub-final .featured-side-news{
    display:grid !important;
    gap:10px !important;
  }

  body .ttb-mobile-news-hub-final .side-news-card{
    display:grid !important;
    grid-template-columns:92px minmax(0, 1fr) !important;
    gap:11px !important;
    align-items:center !important;
    width:100% !important;
    max-width:none !important;
    min-height:102px !important;
    padding:10px !important;
    border-radius:18px !important;
    background:#fff !important;
    border:1px solid #e2ebf7 !important;
    box-shadow:0 10px 24px rgba(15, 39, 75, .055) !important;
    overflow:hidden !important;
    transform:none !important;
  }

  body .ttb-mobile-news-hub-final .side-news-image{
    width:92px !important;
    height:84px !important;
    border-radius:14px !important;
    overflow:hidden !important;
    background:#eef4ff !important;
  }

  body .ttb-mobile-news-hub-final .side-news-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
    transform:none !important;
  }

  body .ttb-mobile-news-hub-final .side-news-content{
    min-width:0 !important;
    padding:0 !important;
    align-self:center !important;
  }

  body .ttb-mobile-news-hub-final .side-news-content .news-meta-line{
    margin-bottom:5px !important;
    gap:7px !important;
  }

  body .ttb-mobile-news-hub-final .side-news-content h3{
    margin:0 0 5px !important;
    color:#0e1f3b !important;
    font-size:14.5px !important;
    line-height:1.32 !important;
    font-weight:900 !important;
    letter-spacing:-.01em !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body .ttb-mobile-news-hub-final .side-news-content p,body .ttb-mobile-news-hub-final .ttb-news-subscribe-optional{
    display:none !important;
  }

  body .ttb-mobile-news-hub-final .ttb-mobile-news-bottom-link{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:none !important;
    min-height:44px !important;
    margin-top:13px !important;
    border-radius:999px !important;
    border:1px solid rgba(0, 85, 184, .28) !important;
    background:#fff !important;
    color:#0054b8 !important;
    text-decoration:none !important;
    font-size:14.5px !important;
    font-weight:900 !important;
  }

  body .ttb-mobile-news-hub-final .ttb-mobile-news-bottom-link span{
    margin-left:6px !important;
    font-size:19px !important;
    line-height:1 !important;
  }
  body .news-to-pr-divider,
  body .promo-to-products-divider{
    border-radius:0 !important;
  }

  body .news-to-pr-divider::before,
  body .news-to-pr-divider::after,
  body .promo-to-products-divider::before,
  body .promo-to-products-divider::after{
    display:none !important;
    content:none !important;
  }

  body .news-to-pr-divider .container,
  body .promo-to-products-divider .container{
    width:100% !important;
    max-width:none !important;
    padding:0 14px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  body .news-to-pr-divider .section-divider-line,
  body .promo-to-products-divider .section-divider-line{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:1px !important;
    border-radius:999px !important;
  }

  body .news-to-pr-divider .section-divider-line::after,
  body .promo-to-products-divider .section-divider-line::after{
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    top:-2px !important;
    width:72px !important;
    height:5px !important;
    transform:translateX(-50%) !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, #ef3340, #ff5d67) !important;
    box-shadow:0 10px 22px rgba(239, 51, 64, .16) !important;
  }
  body section.long-promo-banner-section{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin:16px auto 0 !important;
    padding:22px 14px 24px !important;
    box-sizing:border-box !important;
    border-radius:26px !important;
    border:1px solid rgba(209, 224, 244, .92) !important;
    background:radial-gradient(circle at 12% 0%, rgba(0, 85, 184, .07), transparent 34%), radial-gradient(circle at 92% 88%, rgba(239, 51, 64, .045), transparent 32%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    box-shadow:0 18px 42px rgba(15, 45, 90, .10) !important;
    overflow:hidden !important;
  }

  body section.long-promo-banner-section .container{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  body section.long-promo-banner-section::before{
    content:"" !important;
    display:block !important;
    width:72px !important;
    height:5px !important;
    margin:-2px auto 18px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, #ef3340, #ff5d67) !important;
    box-shadow:0 12px 26px rgba(239, 51, 64, .18) !important;
  }

  body section.long-promo-banner-section .section-head,
  body section.long-promo-banner-section .long-promo-head,
  body section.long-promo-banner-section .long-promo-banner-wrap,
  body section.long-promo-banner-section .long-promo-action,
  body section.long-promo-banner-section .long-promo-dots{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  body section.long-promo-banner-section .section-head{
    margin-top:0 !important;
    padding:0 !important;
  }

  body section.long-promo-banner-section .section-label{
    display:block !important;
    margin:0 0 10px !important;
    color:#ef3340 !important;
    text-align:center !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
    letter-spacing:1.4px !important;
    text-transform:uppercase !important;
  }

  body section.long-promo-banner-section h2{
    max-width:350px !important;
    margin:0 auto !important;
    color:#00448f !important;
    text-align:center !important;
    font-size:clamp(28px, 7.7vw, 38px) !important;
    line-height:1.13 !important;
    font-weight:900 !important;
    letter-spacing:-.035em !important;
  }

  body section.long-promo-banner-section p{
    max-width:330px !important;
    margin:13px auto 0 !important;
    color:#667085 !important;
    text-align:center !important;
    font-size:15px !important;
    line-height:1.68 !important;
    font-weight:650 !important;
  }

  body section.long-promo-banner-section .long-promo-banner-wrap{
    margin-top:22px !important;
    padding:0 !important;
  }

  body section.long-promo-banner-section .long-promo-banner{
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
    border-radius:22px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    border:1px solid rgba(220, 231, 246, .95) !important;
    box-shadow:0 18px 40px rgba(15, 45, 90, .15) !important;
  }

  body section.long-promo-banner-section .long-promo-banner::before{
    content:"★ PR Highlight" !important;
    top:14px !important;
    min-height:34px !important;
    padding:0 14px !important;
    color:#ffffff !important;
    background:linear-gradient(135deg, #ef3340, #ff5b32) !important;
    box-shadow:0 12px 26px rgba(239, 51, 64, .25) !important;
    font-size:13px !important;
  }

  body section.long-promo-banner-section .long-promo-banner::before,body section.long-promo-banner-section .long-promo-banner::after{
    position:absolute !important;
    left:14px !important;
    z-index:3 !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight:900 !important;
  }

  body section.long-promo-banner-section .long-promo-banner::after{
    content:"สมาชิกแนะนำ" !important;
    top:58px !important;
    min-height:30px !important;
    padding:0 12px !important;
    color:#0054b8 !important;
    background:rgba(255, 255, 255, .92) !important;
    border:1px solid rgba(219, 234, 254, .95) !important;
    box-shadow:0 10px 22px rgba(15, 45, 90, .12) !important;
    font-size:12px !important;
  }

  body section.long-promo-banner-section .long-promo-banner img{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:178px !important;
    object-fit:cover !important;
    transform:none !important;
    box-sizing:border-box !important;
  }

  body section.long-promo-banner-section .long-promo-dots{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    margin-top:14px !important;
    padding:0 !important;
  }

  body section.long-promo-banner-section .long-promo-dots span{
    display:block !important;
    width:8px !important;
    height:8px !important;
    border-radius:999px !important;
    background:#cfd8e5 !important;
    box-shadow:none !important;
    transition:width .2s ease, background .2s ease !important;
  }

  body section.long-promo-banner-section .long-promo-dots span.active{
    width:18px !important;
    background:#0966d8 !important;
  }

  body section.long-promo-banner-section .long-promo-action{
    margin-top:14px !important;
    padding:0 !important;
  }

  body section.long-promo-banner-section .long-promo-action .btn{
    width:min(100%, 240px) !important;
    max-width:240px !important;
    min-height:44px !important;
    margin:0 auto !important;
    padding:0 14px !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    color:#ffffff !important;
    text-align:center !important;
    text-decoration:none !important;
    background:linear-gradient(135deg, #0966d8 0%, #004eb6 100%) !important;
    box-shadow:0 9px 18px rgba(0, 84, 184, .18) !important;
    font-size:15px !important;
    line-height:1.1 !important;
    font-weight:900 !important;
    box-sizing:border-box !important;
  }

  body section.long-promo-banner-section .long-promo-action .btn::after{
    content:"›" !important;
    width:24px !important;
    height:24px !important;
    border-radius:999px !important;
    border:2px solid rgba(255, 255, 255, .82) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex:0 0 24px !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:800 !important;
  }
  body section.promotion-marketplace-section{
    border:1px solid rgba(209, 224, 244, .90) !important;
    background:radial-gradient(circle at 12% 0%, rgba(0, 85, 184, .065), transparent 35%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    box-shadow:0 18px 42px rgba(15, 45, 90, .09) !important;
  }

  body section.promotion-marketplace-section .promo-market-bg{
    display:none !important;
  }

  body section.promotion-marketplace-section .promo-market-head{
    position:relative !important;
    display:block !important;
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:center !important;
  }

  body section.promotion-marketplace-section .promo-market-head::before{
    content:"" !important;
    display:block !important;
    margin:0 auto 18px !important;
    border-radius:999px !important;
    background:linear-gradient(90deg, #ef3340, #ff5d67) !important;
    box-shadow:0 12px 26px rgba(239, 51, 64, .18) !important;
  }

  body section.promotion-marketplace-section .promo-market-head h2{
    margin:0 auto !important;
    color:#00448f !important;
    text-align:center !important;
    font-weight:900 !important;
  }

  body section.promotion-marketplace-section .promo-market-head p{
    margin:13px auto 0 !important;
    color:#667085 !important;
    text-align:center !important;
  }

  body section.promotion-marketplace-section .promo-market-view-all{
    display:none !important;
  }

  body section.promotion-marketplace-section .promo-filter-tabs{
    width:calc(100% + 28px) !important;
    margin:18px -14px 18px !important;
    padding:2px 14px 10px !important;
    display:flex !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-padding-left:14px !important;
    mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%) !important;
  }

  body section.promotion-marketplace-section .promo-filter-tabs::-webkit-scrollbar{
    display:none !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab{
    flex:0 0 auto !important;
    border-radius:999px !important;
    border:1px solid #dfe7f3 !important;
    background:#fff !important;
    color:#24324a !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:0 10px 22px rgba(20, 33, 61, .055) !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab.active{
    color:#fff !important;
    border-color:#0054b8 !important;
    background:linear-gradient(135deg, #0c62c7, #0054b8) !important;
    box-shadow:0 16px 28px rgba(12, 98, 199, .22) !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab .tab-icon-wrap{
    border-radius:999px !important;
    background:rgba(245, 248, 252, .92) !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab.active .tab-icon-wrap{
    color:#0054b8 !important;
    background:rgba(255, 255, 255, .92) !important;
  }

  body section.promotion-marketplace-section .promo-market-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    margin:0 !important;
    padding:0 !important;
  }

  body section.promotion-marketplace-section .promo-market-card{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    background:#fff !important;
    border:1px solid #e2ebf7 !important;
    transform:none !important;
  }

  body section.promotion-marketplace-section .promo-market-image{
    position:relative !important;
    width:100% !important;
    overflow:hidden !important;
    background:#edf4ff !important;
  }

  body section.promotion-marketplace-section .promo-market-image img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    transform:none !important;
  }

  body section.promotion-marketplace-section .promo-card-badge{
    position:absolute !important;
    z-index:2 !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    color:#fff !important;
    background:linear-gradient(135deg, #0c62c7, #00448f) !important;
    box-shadow:0 10px 22px rgba(0, 68, 143, .22) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.2px !important;
    text-transform:uppercase !important;
  }

  body section.promotion-marketplace-section .promo-card-tour .promo-card-badge{ background:linear-gradient(135deg, #16a34a, #0e7a3b) !important; }
  body section.promotion-marketplace-section .promo-card-hotel .promo-card-badge{ background:linear-gradient(135deg, #7c3aed, #4f46e5) !important; }
  body section.promotion-marketplace-section .promo-card-car .promo-card-badge{ background:linear-gradient(135deg, #0ea5e9, #0369a1) !important; }
  body section.promotion-marketplace-section .promo-card-member .promo-card-badge{ background:linear-gradient(135deg, #f97316, #dc2626) !important; }

  body section.promotion-marketplace-section .promo-wishlist{
    position:absolute !important;
    z-index:3 !important;
    border:0 !important;
    border-radius:999px !important;
    background:rgba(255, 255, 255, .94) !important;
    color:#1f2937 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    box-shadow:0 10px 22px rgba(15, 39, 75, .16) !important;
  }

  body section.promotion-marketplace-section .promo-market-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0 !important;
  }

  body section.promotion-marketplace-section .promo-market-body h3{
    margin:0 !important;
    color:#0e1f3b !important;
    font-weight:900 !important;
    letter-spacing:-.014em !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body section.promotion-marketplace-section .promo-member{
    margin:8px 0 0 !important;
    color:#667085 !important;
    font-weight:700 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:1 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body section.promotion-marketplace-section .promo-meta-list{
    display:grid !important;
    margin:10px 0 0 !important;
    padding:0 !important;
    color:#64748b !important;
    line-height:1.35 !important;
    font-weight:700 !important;
  }

  body section.promotion-marketplace-section .promo-meta-list li,
  body section.promotion-marketplace-section .promo-meta-list div{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    min-width:0 !important;
  }

  body section.promotion-marketplace-section .promo-meta-list svg{
    width:14px !important;
    height:14px !important;
    min-width:14px !important;
    color:#16a34a !important;
  }

  body section.promotion-marketplace-section .promo-market-footer{
    margin-top:auto !important;
    border-top:1px solid #eef2f7 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  body section.promotion-marketplace-section .promo-price{
    color:#e11d2e !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  body section.promotion-marketplace-section .promo-price small,
  body section.promotion-marketplace-section .promo-price span{
    color:#667085 !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
  }

  body section.promotion-marketplace-section .request-price{
    color:#0054b8 !important;
  }

  body section.promotion-marketplace-section .promo-detail-link{
    width:100% !important;
    border-radius:999px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    color:#0054b8 !important;
    text-decoration:none !important;
    background:#eef6ff !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  body section.promotion-marketplace-section .promo-market-action{
    margin:18px 0 0 !important;
    padding:0 !important;
    text-align:center !important;
  }

  body section.promotion-marketplace-section .promo-market-action .btn,
  body section.promotion-marketplace-section .promo-market-action a{
    border-radius:999px !important;
    border:1px solid rgba(0, 85, 184, .30) !important;
    background:#fff !important;
    color:#0054b8 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    text-decoration:none !important;
    font-weight:900 !important;
    box-shadow:0 10px 24px rgba(15, 39, 75, .055) !important;
  }
  body section.promotion-marketplace-section{
    padding-top:22px !important;
    padding-bottom:24px !important;
  }

  body section.promotion-marketplace-section .promo-market-head{
    margin-bottom:14px !important;
  }

  body section.promotion-marketplace-section .promo-market-head::before{
    width:68px !important;
    height:5px !important;
    margin-bottom:14px !important;
  }

  body section.promotion-marketplace-section .promo-market-head h2{
    max-width:300px !important;
    font-size:clamp(25px, 6.8vw, 32px) !important;
    line-height:1.16 !important;
    letter-spacing:-.03em !important;
  }

  body section.promotion-marketplace-section .promo-market-head p{
    max-width:300px !important;
    margin-top:10px !important;
    font-size:13.5px !important;
    line-height:1.55 !important;
    font-weight:650 !important;
  }

  body section.promotion-marketplace-section .promo-filter-tabs{
    margin-top:14px !important;
    margin-bottom:14px !important;
    gap:8px !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab{
    min-height:40px !important;
    padding:0 13px !important;
    font-size:12.8px !important;
    gap:7px !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab .tab-icon-wrap{
    width:27px !important;
    height:27px !important;
    min-width:27px !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab svg{
    width:15px !important;
    height:15px !important;
  }

  body section.promotion-marketplace-section .promo-market-grid{
    gap:12px !important;
  }

  body section.promotion-marketplace-section .promo-market-card{
    border-radius:19px !important;
    box-shadow:0 10px 24px rgba(15, 39, 75, .07) !important;
  }

  body section.promotion-marketplace-section .promo-market-image{
    height:132px !important;
  }

  body section.promotion-marketplace-section .promo-card-badge{
    left:9px !important;
    top:9px !important;
    min-height:26px !important;
    padding:0 9px !important;
    font-size:10px !important;
  }

  body section.promotion-marketplace-section .promo-wishlist{
    right:8px !important;
    top:8px !important;
    width:31px !important;
    height:31px !important;
    font-size:20px !important;
  }

  body section.promotion-marketplace-section .promo-market-body{
    padding:11px 10px 0 !important;
  }

  body section.promotion-marketplace-section .promo-market-body h3{
    font-size:14.6px !important;
    line-height:1.34 !important;
    -webkit-line-clamp:2 !important;
  }

  body section.promotion-marketplace-section .promo-member{
    margin-top:7px !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }
  body section.promotion-marketplace-section .promo-meta-list{
    margin-top:8px !important;
    gap:4px !important;
    font-size:11.5px !important;
  }

  body section.promotion-marketplace-section .promo-meta-list li:nth-child(n+3),
  body section.promotion-marketplace-section .promo-meta-list div:nth-child(n+3){
    display:none !important;
  }

  body section.promotion-marketplace-section .promo-market-footer{
    padding:10px !important;
    gap:8px !important;
  }

  body section.promotion-marketplace-section .promo-price{
    font-size:21px !important;
    letter-spacing:-.03em !important;
  }

  body section.promotion-marketplace-section .request-price{
    font-size:18px !important;
  }

  body section.promotion-marketplace-section .promo-detail-link{
    min-height:36px !important;
    font-size:12px !important;
  }

  body section.promotion-marketplace-section .promo-market-action{
    margin-top:16px !important;
  }

  body section.promotion-marketplace-section .promo-market-action .btn,
  body section.promotion-marketplace-section .promo-market-action a{
    min-height:46px !important;
    font-size:14px !important;
  }
  body section.promotion-marketplace-section .promo-filter-tab{
    user-select:none !important;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab:active{
    transform:scale(.97) !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab[aria-pressed="true"]{
    color:#fff !important;
    border-color:#0054b8 !important;
    background:linear-gradient(135deg, #0c62c7, #0054b8) !important;
    box-shadow:0 16px 28px rgba(12, 98, 199, .22) !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab[aria-pressed="true"] .tab-icon-wrap{
    color:#0054b8 !important;
    background:rgba(255,255,255,.92) !important;
  }

  body section.promotion-marketplace-section .promo-empty-state{
    margin:14px 0 0 !important;
    padding:18px 14px !important;
    border-radius:18px !important;
    border:1px dashed rgba(0,85,184,.28) !important;
    background:rgba(255,255,255,.72) !important;
    color:#667085 !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:800 !important;
  }

  body section.promotion-marketplace-section .promo-filter-tab{
    cursor:pointer !important;
  }

  body section.promotion-marketplace-section .promo-market-image img{
    object-fit:cover !important;
    object-position:center center !important;
  }

  body section.promotion-marketplace-section .promo-card-tour .promo-market-image img,
  body section.promotion-marketplace-section .promo-card-car .promo-market-image img,
  body section.promotion-marketplace-section .promo-card-member .promo-market-image img,body section.promotion-marketplace-section .promo-card-hotel .promo-market-image img{
    object-position:center center !important;
  }

  body section.promotion-marketplace-section .promo-market-card.is-hidden,body section.promotion-marketplace-section .promo-empty-state{
    display:none !important;
  }

  body section.promotion-marketplace-section .promo-empty-state.is-visible{
    display:block !important;
  }
  body section.promotion-marketplace-section{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin:28px auto 0 !important;
    padding:22px 14px 24px !important;
    box-sizing:border-box !important;
    border-radius:26px !important;
    overflow:hidden !important;
  }

  body section.promotion-marketplace-section .container{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  body section.promotion-marketplace-section .promo-market-head,
  body section.promotion-marketplace-section .promo-filter-tabs,
  body section.promotion-marketplace-section .promo-market-grid,
  body section.promotion-marketplace-section .promo-market-action{
    box-sizing:border-box !important;
  }

  body section.promotion-marketplace-section .promo-market-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body section.promotion-marketplace-section .promo-market-card{
    min-width:0 !important;
  }

  body section.promotion-marketplace-section .promo-market-card,body section.promotion-marketplace-section .promo-market-image,
  body section.promotion-marketplace-section .promo-market-image img{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  body section.promotion-marketplace-section .promo-market-action .btn,
  body section.promotion-marketplace-section .promo-market-action a{
    width:100% !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }
  body section.long-promo-banner-section::before,
  body section.long-promo-banner-section .section-head::before,
  body section.long-promo-banner-section .section-head::after,
  body section.long-promo-banner-section .section-label::before,
  body section.long-promo-banner-section .section-label::after,
  body section.long-promo-banner-section h2::before,body section.promotion-marketplace-section .promo-market-head::before,
  body section.promotion-marketplace-section .promo-market-head::after,
  body section.promotion-marketplace-section .section-head::before,
  body section.promotion-marketplace-section .section-head::after,
  body section.promotion-marketplace-section h2::before{
    display:none !important;
    content:none !important;
  }
  body section.long-promo-banner-section h2::after,
  body section.promotion-marketplace-section h2::after{
    display:block !important;
  }
  body section.long-promo-banner-section::before,
  body section.long-promo-banner-section::after,
  body section.long-promo-banner-section .section-head::before,
  body section.long-promo-banner-section .section-head::after,
  body section.long-promo-banner-section .section-label::before,
  body section.long-promo-banner-section .section-label::after,
  body section.long-promo-banner-section h2::before,
  body section.long-promo-banner-section h2::after,body section.promotion-marketplace-section::before,
  body section.promotion-marketplace-section::after,
  body section.promotion-marketplace-section .promo-market-head::before,
  body section.promotion-marketplace-section .promo-market-head::after,
  body section.promotion-marketplace-section .section-head::before,
  body section.promotion-marketplace-section .section-head::after,
  body section.promotion-marketplace-section h2::before,
  body section.promotion-marketplace-section h2::after{
    display:none !important;
    content:none !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body .promo-to-products-divider .section-divider-line::after,
  body .news-to-pr-divider .section-divider-line::after{
    display:none !important;
    content:none !important;
    width:0 !important;
    height:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body .promo-to-products-divider .section-divider-line,
  body .news-to-pr-divider .section-divider-line{
    height:1px !important;
    background:linear-gradient(
      90deg,
      transparent,
      rgba(0, 84, 184, .10),
      rgba(0, 84, 184, .10),
      transparent
    ) !important;
    box-shadow:none !important;
  }

  body .news-to-pr-divider .section-divider-line,
  body .promo-to-products-divider .section-divider-line{
    background:transparent !important;
    box-shadow:none !important;
  }

  body .news-to-pr-divider .section-divider-line::before,
  body .news-to-pr-divider .section-divider-line::after,
  body .promo-to-products-divider .section-divider-line::before,
  body .promo-to-products-divider .section-divider-line::after{
    display:none !important;
    content:none !important;
    width:0 !important;
    height:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body .section-separator{
    display:none !important;
  }

  body section.long-promo-banner-section,body section.promotion-marketplace-section{
    margin-top:24px !important;
  }
  body .promo-to-products-divider{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body .promo-to-products-divider .container,
  body .promo-to-products-divider .section-divider-line,
  body .promo-to-products-divider .section-divider-line::before,
  body .promo-to-products-divider .section-divider-line::after{
    display:none !important;
    content:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  body .news-to-pr-divider,
  body .promo-to-products-divider{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:hidden !important;
  }

  body .news-to-pr-divider .container,
  body .news-to-pr-divider .section-divider-line,
  body .news-to-pr-divider .section-divider-line::before,
  body .news-to-pr-divider .section-divider-line::after,
  body .promo-to-products-divider .container,
  body .promo-to-products-divider .section-divider-line,
  body .promo-to-products-divider .section-divider-line::before,
  body .promo-to-products-divider .section-divider-line::after{
    display:none !important;
    content:none !important;
    width:0 !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  
  body section.long-promo-banner-section{
    margin-bottom:0 !important;
  }

  body section.long-promo-banner-section,
  body section.promotion-marketplace-section{
    margin-top:16px !important;
  }

  body .mobile-gap-before-pr-source,body .mobile-gap-before-pr-source > .container,
  body .mobile-gap-before-pr-source > .container > *:last-child{
    margin-bottom:0 !important;
    padding-bottom:0 !important;
  }
  body section.long-promo-banner-section.mobile-gap-target-pr,
  body .mobile-gap-target-pr{
    transform:none !important;
  }
  body .mobile-gap-before-pr-source + .news-to-pr-divider{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  body section.promotion-marketplace-section{
    margin-top:16px !important;
  }
  body section.promotion-marketplace-section#promotion-marketplace{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:14px !important;
    padding-right:14px !important;
    box-sizing:border-box !important;
  }
  body section.promotion-marketplace-section#promotion-marketplace > .container{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
  body section.promotion-marketplace-section#promotion-marketplace .promo-market-grid{
    width:100% !important;
    max-width:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
    gap:10px !important;
  }

  body section.promotion-marketplace-section#promotion-marketplace .promo-market-card,
  body section.promotion-marketplace-section#promotion-marketplace .promo-market-image,
  body section.promotion-marketplace-section#promotion-marketplace .promo-market-image img{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  body section.long-promo-banner-section.mobile-gap-target-pr,
  body .mobile-gap-target-pr{
    margin-top:4px !important;
  }
  body .promo-outbound-separator,
  body .tour-section-divider{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  body section.ttb-mobile-tour-shelf{
    max-width:none !important;
    box-sizing:border-box !important;
    border:1px solid rgba(209, 224, 244, .92) !important;
    background:radial-gradient(circle at 10% 0%, rgba(0, 85, 184, .07), transparent 36%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%) !important;
    box-shadow:0 18px 42px rgba(15, 45, 90, .09) !important;
  }

  body section.ttb-mobile-tour-shelf > .container,
  body section.ttb-mobile-tour-shelf .flash-sale-shell > .container,
  body section.ttb-mobile-tour-shelf .container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

  body section.ttb-mobile-tour-shelf .section-head,
  body section.ttb-mobile-tour-shelf .flash-sale-head{
    display:block !important;
    padding:0 !important;
    text-align:left !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-title-row{
    display:flex !important;
    justify-content:space-between !important;
    gap:10px !important;
    margin:0 !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-title-row h2,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block h2{
    flex:1 1 auto !important;
    min-width:0 !important;
    margin:0 !important;
    color:#00448f !important;
    text-align:left !important;
    font-weight:900 !important;
  }

  body section.ttb-mobile-tour-shelf .flash-sale-title-block h2,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block h2 strong{
    color:#0e1f3b !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-view-all{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:34px !important;
    padding:0 6px !important;
    color:#0054b8 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
    font-size:13px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  body section.ttb-mobile-tour-shelf .section-head p,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block p{
    margin:8px 0 0 !important;
    color:#667085 !important;
    text-align:left !important;
    font-weight:650 !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row{
    width:calc(100% + 28px) !important;
    margin:13px -14px 2px !important;
    padding:2px 14px 8px !important;
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%) !important;
    -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 14px, #000 calc(100% - 22px), transparent 100%) !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row::-webkit-scrollbar{
    display:none !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row button{
    appearance:none !important;
    -webkit-appearance:none !important;
    font:inherit !important;
    cursor:pointer !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row :is(span, button){
    flex:0 0 auto !important;
    border-radius:999px !important;
    border:1px solid #dfe7f3 !important;
    background:#fff !important;
    color:#24324a !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:0 8px 18px rgba(20, 33, 61, .045) !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row :is(span, button).is-active{
    color:#fff !important;
    border-color:#0054b8 !important;
    background:linear-gradient(135deg, #0c62c7, #0054b8) !important;
    box-shadow:0 12px 24px rgba(12, 98, 199, .18) !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row button:focus-visible{
    outline:3px solid rgba(0, 84, 184, .24) !important;
    outline-offset:2px !important;
  }

  body section.ttb-outbound-shelf .product-tour-card[hidden],
  body section.ttb-outbound-shelf .product-tour-card.is-filtered-out{
    display:none !important;
  }

  body section.ttb-outbound-shelf .tour-filter-empty{
    margin:18px 0 4px !important;
    padding:20px 16px !important;
    border:1px dashed #cbd9ec !important;
    border-radius:18px !important;
    background:#ffffff !important;
    color:#667085 !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:800 !important;
  }

  body section.ttb-mobile-tour-shelf .center-btn,
  body section.ttb-mobile-tour-shelf .flash-sale-action{
    display:none !important;
  }

  body section.ttb-mobile-tour-shelf .product-card-grid,
  body section.ttb-mobile-tour-shelf .flash-sale-grid{
    margin:0 -14px !important;
    padding:2px 14px 8px !important;
    display:flex !important;
    grid-template-columns:none !important;
  }

  body section.ttb-mobile-tour-shelf .outbound-skyline-img,
  body section.ttb-mobile-tour-shelf .domestic-skyline-img,
  body section.ttb-mobile-tour-shelf .flash-bolts,
  body section.ttb-mobile-tour-shelf .flash-sale-shell::before,
  body section.ttb-mobile-tour-shelf .flash-sale-shell::after{
    display:none !important;
  }
  body section.ttb-outbound-shelf .product-tour-card{
    min-width:0 !important;
    display:grid !important;
    overflow:hidden !important;
    border:1px solid rgba(220, 231, 246, .96) !important;
    background:#ffffff !important;
    transform:none !important;
  }

  body section.ttb-outbound-shelf .product-card-image{
    width:100% !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#edf4ff !important;
  }

  body section.ttb-outbound-shelf .product-card-image img{
    display:block !important;
  }

  body section.ttb-outbound-shelf .product-badge{
    border-radius:999px !important;
    background:linear-gradient(135deg, #ef3340, #ff5b32) !important;
    color:#fff !important;
    font-weight:900 !important;
    box-shadow:0 10px 20px rgba(239, 51, 64, .22) !important;
  }

  body section.ttb-outbound-shelf .product-card-body{
    min-width:0 !important;
    display:block !important;
  }

  body section.ttb-outbound-shelf .product-card-body::before{
    content:"สำหรับสมาชิก / เอเจนต์" !important;
    display:inline-flex !important;
    margin:0 0 7px !important;
    align-items:center !important;
    border-radius:999px !important;
    background:#eef6ff !important;
    color:#0054b8 !important;
    font-weight:900 !important;
  }

  body section.ttb-outbound-shelf .product-card-body h3{
    margin:0 !important;
    color:#0e1f3b !important;
    font-weight:900 !important;
    letter-spacing:-.012em !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body section.ttb-outbound-shelf .product-meta-list{
    margin:8px 0 0 !important;
    display:grid !important;
    color:#667085 !important;
    line-height:1.25 !important;
    font-weight:800 !important;
  }

  body section.ttb-outbound-shelf .product-meta-list span:nth-child(n+3){
    display:none !important;
  }

  body section.ttb-outbound-shelf .product-card-footer{
    margin:0 !important;
    border:0 !important;
  }

  body section.ttb-outbound-shelf .price-block{
    min-width:0 !important;
  }

  body section.ttb-outbound-shelf .price-block small{
    color:rgba(255,255,255,.68) !important;
    font-size:9.5px !important;
    line-height:1 !important;
    font-weight:800 !important;
  }

  body section.ttb-outbound-shelf .price-block strong{
    font-weight:900 !important;
    letter-spacing:-.035em !important;
  }

  body section.ttb-outbound-shelf .price-block em{
    font-weight:800 !important;
    font-style:normal !important;
  }

  body section.ttb-outbound-shelf .product-card-footer::after{
    border:1px solid rgba(255, 255, 255, .38) !important;
  }

  body section.ttb-flash-shelf .flash-sale-shell{
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    overflow:visible !important;
  }

  body section.ttb-flash-shelf .flash-sale-head{
    display:block !important;
    margin-bottom:12px !important;
  }

  body section.ttb-flash-shelf .flash-kicker{
    align-items:center !important;
    margin:0 0 8px !important;
    box-shadow:0 8px 18px rgba(239, 51, 64, .08) !important;
  }

  body section.ttb-flash-shelf .flash-sale-title-block h2::after{
    display:none !important;
    content:none !important;
  }

  body section.ttb-flash-shelf .countdown-box{
    width:100% !important;
    min-height:40px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
  }

  body section.ttb-flash-shelf .countdown-label{
    display:inline-flex !important;
    align-items:center !important;
    gap:6px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
  }

  body section.ttb-flash-shelf .countdown-time{
    display:flex !important;
    align-items:center !important;
  }

  body section.ttb-flash-shelf .time-card{
    width:30px !important;
    color:#fff !important;
    display:grid !important;
    place-items:center !important;
  }

  body section.ttb-flash-shelf .time-card strong{
    line-height:1 !important;
  }

  body section.ttb-flash-shelf .countdown-time em{
    color:#ef3340 !important;
    font-style:normal !important;
    font-weight:900 !important;
  }

  body section.ttb-flash-shelf .flash-deal-card{
    grid-template-columns:42% 58% !important;
    transform:none !important;
  }

  body section.ttb-flash-shelf .flash-deal-image img{
    display:block !important;
  }

  body section.ttb-flash-shelf .deal-badge{
    padding:0 8px !important;
    font-size:9.5px !important;
  }

  body section.ttb-flash-shelf .deal-badge,body section.ttb-flash-shelf .discount-badge{
    top:8px !important;
    min-height:24px !important;
    border-radius:999px !important;
    font-weight:900 !important;
  }

  body section.ttb-flash-shelf .discount-badge{
    font-size:10px !important;
  }

  body section.ttb-flash-shelf .flash-deal-body{
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
  }

  body section.ttb-flash-shelf .flash-deal-body h3{
    margin:0 !important;
    color:#0e1f3b !important;
    font-weight:900 !important;
    letter-spacing:-.012em !important;
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body section.ttb-flash-shelf .flash-deal-meta{
    display:grid !important;
    gap:2px !important;
    color:#667085 !important;
    font-weight:750 !important;
  }

  body section.ttb-flash-shelf .flash-deal-meta span:nth-child(n+2){
    display:none !important;
  }

  body section.ttb-flash-shelf .flash-price-row{
    align-items:flex-end !important;
    justify-content:space-between !important;
    gap:8px !important;
    margin:0 !important;
  }

  body section.ttb-flash-shelf .save-badge{
    display:none !important;
  }

  body section.ttb-flash-shelf .old-price{
    display:block !important;
    margin:0 0 1px !important;
    color:#98a2b3 !important;
    line-height:1 !important;
    text-decoration:line-through !important;
    font-weight:800 !important;
  }

  body section.ttb-flash-shelf .flash-price-row strong{
    display:block !important;
    color:#ef3340 !important;
    line-height:.95 !important;
    font-weight:900 !important;
    letter-spacing:-.04em !important;
  }

  body section.ttb-flash-shelf .flash-price-row em{
    display:block !important;
    color:#667085 !important;
    font-size:9.5px !important;
    line-height:1 !important;
    font-style:normal !important;
    font-weight:800 !important;
  }

  body section.ttb-flash-shelf .deal-btn{
    flex:0 0 auto !important;
    background:linear-gradient(135deg, #ef3340, #d71920) !important;
    color:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-decoration:none !important;
    font-weight:900 !important;
  }

  body section.ttb-domestic-shelf .shelf-chip-row :is(span, button).is-active{
    border-color:#16a34a !important;
    background:linear-gradient(135deg, #16a34a, #0e7a3b) !important;
    box-shadow:0 12px 24px rgba(18, 163, 108, .18) !important;
  }

  body section.ttb-domestic-shelf .product-tour-card{
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    border:1px solid rgba(220, 231, 246, .96) !important;
    background:#fff !important;
    transform:none !important;
  }

  body section.ttb-domestic-shelf .product-card-image{
    width:100% !important;
    border-radius:0 !important;
    overflow:hidden !important;
    background:#eefaf3 !important;
  }

  body section.ttb-domestic-shelf .product-card-image img{
    display:block !important;
  }

  body section.ttb-domestic-shelf .product-badge{
    left:9px !important;
    top:9px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg, #fbbf24, #f59e0b) !important;
    color:#17324d !important;
    font-weight:900 !important;
  }

  body section.ttb-domestic-shelf .product-card-body{
    flex:1 1 auto !important;
  }

  body section.ttb-domestic-shelf .product-card-body h3{
    margin:0 !important;
    color:#0e1f3b !important;
    font-weight:900 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body section.ttb-domestic-shelf .product-meta-list{
    margin:7px 0 0 !important;
    display:grid !important;
    color:#667085 !important;
    line-height:1.25 !important;
    font-weight:800 !important;
  }

  body section.ttb-domestic-shelf .product-meta-list span:nth-child(n+3){
    display:none !important;
  }

  body section.ttb-domestic-shelf .product-card-footer{
    margin-top:auto !important;
    border-top:1px solid #eef2f7 !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
  }

  body section.ttb-domestic-shelf .airline-logo-img{
    display:none !important;
  }

  body section.ttb-domestic-shelf .price-block{
    text-align:left !important;
  }

  body section.ttb-domestic-shelf .price-block small{
    color:#667085 !important;
    font-size:10px !important;
    font-weight:800 !important;
  }

  body section.ttb-domestic-shelf .price-block strong{
    color:#0054b8 !important;
    line-height:.95 !important;
    font-weight:900 !important;
    letter-spacing:-.035em !important;
  }

  body section.ttb-domestic-shelf .price-block em{
    color:#667085 !important;
    font-size:9.5px !important;
    font-weight:800 !important;
    font-style:normal !important;
  }

  body section.ttb-domestic-shelf .product-card-footer::after{
    content:"ดูรายละเอียด ›" !important;
    flex:0 0 auto !important;
    border-radius:999px !important;
    background:#eef6ff !important;
    color:#0054b8 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight:900 !important;
  }
  body section.ttb-mobile-tour-shelf{
    width:calc(100% - 28px) !important;
    margin:16px auto 0 !important;
    padding:20px 14px 20px !important;
    border-radius:26px !important;
  }

  body section.promotion-marketplace-section + .promo-outbound-separator,
  body .promo-outbound-separator,
  body .tour-section-divider,
  body .simple-section-divider{
    display:none !important;
    height:0 !important;
    min-height:0 !important;
    max-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    overflow:hidden !important;
  }

  body section.ttb-mobile-tour-shelf .section-head,
  body section.ttb-mobile-tour-shelf .flash-sale-head{
    margin:0 0 12px !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-title-row{
    align-items:flex-start !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-title-row h2,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block h2{
    max-width:260px !important;
    font-size:clamp(23px, 6.6vw, 31px) !important;
    line-height:1.08 !important;
    letter-spacing:-.038em !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-title-row h2::before,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block h2::before{
    display:inline-grid !important;
    place-items:center !important;
    width:31px !important;
    height:31px !important;
    margin-right:8px !important;
    border-radius:10px !important;
    color:#ffffff !important;
    background:linear-gradient(135deg, #0c62c7, #0054b8) !important;
    box-shadow:0 10px 22px rgba(12, 98, 199, .20) !important;
    font-size:18px !important;
    line-height:1 !important;
    vertical-align:2px !important;
  }

  body section.ttb-outbound-shelf .shelf-title-row h2::before{
    content:"✈" !important;
  }

  body section.ttb-flash-shelf .flash-sale-title-block h2::before{
    content:"⚡" !important;
    background:linear-gradient(135deg, #ef3340, #ff5d32) !important;
    box-shadow:0 10px 22px rgba(239, 51, 64, .18) !important;
  }

  body section.ttb-domestic-shelf .shelf-title-row h2::before{
    content:"⌂" !important;
    background:linear-gradient(135deg, #16a34a, #0e7a3b) !important;
    box-shadow:0 10px 22px rgba(18, 163, 108, .18) !important;
  }

  body section.ttb-mobile-tour-shelf .section-head p,
  body section.ttb-mobile-tour-shelf .flash-sale-title-block p{
    max-width:318px !important;
    margin-top:8px !important;
    font-size:12.7px !important;
    line-height:1.45 !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row{
    margin-top:12px !important;
    margin-bottom:4px !important;
    padding-bottom:8px !important;
  }

  body section.ttb-mobile-tour-shelf .shelf-chip-row :is(span, button){
    min-height:34px !important;
    padding:0 13px !important;
    font-size:12px !important;
  }
  body section.ttb-outbound-shelf .product-tour-card{
    border-radius:22px !important;
    box-shadow:0 18px 38px rgba(15, 39, 75, .14) !important;
  }

  body section.ttb-outbound-shelf .product-badge{
    left:9px !important;
    top:9px !important;
    min-height:28px !important;
    padding:0 11px !important;
    font-size:10.5px !important;
  }

  body section.ttb-outbound-shelf .product-card-body h3{
    -webkit-line-clamp:2 !important;
  }

  body section.ttb-outbound-shelf .product-card-footer{
    padding:0 11px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    background:linear-gradient(135deg, #071220, #10253b) !important;
  }

  body section.ttb-outbound-shelf .product-card-footer::before{
    content:"🔥 โปรจัดหนัก" !important;
    color:#ffffff !important;
    font-size:12px !important;
    font-weight:900 !important;
  }

  body section.ttb-outbound-shelf .airline-logo-img{
    display:none !important;
  }

  body section.ttb-outbound-shelf .price-block{
    margin-right:auto !important;
    display:flex !important;
    align-items:baseline !important;
    gap:3px !important;
    text-align:left !important;
  }

  body section.ttb-outbound-shelf .price-block small{
    display:none !important;
  }

  body section.ttb-outbound-shelf .price-block strong{
    color:#ffd54a !important;
    font-size:22px !important;
    line-height:1 !important;
  }

  body section.ttb-outbound-shelf .price-block em{
    color:rgba(255,255,255,.78) !important;
    font-size:10px !important;
  }

  body section.ttb-outbound-shelf .product-card-footer::after{
    content:"ดูโปรแกรม ›" !important;
    flex:0 0 auto !important;
    min-height:32px !important;
    padding:0 13px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg, #0966d8, #004eb6) !important;
    color:#ffffff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:11.5px !important;
    font-weight:900 !important;
    box-shadow:0 10px 18px rgba(0, 84, 184, .26) !important;
  }
  body section.ttb-flash-shelf{
    border-color:rgba(255, 198, 198, .86) !important;
    background:radial-gradient(circle at 8% 0%, rgba(239, 51, 64, .08), transparent 36%), linear-gradient(180deg, #fff8f8 0%, #ffffff 100%) !important;
  }

  body section.ttb-flash-shelf .flash-kicker{
    display:inline-flex !important;
    min-height:26px !important;
    padding:0 11px !important;
    border-radius:999px !important;
    background:rgba(255, 255, 255, .90) !important;
    color:#ef3340 !important;
    border:1px solid rgba(239, 51, 64, .16) !important;
    font-size:11px !important;
    font-weight:900 !important;
  }

  body section.ttb-flash-shelf .flash-sale-title-block h2,
  body section.ttb-flash-shelf .flash-sale-title-block h2 strong{
    color:#0e1f3b !important;
  }

  body section.ttb-flash-shelf .countdown-box{
    margin:12px 0 12px !important;
    padding:12px 10px !important;
    border-radius:18px !important;
    border:1px solid rgba(239, 51, 64, .16) !important;
    background:rgba(255, 255, 255, .88) !important;
    box-shadow:none !important;
  }

  body section.ttb-flash-shelf .countdown-label{
    margin-bottom:8px !important;
    color:#ef3340 !important;
    font-size:12.5px !important;
  }

  body section.ttb-flash-shelf .countdown-time{
    gap:5px !important;
    justify-content:center !important;
  }

  body section.ttb-flash-shelf .time-card{
    min-width:42px !important;
    height:32px !important;
    border-radius:8px !important;
    background:linear-gradient(135deg, #ff4d64, #ef3340) !important;
    box-shadow:0 7px 14px rgba(239, 51, 64, .16) !important;
  }

  body section.ttb-flash-shelf .time-card strong{
    font-size:15px !important;
  }

  body section.ttb-flash-shelf .time-card small{
    display:none !important;
  }

  body section.ttb-flash-shelf .flash-deal-card{
    display:flex !important;
    flex-direction:column !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:#ffffff !important;
    border:1px solid rgba(255, 207, 207, .92) !important;
    box-shadow:0 13px 28px rgba(239, 51, 64, .10) !important;
  }

  body section.ttb-flash-shelf .flash-deal-image{
    width:100% !important;
    border-radius:0 !important;
    overflow:hidden !important;
    position:relative !important;
  }

  body section.ttb-flash-shelf .deal-badge,
  body section.ttb-flash-shelf .discount-badge{
    position:absolute !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:auto !important;
    max-width:none !important;
    height:24px !important;
    min-height:24px !important;
    max-height:24px !important;
    padding:0 8px !important;
    border-radius:999px !important;
    transform:none !important;
    rotate:none !important;
    clip-path:none !important;
    color:#ffffff !important;
    font-size:9.5px !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    box-shadow:0 8px 16px rgba(0,0,0,.12) !important;
  }

  body section.ttb-flash-shelf .deal-badge{
    left:7px !important;
    top:7px !important;
    background:linear-gradient(135deg, #ef3340, #d71920) !important;
  }

  body section.ttb-flash-shelf .discount-badge{
    right:7px !important;
    top:7px !important;
    min-width:44px !important;
    background:linear-gradient(135deg, #ef3340, #ff5d32) !important;
  }

  body section.ttb-flash-shelf .flash-deal-body{
    flex:1 1 auto !important;
  }

  body section.ttb-flash-shelf .flash-deal-body h3{
    -webkit-line-clamp:2 !important;
  }

  body section.ttb-flash-shelf .flash-deal-meta{
    margin:5px 0 5px !important;
    font-size:9.5px !important;
    line-height:1.2 !important;
  }

  body section.ttb-flash-shelf .flash-price-row{
    display:block !important;
  }

  body section.ttb-flash-shelf .old-price{
    font-size:10px !important;
  }

  body section.ttb-flash-shelf .deal-btn{
    width:100% !important;
    min-height:29px !important;
    margin-top:7px !important;
    padding:0 8px !important;
    border-radius:999px !important;
    font-size:10.5px !important;
  }
  body section.ttb-domestic-shelf{
    border-color:rgba(187, 227, 210, .85) !important;
    background:radial-gradient(circle at 10% 0%, rgba(18, 163, 108, .09), transparent 36%), linear-gradient(180deg, #f5fffb 0%, #ffffff 100%) !important;
  }

  body section.ttb-domestic-shelf .product-tour-card{
    border-radius:18px !important;
    box-shadow:0 13px 28px rgba(15, 39, 75, .09) !important;
  }

  body section.ttb-domestic-shelf .product-badge{
    min-height:24px !important;
    padding:0 8px !important;
    font-size:9.5px !important;
  }

  body section.ttb-domestic-shelf .product-meta-list{
    gap:2px !important;
  }

  body section.ttb-domestic-shelf .product-card-footer{
    display:block !important;
  }

  body section.ttb-domestic-shelf .product-card-footer::after{
    width:100% !important;
    min-height:28px !important;
    margin-top:7px !important;
    padding:0 8px !important;
    font-size:10.5px !important;
  }

  body section.ttb-domestic-shelf + .section-separator,
  body section.ttb-domestic-shelf + .tour-section-divider,
  body section.ttb-domestic-shelf + .simple-section-divider{
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  body section.ttb-domestic-shelf + section{
    margin-top:16px !important;
  }
  body section.ttb-mobile-tour-shelf{
    overflow:hidden !important;
  }

  body section.ttb-mobile-tour-shelf .product-card-grid,
  body section.ttb-mobile-tour-shelf .flash-sale-grid{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    padding-top:4px !important;
    padding-bottom:8px !important;
    gap:8px !important;
    scroll-padding-left:0 !important;
    overscroll-behavior-x:contain !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }

  body section.ttb-outbound-shelf .product-card-image{
    grid-column:1 !important;
    grid-row:1 !important;
  }

  body section.ttb-outbound-shelf .product-card-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  body section.ttb-outbound-shelf .product-card-body{
    grid-column:2 !important;
    grid-row:1 !important;
    padding:11px 10px 8px !important;
  }

  body section.ttb-outbound-shelf .product-card-body::before{
    min-height:23px !important;
    margin-bottom:6px !important;
    padding:0 8px !important;
    font-size:9.5px !important;
  }

  body section.ttb-outbound-shelf .product-card-body h3{
    font-size:14px !important;
    line-height:1.28 !important;
  }

  body section.ttb-outbound-shelf .product-meta-list{
    margin-top:6px !important;
    gap:3px !important;
    font-size:10.5px !important;
  }

  body section.ttb-outbound-shelf .product-card-footer{
    grid-column:1 / 3 !important;
    grid-row:2 !important;
    min-height:48px !important;
  }

  body section.ttb-flash-shelf .flash-deal-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  body section.ttb-flash-shelf .flash-deal-body{
    padding:9px 9px 8px !important;
  }

  body section.ttb-flash-shelf .flash-deal-body h3{
    font-size:12.6px !important;
    line-height:1.24 !important;
  }

  body section.ttb-flash-shelf .flash-price-row strong{
    font-size:19px !important;
  }

  body section.ttb-domestic-shelf .product-card-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
  }

  body section.ttb-domestic-shelf .product-card-body{
    padding:9px 9px 0 !important;
  }

  body section.ttb-domestic-shelf .product-card-body h3{
    font-size:12.8px !important;
    line-height:1.27 !important;
  }

  body section.ttb-domestic-shelf .product-meta-list{
    margin-top:5px !important;
    font-size:9.8px !important;
  }

  body section.ttb-domestic-shelf .product-card-footer{
    padding:7px 9px 9px !important;
  }

  body section.ttb-domestic-shelf .price-block strong{
    font-size:19px !important;
  }
  body section.ttb-mobile-tour-shelf .product-card-grid,
  body section.ttb-mobile-tour-shelf .flash-sale-grid{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
  }

  body section.ttb-mobile-tour-shelf .product-card-grid::-webkit-scrollbar,
  body section.ttb-mobile-tour-shelf .flash-sale-grid::-webkit-scrollbar{
    display:none !important;
  }

  body section.ttb-outbound-shelf .product-tour-card{
    min-height:196px !important;
    grid-template-columns:48% 52% !important;
    grid-template-rows:148px 48px !important;
  }

  body section.ttb-outbound-shelf .product-card-image{
    height:148px !important;
    min-height:148px !important;
  }

  body section.ttb-outbound-shelf .product-card-image img,
  body section.ttb-flash-shelf .flash-deal-image img,
  body section.ttb-domestic-shelf .product-card-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }
  body section.ttb-flash-shelf .countdown-box{
    margin-top:14px !important;
    margin-bottom:14px !important;
  }

  body section.ttb-flash-shelf .flash-sale-grid{
    width:calc(100% + 3px) !important;
    max-width:none !important;
    margin-left:-3px !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:9px !important;
    scroll-padding-left:0 !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }

  body section.ttb-flash-shelf .flash-deal-card{
    flex:0 0 47% !important;
    width:47% !important;
    max-width:none !important;
    min-height:214px !important;
    scroll-snap-align:start !important;
  }

  body section.ttb-flash-shelf .flash-deal-image{
    height:96px !important;
    min-height:96px !important;
  }
  body section.ttb-domestic-shelf .product-card-grid{
    width:calc(100% + 3px) !important;
    max-width:none !important;
    margin-left:-3px !important;
    margin-right:0 !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:9px !important;
    scroll-padding-left:0 !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }

  body section.ttb-domestic-shelf .product-tour-card{
    flex:0 0 47% !important;
    width:47% !important;
    max-width:none !important;
    min-height:224px !important;
    scroll-snap-align:start !important;
  }

  body section.ttb-domestic-shelf .product-card-image{
    height:100px !important;
    min-height:100px !important;
  }
  body section.ttb-outbound-shelf .product-card-grid{
    width:calc(100% + 20px) !important;
    max-width:none !important;
    margin-left:-12px !important;
    margin-right:-8px !important;
    padding-left:0 !important;
    padding-right:0 !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-padding-left:0 !important;
    scrollbar-width:none !important;
    mask-image:none !important;
    -webkit-mask-image:none !important;
  }

  body section.ttb-outbound-shelf .product-card-grid::-webkit-scrollbar{
    display:none !important;
  }

  body section.ttb-outbound-shelf .product-tour-card{
    flex:0 0 70% !important;
    width:70% !important;
    max-width:none !important;
    scroll-snap-align:start !important;
  }
body.mobile-menu-open{
    overflow:hidden !important;
  }

body .top-bar,
body .main-menu-bar,
body .main-menu-inner,
body .header-info,
body .ttb-country-mega{
    display:none !important;
  }

body .site-header{
    position:sticky !important;
    top:0 !important;
    z-index:900 !important;
    background:#fff !important;
    box-shadow:0 8px 18px rgba(0, 70, 150, .08) !important;
  }

body .site-header .header-main,
body .container.header-main{
    width:100% !important;
    max-width:100% !important;
    min-height:68px !important;
    height:68px !important;
    padding:8px 58px !important;
    position:relative !important;
    display:flex !important;
  }

body .site-header .header-main,
body .container.header-main,body .site-header .brand{
    margin:0 !important;
    justify-content:center !important;
    align-items:center !important;
  }

body .site-header .brand{
    display:inline-flex !important;
    gap:8px !important;
    min-width:0 !important;
  }

body .site-header .brand-logo{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    margin:0 !important;
    border-radius:12px !important;
    background:transparent !important;
    box-shadow:none !important;
  }

body .site-header .brand-logo img{
    width:42px !important;
    height:42px !important;
    object-fit:contain !important;
  }

body .site-header .brand-title{
    font-size:18px !important;
    line-height:1 !important;
    white-space:nowrap !important;
    color:#00458f !important;
    margin:0 !important;
  }

body .site-header .brand-sub{
    display:none !important;
  }

body .mobile-menu-toggle{
    position:absolute !important;
    left:16px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:42px !important;
    height:42px !important;
    display:inline-flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:5px !important;
    border:0 !important;
    background:transparent !important;
    padding:0 !important;
    z-index:4 !important;
  }

body .mobile-menu-toggle span{
    width:25px !important;
    height:3px !important;
    border-radius:999px !important;
    background:#071832 !important;
    margin:0 !important;
    display:block !important;
  }

body .mobile-menu-overlay{
    inset:0 !important;
    background:rgba(6, 16, 32, .62) !important;
    opacity:0 !important;
    visibility:hidden !important;
    z-index:980 !important;
    transition:opacity .24s ease, visibility .24s ease !important;
  }

body .mobile-menu-overlay,body .mobile-menu-panel{
    position:fixed !important;
    display:block !important;
  }

body .mobile-menu-panel{
    left:0 !important;
    top:0 !important;
    bottom:0 !important;
    width:min(88vw, 390px) !important;
    max-width:390px !important;
    background:#fff !important;
    z-index:990 !important;
    transform:translateX(-102%) !important;
    transition:transform .28s ease !important;
    overflow-y:auto !important;
    padding:22px 18px 24px !important;
    box-shadow:14px 0 42px rgba(0, 0, 0, .22) !important;
    border-radius:0 !important;
  }

body.mobile-menu-open .mobile-menu-overlay{
    opacity:1 !important;
    visibility:visible !important;
  }

body.mobile-menu-open .mobile-menu-panel{
    transform:translateX(0) !important;
  }

body .mobile-menu-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 0 18px !important;
    margin:0 0 18px !important;
    border-bottom:1px solid rgba(0, 86, 184, .10) !important;
  }

body .mobile-menu-head img{
    width:82px !important;
    height:auto !important;
    object-fit:contain !important;
  }

body .mobile-menu-head button{
    width:46px !important;
    height:46px !important;
    border-radius:999px !important;
    border:0 !important;
    background:#eef6ff !important;
    color:#0056b8 !important;
    font-size:26px !important;
    font-weight:900 !important;
    line-height:1 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

body .mobile-auth-row,
body .mobile-lang-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin:0 0 12px !important;
  }

body .mobile-auth-row a,
body .mobile-lang-row a{
    height:42px !important;
    border-radius:999px !important;
    border:1px solid rgba(0, 86, 184, .18) !important;
    background:#fff !important;
    color:#00458f !important;
    text-decoration:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:none !important;
  }

body .mobile-auth-row a:first-child,
body .mobile-lang-row a.is-active,
body .mobile-lang-row a:first-child{
    background:linear-gradient(135deg, #006bd6, #004a9d) !important;
    color:#fff !important;
    border-color:transparent !important;
  }

body .ttb-mobile-menu-item,
body .mobile-submenu-toggle.ttb-mobile-menu-item{
    width:100% !important;
    min-height:46px !important;
    border:1px solid rgba(0, 86, 184, .13) !important;
    border-radius:11px !important;
    background:#fff !important;
    color:#071832 !important;
    text-decoration:none !important;
    display:grid !important;
    grid-template-columns:28px minmax(0, 1fr) 28px !important;
    align-items:center !important;
    gap:8px !important;
    padding:0 13px !important;
    text-align:left !important;
    box-shadow:none !important;
  }

body .ttb-mobile-menu-item i,
body .mobile-submenu-toggle.ttb-mobile-menu-item i{
    color:#006bd6 !important;
    text-align:center !important;
  }

body .ttb-mobile-menu-item b,
body .mobile-submenu-toggle.ttb-mobile-menu-item b{
    color:#071832 !important;
    text-align:right !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item .ttb-mobile-chevron{
    position:relative !important;
    width:28px !important;
    height:28px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:end !important;
    border-radius:50% !important;
    background:#eef5ff !important;
    font-size:0 !important;
    line-height:0 !important;
    color:transparent !important;
    text-align:center !important;
    transition:background-color .2s ease, box-shadow .2s ease !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item .ttb-mobile-chevron::before{
    content:"" !important;
    width:7px !important;
    height:7px !important;
    border-right:2px solid #16375f !important;
    border-bottom:2px solid #16375f !important;
    transform:translateY(-2px) rotate(45deg) !important;
    transform-origin:center !important;
    transition:transform .22s ease, border-color .2s ease !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item:hover .ttb-mobile-chevron,
body .mobile-submenu-toggle.ttb-mobile-menu-item:focus-visible .ttb-mobile-chevron{
    background:#e2efff !important;
    box-shadow:0 0 0 3px rgba(0, 107, 214, .08) !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item.is-open{
    border-radius:11px 11px 0 0 !important;
    background:#f7fbff !important;
    border-bottom-color:transparent !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item.is-open .ttb-mobile-chevron{
    background:#dcecff !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item.is-open .ttb-mobile-chevron::before{
    border-color:#005fca !important;
    transform:translateY(2px) rotate(225deg) !important;
  }

body .ttb-mobile-zone-menu{
    display:none !important;
    margin-top:-8px !important;
    padding:8px 12px 12px !important;
    border:1px solid rgba(0, 86, 184, .13) !important;
    border-top:0 !important;
    border-radius:0 0 13px 13px !important;
    background:#fff !important;
  }

body .ttb-mobile-zone-menu.is-open{
    display:block !important;
  }

body .ttb-mobile-zone{
    padding:9px 0 !important;
    border-top:1px solid rgba(0, 86, 184, .08) !important;
  }

body .ttb-mobile-zone:first-child{
    border-top:0 !important;
  }

body .ttb-mobile-zone-head{
    display:flex !important;
    justify-content:space-between !important;
    margin-bottom:7px !important;
  }

body .ttb-mobile-zone-head strong{
    color:#00458f !important;
  }

body .ttb-mobile-zone-head a{
    color:#006bd6 !important;
    text-decoration:none !important;
  }

body .ttb-mobile-country-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px 12px !important;
  }

body .ttb-mobile-country-grid a{
    min-width:0 !important;
    color:#334155 !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:650 !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
  }

body .ttb-mobile-country-grid a span{
    width:20px !important;
    min-width:20px !important;
    text-align:center !important;
  }

body .ttb-mobile-clean-contact{
    margin-top:18px !important;
    border-radius:16px !important;
    background:#eaf4ff !important;
    padding:16px !important;
    color:#667085 !important;
    display:grid !important;
    gap:6px !important;
    position:relative !important;
  }

body .ttb-mobile-clean-contact strong{
    color:#00458f !important;
    font-size:20px !important;
    font-weight:950 !important;
  }

body .ttb-mobile-clean-contact p{
    margin:0 !important;
    font-size:14px !important;
    color:#667085 !important;
  }

body .ttb-mobile-clean-contact i{
    position:absolute !important;
    right:16px !important;
    bottom:16px !important;
    width:44px !important;
    height:44px !important;
    border-radius:999px !important;
    background:#d8ebff !important;
    color:#006bd6 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:20px !important;
  }
body .ttb-mobile-zone--featured{
    padding-top:11px !important;
    padding-bottom:12px !important;
  }

body .ttb-mobile-zone--featured .ttb-mobile-zone-head{
    margin-bottom:9px !important;
  }

body .ttb-mobile-zone--featured .ttb-mobile-zone-head strong{
    font-size:15px !important;
  }

body .ttb-mobile-country-grid--full{
    grid-template-columns:1fr 1fr !important;
    gap:8px 10px !important;
  }

body .ttb-mobile-country-grid--full a,
body .ttb-mobile-country-grid a{
    min-height:38px !important;
    border-radius:12px !important;
    background:#eaf4ff !important;
    border:1px solid rgba(0, 86, 184, .08) !important;
    padding:7px 10px !important;
    color:#1f334d !important;
    font-weight:800 !important;
  }

body .ttb-mobile-country-grid--full a span,
body .ttb-mobile-country-grid a span{
    width:24px !important;
    min-width:24px !important;
    height:24px !important;
    font-size:17px !important;
    background:#fff !important;
    box-shadow:0 2px 6px rgba(0, 64, 130, .06) !important;
  }

body .ttb-mobile-country-grid--full a span,
body .ttb-mobile-country-grid a span,body .ttb-mobile-zone-head a{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
  }

body .ttb-mobile-zone-head a{
    min-height:34px !important;
    padding:0 12px !important;
    background:#eaf4ff !important;
    border:1px solid rgba(0, 86, 184, .08) !important;
  }
body .ttb-mobile-country-grid a{
    display:grid !important;
    grid-template-columns:34px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:10px !important;
    min-height:42px !important;
    padding:7px 12px !important;
    border-radius:13px !important;
    background:#eaf4ff !important;
    border:1px solid rgba(0, 86, 184, .08) !important;
    overflow:hidden !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-flag-icon{
    width:30px !important;
    min-width:30px !important;
    height:30px !important;
    border-radius:999px !important;
    background:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    box-shadow:0 2px 6px rgba(0, 64, 130, .08), inset 0 0 0 1px rgba(0, 86, 184, .08) !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-flag-icon img{
    width:30px !important;
    height:30px !important;
    display:block !important;
    object-fit:cover !important;
    border-radius:999px !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-country-name{
    width:100% !important;
    color:#1f334d !important;
    font-weight:850 !important;
    font-size:14px !important;
    line-height:1.15 !important;
    text-align:right !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-country-name,body .ttb-mobile-country-grid a > span:not(.ttb-menu-flag-icon):not(.ttb-menu-country-name){
    min-width:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    height:auto !important;
  }

body .ttb-mobile-country-grid a > span:not(.ttb-menu-flag-icon):not(.ttb-menu-country-name){
    width:auto !important;
  }
body .ttb-mobile-domestic-menu .ttb-mobile-zone-head strong{
    font-size:15px !important;
  }

body .ttb-mobile-domestic-grid a{
    display:grid !important;
    grid-template-columns:34px minmax(0, 1fr) !important;
    align-items:center !important;
    gap:10px !important;
    min-height:42px !important;
    padding:7px 12px !important;
    border-radius:13px !important;
    background:#eaf4ff !important;
    border:1px solid rgba(0, 86, 184, .08) !important;
    overflow:hidden !important;
  }

body .ttb-mobile-domestic-grid a .ttb-domestic-icon{
    width:30px !important;
    min-width:30px !important;
    height:30px !important;
    border-radius:999px !important;
    background:#fff !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-size:17px !important;
    box-shadow:0 2px 6px rgba(0, 64, 130, .08), inset 0 0 0 1px rgba(0, 86, 184, .08) !important;
  }

body .ttb-mobile-domestic-menu{
    display:none !important;
  }

body .ttb-mobile-domestic-menu.is-open{
    display:block !important;
  }

body .ttb-mobile-domestic-grid a .ttb-menu-country-name{
    min-width:0 !important;
    width:100% !important;
    color:#1f334d !important;
    font-weight:850 !important;
    font-size:14px !important;
    line-height:1.15 !important;
    text-align:right !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    height:auto !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item{
    cursor:pointer !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item:not(.is-open) + .mobile-submenu{
    display:none !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item.is-open + .mobile-submenu{
    display:block !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item .ttb-mobile-chevron{
    transition:background-color .2s ease, box-shadow .2s ease !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item:not(.is-open) + .mobile-submenu,
body .ttb-mobile-zone-menu:not(.is-open),
body .ttb-mobile-domestic-menu:not(.is-open){
    display:none !important;
  }

body .mobile-submenu-toggle.ttb-mobile-menu-item.is-open + .mobile-submenu,
body .ttb-mobile-zone-menu.is-open,
body .ttb-mobile-domestic-menu.is-open{
    display:block !important;
  }

body .ttb-mobile-domestic-menu{
    margin-top:-8px !important;
    padding:8px 12px 12px !important;
    border:1px solid rgba(0, 86, 184, .13) !important;
    border-top:0 !important;
    border-radius:0 0 13px 13px !important;
    background:#fff !important;
  }

body .ttb-mobile-menu-item,
body .mobile-submenu-toggle.ttb-mobile-menu-item{
    font-size:17px !important;
    font-weight:800 !important;
    letter-spacing:-0.01em !important;
  }

body .ttb-mobile-menu-item span,
body .mobile-submenu-toggle.ttb-mobile-menu-item span{
    font-weight:800 !important;
  }

body .ttb-mobile-menu-item i,
body .mobile-submenu-toggle.ttb-mobile-menu-item i{
    font-size:17px !important;
  }

body .ttb-mobile-zone-head strong{
    font-weight:800 !important;
    letter-spacing:-0.01em !important;
  }

body .ttb-mobile-zone-head a{
    font-weight:800 !important;
  }
body .ttb-mobile-menu-item,
body .mobile-submenu-toggle.ttb-mobile-menu-item,
body .ttb-mobile-menu-item span,
body .mobile-submenu-toggle.ttb-mobile-menu-item span{
    font-size:16px !important;
    font-weight:500 !important;
    letter-spacing:-0.005em !important;
  }

body .ttb-mobile-menu-item b,
body .mobile-submenu-toggle.ttb-mobile-menu-item b{
    font-size:16px !important;
    font-weight:500 !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-country-name,
body .ttb-mobile-domestic-grid a .ttb-menu-country-name{
    font-size:16px !important;
    font-weight:500 !important;
    letter-spacing:-0.005em !important;
    line-height:1.15 !important;
  }

body .ttb-mobile-zone-head strong{
    font-size:15px !important;
  }

body .ttb-mobile-zone-head a{
    font-size:12px !important;
  }

body .mobile-auth-row a,
body .mobile-lang-row a{
    font-size:15px !important;
    font-weight:700 !important;
    letter-spacing:-0.005em !important;
  }

body .ttb-mobile-clean-contact strong,
body .mobile-contact-card strong{
    font-size:20px !important;
    font-weight:600 !important;
  }

body .ttb-mobile-clean-contact p,
body .mobile-contact-card p{
    font-size:14px !important;
    font-weight:400 !important;
  }
body .ttb-mobile-zone-head strong{
    line-height:1.2 !important;
  }

body .ttb-mobile-zone-head strong,body .ttb-mobile-zone-head a{
    font-size:14px !important;
    font-weight:600 !important;
    letter-spacing:-0.005em !important;
  }

body .ttb-mobile-zone-head a{
    line-height:1 !important;
  }

body .ttb-mobile-zone-head{
    align-items:center !important;
    gap:10px !important;
  }

body .ttb-mobile-zone-head strong{
    min-width:0 !important;
  }

body .ttb-mobile-zone-head a{
    white-space:nowrap !important;
  }
body .ttb-mobile-clean-contact .ttb-mobile-contact-icon,
body .mobile-contact-card .ttb-mobile-contact-icon{
    position:absolute !important;
    right:16px !important;
    bottom:16px !important;
    width:48px !important;
    height:48px !important;
    border-radius:999px !important;
    display:block !important;
    object-fit:contain !important;
    background:transparent !important;
    box-shadow:none !important;
  }

body .ttb-mobile-clean-contact i,
body .mobile-contact-card i{
    display:none !important;
  }
}
@media (min-width: 901px){
  body section.ttb-flash-shelf .flash-price-row strong{
    font-size:30px !important;
    line-height:1 !important;
    letter-spacing:-0.03em !important;
  }

  body section.ttb-flash-shelf .flash-price-row em{
    font-size:12px !important;
    line-height:1.15 !important;
  }
  .mobile-menu-toggle,
  .mobile-header-search-icon{
    display:none !important;
    visibility:hidden !important;
    width:0 !important;
    height:0 !important;
    overflow:hidden !important;
    pointer-events:none !important;
    position:absolute !important;
  }

  .site-header .header-main,
  .container.header-main{
    width:min(1180px, calc(100% - 48px)) !important;
    max-width:1180px !important;
    min-height:118px !important;
    height:auto !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:32px !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  .site-header .brand,
  .header-main .brand{
    display:flex !important;
    position:static !important;
    transform:none !important;
    align-items:center !important;
    gap:18px !important;
    min-width:0 !important;
    flex:0 1 auto !important;
    margin:0 !important;
  }

  .site-header .brand-logo,
  .header-main .brand-logo{
    display:flex !important;
    width:118px !important;
    height:120px !important;
    min-width:118px !important;
    margin-left:-55px !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
  }

  .site-header .brand-logo img,
  .header-main .brand-logo img{
    display:block !important;
    width:244px !important;
    height:163px !important;
    max-width:none !important;
    object-fit:contain !important;
  }
  .shelf-title-row{
    display:block !important;
  }

  .shelf-view-all,
  .shelf-chip-row{
    display:none !important;
  }
}
@media (max-width: 1500px) and (min-width: 769px){
  .ttb-footer-inner{
    transform:translateX(40px);
  }
}
@media (max-width: 768px){
  .ttb-container{
    width:calc(100% - 32px);
  }

  .ttb-footer-inner{
    transform:none;
    grid-template-columns:1fr;
    gap:30px;
    padding:58px 32px 34px;
    width:100%;
    text-align:center;
  }

  .ttb-footer-brand-row{
    flex-direction:column;
    justify-content:center;
  }

  .ttb-footer-logo{
    width:150px;
    height:150px;
    border-radius:32px;
    padding:22px;
  }

  .ttb-footer-brand h3{
    font-size:38px;
    line-height:1.16;
    letter-spacing:-0.4px;
  }

  .ttb-footer-company-name{
    font-size:25px;
    line-height:1.45;
  }

  .ttb-footer-brand p{
    margin-inline:auto;
    font-size:23px;
    line-height:1.72;
    max-width:590px;
  }

  .ttb-footer-col h4::after{
    left:50%;
    transform:translateX(-50%);
  }

  .ttb-footer-contact p,
  .ttb-footer-socials{
    justify-content:center;
  }

  .ttb-footer-col:not(.ttb-footer-contact){
    display:none;
  }

  .ttb-mobile-footer-actions{
    display:grid;
    gap:18px;
    margin:34px auto 0;
    width:min(100%, 630px);
  }

  .ttb-mobile-footer-actions a{
    min-height:84px;
    border-radius:16px;
    display:grid;
    grid-template-columns:104px 1fr;
    align-items:center;
    border:1px solid rgba(255,255,255,.44);
    overflow:hidden;
    font-size:30px;
    font-weight:800;
    color:#fff;
  }

  .ttb-mobile-footer-actions a .ttb-action-icon{
    height:100%;
    display:grid;
    place-items:center;
    border-right:1px dashed rgba(255,255,255,.35);
    font-weight:800;
  }

  .ttb-mobile-footer-line{
    background:var(--ttb-green);
    border-color:transparent !important;
  }

  .ttb-footer-meta-inner{
    width:100%;
    gap:18px;
    margin-top:34px;
  }

  .ttb-footer-visitor-badge{
    min-width:min(390px, calc(100vw - 150px));
    padding:19px 28px;
    border-radius:14px;
  }

  .visitor-label{
    font-size:23px;
    gap:10px;
  }

  .visitor-icon{
    width:25px;
    height:25px;
  }

  .ttb-footer-visitor-badge strong{
    font-size:32px;
  }

  .ttb-footer-bottom-final{
    width:100%;
    display:block;
    padding:34px 28px 58px;
  }

  .ttb-footer-copyright{
    font-size:23px;
    line-height:1.55;
    max-width:620px;
    margin-inline:auto;
  }

  .ttb-footer-powered{
    margin-top:44px;
    font-size:18px;
  }

  .ttb-footer-powered strong{
    font-size:26px;
  }

  .ttb-back-to-top{
    justify-content:center;
    margin:42px auto 0;
    font-size:15px;
    gap:10px;
  }

  .ttb-back-to-top i{
    width:44px;
    height:44px;
    min-width:44px;
  }

  .ttb-back-to-top i svg{
    width:18px;
    height:18px;
  }

  .ttb-footer-contact h4{
    font-size:30px;
    margin-top:34px;
    margin-bottom:22px;
  }

  .ttb-footer-contact p{
    font-size:23px;
    line-height:1.62;
    gap:12px;
  }

  .ttb-footer-socials{
    gap:18px;
    margin-top:34px;
  }

  .ttb-footer-socials a{
    width:68px;
    height:68px;
    border-radius:16px;
  }

  .ttb-social-facebook{
    font-size:38px;
  }

  .ttb-social-line{
    font-size:12px;
  }

  .ttb-footer-socials svg{
    width:30px;
    height:30px;
  }
}
@media (max-width: 640px){
  .ttb-footer-inner{
    transform:none;
    grid-template-columns:1fr;
    gap:28px;
    padding:54px 24px 34px;
    width:100%;
    text-align:center;
  }

  .ttb-footer-brand-row{
    flex-direction:column;
    justify-content:center;
    gap:16px;
    margin-bottom:22px;
  }

  .ttb-footer-logo{
    width:118px;
    height:118px;
    flex-basis:118px;
    border-radius:24px;
    padding:8px;
  }

  .ttb-footer-brand h3{
    font-size:30px;
    line-height:1.1;
    letter-spacing:-0.3px;
  }

  .ttb-footer-company-name{
    font-size:20px !important;
    line-height:1.45 !important;
    margin-bottom:12px;
  }

  .ttb-footer-brand p{
    max-width:440px;
    margin-inline:auto;
    font-size:17px;
    line-height:1.72;
  }

  .ttb-footer-license{
    font-size:16px !important;
  }

  .ttb-mobile-footer-actions{
    display:grid;
    width:100%;
    max-width:440px;
    gap:12px;
    margin:28px auto 0;
  }

  .ttb-mobile-footer-actions a{
    min-height:62px;
    border-radius:10px;
    display:grid;
    grid-template-columns:72px 1fr;
    align-items:center;
    border:1px solid rgba(255,255,255,.42);
    overflow:hidden;
    font-size:26px;
    font-weight:800;
    color:#fff;
  }

  .ttb-mobile-footer-actions a .ttb-action-icon{
    height:100%;
    display:grid;
    place-items:center;
    border-right:1px dashed rgba(255,255,255,.35);
    font-weight:800;
  }

  .ttb-action-phone{
    color:#ffffff;
    font-size:24px;
  }

  .ttb-action-line{
    position:relative;
    color:transparent;
    z-index:1;
  }

  .ttb-action-line::before{
    content:"";
    width:30px;
    height:30px;
    border-radius:8px;
    background:#ffffff;
    position:absolute;
  }

  .ttb-action-line::after{
    content:"LINE";
    position:absolute;
    font-size:9px;
    font-weight:800;
    color:var(--ttb-green);
    z-index:2;
  }

  .ttb-mobile-footer-call{
    background:transparent;
  }

  .ttb-mobile-footer-line{
    background:var(--ttb-green);
    border-color:transparent !important;
  }

  .ttb-footer-col:not(.ttb-footer-contact){
    display:none;
  }

  .ttb-footer-contact h4{
    font-size:22px;
    margin-top:32px;
    margin-bottom:18px;
  }

  .ttb-footer-col h4::after{
    left:50%;
    transform:translateX(-50%);
    width:42px;
  }

  .ttb-footer-contact p{
    justify-content:center;
    font-size:18px;
    line-height:1.62;
    gap:9px;
    margin-bottom:9px;
  }

  .ttb-footer-socials{
    justify-content:center;
    gap:14px;
    margin-top:28px;
    flex-wrap:wrap;
  }

  .ttb-footer-socials a{
    width:52px;
    height:52px;
    border-radius:12px;
  }

  .ttb-social-facebook{
    font-size:25px;
  }

  .ttb-social-line{
    font-size:10px;
  }

  .ttb-footer-socials svg{
    width:23px;
    height:23px;
  }

  .ttb-footer-meta-inner{
    width:100%;
    gap:18px;
    margin-top:34px;
  }

  .ttb-footer-visitor-badge{
    min-width:240px;
    padding:14px 22px 13px;
    border-radius:10px;
  }

  .visitor-label{
    font-size:17px;
    gap:8px;
  }

  .visitor-icon{
    width:18px;
    height:18px;
  }

  .ttb-footer-visitor-badge strong{
    font-size:23px;
    line-height:1.12;
  }

  .ttb-footer-bottom-final{
    width:100%;
    display:block;
    padding:28px 22px 44px;
  }

  .ttb-footer-copyright{
    font-size:17px;
    line-height:1.55;
    max-width:430px;
    margin-inline:auto;
  }

  .ttb-footer-powered{
    margin-top:32px;
    font-size:13px;
  }

  .ttb-footer-powered strong{
    font-size:21px;
  }

  .ttb-back-to-top{
    justify-content:center;
    margin:42px auto 0;
    font-size:15px;
    gap:10px;
    letter-spacing:-0.15px;
  }

  .ttb-back-to-top i{
    width:44px;
    height:44px;
    min-width:44px;
  }

  .ttb-back-to-top i svg{
    width:18px;
    height:18px;
  }
.ttb-country-col{
    padding:10px 14px;
  }

.ttb-country-col h3{
    font-size:15px;
  }

.ttb-country-subhead{
    font-size:13.5px;
  }

.ttb-country-link{
    min-height:36px;
    height:36px;
    grid-template-columns:24px minmax(0, 1fr) 40px;
    gap:8px;
  }

.ttb-country-link .country-flag{
    width:20px;
    height:20px;
  }

.ttb-country-link b{
    width:40px;
    min-width:40px;
    max-width:40px;
    height:23px;
    font-size:11.5px;
  }
}
@media (max-width: 1024px){

  .brand-logo{
    margin-left:0;
  }

  .brand-sub,
  .header-info,
  .main-menu-bar{
    display:none;
  }

  .mobile-auth-row,
  .mobile-lang-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
  }

  .mobile-auth-row a,
  .mobile-lang-row a{
    min-height:42px;
    display:grid;
    place-items:center;
    border:1px solid var(--ttb-line);
    border-radius:999px;
    color:var(--ttb-blue-dark);
    font-weight:800;
  }

  .mobile-auth-row .top-register-actual-btn{
    background:linear-gradient(180deg, #ffd544 0%, #f5b50a 100%);
    color:#0b2c55;
    border-color:transparent;
  }

  .mobile-nav-list a,
  .mobile-submenu-toggle{
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 15px;
    border:1px solid var(--ttb-line);
    border-radius:14px;
    background:var(--ttb-white);
    color:#0b2c55;
    font-size:15px;
    font-weight:850;
    cursor:pointer;
  }

  .mobile-submenu a,.mobile-contact-card{
    background:var(--ttb-blue-soft);
  }

  .mobile-contact-card{
    margin-top:22px;
    padding:16px;
    border-radius:18px;
    color:#344054;
  }

  .mobile-contact-card strong{
    color:var(--ttb-blue-dark);
    font-size:16px;
  }

  .mobile-contact-card p{
    margin:5px 0 0;
    font-size:13px;
  }
.top-bar{
    display:none;
  }

.header-main{
    min-height:86px;
    display:grid;
    grid-template-columns:44px 1fr;
    align-items:center;
    gap:12px;
    padding:10px 0;
  }

.mobile-menu-toggle{
    width:44px;
    height:44px;
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:0;
    background:transparent;
    cursor:pointer;
    padding:0;
  }

.mobile-menu-toggle span{
    width:28px;
    height:4px;
    border-radius:999px;
    background:#276f55;
    display:block;
  }

.brand{
    justify-content:center;
    gap:8px;
  }

.brand-logo{
    width:74px;
    height:62px;
    flex-basis:74px;
    overflow:visible;
  }

.brand-logo img{
    width:150%;
    height:120%;
    object-fit:contain;
  }

.brand-title{
    font-size:17px;
    white-space:nowrap;
  }

.brand-sub,
.header-info,
.main-menu-bar{
    display:none;
  }

.mobile-menu-overlay{
    position:fixed;
    inset:0;
    z-index:120;
    display:block;
    background:rgba(15, 23, 42, 0.45);
    opacity:0;
    pointer-events:none;
    transition:0.25s ease;
  }

.mobile-menu-panel{
    position:fixed;
    top:0;
    left:0;
    z-index:130;
    width:min(88vw, 390px);
    height:100dvh;
    display:block;
    overflow-y:auto;
    background:#ffffff;
    transform:translateX(-102%);
    transition:transform 0.28s ease;
    box-shadow:24px 0 60px rgba(15, 23, 42, 0.2);
    padding:18px 22px 32px;
  }

body.mobile-menu-open{
    overflow:hidden;
  }

body.mobile-menu-open .mobile-menu-overlay{
    opacity:1;
    pointer-events:auto;
  }

body.mobile-menu-open .mobile-menu-panel{
    transform:translateX(0);
  }

.mobile-menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding-bottom:18px;
    border-bottom:1px solid var(--line);
  }

.mobile-menu-head img{
    width:170px;
    max-height:70px;
    object-fit:contain;
  }

.mobile-menu-head button{
    width:40px;
    height:40px;
    border:0;
    border-radius:999px;
    background:var(--blue-soft);
    color:var(--blue-dark);
    font-size:24px;
    font-weight:900;
    cursor:pointer;
  }

.mobile-auth-row,
.mobile-lang-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:18px 0 0;
  }

.mobile-auth-row a,
.mobile-lang-row a{
    min-height:42px;
    border-radius:999px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    font-weight:800;
    color:var(--blue-dark);
  }

.mobile-nav-list{
    display:grid;
    gap:8px;
    margin-top:22px;
  }

.mobile-nav-list a,
.mobile-submenu-toggle{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#ffffff;
    color:#0b2c55;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 15px;
    font-size:15px;
    font-weight:850;
    cursor:pointer;
  }

.mobile-submenu{
    display:none;
    padding:4px 0 8px 14px;
  }

.mobile-submenu.is-open{
    display:grid;
    gap:7px;
  }

.mobile-submenu a{
    min-height:38px;
    font-size:14px;
    background:var(--blue-soft);
    border-color:#d9e8ff;
  }
.main-menu-inner a,
.mobile-nav-list a{
    font-weight:700;
  }
}
@media (max-width: 380px){
  body .ttb-mobile-news-hub-final .featured-news-title h2{
  font-size:22px !important;
}

body .ttb-mobile-news-hub-final .featured-news-title p{
  font-size:13px !important;
}

body .ttb-mobile-news-hub-final .featured-main-image{
  height:160px !important;
}

body .ttb-mobile-news-hub-final .featured-main-content h3{
  font-size:17px !important;
}

body .ttb-mobile-news-hub-final .side-news-card{
  grid-template-columns:82px minmax(0, 1fr) !important;
}

body .ttb-mobile-news-hub-final .side-news-image{
  width:82px !important;
  height:78px !important;
}

body .ttb-mobile-news-hub-final .side-news-content h3{
  font-size:13.8px !important;
}
  body section.promotion-marketplace-section .promo-market-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  body section.promotion-marketplace-section .promo-market-image{
    height:168px !important;
  }

  body section.promotion-marketplace-section .promo-market-body h3{
    font-size:16px !important;
  }

  body section.promotion-marketplace-section .promo-price{
    font-size:23px !important;
  }

  body section.promotion-marketplace-section .promo-meta-list li:nth-child(n+3),
  body section.promotion-marketplace-section .promo-meta-list div:nth-child(n+3){
    display:flex !important;
  }
  body section.ttb-outbound-shelf .product-tour-card,
  body section.ttb-flash-shelf .flash-deal-card{
    flex-basis:90% !important;
    width:90% !important;
  }

  body section.ttb-domestic-shelf .product-tour-card{
    flex-basis:76% !important;
    width:76% !important;
  }

  body section.ttb-flash-shelf .flash-deal-card,
  body section.ttb-domestic-shelf .product-tour-card{
    flex-basis:48% !important;
    width:48% !important;
  }
  body section.ttb-outbound-shelf .product-card-grid{
    width:calc(100% + 20px) !important;
    margin-left:-12px !important;
    margin-right:-8px !important;
  }

  body section.ttb-outbound-shelf .product-tour-card{
    flex-basis:79% !important;
    width:79% !important;
  }
body .site-header .brand-title{
    font-size:16px !important;
  }

body .site-header .brand-logo,
body .site-header .brand-logo img{
    width:38px !important;
    height:38px !important;
    min-width:38px !important;
  }

body .mobile-menu-panel{
    width:90vw !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

body .ttb-mobile-country-grid{
    gap:7px 8px !important;
  }

body .ttb-mobile-country-grid a{
    font-size:12px !important;
  }
body .ttb-mobile-country-grid--full,
body .ttb-mobile-country-grid{
    grid-template-columns:1fr !important;
  }
body .ttb-mobile-country-grid a{
    grid-template-columns:32px minmax(0, 1fr) !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-country-name{
    font-size:13px !important;
  }
body .ttb-mobile-menu-item,
body .mobile-submenu-toggle.ttb-mobile-menu-item{
    font-size:16px !important;
    font-weight:800 !important;
  }

body .mobile-auth-row a,
body .mobile-lang-row a{
    font-size:14px !important;
  }

body .ttb-mobile-country-grid a .ttb-menu-country-name,
body .ttb-mobile-domestic-grid a .ttb-menu-country-name{
    font-size:13px !important;
  }

body .ttb-mobile-menu-item,
body .mobile-submenu-toggle.ttb-mobile-menu-item,
body .ttb-mobile-menu-item span,
body .mobile-submenu-toggle.ttb-mobile-menu-item span,body .ttb-mobile-country-grid a .ttb-menu-country-name,
body .ttb-mobile-domestic-grid a .ttb-menu-country-name{
    font-size:15px !important;
    font-weight:500 !important;
  }
body .ttb-mobile-zone-head strong,
body .ttb-mobile-zone-head a{
    font-size:13px !important;
    font-weight:600 !important;
  }
body .ttb-mobile-clean-contact .ttb-mobile-contact-icon,
body .mobile-contact-card .ttb-mobile-contact-icon{
    width:44px !important;
    height:44px !important;
    right:14px !important;
    bottom:14px !important;
  }
}
@media (max-width: 360px){
  .site-header .brand-title,
.header-main .brand-title{
  font-size:14px !important;
}

.ttb-mobile-program-scroll{
  grid-auto-columns:88% !important;
}

.ttb-mobile-program-card h3{
  font-size:17px !important;
}

.ttb-mobile-program-meta-row{
  font-size:13px !important;
}
}
@media (max-width: 1360px){
.ttb-country-mega{
    width:min(1300px, calc(100vw - 30px));
  }

.ttb-country-mega-inner{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }

.ttb-country-mega--domestic .ttb-country-mega-inner{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

.ttb-country-col{
    padding:14px 16px 17px;
  }

.ttb-country-link{
    grid-template-columns:24px minmax(0, 1fr) 42px;
    gap:8px;
    font-size:14px;
  }

.ttb-country-link .country-flag{
    width:21px;
    height:21px;
    flex-basis:21px;
  }

.ttb-country-link .country-name{
    font-size:14px;
  }

.ttb-country-link b{
    width:42px;
    min-width:42px;
    max-width:42px;
  }
body .ttb-country-mega{
    width:min(1320px, calc(100vw - 24px)) !important;
  }

body .ttb-country-mega .ttb-country-mega-inner{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  }
body .ttb-country-mega .ttb-country-col .ttb-country-link{
    grid-template-columns:28px minmax(0, 1fr) 54px !important;
    padding:0 7px 0 2px !important;
    min-height:42px !important;
    height:42px !important;
    gap:8px !important;
  }

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-flag{
    width:28px !important;
    height:28px !important;
    flex-basis:28px !important;
  }

body .ttb-country-mega .ttb-country-col .ttb-country-link .country-name{
    font-size:15.8px !important;
  }

body .ttb-country-mega .ttb-country-col .ttb-country-link b{
    width:46px !important;
    min-width:46px !important;
    max-width:46px !important;
    height:28px !important;
    font-size:13px !important;
  }
body .ttb-country-mega .ttb-country-col h3{
    font-size:16.2px !important;
    margin-bottom:13px !important;
    padding-bottom:10px !important;
  }

body .ttb-country-mega .ttb-country-col .ttb-country-subhead{
    font-size:14.8px !important;
    margin-top:13px !important;
    margin-bottom:9px !important;
    padding-top:11px !important;
  }
body .ttb-country-mega .menu-heading-pill{
    min-height:36px !important;
    padding:5px 13px 5px 9px !important;
    gap:8px !important;
  }

body .ttb-country-mega .menu-heading-pill--sub{
    min-height:35px !important;
    padding:5px 12px 5px 9px !important;
    gap:8px !important;
  }

body .ttb-country-mega .menu-heading-real-icon,
body .ttb-country-mega .menu-heading-pill--sub .menu-heading-real-icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    transform:scale(1.55) !important;
  }
}
@media (max-width: 980px){
.nav-mega-item{
    width:100%;
    min-height:0;
  }

.main-menu-inner > .nav-mega-item > .nav-mega-trigger{
    width:100%;
    min-height:46px;
    justify-content:space-between;
    padding:0 18px;
    font-size:16px;
  }

.ttb-country-mega{
    position:static;
    width:100%;
    transform:none;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    display:none;
    border:0;
    border-radius:0;
    box-shadow:none;
  }

.nav-mega-item.is-open > .ttb-country-mega,
.nav-mega-item:focus-within > .ttb-country-mega{
    display:block;
    transform:none;
  }

.ttb-country-mega-inner,
.ttb-country-mega--domestic .ttb-country-mega-inner{
    grid-template-columns:1fr;
  }

.ttb-country-col{
    padding:12px 16px;
    border-right:0;
    border-bottom:1px solid #edf2f7;
  }

.ttb-country-link{
    min-height:38px;
    height:38px;
    grid-template-columns:26px minmax(0, 1fr) 44px;
  }

.ttb-country-link,.ttb-country-link .country-name{
    font-size:14px;
  }
body .ttb-country-mega .ttb-country-col .ttb-country-link{
    min-height:36px !important;
    height:36px !important;
  }
}
@media (min-width: 1025px) and (max-width: 1100px) and (orientation: portrait){
.main-menu-inner{
    width:100%;
  }
}
@media (min-width: 1361px){
body .ttb-country-mega--foreign{
    width:min(1540px, calc(100vw - 64px)) !important;
    max-width:none !important;
    left:50vw !important;
    transform:translateX(-50%) !important;
  }

body .nav-mega-item:hover > .ttb-country-mega--foreign,
  body .nav-mega-item:focus-within > .ttb-country-mega--foreign{
    transform:translateX(-50%) !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner{
    grid-template-columns:repeat(6, minmax(0, 1fr)) !important;
    align-items:stretch !important;
  }

body .ttb-country-mega--foreign .ttb-country-col{
    padding:14px 16px 18px !important;
    border-right:1px solid #edf2f7 !important;
    background:#fff !important;
  }

body .ttb-country-mega--foreign .ttb-country-col:last-child{
    border-right:0 !important;
  }

body .ttb-country-mega--foreign .ttb-country-col > h3{
    min-height:48px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    margin:0 0 8px !important;
    padding:0 0 9px !important;
    border-bottom:1px solid #edf2f7 !important;
    color:#0c2d62 !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    text-align:center !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill{
    width:auto !important;
    max-width:100% !important;
    min-height:36px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:row !important;
    gap:7px !important;
    padding:3px 12px 3px 7px !important;
    overflow:hidden !important;
    border:1px solid #dce8f7 !important;
    border-radius:999px !important;
    background:#f6f9fe !important;
    box-shadow:0 2px 8px rgba(15, 63, 123, 0.05) !important;
    white-space:nowrap !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill > span:last-child{
    display:inline-block !important;
    color:#0c2d62 !important;
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1 !important;
    white-space:nowrap !important;
  }

body .ttb-country-mega--foreign .menu-heading-real-icon,
body .ttb-country-mega--foreign .menu-heading-pill--sub .menu-heading-real-icon{
    width:28px !important;
    height:28px !important;
    min-width:28px !important;
    max-width:28px !important;
    flex:0 0 28px !important;
    display:block !important;
    object-fit:contain !important;
    border-radius:50% !important;
    transform:scale(1.42) !important;
    transform-origin:center center !important;
  }

body .ttb-country-mega--foreign .ttb-country-col .ttb-country-subhead{
    min-height:47px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    margin:8px 0 7px !important;
    padding:9px 0 0 !important;
    border-top:1px solid #edf2f7 !important;
    color:#0c2d62 !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    text-align:center !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill--sub{
    min-height:34px !important;
    padding:3px 11px 3px 7px !important;
    gap:7px !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill--sub > span:last-child{
    font-size:14px !important;
    line-height:1 !important;
  }

body .ttb-country-mega--foreign .ttb-country-link{
    min-height:36px !important;
    height:36px !important;
    grid-template-columns:25px minmax(0, 1fr) 44px !important;
    gap:8px !important;
  }

body .ttb-country-mega--foreign .ttb-country-link .country-name,
body .ttb-country-mega--foreign .ttb-country-link:hover .country-name,
body .ttb-country-mega--foreign .ttb-country-link:focus .country-name{
    font-size:14.5px !important;
    font-weight:500 !important;
    line-height:1.2 !important;
  }
}
@media (min-width: 901px) and (max-width: 1180px) and (orientation: portrait){
body .ttb-country-mega--foreign{
    width:min(1060px, calc(100vw - 20px)) !important;
    max-width:none !important;
    max-height:calc(100vh - 205px) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    border-radius:0 0 11px 11px !important;
    background:#fff !important;
    box-shadow:0 18px 38px rgba(11, 45, 91, 0.14) !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner{
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    grid-auto-flow:row !important;
    align-items:start !important;
    gap:0 !important;
    width:100% !important;
    min-width:0 !important;
    padding:0 0 12px !important;
    background:#fff !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner > .ttb-country-col:nth-child(-n + 4){
    grid-row:1 !important;
    min-width:0 !important;
    padding:13px 14px 12px !important;
    border-right:1px solid #e8eef6 !important;
    background:transparent !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner > .ttb-country-col:nth-child(1){
    grid-column:1 !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner > .ttb-country-col:nth-child(2){
    grid-column:2 !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner > .ttb-country-col:nth-child(3){
    grid-column:3 !important;
  }

body .ttb-country-mega--foreign .ttb-country-mega-inner > .ttb-country-col:nth-child(4){
    grid-column:4 !important;
    border-right:0 !important;
  }

body .ttb-country-mega--foreign .ttb-country-col--desktop-secondary{
    display:none !important;
  }

body .ttb-country-mega--foreign .ttb-country-1080-lower-grid{
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    align-items:start !important;
    gap:0 !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
    border-top:1px solid #e8eef6 !important;
    background:transparent !important;
  }

body .ttb-country-mega--foreign .ttb-country-1080-zone{
    min-width:0 !important;
    min-height:0 !important;
    padding:13px 14px 16px !important;
    border:0 !important;
    border-right:1px solid #e8eef6 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

body .ttb-country-mega--foreign .ttb-country-1080-zone:last-child{
    border-right:0 !important;
  }

body .ttb-country-mega--foreign .ttb-country-col > h3,
body .ttb-country-mega--foreign .ttb-country-1080-zone > h3{
    min-height:45px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    margin:0 0 7px !important;
    padding:0 0 8px !important;
    border:0 !important;
    border-bottom:1px solid #e8eef6 !important;
    background:transparent !important;
    color:#0c2d62 !important;
    text-align:center !important;
    box-shadow:none !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill{
    width:auto !important;
    max-width:100% !important;
    min-height:34px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:row !important;
    gap:6px !important;
    padding:3px 11px 3px 6px !important;
    overflow:visible !important;
    border:1px solid #d9e6f5 !important;
    border-radius:999px !important;
    background:#f7faff !important;
    box-shadow:0 2px 8px rgba(15, 63, 123, 0.05) !important;
    white-space:nowrap !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill > span:last-child,
body .ttb-country-mega--foreign .menu-heading-pill--sub > span:last-child{
    display:inline-block !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:visible !important;
    color:#0c2d62 !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-overflow:clip !important;
  }

body .ttb-country-mega--foreign .menu-heading-real-icon,
body .ttb-country-mega--foreign .menu-heading-pill--sub .menu-heading-real-icon{
    width:26px !important;
    height:26px !important;
    min-width:26px !important;
    max-width:26px !important;
    flex:0 0 26px !important;
    display:block !important;
    object-fit:contain !important;
    border-radius:50% !important;
    transform:scale(1.38) !important;
    transform-origin:center center !important;
  }

body .ttb-country-mega--foreign .ttb-country-1080-zone .ttb-country-subhead{
    min-height:45px !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    margin:7px 0 5px !important;
    padding:8px 0 8px !important;
    border:0 !important;
    border-top:1px solid #e8eef6 !important;
    border-bottom:1px solid #e8eef6 !important;
    background:transparent !important;
    color:#0c2d62 !important;
    text-align:center !important;
    box-shadow:none !important;
  }

body .ttb-country-mega--foreign .menu-heading-pill--sub{
    min-height:34px !important;
    gap:6px !important;
    padding:3px 11px 3px 6px !important;
  }

body .ttb-country-mega--foreign .ttb-country-link,
body .ttb-country-mega--foreign .ttb-country-link + .ttb-country-link{
    width:100% !important;
    min-height:35px !important;
    height:35px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:23px minmax(0, 1fr) auto !important;
    align-items:center !important;
    gap:7px !important;
    border-radius:8px !important;
  }

body .ttb-country-mega--foreign .ttb-country-link .country-flag{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    flex-basis:22px !important;
    font-size:12px !important;
  }

body .ttb-country-mega--foreign .ttb-country-link .country-name,
body .ttb-country-mega--foreign .ttb-country-link:hover .country-name,
body .ttb-country-mega--foreign .ttb-country-link:focus .country-name{
    min-width:0 !important;
    max-width:none !important;
    overflow:visible !important;
    color:#142844 !important;
    font-size:13.4px !important;
    font-weight:500 !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    text-overflow:clip !important;
  }

body .ttb-country-mega--foreign .ttb-country-link b{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:24px !important;
    margin-left:0 !important;
    padding:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    justify-self:end !important;
    border-radius:8px !important;
    font-size:11px !important;
    line-height:1 !important;
  }

body .ttb-country-mega--foreign{
    scrollbar-width:thin !important;
    scrollbar-color:#b8cce5 transparent !important;
  }

body .ttb-country-mega--foreign::-webkit-scrollbar{
    width:7px !important;
  }

body .ttb-country-mega--foreign::-webkit-scrollbar-track{
    background:transparent !important;
  }

body .ttb-country-mega--foreign::-webkit-scrollbar-thumb{
    border-radius:999px !important;
    background:#b8cce5 !important;
  }

body .ttb-country-mega--foreign .ttb-country-1080-zone .ttb-country-link .country-name,
body .ttb-country-mega--foreign .ttb-country-1080-zone .ttb-country-link:hover .country-name,
body .ttb-country-mega--foreign .ttb-country-1080-zone .ttb-country-link:focus .country-name{
    font-size:16px !important;
    font-weight:400 !important;
    line-height:1.15 !important;
  }

body .ttb-country-mega--foreign{
    --ttb1080-badge-width:40px;
    --ttb1080-badge-height:24px;
  }

body .ttb-country-mega--foreign
  .ttb-country-mega-inner > .ttb-country-col:nth-child(-n + 4)
  .ttb-country-link,
body .ttb-country-mega--foreign
  .ttb-country-1080-zone
  .ttb-country-link{
    width:100% !important;
    box-sizing:border-box !important;
    display:grid !important;
    grid-template-columns:23px minmax(0, 1fr) var(--ttb1080-badge-width) !important;
    column-gap:7px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

body .ttb-country-mega--foreign
  .ttb-country-mega-inner > .ttb-country-col:nth-child(-n + 4)
  .ttb-country-link > b,
body .ttb-country-mega--foreign
  .ttb-country-1080-zone
  .ttb-country-link > b{
    width:var(--ttb1080-badge-width) !important;
    min-width:var(--ttb1080-badge-width) !important;
    max-width:var(--ttb1080-badge-width) !important;
    height:var(--ttb1080-badge-height) !important;
    min-height:var(--ttb1080-badge-height) !important;
    max-height:var(--ttb1080-badge-height) !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    inset:auto !important;
    transform:none !important;
    justify-self:stretch !important;
    align-self:center !important;
    box-sizing:border-box !important;
    font-size:11px !important;
    line-height:1 !important;
  }
  body .ttb-country-mega--domestic{
    width:min(1060px, calc(100vw - 20px)) !important;
    max-width:none !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    overflow-x:hidden !important;
  }

body .nav-mega-item:hover > .ttb-country-mega--domestic,
  body .nav-mega-item:focus-within > .ttb-country-mega--domestic{
    transform:translateX(-50%) !important;
  }

body .ttb-country-mega--domestic .ttb-country-mega-inner{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    align-items:start !important;
    gap:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }

body .ttb-country-mega--domestic .ttb-country-col{
    width:100% !important;
    min-width:0 !important;
    padding:15px 18px 18px !important;
    box-sizing:border-box !important;
  }

body .ttb-country-mega--domestic .ttb-country-link{
    width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    grid-template-columns:24px minmax(0, 1fr) 42px !important;
    column-gap:9px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

body .ttb-country-mega--domestic .ttb-country-link .country-name{
    min-width:0 !important;
    max-width:none !important;
    overflow:hidden !important;
    white-space:nowrap !important;
    text-overflow:ellipsis !important;
  }

body .ttb-country-mega--domestic .ttb-country-link > b{
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    justify-self:end !important;
    margin:0 !important;
  }
}
@media (max-width: 700px){
  .ttb-date-months{
    grid-template-columns:1fr;
  }
  .ttb-date-months .ttb-calendar:nth-child(2){
    display:none;
  }
  .ttb-date-actions{
    grid-template-columns:1fr 1fr;
  }
  .ttb-date-actions span{
    grid-column:1 / -1;
    grid-row:1;
  }
}
@media (min-width: 1181px){
  body .ttb-service-tabs{
    grid-template-columns:1.02fr 1.02fr .96fr 1.28fr .94fr .76fr 1.12fr !important;
    gap:8px !important;
  }

  body .ttb-service-tab{
    padding-inline:8px !important;
  }
}
body section.promotion-marketplace-section#promotion-marketplace .promo-market-image{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  overflow:hidden !important;
}

body section.promotion-marketplace-section#promotion-marketplace .promo-market-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media (min-width:1025px){
  body .site-header{
    background:#fff !important;
    border-bottom:1px solid var(--line) !important;
  }

  body .site-header .header-main,
  body .container.header-main{
    min-height:118px !important;
    height:auto !important;
    display:grid !important;
    grid-template-columns:minmax(330px, .95fr) minmax(520px, 1.05fr) !important;
    align-items:center !important;
    gap:34px !important;
    padding:14px 0 !important;
  }

  body .site-header .brand{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:18px !important;
    min-width:0 !important;
  }

  body .site-header .brand-logo{
    width:104px !important;
    height:104px !important;
    min-width:104px !important;
    flex:0 0 104px !important;
    margin:0 !important;
    padding:3px !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }

  body .site-header .brand-logo img{
    display:block !important;
    width:116% !important;
    height:116% !important;
    max-width:none !important;
    object-fit:contain !important;
  }

  body .site-header .brand-title{
    margin:0 !important;
    font-size:30px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    white-space:nowrap !important;
  }

  body .site-header .brand-sub{
    display:block !important;
    margin-top:7px !important;
    font-size:15px !important;
    line-height:1.25 !important;
  }
}
@media (min-width:901px){
  body .ttb-service-field.booking-select select{
    box-sizing:border-box !important;
    padding-left:10px !important;
    padding-right:34px !important;
    text-indent:0 !important;
  }
  body .ttb-service-field.booking-select select option{
    padding:8px 12px !important;
    text-indent:10px !important;
  }
}
.tab-icon-outbound{
  background:linear-gradient(135deg,#dbeafe,#bfdbfe);
  color:#075db9;
}
.tab-icon-domestic{
  background:linear-gradient(135deg,#dcfce7,#bbf7d0);
  color:#15803d;
}
.tab-icon-outbound i,.tab-icon-domestic i{font-size:14px;}
.promo-market-grid[hidden],.promo-tour-layout-host[hidden]{display:none !important;}
.promotion-marketplace-section .promo-market-card .promo-price{
  margin:0;
  font-size:38px;
  line-height:.95;
  font-weight:900;
  letter-spacing:-.035em;
}
.promotion-marketplace-section .promo-market-card .promo-price small{
  display:block;
  width:100%;
  margin-top:5px;
  font-size:13px;
  line-height:1.2;
  letter-spacing:0;
}
.promotion-marketplace-section .promo-market-card .request-price{
  font-size:30px;
  letter-spacing:0;
}
.promo-tour-layout-host .promo-mixed-layout-grid > .promo-market-card{
  width:100%;
  min-width:0;
}
.promo-tour-layout-host .promo-mixed-layout-grid > .promo-market-card .promo-market-image{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 auto !important;
}
.promo-tour-layout-host .promo-mixed-layout-grid > .promo-market-card .promo-market-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
body section.ttb-flash-shelf .flash-deal-image{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  flex:0 0 auto !important;
  overflow:hidden !important;
}
body section.ttb-flash-shelf .flash-deal-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
}
@media (min-width:1025px){
  body .promotion-marketplace-section > .container,
  body #promotion-marketplace > .container,
  body #tour-outbound > .container,
  body .outbound-bg-section > .container,
  body #tour-domestic > .container,
  body .domestic-bg-section > .container{
    width:min(1380px, calc(100% - 48px)) !important;
    max-width:1380px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    box-sizing:border-box !important;
  }
}
.promo-tour-layout-host{
  width:100%;
  margin:0 auto;
}
.promo-tour-layout-host .promo-tour-layout-grid{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:24px !important;
}
.promo-tour-layout-host .product-tour-card{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
}
@media (max-width:900px){
  .promo-tour-layout-host .promo-tour-layout-grid{
    display:flex !important;
    width:100% !important;
    max-width:100% !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    padding:2px 2px 14px !important;
  }
  .promo-tour-layout-host .product-tour-card{
    flex:0 0 82% !important;
    width:82% !important;
    scroll-snap-align:start !important;
  }
  body .ttb-date-overlay{
    z-index:2000000 !important;
    padding:12px !important;
  }
  body .ttb-date-dialog{
    width:min(100%,560px) !important;
    max-height:calc(100dvh - 24px) !important;
    overflow-y:auto !important;
    padding:16px !important;
    border-radius:22px !important;
  }
  body .ttb-mobile-search-panel.ttb-premium-search-panel{
    top:max(10px,env(safe-area-inset-top)) !important;
    bottom:auto !important;
    left:50% !important;
    width:min(100vw,720px) !important;
    height:calc(100dvh - max(10px,env(safe-area-inset-top))) !important;
    max-height:none !important;
    transform:translateX(-50%) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    border-radius:30px 30px 0 0 !important;
    padding:14px 16px calc(22px + env(safe-area-inset-bottom)) !important;
  }
  body .ttb-search-modal-head{padding:8px 60px 16px 4px !important;}
  body .ttb-search-modal-head h2{font-size:clamp(27px,7.4vw,38px) !important;}
  body .ttb-mobile-search-tabs.ttb-premium-search-tabs{
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:0 0 18px !important;
  }
  body .ttb-mobile-search-tabs > button{
    grid-column:span 3 !important;
    position:relative !important;
    min-width:0 !important;
    min-height:96px !important;
    padding:9px 4px 10px !important;
    overflow:hidden !important;
    border-radius:17px !important;
    box-shadow:none !important;
  }
  body .ttb-mobile-search-tabs > button:nth-child(n+5){grid-column:span 4 !important;}
  body .ttb-mobile-search-tabs > button.is-active::after{
    content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:#f5b800;
  }
  body .ttb-mobile-search-tabs .tab-icon{
    width:42px !important;height:42px !important;border-radius:50% !important;
    display:grid !important;place-items:center !important;background:#eef5ff !important;
    color:#075fc7 !important;font-size:20px !important;
  }
  body .ttb-mobile-search-tabs button.is-active .tab-icon{background:rgba(255,255,255,.19) !important;color:#fff !important;}
  body .ttb-mobile-search-tabs strong{display:block;font-size:clamp(10px,2.85vw,14px) !important;line-height:1.16 !important;overflow-wrap:anywhere;}
  body .ttb-mobile-search-section-title{
    display:flex !important;align-items:center !important;gap:10px !important;margin:0 2px 14px !important;
    color:#0756a8 !important;font-size:clamp(18px,4.9vw,24px) !important;line-height:1.25 !important;font-weight:900 !important;
  }
  body .ttb-mobile-search-section-title::before{
    content:"";width:16px;height:16px;flex:0 0 16px;border:4px solid #f5b800;border-radius:50%;
  }
  body .ttb-search-modal-form.is-active{
    display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;
  }
  body .ttb-search-modal-form .ttb-search-field.is-wide,
  body .ttb-search-modal-form .ttb-search-submit{grid-column:1/-1 !important;}
  body .ttb-search-field.ttb-desktop-equivalent-field{
    position:relative !important;min-width:0 !important;min-height:74px !important;
    display:grid !important;grid-template-columns:44px minmax(0,1fr) !important;align-items:center !important;column-gap:10px !important;
    padding:7px 34px 7px 8px !important;border:1px solid #d8e4f2 !important;border-radius:17px !important;
    background:#fff !important;box-shadow:0 6px 18px rgba(0,63,143,.035) !important;
  }
  body .ttb-search-field.ttb-desktop-equivalent-field:focus-within{border-color:#0b63ce !important;box-shadow:0 0 0 4px rgba(11,99,206,.09) !important;}
  body .ttb-search-field.ttb-desktop-equivalent-field.is-date{cursor:pointer !important;}
  body .ttb-search-field.ttb-desktop-equivalent-field.is-date input{cursor:pointer !important;}
  body .ttb-search-field.ttb-desktop-equivalent-field.is-select::after{
    content:"";position:absolute;right:14px;top:50%;width:9px;height:9px;
    border-right:2px solid #25304a;border-bottom:2px solid #25304a;transform:translateY(-70%) rotate(45deg);pointer-events:none;
  }
  body .ttb-mobile-desktop-icon{
    width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eef5ff;color:#0c62c7;font-size:18px;
  }
  body label.ttb-desktop-equivalent-field > .ttb-mobile-field-copy{
    width:auto !important;height:auto !important;min-width:0 !important;
    display:flex !important;flex-direction:column !important;align-items:stretch !important;
    justify-content:center !important;gap:2px !important;padding:0 !important;
    border:0 !important;border-radius:0 !important;background:transparent !important;
    color:inherit !important;font-size:inherit !important;
  }
  body .ttb-mobile-field-copy small{display:block;color:#7b8799;font-size:11.5px;font-weight:500;line-height:1.1;}
  body .ttb-mobile-field-copy input,
  body .ttb-mobile-field-copy select{
    width:100% !important;min-width:0 !important;height:30px !important;padding:0 !important;border:0 !important;outline:0 !important;
    appearance:none !important;-webkit-appearance:none !important;background:transparent !important;color:#14213d !important;
    font:700 15px/1.2 "FC Subject Rounded",Tahoma,sans-serif !important;text-overflow:ellipsis !important;
  }
  body .ttb-mobile-field-copy select{
    box-sizing:border-box !important;
    padding-left:10px !important;
    padding-right:4px !important;
    text-indent:0 !important;
  }
  body .ttb-mobile-field-copy select option{
    padding:8px 12px !important;
    text-indent:10px !important;
  }
  body .ttb-mobile-field-copy input::placeholder{color:#6f7c90 !important;opacity:1 !important;}
  body .ttb-search-submit{
    position:sticky !important;bottom:0 !important;z-index:3 !important;min-height:64px !important;
    display:flex !important;align-items:center !important;justify-content:center !important;gap:12px !important;
    border-radius:18px !important;font-size:24px !important;box-shadow:0 14px 28px rgba(0,85,184,.20) !important;
  }
  body .ttb-search-submit i{font-size:25px !important;}
  body .ttb-search-submit > span{
    width:auto !important;height:auto !important;display:inline !important;
    place-items:unset !important;padding:0 !important;background:transparent !important;
    color:#fff !important;font-size:24px !important;line-height:1 !important;
  }
  body .ttb-search-submit > span::before,
  body .ttb-search-submit > span::after{content:none !important;display:none !important;}
}
@media (max-width:430px){
  body .ttb-mobile-search-panel.ttb-premium-search-panel{padding-left:12px !important;padding-right:12px !important;}
  body .ttb-mobile-search-tabs.ttb-premium-search-tabs{gap:6px !important;}
  body .ttb-mobile-search-tabs > button{min-height:88px !important;border-radius:15px !important;}
  body .ttb-mobile-search-tabs .tab-icon{width:36px !important;height:36px !important;font-size:18px !important;}
  body .ttb-search-field.ttb-desktop-equivalent-field{grid-template-columns:39px minmax(0,1fr) !important;padding-left:5px !important;padding-right:29px !important;}
  body .ttb-mobile-field-copy input,body .ttb-mobile-field-copy select{font-size:14px !important;}
  body .ttb-date-head{grid-template-columns:40px minmax(0,1fr) 40px !important;gap:8px !important;}
  body .ttb-date-head > button{width:40px !important;height:40px !important;}
  body .ttb-date-head strong{font-size:18px !important;}
  body .ttb-date-actions{gap:8px !important;}
  body .ttb-date-actions button{min-height:40px !important;padding:0 12px !important;}
}
@media (max-width:720px){
  .promotion-marketplace-section .promo-market-card .promo-price{
    font-size:32px;
  }
  .promotion-marketplace-section .promo-market-card .request-price{
    font-size:27px;
  }
}


/* === Mobile Promo Marketplace Final V4 === */
@media (max-width: 640px){
  body section.promotion-marketplace-section .promo-market-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    width:100% !important;
  }

  body section.promotion-marketplace-section .promo-market-card{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }

  body section.promotion-marketplace-section .promo-market-image{
    aspect-ratio:1 / 1 !important;
    height:auto !important;
  }

  body section.promotion-marketplace-section .promo-market-body{
    padding:12px 12px 0 !important;
  }

  body section.promotion-marketplace-section .promo-market-body h3{
    min-height:40px !important;
    font-size:14.8px !important;
    line-height:1.34 !important;
    -webkit-line-clamp:2 !important;
  }

  body section.promotion-marketplace-section .promo-supplier,
  body section.promotion-marketplace-section .promo-member{
    margin:7px 0 0 !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
    overflow:hidden !important;
  }

  body section.promotion-marketplace-section .promo-meta-list{
    list-style:none !important;
    margin:8px 0 0 !important;
    padding:0 !important;
    gap:4px !important;
  }

  body section.promotion-marketplace-section .promo-meta-list li,
  body section.promotion-marketplace-section .promo-meta-list .tour-wholesale-row{
    display:flex !important;
    align-items:flex-start !important;
    gap:6px !important;
    min-width:0 !important;
    color:#667085 !important;
    font-size:11.5px !important;
    line-height:1.35 !important;
  }

  body section.promotion-marketplace-section .promo-meta-list li:nth-child(n+4){
    display:none !important;
  }

  body section.promotion-marketplace-section .promo-meta-list i{
    width:13px !important;
    min-width:13px !important;
    margin-top:2px !important;
    color:#f0a300 !important;
    text-align:center !important;
  }

  body section.promotion-marketplace-section .promo-meta-list a{
    display:inline-block !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  body section.promotion-marketplace-section .promo-market-footer{
    display:grid !important;
    grid-template-columns:1fr !important;
    align-items:start !important;
    gap:8px !important;
    padding:11px 12px 12px !important;
  }

  body section.promotion-marketplace-section .promo-price{
    gap:2px !important;
  }

  body section.promotion-marketplace-section .promo-price strong{
    font-size:20px !important;
    line-height:1 !important;
  }

  body section.promotion-marketplace-section .request-price strong{
    font-size:18px !important;
    letter-spacing:0 !important;
  }

  body section.promotion-marketplace-section .promo-price small{
    font-size:11px !important;
  }

  body section.promotion-marketplace-section .promo-detail-link{
    width:100% !important;
    justify-content:center !important;
    min-height:36px !important;
    padding:0 10px !important;
    font-size:13px !important;
  }
}


/* === Domestic filter clickable V6 === */
@media (max-width: 900px){
  body section.ttb-domestic-shelf .product-tour-card[hidden],
  body section.ttb-domestic-shelf .product-tour-card.is-filtered-out{
    display:none !important;
  }

  body section.ttb-domestic-shelf .tour-filter-empty{
    margin:18px 0 4px !important;
    padding:20px 16px !important;
    border:1px dashed #bfe4cf !important;
    border-radius:18px !important;
    background:#ffffff !important;
    color:#58706a !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:800 !important;
  }
}


/* === Auto Promotion / PR Slider V7 === */
.long-promo-slider{
  position:relative;
  touch-action:pan-y;
}

.long-promo-slides{
  display:grid;
  width:100%;
  overflow:hidden;
  border-radius:22px;
}

.long-promo-slide{
  grid-area:1 / 1;
  z-index:1;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(2%);
  transition:opacity .5s ease, transform .5s ease, visibility .5s ease;
}

.long-promo-slide.is-active{
  z-index:2;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(0);
}

.long-promo-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.long-promo-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:14px;
}

.long-promo-dots button{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cfd8e5;
  cursor:pointer;
  transition:width .2s ease, background .2s ease, transform .2s ease;
}

.long-promo-dots button:hover,
.long-promo-dots button:focus-visible{
  transform:scale(1.16);
  outline:none;
  box-shadow:0 0 0 4px rgba(9, 102, 216, .13);
}

.long-promo-dots button.active{
  width:18px;
  background:#0966d8;
}

@media (prefers-reduced-motion: reduce){
  .long-promo-slide,
  .long-promo-dots button{
    transition:none !important;
  }
}

@media (max-width: 900px){
  body section.long-promo-banner-section .long-promo-slides{
    border-radius:22px !important;
  }

  body section.long-promo-banner-section .long-promo-slide{
    min-height:178px !important;
    aspect-ratio:1920 / 596 !important;
  }

  body section.long-promo-banner-section .long-promo-slide::before{
    content:attr(data-badge) !important;
  }

  body section.long-promo-banner-section .long-promo-slide::after{
    content:attr(data-subtitle) !important;
  }

  body section.long-promo-banner-section .long-promo-slide img{
    width:100% !important;
    height:100% !important;
    min-height:178px !important;
    object-fit:cover !important;
  }

  body section.long-promo-banner-section .long-promo-dots button{
    width:8px !important;
    height:8px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:999px !important;
    background:#cfd8e5 !important;
    box-shadow:none !important;
  }

  body section.long-promo-banner-section .long-promo-dots button.active{
    width:18px !important;
    background:#0966d8 !important;
  }
}


/* === Reliable Auto Promotion Slider V8 === */
.long-promo-slider[data-active-slide]{
  --long-promo-autoplay:4500ms;
}

.long-promo-slide.is-active img{
  animation:longPromoReveal .55s ease both;
}

@keyframes longPromoReveal{
  from{opacity:.88; transform:scale(1.012);}
  to{opacity:1; transform:scale(1);}
}

@media (prefers-reduced-motion: reduce){
  .long-promo-slide.is-active img{
    animation:none !important;
  }
}


/* === Guaranteed Auto Promotion Slider V9 === */
.long-promo-slider[data-slider-ready="true"] .long-promo-slide{
  will-change:opacity, transform;
}

.long-promo-slider[data-slider-ready="true"] .long-promo-slide.is-active{
  animation:longPromoActiveV9 .48s ease both;
}

@keyframes longPromoActiveV9{
  from{opacity:.72; transform:translateX(1.25%) scale(1.006);}
  to{opacity:1; transform:translateX(0) scale(1);}
}

@media (prefers-reduced-motion: reduce){
  .long-promo-slider[data-slider-ready="true"] .long-promo-slide.is-active{
    animation:none !important;
  }
}


/* =========================================================
   INDEX MOBILE V10 - Business Directory / Matching / Reviews
   ========================================================= */
.ttb-business-directory-v10,
.ttb-member-review-v10{
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.ttb-v10-section-head{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}

.ttb-v10-section-head h2{
  margin:0;
  color:#0756a8;
  font-size:clamp(30px, 4vw, 46px);
  line-height:1.15;
  font-weight:900;
}

.ttb-v10-title-line{
  display:block;
  width:54px;
  height:4px;
  margin:14px auto 16px;
  border-radius:999px;
  background:#f1283f;
}

.ttb-v10-section-head p{
  margin:0;
  color:#68758b;
  font-size:17px;
  line-height:1.55;
  font-weight:650;
}

.ttb-business-category-grid-v10{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:18px;
}

.ttb-business-category-card-v10{
  --category-accent:#1468d2;
  --category-soft:#eaf3ff;
  display:flex;
  min-width:0;
  min-height:192px;
  padding:24px 18px 20px;
  border:1px solid color-mix(in srgb, var(--category-accent) 20%, #dfe9f7);
  border-radius:24px;
  background:linear-gradient(145deg, #ffffff, color-mix(in srgb, var(--category-soft) 55%, #ffffff));
  box-shadow:0 16px 36px rgba(19, 48, 89, .08);
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ttb-business-category-card-v10:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb, var(--category-accent) 45%, #dfe9f7);
  box-shadow:0 20px 42px rgba(19, 48, 89, .13);
}

.ttb-business-category-card-v10.is-hotel{--category-accent:#1267d8;--category-soft:#e9f2ff;}
.ttb-business-category-card-v10.is-tour{--category-accent:#cf4164;--category-soft:#fff0f4;}
.ttb-business-category-card-v10.is-transport{--category-accent:#147e73;--category-soft:#eafaf7;}
.ttb-business-category-card-v10.is-food{--category-accent:#e1761a;--category-soft:#fff3e8;}
.ttb-business-category-card-v10.is-local{--category-accent:#329647;--category-soft:#eff9ee;}
.ttb-business-category-card-v10.is-dmc{--category-accent:#8440c3;--category-soft:#f6edff;}
.ttb-business-category-card-v10.is-mice{--category-accent:#334b75;--category-soft:#edf2f9;}
.ttb-business-category-card-v10.is-benefit{--category-accent:#c83978;--category-soft:#fff0f7;}

.ttb-business-category-icon-v10{
  display:grid;
  width:64px;
  height:64px;
  margin-bottom:15px;
  border-radius:50%;
  place-items:center;
  background:var(--category-soft);
  color:var(--category-accent);
  font-size:29px;
}

.ttb-business-category-card-v10 strong{
  color:#102e5b;
  font-size:17px;
  line-height:1.25;
  font-weight:900;
}

.ttb-business-category-card-v10 small{
  display:flex;
  margin-top:10px;
  align-items:center;
  gap:6px;
  color:#6c7890;
  font-size:13px;
  font-weight:700;
}

.ttb-business-category-card-v10 small i{
  color:var(--category-accent);
}

.ttb-v10-outline-action-wrap{
  display:flex;
  justify-content:center;
  margin-top:28px;
}

.ttb-v10-outline-action{
  display:inline-flex;
  min-width:360px;
  min-height:58px;
  padding:0 24px;
  border:1.5px solid #2e7ae4;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:#ffffff;
  color:#075fc4;
  text-decoration:none;
  font-size:17px;
  font-weight:900;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}

.ttb-v10-outline-action:hover{
  transform:translateY(-2px);
  background:#075fc4;
  color:#ffffff;
}

.ttb-business-match-v10{
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 10%, rgba(77, 161, 255, .20), transparent 30%),
    linear-gradient(135deg, #06275e 0%, #073f91 56%, #052963 100%);
  color:#ffffff;
}

.ttb-business-match-v10 > .container{
  position:relative;
  z-index:1;
}

.ttb-business-match-copy-v10{
  max-width:760px;
  margin-bottom:28px;
}

.ttb-business-match-label-v10{
  display:block;
  margin-bottom:8px;
  color:#35a2ff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.ttb-business-match-copy-v10 h2{
  margin:0;
  color:#ffffff;
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.12;
  font-weight:900;
}

.ttb-business-match-copy-v10 p{
  max-width:720px;
  margin:14px 0 0;
  color:#d7e8ff;
  font-size:17px;
  line-height:1.55;
  font-weight:600;
}

.ttb-business-match-grid-v10{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.ttb-business-match-card-v10{
  display:flex;
  min-width:0;
  min-height:112px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:20px;
  align-items:center;
  gap:15px;
  background:linear-gradient(135deg, rgba(255,255,255,.15), rgba(255,255,255,.08));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  color:#ffffff;
  text-decoration:none;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.ttb-business-match-card-v10:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.42);
  background:linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.12));
}

.ttb-business-match-icon-v10{
  display:grid;
  width:46px;
  height:46px;
  flex:0 0 46px;
  border-radius:15px;
  place-items:center;
  background:rgba(255,255,255,.12);
  color:#ffffff;
  font-size:22px;
}

.ttb-business-match-card-v10 > span:last-child{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.ttb-business-match-card-v10 strong{
  color:#ffffff;
  font-size:16px;
  line-height:1.2;
  font-weight:900;
}

.ttb-business-match-card-v10 small{
  margin-top:5px;
  color:#d5e6ff;
  font-size:12px;
  line-height:1.3;
  font-weight:650;
}

.ttb-business-match-cta-v10{
  display:flex;
  width:100%;
  min-height:58px;
  margin-top:24px;
  padding:0 24px;
  border:1px solid rgba(255,255,255,.40);
  border-radius:999px;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:linear-gradient(90deg, #0878f1, #1256d8);
  box-shadow:0 16px 32px rgba(1, 17, 51, .24);
  color:#ffffff;
  text-decoration:none;
  font-size:17px;
  font-weight:900;
}

.ttb-member-review-v10{
  background:linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.ttb-review-slider-v10{
  position:relative;
  max-width:880px;
  margin:0 auto;
  padding:0 48px;
}

.ttb-review-viewport-v10{
  overflow:hidden;
  border-radius:26px;
}

.ttb-review-track-v10{
  display:flex;
  transition:transform .48s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.ttb-review-card-v10{
  position:relative;
  flex:0 0 100%;
  min-width:0;
  padding:28px 30px 26px;
  border:1px solid #e1eaf7;
  border-radius:26px;
  background:#ffffff;
  box-shadow:0 18px 44px rgba(24, 54, 94, .10);
}

.ttb-review-profile-v10{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
}

.ttb-review-avatar-v10{
  display:grid;
  width:62px;
  height:62px;
  border-radius:50%;
  place-items:center;
  background:linear-gradient(135deg, #eef5ff, #d9e9ff);
  color:#135eb8;
  font-size:26px;
}

.ttb-review-avatar-v10.is-two{background:linear-gradient(135deg,#fff2df,#ffe0aa);color:#c16a00;}
.ttb-review-avatar-v10.is-three{background:linear-gradient(135deg,#eef8f2,#c9eed7);color:#20804b;}

.ttb-review-person-v10{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.ttb-review-person-v10 strong{
  overflow:hidden;
  color:#102c58;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ttb-review-person-v10 small{
  margin-top:4px;
  color:#728098;
  font-size:13px;
  font-weight:700;
}

.ttb-review-badge-v10{
  padding:7px 11px;
  border-radius:999px;
  background:#edf5ff;
  color:#1262bd;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.ttb-review-stars-v10{
  margin-top:14px;
  color:#ffb100;
  font-size:19px;
  letter-spacing:.08em;
}

.ttb-review-card-v10 p{
  margin:12px 34px 0 0;
  color:#58677f;
  font-size:16px;
  line-height:1.65;
  font-weight:600;
}

.ttb-review-quote-v10{
  position:absolute;
  right:24px;
  bottom:22px;
  color:#0f70df;
  font-size:30px;
  opacity:.9;
}

.ttb-review-arrow-v10{
  position:absolute;
  top:50%;
  z-index:4;
  display:grid;
  width:40px;
  height:40px;
  border:1px solid #d9e5f5;
  border-radius:50%;
  place-items:center;
  background:#ffffff;
  color:#166bcc;
  box-shadow:0 8px 22px rgba(20, 54, 98, .12);
  cursor:pointer;
  transform:translateY(-50%);
}

.ttb-review-arrow-v10.is-prev{left:0;}
.ttb-review-arrow-v10.is-next{right:0;}

.ttb-review-dots-v10{
  display:flex;
  margin-top:20px;
  justify-content:center;
  gap:8px;
}

.ttb-review-dots-v10 button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cdd8e7;
  cursor:pointer;
  transition:width .2s ease, background .2s ease;
}

.ttb-review-dots-v10 button.is-active{
  width:28px;
  background:#176fe0;
}

@media (max-width: 900px){
  body .ttb-business-directory-v10,
  body .ttb-business-match-v10,
  body .ttb-member-review-v10{
    width:calc(100% - 28px) !important;
    margin:16px auto 0 !important;
    padding:30px 14px 28px !important;
    border-radius:30px !important;
    box-sizing:border-box !important;
  }

  body .ttb-business-directory-v10 > .container,
  body .ttb-business-match-v10 > .container,
  body .ttb-member-review-v10 > .container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  body .ttb-v10-section-head{
    margin-bottom:22px !important;
  }

  body .ttb-v10-section-head h2{
    font-size:25px !important;
    line-height:1.18 !important;
  }

  body .ttb-v10-title-line{
    width:42px !important;
    height:3px !important;
    margin:10px auto 12px !important;
  }

  body .ttb-v10-section-head p{
    max-width:320px !important;
    margin:0 auto !important;
    font-size:12.5px !important;
    line-height:1.5 !important;
  }

  body .ttb-business-category-grid-v10{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  body .ttb-business-category-card-v10{
    min-height:142px !important;
    padding:16px 10px 14px !important;
    border-radius:19px !important;
    box-shadow:0 10px 24px rgba(19,48,89,.07) !important;
  }

  body .ttb-business-category-icon-v10{
    width:48px !important;
    height:48px !important;
    margin-bottom:10px !important;
    font-size:22px !important;
  }

  body .ttb-business-category-card-v10 strong{
    font-size:13.5px !important;
    line-height:1.25 !important;
  }

  body .ttb-business-category-card-v10 small{
    margin-top:7px !important;
    font-size:10.5px !important;
  }

  body .ttb-v10-outline-action-wrap{
    margin-top:16px !important;
  }

  body .ttb-v10-outline-action{
    width:100% !important;
    min-width:0 !important;
    min-height:46px !important;
    padding:0 18px !important;
    font-size:13.5px !important;
  }

  body .ttb-business-match-v10{
    padding:28px 16px 26px !important;
  }

  body .ttb-business-match-label-v10{
    margin-bottom:6px !important;
    font-size:10px !important;
  }

  body .ttb-business-match-copy-v10{
    margin-bottom:18px !important;
  }

  body .ttb-business-match-copy-v10 h2{
    font-size:25px !important;
  }

  body .ttb-business-match-copy-v10 p{
    margin-top:8px !important;
    font-size:12.5px !important;
    line-height:1.52 !important;
  }

  body .ttb-business-match-grid-v10{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  body .ttb-business-match-card-v10{
    min-height:82px !important;
    padding:12px !important;
    border-radius:16px !important;
    gap:10px !important;
  }

  body .ttb-business-match-icon-v10{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
    border-radius:11px !important;
    font-size:16px !important;
  }

  body .ttb-business-match-card-v10 strong{
    font-size:12.5px !important;
  }

  body .ttb-business-match-card-v10 small{
    margin-top:3px !important;
    font-size:9.5px !important;
  }

  body .ttb-business-match-cta-v10{
    min-height:46px !important;
    margin-top:16px !important;
    padding:0 16px !important;
    font-size:13.5px !important;
  }

  body .ttb-review-slider-v10{
    padding:0 26px !important;
  }

  body .ttb-review-card-v10{
    padding:18px 16px 18px !important;
    border-radius:20px !important;
  }

  body .ttb-review-profile-v10{
    grid-template-columns:auto minmax(0, 1fr) !important;
    gap:10px !important;
  }

  body .ttb-review-avatar-v10{
    width:48px !important;
    height:48px !important;
    font-size:20px !important;
  }

  body .ttb-review-person-v10 strong{
    font-size:13.5px !important;
  }

  body .ttb-review-person-v10 small{
    font-size:10.5px !important;
  }

  body .ttb-review-badge-v10{
    grid-column:2 !important;
    justify-self:start !important;
    padding:5px 8px !important;
    font-size:9px !important;
  }

  body .ttb-review-stars-v10{
    margin-top:10px !important;
    font-size:15px !important;
  }

  body .ttb-review-card-v10 p{
    margin:8px 26px 0 0 !important;
    font-size:12px !important;
    line-height:1.55 !important;
  }

  body .ttb-review-quote-v10{
    right:14px !important;
    bottom:15px !important;
    font-size:22px !important;
  }

  body .ttb-review-arrow-v10{
    width:32px !important;
    height:32px !important;
    font-size:12px !important;
  }

  body .ttb-review-dots-v10{
    margin-top:14px !important;
  }

  body .ttb-review-dots-v10 button{
    width:7px !important;
    height:7px !important;
  }

  body .ttb-review-dots-v10 button.is-active{
    width:22px !important;
  }

  body .ttb-activities-after-review-v10{
    margin-top:16px !important;
  }
}

@media (max-width: 390px){
  body .ttb-business-category-card-v10 strong{font-size:12.5px !important;}
  body .ttb-business-category-card-v10 small{font-size:9.8px !important;}
  body .ttb-business-match-card-v10{padding:10px !important;}
  body .ttb-business-match-card-v10 strong{font-size:11.5px !important;}
  body .ttb-business-match-card-v10 small{font-size:9px !important;}
}


/* =========================================================
   INDEX V11 - Four-card member review slider
   ========================================================= */
.ttb-member-review-v11{
  overflow:hidden;
  background:linear-gradient(180deg,#ffffff 0%,#f5faff 100%);
}

.ttb-review-head-v11{
  margin-bottom:32px;
}

.ttb-review-slider-v11{
  position:relative;
  width:min(1180px,100%);
  margin:0 auto;
  padding:0 54px;
}

.ttb-review-viewport-v11{
  overflow:hidden;
  padding:4px;
  touch-action:pan-y;
}

.ttb-review-track-v11{
  display:flex;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.ttb-review-page-v11{
  display:grid;
  flex:0 0 100%;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  padding:2px;
  box-sizing:border-box;
}

.ttb-review-card-v11{
  position:relative;
  display:flex;
  min-width:0;
  min-height:224px;
  padding:24px 26px 22px;
  border:1px solid #e4ecf7;
  border-radius:24px;
  flex-direction:column;
  background:#ffffff;
  box-shadow:0 16px 42px rgba(22,57,99,.09);
  box-sizing:border-box;
}

.ttb-review-profile-v11{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
}

.ttb-review-avatar-v11{
  display:block;
  width:72px;
  height:72px;
  border:4px solid #ffffff;
  border-radius:50%;
  object-fit:cover;
  box-shadow:0 6px 18px rgba(21,55,94,.14);
}

.ttb-review-person-v11{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.ttb-review-person-v11 strong{
  overflow:hidden;
  color:#0d2d60;
  font-size:18px;
  line-height:1.25;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ttb-review-person-v11 small{
  margin-top:5px;
  color:#748199;
  font-size:13px;
  line-height:1.3;
  font-weight:700;
}

.ttb-review-badge-v11{
  display:inline-flex;
  min-height:32px;
  padding:0 12px;
  border-radius:999px;
  align-items:center;
  gap:6px;
  background:#edf5ff;
  color:#1066c7;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.ttb-review-stars-v11{
  margin:12px 0 0 86px;
  color:#ffad00;
  font-size:19px;
  line-height:1;
  letter-spacing:.1em;
}

.ttb-review-card-v11 p{
  margin:18px 36px 0 42px;
  color:#4e5e77;
  font-size:15px;
  line-height:1.62;
  font-weight:650;
}

.ttb-review-card-v11 p::before{
  position:absolute;
  left:24px;
  color:#b7d4fa;
  content:'“';
  font-size:44px;
  line-height:.8;
  font-weight:900;
}

.ttb-review-quote-v11{
  position:absolute;
  right:24px;
  bottom:19px;
  color:#afd0fb;
  font-size:28px;
}

.ttb-review-arrow-v11{
  position:absolute;
  top:50%;
  z-index:5;
  display:grid;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid #dbe7f6;
  border-radius:50%;
  place-items:center;
  background:#ffffff;
  color:#126bd0;
  box-shadow:0 10px 28px rgba(19,54,96,.13);
  cursor:pointer;
  transform:translateY(-50%);
  transition:transform .2s ease,box-shadow .2s ease;
}

.ttb-review-arrow-v11:hover{
  box-shadow:0 14px 30px rgba(19,54,96,.18);
  transform:translateY(-50%) scale(1.05);
}

.ttb-review-arrow-v11:disabled{
  visibility:hidden;
}

.ttb-review-arrow-v11.is-prev{left:0;}
.ttb-review-arrow-v11.is-next{right:0;}

.ttb-review-dots-v11{
  display:flex;
  min-height:12px;
  margin-top:22px;
  justify-content:center;
  gap:8px;
}

.ttb-review-dots-v11 button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#c7d4e6;
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}

.ttb-review-dots-v11 button.is-active{
  width:30px;
  background:#176fe0;
}

.ttb-review-action-v11{
  margin-top:22px;
}

.ttb-review-trust-v11{
  display:grid;
  width:min(1240px,100%);
  margin:44px auto 0;
  padding:24px 30px;
  border:1px solid rgba(221,233,248,.85);
  border-radius:34px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  background:rgba(255,255,255,.86);
  box-shadow:0 14px 36px rgba(23,60,103,.07);
  box-sizing:border-box;
}

.ttb-review-trust-item-v11{
  display:flex;
  min-width:0;
  align-items:center;
  gap:13px;
}

.ttb-review-trust-item-v11>span{
  display:grid;
  width:44px;
  height:44px;
  border:1px solid #d7e7fb;
  border-radius:50%;
  flex:0 0 44px;
  place-items:center;
  background:#f5f9ff;
  color:#1670dc;
  font-size:18px;
}

.ttb-review-trust-item-v11 div{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.ttb-review-trust-item-v11 strong{
  color:#0e2f61;
  font-size:14px;
  line-height:1.25;
  font-weight:900;
}

.ttb-review-trust-item-v11 small{
  margin-top:4px;
  color:#7a879b;
  font-size:11px;
  line-height:1.35;
  font-weight:650;
}

@media (max-width:1099px){
  .ttb-review-slider-v11{
    max-width:820px;
  }

  .ttb-review-page-v11{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ttb-review-trust-v11{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:699px){
  body .ttb-member-review-v11{
    width:calc(100% - 28px) !important;
    margin:16px auto 0 !important;
    padding:30px 14px 28px !important;
    border-radius:30px !important;
    box-sizing:border-box !important;
  }

  body .ttb-member-review-v11>.container{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  body .ttb-review-head-v11{
    margin-bottom:20px !important;
  }

  body .ttb-review-slider-v11{
    width:100% !important;
    padding:0 24px !important;
  }

  body .ttb-review-page-v11{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }

  body .ttb-review-card-v11{
    min-height:276px !important;
    padding:18px 16px 20px !important;
    border-radius:20px !important;
  }

  body .ttb-review-profile-v11{
    grid-template-columns:54px minmax(0,1fr) !important;
    gap:10px !important;
  }

  body .ttb-review-avatar-v11{
    width:54px !important;
    height:54px !important;
    border-width:3px !important;
  }

  body .ttb-review-person-v11 strong{
    font-size:13.5px !important;
  }

  body .ttb-review-person-v11 small{
    font-size:10.5px !important;
  }

  body .ttb-review-badge-v11{
    grid-column:2 !important;
    justify-self:start !important;
    min-height:24px !important;
    padding:0 8px !important;
    font-size:9px !important;
  }

  body .ttb-review-stars-v11{
    margin:11px 0 0 64px !important;
    font-size:15px !important;
  }

  body .ttb-review-card-v11 p{
    margin:15px 24px 0 26px !important;
    font-size:12px !important;
    line-height:1.58 !important;
  }

  body .ttb-review-card-v11 p::before{
    left:15px !important;
    font-size:34px !important;
  }

  body .ttb-review-quote-v11{
    right:14px !important;
    bottom:15px !important;
    font-size:22px !important;
  }

  body .ttb-review-arrow-v11{
    width:32px !important;
    height:32px !important;
    font-size:12px !important;
  }

  body .ttb-review-dots-v11{
    margin-top:14px !important;
  }

  body .ttb-review-dots-v11 button{
    width:7px !important;
    height:7px !important;
  }

  body .ttb-review-dots-v11 button.is-active{
    width:22px !important;
  }

  body .ttb-review-trust-v11{
    margin-top:26px !important;
    padding:16px !important;
    border-radius:22px !important;
    grid-template-columns:1fr !important;
    gap:13px !important;
  }

  body .ttb-review-trust-item-v11>span{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
    font-size:15px !important;
  }

  body .ttb-review-trust-item-v11 strong{
    font-size:12.5px !important;
  }

  body .ttb-review-trust-item-v11 small{
    font-size:10px !important;
  }
}


/* =========================================================
   Activities + Partner Network V12
   ========================================================= */
.ttb-activity-showcase-v12,
.ttb-partner-network-v12{
  position:relative;
  padding:44px 0;
  background:linear-gradient(180deg,#f5f9ff 0%,#edf5ff 100%);
}

.ttb-partner-network-v12{
  padding-top:8px;
}

.ttb-activity-showcase-v12>.container,
.ttb-partner-network-v12>.container{
  width:min(1180px,calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin:0 auto !important;
}

.ttb-activity-panel-v12,
.ttb-partner-panel-v12{
  padding:54px 54px 48px;
  border:1px solid rgba(217,231,248,.94);
  border-radius:38px;
  background:rgba(255,255,255,.95);
  box-shadow:0 20px 58px rgba(38,78,125,.10);
}

.ttb-section-head-v12{
  margin:0 auto 34px;
  text-align:center;
}

.ttb-section-head-v12 h2{
  margin:0;
  color:#0751a2;
  font-size:42px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.025em;
}

.ttb-section-head-v12 h2::after{
  display:block;
  width:82px;
  height:5px;
  margin:18px auto 0;
  border-radius:999px;
  background:#ef334f;
  content:"";
}

.ttb-section-head-v12 p{
  max-width:820px;
  margin:18px auto 0;
  color:#6a788d;
  font-size:19px;
  line-height:1.5;
  font-weight:650;
}

.ttb-activity-grid-v12{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.ttb-activity-card-v12{
  position:relative;
  display:block;
  overflow:hidden;
  border-radius:24px;
  background:#e9f2ff;
  box-shadow:0 12px 30px rgba(18,52,95,.13);
  transition:transform .24s ease,box-shadow .24s ease;
}

.ttb-activity-card-v12:hover{
  z-index:2;
  box-shadow:0 18px 42px rgba(18,52,95,.20);
  transform:translateY(-4px);
}

.ttb-activity-card-v12:focus-visible{
  outline:4px solid rgba(23,111,224,.25);
  outline-offset:4px;
}

.ttb-activity-card-v12 img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1.725 / 1;
  object-fit:cover;
  transition:transform .35s ease;
}

.ttb-activity-card-v12:hover img{
  transform:scale(1.025);
}

.ttb-outline-action-v12{
  display:flex;
  margin-top:34px;
  justify-content:center;
}

.ttb-outline-action-v12 a{
  display:inline-flex;
  min-width:260px;
  min-height:58px;
  padding:0 30px;
  border:2px solid #1468d4;
  border-radius:18px;
  align-items:center;
  justify-content:center;
  gap:18px;
  background:#fff;
  color:#075abb;
  text-decoration:none;
  font-size:18px;
  font-weight:900;
  box-shadow:0 10px 22px rgba(20,104,212,.07);
  transition:background .2s ease,color .2s ease,transform .2s ease;
}

.ttb-outline-action-v12 a:hover{
  background:#075abb;
  color:#fff;
  transform:translateY(-2px);
}

.ttb-partner-slider-v12{
  overflow:hidden;
}

.ttb-partner-viewport-v12{
  overflow:hidden;
  touch-action:pan-y;
}

.ttb-partner-track-v12{
  display:flex;
  align-items:flex-start;
  transition:transform .48s cubic-bezier(.22,.7,.27,1);
  will-change:transform;
}

.ttb-partner-page-v12{
  display:grid;
  min-width:100%;
  padding:2px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  box-sizing:border-box;
}

.ttb-partner-card-v12{
  --partner-color:#1468d4;
  display:flex;
  min-height:172px;
  padding:22px 16px 18px;
  border:1px solid #dce8f6;
  border-radius:22px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
  background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  color:#14315e;
  text-decoration:none;
  text-align:center;
  box-shadow:0 11px 28px rgba(25,62,106,.08);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}

.ttb-partner-card-v12:hover{
  border-color:color-mix(in srgb,var(--partner-color) 40%,#dce8f6);
  box-shadow:0 17px 34px rgba(25,62,106,.14);
  transform:translateY(-3px);
}

.ttb-partner-card-v12.is-blue{--partner-color:#1264c7;}
.ttb-partner-card-v12.is-green{--partner-color:#26944f;}
.ttb-partner-card-v12.is-purple{--partner-color:#743bb4;}
.ttb-partner-card-v12.is-orange{--partner-color:#f27618;}
.ttb-partner-card-v12.is-sky{--partner-color:#3183db;}
.ttb-partner-card-v12.is-teal{--partner-color:#087b8d;}
.ttb-partner-card-v12.is-violet{--partner-color:#8757c7;}

.ttb-partner-icon-v12{
  display:grid;
  width:74px;
  height:74px;
  place-items:center;
  color:var(--partner-color);
}

.ttb-partner-icon-v12 svg{
  width:100%;
  height:100%;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-partner-card-v12 strong{
  font-size:17px;
  line-height:1.25;
  font-weight:900;
}

.ttb-partner-dots-v12{
  display:flex;
  min-height:14px;
  margin-top:24px;
  justify-content:center;
  gap:9px;
}

.ttb-partner-dots-v12 button{
  width:10px;
  height:10px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cbd7e8;
  cursor:pointer;
  transition:width .2s ease,background .2s ease;
}

.ttb-partner-dots-v12 button.is-active{
  width:32px;
  background:#0b58b4;
}

.ttb-trust-star-v12 svg{
  width:22px;
  height:22px;
  overflow:visible;
}

.ttb-trust-star-v12 svg circle{
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}

.ttb-trust-star-v12 svg path{
  fill:currentColor;
  stroke:none;
}

@media (max-width:899px){
  .ttb-activity-showcase-v12,
  .ttb-partner-network-v12{
    padding:18px 0;
  }

  .ttb-partner-network-v12{
    padding-top:0;
  }

  body .ttb-activity-showcase-v12>.container,
  body .ttb-partner-network-v12>.container{
    width:calc(100% - 28px) !important;
    max-width:none !important;
  }

  .ttb-activity-panel-v12,
  .ttb-partner-panel-v12{
    padding:30px 14px 28px;
    border-radius:30px;
  }

  .ttb-section-head-v12{
    margin-bottom:24px;
  }

  .ttb-section-head-v12 h2{
    font-size:clamp(27px,7.2vw,34px);
  }

  .ttb-section-head-v12 h2::after{
    width:60px;
    height:4px;
    margin-top:13px;
  }

  .ttb-section-head-v12 p{
    max-width:340px;
    margin-top:14px;
    font-size:14px;
    line-height:1.55;
  }

  .ttb-activity-grid-v12{
    gap:8px;
  }

  .ttb-activity-card-v12{
    border-radius:15px;
    box-shadow:0 8px 20px rgba(18,52,95,.11);
  }

  .ttb-outline-action-v12{
    margin-top:23px;
  }

  .ttb-outline-action-v12 a{
    min-width:230px;
    min-height:50px;
    padding:0 24px;
    border-width:1.5px;
    border-radius:15px;
    font-size:15px;
  }

  .ttb-partner-page-v12{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .ttb-partner-card-v12{
    min-height:122px;
    padding:14px 6px 12px;
    border-radius:15px;
    gap:7px;
  }

  .ttb-partner-icon-v12{
    width:50px;
    height:50px;
  }

  .ttb-partner-card-v12 strong{
    font-size:11.5px;
    line-height:1.2;
  }

  .ttb-partner-dots-v12{
    margin-top:18px;
  }

  .ttb-partner-dots-v12 button{
    width:8px;
    height:8px;
  }

  .ttb-partner-dots-v12 button.is-active{
    width:24px;
  }
}

@media (max-width:379px){
  .ttb-partner-page-v12{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .ttb-partner-card-v12{
    min-height:118px;
  }
}


/* === Floating Contact / LINE Popup V13 === */
.ttb-contact-widget{
  --ttb-contact-blue:#0754b8;
  --ttb-contact-navy:#082e68;
  --ttb-contact-line:#06c755;
  position:relative;
  z-index:9998;
}

.ttb-contact-launcher{
  position:fixed;
  right:24px;
  bottom:48px;
  z-index:9999;
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  padding:7px;
  overflow:visible;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#0d2447;
  box-shadow:none;
  cursor:pointer;
  font:inherit;
  transition:transform .2s ease;
}

.ttb-contact-launcher:hover{
  transform:translateY(-3px);
}

.ttb-contact-launcher-text{
  position:absolute;
  right:114px;
  top:50%;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:196px;
  min-height:58px;
  padding:13px 26px;
  border-radius:999px;
  background:#fff;
  color:#0d2447;
  box-shadow:0 16px 38px rgba(8,46,104,.18);
  transform:translateY(-50%);
  font-size:17px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.ttb-contact-launcher-text::after{
  content:"";
  position:absolute;
  right:-8px;
  top:50%;
  width:16px;
  height:16px;
  background:#fff;
  transform:translateY(-50%) rotate(45deg);
}

.ttb-contact-launcher-icon{
  position:relative;
  isolation:isolate;
  overflow:visible;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  flex:0 0 58px;
  border-radius:50%;
  background:linear-gradient(145deg, #1477eb 0%, #0754b8 54%, #063f91 100%);
  color:#fff;
  box-shadow:
    0 0 0 7px rgba(20,119,235,.13),
    0 0 0 14px rgba(20,119,235,.065),
    0 14px 34px rgba(7,84,184,.34);
  animation:ttbContactGlow 2.4s ease-in-out infinite;
}

.ttb-contact-launcher-icon::before,
.ttb-contact-launcher-icon::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  box-sizing:border-box;
  border-radius:50%;
  opacity:0;
  transform:scale(.76);
  will-change:transform, opacity;
  animation:ttbContactPulse 2.2s cubic-bezier(.18,.67,.28,1) infinite;
}

.ttb-contact-launcher-icon::before{
  inset:-12px;
  border:3px solid rgba(20,119,235,.34);
  box-shadow:0 0 18px rgba(20,119,235,.18);
}

.ttb-contact-launcher-icon::after{
  inset:-18px;
  border:2px solid rgba(20,119,235,.22);
  box-shadow:0 0 24px rgba(20,119,235,.12);
  animation-delay:1.1s;
}

.ttb-contact-launcher-icon svg{
  position:relative;
  z-index:1;
  width:29px;
  height:29px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 3px rgba(0,35,92,.24));
  animation:ttbContactIconBreathe 2.2s ease-in-out infinite;
}

.ttb-contact-widget.is-open .ttb-contact-launcher-icon::before,
.ttb-contact-widget.is-open .ttb-contact-launcher-icon::after{
  animation-play-state:paused;
  opacity:0;
}

@keyframes ttbContactPulse{
  0%{transform:scale(.76);opacity:0}
  10%{opacity:.95}
  62%{opacity:.28}
  100%{transform:scale(1.72);opacity:0}
}

@keyframes ttbContactGlow{
  0%,100%{
    box-shadow:
      0 0 0 7px rgba(20,119,235,.12),
      0 0 0 14px rgba(20,119,235,.055),
      0 14px 34px rgba(7,84,184,.30);
  }
  50%{
    box-shadow:
      0 0 0 9px rgba(20,119,235,.17),
      0 0 0 18px rgba(20,119,235,.085),
      0 18px 42px rgba(7,84,184,.42);
  }
}

@keyframes ttbContactIconBreathe{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.055)}
}

.ttb-contact-backdrop{
  position:fixed;
  inset:0;
  z-index:10000;
  background:rgba(2,18,45,.28);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease, visibility .2s ease;
}

.ttb-contact-panel{
  position:fixed;
  right:24px;
  bottom:128px;
  z-index:10001;
  width:min(372px, calc(100vw - 32px));
  max-height:calc(100vh - 130px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(190,210,239,.92);
  border-radius:30px;
  background:#fff;
  box-shadow:0 34px 90px rgba(5,37,83,.3);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.97);
  transform-origin:bottom right;
  transition:opacity .22s ease, visibility .22s ease, transform .22s ease;
}

.ttb-contact-widget.is-open .ttb-contact-backdrop,
.ttb-contact-widget.is-open .ttb-contact-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ttb-contact-widget.is-open .ttb-contact-panel{
  transform:translateY(0) scale(1);
}

.ttb-contact-panel-head{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:24px 24px 21px;
  border-radius:29px 29px 0 0;
  background:linear-gradient(135deg, #08336e 0%, #0754b8 62%, #2084e8 100%);
  color:#fff;
  overflow:hidden;
}

.ttb-contact-panel-head::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  right:-55px;
  top:-65px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
}

.ttb-contact-sample-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  margin-bottom:8px;
  border-radius:999px;
  background:#ffce43;
  color:#5a3b00;
  font-size:11px;
  font-weight:900;
}

.ttb-contact-kicker{
  margin:0 0 4px;
  color:#8ecbff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}

.ttb-contact-panel-head h3{
  margin:0;
  font-size:25px;
  line-height:1.2;
  font-weight:900;
}

.ttb-contact-panel-head p:last-child{
  margin:7px 0 0;
  color:rgba(255,255,255,.82);
  font-size:13px;
  line-height:1.45;
}

.ttb-contact-close{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
}

.ttb-contact-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
}

.ttb-contact-line-card{
  margin:18px;
  padding:17px;
  border-radius:23px;
  background:linear-gradient(145deg, #09d45f, #05a947);
  color:#fff;
  box-shadow:0 16px 34px rgba(6,199,85,.24);
}

.ttb-contact-line-title{
  display:flex;
  align-items:center;
  gap:11px;
}

.ttb-contact-line-logo{
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  flex:0 0 50px;
  border-radius:14px;
  background:#fff;
  color:#00a846;
  font-size:13px;
  font-weight:1000;
}

.ttb-contact-line-title div{
  min-width:0;
}

.ttb-contact-line-title strong,
.ttb-contact-line-title span{
  display:block;
}

.ttb-contact-line-title strong{
  font-size:19px;
  line-height:1.25;
}

.ttb-contact-line-title div span{
  margin-top:2px;
  color:rgba(255,255,255,.88);
  font-size:13px;
  font-weight:800;
}

.ttb-contact-qr{
  display:block;
  width:150px;
  margin:15px auto 12px;
  padding:9px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,90,36,.22);
}

.ttb-contact-qr img{
  display:block;
  width:100%;
  height:auto;
  border-radius:11px;
}

.ttb-contact-line-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
}

.ttb-contact-line-btn svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-contact-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:0 18px;
}

.ttb-contact-info-item{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:66px;
  padding:11px;
  border:1px solid #e2ebf7;
  border-radius:18px;
  background:#f8fbff;
  color:#0d2f61;
  text-decoration:none;
}

.ttb-contact-info-item.is-wide{
  grid-column:1 / -1;
}

.ttb-contact-info-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:11px;
  color:#fff;
}

.ttb-contact-info-icon.is-phone{background:#0e66d4}
.ttb-contact-info-icon.is-mobile{background:#7b54d8}
.ttb-contact-info-icon.is-email{background:#ef704d}

.ttb-contact-info-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-contact-info-item span:last-child{
  min-width:0;
}

.ttb-contact-info-item small,
.ttb-contact-info-item strong{
  display:block;
  min-width:0;
}

.ttb-contact-info-item small{
  color:#75849b;
  font-size:10.5px;
  font-weight:800;
}

.ttb-contact-info-item strong{
  margin-top:2px;
  overflow:hidden;
  color:#0b376f;
  font-size:13px;
  line-height:1.3;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.ttb-contact-hours{
  display:flex;
  align-items:center;
  gap:10px;
  margin:13px 18px 0;
  padding:12px 14px;
  border-radius:17px;
  background:#eef5ff;
  color:#0c4fa7;
}

.ttb-contact-hours svg{
  width:25px;
  height:25px;
  flex:0 0 25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-contact-hours small,
.ttb-contact-hours strong{
  display:block;
}

.ttb-contact-hours small{
  color:#6c7e96;
  font-size:10.5px;
  font-weight:800;
}

.ttb-contact-hours strong{
  margin-top:1px;
  color:#0d376e;
  font-size:13px;
}

.ttb-contact-socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:17px 18px 20px;
}

.ttb-contact-socials a{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:13px;
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(20,35,60,.14);
}

.ttb-contact-socials svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}

.ttb-contact-socials .is-facebook{background:#1877f2;font-family:Arial,sans-serif;font-size:26px}
.ttb-contact-socials .is-instagram{background:linear-gradient(145deg,#7b2fcf,#f33d6e,#ffb53d)}
.ttb-contact-socials .is-x{background:#111}
.ttb-contact-socials .is-line{background:#06c755;font-size:9px}
.ttb-contact-socials .is-tiktok{background:#111}
.ttb-contact-socials .is-tiktok svg{fill:#fff;stroke:none}

body.ttb-contact-lock{
  overflow:hidden;
}

@media (max-width: 640px){
  .ttb-contact-launcher{
    right:14px;
    bottom:18px;
    width:66px;
    height:66px;
    padding:7px;
  }

  .ttb-contact-launcher-text{
    right:88px;
    min-width:142px;
    min-height:48px;
    padding:11px 18px;
    font-size:14px;
    box-shadow:0 12px 28px rgba(8,46,104,.17);
  }

  .ttb-contact-launcher-text::after{
    right:-6px;
    width:14px;
    height:14px;
  }

  .ttb-contact-launcher-icon{
    width:52px;
    height:52px;
    flex-basis:52px;
  }

  .ttb-contact-panel{
    left:10px;
    right:10px;
    bottom:12px;
    width:auto;
    max-height:calc(100dvh - 24px);
    border-radius:27px;
    transform-origin:bottom center;
  }

  .ttb-contact-panel-head{
    padding:20px 19px 18px;
    border-radius:26px 26px 0 0;
  }

  .ttb-contact-panel-head h3{
    font-size:22px;
  }

  .ttb-contact-line-card{
    margin:14px;
    padding:15px;
  }

  .ttb-contact-qr{
    width:132px;
  }

  .ttb-contact-info-grid{
    margin:0 14px;
  }

  .ttb-contact-hours{
    margin:12px 14px 0;
  }

  .ttb-contact-socials{
    padding:15px 14px 18px;
  }
}

@media (max-width: 380px){
  .ttb-contact-launcher-text{
    display:none;
  }

  .ttb-contact-info-grid{
    grid-template-columns:1fr;
  }

  .ttb-contact-info-item.is-wide{
    grid-column:auto;
  }
}

@media (prefers-reduced-motion: reduce){
  .ttb-contact-panel,
  .ttb-contact-backdrop,
  .ttb-contact-launcher{transition:none}
}


/* === Floating Contact Unified Desktop/Mobile Design V17 === */
.ttb-contact-launcher-icon::before,
.ttb-contact-launcher-icon::after{
  display:block !important;
  visibility:visible !important;
}


/* === Floating Group Quote V19 === */
.ttb-group-quote-widget{
  position:relative;
  z-index:10018;
}

.ttb-group-quote-launcher{
  position:fixed;
  right:24px;
  bottom:164px;
  z-index:10019;
  display:flex;
  align-items:center;
  width:296px;
  min-height:70px;
  padding:7px 18px 7px 6px;
  overflow:visible;
  border:1px solid rgba(63,137,255,.78);
  border-radius:999px;
  background:linear-gradient(135deg,#0c62d4 0%,#0749a8 48%,#062d68 100%);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -2px 0 rgba(0,26,79,.35),
    0 13px 30px rgba(4,48,111,.21);
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:transform .2s ease,box-shadow .2s ease;
}

.ttb-group-quote-launcher::before,
.ttb-group-quote-launcher::after{
  content:"";
  position:absolute;
  left:52px;
  width:39px;
  height:16px;
  pointer-events:none;
  opacity:.78;
}

.ttb-group-quote-launcher::before{
  top:-4px;
  border-top:3px solid rgba(173,226,255,.8);
  border-radius:70% 0 0 0;
  transform:rotate(5deg);
}

.ttb-group-quote-launcher::after{
  bottom:-4px;
  border-bottom:3px solid rgba(183,220,255,.56);
  border-radius:0 0 0 70%;
  transform:rotate(-5deg);
}

.ttb-group-quote-launcher:hover{
  transform:translateY(-3px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    inset 0 -2px 0 rgba(0,26,79,.34),
    0 17px 36px rgba(4,48,111,.27);
}

.ttb-group-quote-icon{
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  flex:0 0 58px;
  margin-left:-4px;
  border:3px solid rgba(225,255,220,.7);
  border-radius:50%;
  background:linear-gradient(145deg,#80dc42 0%,#3b9b20 56%,#216c15 100%);
  color:#fff;
  box-shadow:
    0 0 0 6px rgba(94,199,53,.11),
    0 0 18px rgba(82,203,45,.28),
    inset 0 2px 5px rgba(255,255,255,.35),
    inset 0 -5px 9px rgba(20,91,12,.28);
}

.ttb-group-quote-icon::before,
.ttb-group-quote-icon::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-8px;
  border:2px solid rgba(107,218,65,.24);
  border-radius:50%;
  animation:ttbGroupQuotePulse 4.2s ease-out infinite;
}

.ttb-group-quote-icon::after{
  inset:-14px;
  border-color:rgba(107,218,65,.14);
  animation-delay:2.1s;
}

.ttb-group-quote-icon svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:currentColor;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 2px rgba(20,70,12,.26));
}

.ttb-group-quote-copy{
  display:block;
  min-width:0;
  margin-left:14px;
}

.ttb-group-quote-copy strong,
.ttb-group-quote-copy small{
  display:block;
}

.ttb-group-quote-copy strong{
  font-size:18px;
  line-height:1.18;
  font-weight:900;
  letter-spacing:-.01em;
}

.ttb-group-quote-copy small{
  margin-top:4px;
  color:rgba(255,255,255,.8);
  font-size:11.5px;
  line-height:1.2;
  font-weight:700;
}

.ttb-group-quote-arrow{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  margin-left:auto;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
}

.ttb-group-quote-arrow svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-group-quote-widget.is-open .ttb-group-quote-icon::before,
.ttb-group-quote-widget.is-open .ttb-group-quote-icon::after{
  animation-play-state:paused;
  opacity:0;
}

@keyframes ttbGroupQuotePulse{
  0%{transform:scale(.78);opacity:0}
  12%{opacity:.48}
  70%{opacity:.12}
  100%{transform:scale(1.38);opacity:0}
}

.ttb-group-quote-backdrop{
  position:fixed;
  inset:0;
  z-index:10020;
  background:rgba(2,18,45,.3);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}

.ttb-group-quote-panel{
  position:fixed;
  right:24px;
  bottom:258px;
  z-index:10021;
  width:min(440px,calc(100vw - 32px));
  max-height:calc(100vh - 260px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(188,211,239,.96);
  border-radius:30px;
  background:#fff;
  box-shadow:0 36px 94px rgba(4,35,79,.33);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(18px) scale(.97);
  transform-origin:bottom right;
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
}

.ttb-group-quote-widget.is-open .ttb-group-quote-backdrop,
.ttb-group-quote-widget.is-open .ttb-group-quote-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ttb-group-quote-widget.is-open .ttb-group-quote-panel{
  transform:translateY(0) scale(1);
}

.ttb-group-quote-head{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 38px;
  align-items:start;
  gap:13px;
  padding:22px 22px 20px;
  overflow:hidden;
  border-radius:29px 29px 0 0;
  background:linear-gradient(135deg,#092f69 0%,#0755bc 64%,#1982e8 100%);
  color:#fff;
}

.ttb-group-quote-head::after{
  content:"";
  position:absolute;
  right:-58px;
  top:-66px;
  width:170px;
  height:170px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
}

.ttb-group-quote-head-icon{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:2px solid rgba(224,255,220,.55);
  border-radius:18px;
  background:linear-gradient(145deg,#78d53a,#2f8e1c);
  box-shadow:0 10px 22px rgba(18,97,15,.25);
}

.ttb-group-quote-head-icon svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:#fff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-group-quote-head > div:nth-child(2){
  position:relative;
  z-index:1;
  min-width:0;
}

.ttb-group-quote-sample{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  margin-bottom:7px;
  padding:3px 9px;
  border-radius:999px;
  background:#ffce43;
  color:#5b3a00;
  font-size:10.5px;
  font-weight:900;
}

.ttb-group-quote-head p{
  margin:0 0 2px;
  color:#8fcaff;
  font-size:10.5px;
  font-weight:900;
  letter-spacing:.12em;
}

.ttb-group-quote-head h3{
  margin:0;
  font-size:24px;
  line-height:1.2;
  font-weight:900;
}

.ttb-group-quote-head > div:nth-child(2) > span:last-child{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.82);
  font-size:12.5px;
  line-height:1.4;
}

.ttb-group-quote-close{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  cursor:pointer;
}

.ttb-group-quote-close svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
}

.ttb-group-quote-form{
  padding:18px;
}

.ttb-group-quote-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.ttb-group-quote-fields label{
  display:grid;
  gap:6px;
  min-width:0;
  color:#354762;
  font-size:11.5px;
  font-weight:900;
}

.ttb-group-quote-fields label.is-wide{
  grid-column:1 / -1;
}

.ttb-group-quote-fields input,
.ttb-group-quote-fields select,
.ttb-group-quote-fields textarea{
  width:100%;
  min-width:0;
  min-height:45px;
  padding:10px 12px;
  border:1px solid #dce7f5;
  border-radius:14px;
  outline:0;
  background:#f9fbff;
  color:#10294c;
  font:inherit;
  font-size:13px;
  font-weight:700;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.ttb-group-quote-fields textarea{
  min-height:86px;
  resize:vertical;
}

.ttb-group-quote-fields input:focus,
.ttb-group-quote-fields select:focus,
.ttb-group-quote-fields textarea:focus{
  border-color:#3d8df0;
  background:#fff;
  box-shadow:0 0 0 3px rgba(28,121,235,.12);
}

.ttb-group-quote-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:13px;
  padding:10px 12px;
  border-radius:14px;
  background:#eef5ff;
  color:#61728c;
  font-size:10.5px;
  line-height:1.45;
  font-weight:750;
}

.ttb-group-quote-note svg{
  width:18px;
  height:18px;
  flex:0 0 18px;
  fill:none;
  stroke:#0c63cc;
  stroke-width:1.8;
  stroke-linecap:round;
}

.ttb-group-quote-submit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:48px;
  margin-top:14px;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#0e6ee0,#074da9);
  color:#fff;
  box-shadow:0 12px 28px rgba(7,82,183,.22);
  cursor:pointer;
  font:inherit;
  font-size:14px;
  font-weight:900;
}

.ttb-group-quote-submit svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-group-quote-success{
  padding:36px 24px 30px;
  text-align:center;
}

.ttb-group-quote-success > div{
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  margin:0 auto 16px;
  border-radius:50%;
  background:#ebfae7;
  color:#2f9b21;
}

.ttb-group-quote-success svg{
  width:52px;
  height:52px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.ttb-group-quote-success h4{
  margin:0;
  color:#0c356f;
  font-size:21px;
  font-weight:900;
}

.ttb-group-quote-success p{
  margin:8px auto 18px;
  max-width:320px;
  color:#687a94;
  font-size:13px;
  line-height:1.55;
  font-weight:700;
}

.ttb-group-quote-success button{
  min-width:150px;
  min-height:43px;
  border:1px solid #cfe0f5;
  border-radius:999px;
  background:#fff;
  color:#0757ba;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:900;
}

@media (max-width:640px){
  .ttb-group-quote-launcher{
    right:14px;
    bottom:120px;
    width:min(254px,calc(100vw - 28px));
    min-height:58px;
    padding:5px 13px 5px 5px;
  }

  .ttb-group-quote-launcher::before,
  .ttb-group-quote-launcher::after{
    left:45px;
    width:31px;
    height:13px;
  }

  .ttb-group-quote-icon{
    width:49px;
    height:49px;
    flex-basis:49px;
    margin-left:-3px;
  }

  .ttb-group-quote-icon svg{
    width:30px;
    height:30px;
  }

  .ttb-group-quote-copy{
    margin-left:10px;
  }

  .ttb-group-quote-copy strong{
    font-size:14.5px;
  }

  .ttb-group-quote-copy small{
    margin-top:3px;
    font-size:9.8px;
  }

  .ttb-group-quote-arrow{
    width:25px;
    height:25px;
    flex-basis:25px;
  }

  .ttb-group-quote-panel{
    left:10px;
    right:10px;
    bottom:12px;
    width:auto;
    max-height:calc(100dvh - 24px);
    border-radius:27px;
    transform-origin:bottom center;
  }

  .ttb-group-quote-head{
    grid-template-columns:50px minmax(0,1fr) 36px;
    gap:10px;
    padding:18px 17px 16px;
    border-radius:26px 26px 0 0;
  }

  .ttb-group-quote-head-icon{
    width:50px;
    height:50px;
    border-radius:15px;
  }

  .ttb-group-quote-head-icon svg{
    width:31px;
    height:31px;
  }

  .ttb-group-quote-head h3{
    font-size:20px;
  }

  .ttb-group-quote-form{
    padding:14px;
  }

  .ttb-group-quote-fields{
    grid-template-columns:1fr;
    gap:10px;
  }

  .ttb-group-quote-fields label.is-wide{
    grid-column:auto;
  }
}

@media (max-width:380px){
  .ttb-group-quote-launcher{
    width:min(236px,calc(100vw - 24px));
  }

  .ttb-group-quote-copy strong{
    font-size:13.8px;
  }

  .ttb-group-quote-copy small{
    font-size:9.3px;
  }
}

@media (prefers-reduced-motion:reduce){
  .ttb-group-quote-panel,
  .ttb-group-quote-backdrop,
  .ttb-group-quote-launcher{transition:none}
  .ttb-group-quote-icon::before,
  .ttb-group-quote-icon::after{animation:none}
}


/* === Smart Floating Auto-Collapse V21 === */
.ttb-contact-launcher,
.ttb-group-quote-launcher{
  transition:
    width .32s cubic-bezier(.2,.72,.25,1),
    min-height .32s cubic-bezier(.2,.72,.25,1),
    padding .32s cubic-bezier(.2,.72,.25,1),
    opacity .24s ease,
    visibility .24s ease,
    transform .24s ease,
    box-shadow .24s ease !important;
}

.ttb-contact-launcher-text,
.ttb-group-quote-copy,
.ttb-group-quote-arrow,
.ttb-group-quote-launcher::before,
.ttb-group-quote-launcher::after{
  transition:
    opacity .24s ease,
    visibility .24s ease,
    transform .3s cubic-bezier(.2,.72,.25,1),
    max-width .3s cubic-bezier(.2,.72,.25,1),
    margin .3s cubic-bezier(.2,.72,.25,1) !important;
}

.ttb-contact-widget.is-collapsed .ttb-contact-launcher-text{
  max-width:0;
  min-width:0;
  padding-left:0;
  padding-right:0;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-50%) translateX(24px) scale(.94);
}

.ttb-contact-widget.is-collapsed .ttb-contact-launcher-text::after{
  opacity:0;
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher{
  width:72px;
  min-height:72px;
  padding:7px;
  justify-content:center;
  border-radius:50%;
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-icon{
  margin-left:0;
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-copy,
.ttb-group-quote-widget.is-collapsed .ttb-group-quote-arrow{
  max-width:0;
  width:0;
  margin-left:0;
  overflow:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(18px) scale(.92);
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher::before,
.ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher::after{
  opacity:0;
  visibility:hidden;
}

.ttb-contact-widget.is-peer-hidden .ttb-contact-launcher,
.ttb-group-quote-widget.is-peer-hidden .ttb-group-quote-launcher{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateX(28px) scale(.88) !important;
}

@media (max-width:640px){
  .ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher{
    width:66px;
    min-height:66px;
    padding:7px;
  }
}

@media (prefers-reduced-motion:reduce){
  .ttb-contact-launcher,
  .ttb-group-quote-launcher,
  .ttb-contact-launcher-text,
  .ttb-group-quote-copy,
  .ttb-group-quote-arrow{
    transition:none !important;
  }
}


/* === Smart Floating Auto-Collapse Fix V22 === */
.ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher{
  box-sizing:border-box !important;
  width:72px !important;
  min-width:72px !important;
  max-width:72px !important;
  height:72px !important;
  min-height:72px !important;
  max-height:72px !important;
  padding:7px !important;
  justify-content:center !important;
  overflow:visible !important;
  border-color:transparent !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-icon{
  flex:0 0 58px !important;
  width:58px !important;
  height:58px !important;
  margin:0 !important;
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-copy,
.ttb-group-quote-widget.is-collapsed .ttb-group-quote-arrow{
  display:none !important;
}

.ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher::before,
.ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher::after{
  display:none !important;
}

@media (max-width:640px){
  .ttb-group-quote-widget.is-collapsed .ttb-group-quote-launcher{
    width:66px !important;
    min-width:66px !important;
    max-width:66px !important;
    height:66px !important;
    min-height:66px !important;
    max-height:66px !important;
    padding:7px !important;
  }

  .ttb-group-quote-widget.is-collapsed .ttb-group-quote-icon{
    flex-basis:52px !important;
    width:52px !important;
    height:52px !important;
  }
}
