/* ═══════════════════════════════════════════════════════════
   여행하쎄오 - Boutique Resort Journal
   Champagne Gold × Ivory Cream × Noto Serif KR
   ═══════════════════════════════════════════════════════════ */

:root{
  /* 브랜드 — 샴페인 골드 계열 */
  --pri:#d4a373;         /* 메인 샴페인 골드 */
  --priD:#b8905f;        /* 딥 골드 (hover/active) */
  --priL:#e4c3a0;        /* 라이트 골드 */
  --priXL:#f1e0cc;       /* 엑스트라 라이트 골드 (배경 틴트) */
  --priBg:#faf3ea;       /* 아주 옅은 골드 배경 */
  
  /* 뉴트럴 — 크림/아이보리 */
  --ink:#2a2520;         /* 딥 초콜릿 브라운 (메인 텍스트) */
  --ink2:#5c544a;        /* 세컨더리 브라운 */
  --cream:#faf7f2;       /* 아이보리 크림 (메인 배경) */
  --cream2:#f4efe6;      /* 따뜻한 크림 */
  --warm:#e8ddd0;        /* 워엄 베이지 (보더) */
  --warmL:#f0e8dc;       /* 라이트 베이지 */
  --white:#fff;
  --paper:#fdfbf7;       /* 페이퍼 화이트 */
  
  /* 액센트 (포인트 전용) */
  --rust:#c65d3f;        /* 테라코타 (에러, 경고) */
  --sage:#8b9d7a;        /* 세이지 그린 (성공) */
  --wine:#8b3a3a;        /* 와인 (중요 표시) */
  
  /* 섀도우 — 따뜻한 톤 */
  --sh:rgba(212,163,115,.10);
  --shM:rgba(212,163,115,.18);
  --shL:rgba(42,37,32,.06);
  --shD:rgba(42,37,32,.12);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Pretendard Variable','Pretendard',-apple-system,BlinkMacSystemFont,system-ui,'Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  letter-spacing:-.15px;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
  font-weight:400;
  font-feature-settings:"palt","kern";
}
/* Display/Serif은 히어로·카드 타이틀 등에만 선택적으로 */
.font-serif,h1.font-serif,h2.font-serif{font-family:'Playfair Display','Noto Serif KR',serif;letter-spacing:-.5px}
.font-accent{font-family:'Cormorant Garamond',serif;letter-spacing:1px}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
::-webkit-scrollbar{height:4px;width:6px}
::-webkit-scrollbar-track{background:var(--warmL)}
::-webkit-scrollbar-thumb{background:var(--pri);border-radius:4px}
::selection{background:var(--pri);color:var(--white)}

/* ═══ 상단 NAV 표시 (2026-04-24 복구) ═══ */
#nav{position:sticky;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 28px;background:rgba(250,247,242,.95);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 1px 0 rgba(212,163,115,.15)}
#nav .nav-brand{flex-shrink:0;display:flex;align-items:center}
#nav .nav-logo{height:32px;display:block}
#nav .nav-menu{display:flex;align-items:center;gap:28px;flex:1;justify-content:space-between;margin-left:16px}
#nav .nav-center{display:flex;gap:22px;flex-wrap:wrap;flex:1;justify-content:center}
#nav .nav-right{display:flex;gap:14px;align-items:center;flex-shrink:0}
#nav .nm-d{color:#333;font-size:13.5px;font-weight:500;padding:4px 6px;transition:color .2s;position:relative;white-space:nowrap}
#nav .nm-d:hover,#nav .nm-d.active{color:var(--pri)}
#nav .nm-d.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1.5px;background:var(--pri)}
#nav .nav-cta{padding:7px 16px;background:var(--pri);color:#fff;border-radius:20px;font-size:13px;font-weight:600;transition:opacity .2s}
#nav .nav-cta:hover{opacity:.88}
#nav .nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
#nav .nav-overlay{display:none}
@media (max-width:768px){
  #nav{padding:10px 16px}
  #nav .nav-center{gap:14px;font-size:12.5px}
  #nav .nm-d{font-size:12.5px;padding:3px 4px}
}

