/* SOURCE: /assets/bundles/policy-callvan-styles-05.css */
:root{
 --blue:#0b63ce;--navy:#082754;--ink:#17263e;--muted:#68798f;
 --line:#dce5ef;--soft:#f5f8fc;--white:#fff;--max:1000px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;color:var(--ink);background:#f4f7fb;line-height:1.75}
a{text-decoration:none;color:inherit}
.wrap{width:min(calc(100% - 28px),var(--max));margin:0 auto}
header{
 position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e7edf4;
 box-shadow:0 2px 12px rgba(22,55,91,.05)
}
.head{height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-size:17.4636px;font-weight:950;color:var(--navy)}
.back{padding:9px 13px;border:1px solid #ccd9e8;border-radius:9px;color:var(--blue);font-size:13.1208px;font-weight:900}
.hero{padding:34px 0 20px}
.hero h1{margin:0 0 8px;font-size:25.872px;line-height:1.25;color:var(--navy)}
.hero p{margin:0;color:var(--muted);font-size:13.2132px}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.quick a{padding:9px 13px;border-radius:999px;background:#eaf3ff;color:var(--blue);font-size:13.1208px;font-weight:900}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin:0 0 20px;box-shadow:0 9px 28px rgba(22,55,91,.06)}
.section-title{margin:0 0 22px;padding-bottom:13px;border-bottom:2px solid #eaf0f6;font-size:21.3444px;color:var(--navy)}
.article{scroll-margin-top:88px;margin:0 0 26px}
.article:last-child{margin-bottom:0}
.article h3{margin:0 0 10px;font-size:16.2624px;color:#153967}
.article p{margin:0 0 9px;font-size:13.2132px}
.article ul{margin:7px 0 12px;padding-left:21px;font-size:13.2132px}
.article li{margin:5px 0}
.fee-box{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 12px}
.fee{padding:12px 14px;border-radius:10px;background:#f4f8fd;border:1px solid #e0eaf5;font-size:13.2132px;font-weight:850}
.info-table{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:10px}
.info-table div{padding:11px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13.2132px}
.info-table .k{font-weight:900;background:#f7f9fc;color:#36516e}
.notice{margin-top:16px;padding:13px 15px;border-radius:10px;background:#fff8e8;border:1px solid #f1dfae;font-size:13.1208px;color:#6c5622}
footer{padding:25px 0 35px;text-align:center;color:#78889a;font-size:12.012px}
@media(max-width:640px){
 .head{height:58px}.brand{font-size:15.246px}.hero{padding-top:25px}.hero h1{font-size:21.3444px}
 .card{padding:20px 16px;border-radius:12px}
 .section-title{font-size:18.3876px}
 .fee-box{grid-template-columns:1fr}
 .info-table{grid-template-columns:1fr}
 .info-table .k{border-bottom:0}
}

/* ===== mobile header to desktop-like banner ===== */
@media(max-width:720px){
  .ot-site-header{
    height:auto!important;
    min-height:0!important;
  }
  .ot-header-inner{
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px 12px!important;
    padding:10px 14px 8px!important;
  }
  .ot-brand{
    flex:0 0 auto!important;
  }
  .ot-brand img{
    width:190px!important;
    max-width:190px!important;
    height:auto!important;
  }
  .ot-phone{
    display:block!important;
    margin-left:auto!important;
    font-size:17.4636px!important;
    line-height:1!important;
  }
  .ot-nav{
    display:flex!important;
    order:3!important;
    width:100%!important;
    margin-left:0!important;
    gap:18px!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    padding:2px 0 0!important;
    font-size:13.2132px!important;
    -ms-overflow-style:none;
    scrollbar-width:none;
  }
  .ot-nav::-webkit-scrollbar{display:none}
  .ot-nav a{
    padding:10px 0 12px!important;
    flex:0 0 auto!important;
  }
  .ot-menu-btn,
  .ot-mobile-panel,
  .ot-mobile-backdrop{
    display:none!important;
  }
  body.ot-menu-open{overflow:auto!important}
}


/* ===== 공통 상단 헤더 (차량안내와 동일) ===== */
.ot-site-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:9999!important;background:#fff!important;border-bottom:1px solid #e8edf3!important;box-shadow:0 2px 10px rgba(8,39,84,.06)!important}
.ot-header-inner{max-width:1180px;margin:0 auto;padding:0 24px;min-height:74px;display:flex;align-items:center;gap:24px}
.ot-brand{flex:0 0 auto;display:flex;align-items:center}
.ot-brand img{display:block!important;width:235px!important;height:62px!important;max-width:235px!important;object-fit:contain!important;object-position:left center!important}
.ot-nav{margin-left:auto;display:flex;align-items:center;gap:31px;font-size:15.246px;font-weight:800;white-space:nowrap}
.ot-nav a{position:relative;padding:28px 0 25px;color:#122946;text-decoration:none}
.ot-nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#0b63ce;transform:scaleX(0)}
.ot-nav a:hover,.ot-nav a.active{color:#0b63ce}
.ot-nav a:hover:after,.ot-nav a.active:after{transform:scaleX(1)}
.ot-phone{font-size:21.3444px;font-weight:950;color:#0b63ce!important;white-space:nowrap;text-decoration:none}
.ot-header-spacer{height:74px}
@media(max-width:980px){.ot-header-inner{gap:17px}.ot-nav{gap:18px;font-size:13.2132px}.ot-phone{font-size:18.3876px}.ot-brand img{width:210px!important;max-width:210px!important}}
@media(max-width:720px){
 .ot-header-inner{min-height:126px;display:grid;grid-template-columns:1fr auto;grid-template-rows:72px 54px;gap:0 12px;padding:0 24px}
 .ot-brand img{width:225px!important;max-width:225px!important;height:66px!important}
 .ot-phone{font-size:21.3444px;justify-self:end}
 .ot-nav{grid-column:1/3;grid-row:2;width:100%;margin:0;gap:25px;overflow-x:auto;padding:0;scrollbar-width:none;font-size:15.246px}
 .ot-nav::-webkit-scrollbar{display:none}
 .ot-nav a{flex:0 0 auto;padding:16px 0 14px}
 .ot-header-spacer{height:126px}
}
@media(max-width:480px){
 .ot-header-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:68px 50px;min-height:118px;padding:0 16px}
 .ot-brand img{width:190px!important;max-width:190px!important;height:60px!important}
 .ot-phone{font-size:17.4636px}
 .ot-nav{gap:20px;font-size:13.2132px}
 .ot-nav a{padding:14px 0 12px}
 .ot-header-spacer{height:118px}
}



/* === POLICY FINAL CONTENT V16 START === */
.article h4{margin:16px 0 8px;font-size:14.2296px;color:#244f7f}
.article .subnote{padding:11px 13px;border-radius:10px;background:#f6f9fd;border:1px solid #e4ebf4;color:#4d6076}
.article .policy-table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:13.2132px}
.article .policy-table th,.article .policy-table td{border:1px solid #dce5ef;padding:10px 11px;vertical-align:top;text-align:left}
.article .policy-table th{background:#f5f8fc;color:#153967;font-weight:900}
.article .policy-table td{background:#fff}
.article .policy-strong{font-weight:900;color:#153967}
@media(max-width:720px){
 .article .policy-table{display:block;overflow-x:auto;white-space:normal;font-size:13.1208px}
 .article .policy-table th,.article .policy-table td{min-width:130px}
}
/* === POLICY FINAL CONTENT V16 END === */


/* === OT UNIFIED HEADER FINAL START === */

/* 공통 */
.site-header.ot-site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:#fff!important;
  border-bottom:1px solid #e8edf3!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
}
.site-header.ot-site-header,
.site-header.ot-site-header *{
  box-sizing:border-box!important;
}
.site-header .brand.ot-brand,
.site-header .nav.ot-nav,
.site-header .phone.ot-phone{
  text-decoration:none!important;
}
.site-header .brand.ot-brand img{
  display:block!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-header .nav.ot-nav a{
  position:relative!important;
  color:#122946!important;
  font-weight:800!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.site-header .nav.ot-nav a:hover,
.site-header .nav.ot-nav a.active{
  color:#0b63ce!important;
}
.site-header .nav.ot-nav a:after{
  content:""!important;
  position:absolute!important;
  background:#0b63ce!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
}
.site-header .nav.ot-nav a:hover:after,
.site-header .nav.ot-nav a.active:after{
  transform:scaleX(1)!important;
}
.site-header .phone.ot-phone{
  color:#0b63ce!important;
  font-weight:950!important;
  line-height:1!important;
  white-space:nowrap!important;
}
.header-spacer.ot-header-spacer{
  display:block!important;
  width:100%!important;
  background:#fff!important;
}

/* 1180px 이상: 메인 페이지와 동일한 PC 헤더 */
@media(min-width:1180px){
  .site-header.ot-site-header{
    height:68px!important;
    min-height:68px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:68px!important;
    min-height:68px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:235px 720px minmax(0,129px)!important;
    column-gap:24px!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    width:235px!important;
    min-width:235px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  .site-header .brand.ot-brand img{
    width:235px!important;
    max-width:235px!important;
    height:62px!important;
    max-height:62px!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:68px!important;
    min-height:68px!important;
    margin:0!important;
    padding:8px 0 0!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    gap:20px!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:center!important;
    height:60px!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
    font-size:17.4636px!important;
    line-height:1.1!important;
    letter-spacing:-.2px!important;
  }

  /* 파란 밑줄을 기존보다 위로 */
  .site-header .nav.ot-nav a:after{
    left:0!important;
    right:0!important;
    bottom:5px!important;
    height:3px!important;
  }

  .site-header .phone.ot-phone{
    grid-column:3!important;
    justify-self:end!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:21.3444px!important;
    text-align:right!important;
  }

  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }

  .header-spacer.ot-header-spacer{
    height:68px!important;
    min-height:68px!important;
  }
}

/* 768~1179px: 태블릿/가로보기 헤더 정렬 보정 */
@media(min-width:768px) and (max-width:1179px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    padding:0 clamp(12px,2.2vw,22px)!important;
    display:grid!important;
    grid-template-columns:minmax(170px,22vw) minmax(0,1fr) auto!important;
    column-gap:clamp(10px,1.5vw,18px)!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    width:min(215px,100%)!important;
    min-width:0!important;
    height:76px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  .site-header .brand.ot-brand img{
    width:min(215px,100%)!important;
    max-width:100%!important;
    height:58px!important;
    max-height:58px!important;
  }

  .site-header .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(6px,.9vw,14px)!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:76px!important;
    min-width:0!important;
    margin:0!important;
    padding:0 0 8px!important;
    flex:0 1 auto!important;
    font-size:clamp(11.088px,1.848vw,14.784px)!important;
    line-height:1.1!important;
    letter-spacing:-.35px!important;
    text-align:center!important;
  }

  .site-header .nav.ot-nav a:after{
    left:50%!important;
    right:auto!important;
    width:100%!important;
    max-width:100%!important;
    bottom:10px!important;
    height:3px!important;
    transform:translateX(-50%) scaleX(0)!important;
    transform-origin:center!important;
  }

  .site-header .nav.ot-nav a:hover:after,
  .site-header .nav.ot-nav a.active:after{
    transform:translateX(-50%) scaleX(1)!important;
  }

  .site-header .phone.ot-phone{
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(14.784px,2.376vw,19.404px)!important;
    align-self:center!important;
  }

  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }

  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
  }
}


@media(min-width:768px) and (max-width:1179px){
  .hero{margin-top:6px!important;}
}
/* 767px 이하: 이전 요청대로 모바일만 전체메뉴 */
@media(max-width:767px){
  .site-header.ot-site-header{
    height:72px!important;
    min-height:72px!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    margin:0!important;
    padding:0 10px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:72px!important;
    align-items:center!important;
    gap:6px!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:170px!important;
    min-width:0!important;
    max-width:170px!important;
    height:64px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }

  .site-header .brand.ot-brand img{
    width:170px!important;
    max-width:100%!important;
    height:56px!important;
    max-height:56px!important;
  }

  .site-header .nav.ot-nav{
    display:none!important;
  }

  .site-header .phone.ot-phone{
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:14.2296px!important;
  }

  #otFullMenuBtn{
    display:flex!important;
    grid-column:3!important;
    grid-row:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:48px!important;
    height:40px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #d5e2ef!important;
    border-radius:10px!important;
    background:#f5f8fc!important;
    color:#0b63ce!important;
    font-family:inherit!important;
    font-size:13.2132px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  .header-spacer.ot-header-spacer{
    height:72px!important;
    min-height:72px!important;
  }

  #otFullMenuBackdrop{
    display:none!important;
    position:fixed!important;
    z-index:9997!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    background:rgba(9,31,58,.42)!important;
  }
  #otFullMenuBackdrop.open{display:block!important}

  #otFullMenuPanel{
    display:block!important;
    position:fixed!important;
    z-index:9998!important;
    top:72px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 72px)!important;
    padding:18px 16px 22px!important;
    background:#fff!important;
    border-top:1px solid #e6edf5!important;
    box-shadow:0 14px 30px rgba(14,45,82,.18)!important;
    transform:translateY(-110%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .18s ease,opacity .18s ease,visibility .18s ease!important;
    overflow-y:auto!important;
  }
  #otFullMenuPanel.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .ot-full-menu-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0 0 14px!important;
    padding:0 2px 12px!important;
    border-bottom:1px solid #e7edf5!important;
  }
  .ot-full-menu-title{
    color:#16375e!important;
    font-size:17.4636px!important;
    font-weight:950!important;
  }
  .ot-full-menu-sub{
    color:#7f8fa2!important;
    font-size:12.012px!important;
    font-weight:700!important;
  }
  .ot-full-menu-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .ot-full-menu-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:52px!important;
    padding:10px 8px!important;
    border:1px solid #dce7f3!important;
    border-radius:10px!important;
    background:#f7faff!important;
    color:#17385f!important;
    font-size:14.2296px!important;
    font-weight:900!important;
    text-align:center!important;
    text-decoration:none!important;
  }
  .ot-full-menu-link.active{
    background:#0b63ce!important;
    border-color:#0b63ce!important;
    color:#fff!important;
  }

  body.ot-full-menu-open{overflow:hidden!important}

  /* 기존 모바일 메뉴가 있어도 충돌하지 않게 숨김 */
  .mobile-menu-backdrop,
  .mobile-menu-panel{
    display:none!important;
  }
}

@media(max-width:390px){
  .site-header .brand.ot-brand{
    width:150px!important;
    max-width:150px!important;
  }
  .site-header .brand.ot-brand img{
    width:150px!important;
  }
  .site-header .phone.ot-phone{
    font-size:12.7512px!important;
  }
  #otFullMenuBtn{
    width:45px!important;
    font-size:13.1208px!important;
  }
}
/* === OT UNIFIED HEADER FINAL END === */

/* ===== 2026-09-01 상단 헤더 완전 통일 =====
   모든 공개 페이지에서 데스크톱/모바일 헤더 높이, 로고 박스, 로고 이미지 크기를 동일하게 고정합니다. */
.site-header,.ot-site-header{
  position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;
  height:74px!important;min-height:74px!important;z-index:9999!important;
  background:#fff!important;border-bottom:1px solid #e8edf3!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;overflow:visible!important;
}
.header-inner,.ot-header-inner{
  width:100%!important;max-width:1180px!important;height:74px!important;min-height:74px!important;
  margin:0 auto!important;padding:0 24px!important;display:flex!important;align-items:center!important;
  gap:24px!important;box-sizing:border-box!important;
}
.brand,.ot-brand{
  flex:0 0 235px!important;width:235px!important;height:74px!important;min-width:235px!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  overflow:hidden!important;line-height:0!important;
}
.brand img,.ot-brand img{
  display:block!important;width:235px!important;height:62px!important;max-width:235px!important;max-height:62px!important;
  margin:0!important;padding:0!important;object-fit:contain!important;object-position:left center!important;
  transform:none!important;position:static!important;
}
.nav,.ot-nav{margin-left:auto!important;display:flex!important;align-items:center!important;gap:31px!important;font-size:15.246px!important;font-weight:800!important;white-space:nowrap!important}
.nav a,.ot-nav a{padding-top:28px!important;padding-bottom:25px!important}
.phone,.ot-phone{font-size:21.3444px!important;line-height:1!important;white-space:nowrap!important}
.header-spacer,.ot-header-spacer{height:74px!important;min-height:74px!important}
.mobile-menu-panel{top:74px!important}.mobile-menu-backdrop{inset:74px 0 0!important}

@media(max-width:980px) and (min-width:721px){
  .header-inner,.ot-header-inner{gap:17px!important}
  .brand,.ot-brand{flex-basis:210px!important;width:210px!important;min-width:210px!important}
  .brand img,.ot-brand img{width:210px!important;max-width:210px!important;height:62px!important;max-height:62px!important}
  .nav,.ot-nav{gap:18px!important;font-size:13.2132px!important}
  .phone,.ot-phone{font-size:18.3876px!important}
}

@media(max-width:720px){
  .site-header,.ot-site-header{height:126px!important;min-height:126px!important}
  .header-inner,.ot-header-inner{
    height:126px!important;min-height:126px!important;padding:0 24px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:72px 54px!important;gap:0 12px!important;
  }
  .brand,.ot-brand{grid-column:1!important;grid-row:1!important;width:225px!important;min-width:225px!important;height:72px!important;overflow:hidden!important}
  .brand img,.ot-brand img{width:225px!important;max-width:225px!important;height:66px!important;max-height:66px!important}
  .phone,.ot-phone{display:block!important;grid-column:2!important;grid-row:1!important;margin-left:0!important;justify-self:end!important;font-size:21.3444px!important}
  .nav,.ot-nav{
    display:flex!important;grid-column:1/3!important;grid-row:2!important;order:3!important;width:100%!important;
    margin:0!important;gap:25px!important;overflow-x:auto!important;white-space:nowrap!important;
    padding:0!important;font-size:15.246px!important;scrollbar-width:none!important;
  }
  .nav::-webkit-scrollbar,.ot-nav::-webkit-scrollbar{display:none!important}
  .nav a,.ot-nav a{flex:0 0 auto!important;padding:16px 0 14px!important}
  .header-spacer,.ot-header-spacer{height:126px!important;min-height:126px!important}
  .mobile-menu-panel{top:126px!important}.mobile-menu-backdrop{inset:126px 0 0!important}
}

@media(max-width:480px){
  .site-header,.ot-site-header{height:118px!important;min-height:118px!important}
  .header-inner,.ot-header-inner{height:118px!important;min-height:118px!important;grid-template-rows:68px 50px!important;padding:0 16px!important}
  .brand,.ot-brand{width:190px!important;min-width:190px!important;height:68px!important}
  .brand img,.ot-brand img{width:190px!important;max-width:190px!important;height:60px!important;max-height:60px!important}
  .phone,.ot-phone{font-size:17.4636px!important}
  .nav,.ot-nav{gap:20px!important;font-size:13.2132px!important}
  .nav a,.ot-nav a{padding:14px 0 12px!important}
  .header-spacer,.ot-header-spacer{height:118px!important;min-height:118px!important}
  .mobile-menu-panel{top:118px!important}.mobile-menu-backdrop{inset:118px 0 0!important}
}


/* ===== 2026-09-01 공개페이지 상단메뉴 완전 통일 ===== */
.site-header.ot-site-header{
  position:fixed!important;
  top:0!important;left:0!important;right:0!important;
  width:100%!important;
  height:74px!important;min-height:74px!important;
  z-index:9999!important;
  display:block!important;
  background:#fff!important;
  border-bottom:1px solid #e8edf3!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
  transform:none!important;
}
.header-inner.ot-header-inner{
  width:100%!important;
  max-width:1180px!important;
  height:74px!important;min-height:74px!important;
  margin:0 auto!important;
  padding:0 20px!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:0!important;
  box-sizing:border-box!important;
}
.brand.ot-brand{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex:0 0 235px!important;
  width:235px!important;
  min-width:235px!important;
  height:74px!important;
  line-height:0!important;
  overflow:hidden!important;
}
.brand.ot-brand img{
  display:block!important;
  width:235px!important;
  max-width:235px!important;
  height:62px!important;
  max-height:62px!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.nav.ot-nav{
  display:flex!important;
  align-items:center!important;
  flex:0 1 auto!important;
  min-width:0!important;
  margin-left:18px!important;
  margin-right:auto!important;
  gap:24px!important;
  padding:0!important;
  white-space:nowrap!important;
  overflow:visible!important;
  font-size:14.2296px!important;
  font-weight:800!important;
}
.nav.ot-nav a{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  padding:28px 0 25px!important;
  color:#122946!important;
  text-decoration:none!important;
  line-height:1.2!important;
}
.nav.ot-nav a:after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:3px!important;
  background:#0b63ce!important;
  transform:scaleX(0)!important;
  transform-origin:center!important;
}
.nav.ot-nav a:hover,.nav.ot-nav a.active{color:#0b63ce!important}
.nav.ot-nav a:hover:after,.nav.ot-nav a.active:after{transform:scaleX(1)!important}
.phone.ot-phone{
  display:block!important;
  flex:0 0 auto!important;
  margin-left:18px!important;
  font-size:20.4204px!important;
  font-weight:950!important;
  line-height:1!important;
  color:#0b63ce!important;
  white-space:nowrap!important;
  text-decoration:none!important;
}
.menu-btn.ot-menu-btn{display:none!important}
.header-spacer.ot-header-spacer{
  display:block!important;
  width:100%!important;
  height:74px!important;min-height:74px!important;
  background:#fff!important;
}

/* 메뉴 7개가 추가되어도 사라지지 않도록 단계적으로 간격만 축소 */
@media(max-width:1120px) and (min-width:981px){
  .header-inner.ot-header-inner{padding:0 16px!important}
  .brand.ot-brand{flex-basis:220px!important;width:220px!important;min-width:220px!important}
  .brand.ot-brand img{width:220px!important;max-width:220px!important}
  .nav.ot-nav{margin-left:10px!important;gap:17px!important;font-size:13.2132px!important}
  .phone.ot-phone{margin-left:12px!important;font-size:18.3876px!important}
}
@media(max-width:980px) and (min-width:721px){
  .header-inner.ot-header-inner{padding:0 14px!important}
  .brand.ot-brand{flex-basis:200px!important;width:200px!important;min-width:200px!important}
  .brand.ot-brand img{width:200px!important;max-width:200px!important;height:58px!important}
  .nav.ot-nav{margin-left:8px!important;gap:12px!important;font-size:13.1208px!important}
  .phone.ot-phone{margin-left:10px!important;font-size:16.5396px!important}
}

/* 휴대폰도 모든 페이지에서 동일한 2단 상단배너 */
@media(max-width:720px){
  .site-header.ot-site-header{
    height:126px!important;
    min-height:126px!important;
  }
  .header-inner.ot-header-inner{
    height:126px!important;
    min-height:126px!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:72px 54px!important;
    gap:0 12px!important;
  }
  .brand.ot-brand{
    grid-column:1!important;grid-row:1!important;
    width:225px!important;min-width:225px!important;height:72px!important;
  }
  .brand.ot-brand img{
    width:225px!important;max-width:225px!important;
    height:66px!important;max-height:66px!important;
  }
  .phone.ot-phone{
    grid-column:2!important;grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
    font-size:21.3444px!important;
  }
  .nav.ot-nav{
    grid-column:1/3!important;grid-row:2!important;
    width:100%!important;
    margin:0!important;
    gap:25px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    padding:0!important;
    font-size:15.246px!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }
  .nav.ot-nav::-webkit-scrollbar{display:none!important}
  .nav.ot-nav a{
    flex:0 0 auto!important;
    padding:16px 0 14px!important;
  }
  .header-spacer.ot-header-spacer{
    height:126px!important;min-height:126px!important;
  }
  .mobile-menu-panel,.mobile-menu-backdrop,.ot-mobile-panel,.ot-mobile-backdrop{display:none!important}
  body.menu-open,body.ot-menu-open{overflow:auto!important}
}
@media(max-width:480px){
  .site-header.ot-site-header{height:118px!important;min-height:118px!important}
  .header-inner.ot-header-inner{
    height:118px!important;min-height:118px!important;
    grid-template-rows:68px 50px!important;
    padding:0 16px!important;
  }
  .brand.ot-brand{
    width:190px!important;min-width:190px!important;height:68px!important;
  }
  .brand.ot-brand img{
    width:190px!important;max-width:190px!important;
    height:60px!important;max-height:60px!important;
  }
  .phone.ot-phone{font-size:17.4636px!important}
  .nav.ot-nav{gap:20px!important;font-size:13.2132px!important}
  .nav.ot-nav a{padding:14px 0 12px!important}
  .header-spacer.ot-header-spacer{height:118px!important;min-height:118px!important}
}


/* ===== PC 상단 배너 위치 고정 / 우측 정렬 최종 보정 ===== */
html{scrollbar-gutter:stable!important}

@media(min-width:981px){
  .site-header.ot-site-header{
    left:0!important;
    right:0!important;
    width:100%!important;
    height:74px!important;
    min-height:74px!important;
  }

  .header-inner.ot-header-inner{
    width:calc(100% - 40px)!important;
    max-width:1180px!important;
    min-width:0!important;
    height:74px!important;
    min-height:74px!important;
    margin:0 auto!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:235px minmax(0,1fr) 120px!important;
    column-gap:22px!important;
    align-items:center!important;
  }

  .brand.ot-brand{
    grid-column:1!important;
    width:235px!important;
    min-width:235px!important;
    height:74px!important;
    margin:0!important;
    justify-self:start!important;
  }

  .brand.ot-brand img{
    width:235px!important;
    max-width:235px!important;
    height:62px!important;
    max-height:62px!important;
  }

  .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;

    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:24px!important;

    overflow:visible!important;
    white-space:nowrap!important;
    font-size:14.2296px!important;
  }

  .nav.ot-nav a{
    flex:0 0 auto!important;
    margin:0!important;
  }

  .phone.ot-phone{
    grid-column:3!important;
    width:120px!important;
    min-width:120px!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    text-align:right!important;
    font-size:20.4204px!important;
  }
}

@media(max-width:1120px) and (min-width:981px){
  .header-inner.ot-header-inner{
    width:calc(100% - 28px)!important;
    grid-template-columns:210px minmax(0,1fr) 105px!important;
    column-gap:14px!important;
  }

  .brand.ot-brand{
    width:210px!important;
    min-width:210px!important;
  }

  .brand.ot-brand img{
    width:210px!important;
    max-width:210px!important;
  }

  .nav.ot-nav{
    gap:15px!important;
    font-size:12.7512px!important;
  }

  .phone.ot-phone{
    width:105px!important;
    min-width:105px!important;
    font-size:17.4636px!important;
  }
}

@media(max-width:980px) and (min-width:721px){
  .header-inner.ot-header-inner{
    width:calc(100% - 24px)!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:190px minmax(0,1fr) 96px!important;
    column-gap:10px!important;
    align-items:center!important;
  }

  .brand.ot-brand{
    grid-column:1!important;
    width:190px!important;
    min-width:190px!important;
    margin:0!important;
  }

  .brand.ot-brand img{
    width:190px!important;
    max-width:190px!important;
  }

  .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    justify-content:flex-end!important;
    gap:10px!important;
    font-size:12.5664px!important;
  }

  .phone.ot-phone{
    grid-column:3!important;
    width:96px!important;
    min-width:96px!important;
    margin:0!important;
    justify-self:end!important;
    text-align:right!important;
    font-size:16.2624px!important;
  }
}


/* ===== 홈페이지/관리자 제외 공개페이지 상단 배너 가운데 정렬 ===== */
@media(min-width:721px){
  .site-header.ot-site-header{
    left:0!important;
    right:0!important;
    width:100%!important;
  }

  .header-inner.ot-header-inner{
    width:calc(100% - 40px)!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:0!important;

    display:grid!important;
    grid-template-columns:235px minmax(0,1fr) 120px!important;
    column-gap:22px!important;
    align-items:center!important;
  }

  .brand.ot-brand{
    grid-column:1!important;
    justify-self:start!important;
    margin:0!important;
  }

  .nav.ot-nav{
    grid-column:2!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;

    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:24px!important;
  }

  .phone.ot-phone{
    grid-column:3!important;
    justify-self:end!important;
    margin:0!important;
    text-align:right!important;
  }
}

@media(max-width:1120px) and (min-width:981px){
  .header-inner.ot-header-inner{
    width:calc(100% - 28px)!important;
    grid-template-columns:210px minmax(0,1fr) 105px!important;
    column-gap:14px!important;
  }
  .nav.ot-nav{
    justify-content:center!important;
    gap:15px!important;
  }
}

@media(max-width:980px) and (min-width:721px){
  .header-inner.ot-header-inner{
    width:calc(100% - 24px)!important;
    grid-template-columns:190px minmax(0,1fr) 96px!important;
    column-gap:10px!important;
  }
  .nav.ot-nav{
    justify-content:center!important;
    gap:10px!important;
  }
}


/* ===== 홈페이지 메인 상단 기준으로 최종 통일 ===== */
@media(min-width:721px){
  .site-header.ot-site-header{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    width:100%!important;
    height:62px!important;
    min-height:62px!important;
    display:flex!important;
    align-items:center!important;
    background:#fff!important;
    border-bottom:1px solid #edf1f6!important;
    box-shadow:0 2px 10px rgba(8,39,84,.08)!important;
    z-index:9999!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1160px!important;
    height:62px!important;
    min-height:62px!important;
    margin:0 auto!important;
    padding:0 18px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:20px!important;
    box-sizing:border-box!important;
  }

  .site-header .brand.ot-brand{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    height:62px!important;
    margin:0!important;
  }

  .site-header .brand.ot-brand img{
    display:block!important;
    width:220px!important;
    max-width:220px!important;
    height:56px!important;
    max-height:56px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }

  .site-header .nav.ot-nav{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    margin-left:auto!important;
    margin-right:0!important;
    padding:0!important;
    gap:31px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    white-space:nowrap!important;
    font-size:14.2296px!important;
    font-weight:800!important;
  }

  .site-header .nav.ot-nav a{
    flex:0 0 auto!important;
    padding:21px 0 20px!important;
    margin:0!important;
    line-height:1.2!important;
  }

  .site-header .phone.ot-phone{
    display:block!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    justify-self:auto!important;
    text-align:left!important;
    font-size:20.4204px!important;
    font-weight:950!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  .header-spacer.ot-header-spacer{
    height:62px!important;
    min-height:62px!important;
  }
}

/* 1160 폭이 부족해질 때도 홈페이지 메인과 같은 방식으로만 축소 */
@media(max-width:950px) and (min-width:721px){
  .site-header .nav.ot-nav{
    gap:15px!important;
    font-size:13.1208px!important;
  }
  .site-header .phone.ot-phone{
    font-size:16.5396px!important;
  }
  .site-header .brand.ot-brand img{
    width:200px!important;
    max-width:200px!important;
  }
}

/* 모바일도 홈페이지 메인 헤더 규격 그대로 */
@media(max-width:720px){
  .site-header.ot-site-header{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    z-index:9999!important;
    background:#fff!important;
  }

  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1160px!important;
    margin:0 auto!important;
    padding:10px 14px 8px!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px 12px!important;
    box-sizing:border-box!important;
  }

  .site-header .brand.ot-brand{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
  }

  .site-header .brand.ot-brand img{
    width:190px!important;
    max-width:190px!important;
    height:50px!important;
    max-height:50px!important;
  }

  .site-header .phone.ot-phone{
    display:block!important;
    margin-left:auto!important;
    font-size:17.4636px!important;
    line-height:1!important;
  }

  .site-header .nav.ot-nav{
    display:flex!important;
    order:3!important;
    width:100%!important;
    margin:0!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    white-space:nowrap!important;
    padding:2px 0 0!important;
    font-size:13.2132px!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
  }

  .site-header .nav.ot-nav::-webkit-scrollbar{display:none!important}
  .site-header .nav.ot-nav a{
    padding:10px 0 12px!important;
    flex:0 0 auto!important;
  }

  .header-spacer.ot-header-spacer{
    height:104px!important;
    min-height:104px!important;
  }
}


/* === CONTRACT POLICY FORMAT V17 START === */
.legal-list{margin:8px 0 14px;padding-left:28px;font-size:13.2132px;line-height:1.8}
.legal-list li{margin:4px 0}
.article p{word-break:keep-all}
/* === CONTRACT POLICY FORMAT V17 END === */
/* === POLICY HEADER NAV REMOVAL V18 START === */
@media(min-width:721px){
  .site-header .phone.ot-phone{margin-left:auto!important}
}
@media(max-width:720px){
  .site-header.ot-site-header{height:68px!important;min-height:68px!important}
  .site-header .header-inner.ot-header-inner{height:68px!important;min-height:68px!important;padding:7px 14px!important;flex-wrap:nowrap!important}
  .site-header .brand.ot-brand img{height:50px!important;max-height:50px!important}
  .site-header .phone.ot-phone{margin-left:auto!important}
  .header-spacer.ot-header-spacer{height:68px!important;min-height:68px!important}
}
/* === POLICY HEADER NAV REMOVAL V18 END === */

/* === OT UNIFIED PUBLIC FOOTER V21 START === */
footer.ot-public-footer{margin:0!important;padding:0!important;background:linear-gradient(180deg,#0b376f 0%,#062654 100%)!important;color:#d8e5f4!important;text-align:left!important}
footer.ot-public-footer .ot-footer-inner{width:min(1210px,calc(100% - 32px))!important;margin:0 auto!important;padding:0!important}
footer.ot-public-footer .ot-footer-horizontal{min-height:62px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:20px!important;padding:10px 0 8px!important;border-bottom:1px solid rgba(255,255,255,.13)!important;white-space:nowrap!important}
footer.ot-public-footer .ot-footer-phone{flex:0 0 auto!important;color:#fff!important;font-size:17.4636px!important;font-weight:800!important;text-decoration:none!important}
footer.ot-public-footer .ot-footer-company,footer.ot-public-footer .ot-footer-quick,footer.ot-public-footer .ot-footer-service{min-width:0!important;display:flex!important;align-items:center!important;gap:7px!important;color:#cfdded!important;font-size:10.9032px!important;line-height:1.2!important;font-weight:400!important}
footer.ot-public-footer .ot-footer-company{flex:1 1 auto!important;justify-content:center!important;width:100%!important;max-width:900px!important;margin:0 auto!important;text-align:center!important}
footer.ot-public-footer .ot-footer-quick,footer.ot-public-footer .ot-footer-service{flex:0 0 auto!important}
footer.ot-public-footer .ot-footer-company b,footer.ot-public-footer .ot-footer-quick b,footer.ot-public-footer .ot-footer-service b{color:#fff!important;font-size:12.012px!important;font-weight:800!important;margin-right:2px!important}
footer.ot-public-footer .ot-footer-company span+span:before,footer.ot-public-footer .ot-footer-quick a+a:before,footer.ot-public-footer .ot-footer-service a+a:before{content:"·"!important;margin-right:7px!important;color:#738dab!important}
footer.ot-public-footer a{color:#dce8f5!important;text-decoration:none!important}footer.ot-public-footer a:hover{text-decoration:underline!important}
footer.ot-public-footer .ot-footer-bottom{min-height:30px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:18px!important;padding:5px 0 7px!important;color:#91a8c3!important;font-size:9.7944px!important;line-height:1.2!important;font-weight:400!important}
footer.ot-public-footer .ot-footer-policy{display:flex!important;align-items:center!important;gap:7px!important}footer.ot-public-footer .ot-footer-policy a{color:#c9d8e9!important;font-weight:400!important}
/* 메인 페이지와 동일: 회사정보만 노출 */
footer.ot-public-footer .ot-footer-phone,footer.ot-public-footer .ot-footer-quick,footer.ot-public-footer .ot-footer-service{display:none!important}
@media(max-width:1000px){footer.ot-public-footer .ot-footer-horizontal{white-space:normal!important;flex-wrap:wrap!important;gap:8px 16px!important;padding:10px 0!important}footer.ot-public-footer .ot-footer-company{flex:1 1 100%!important;order:4!important;flex-wrap:wrap!important}}
@media(max-width:650px){footer.ot-public-footer .ot-footer-inner{width:calc(100% - 24px)!important}footer.ot-public-footer .ot-footer-horizontal{justify-content:flex-start!important}footer.ot-public-footer .ot-footer-company{justify-content:center!important;flex-wrap:wrap!important;max-width:100%!important;padding:0 8px!important}footer.ot-public-footer .ot-footer-bottom{flex-direction:column!important;gap:4px!important;padding:7px 0 9px!important}}
/* === OT UNIFIED PUBLIC FOOTER V21 END === */


/* SOURCE: /assets/bundles/policy-callvan-styles-04.css */
@media(min-width:1180px){
  .site-header .nav.ot-nav{gap:14px!important;}
  .site-header .nav.ot-nav a{font-size:16.2624px!important;}
}
@media(min-width:768px) and (max-width:1179px){
  .site-header .nav.ot-nav{gap:clamp(4px,.55vw,9px)!important;}
  .site-header .nav.ot-nav a{font-size:clamp(10.164px,1.518vw,12.936px)!important;}
}


/* SOURCE: /assets/bundles/policy-callvan-styles-03.css */
/* V13.15: 고객 홈페이지 모바일 글자크기·정렬 통일 */
@media (max-width:767px){
  html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
  body{font-size:13.86px!important;line-height:1.6!important;letter-spacing:-.12px!important}

  /* 공용 헤더 */
  .site-header .phone,.site-header .ot-phone{font-size:17.094px!important;line-height:1.1!important;letter-spacing:.15px!important}
  .site-header .menu-btn,.site-header .ot-menu-btn{font-size:13.86px!important;line-height:1!important}
  #otFullMenuPanel .ot-full-menu-title{font-size:17.556px!important;line-height:1.3!important}
  #otFullMenuPanel .ot-full-menu-link,.mobile-menu-panel .mobile-menu-link{font-size:13.86px!important;line-height:1.35!important}

  /* 공용 페이지 제목 */
  .ot-common-hero-inner,.page-head,.section-head{text-align:left!important}
  .ot-common-title{font-size:23.1px!important;line-height:1.28!important;letter-spacing:-.45px!important;text-align:left!important;word-break:keep-all!important}
  .ot-common-sub{font-size:13.398px!important;line-height:1.65!important;letter-spacing:-.15px!important;text-align:left!important;word-break:keep-all!important}

  /* 본문 기본 계층 */
  main h1:not(.ot-common-title){line-height:1.3!important;word-break:keep-all!important}
  main h2,.section-title,.box-head h2,.box-head h3{font-size:19.404px!important;line-height:1.35!important;letter-spacing:-.35px!important;word-break:keep-all!important}
  main h3{font-size:17.094px!important;line-height:1.4!important;letter-spacing:-.25px!important;word-break:keep-all!important}
  main h4{font-size:15.708px!important;line-height:1.45!important;letter-spacing:-.2px!important;word-break:keep-all!important}
  main p,main li,main dd{font-size:13.398px!important;line-height:1.65!important;word-break:keep-all!important}
  main dt{font-size:13.86px!important;line-height:1.5!important}
  main small,.hint,.help,.helper,.field-help,.field-note,.sub-text,.caption{font-size:12.012px!important;line-height:1.55!important}

  /* 폼: 모바일 브라우저 자동 확대 방지 + 크기 통일 */
  main label,.field label,.form-field label,.booking-change-field label,.booking-change-section>label{font-size:13.86px!important;line-height:1.4!important;letter-spacing:-.15px!important}
  main input:not([type="checkbox"]):not([type="radio"]),
  main select,main textarea,
  #reserveForm .field input,#reserveForm .field select,#reserveForm .field textarea,
  .booking-change-body input,.booking-change-body select,.booking-change-body textarea{
    font-size:14.784px!important;line-height:1.35!important;letter-spacing:-.1px!important
  }
  main button,main .btn,main .button,main [class*="-btn"]{font-size:14.322px!important;line-height:1.25!important}

  /* 표·리스트는 본문보다 한 단계 작게 */
  main table th,main table td{font-size:12.474px!important;line-height:1.5!important;vertical-align:middle!important}

  /* 카드/안내문 정렬 */
  .info,.notice-copy,.guide-copy,.page-calc-note,.page-calc-warn,.calc-caption,.fare-policy-note p{
    font-size:12.936px!important;line-height:1.65!important;word-break:keep-all!important
  }

  /* 거리요금 계산기: 좁은 화면에서 제목이 세로로 찢어지는 현상 방지 */
  .route-address-field label{font-size:14.322px!important}
  .route-address-field input{font-size:14.784px!important;height:52px!important}
  .route-address-hint{font-size:12.012px!important;line-height:1.5!important}
  .route-suggest-name{font-size:13.86px!important;line-height:1.4!important}
  .route-suggest-address{font-size:12.012px!important;line-height:1.45!important}
  .route-kakao-guide{display:block!important;margin:8px 1px 12px!important;font-size:12.936px!important;line-height:1.62!important;text-align:left!important}
  .route-kakao-guide b{display:block!important;margin:0 0 4px!important;font-size:13.398px!important;line-height:1.4!important;white-space:normal!important;word-break:keep-all!important}
  .route-kakao-guide span{display:block!important;min-width:0!important;word-break:keep-all!important}
  .route-result-main{font-size:13.86px!important;line-height:1.4!important}
  .route-result-main strong{font-size:20.328px!important}
  .route-result-sub{font-size:12.936px!important;line-height:1.6!important}
  .calc-card h4{font-size:17.556px!important}
  .calc-card p{font-size:12.936px!important;line-height:1.6!important}
  .calc-rate-name{font-size:13.398px!important;line-height:1.45!important}
  .calc-rate-amount{font-size:15.246px!important}
  .calc-rate-kind,.calc-rate-toll,.calc-rate-surcharge{font-size:10.626px!important}
  .fare-estimate-notice{font-size:12.936px!important;line-height:1.6!important}

  /* 모바일 푸터 */
  footer.ot-public-footer .ot-footer-company,
  footer.ot-public-footer .ot-footer-quick,
  footer.ot-public-footer .ot-footer-service{font-size:11.088px!important;line-height:1.45!important;text-align:center!important}
  footer.ot-public-footer .ot-footer-company b,
  footer.ot-public-footer .ot-footer-quick b,
  footer.ot-public-footer .ot-footer-service b{font-size:12.012px!important}
  footer.ot-public-footer .ot-footer-bottom{font-size:10.164px!important;line-height:1.4!important;text-align:center!important}
}
@media (max-width:390px){
  body{font-size:13.398px!important}
  .site-header .phone,.site-header .ot-phone{font-size:15.708px!important}
  .site-header .menu-btn,.site-header .ot-menu-btn{font-size:13.398px!important}
  .ot-common-title{font-size:21.252px!important}
  .ot-common-sub{font-size:12.936px!important}
  main h2,.section-title,.box-head h2,.box-head h3{font-size:18.48px!important}
  main h3{font-size:16.632px!important}
  main p,main li,main dd{font-size:12.936px!important}
  main table th,main table td{font-size:12.012px!important}
}

/* V13.16: 모바일 한글 줄바꿈/세로 찢어짐 방지 공통 보정 */
@media (max-width:767px){
  html,body{
    word-break:keep-all!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
  }
  body :where(h1,h2,h3,h4,h5,h6,legend,label,button,.btn,.button,[class*="-btn"],th,dt,strong,b,.badge,[class*="badge"],.pill,[class*="pill"],.status,[class*="status"]){
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  body :where(h1,h2,h3,h4,h5,h6,.ot-common-title,.section-title,.box-head h2,.box-head h3){
    text-wrap:balance!important;
  }
  body :where(p,li,dd,.sub,.hint,.help,.helper,.field-help,.field-note,.caption,.info,.notice-copy,.guide-copy){
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }
  body :where(button,.btn,.button,[class*="-btn"],.badge,[class*="badge"],.pill,[class*="pill"],.status,[class*="status"],.site-header .phone,.site-header .ot-phone,.site-header .menu-btn,.site-header .ot-menu-btn){
    white-space:nowrap!important;
  }
  body :where(.grid,[class*="grid"],.row,[class*="row"],.item,[class*="item"],.card,[class*="card"],.field,[class*="field"]) > *{
    min-width:0!important;
  }
  main table th{
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  main table td{
    word-break:keep-all!important;
    hyphens:none!important;
  }
  /* 주소/경유지처럼 긴 실제 데이터는 박스 밖으로 튀지 않게 유지 */
  .waypoint-list-address,.route-waypoint-address,.route-suggest-address,.route-result-sub{
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
}


/* SOURCE: /assets/common-button-icons-v13-23.css */
/* One-Touch common button icons V13.22 */
.ot-icon-applied .ot-btn-icon{
  display:inline-flex;
  width:1.08em;
  height:1.08em;
  margin-right:.42em;
  vertical-align:-.16em;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  pointer-events:none;
}
.ot-icon-applied .ot-btn-icon svg{
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* V13.23 버튼 그룹 공백 없는 정렬 */
:where(
  .tabs,
  .member-tabs,
  .status-tabs,
  .home-quick-tabs,
  .home-quick-trip-toggle,
  .trip-type-buttons,
  .fare-method-options,
  .picket-options,
  .reservation-member-actions,
  .member-my-actions,
  .company-cta-actions,
  .notice-detail-actions,
  .board-actions,
  .phone-actions,
  .signup-actions,
  .portal-actions,
  .pin-change-actions,
  .receipt-actions,
  .booking-actions,
  .driver-registration-actions,
  .driver-license-review-actions,
  .driver-status-record-actions,
  .admin-booking-edit-actions,
  .admin-nav-buttons,
  .dashboard-quick-grid
){
  gap:0!important;
  column-gap:0!important;
  row-gap:0!important;
}
:where(
  .tabs,
  .member-tabs,
  .status-tabs,
  .home-quick-tabs,
  .home-quick-trip-toggle,
  .trip-type-buttons,
  .fare-method-options,
  .picket-options,
  .reservation-member-actions,
  .member-my-actions,
  .company-cta-actions,
  .notice-detail-actions,
  .board-actions,
  .phone-actions,
  .signup-actions,
  .portal-actions,
  .pin-change-actions,
  .receipt-actions,
  .booking-actions,
  .driver-registration-actions,
  .driver-license-review-actions,
  .driver-status-record-actions,
  .admin-booking-edit-actions,
  .admin-nav-buttons,
  .dashboard-quick-grid
) > :is(button,a,.btn){
  margin:0!important;
  min-width:0!important;
}

/* 예약조회 액션: 2열 + 행 사이 공백 0 */
.lookup-button-layout{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  margin-top:12px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  border:1px solid #d7e2ee!important;
  background:#fff!important;
}
.lookup-button-layout .btn{
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  margin:0!important;
  border-radius:0!important;
  border:0!important;
  border-right:1px solid #d7e2ee!important;
  border-bottom:1px solid #d7e2ee!important;
  box-shadow:none!important;
  text-align:center!important;
  justify-content:center!important;
}
.lookup-button-layout .btn:nth-child(2n){border-right:0!important}
.lookup-button-layout .booking-reuse-open{
  grid-column:1 / -1!important;
  border-right:0!important;
}
.lookup-button-layout .lookup-action-full{
  grid-column:1 / -1!important;
  border-right:0!important;
}
.lookup-button-layout .btn:nth-last-child(-n+2){border-bottom:0!important}
.lookup-button-layout .booking-reuse-open:last-child{border-bottom:0!important}
.lookup-button-layout .lookup-action-full:last-child{border-bottom:0!important}
.lookup-doc-actions,.lookup-booking-actions{display:contents!important}
@media(max-width:420px){
  .lookup-button-layout .btn{min-height:46px!important;padding-left:8px!important;padding-right:8px!important}
}


/* SOURCE: /assets/customer-responsive-font-fit-v13-62.css */
/* V13.62: customer-facing responsive typography fit (PC / tablet / mobile) */
:root{--ot-v1362-font-fit:1}
@media (min-width:1025px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:clamp(13px,.88vw,14px)!important;line-height:1.62!important}
  main :where(table th,table td){font-size:clamp(11.5px,.78vw,13px)!important;line-height:1.42!important}
  main :where(label,dt){font-size:clamp(13px,.86vw,14px)!important}
}
@media (min-width:768px) and (max-width:1024px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:12.8px!important;line-height:1.58!important}
  main :where(table th,table td){font-size:11.6px!important;line-height:1.38!important}
  main :where(label,dt){font-size:13px!important}
  .ot-common-title{font-size:25px!important;line-height:1.25!important}
  .ot-common-sub{font-size:13px!important;line-height:1.55!important}
}
@media (max-width:767px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:12.4px!important;line-height:1.56!important}
  main :where(table th,table td){font-size:11.2px!important;line-height:1.35!important}
  main :where(label,dt){font-size:12.8px!important;line-height:1.35!important}
  main h2,.section-title,.box-head h2,.box-head h3{font-size:18px!important;line-height:1.3!important}
  main h3{font-size:16px!important;line-height:1.34!important}
  main h4{font-size:14.6px!important;line-height:1.38!important}
  .ot-common-title{font-size:21.5px!important;line-height:1.24!important}
  .ot-common-sub{font-size:12.5px!important;line-height:1.52!important}
}
@media (max-width:390px){
  main :where(p,li,dd,.info,.notice-copy,.guide-copy,.field-help,.field-note,.caption){font-size:12px!important}
  main :where(table th,table td){font-size:10.8px!important}
  .ot-common-title{font-size:20.5px!important}
  .ot-common-sub{font-size:12.1px!important}
}


/* SOURCE: /assets/customer-header-responsive-v1384.css */
/* V13.84 CUSTOMER HEADER RESPONSIVE CONTRACT
   모든 고객 페이지가 동일한 헤더 규칙을 사용하도록 마지막에 로드합니다.
   - PC 1180px 이상: 전체 내비게이션
   - 태블릿/폴더블 1179px 이하: 로고 + 전화번호 + 메뉴 버튼
   - 모바일 767px 이하: 축소 헤더
*/

.site-header.ot-site-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:9999!important;
  background:#fff!important;
  border-bottom:1px solid #e7edf4!important;
  box-shadow:0 2px 10px rgba(8,39,84,.06)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
.site-header .header-inner.ot-header-inner,
.site-header .brand.ot-brand,
.site-header .brand.ot-brand img,
.site-header .nav.ot-nav,
.site-header .phone.ot-phone,
.site-header .menu-btn.ot-menu-btn,
.header-spacer.ot-header-spacer{
  box-sizing:border-box!important;
}

/* PC */
@media (min-width:1180px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:1180px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0 auto!important;
    padding:0 20px!important;
    display:grid!important;
    grid-template-columns:240px minmax(0,1fr) auto!important;
    grid-template-rows:76px!important;
    align-items:center!important;
    gap:16px!important;
  }
  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:240px!important;
    min-width:0!important;
    max-width:240px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }
  .site-header .brand.ot-brand img{
    width:240px!important;
    max-width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav.ot-nav{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:clamp(8px,1vw,14px)!important;
    overflow:visible!important;
    transform:none!important;
  }
  .site-header .nav.ot-nav a{
    flex:0 0 auto!important;
    min-width:0!important;
    white-space:nowrap!important;
    font-size:clamp(13.2px,1.05vw,15.4px)!important;
    line-height:1.15!important;
  }
  .site-header .phone.ot-phone{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(17px,1.45vw,20px)!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn,
  #otFullMenuBackdrop,
  #otFullMenuPanel{
    display:none!important;
  }
  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
}

/* 태블릿 / 펼친 폴더블 */
@media (max-width:1179px){
  .site-header.ot-site-header{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }
  .site-header .header-inner.ot-header-inner{
    width:100%!important;
    max-width:none!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    padding:0 16px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-rows:76px!important;
    align-items:center!important;
    gap:10px!important;
  }
  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:220px!important;
    min-width:0!important;
    max-width:220px!important;
    height:68px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    line-height:0!important;
  }
  .site-header .brand.ot-brand img{
    width:220px!important;
    max-width:100%!important;
    height:62px!important;
    max-height:62px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .site-header .nav.ot-nav{
    display:none!important;
  }
  .site-header .phone.ot-phone{
    display:block!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    font-size:18px!important;
    line-height:1!important;
    white-space:nowrap!important;
    transform:none!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{
    display:flex!important;
    grid-column:3!important;
    grid-row:1!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    min-width:54px!important;
    height:42px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #d5e2ef!important;
    border-radius:11px!important;
    background:#f5f8fc!important;
    color:#0b63ce!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }
  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
  }

  #otFullMenuBackdrop{
    display:none!important;
    position:fixed!important;
    z-index:9997!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    background:rgba(9,31,58,.42)!important;
  }
  #otFullMenuBackdrop.open{
    display:block!important;
  }
  #otFullMenuPanel{
    display:block!important;
    position:fixed!important;
    z-index:9998!important;
    top:76px!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    max-height:calc(100vh - 76px)!important;
    padding:18px 16px 22px!important;
    background:#fff!important;
    border-top:1px solid #e6edf5!important;
    box-shadow:0 14px 30px rgba(14,45,82,.18)!important;
    transform:translateY(-110%)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .18s ease,opacity .18s ease,visibility .18s ease!important;
    overflow-y:auto!important;
  }
  #otFullMenuPanel.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #otFullMenuPanel .ot-full-menu-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:9px!important;
  }
  #otFullMenuPanel .ot-full-menu-link{
    min-width:0!important;
    white-space:normal!important;
    word-break:keep-all!important;
  }
  body.ot-full-menu-open{
    overflow:hidden!important;
  }
}

/* 모바일 */
@media (max-width:767px){
  .site-header.ot-site-header{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
  }
  .site-header .header-inner.ot-header-inner{
    height:72px!important;
    min-height:72px!important;
    grid-template-rows:72px!important;
    padding:0 10px!important;
    gap:6px!important;
  }
  .site-header .brand.ot-brand{
    width:170px!important;
    max-width:170px!important;
    height:64px!important;
  }
  .site-header .brand.ot-brand img{
    width:170px!important;
    height:56px!important;
    max-height:56px!important;
  }
  .site-header .phone.ot-phone{
    font-size:14.2px!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{
    width:48px!important;
    min-width:48px!important;
    height:40px!important;
    font-size:13.2px!important;
  }
  .header-spacer.ot-header-spacer{
    height:72px!important;
    min-height:72px!important;
    max-height:72px!important;
  }
  #otFullMenuBackdrop{
    top:72px!important;
  }
  #otFullMenuPanel{
    top:72px!important;
    max-height:calc(100vh - 72px)!important;
  }
  #otFullMenuPanel .ot-full-menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* 좁은 모바일 */
@media (max-width:390px){
  .site-header .brand.ot-brand{
    width:150px!important;
    max-width:150px!important;
  }
  .site-header .brand.ot-brand img{
    width:150px!important;
  }
  .site-header .phone.ot-phone{
    font-size:12.7px!important;
  }
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{
    width:45px!important;
    min-width:45px!important;
    font-size:13px!important;
  }
}


/* V13.94 OVERLAP SAFE OVERRIDE: menu icon + label width is accounted for */
@media (max-width:1179px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 68px!important;gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .site-header .brand.ot-brand{width:220px!important;max-width:30vw!important;min-width:0!important}
  .site-header .brand.ot-brand img{width:100%!important;max-width:100%!important}
  .site-header .phone.ot-phone{min-width:0!important;max-width:180px!important;font-size:clamp(14px,2vw,18px)!important;letter-spacing:-.25px!important;overflow:hidden!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:68px!important;min-width:68px!important;max-width:68px!important;padding:0 7px!important;gap:5px!important;overflow:hidden!important}
}
@media (max-width:767px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 64px!important;padding:0 8px!important;gap:6px!important}
  .site-header .brand.ot-brand{width:170px!important;max-width:42vw!important;min-width:0!important}
  .site-header .brand.ot-brand img{width:100%!important;max-width:100%!important}
  .site-header .phone.ot-phone{max-width:30vw!important;font-size:clamp(11.5px,3.35vw,14.2px)!important;letter-spacing:-.45px!important;overflow:hidden!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:64px!important;min-width:64px!important;max-width:64px!important;padding:0 5px!important;gap:4px!important;font-size:12.6px!important;overflow:hidden!important}
}
@media (max-width:390px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 60px!important;padding:0 7px!important;gap:5px!important}
  .site-header .brand.ot-brand{width:150px!important;max-width:40vw!important}
  .site-header .phone.ot-phone{max-width:29vw!important;font-size:clamp(11px,3.2vw,12.5px)!important;letter-spacing:-.55px!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:60px!important;min-width:60px!important;max-width:60px!important;padding:0 4px!important;gap:3px!important;font-size:12px!important}
}


/* SOURCE: /assets/bundles/policy-callvan-styles-02.css */
/* V13.90 GLOBAL UI: button alignment, compact swipe, text clipping, menu list icon */
:root{--ot-ui-btn-h:40px;--ot-ui-btn-min:104px}
html,body{max-width:100%;overflow-x:hidden}
body :where(.card,.box,.item,.panel,.section,.wrap,.details,.content,[class*="-card"],[class*="-row"],[class*="-item"]){min-width:0}
body :where(h1,h2,h3,h4,p,label,.small,.sub,.meta,td,th){max-width:100%;overflow-wrap:anywhere;word-break:keep-all}
body :where(button,.btn,.button,a.btn,input[type="submit"],input[type="button"]){
  min-height:var(--ot-ui-btn-h);box-sizing:border-box;line-height:1.2;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;text-overflow:clip!important;
  display:inline-flex;align-items:center;justify-content:center;text-align:center;
}
body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions,.driver-row-actions,.driver-registration-actions,.ride-operation-actions,.pin-change-actions,.driver-license-review-actions,.driver-qualification-actions,.commission-status-actions){
  display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:8px!important;
}
body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions,.driver-row-actions,.driver-registration-actions,.ride-operation-actions,.pin-change-actions,.driver-license-review-actions,.driver-qualification-actions,.commission-status-actions) > :where(button,.btn,a.btn){
  min-width:var(--ot-ui-btn-min);min-height:var(--ot-ui-btn-h);margin:0!important;
}
/* menu list icon */
.ot-menu-list-icon{width:18px;height:18px;display:inline-flex;flex:0 0 18px;align-items:center;justify-content:center}
.ot-menu-list-icon svg{width:18px;height:18px;display:block}
#otFullMenuBtn,.menu-btn.ot-menu-btn{gap:6px!important;align-items:center!important;justify-content:center!important}
#adminMenuToggle .ot-menu-list-icon{width:22px;height:22px;flex-basis:22px}
#adminMenuToggle .ot-menu-list-icon svg{width:22px;height:22px}
/* compact horizontal swipe/data tables */
body :where([class*="table-wrap"],.policy-table,.admin-data-table,.ops-list){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:thin}
body table{max-width:100%}
@media(max-width:900px){
  body table{font-size:11px!important;line-height:1.35!important}
  body table :where(th,td){padding:6px 5px!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:keep-all!important}
  body :where([class*="table-wrap"],.policy-table) table{min-width:620px!important}
  body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions,.driver-row-actions,.driver-registration-actions,.ride-operation-actions,.pin-change-actions,.driver-license-review-actions,.driver-qualification-actions,.commission-status-actions) > :where(button,.btn,a.btn){
    flex:1 1 calc(50% - 4px)!important;min-width:0!important;max-width:none!important
  }
}
@media(max-width:480px){
  :root{--ot-ui-btn-h:42px}
  body :where(h1,h2,h3,h4,p,label,.small,.sub,.meta,td,th){overflow-wrap:anywhere!important}
}

/* V13.93 CUSTOMER MENU FIX: final mobile override */
@media(max-width:767px){
  .site-header .nav.ot-nav{display:none!important;}
  .site-header .menu-btn.ot-menu-btn,
  #otFullMenuBtn{display:flex!important;}
  #otFullMenuBackdrop{display:none!important;}
  #otFullMenuBackdrop.open{display:block!important;}
  #otFullMenuPanel{display:block!important;}
  #otFullMenuPanel.open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* V13.94: final overlap / clipping guard for public pages */
html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
body :where(main,section,article,.wrap,.container,.card,.box,.panel,.row,.grid,[class*="-card"],[class*="-row"],[class*="-grid"]){min-width:0;max-width:100%}
body :where(img,video,canvas,iframe){max-width:100%;height:auto}
body :where(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
body :where(button,.btn,.button,a.btn,input[type="submit"],input[type="button"]){max-width:100%;min-width:0;overflow:hidden!important;overflow-wrap:anywhere!important}

/* tablet/fold: reserve real width for icon + menu label */
@media(max-width:1179px){
  .site-header .header-inner.ot-header-inner{
    grid-template-columns:minmax(0,1fr) auto 68px!important;
    padding-left:12px!important;padding-right:12px!important;gap:8px!important;
    overflow:visible!important;
  }
  .site-header .brand.ot-brand{width:220px!important;max-width:30vw!important;min-width:0!important;overflow:hidden!important}
  .site-header .brand.ot-brand img{width:100%!important;max-width:100%!important}
  .site-header .phone.ot-phone{
    min-width:0!important;max-width:180px!important;
    font-size:clamp(14px,2vw,18px)!important;letter-spacing:-.25px!important;
    overflow:hidden!important;text-overflow:clip!important;white-space:nowrap!important;
  }
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{
    width:68px!important;min-width:68px!important;max-width:68px!important;
    padding:0 7px!important;gap:5px!important;overflow:hidden!important;white-space:nowrap!important;
  }
}

/* phone: logo / phone / menu must always fit in one row */
@media(max-width:767px){
  .site-header.ot-site-header{height:72px!important;min-height:72px!important;max-height:72px!important;overflow:visible!important}
  .site-header .header-inner.ot-header-inner{
    width:100%!important;height:72px!important;min-height:72px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto 64px!important;grid-template-rows:72px!important;
    align-items:center!important;padding:0 8px!important;gap:6px!important;overflow:visible!important;
  }
  .site-header .brand.ot-brand{
    grid-column:1!important;grid-row:1!important;width:170px!important;max-width:42vw!important;min-width:0!important;height:64px!important;
    overflow:hidden!important;
  }
  .site-header .brand.ot-brand img{display:block!important;width:100%!important;max-width:100%!important;height:56px!important;max-height:56px!important;object-fit:contain!important;object-position:left center!important}
  .site-header .phone.ot-phone{
    grid-column:2!important;grid-row:1!important;justify-self:end!important;
    min-width:0!important;max-width:30vw!important;margin:0!important;padding:0!important;
    font-size:clamp(11.5px,3.35vw,14.2px)!important;letter-spacing:-.45px!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
  }
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{
    grid-column:3!important;grid-row:1!important;justify-self:end!important;
    width:64px!important;min-width:64px!important;max-width:64px!important;height:40px!important;
    padding:0 5px!important;gap:4px!important;font-size:12.6px!important;line-height:1!important;
    white-space:nowrap!important;overflow:hidden!important;
  }
  #otFullMenuBtn .ot-menu-list-icon,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon{width:16px!important;height:16px!important;flex:0 0 16px!important}
  #otFullMenuBtn .ot-menu-list-icon svg,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon svg{width:16px!important;height:16px!important}
  #otFullMenuPanel{
    left:0!important;right:0!important;width:100%!important;max-width:100vw!important;box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #otFullMenuPanel .ot-full-menu-grid{width:100%!important;max-width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #otFullMenuPanel .ot-full-menu-link{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important}
  .header-spacer.ot-header-spacer{height:72px!important;min-height:72px!important;max-height:72px!important}

  body :where(.actions,.booking-actions,.signup-actions,.portal-actions,.home-member-actions,.form-actions) > :where(button,.btn,a.btn){
    height:auto!important;min-height:42px!important;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  }
}

@media(max-width:390px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 60px!important;padding:0 7px!important;gap:5px!important}
  .site-header .brand.ot-brand{width:150px!important;max-width:40vw!important}
  .site-header .phone.ot-phone{max-width:29vw!important;font-size:clamp(11px,3.2vw,12.5px)!important;letter-spacing:-.55px!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:60px!important;min-width:60px!important;max-width:60px!important;padding:0 4px!important;gap:3px!important;font-size:12px!important}
  #otFullMenuBtn .ot-menu-list-icon,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon{width:15px!important;height:15px!important;flex-basis:15px!important}
  #otFullMenuBtn .ot-menu-list-icon svg,.site-header .menu-btn.ot-menu-btn .ot-menu-list-icon svg{width:15px!important;height:15px!important}
}

@media(max-width:340px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 58px!important;padding:0 6px!important;gap:4px!important}
  .site-header .brand.ot-brand{width:128px!important;max-width:39vw!important}
  .site-header .phone.ot-phone{max-width:30vw!important;font-size:10.6px!important;letter-spacing:-.65px!important}
  .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:58px!important;min-width:58px!important;max-width:58px!important;font-size:11.5px!important}
}

/* V13.95 CUSTOMER MENU HARD FIX - one button / one handler */
#otFullMenuBtn{position:relative!important;z-index:10002!important;pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important}
#otFullMenuBtn .ot-menu-list-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 17px!important;width:17px!important;height:17px!important}
#otFullMenuBtn .ot-menu-list-icon svg{display:block!important;width:17px!important;height:17px!important}
#otFullMenuBtn .ot-menu-label{display:inline-block!important;white-space:nowrap!important}
@media(max-width:767px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 72px!important;padding:0 8px!important;gap:5px!important}
  .site-header .brand.ot-brand{width:154px!important;max-width:43vw!important}
  .site-header .phone.ot-phone{max-width:31vw!important;font-size:clamp(11.5px,3.2vw,13.8px)!important;letter-spacing:-.55px!important}
  #otFullMenuBtn{display:inline-flex!important;width:72px!important;min-width:72px!important;max-width:72px!important;height:42px!important;padding:0 7px!important;gap:5px!important;overflow:hidden!important}
  #otFullMenuPanel{display:block!important;box-sizing:border-box!important;left:0!important;right:0!important;width:100%!important;max-width:100vw!important}
  #otFullMenuBackdrop{display:none!important}
  #otFullMenuBackdrop.open{display:block!important}
  #otFullMenuPanel:not(.open){transform:translateY(-110%)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important}
  #otFullMenuPanel.open{transform:translateY(0)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
}
@media(max-width:390px){
  .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 68px!important;gap:4px!important}
  .site-header .brand.ot-brand{width:142px!important;max-width:40vw!important}
  .site-header .phone.ot-phone{max-width:30vw!important;font-size:11.5px!important}
  #otFullMenuBtn{width:68px!important;min-width:68px!important;max-width:68px!important;padding:0 5px!important;gap:4px!important;font-size:12px!important}
}
@media(max-width:340px){
  .site-header .brand.ot-brand{width:124px!important;max-width:38vw!important}
  .site-header .phone.ot-phone{font-size:10.5px!important;max-width:29vw!important}
  #otFullMenuBtn{width:66px!important;min-width:66px!important;max-width:66px!important}
}

/* V13.95b: hide stray raw menu glyphs, keep only canonical icon + label */
#otFullMenuBtn{font-size:0!important}
#otFullMenuBtn .ot-menu-list-icon{font-size:0!important}
#otFullMenuBtn .ot-menu-label{font-size:12.6px!important;line-height:1!important}
@media(max-width:390px){#otFullMenuBtn .ot-menu-label{font-size:12px!important}}


/* SOURCE: /assets/bundles/policy-callvan-styles-01.css */
/* V16.6.2 SERVICE SPLIT: TAXI / CALLVAN / CHARTER BUS */
.booking-service-category{margin:2px 0 8px}
.booking-service-category-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.booking-service-category-btn{min-height:58px;border:1px solid #cfdbe8;background:#fff;border-radius:12px;padding:9px 10px;color:#29445f;font-weight:850;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}
.booking-service-category-btn small{font-size:10px;font-weight:650;color:#6c7f92;line-height:1.35}
.booking-service-category-btn.on{border-color:#0b63ce;background:#eef6ff;color:#0b63ce;box-shadow:0 0 0 2px rgba(11,99,206,.08)}
.booking-service-category-note{margin-top:8px;border-radius:10px;background:#f7f9fc;border:1px solid #e1e8ef;padding:9px 11px;font-size:11px;line-height:1.55;color:#526b83}
.service-terms-apply{border:1px solid #cddbeb;background:#f7fbff;border-radius:12px;padding:12px 14px;margin:0 0 12px;display:flex;justify-content:space-between;gap:12px;align-items:center}
.service-terms-apply b{display:block;color:#163b63;margin-bottom:3px}.service-terms-apply span{font-size:11px;line-height:1.5;color:#62788f}.service-terms-apply a{white-space:nowrap;font-weight:850;color:#0b63ce;text-decoration:none}
.service-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 20px}.service-policy-card{border:1px solid #d6e1ec;border-radius:14px;background:#fff;padding:16px;text-decoration:none;color:#173b65;box-shadow:0 6px 18px rgba(30,65,100,.05)}.service-policy-card b{display:block;font-size:16px;margin-bottom:6px}.service-policy-card span{display:block;font-size:11px;line-height:1.55;color:#64788d}.service-policy-card strong{display:inline-block;margin-top:10px;color:#0b63ce;font-size:11px}
.service-policy-summary{border-left:4px solid #0b63ce;background:#f5f9fe;padding:12px 14px;border-radius:10px;margin:12px 0 18px;line-height:1.7;color:#405b76}
.service-policy-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#e9f3ff;color:#0b63ce;font-size:10px;font-weight:900;margin-right:6px}
@media(max-width:720px){.booking-service-category-options,.service-policy-grid{grid-template-columns:1fr}.service-terms-apply{align-items:flex-start;flex-direction:column}.service-terms-apply a{white-space:normal}.booking-service-category-btn{min-height:50px}}


/* SOURCE: /assets/customer-i18n-v1687.css */
/* V16.7.7 customer code-based multilingual UI */
.ot-customer-lang{position:relative;z-index:10020;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.ot-lang-btn{width:40px;height:40px;border:1px solid #d5e2ef;border-radius:12px;background:#fff;color:#0b63ce;display:flex;align-items:center;justify-content:center;gap:2px;padding:0 3px;cursor:pointer;box-shadow:0 2px 8px rgba(8,39,84,.08);font-family:inherit;box-sizing:border-box}
.ot-lang-btn:hover,.ot-lang-btn:focus-visible,.ot-customer-lang.open .ot-lang-btn{background:#eef6ff;border-color:#9fc6ee;outline:none}
.ot-lang-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ot-lang-code{font-size:8.5px;font-weight:900;line-height:1;letter-spacing:-.2px;min-width:12px;text-align:center}
.ot-lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:142px;padding:7px;background:#fff;border:1px solid #dbe6f0;border-radius:12px;box-shadow:0 14px 34px rgba(8,39,84,.18);z-index:10030}
.ot-lang-menu[hidden]{display:none!important}
.ot-lang-menu button{display:block;width:100%;border:0;background:transparent;color:#16324f;text-align:left;padding:10px 12px;border-radius:8px;font-family:inherit;font-size:14px;font-weight:800;line-height:1.2;cursor:pointer;white-space:nowrap}
.ot-lang-menu button:hover,.ot-lang-menu button:focus-visible{background:#f1f7fd;outline:none}
.ot-lang-menu button.active{background:#e8f3ff;color:#075eb9}
.ot-lang-floating{position:fixed!important;top:12px;right:12px;z-index:12000!important}

/* Add the globe as a first-class header control without overlapping phone/menu. */
@media (min-width:1180px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:240px minmax(0,1fr) 42px auto!important;gap:12px!important}
 .site-header .nav.ot-nav{grid-column:2!important}
 .site-header .ot-customer-lang{grid-column:3!important;grid-row:1!important;justify-self:end!important}
 .site-header .phone.ot-phone{grid-column:4!important}
 body.ot-lang-foreign .site-header .header-inner.ot-header-inner{grid-template-columns:205px minmax(0,1fr) 40px auto!important;gap:9px!important}
 body.ot-lang-foreign .site-header .brand.ot-brand{width:205px!important;max-width:205px!important}
 body.ot-lang-foreign .site-header .brand.ot-brand img{width:205px!important}
 body.ot-lang-foreign .site-header .nav.ot-nav{gap:clamp(5px,.65vw,9px)!important}
 body.ot-lang-foreign .site-header .nav.ot-nav a{font-size:clamp(11.5px,.91vw,13.2px)!important;letter-spacing:-.25px!important}
 body.ot-lang-foreign .site-header .phone.ot-phone{font-size:clamp(15px,1.2vw,18px)!important}
}
@media (max-width:1179px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 42px 68px!important;gap:7px!important}
 .site-header .phone.ot-phone{grid-column:2!important}
 .site-header .ot-customer-lang{grid-column:3!important;grid-row:1!important;justify-self:center!important}
 .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{grid-column:4!important}
}
@media (max-width:767px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 36px 60px!important;gap:5px!important;padding-left:8px!important;padding-right:8px!important}
 .site-header .brand.ot-brand{max-width:38vw!important}
 .site-header .phone.ot-phone{max-width:25vw!important;font-size:clamp(10.8px,3vw,13.4px)!important}
 .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:60px!important;min-width:60px!important;max-width:60px!important;font-size:11.8px!important}
 .ot-lang-btn{width:36px;height:36px;border-radius:10px;padding:0}
 .ot-lang-btn svg{width:21px;height:21px}
 .ot-lang-code{display:none}
 .ot-lang-menu{right:-64px;top:calc(100% + 7px);min-width:132px}
 .ot-lang-menu button{font-size:13.5px;padding:10px}
}
@media (max-width:390px){
 .site-header .header-inner.ot-header-inner{grid-template-columns:minmax(0,1fr) auto 34px 56px!important;gap:4px!important;padding-left:7px!important;padding-right:7px!important}
 .site-header .brand.ot-brand{width:145px!important;max-width:38vw!important}
 .site-header .phone.ot-phone{max-width:23vw!important;font-size:clamp(10px,2.8vw,11.8px)!important;letter-spacing:-.6px!important}
 .site-header .menu-btn.ot-menu-btn,#otFullMenuBtn{width:56px!important;min-width:56px!important;max-width:56px!important;padding:0 3px!important;font-size:11px!important}
 .ot-lang-btn{width:34px;height:34px}
 .ot-lang-btn svg{width:20px;height:20px}
}
/* Longer translated copy should wrap naturally instead of clipping. */
body.ot-lang-foreign button,body.ot-lang-foreign a,body.ot-lang-foreign label,body.ot-lang-foreign .card,body.ot-lang-foreign .notice,body.ot-lang-foreign .legal-box{word-break:normal;overflow-wrap:anywhere}
body.ot-lang-ja,body.ot-lang-zh{line-break:strict}


/* === V16.8.5 REPEATED LANGUAGE SWITCH + MOBILE FOREIGN LAYOUT === */
@media(max-width:720px){
  body.ot-lang-foreign #quick-service .home-quick-trip-toggle{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn{
    min-width:0!important;
    height:auto!important;
    min-height:48px!important;
    padding:8px 7px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-height:1.25!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(3){
    border-left:0!important;
    border-top:1px solid #0b63ce!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(4){
    border-top:1px solid #0b63ce!important;
  }
  body.ot-lang-en #quick-service .home-quick-copy p,
  body.ot-lang-en #quick-service .home-quick-copy h3{
    word-break:normal!important;
    overflow-wrap:break-word!important;
    writing-mode:horizontal-tb!important;
  }
}
/* === V16.8.5 END === */

/* === V16.8.7 FOREIGN-LANGUAGE MOBILE FIT / NO CLIP === */
@media (max-width:720px){
  /* Home quick reservation buttons: long English/Japanese/Chinese labels use a stable 2x2 grid. */
  body.ot-lang-foreign #quick-service .home-quick-trip-toggle{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn{
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    min-height:54px!important;
    padding:8px 8px!important;
    border-left:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.22!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(even){
    border-left:1px solid #0b63ce!important;
  }
  body.ot-lang-foreign #quick-service .home-quick-trip-btn:nth-child(n+3){
    border-top:1px solid #0b63ce!important;
  }

  /* My Page benefit pills: allow translated copy to wrap inside each cell. */
  body.ot-lang-foreign #member-service .home-member-benefits{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;
    align-items:stretch!important;
  }
  body.ot-lang-foreign #member-service .home-member-benefits span{
    min-width:0!important;
    min-height:48px!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:6px 4px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Reservation trip-type controls: never let translated labels force horizontal overflow. */
  body.ot-lang-foreign #reserveForm .trip-type-buttons{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ot-lang-foreign #reserveForm .trip-type-btn{
    min-width:0!important;
    width:100%!important;
    height:auto!important;
    min-height:52px!important;
    padding:8px 8px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
    text-align:center!important;
    box-sizing:border-box!important;
  }

  /* Verification button: stack below phone field on translated mobile layouts. */
  body.ot-lang-foreign #reserveForm .phone-auth-line{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }
  body.ot-lang-foreign #reserveForm .phone-auth-line > *{
    min-width:0!important;
    max-width:100%!important;
  }
  body.ot-lang-foreign #reserveForm .phone-auth-btn{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:46px!important;
    padding:9px 10px!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
  }

  /* Fare-method cards: descriptions must wrap inside the card, never extend past it. */
  body.ot-lang-foreign #reserveForm .fare-method-options,
  body.ot-lang-foreign #reserveForm .fare-method-option,
  body.ot-lang-foreign #reserveForm .fare-method-title,
  body.ot-lang-foreign #reserveForm .fare-method-option small{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  body.ot-lang-foreign #reserveForm .fare-method-option{
    overflow:hidden!important;
  }
  body.ot-lang-foreign #reserveForm .fare-method-title{
    flex-wrap:wrap!important;
  }
  body.ot-lang-foreign #reserveForm .fare-method-option small{
    padding-left:0!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.45!important;
  }

  /* General translated form/card safety. */
  body.ot-lang-foreign #reserveView,
  body.ot-lang-foreign #reserveForm,
  body.ot-lang-foreign #reserveForm .field,
  body.ot-lang-foreign #reserveForm .reservation-fare-panel,
  body.ot-lang-foreign #reserveForm .intercity-distance-panel,
  body.ot-lang-foreign #reserveForm .charter-panel,
  body.ot-lang-foreign #reserveForm .departure-flight-panel{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
}

@media (max-width:420px){
  body.ot-lang-en #quick-service .home-quick-trip-btn{
    font-size:11.4px!important;
  }
  body.ot-lang-en #member-service .home-member-benefits span{
    font-size:9.3px!important;
  }
  body.ot-lang-en #reserveForm .fare-method-option small{
    font-size:10.2px!important;
  }
}
/* === V16.8.7 END === */


/* SOURCE: /assets/global-button-size-v16980.css */
/* V16.9.8.0 - Global action button size normalization
   Standardizes action-button height, typography, padding and radius across customer, driver, partner and admin pages.
   Navigation tabs, language buttons, icon-only close/menu controls and FAQ toggles intentionally keep their specialized layout. */
:root{
  --ot-action-btn-height:44px;
  --ot-action-btn-pad-x:16px;
  --ot-action-btn-font-size:13.5px;
  --ot-action-btn-radius:10px;
}

:where(
  button.btn,
  a.btn,
  input.btn,
  .phone-auth-btn,
  .member-primary,
  .member-secondary,
  .search-btn,
  .driver-order-refresh,
  button.primary,
  button.secondary,
  input[type="submit"].primary,
  input[type="button"].primary
){
  box-sizing:border-box!important;
  height:var(--ot-action-btn-height)!important;
  min-height:var(--ot-action-btn-height)!important;
  max-height:var(--ot-action-btn-height)!important;
  padding:0 var(--ot-action-btn-pad-x)!important;
  border-radius:var(--ot-action-btn-radius)!important;
  font-size:var(--ot-action-btn-font-size)!important;
  line-height:1.15!important;
  font-weight:800!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  text-align:center!important;
  vertical-align:middle!important;
}

/* Preserve full/block-width behavior while keeping the same 44px height. */
:where(.btn.full,.btn.block,.member-primary,.search-btn)[style*="width:100%"],
:where(button.btn,a.btn,input.btn).full,
:where(button.btn,a.btn,input.btn).block{
  width:100%!important;
}

/* Action groups use the same vertical rhythm on all pages. */
:where(
  .actions,
  .form-actions,
  .signup-actions,
  .portal-actions,
  .pin-change-actions,
  .booking-actions,
  .driver-row-actions,
  .driver-registration-actions,
  .ride-operation-actions,
  .driver-license-review-actions,
  .driver-qualification-actions,
  .b2b-actions,
  .b2b-account-actions
){
  align-items:center!important;
}

/* Mobile keeps the exact same action-button height for consistency and touchability. */
@media(max-width:767px){
  :root{
    --ot-action-btn-height:44px;
    --ot-action-btn-pad-x:14px;
    --ot-action-btn-font-size:13px;
  }
}


/* SOURCE: /assets/mobile-tablet-ui-v161030.css */
/* V16.10.27 - mobile/tablet typography + equal action buttons.
   Desktop (>1024px) remains untouched.
   Font weights are NOT overridden here: original page/component emphasis is restored. */
@media screen and (max-width:1024px){
  :root{
    --ot-action-btn-min-height:38px;
    --ot-action-btn-pad-x:10px;
    --ot-action-btn-font-size:8.60625px; /* V16.10.25 10.125px × 0.85 */
    --ot-mobile-control-gap:8px;
  }

  /* Copy/forms: additional 15% reduction from V16.10.25. Keep original font-weight. */
  body :where(p,li,dd,dt,label,caption,.note,.desc,.description,.help,.hint,.caption,.status,.guide,.subtext,.meta,.copy){
    font-size:clamp(8.5px,.6375em,13.6px)!important;
  }
  body :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    font-size:10.2px!important;
  }

  /* Buttons: additional 15% reduction. Do not override component weight. */
  body :where(
    button:not(.ot-lang-btn):not(.ot-menu-btn):not(.menu-btn):not(.admin-menu-toggle):not([class*="close"]),
    a.btn,
    input[type="submit"],
    input[type="button"]
  ){
    box-sizing:border-box!important;
    font-size:var(--ot-action-btn-font-size)!important;
    line-height:1.2!important;
  }

  /* Known same-row action groups: equal sizing + small gap. */
  body :where(
    .actions,.form-actions,.signup-actions,.portal-actions,.pin-change-actions,.booking-actions,
    .driver-row-actions,.driver-registration-actions,.ride-operation-actions,.driver-license-review-actions,
    .driver-qualification-actions,.b2b-actions,.b2b-account-actions,.fare-mode,.quick,.vehicle-fare-tabs,
    .trip-type-buttons,.booking-service-category-buttons,.member-actions,.member-tabs,.status-tabs,
    .booking-main-tabs,.ride-stage-filters,.analytics-presets,.admin-nav-buttons,.modal-actions,.button-row,
    .btn-row,.action-row,.departure-plan-actions,.phone-auth-line
  ){
    gap:var(--ot-mobile-control-gap)!important;
  }
  body :where(
    .actions,.form-actions,.signup-actions,.portal-actions,.pin-change-actions,.booking-actions,
    .driver-row-actions,.driver-registration-actions,.ride-operation-actions,.driver-license-review-actions,
    .driver-qualification-actions,.b2b-actions,.b2b-account-actions,.fare-mode,.quick,.vehicle-fare-tabs,
    .trip-type-buttons,.booking-service-category-buttons,.member-actions,.member-tabs,.status-tabs,
    .booking-main-tabs,.ride-stage-filters,.analytics-presets,.modal-actions,.button-row,.btn-row,.action-row,
    .departure-plan-actions
  ) > :where(button,a.btn,input[type="submit"],input[type="button"]){
    flex:1 1 0!important;
    min-width:0!important;
    min-height:var(--ot-action-btn-min-height)!important;
    height:auto!important;
    padding:7px var(--ot-action-btn-pad-x)!important;
    box-sizing:border-box!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
  }

  /* Reservation login bar: My Page / Logout must be exactly the same size. */
  .reservation-member-actions{
    display:flex!important;
    align-items:stretch!important;
    gap:var(--ot-mobile-control-gap)!important;
    width:100%!important;
  }
  .reservation-member-actions > #reservationMemberLink,
  .reservation-member-actions > #reservationMemberLogout{
    flex:1 1 0!important;
    width:0!important;
    min-width:0!important;
    min-height:42px!important;
    height:42px!important;
    margin:0!important;
    padding:0 12px!important;
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.15!important;
    font-size:var(--ot-action-btn-font-size)!important;
  }
  .reservation-member-actions > #reservationMemberLogout[hidden]{display:none!important;}

  /* Homepage quick reservation: prevent long translated labels from squeezing copy. */
  .home-quick-panel{
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:14px!important;
  }
  .home-quick-copy{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:0 0 auto!important;
  }
  .home-quick-copy p{
    width:auto!important;
    max-width:none!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .home-quick-trip-toggle{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:var(--ot-mobile-control-gap)!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
  }
  .home-quick-trip-btn{
    width:100%!important;
    min-width:0!important;
    min-height:42px!important;
    height:auto!important;
    padding:7px 8px!important;
    border:1px solid #0b63ce!important;
    border-radius:8px!important;
    box-sizing:border-box!important;
    font-size:var(--ot-action-btn-font-size)!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center!important;
  }
  .home-quick-trip-btn + .home-quick-trip-btn{border-left:1px solid #0b63ce!important;}

  /* Admin: mobile/tablet controls remain normalized, original font weights restored. */
  #app :where(button:not(.admin-menu-toggle):not([class*="close"]),a.btn,input[type="button"],input[type="submit"]){
    min-height:var(--ot-action-btn-min-height)!important;
    height:auto!important;
    max-height:none!important;
    padding:7px var(--ot-action-btn-pad-x)!important;
    border-radius:9px!important;
    font-size:var(--ot-action-btn-font-size)!important;
    line-height:1.2!important;
    box-sizing:border-box!important;
    white-space:normal!important;
  }
  #app :where(.admin-nav-buttons,.status-tabs,.booking-main-tabs,.driver-order-admin-tabs,.ride-stage-filters,.commission-detail-status-tabs,.analytics-presets){
    gap:var(--ot-mobile-control-gap)!important;
  }
  #app :where(.status-tabs,.booking-main-tabs,.driver-order-admin-tabs,.ride-stage-filters,.commission-detail-status-tabs,.analytics-presets) > button{
    flex:1 1 0!important;
    min-width:0!important;
    width:auto!important;
  }
}

