@charset "utf-8";
/* ============================================================
   토마스정형외과 | 사이트 공통 반응형 스타일
   경로: /theme/basic/css/site.css  (tail.php 에서 연결)
   1단계: 하단(footer) 텍스트형 · 반응형
   ============================================================ */
.ft{--teal:#208592;--teal-d:#0e5f66;font-family:"Noto Sans KR",sans-serif;color:#333}
.ft *{box-sizing:border-box}
.ft a{color:inherit;text-decoration:none}
.ft img{max-width:100%;height:auto}

/* ── 1. 진료시간 · 바로가기 · 상담신청 ── */
.ft .counselin.ft-grid{width:auto;max-width:1414px;padding:40px 20px;display:grid;grid-template-columns:minmax(0,25fr) minmax(0,35fr) minmax(0,40fr);align-items:stretch}
.ft-grid > *{float:none!important;width:auto!important}
/* 진료시간 */
.ft-info{padding-right:20px}
.ft-tel{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.ft-tel .lb{font-size:17px;line-height:1.15;font-weight:500;color:#222}
.ft-tel a{font-size:36px;font-weight:700;color:var(--teal-d);letter-spacing:-.01em;line-height:1}
.ft-h{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:19px;font-weight:500;color:#333}
.ft-h:before,.ft-h:after{content:"";flex:1;height:1px;background:#999}
.ft-hours{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:16px}
.ft-hours dt{font-weight:500;color:#333;text-align-last:justify;min-width:4.6em}
.ft-hours dd{margin:0;color:#333}
.ft-hours b{color:var(--teal-d);font-weight:500;font-size:1.08em}
.ft-hours small{font-size:12px;color:#555}
.ft-off{margin:6px 0 0;padding-bottom:8px;border-bottom:1px solid #999;font-size:16px;font-weight:500;color:var(--teal-d)}
.ft-note{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:#555;padding-left:1.1em;text-indent:-1.1em}
.ft-note b{color:var(--teal-d)}
/* 바로가기 */
.ft-quick{list-style:none;margin:0 14px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;align-content:start;background:#fff}
.ft-quick a{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;height:143px;padding:0 4px 22px;background:#f4f4f4;font-size:17px;color:#333;text-align:center;transition:background .2s}
.ft-quick a:hover{background:#e9f3f4}
.ft-quick .ic{display:block;width:100%;height:80px;overflow:hidden;text-align:center}
.ft-quick .ic img{display:block;margin:-6px auto 0;max-width:none;width:auto;height:143px}
.ft-quick .ic4 img,.ft-quick .ic5 img,.ft-quick .ic6 img{height:157px;margin-top:-14px}
/* 상담신청 */
.ft .counselin .ft-form{padding-left:60px;border-left:1px solid #ccc;height:auto;min-height:0}
.ft .counselin .ft-form h2{margin:0 0 30px;font-size:30px;font-weight:300}
.ft-form h2 b{color:var(--teal)}
.ft-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px}
.ft-fields .row{grid-column:1;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;margin-bottom:6px}
.ft-fields .th{font-size:20px;font-weight:300;padding:0 10px}
.ft-fields .select,.ft-fields .input{width:100%;margin:0}
.ft-fields .agree{font-size:16px;margin-top:4px}
.ft-fields .agree input{margin:0 6px 0 0;vertical-align:-2px}
.ft-fields .btn_send{grid-column:2;grid-row:1/4;align-self:stretch;height:auto;margin:0;padding:0 22px;cursor:pointer}

/* ── 2. 병원 가치 띠 (기존 fm1.png 대체) ── */
.ft-values{background:linear-gradient(90deg,#0d4f57 0%,#16707b 50%,#0d4f57 100%)}
.ft-values > a{display:block}
.ft-values ul{list-style:none;margin:0 auto;padding:0;max-width:1920px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.ft-values li{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:240px;padding:40px 20px;text-align:center;color:#fff;border-left:1px solid rgba(255,255,255,.18)}
.ft-values li:first-child{border-left:0}
.ft-values span{font-size:19px;line-height:1.6;opacity:.9}
.ft-values strong{font-size:24px;font-weight:700}

/* ── 3. 하단 링크 · 사업자 정보 ── */
.ft .footer{width:auto;max-width:1414px;display:flex;flex-wrap:wrap}
.ft .footer li{float:none;flex:1 1 20%;width:auto}
.ft .footer a{display:block;font-size:15px;color:#333}
.ft .fcopy address{font-style:normal;padding-top:20px;font-size:14px;line-height:25px;color:#fff}
.ft .fcopy address span + span:before{content:"|";margin:0 10px;opacity:.6}
.ft .fcopy p{padding-top:0;margin:0}
.ft .fcopy img{width:305px}

/* ── 반응형: 태블릿 ── */
@media (max-width:1200px){
 .ft .counselin.ft-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px}
 .ft .counselin .ft-form{grid-column:1/-1;border-left:0;border-top:1px solid #ccc;padding:30px 0 0}
 .ft-info{padding-right:0}
}
/* ── 반응형: 휴대폰 ── */
@media (max-width:768px){
 .ft .counselin.ft-grid{grid-template-columns:1fr;padding:30px 16px;gap:26px}
 .ft-tel a{font-size:30px}
 .ft-hours,.ft-off{font-size:15px}
 .ft-quick{margin:0;gap:3px}
 .ft-quick a{height:112px;padding-bottom:14px;font-size:13.5px;letter-spacing:-.03em;gap:6px}
 .ft-quick .ic{height:62px}
 .ft-quick .ic img{height:110px;margin-top:-4px}
 .ft-quick .ic4 img,.ft-quick .ic5 img,.ft-quick .ic6 img{height:120px;margin-top:-11px}
 .ft .counselin .ft-form h2{font-size:24px;margin-bottom:18px}
 .ft-fields{grid-template-columns:1fr}
 .ft-fields .row{grid-template-columns:1fr;margin-bottom:10px}
 .ft-fields .th{font-size:15px;padding:0 0 4px}
 .ft-fields .select,.ft-fields .input{font-size:16px}
 .ft-fields .agree .th{display:none}
 .ft-fields .btn_send{grid-column:1;grid-row:auto;height:54px;margin-top:6px;font-size:18px}
 .ft-fields .btn_send br.pc{display:none}
 .ft-values{background:#115e68}
 .ft-values ul{grid-template-columns:1fr}
 .ft-values li{min-height:0;padding:26px 16px;border-left:0;border-top:1px solid rgba(255,255,255,.18)}
 .ft-values li:first-child{border-top:0}
 .ft-values span{font-size:15px}
 .ft-values span br{display:none}
 .ft-values strong{font-size:19px}
 .ft .footer li{flex:1 1 33.33%;padding:10px 0}
 .ft .footer a{font-size:13.5px}
 .ft .fcopy{padding:30px 16px}
 .ft .fcopy img{width:200px}
 .ft .fcopy address{font-size:12.5px;line-height:1.8}
 .ft .fcopy address span{display:block}
 .ft .fcopy address span + span:before{display:none}
 .ft .fcopy p{font-size:12px}
}

/* 병원 가치 띠: 병원 사진(개별 webp) 배경 + 어두운 막 + 글자 */
.ft-values{background:#1d2a2c}
.ft-values li{position:relative;overflow:hidden;height:300px;min-height:0;padding:0 20px;border-left:1px solid rgba(255,255,255,.12)}
.ft .ft-values img.bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.ft-values li:after{content:"";position:absolute;inset:0;background:rgba(10,20,22,.52);transition:background .3s}
.ft-values a:hover li:after{background:rgba(10,20,22,.42)}
.ft-values li > span,.ft-values li > strong{position:relative;z-index:1;text-shadow:0 1px 3px rgba(0,0,0,.35)}
@media (max-width:768px){
 .ft-values li{height:150px;padding:0 16px;border-left:0;border-top:1px solid rgba(255,255,255,.12)}
 .ft-values li:first-child{border-top:0}
}

/* 서브 상단 이미지: <img class="subv-img"> (배경 이미지 대신) */
.subv:has(.subv-img){background:none!important;overflow:hidden}
.subv-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:none;object-position:center top;z-index:0}
.subv h2{z-index:1}

/* ============================================================
   2단계: 상단(헤더 · 메뉴) 반응형
   PC(1025px 이상)는 기존 모양 그대로, 그 이하에서 모바일 헤더 + 전체 메뉴
   ============================================================ */
.m-menu-btn,.m-tel,.mnav,.mnav-dim{display:none}
@media (max-width:1024px){
 html,body{min-width:0!important;overflow-x:hidden}
 #hp_top{display:none}
 #header{width:auto!important;height:64px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e5e5e5;background:#fff;position:sticky;top:0;z-index:1000}
 #header .left_slider{display:none}
 #header .logo{padding:0}
 #header .logo img{display:block;height:38px;width:auto}
 #gnb{display:none}
 .m-menu-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;position:absolute;left:8px;top:50%;transform:translateY(-50%);width:44px;height:44px;padding:0 10px;border:0;background:none;cursor:pointer}
 .m-menu-btn span{display:block;height:2px;background:#222;border-radius:2px}
 .m-tel{display:flex;align-items:center;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%}
 .m-tel svg{width:24px;height:24px;fill:none;stroke:#0e5f66;stroke-width:2.6;stroke-linejoin:round}
 /* 전체 메뉴 (기존 모바일 메뉴 스타일: 청록 상단 + 왼쪽 분류 / 오른쪽 세부 메뉴) */
 .mnav-dim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:10000;opacity:0;transition:opacity .25s}
 .mnav{display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;width:100%;max-width:480px;background:#fff;z-index:10001;transform:translateX(-100%);transition:transform .25s;font-family:"Noto Sans KR",sans-serif}
 .mnav[hidden],.mnav-dim[hidden]{display:none}
 .mnav-open .mnav{transform:none}
 .mnav-open .mnav-dim{opacity:1}
 .mnav-open,.mnav-open body{overflow:hidden}
 .mnav-top{flex:0 0 auto;background:linear-gradient(180deg,#2a8b96,#1f838f);padding:10px 12px 22px 20px;color:#fff}
 .mnav-sns{padding-right:8px!important}
 .mnav-row{display:flex;align-items:center;gap:14px}
 .mnav-row .mnav-close{margin-left:auto}
 /* 네이버예약: 전화번호와 같은 스타일 (어두운 네모 아이콘 + 흰 글자) */
 .mnav-book{display:flex;align-items:center;gap:8px;color:#fff!important;font-size:18px;font-weight:500;letter-spacing:.02em;text-decoration:none;white-space:nowrap}
 .mnav-book svg{width:32px;height:32px;padding:8px;border-radius:4px;background:#0b4f57;fill:#fff;box-sizing:border-box}
 .mnav-tel{display:flex;align-items:center;gap:8px;color:#fff!important;font-size:18px;white-space:nowrap;font-weight:500;letter-spacing:.02em;text-decoration:none}
 .mnav-tel svg{width:32px;height:32px;padding:5px;box-sizing:border-box;border-radius:4px;background:#0b4f57;fill:none;stroke:#fff;stroke-width:3;stroke-linejoin:round}
 .mnav-close{width:48px;height:48px;padding:8px;border:0;background:none;cursor:pointer}
 .mnav-close svg{width:100%;height:100%;stroke:#fff;stroke-width:2.6;fill:none}
 .mnav-sns{list-style:none;margin:14px 0 0;padding:0;display:flex;justify-content:space-around;gap:8px}
 .mnav-sns a{display:flex;align-items:center;justify-content:center;width:min(62px,16vw);height:min(62px,16vw);border-radius:50%;background:rgba(255,255,255,.18)}
 .mnav-sns svg{width:76%;height:76%}
 .mnav-sns .f{fill:#fff}
 .mnav-sns .s{fill:none;stroke:#fff;stroke-width:3.2}
 .mnav-sns text{font:800 9.5px/1 Arial,sans-serif;fill:#1f838f}
 .mnav-body{flex:1 1 auto;display:grid;grid-template-columns:40% 60%;min-height:0}
 .mnav-cat{list-style:none;margin:0;padding:0;background:#f2f2f2;overflow-y:auto}
 .mnav-cat li{border-bottom:1px solid #e1e1e1}
 .mnav-cat button{display:block;width:100%;min-height:58px;padding:14px 10px;border:0;background:none;font:inherit;font-size:16px;line-height:1.35;color:#222;text-align:center;cursor:pointer;word-break:keep-all}
 .mnav-cat li.on{background:#fff;border-bottom:2px solid #208592}
 .mnav-cat li.on button{font-weight:500}
 .mnav-subs{overflow-y:auto;padding:0 18px 30px 20px}
 .mnav-sub{list-style:none;margin:0;padding:0}
 .mnav-sub[hidden]{display:none}
 .mnav-sub li{border-bottom:1px solid #e5e5e5}
 .mnav-sub a{display:block;padding:14px 4px;font-size:15.5px;color:#333;text-decoration:none}
 .mnav-sub a.cur{color:#208592;font-weight:700}
 /* 서브 상단 제목 영역 · 하위 메뉴 */
 .subv{height:150px!important;background-size:cover!important;background-position:center!important}
 .subv-img{object-fit:cover;object-position:center}
 .subv h2{top:50%!important;transform:translateY(-50%);font-size:26px!important;margin:0;padding:0 16px;box-sizing:border-box}
 .snb ul{width:auto!important;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 .snb ul::-webkit-scrollbar{display:none}
 .snb ul li{float:none!important;width:auto!important;flex:0 0 auto;padding:13px 16px!important;font-size:15px!important;white-space:nowrap}
 .snb ul .clr{display:none}
 .snb4 ul li{flex:1 1 auto}
 .board_container{width:auto!important;padding:0 16px 60px}
}
@media (max-width:380px){
 .mnav-row{gap:8px}
 .mnav-tel{font-size:16px;gap:6px}
 .mnav-tel svg{width:28px;height:28px;padding:4px}
 .mnav-book{font-size:16px;gap:6px}
 .mnav-book svg{width:28px;height:28px;padding:7px}
 .mnav-close{width:42px;height:42px}
}