/* ═══ STICKY NAV - 스크롤 시 나타나는 고정 미니바 ═══ */
.sticky-nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:14px 32px;background:rgba(250,247,242,.95);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 1px 0 rgba(212,163,115,.15);transform:translateY(-100%);transition:transform .4s cubic-bezier(.4,0,.2,1)}
.sticky-nav.show{transform:translateY(0)}
.sticky-brand{display:flex;align-items:center;flex-shrink:0}
.sticky-logo{height:32px;transition:opacity .3s}
.sticky-menu{display:flex;gap:28px;align-items:center;justify-content:center;flex:1}
.sticky-menu a{font-family:'Cormorant Garamond','Noto Serif KR',serif;font-size:13px;letter-spacing:2px;color:var(--ink);text-transform:uppercase;font-weight:500;position:relative;padding:4px 0;transition:color .3s}
.sticky-menu a::after{content:'';position:absolute;bottom:-2px;left:50%;width:0;height:1px;background:var(--pri);transition:all .3s;transform:translateX(-50%)}
.sticky-menu a:hover,.sticky-menu a.active{color:var(--pri)}
.sticky-menu a:hover::after,.sticky-menu a.active::after{width:100%}
.sticky-right{display:flex;gap:14px;align-items:center;flex-shrink:0}
.sticky-login{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:1.5px;color:var(--ink);text-transform:uppercase;font-weight:500;transition:color .3s}
.sticky-login:hover{color:var(--pri)}
.sticky-cta{padding:8px 20px;border:1px solid var(--pri);background:var(--pri);color:#fff;font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;transition:all .3s}
.sticky-cta:hover{background:transparent;color:var(--pri)}
.sticky-user{display:flex;align-items:center}
.sticky-av{width:30px;height:30px;border-radius:50%;background:var(--pri);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:13px;font-weight:500}

/* ═══ MOBILE NAV (햄버거) ═══ */
.m-nav-toggle{display:none;position:fixed;top:16px;right:16px;z-index:210;width:44px;height:44px;background:rgba(250,247,242,.85);border:1px solid var(--warm);backdrop-filter:blur(12px);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;border-radius:50%;transition:all .3s}
.m-nav-toggle span{display:block;width:20px;height:1px;background:var(--ink);border-radius:1px;transition:all .3s}
.m-nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.m-nav-toggle.active span:nth-child(2){opacity:0}
.m-nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

.m-nav-menu{display:none;position:fixed;top:0;right:-100%;width:85%;max-width:340px;height:100vh;background:var(--cream);flex-direction:column;padding:80px 32px 32px;box-shadow:-4px 0 40px rgba(26,21,16,.25);transition:right .4s cubic-bezier(.4,0,.2,1);overflow-y:auto;z-index:205}
.m-nav-menu.open{right:0}
.m-nav-brand{padding-bottom:28px;margin-bottom:20px;border-bottom:1px solid var(--warmL);text-align:center}
.m-nav-logo{height:36px;margin:0 auto}
.m-nav-links{display:flex;flex-direction:column;gap:0;flex:1}
.m-nav-links a{font-family:'Cormorant Garamond','Noto Serif KR',serif;font-size:17px;letter-spacing:2px;color:var(--ink);padding:16px 4px;border-bottom:1px solid var(--warmL);text-transform:uppercase;font-weight:500;transition:all .25s}
.m-nav-links a:hover,.m-nav-links a.active{color:var(--pri);padding-left:10px}
.m-nav-actions{display:flex;flex-direction:column;gap:10px;padding-top:22px;margin-top:18px;border-top:2px solid var(--pri)}
.m-nav-user{display:flex;align-items:center;gap:10px;padding:12px 4px;font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--ink);letter-spacing:1.5px;font-weight:500}
.m-nav-av{width:34px;height:34px;border-radius:50%;background:var(--pri);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:14px;font-weight:500}
.m-nav-noti{padding:10px 4px;font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--pri);letter-spacing:1.5px;border-top:1px dashed var(--warmL)}
.m-nav-logout{padding:10px 4px;font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--ink2);letter-spacing:1.5px;border-top:1px dashed var(--warmL);text-transform:uppercase}
.m-nav-login{padding:14px 4px;font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:2px;color:var(--ink);text-transform:uppercase;font-weight:500}
.m-nav-cta{padding:14px 20px;background:var(--pri);color:#fff;font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:2.5px;text-transform:uppercase;font-weight:600;text-align:center;margin-top:6px}

.m-nav-overlay{display:none;position:fixed;inset:0;background:rgba(26,21,16,.5);backdrop-filter:blur(4px);z-index:202}
.m-nav-overlay.show{display:block}

/* ═══ HERO - Cinematic ═══ */
.hero{position:relative;height:100vh;min-height:720px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#1a1510}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 35%;animation:heroBreath 30s ease-in-out infinite alternate}
.hero-overlay{position:absolute;inset:0;z-index:1}
@keyframes heroBreath{0%{transform:scale(1)}100%{transform:scale(1.06)}}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:180px;background:linear-gradient(to top,var(--cream),transparent);pointer-events:none;z-index:2}
.hero-c{position:relative;z-index:3;text-align:center;padding:0 24px;animation:fadeUp 1.1s cubic-bezier(.2,.8,.2,1);max-width:1100px;width:100%;display:flex;flex-direction:column;align-items:center}

/* 히어로 로고 (상단 중앙) */
.hero-brand{display:inline-block;margin-bottom:36px;transition:opacity .3s}
.hero-brand:hover{opacity:.85}
.hero-logo{height:46px;filter:brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.4));opacity:1}