@media screen and (max-width:720px){
  .home-quick-trip-toggle{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* V16.10.29 - Admin booking action grid: no horizontal scroll.
   Tablet: 3 equal columns. Mobile: 2 equal columns. Desktop untouched. */
@media screen and (max-width:1024px){
  #bookingsView .booking > .actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-rows:minmax(48px,auto)!important;
    align-items:stretch!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:2px 0 5px!important;
    margin-top:14px!important;
  }
  #bookingsView .booking > .actions > :where(button,.btn,a.btn){
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:6px 7px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
}
@media screen and (max-width:640px){
  #bookingsView .booking > .actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* V16.10.30 - MOBILE/TABLET FINAL TYPOGRAPHY + ADMIN ACTION GRID
   Desktop (>1024px) untouched.
   Typography is recalculated from the pre-reduction baseline at 70% size / approximately 70% weight. */
@media screen and (max-width:1024px){
  :root{
    --ot-action-btn-font-size:9.45px!important; /* 13.5px baseline x 70% */
    --ot-body-font-scale:.70;
    --ot-mobile-control-gap:8px;
  }

  /* baseline 70% typography: do not compound V16.10.24~27 reductions */
  body :where(p,li,dd,dt,label,small,caption,.small,.note,.desc,.description,.help,.hint,.status,.guide,.subtext,.meta,.copy){
    font-size:clamp(9px,.70em,14px)!important;
    font-weight:300!important;
  }
  body :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
    font-size:11.2px!important;
    font-weight:300!important;
  }
  body :where(td,th){font-size:70%!important;font-weight:300!important;}
  body :where(b,strong){font-weight:500!important;}
  body :where(h1,h2,h3,h4,h5,h6,legend,.title,.section-title,.card-title,.panel-title,.modal-title,.page-title,.hero-title,.fare-search-title,.admin-title,.member-title,.admin-login-brand,.admin-console-name){
    font-weight:500!important;
  }
  body :where(button:not(.ot-lang-btn):not(.ot-menu-btn):not(.menu-btn):not(.admin-menu-toggle):not([class*="close"]),a.btn,input[type="submit"],input[type="button"]){
    font-size:var(--ot-action-btn-font-size)!important;
    font-weight:400!important;
  }

  /* ADMIN: every action group uses one layout rule across all admin pages/tabs.
     Navigation/status tab bars are deliberately excluded. */
  #app :where(
    .actions,
    [class*="-actions"],
    .admin-review-toolbar,
    .analytics-toolbar-bottom,
    .b2b-period-toolbar,
    .cms-toolbar,
    .driver-registration-toolbar,
    .fare-toolbar,
    .ops-toolbar,
    .ride-ops-toolbar,
    .visual-cms-toolbar,
    .visual-cms-actionbox
  ):not(.admin-brand-actions):not(.admin-nav-buttons):not(.admin-permission-head){
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    align-items:stretch!important;
  }
  #app :where(
    .actions,
    [class*="-actions"],
    .admin-review-toolbar,
    .analytics-toolbar-bottom,
    .b2b-period-toolbar,
    .cms-toolbar,
    .driver-registration-toolbar,
    .fare-toolbar,
    .ops-toolbar,
    .ride-ops-toolbar,
    .visual-cms-toolbar,
    .visual-cms-actionbox
  ):not(.admin-brand-actions):not(.admin-nav-buttons):not(.admin-permission-head) > :where(button,a.btn,input[type="submit"],input[type="button"]){
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:44px!important;
    height:44px!important;
    max-height:44px!important;
    margin:0!important;
    padding:5px 6px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:break-word!important;
    line-height:1.15!important;
    box-sizing:border-box!important;
  }
  /* keep navigational/filter tab strips as navigation, not action grids */
  #app :where(.admin-nav-buttons,.status-tabs,.booking-main-tabs,.driver-order-admin-tabs,.ride-stage-filters,.commission-detail-status-tabs,.analytics-presets,.notify-category-tabs){
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
  }
}
@media screen and (max-width:640px){
  #app :where(
    .actions,
    [class*="-actions"],
    .admin-review-toolbar,
    .analytics-toolbar-bottom,
    .b2b-period-toolbar,
    .cms-toolbar,
    .driver-registration-toolbar,
    .fare-toolbar,
    .ops-toolbar,
    .ride-ops-toolbar,
    .visual-cms-toolbar,
    .visual-cms-actionbox
  ):not(.admin-brand-actions):not(.admin-nav-buttons):not(.admin-permission-head){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* V16.10.30 consistency override for the previously more-specific booking action rule. */
@media screen and (max-width:1024px){
  #app #bookingsView .booking > .actions{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-auto-rows:44px!important;
    gap:8px!important;
    overflow:visible!important;
  }
  #app #bookingsView .booking > .actions > :where(button,.btn,a.btn){
    width:100%!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:5px 6px!important;
    font-size:9.45px!important;
    font-weight:400!important;
  }
}
@media screen and (max-width:640px){
  #app #bookingsView .booking > .actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

