/* SOURCE: /assets/bundles/inquiry-styles-03.css */
:root{--b:#0b63ce;--b2:#0756b7;--n:#082754;--bg:#f4f7fb;--line:#dce5ef;--muted:#6c7c90;--red:#c92f3b}
*{box-sizing:border-box}
body{margin:0;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;background:var(--bg);color:#17243a}
a{text-decoration:none;color:inherit}
.wrap{width:min(980px,calc(100% - 28px));margin:auto}
header{height:74px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.head{height:100%;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font-size:18.3876px;font-weight:900;color:var(--n)}.brand b{color:var(--b)}
.tel{font-size:17.4636px;font-weight:950;color:var(--b)}
.hero{background:linear-gradient(135deg,#eef7ff,#dceeff);padding:38px 0 30px}
.hero h1{margin:0 0 8px;font-size:28.644px;color:var(--n)}
.hero p{margin:0;color:#586a80;font-size:13.2132px;line-height:1.7}
.sec{padding:26px 0 55px}
.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:20px;box-shadow:0 7px 24px rgba(18,56,95,.06)}
.board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.board-head h2{margin:0;color:var(--n);font-size:21.3444px}
.board-actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{border:0;border-radius:9px;padding:11px 14px;background:var(--b);color:#fff;font-weight:900;cursor:pointer}
.btn:hover{background:var(--b2)}
.btn.gray{background:#eef4fb;color:#24476f;border:1px solid #d3e0ed}
.btn.full{width:100%;margin-top:14px}
.note{margin-top:12px;padding:10px 11px;border-radius:9px;background:#f6f9fd;color:#607187;font-size:12.012px;line-height:1.6}
.msg{margin-top:10px;font-size:13.1208px;font-weight:850}.ok{color:#08794d}.err{color:var(--red)}

.notice-board{border-top:2px solid var(--n);border-bottom:1px solid #ccd7e4}
.notice-board-head,.notice-row{display:grid;grid-template-columns:80px minmax(0,1fr) 100px 100px 110px;align-items:center}
.notice-board-head{background:#f5f8fc;border-bottom:1px solid #cfd9e5;color:#41536b;font-size:13.1208px;font-weight:900;text-align:center}
.notice-board-head span{padding:12px 8px}
.notice-row{border-bottom:1px solid #e6ebf1;cursor:pointer;background:#fff}
.notice-row:last-child{border-bottom:0}
.notice-row:hover{background:#f8fbff}
.notice-row>span{padding:14px 9px;font-size:13.1208px;min-width:0}
.notice-num,.notice-author,.notice-status,.notice-date{text-align:center;color:#67778c;white-space:nowrap}
.notice-title{font-size:13.2132px!important;font-weight:900;color:#213a58;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lock{margin-right:5px}
.notice-status b{display:inline-block;padding:5px 8px;border-radius:999px;background:#eaf3ff;color:#075ebf;font-size:10.9032px}
.empty-row{padding:28px;text-align:center;color:#78889b;font-size:13.1208px}

.panel{display:none;margin-top:18px;padding-top:18px;border-top:1px solid #e1e8f0}
.panel.show{display:block}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:11px}
.panel-title h3{margin:0;color:var(--n);font-size:17.4636px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-grid .full{grid-column:1/-1;margin:0}
label{display:block;margin:0 0 6px;font-size:13.1208px;font-weight:900}
input,textarea{width:100%;border:1px solid #cad7e5;border-radius:9px;background:#fff;padding:12px 13px;font:inherit;outline:none}
textarea{min-height:140px;resize:vertical}
input:focus,textarea:focus{border-color:#78afea;box-shadow:0 0 0 3px rgba(11,99,206,.08)}
.auth-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}

.detail{display:none;margin-top:14px;border:1px solid #cfe0f3;background:#f8fbff;border-radius:12px;padding:15px}
.detail.show{display:block}
.detail h3{margin:0 0 7px;color:var(--n)}
.detail-meta{font-size:12.012px;color:#77879a}
.detail-content{margin-top:12px;padding:13px;background:#fff;border:1px solid #dce6f0;border-radius:9px;font-size:13.2132px;line-height:1.75;white-space:pre-wrap}
.reply{margin-top:9px;padding:11px;background:#eaf4ff;border:1px solid #d0e4f8;border-radius:9px;font-size:13.1208px;line-height:1.65}
.reply small{display:block;margin-top:4px;color:#74849a}
footer{background:#082754;color:#fff;text-align:center;padding:25px 0}

@media(max-width:760px){
 header{height:64px}.brand{font-size:16.2624px}.tel{font-size:15.246px}.hero h1{font-size:24.948px}
 .notice-board-head,.notice-row{grid-template-columns:50px minmax(0,1fr) 72px 88px}
 .notice-board-head span:nth-child(4),.notice-row .notice-status{display:none}
 .notice-board-head span{padding:11px 5px}
 .notice-row>span{padding:13px 6px;font-size:12.012px}
 .notice-title{font-size:13.1208px!important}
 .form-grid,.auth-grid{grid-template-columns:1fr}
 .form-grid .full{grid-column:1}
}

/* ===== 공개페이지 공통 상단 헤더 ===== */
.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;
}
.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;
}
.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;
}
.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;
}
.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;
}
.ot-nav a{
  position:relative!important;padding:28px 0 25px!important;color:#122946!important;text-decoration:none!important;
}
.ot-nav a:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#0b63ce;
  transform:scaleX(0);transform-origin:center;transition:transform .16s ease;
}
.ot-nav a:hover,.ot-nav a.active{color:#0b63ce!important}
.ot-nav a:hover:after,.ot-nav a.active:after{transform:scaleX(1)}
.ot-phone{
  font-size:21.3444px!important;font-weight:950!important;line-height:1!important;
  color:#0b63ce!important;white-space:nowrap!important;text-decoration:none!important;
}
.ot-header-spacer{height:74px!important;min-height:74px!important;background:#fff}

@media(max-width:980px) and (min-width:721px){
  .ot-header-inner{gap:17px!important}
  .ot-brand{flex-basis:210px!important;width:210px!important;min-width:210px!important}
  .ot-brand img{width:210px!important;max-width:210px!important;height:62px!important}
  .ot-nav{gap:18px!important;font-size:13.2132px!important}
  .ot-phone{font-size:18.3876px!important}
}
@media(max-width:720px){
  .ot-site-header{height:126px!important;min-height:126px!important}
  .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;
  }
  .ot-brand{
    grid-column:1!important;grid-row:1!important;flex:none!important;
    width:225px!important;min-width:225px!important;height:72px!important;
  }
  .ot-brand img{width:225px!important;max-width:225px!important;height:66px!important;max-height:66px!important}
  .ot-phone{
    display:block!important;grid-column:2!important;grid-row:1!important;
    margin:0!important;justify-self:end!important;font-size:21.3444px!important;
  }
  .ot-nav{
    display:flex!important;grid-column:1/3!important;grid-row:2!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;-ms-overflow-style:none!important;
  }
  .ot-nav::-webkit-scrollbar{display:none!important}
  .ot-nav a{flex:0 0 auto!important;padding:16px 0 14px!important}
  .ot-header-spacer{height:126px!important;min-height:126px!important}
}
@media(max-width:480px){
  .ot-site-header{height:118px!important;min-height:118px!important}
  .ot-header-inner{
    height:118px!important;min-height:118px!important;
    grid-template-rows:68px 50px!important;padding:0 16px!important;
  }
  .ot-brand{width:190px!important;min-width:190px!important;height:68px!important}
  .ot-brand img{width:190px!important;max-width:190px!important;height:60px!important;max-height:60px!important}
  .ot-phone{font-size:17.4636px!important}
  .ot-nav{gap:20px!important;font-size:13.2132px!important}
  .ot-nav a{padding:14px 0 12px!important}
  .ot-header-spacer{height:118px!important;min-height:118px!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;
  }
}


/* === ONE-TOUCH MAIN HEADER SYNC V2 START === */
.site-header.ot-site-header{
  position:fixed!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;height:68px!important;min-height:68px!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 .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;box-sizing:border-box!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;line-height:0!important;overflow:hidden!important}
.site-header .brand.ot-brand img{display:block!important;width:235px!important;max-width:235px!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;box-sizing:border-box!important;width:720px!important;min-width:720px!important;max-width:720px!important;height:68px!important;min-height:68px!important;max-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;font-size:17.4636px!important;font-weight:800!important}
.site-header .nav.ot-nav a{position:relative!important;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;color:#122946!important;font-size:17.4636px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.2px!important;text-decoration:none!important}
.site-header .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}
.site-header .nav.ot-nav a:hover,.site-header .nav.ot-nav a.active{color:#0b63ce!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{grid-column:3!important;justify-self:end!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;color:#0b63ce!important;font-size:21.3444px!important;font-weight:950!important;line-height:1!important;white-space:nowrap!important;text-align:right!important;text-decoration:none!important}
.site-header .menu-btn.ot-menu-btn{display:none!important}
.header-spacer.ot-header-spacer{display:block!important;width:100%!important;height:68px!important;min-height:68px!important;background:#fff!important}

@media(max-width:1179px) and (min-width:721px){
  .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 16px!important;display:flex!important;align-items:center!important;gap:14px!important;box-sizing:border-box!important}
  .site-header .brand.ot-brand{flex:0 0 200px!important;width:200px!important;min-width:200px!important;height:68px!important}
  .site-header .brand.ot-brand img{width:200px!important;max-width:200px!important;height:58px!important;max-height:58px!important}
  .site-header .nav.ot-nav{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;height:68px!important;margin:0!important;padding:8px 0 0!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:10px!important;overflow:visible!important;white-space:nowrap!important;font-size:16.2624px!important;font-weight:800!important}
  .site-header .nav.ot-nav a{height:60px!important;display:flex!important;align-items:flex-end!important;padding:0!important;font-size:16.2624px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:-.2px!important}
  .site-header .phone.ot-phone{flex:0 0 auto!important;margin:0!important;font-size:18.3876px!important;font-weight:950!important}
  .header-spacer.ot-header-spacer{height:68px!important;min-height:68px!important}
}

@media(max-width:720px){
  .site-header.ot-site-header{height:126px!important;min-height:126px!important}
  .site-header .header-inner.ot-header-inner{width:100%!important;height:126px!important;min-height:126px!important;margin:0 auto!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;box-sizing:border-box!important}
  .site-header .brand.ot-brand{grid-column:1!important;grid-row:1!important;width:225px!important;min-width:225px!important;height:72px!important}
  .site-header .brand.ot-brand img{width:225px!important;max-width:225px!important;height:66px!important;max-height:66px!important}
  .site-header .phone.ot-phone{grid-column:2!important;grid-row:1!important;justify-self:end!important;margin:0!important;font-size:21.3444px!important;font-weight:950!important}
  .site-header .nav.ot-nav{grid-column:1/3!important;grid-row:2!important;display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;align-items:end!important;justify-content:stretch!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;gap:0!important;margin:0!important;padding:0!important;overflow:visible!important;white-space:nowrap!important;transform:translateY(-4px)!important;font-size:12.7512px!important;font-weight:800!important;scrollbar-width:none!important}
  .site-header .nav.ot-nav::-webkit-scrollbar{display:none!important}
  .site-header .nav.ot-nav a{position:relative!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;width:auto!important;min-width:0!important;max-width:none!important;height:auto!important;margin:0!important;padding:7px 0 18px!important;flex:none!important;text-align:center!important;font-size:12.7512px!important;font-weight:800!important;line-height:1.1!important;letter-spacing:0.6px!important;overflow:visible!important;white-space:nowrap!important;color:#122946!important;text-decoration:none!important}
  .site-header .nav.ot-nav a:after{left:3px!important;right:3px!important;bottom:2px!important;height:2px!important}
  .header-spacer.ot-header-spacer{height:126px!important;min-height:126px!important}
}

@media(max-width:480px){
  .site-header.ot-site-header{height:118px!important;min-height:118px!important}
  .site-header .header-inner.ot-header-inner{height:118px!important;min-height:118px!important;grid-template-rows:68px 50px!important;padding:0 16px!important}
  .site-header .brand.ot-brand{width:190px!important;min-width:190px!important;height:68px!important}
  .site-header .brand.ot-brand img{width:190px!important;max-width:190px!important;height:60px!important;max-height:60px!important}
  .site-header .phone.ot-phone{font-size:17.4636px!important}
  .site-header .nav.ot-nav{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:0!important;overflow:visible!important;white-space:nowrap!important;transform:translateY(-4px)!important;font-size:12.012px!important}
  .site-header .nav.ot-nav a{width:auto!important;min-width:0!important;padding:6px 0 18px!important;font-size:12.012px!important;line-height:1.05!important;letter-spacing:-1.1px!important;white-space:nowrap!important}
  .site-header .nav.ot-nav a:after{left:2px!important;right:2px!important;bottom:2px!important}
  .header-spacer.ot-header-spacer{height:118px!important;min-height:118px!important}
}
/* === ONE-TOUCH MAIN HEADER SYNC V2 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 === */
<!-- subpage-header-same-as-home-v9 -->



/* === OT BODY TYPOGRAPHY FINAL START === */
/* 페이지 제목/섹션 제목(h1~h4, .title, .page-title)은 기존 크기 그대로 유지 */

/* 본문 기본 폰트 */
main{
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:14.2296px!important;
}

/* 일반 내용 텍스트 및 폼 */
main :where(
  p, span, li, label, input, select, textarea, button, td, th, a
){
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:14.2296px!important;
}

/* div 기반 본문/설명 텍스트 */
main :where(
  .sub,
  .page-sub,
  .desc,
  .description,
  .info,
  .status,
  .hint,
  .help,
  .muted,
  .meta,
  .vehicle-meta,
  .vehicle-desc,
  .vehicle-specs,
  .fare-search-guide,
  .search-hint,
  .page-calc-note,
  .fare-estimate-notice,
  .calc-caption,
  .notice-title,
  .notice-date,
  .board-head,
  .board-row
){
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:14.2296px!important;
  line-height:1.55!important;
}

/* 검색창/입력창은 조금 더 작게 */
main input,
main select,
main textarea,
main .search-input,
main #fareSearch,
main #distanceKm{
  font-size:13.2132px!important;
}

/* placeholder도 동일하게 축소 */
main input::placeholder,
main textarea::placeholder{
  font-size:13.2132px!important;
}

/* 제목은 기존 디자인 강제 유지 */
main h1,
main h2,
main h3,
main h4,
main .title,
main .page-title,
main .home-extra-title,
main .panel-title h3,
main .box-head h3,
main .section-head h2{
  font-family:inherit;
}

/* 모바일에서는 본문을 한 단계 더 축소 */
@media(max-width:767px){
  main{
    font-size:13.2132px!important;
  }

  main :where(
    p, span, li, label, input, select, textarea, button, td, th, a
  ){
    font-size:13.2132px!important;
  }

  main :where(
    .sub,
    .page-sub,
    .desc,
    .description,
    .info,
    .status,
    .hint,
    .help,
    .muted,
    .meta,
    .vehicle-meta,
    .vehicle-desc,
    .vehicle-specs,
    .fare-search-guide,
    .search-hint,
    .page-calc-note,
    .fare-estimate-notice,
    .calc-caption,
    .notice-title,
    .notice-date,
    .board-head,
    .board-row
  ){
    font-size:13.2132px!important;
    line-height:1.5!important;
  }

  main input,
  main select,
  main textarea,
  main .search-input,
  main #fareSearch,
  main #distanceKm,
  main input::placeholder,
  main textarea::placeholder{
    font-size:13.1208px!important;
  }
}
/* === OT BODY TYPOGRAPHY FINAL END === */



/* === OT PAGE HERO UNIFY START === */
.ot-shared-hero{
  background:linear-gradient(135deg,#eef7ff,#dceeff)!important;
  padding:38px 0 30px!important;
}
.ot-shared-title{
  margin:0 0 8px!important;
  font-size:28.644px!important;
  color:#0e376f!important;
  font-weight:900!important;
  letter-spacing:0.6px!important;
}
.ot-shared-sub{
  margin:0!important;
  color:#586a80!important;
  font-size:13.2132px!important;
  line-height:1.7!important;
}
.ot-shared-body{
  padding:28px 16px 42px!important;
}
.ot-shared-body .page-card,
.ot-shared-body .search-box,
.ot-shared-body .fare-policy-note,
.ot-shared-body .notice-box{
  box-sizing:border-box!important;
}

.page-hero{
  background:linear-gradient(135deg,#eef7ff,#dceeff)!important;
  padding:38px 0 30px!important;
}
.page-hero .page-title{
  margin:0 0 8px!important;
  color:#0e376f!important;
}
.page-hero .page-sub{
  margin:0!important;
  color:#586a80!important;
  font-size:13.2132px!important;
  line-height:1.7!important;
}

.ot-fares-main{
  max-width:none!important;
  margin:0!important;
  padding:0 0 60px!important;
}
.ot-fares-wrap{
  max-width:980px!important;
  margin:0 auto!important;
  padding:34px 16px 60px!important;
}
.ot-fares-wrap .fare-mode{
  margin-top:0!important;
}

@media(max-width:767px){
  .ot-shared-hero{
    padding:36px 0 28px!important;
  }
  .ot-shared-title{
    font-size:25.872px!important;
  }
  .ot-shared-sub{
    font-size:13.2132px!important;
  }
  .ot-shared-body{
    padding:18px 16px 34px!important;
  }
  .ot-fares-wrap{
    padding:26px 16px 44px!important;
  }
}
/* === OT PAGE HERO UNIFY END === */



/* === OT PAGE TITLE TYPO SYNC START === */
/* 회사소개/공지사항을 기준으로 모든 서브페이지 제목·설명 폰트 통일 */

/* 제목 */
.ot-shared-title,
.page-hero .page-title,
.hero h1{
  margin:0 0 8px!important;
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:28.644px!important;
  font-weight:900!important;
  line-height:1.25!important;
  letter-spacing:0.6px!important;
  color:#0e376f!important;
}

/* 제목 아래 설명 */
.ot-shared-sub,
.page-hero .page-sub,
.hero p{
  margin:0!important;
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:13.2132px!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:0!important;
  color:#586a80!important;
}

/* 이용요금도 동일하게 */
.ot-fares-main .ot-shared-title{
  font-size:28.644px!important;
}
.ot-fares-main .ot-shared-sub{
  font-size:13.2132px!important;
}

/* 모바일도 회사소개/공지사항과 동일 */
@media(max-width:767px){
  .ot-shared-title,
  .page-hero .page-title,
  .hero h1,
  .ot-fares-main .ot-shared-title{
    font-size:25.872px!important;
    letter-spacing:0.6px!important;
  }

  .ot-shared-sub,
  .page-hero .page-sub,
  .hero p,
  .ot-fares-main .ot-shared-sub{
    font-size:13.2132px!important;
    line-height:1.7!important;
  }
}
/* === OT PAGE TITLE TYPO SYNC END === */



/* === OT COMMON HERO EXACT START === */
/* 6개 서브페이지 상단 제목/설명: 같은 HTML 구조 + 같은 수치로 완전 통일 */
.ot-common-hero{
  width:100%!important;
  margin:0!important;
  padding:38px 0 30px!important;
  background:linear-gradient(135deg,#eef7ff,#dceeff)!important;
  box-sizing:border-box!important;
}
.ot-common-hero-inner{
  width:min(calc(100% - 28px),1120px)!important;
  margin:0 auto!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.ot-common-title{
  margin:0 0 8px!important;
  padding:0!important;
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:28.644px!important;
  line-height:1.25!important;
  letter-spacing:0.6px!important;
  color:#0e376f!important;
}
.ot-common-sub{
  margin:0!important;
  padding:0!important;
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Segoe UI",Arial,sans-serif!important;
  font-size:13.2132px!important;
  font-weight:400!important;
  line-height:1.7!important;
  letter-spacing:0!important;
  color:#586a80!important;
}

/* 회사소개/공지사항에 남아 있던 상단 빈 여백 제거 */
main.ot-simple-page{
  padding:0 0 42px!important;
}

/* 차량안내/이용요금 기존 hero 규칙의 간섭 차단 */
main > .page-hero,
main > .ot-shared-hero{
  margin:0!important;
}

/* 예약 페이지 탭은 제목/설명 아래 기존 기능 그대로 */
.ot-common-hero .tabs{
  margin-top:20px!important;
}

/* 이용요금 본문 */
.ot-fares-main{
  max-width:none!important;
  margin:0!important;
  padding:0 0 60px!important;
}
.ot-fares-wrap{
  max-width:980px!important;
  margin:0 auto!important;
  padding:34px 16px 60px!important;
}

@media(max-width:767px){
  .ot-common-hero{
    padding:36px 0 28px!important;
  }
  .ot-common-hero-inner{
    width:calc(100% - 28px)!important;
  }
  .ot-common-title{
    font-size:25.872px!important;
    line-height:1.25!important;
    letter-spacing:0.6px!important;
  }
  .ot-common-sub{
    font-size:13.2132px!important;
    line-height:1.7!important;
  }
}
/* === OT COMMON HERO EXACT END === */



/* =========================================================
   OT HEADER NAV ALIGN FINAL V8
   전체 고객 페이지 공통
   - PC/태블릿 메뉴 세로 중앙 정렬
   - 파란 활성 밑줄을 메뉴 글자 바로 아래에 배치
   ========================================================= */
@media(min-width:1180px){
  .site-header .nav.ot-nav{
    align-items:center!important;
    padding:0!important;
  }
  .site-header .nav.ot-nav a{
    height:auto!important;
    min-height:42px!important;
    padding:0 0 10px!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1.1!important;
    text-align:center!important;
  }
  .site-header .nav.ot-nav a:after{
    left:50%!important;
    right:auto!important;
    width:100%!important;
    bottom:3px!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;
  }
}

@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{
    height:76px!important;
    min-height:76px!important;
    align-items:center!important;
  }
  .site-header .brand.ot-brand{
    height:76px!important;
    align-items:center!important;
  }
  .site-header .nav.ot-nav{
    height:76px!important;
    min-height:76px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .site-header .nav.ot-nav a{
    height:auto!important;
    min-height:40px!important;
    padding:0 0 9px!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1.1!important;
    text-align:center!important;
  }
  .site-header .nav.ot-nav a:after{
    left:50%!important;
    right:auto!important;
    width:100%!important;
    bottom:2px!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{
    align-self:center!important;
  }
  .header-spacer.ot-header-spacer{
    height:76px!important;
    min-height:76px!important;
  }
}

/* 모바일은 기존 메뉴 버튼 레이아웃 유지 */
@media(max-width:767px){
  .site-header .nav.ot-nav a:after{
    bottom:2px!important;
  }
}
/* === OT HEADER NAV ALIGN FINAL V8 END === */



/* =========================================================
   OT HEADER ABSOLUTE FINAL V10
   메인/서브페이지 완전 동일
   768px 이상: 무조건 1단 헤더
   메뉴 파란선: 글자 아래 간격을 두고 중앙 배치
   ========================================================= */

/* 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;
    max-height:76px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    display:grid!important;
    grid-template-columns:235px 720px minmax(0,129px)!important;
    grid-template-rows:76px!important;
    column-gap:24px!important;
    row-gap:0!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:235px!important;
    min-width:235px!important;
    max-width:235px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    transform:none!important;
  }

  .site-header .brand.ot-brand img{
    width:235px!important;
    max-width:235px!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;
    width:720px!important;
    min-width:720px!important;
    max-width:720px!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:20px!important;
    transform:none!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    position:relative!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 0 12px!important;
    color:#122946!important;
    font-size:17.4636px!important;
    font-weight:800!important;
    line-height:1.1!important;
    letter-spacing:-.2px!important;
    text-align:center!important;
    text-decoration:none!important;
    transform:none!important;
  }

  .site-header .nav.ot-nav a:after{
    content:""!important;
    position:absolute!important;
    top:auto!important;
    left:50%!important;
    right:auto!important;
    bottom:2px!important;
    width:100%!important;
    height:3px!important;
    margin:0!important;
    background:#0b63ce!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;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:21.3444px!important;
    transform:none!important;
  }

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

/* 태블릿 / 가로보기: 예전 2단 메뉴 규칙 완전 초기화 */
@media(min-width:768px) and (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;
    max-height:76px!important;
    margin:0!important;
    padding:0 clamp(12px,2vw,20px)!important;
    display:grid!important;
    grid-template-columns:minmax(170px,22vw) minmax(0,1fr) auto!important;
    grid-template-rows:76px!important;
    column-gap:clamp(10px,1.4vw,18px)!important;
    row-gap:0!important;
    align-items:center!important;
  }

  .site-header .brand.ot-brand{
    grid-column:1!important;
    grid-row:1!important;
    width:min(215px,100%)!important;
    min-width:0!important;
    max-width:215px!important;
    height:76px!important;
    min-height:76px!important;
    margin:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    transform:none!important;
  }

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

  .site-header .nav.ot-nav{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:row!important;
    grid-template-columns:none!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(5px,.8vw,12px)!important;
    transform:none!important;
    overflow:visible!important;
    white-space:nowrap!important;
  }

  .site-header .nav.ot-nav a{
    position:relative!important;
    display:flex!important;
    flex:0 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:42px!important;
    margin:0!important;
    padding:0 0 11px!important;
    color:#122946!important;
    font-size:clamp(11.088px,1.848vw,14.784px)!important;
    font-weight:800!important;
    line-height:1.1!important;
    letter-spacing:-.4px!important;
    text-align:center!important;
    text-decoration:none!important;
    transform:none!important;
  }

  .site-header .nav.ot-nav a:after{
    content:""!important;
    position:absolute!important;
    top:auto!important;
    left:50%!important;
    right:auto!important;
    bottom:2px!important;
    width:100%!important;
    height:3px!important;
    margin:0!important;
    background:#0b63ce!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;
    grid-row:1!important;
    align-self:center!important;
    justify-self:end!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(14.784px,2.376vw,19.404px)!important;
    transform:none!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;
    max-height:76px!important;
  }
}

/* 모바일은 기존 전체메뉴 형식 유지 */
@media(max-width:767px){
  .site-header .nav.ot-nav{
    transform:none!important;
  }
}
/* === OT HEADER ABSOLUTE FINAL V10 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 === */

@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/inquiry-styles-02.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/inquiry-styles-01.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/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;}
}