/* 히어로 메뉴 + 로그인/회원가입 통합 */
.hero-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:28px;margin:50px auto 0;padding-top:32px;border-top:1px solid rgba(212,163,115,.3);width:100%;max-width:1100px}
.hero-nav-links{display:flex;gap:32px;align-items:center;flex-wrap:wrap;justify-content:center;flex:1;min-width:0}
.hero-nav-link{font-family:'Cormorant Garamond',serif;color:rgba(255,255,255,.92);font-size:16px;letter-spacing:2.5px;transition:all .4s;padding:8px 2px;position:relative;font-weight:600;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.5),0 0 20px rgba(0,0,0,.3)}
.hero-nav-link::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--pri);transition:all .4s;transform:translateX(-50%)}
.hero-nav-link:hover{color:#fff}
.hero-nav-link:hover::after,.hero-nav-link.active::after{width:100%}
.hero-nav-link.active{color:#fff;font-weight:700}

/* 히어로 오른쪽 - 로그인/회원가입 */
.hero-nav-right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.hero-login{font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:2px;color:#fff;text-transform:uppercase;font-weight:600;transition:color .3s;padding:6px 2px;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero-login:hover{color:var(--priL)}
.hero-cta{padding:11px 26px;border:1.5px solid rgba(212,163,115,.9);background:rgba(212,163,115,.15);color:#fff;font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;transition:all .35s;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.hero-cta:hover{background:var(--pri);border-color:var(--pri);transform:translateY(-1px);box-shadow:0 8px 28px rgba(212,163,115,.5)}
.hero-user{display:flex;align-items:center;gap:8px;font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:1.5px;color:#fff;transition:opacity .3s;white-space:nowrap;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.hero-user:hover{opacity:.85}
.hero-av{width:32px;height:32px;border-radius:50%;background:var(--pri);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:14px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.hero-logout{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:1.5px;color:rgba(255,255,255,.75);text-transform:uppercase;transition:color .3s;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.hero-logout:hover{color:#fff}
.hero-noti{position:relative;font-size:18px;color:#fff;padding:4px;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.hero-noti:hover{color:var(--priL)}
.hero-noti-count{position:absolute;top:-4px;right:-4px;background:var(--rust);color:#fff;border-radius:50%;width:17px;height:17px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:'Noto Sans KR',sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.3)}

.hero-line{width:48px;height:2px;background:var(--pri);margin:0 auto 28px;animation:fadeUp 1.3s cubic-bezier(.2,.8,.2,1);box-shadow:0 2px 8px rgba(212,163,115,.4)}
.hero-badge{display:inline-block;padding:12px 38px;border:1.5px solid rgba(212,163,115,.7);color:#fff;font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:7px;margin-bottom:36px;background:rgba(212,163,115,.15);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);text-transform:uppercase;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(38px,5.8vw,72px);color:var(--white);font-weight:600;line-height:1.15;margin-bottom:24px;text-shadow:0 4px 30px rgba(0,0,0,.6),0 2px 12px rgba(0,0,0,.4);letter-spacing:-.5px}
.hero h1 em{font-style:italic;color:var(--priL);font-family:'Cormorant Garamond',serif;font-weight:600;text-shadow:0 4px 30px rgba(0,0,0,.6),0 2px 12px rgba(0,0,0,.5),0 0 40px rgba(212,163,115,.3)}
.hero-sub{font-family:'Cormorant Garamond',serif;font-size:clamp(15px,1.6vw,18px);color:rgba(255,255,255,.95);font-weight:500;max-width:520px;margin:0 auto 44px;letter-spacing:2px;font-style:italic;text-shadow:0 2px 12px rgba(0,0,0,.5),0 1px 4px rgba(0,0,0,.3)}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ═══ BUTTONS - Refined ═══ */
.btn{display:inline-block;padding:14px 40px;font-family:'Cormorant Garamond','Noto Serif KR',serif;font-size:13px;font-weight:600;border-radius:0;cursor:pointer;border:1px solid transparent;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:3px;text-transform:uppercase;position:relative;overflow:hidden}
.btn-w{background:var(--white);color:var(--ink);border-color:var(--white)}
.btn-w:hover{background:transparent;color:var(--white);transform:translateY(-1px)}
.btn-ghost{border-color:rgba(255,255,255,.5);color:var(--white);background:transparent}
.btn-ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white)}
.btn-pri{background:var(--pri);color:var(--white);border-color:var(--pri)}
.btn-pri:hover{background:var(--priD);border-color:var(--priD);transform:translateY(-1px);box-shadow:0 8px 24px rgba(212,163,115,.3)}
.btn-out{background:transparent;color:var(--pri);border-color:var(--pri)}
.btn-out:hover{background:var(--pri);color:var(--white)}
.btn-sm{padding:9px 22px;font-size:11px;letter-spacing:2px}

/* ═══ SECTION HEADER ═══ */
.sh{text-align:center;margin-bottom:56px;animation:fadeUp .8s cubic-bezier(.2,.8,.2,1)}
.sh .label{font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:5.5px;text-transform:uppercase;color:var(--pri);font-weight:600;margin-bottom:14px;display:inline-block;position:relative;padding:0 24px}
.sh .label::before,.sh .label::after{content:'';position:absolute;top:50%;width:16px;height:1px;background:var(--pri);opacity:.5}
.sh .label::before{right:100%}
.sh .label::after{left:100%}
.sh h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3.6vw,44px);font-weight:400;margin-bottom:14px;color:var(--ink);letter-spacing:-.5px;line-height:1.25}
.sh h2 em{font-style:italic;color:var(--pri);font-family:'Cormorant Garamond',serif}
.sh p{font-family:'Noto Serif KR',serif;font-size:14px;color:var(--ink2);max-width:540px;margin:0 auto;line-height:1.8;font-weight:300}
.sh .more{display:inline-block;margin-top:18px;font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--pri);font-weight:600;letter-spacing:2px;text-transform:uppercase;padding-bottom:2px;border-bottom:1px solid transparent;transition:border .3s}
.sh .more:hover{border-bottom-color:var(--pri)}

/* ═══ STATS - Refined ═══ */
.stats{display:flex;justify-content:center;gap:80px;padding:64px 32px;background:var(--ink);flex-wrap:wrap;position:relative}
.stats::before{content:'';position:absolute;top:0;left:50%;width:60px;height:1px;background:var(--pri);transform:translateX(-50%)}
.stats .s{text-align:center}
.stats .s .n{font-family:'Playfair Display',serif;font-size:44px;color:var(--pri);font-weight:400;letter-spacing:-.5px}
.stats .s .l{font-family:'Cormorant Garamond',serif;font-size:12px;color:rgba(255,255,255,.5);letter-spacing:3px;text-transform:uppercase;margin-top:4px}

/* ═══ BANNERS - Editorial ═══ */
.banners{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1200px;margin:0 auto;padding:0 32px}
.banner{position:relative;border-radius:0;overflow:hidden;min-height:320px;display:flex;align-items:flex-end;transition:all .5s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px var(--shL)}
.banner:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(42,37,32,.15)}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.banner:hover img{transform:scale(1.06)}
.banner-o{position:relative;z-index:1;padding:40px;width:100%;background:linear-gradient(to top,rgba(26,21,16,.92),rgba(26,21,16,.2) 70%,transparent)}
.banner .bb{display:inline-block;padding:5px 14px;border:1px solid rgba(212,163,115,.6);font-family:'Cormorant Garamond',serif;font-size:10px;letter-spacing:3px;color:var(--priXL);margin-bottom:14px;text-transform:uppercase;background:rgba(212,163,115,.1);backdrop-filter:blur(8px)}
.banner h3{font-family:'Playfair Display',serif;font-size:clamp(22px,2.8vw,30px);color:var(--white);font-weight:400;margin-bottom:6px;letter-spacing:-.3px}
.banner .bd{font-family:'Noto Serif KR',serif;font-size:13px;color:rgba(255,255,255,.7);margin-bottom:12px;font-weight:300}
.banner .bl{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--pri);font-weight:600;letter-spacing:2px;text-transform:uppercase}

/* ═══ FILTER TABS ═══ */
.ftabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;justify-content:center}
.ftab{padding:8px 22px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:2px;border:1px solid var(--warm);background:transparent;color:var(--ink2);transition:all .35s;text-decoration:none;display:inline-block;text-transform:uppercase;font-weight:500}
.ftab:hover{border-color:var(--pri);color:var(--pri)}
.ftab.active{background:var(--pri);color:var(--white);border-color:var(--pri)}

/* ═══ TOUR CARD - Editorial ═══ */
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;max-width:1200px;margin:0 auto}
.tcard{display:block;background:var(--white);border-radius:0;overflow:hidden;box-shadow:0 2px 14px var(--sh);transition:all .45s cubic-bezier(.4,0,.2,1);border:1px solid var(--warmL)}
.tcard:hover{transform:translateY(-6px);box-shadow:0 20px 50px var(--shM);border-color:var(--priL)}
.tcard-img{position:relative;height:240px;overflow:hidden}
.tcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1)}
.tcard:hover .tcard-img img{transform:scale(1.08)}
.tcard-badges{position:absolute;top:14px;left:14px;display:flex;gap:6px;flex-wrap:wrap}
.badge{padding:4px 12px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase}
.badge-pri{background:var(--pri);color:var(--white)}
.badge-s{background:rgba(26,21,16,.78);color:var(--white);backdrop-filter:blur(6px)}
.tcard-guide{position:absolute;bottom:14px;right:14px;display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;background:rgba(255,255,255,.95);border-radius:50px;font-family:'Cormorant Garamond',serif;font-size:12px;font-weight:500;letter-spacing:1px;backdrop-filter:blur(8px)}
.tcard-gav{width:24px;height:24px;border-radius:50%;background:var(--pri);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:'Noto Serif KR',serif}
.tcard-body{padding:22px 22px 20px}
.tcard-title{font-family:'Playfair Display',serif;font-size:18px;font-weight:500;margin-bottom:6px;letter-spacing:-.2px;color:var(--ink);line-height:1.35}
.tcard-desc{font-family:'Noto Serif KR',serif;font-size:13px;color:var(--ink2);margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:300;line-height:1.7}
.tcard-meta{display:flex;gap:12px;font-family:'Cormorant Garamond',serif;font-size:12px;color:var(--ink2);margin-bottom:12px;letter-spacing:1px}
.tcard-dates{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px}
.dc{padding:3px 10px;background:var(--cream2);border-radius:0;font-family:'Cormorant Garamond',serif;font-size:11px;color:var(--ink);letter-spacing:1px;border:1px solid var(--warmL)}
.dc.hot{background:var(--priXL);color:var(--priD);border-color:var(--priL)}
.tcard-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--warmL)}
.tcard-price{font-family:'Cormorant Garamond',serif;font-size:11px;color:var(--ink2);letter-spacing:1px}
.tcard-price strong{font-family:'Playfair Display',serif;font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.3px;margin-right:2px}
.btn-view{padding:9px 22px;background:transparent;color:var(--pri);border:1px solid var(--pri);border-radius:0;font-family:'Cormorant Garamond',serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:all .3s}
.tcard:hover .btn-view{background:var(--pri);color:var(--white)}

/* ═══ GUIDE CARD ═══ */
.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;max-width:1200px;margin:0 auto}
.gcard{display:block;background:var(--white);border-radius:0;overflow:hidden;box-shadow:0 4px 24px var(--sh);transition:all .45s cubic-bezier(.4,0,.2,1);border:1px solid var(--warmL)}
.gcard:hover{transform:translateY(-6px);box-shadow:0 22px 54px var(--shM);border-color:var(--priL)}
.gcard-img{height:260px;overflow:hidden;position:relative}
.gcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gcard:hover .gcard-img img{transform:scale(1.05)}
.gcard-overlay{position:absolute;bottom:0;left:0;right:0;padding:32px 22px 16px;background:linear-gradient(to top,rgba(26,21,16,.9),transparent)}
.gcard-name{font-family:'Playfair Display',serif;font-size:24px;color:var(--white);font-weight:400;letter-spacing:-.3px}
.gcard-role{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--priL);letter-spacing:2px;text-transform:uppercase;margin-top:2px}
.gcard-body{padding:22px}
.gcard-stats{display:flex;gap:16px;margin-bottom:14px;padding:14px 0;border-top:1px solid var(--warmL);border-bottom:1px solid var(--warmL)}
.gcard-stat{text-align:center;flex:1}
.gcard-stat strong{font-family:'Playfair Display',serif;font-size:20px;display:block;color:var(--ink);font-weight:500}
.gcard-stat small{font-family:'Cormorant Garamond',serif;font-size:11px;color:var(--ink2);letter-spacing:1.5px;text-transform:uppercase}
.gcard-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.gcard-tags .rg{padding:4px 12px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:11px;background:var(--pri);color:var(--white);letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.gcard-tags .tg{padding:4px 12px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:11px;border:1px solid var(--warm);color:var(--ink2);letter-spacing:1px}
.gcard-cta{display:flex;justify-content:space-between;padding-top:14px;border-top:1px solid var(--warmL);font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:1.5px;text-transform:uppercase}
.gcard-cta span:last-child{color:var(--pri);font-weight:600}

/* ═══ PAGE TOP - Boutique Header ═══ */
.ptop{padding:80px 32px 90px;background:var(--ink);text-align:center;position:relative;overflow:hidden;color:var(--white);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:auto}
.ptop::before{content:'';position:absolute;inset:0;background:
  radial-gradient(ellipse at 30% 20%, rgba(212,163,115,.15), transparent 50%),
  radial-gradient(ellipse at 70% 80%, rgba(212,163,115,.08), transparent 60%)}
.ptop::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:60px;background:linear-gradient(to top,var(--cream),transparent);pointer-events:none}
.ptop-inner{position:relative;z-index:1;max-width:1100px;width:100%;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;animation:fadeUp 1s cubic-bezier(.2,.8,.2,1)}

/* ptop 로고 (상단 중앙) */
.ptop-brand{display:inline-block;margin-bottom:32px;transition:opacity .3s}
.ptop-brand:hover{opacity:.85}
.ptop-logo{height:42px;filter:brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0,0,0,.35));opacity:1}

.ptop-label{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:6px;text-transform:uppercase;color:var(--pri);font-weight:700;margin-bottom:20px;display:inline-block;position:relative;padding:0 30px;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.ptop-label::before,.ptop-label::after{content:'';position:absolute;top:50%;width:20px;height:1.5px;background:var(--pri);opacity:.8}
.ptop-label::before{right:100%}
.ptop-label::after{left:100%}
.ptop-title{font-family:'Playfair Display',serif;font-size:clamp(32px,4.6vw,56px);color:var(--white);font-weight:600;margin:0 0 18px;letter-spacing:-.5px;line-height:1.15;text-align:center;width:100%;text-shadow:0 4px 24px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3)}
.ptop-title em{font-style:italic;color:var(--priL);font-family:'Cormorant Garamond',serif;font-weight:600;text-shadow:0 4px 24px rgba(0,0,0,.5),0 0 30px rgba(212,163,115,.3)}
.ptop-desc{font-family:'Cormorant Garamond',serif;font-size:17px;color:rgba(255,255,255,.88);max-width:580px;margin:0 auto 40px;line-height:1.7;font-style:italic;letter-spacing:.5px;text-align:center;font-weight:500;text-shadow:0 2px 10px rgba(0,0,0,.4)}

/* Luxury menu bar under title (통합: 메뉴 + 로그인/회원가입) */
.ptop-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px;margin:0 auto;padding-top:30px;border-top:1px solid rgba(212,163,115,.3);width:100%;max-width:1100px}
.ptop-nav-links{display:flex;gap:30px;align-items:center;flex-wrap:wrap;justify-content:center;flex:1;min-width:0}
.ptop-nav-link{font-family:'Cormorant Garamond',serif;color:rgba(255,255,255,.88);font-size:15px;letter-spacing:2.5px;transition:all .4s cubic-bezier(.4,0,.2,1);padding:6px 2px;position:relative;font-weight:600;text-transform:uppercase;text-decoration:none;white-space:nowrap;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.ptop-nav-link::after{content:'';position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--pri);transition:all .4s cubic-bezier(.4,0,.2,1);transform:translateX(-50%)}
.ptop-nav-link:hover{color:#fff}
.ptop-nav-link:hover::after,.ptop-nav-link.active::after{width:100%}
.ptop-nav-link.active{color:#fff;font-weight:700}

/* ptop 오른쪽 - 로그인/회원가입 */
.ptop-nav-right{display:flex;align-items:center;gap:14px;flex-shrink:0}
.ptop-login{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:2px;color:#fff;text-transform:uppercase;font-weight:600;transition:color .3s;padding:6px 2px;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.ptop-login:hover{color:var(--priL)}
.ptop-cta{padding:10px 24px;border:1.5px solid rgba(212,163,115,.8);background:rgba(212,163,115,.15);color:#fff;font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;font-weight:700;transition:all .35s;white-space:nowrap;text-shadow:0 1px 4px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.ptop-cta:hover{background:var(--pri);border-color:var(--pri);color:#fff;transform:translateY(-1px);box-shadow:0 8px 28px rgba(212,163,115,.5)}
.ptop-user{display:flex;align-items:center;gap:8px;font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:1.5px;color:#fff;transition:opacity .3s;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.4)}
.ptop-user:hover{opacity:.85}
.ptop-av{width:30px;height:30px;border-radius:50%;background:var(--pri);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:13px;font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ptop-logout{font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:1.5px;color:rgba(255,255,255,.7);text-transform:uppercase;transition:color .3s;font-weight:500;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.ptop-logout:hover{color:#fff}
.ptop-noti{position:relative;font-size:17px;color:#fff;padding:4px;text-shadow:0 2px 8px rgba(0,0,0,.3)}
.ptop-noti:hover{color:var(--priL)}
.ptop-noti-count{position:absolute;top:-4px;right:-4px;background:var(--rust);color:#fff;border-radius:50%;width:17px;height:17px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;font-family:'Noto Sans KR',sans-serif;box-shadow:0 2px 6px rgba(0,0,0,.3)}

/* ═══ SCHEDULE ═══ */
.sched-row{display:flex;align-items:center;justify-content:space-between;padding:18px 26px;border-bottom:1px solid var(--warmL);flex-wrap:wrap;gap:8px;transition:background .3s}
.sched-row:hover{background:var(--cream2)}
.sr-date{font-family:'Playfair Display',serif;font-weight:500;font-size:16px;min-width:110px;color:var(--ink)}
.sr-st{padding:4px 14px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase}
.sr-av{background:rgba(139,157,122,.18);color:var(--sage)}
.sr-few{background:rgba(212,163,115,.2);color:var(--priD)}
.sr-sold{background:var(--warmL);color:var(--ink2)}
.sr-seats{font-family:'Cormorant Garamond',serif;font-size:13px;color:var(--ink2);letter-spacing:1px}
.sr-btn{padding:7px 20px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:11px;font-weight:600;border:1px solid;letter-spacing:2px;text-transform:uppercase;display:inline-block;text-align:center;transition:all .3s}
.sr-btn-bk{background:var(--pri);color:var(--white);border-color:var(--pri)}
.sr-btn-bk:hover{background:var(--priD);border-color:var(--priD)}
.sr-btn-ur{background:var(--wine);color:var(--white);border-color:var(--wine)}
.sr-btn-dis{background:transparent;color:var(--ink2);border-color:var(--warm);cursor:not-allowed}

/* ═══ ITINERARY ═══ */
.itin-day{background:var(--white);border-radius:0;padding:20px 22px;margin-bottom:10px;box-shadow:0 1px 8px var(--sh);cursor:pointer;transition:all .3s;border:1px solid var(--warmL);border-left:3px solid var(--pri)}
.itin-day:hover{box-shadow:0 6px 20px var(--shM);transform:translateX(2px)}
.itin-hd{display:flex;align-items:center;gap:14px}
.itin-num{width:38px;height:38px;border-radius:50%;background:var(--pri);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-weight:500;font-size:14px;flex-shrink:0}
.itin-t{font-family:'Playfair Display',serif;font-weight:500;font-size:16px;flex:1;color:var(--ink)}
.itin-det{display:none;padding:14px 0 0 52px;font-family:'Noto Serif KR',serif;font-size:14px;color:var(--ink2);line-height:1.95;font-weight:300}
.itin-day.open .itin-det{display:block}

/* ═══ REVIEW CARD ═══ */
.rv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;max-width:1200px;margin:0 auto}
.rv-card{background:var(--white);border-radius:0;overflow:hidden;box-shadow:0 2px 14px var(--sh);border:1px solid var(--warmL);transition:all .4s}
.rv-card:hover{transform:translateY(-4px);box-shadow:0 16px 42px var(--shM)}
.rv-img{height:210px;overflow:hidden}
.rv-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rv-card:hover .rv-img img{transform:scale(1.05)}
.rv-body{padding:26px}
.rv-stars{color:var(--pri);font-size:14px;letter-spacing:3px;margin-bottom:12px}
.rv-text{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--ink);line-height:1.85;margin-bottom:16px;font-style:italic;font-weight:400;position:relative;padding-left:18px;border-left:2px solid var(--priL)}

/* ═══ BOARD ═══ */
.board{background:var(--white);border-radius:0;overflow:hidden;box-shadow:0 2px 16px var(--sh);border:1px solid var(--warmL)}
.board-hd{display:grid;padding:14px 24px;background:var(--ink);color:var(--white);font-family:'Cormorant Garamond',serif;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase}
.board-row{display:grid;padding:16px 24px;border-bottom:1px solid var(--warmL);align-items:center;transition:background .3s;font-family:'Noto Serif KR',serif;font-size:14px}
.board-row:hover{background:var(--priBg)}
.br-badge{display:inline-block;padding:2px 8px;border-radius:0;font-family:'Cormorant Garamond',serif;font-size:10px;font-weight:700;margin-left:8px;letter-spacing:1.5px;text-transform:uppercase;background:var(--pri);color:var(--white)}

/* ═══ FORM - Refined ═══ */
.fg{margin-bottom:22px}
.fg label{display:block;font-family:'Cormorant Garamond',serif;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:8px;letter-spacing:2px;text-transform:uppercase}
.fg input,.fg select,.fg textarea{width:100%;padding:13px 16px;border:1px solid var(--warm);border-radius:0;font-size:14px;outline:none;font-family:'Noto Serif KR',serif;transition:all .3s;background:var(--white);color:var(--ink)}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--pri);box-shadow:0 0 0 3px rgba(212,163,115,.12)}
.fg input::placeholder,.fg textarea::placeholder{color:var(--ink2);opacity:.5;font-style:italic}
.fg textarea{height:120px;resize:vertical;line-height:1.7}
.fg-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ═══ FOOTER - Editorial ═══ */
footer{background:var(--ink);color:rgba(255,255,255,.45);padding:72px 32px 28px;position:relative}
footer::before{content:'';position:absolute;top:0;left:50%;width:60px;height:1px;background:var(--pri);transform:translateX(-50%)}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.footer-logo{height:34px;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.7}
.footer-info{font-family:'Noto Serif KR',serif;font-size:13px;line-height:2;font-weight:300;letter-spacing:.3px}
footer h4{color:var(--priL);font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:3.5px;margin-bottom:18px;text-transform:uppercase;font-weight:600}
footer a{display:block;font-family:'Noto Serif KR',serif;font-size:13px;margin-bottom:11px;transition:color .3s;font-weight:300}
footer a:hover{color:var(--pri)}
.footer-bottom{max-width:1200px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:1.5px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.footer-legal{max-width:1200px;margin:0 auto 24px;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.footer-legal a{font-family:'Cormorant Garamond',serif;font-size:13px;color:rgba(255,255,255,.55);padding:5px 12px;border-radius:0;transition:all .3s;letter-spacing:1.5px;display:inline-block;margin:0}
.footer-legal a:hover{color:var(--pri);background:transparent}
.footer-legal a:not(:last-child)::after{content:'·';margin-left:8px;color:rgba(255,255,255,.2)}

/* ═══ WRAPPER ═══ */
.sec{padding:110px 32px}
.sec-w{background:var(--white)}
.sec-d{background:var(--ink)}
.sec-p{background:linear-gradient(135deg,var(--priD),var(--pri) 60%,var(--priL));color:var(--white)}
.sec-cream{background:var(--cream2)}
.mw{max-width:1200px;margin:0 auto}

/* ═══ ANIM ═══ */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* ═══ DARK SECTION 스타일 (.sec-d에서 .sh 재설정) ═══ */
.sec-d .sh .label{color:var(--priL)}
.sec-d .sh h2{color:var(--white)}
.sec-d .sh p{color:rgba(255,255,255,.5)}
.sec-d .sh h2 em{color:var(--pri)}

/* ═══ 공통 컴포넌트 ═══ */
.divider{width:60px;height:1px;background:var(--pri);margin:0 auto}
.divider-dark{background:var(--priL)}
.serif-em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--pri)}
.label-small{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:var(--pri);font-weight:600}

/* ═════════════════════════════════════════
   📱 RESPONSIVE - 태블릿 (1024px 이하)
   ═════════════════════════════════════════ */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .tgrid,.rv-grid{grid-template-columns:repeat(2,1fr)}
  .ggrid{grid-template-columns:repeat(2,1fr)}
  .detail-grid{grid-template-columns:1fr!important}
  .sec{padding:80px 24px}
  .stats{gap:50px;padding:48px 24px}
  
  /* 태블릿 ptop 메뉴 살짝 축소 */
  .ptop-nav{gap:18px;padding-top:26px}
  .ptop-nav-links{gap:22px}
  .ptop-nav-link{font-size:14px;letter-spacing:2px}
  .ptop-nav-right{gap:12px}
  .ptop-login{font-size:12px}
  .ptop-cta{padding:8px 18px;font-size:10px;letter-spacing:2px}
  .sticky-nav{padding:12px 22px}
  .sticky-menu{gap:22px}
  .sticky-menu a{font-size:12px;letter-spacing:1.5px}
}

/* ═════════════════════════════════════════
   📱 RESPONSIVE - 모바일 (768px 이하)
   ═════════════════════════════════════════ */
@media(max-width:768px){
  body{font-size:14px;line-height:1.75}
  
  /* 구 네비게이션 완전 숨김 (새 m-nav로 대체) */
  #nav,.nav-toggle,.nav-menu,.nav-overlay{display:none !important}
  
  /* 히어로 */
  .hero{min-height:580px;height:auto;padding:90px 0 70px}
  .hero-c{padding:0 20px}
  .hero-brand{margin-bottom:24px}
  .hero-logo{height:36px}
  .hero-nav{display:none !important}
  .hero-line{margin-bottom:20px}
  .hero-badge{font-size:10px;letter-spacing:4px;padding:9px 20px;margin-bottom:24px}
  .hero h1{font-size:clamp(30px,9vw,44px);line-height:1.2;margin-bottom:16px;padding:0 12px}
  .hero-sub{font-size:14px;margin-bottom:32px;padding:0 24px}
  .hero-btns{flex-direction:column;padding:0 32px;gap:12px}
  .hero-btns .btn{width:100%}
  
  /* 섹션 헤더 */
  .sh{margin-bottom:36px}
  .sh h2{font-size:clamp(24px,5.5vw,32px)}
  .sh p{font-size:13px;padding:0 16px}
  .sh .label{font-size:11px;letter-spacing:4px}
  
  /* 통계 */
  .stats{gap:32px;padding:40px 20px}
  .stats .s .n{font-size:32px}
  .stats .s .l{font-size:10px;letter-spacing:2px}
  
  /* 배너 */
  .banners{grid-template-columns:1fr;gap:16px;padding:0 16px}
  .banner{min-height:260px}
  .banner-o{padding:26px}
  
  /* 카드 그리드 */
  .tgrid,.rv-grid,.ggrid{grid-template-columns:1fr!important;gap:20px}
  
  /* 푸터 */
  footer{padding:52px 22px 22px}
  .footer-grid{grid-template-columns:1fr;gap:32px;text-align:center}
  .footer-logo{margin:0 auto 16px}
  .footer-bottom{flex-direction:column;text-align:center;gap:8px}
  .footer-legal{flex-wrap:wrap}
  
  /* 섹션 공통 */
  .sec{padding:60px 16px}
  .mw{padding:0}
  
  /* 버튼 */
  .btn{padding:13px 26px;font-size:12px;letter-spacing:2.5px}
  .btn-sm{padding:8px 16px;font-size:10px;letter-spacing:1.5px}
  
  /* 폼 */
  .fg-row{grid-template-columns:1fr;gap:12px}
  .fg input,.fg select,.fg textarea{padding:13px 14px;font-size:14px}
  .fg label{font-size:11px}
  
  /* 투어 카드 */
  .tcard-img{height:220px}
  .tcard-body{padding:20px}
  .tcard-title{font-size:18px}
  
  /* 가이드 카드 */
  .gcard-img{height:290px}
  
  /* 상세 페이지 ptop - 모바일 */
  .ptop{padding:80px 20px 60px;min-height:auto}
  .ptop-inner{gap:0}
  .ptop-brand{margin-bottom:20px}
  .ptop-logo{height:32px}
  .ptop-title{font-size:clamp(26px,7vw,36px);margin-bottom:12px}
  .ptop-label{font-size:11px;letter-spacing:4px;padding:0 22px}
  .ptop-label::before,.ptop-label::after{width:14px}
  .ptop-desc{font-size:14px;margin-bottom:22px}
  
  /* 내부 페이지 메뉴바 - 모바일: 햄버거로 통합, ptop-nav 숨김 */
  .ptop-nav{display:none !important}
  
  /* 모바일 햄버거 버튼 표시 */
  .m-nav-toggle{display:flex !important}
  .m-nav-menu{display:flex !important}
  
  /* 스크롤 sticky nav는 모바일에서 숨김 (햄버거로 대체) */
  .sticky-nav{display:none !important}
  
  /* 상세 그리드 */
  .detail-grid{grid-template-columns:1fr!important;gap:24px!important}
  
  /* 일정 */
  .itin-day{padding:16px!important}
  .itin-hd{gap:12px}
  .itin-num{width:40px!important;height:40px!important;font-size:13px!important}
  .itin-t{font-size:15px}
  .itin-det{font-size:13px;padding-left:12px;margin-top:10px}
  
  /* 스케줄 줄 */
  .sched-row{flex-direction:column;align-items:flex-start;gap:8px;padding:14px 4px}
  .sr-btn{align-self:stretch;text-align:center}
  
  /* 게시판 */
  .board-hd{display:none!important}
  .board-row{grid-template-columns:1fr!important;padding:16px;gap:6px;border-bottom:1px solid var(--warm)}
  .board-row > span:nth-child(1),
  .board-row > span:nth-child(4),
  .board-row > span:nth-child(5){display:none}
  
  /* 탭 */
  .ftabs{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start}
  .ftabs::-webkit-scrollbar{display:none}
  .ftab{flex-shrink:0;font-size:12px;padding:8px 16px}
  
  /* 이미지 크기 제한 */
  .tcard-img img, .gcard img{max-height:280px}
  
  /* 모바일 타이포그래피 */
  h1{font-size:clamp(24px,6vw,30px)}
  h2{font-size:clamp(20px,5vw,26px)}
  h3{font-size:clamp(17px,4.5vw,22px)}
}

/* ═════════════════════════════════════════
   📱 RESPONSIVE - 작은 모바일 (480px 이하)
   ═════════════════════════════════════════ */
@media(max-width:480px){
  body{font-size:13.5px}
  #nav{padding:12px 14px}
  .nav-logo{height:28px}
  
  .hero{min-height:520px;padding:90px 0 60px}
  .hero h1{font-size:clamp(26px,7.5vw,34px)}
  .hero-sub{font-size:13px}
  
  .sec{padding:48px 14px}
  .sh h2{font-size:clamp(22px,5.5vw,28px)}
  
  .stats{gap:20px;padding:34px 14px}
  .stats .s .n{font-size:28px}
  
  .detail-hero{height:36vh!important;min-height:260px!important}
  
  .tcard-img{height:200px}
  .gcard-img{height:240px}
  
  .fg input,.fg select,.fg textarea{font-size:13.5px;padding:12px 12px}
  
  .btn{padding:12px 22px;font-size:11.5px}
  
  footer{padding:36px 18px 18px}
  .footer-info{font-size:12px}
}

/* ═════════════════════════════════════════
   📱 가로 모드 대응
   ═════════════════════════════════════════ */
@media(max-width:900px) and (orientation:landscape){
  .hero{min-height:440px}
  .nav-menu{max-width:300px}
}

/* ═════════════════════════════════════════
   🖐️ 터치 기기 최적화
   ═════════════════════════════════════════ */
@media(hover:none) and (pointer:coarse){
  .btn,.tcard,.gcard,.rv-card{cursor:pointer}
  .btn:active{transform:scale(.98)}
  .tcard:hover,.gcard:hover{transform:none}
}

/* 데스크탑에서 햄버거 숨김 */
@media(min-width:769px){.nav-toggle,.nav-overlay{display:none!important}}

/* ═════════════════════════════════════════
   📱 상세 페이지 사이드바 sticky 해제 (모바일)
   ═════════════════════════════════════════ */
@media(max-width:768px){
  .detail-grid > div:last-child > div[style*="position:sticky"],
  .detail-grid > div[style*="position:sticky"]{
    position:static!important;
    top:auto!important;
  }
}

/* ═════════════════════════════════════════
   📱 로그인/회원가입/마이페이지/상세 모바일 오버라이드
   ═════════════════════════════════════════ */
@media(max-width:768px){
  /* 로그인/회원가입 컨테이너 */
  div[style*="padding:120px 24px 60px"]{padding:100px 16px 40px!important}
  div[style*="padding:120px 32px 80px"]{padding:100px 16px 40px!important}
  
  /* 로그인/회원가입 카드 */
  div[style*="border-radius:20px"][style*="padding:44px"]{padding:32px 22px!important;border-radius:0!important;border:1px solid var(--warmL)}
  
  /* 히어로 이미지 있는 상세 페이지 */
  div[style*="height:48vh"],div[style*="height:50vh"]{height:38vh!important;min-height:260px!important}
  div[style*="padding:44px"]{padding:28px 18px!important}
  
  /* 상세 페이지 카드들 */
  div[style*="padding:40px"][style*="border-radius:20px"]{padding:26px 18px!important;border-radius:0!important}
  div[style*="padding:28px"][style*="border-radius:16px"]{padding:22px 16px!important;border-radius:0!important}
  
  /* 마이페이지 사이드바 */
  div[style*="grid-template-columns:240px 1fr"]{grid-template-columns:1fr!important}
  
  /* 토스트 */
  div[style*="position:fixed;top:80px"]{top:72px!important;left:12px!important;right:12px!important;transform:none!important;width:auto!important}
  
  /* 모달 */
  .modal{width:95%!important;max-width:95%!important;max-height:90vh!important;border-radius:0!important}
  .modal-h h3{font-size:15px}
  
  /* 후기/이미지 갤러리 */
  div[style*="grid-template-columns:repeat(auto-fill,minmax(200px,1fr))"]{grid-template-columns:repeat(auto-fill,minmax(144px,1fr))!important}
  div[style*="grid-template-columns:repeat(auto-fill,minmax(240px,1fr))"]{grid-template-columns:1fr!important}
  
  /* 특장점 그리드 */
  .feat-grid,.features{grid-template-columns:1fr 1fr!important;gap:14px!important}
  
  /* 가이드 페이지 통계 */
  div[style*="gap:44px"][style*="padding:36px"]{gap:20px!important;padding:22px 14px!important;margin-top:-22px!important}
  
  /* 일정 페이지 */
  div[style*="display:flex;gap:18px"]{flex-direction:column}
  div[style*="width:220px;flex-shrink:0"]{width:100%!important}
  
  /* 스케줄 행 */
  .sched-row .sr-date{font-size:14px!important}
  .sched-row .sr-st,.sr-seats{font-size:11px!important}
}

@media(max-width:480px){
  div[style*="padding:44px 40px"]{padding:26px 18px!important}
  .stat-grid,.feat-grid{grid-template-columns:1fr 1fr!important}
}
