/*
Theme Name: Bucheon Landing
Theme URI: https://bucheonkaraoke.com
Author: ISM Marketing
Description: 부천룸싸롱 ROSE 퍼블릭 프리미엄 랜딩 v7. 경량 정적, SEO 최적화.
Version: 7.1.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: bucheon-landing
*/
:root{
  --g:#d4a745;--g2:#e8c96a;--gd:#b8912e;--pk:#c4375a;
  --bg:#060608;--bg2:#0c0c12;--cd:#101018;
  --bd:rgba(212,167,69,.12);
  --ft:'Black Han Sans',sans-serif;
  --fs:'Do Hyeon',sans-serif;
  --fb:'Pretendard Variable','Pretendard','Noto Sans KR',sans-serif;
  --fa:'Cinzel',serif;
  --fm:'Montserrat',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{background:var(--bg);color:#fff;font-family:var(--fb);font-weight:500;overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.7}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
.w{position:relative;overflow-x:hidden}
.bx{max-width:1400px;margin:0 auto;padding:0 24px;overflow:hidden}

/* ── 골드 포인트만 ── */
.fg{color:var(--g)}
.otl{-webkit-text-stroke:1.5px var(--g);color:transparent}
.otl-pk{-webkit-text-stroke:1.5px var(--pk);color:transparent}

/* ══ TOP BAR ══ */
.top-bar{background:var(--bg2);padding:10px 20px;text-align:center;border-bottom:1px solid var(--bd)}
.top-bar a{font-family:var(--fm);font-size:1.1rem;font-weight:800;color:var(--g);letter-spacing:2px}

/* ══ 내부링크 ══ */
.int-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:16px 20px;background:var(--bg2);border-bottom:1px solid var(--bd)}
.int-links a{font-family:var(--fb);font-size:.85rem;font-weight:700;color:#fff;padding:6px 16px;border:1px solid rgba(255,255,255,.1);border-radius:50px;transition:.2s}
.int-links a:hover{color:var(--g);border-color:var(--g)}

/* ══ POSTER ══ */
.poster{width:100%;overflow:hidden;background:var(--bg)}
.poster a{display:block}
.poster img{max-width:100%;width:auto;height:auto;display:block;margin:0 auto}

/* ══ MARQUEE ══ */
.mq{padding:14px 0;overflow:hidden}
.mq-gold{background:linear-gradient(90deg,#1a1205,var(--g),var(--g2),var(--g),#1a1205)}
.mq-dark{background:var(--bg2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.mq-t{display:flex;animation:mqx 22s linear infinite;width:max-content}
.mq-t span{flex-shrink:0;font-family:var(--ft);font-size:clamp(.85rem,2vw,1.3rem);letter-spacing:3px;padding:0 36px;white-space:nowrap}
.mq-gold .mq-t span{color:#000;font-weight:900}
.mq-dark .mq-t span{color:var(--g);font-weight:700}
@keyframes mqx{to{transform:translateX(-50%)}}

/* ══ STATS ══ */
.stats-strip{background:var(--bg2);padding:40px 20px;border-top:2px solid var(--bd);border-bottom:2px solid var(--bd)}
.stats{display:flex;justify-content:space-around;flex-wrap:wrap;gap:12px;max-width:1000px;margin:0 auto}
.stat{text-align:center;flex:1;min-width:70px}
.stat-n{font-family:var(--fm);font-size:clamp(2.2rem,5vw,4rem);font-weight:900;color:var(--g);line-height:1}
.stat-l{font-family:var(--fb);font-size:clamp(.75rem,1.3vw,1rem);color:#fff;font-weight:600;letter-spacing:1px;margin-top:6px}

/* ══ SECTIONS ══ */
.sec{padding:80px 0}
.sh{text-align:center;margin-bottom:50px}
.sh-badge{display:inline-block;background:var(--g);color:#000;font-family:var(--fb);font-size:.7rem;font-weight:900;letter-spacing:4px;padding:8px 24px;border-radius:50px;margin-bottom:14px}
.sh h2{font-family:var(--ft);font-size:clamp(1.5rem,4.5vw,3.2rem);color:#fff;line-height:1.25;margin-bottom:10px;white-space:nowrap}
.sh p{font-family:var(--fb);font-size:clamp(.9rem,1.6vw,1.15rem);color:#ddd;font-weight:500}
.sh-line{width:80px;height:3px;background:var(--g);margin:14px auto 0;border-radius:2px}

/* ══ COPY BOX (원고) ══ */
.txt-section{max-width:860px;margin:0 auto}
.copy-box{background:var(--cd);border:1px solid var(--bd);border-left:4px solid var(--g);border-radius:0 12px 12px 0;padding:28px 28px 28px 24px;margin-bottom:20px}
.copy-box h3{font-family:var(--ft);font-size:clamp(1.1rem,2.5vw,1.5rem);color:var(--g);margin-bottom:10px;font-weight:900}
.copy-box p{font-family:var(--fb);font-size:clamp(.95rem,1.5vw,1.08rem);color:#fff;font-weight:500;line-height:2.1}
.copy-box a{color:var(--g);font-weight:700;border-bottom:1px dotted var(--g);transition:.2s}
.copy-box a:hover{border-bottom-style:solid}

/* ══ 서비스 카드 ══ */
.srv-g{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.srv{background:var(--cd);border:1px solid var(--bd);border-radius:16px;overflow:hidden;transition:.3s}
.srv:hover{border-color:rgba(212,167,69,.25);transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.3)}
.srv-img img{width:100%;height:200px;object-fit:cover}
.srv-b{padding:22px}
.srv-ico{font-size:2.2rem;margin-bottom:8px}
.srv-t{font-family:var(--ft);font-size:1.5rem;color:var(--g);margin-bottom:8px}
.srv-d{font-family:var(--fb);font-size:.95rem;color:#fff;font-weight:500;line-height:1.9}

/* ══ 갤러리 ══ */
.gallery-sec{padding:60px 0}
.card-grid{display:grid;gap:10px}
.card-grid--2{grid-template-columns:repeat(2,1fr)}
.card-grid--3{grid-template-columns:repeat(3,1fr)}
.card-grid--4{grid-template-columns:repeat(4,1fr)}
.card-item{border-radius:12px;overflow:hidden;border:1px solid rgba(212,167,69,.06);transition:.3s;display:block}
.card-item:hover{border-color:rgba(212,167,69,.2);transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.card-item img{width:100%;height:100%;object-fit:cover}
.card-item--portrait{aspect-ratio:3/4}
.card-item--square{aspect-ratio:1}
.card-item--landscape{aspect-ratio:4/3}
.card-item--live{position:relative}
.card-item--live::before{content:'LIVE';position:absolute;top:6px;right:6px;z-index:2;background:var(--pk);color:#fff;font-size:.55rem;font-weight:900;padding:2px 8px;border-radius:20px;letter-spacing:2px}
.hide-mob{display:grid}.show-mob{display:none}
.swipe-slider{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}
.swipe-slider::-webkit-scrollbar{display:none}
.swipe-track{display:flex;gap:10px;padding:0 4px}
.swipe-item{flex:0 0 65vw;max-width:260px;scroll-snap-align:center;border-radius:12px;overflow:hidden;border:1px solid rgba(212,167,69,.06);display:block;position:relative}
.swipe-item img{width:100%;aspect-ratio:3/4;object-fit:cover}
.swipe-item.card-item--live::before{content:'LIVE';position:absolute;top:6px;right:6px;z-index:2;background:var(--pk);color:#fff;font-size:.55rem;font-weight:900;padding:2px 8px;border-radius:20px;letter-spacing:2px}

/* ══ 가격: PC 4칸, 모바일 2칸 ══ */
.price-g{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pc{background:var(--cd);border:1px solid var(--bd);border-radius:16px;padding:30px 18px 26px;text-align:center;transition:.3s;position:relative}
.pc--f{border:2px solid var(--g);background:linear-gradient(180deg,rgba(212,167,69,.04),var(--cd))}
.pc--f::before{content:'👑 BEST';position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--g);color:#000;font-family:var(--fb);font-size:.65rem;font-weight:900;letter-spacing:2px;padding:4px 16px;border-radius:0 0 8px 8px}
.pc:hover{border-color:rgba(212,167,69,.25);transform:translateY(-3px)}
.pc-name{font-family:var(--ft);font-size:1.3rem;color:var(--g);margin-bottom:6px}
.pc-price{font-family:var(--fm);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:#fff;margin-bottom:4px}
.pc-price .fg{color:var(--g)}
.pc-unit{font-size:.75rem;color:#999;font-weight:500;margin-bottom:16px}
.pc-feat{list-style:none;text-align:left}
.pc-feat li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.03);font-size:.85rem;color:#fff;font-weight:500}
.pc-feat li::before{content:'✦ ';color:var(--g)}
.pc-cta{display:block;margin-top:18px;background:var(--g);color:#000;font-family:var(--fb);font-size:.95rem;font-weight:900;padding:11px;border-radius:50px;transition:.2s}
.pc-cta:hover{background:var(--g2)}

/* ══ FAQ ══ */
.faq-g{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.fq{background:var(--cd);border:1px solid var(--bd);border-left:4px solid var(--g);border-radius:0 14px 14px 0;padding:24px 22px;transition:.3s}
.fq:hover{border-color:rgba(212,167,69,.2);transform:translateY(-3px)}
.fq-q{font-family:var(--ft);font-size:clamp(1.05rem,2vw,1.3rem);color:var(--g);margin-bottom:8px;padding-left:10px}
.fq-a{font-family:var(--fb);font-size:.95rem;color:#fff;font-weight:500;line-height:1.8;padding-left:10px}

/* ══ 골드배너 ══ */
.gold-banner{background:var(--cd);border-top:2px solid var(--bd);border-bottom:2px solid var(--bd);padding:44px 20px;text-align:center}
.gold-banner h3{font-family:var(--ft);font-size:clamp(1.5rem,4vw,2.5rem);color:#fff;margin-bottom:8px}
.gold-banner p{font-family:var(--fb);font-size:clamp(.9rem,1.8vw,1.15rem);color:#ddd;font-weight:500}
.gold-banner .cta-link{display:inline-block;margin-top:18px;background:var(--g);color:#000;font-family:var(--fb);font-size:1.1rem;font-weight:900;padding:14px 38px;border-radius:50px;transition:.2s}
.gold-banner .cta-link:hover{background:var(--g2)}

/* ══ 푸터 ══ */
.ft{background:var(--bg2);border-top:1px solid var(--bd);padding:50px 0 30px;text-align:center}
.ft-t{font-family:var(--ft);font-size:1.8rem;color:var(--g);margin-bottom:10px}
.ft-phone{font-family:var(--fm);font-size:clamp(2rem,6vw,3.5rem);font-weight:900;letter-spacing:3px;margin-bottom:8px}
.ft-phone a{color:#fff;transition:.2s}.ft-phone a:hover{color:var(--g)}
.ft-info{font-family:var(--fb);font-size:1rem;color:#fff;font-weight:500;margin-bottom:5px}
.ft-cta{display:inline-block;margin-top:14px;background:var(--g);color:#000;font-family:var(--fb);font-size:1.1rem;font-weight:900;padding:14px 38px;border-radius:50px;transition:.2s}
.ft-cta:hover{background:var(--g2)}
.ft-sns{display:flex;justify-content:center;gap:12px;margin:20px 0}
.ft-sns a{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#fff;font-family:var(--fb);font-size:.9rem;font-weight:700;transition:.2s}
.ft-sns a:hover{border-color:var(--g);color:var(--g)}
.ft-cp{font-size:.7rem;color:#888;font-weight:400;border-top:1px solid rgba(255,255,255,.03);padding-top:20px;line-height:1.8}

/* ══ 플로팅 ══ */
.fl{position:fixed;bottom:20px;right:16px;z-index:9999}
.fl-btn{display:flex;align-items:center;gap:8px;background:var(--g);color:#000;font-family:var(--fb);font-size:1rem;font-weight:900;padding:14px 26px;border-radius:60px;box-shadow:0 4px 20px rgba(212,167,69,.3);transition:.2s}
.fl-btn:hover{background:var(--g2);box-shadow:0 4px 30px rgba(212,167,69,.4)}
.fl-btn svg{width:20px;height:20px}

/* ══ Reveal ══ */
.rv{opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s}
.rv.v{opacity:1;transform:none}

/* ══ Placeholder ══ */
.placeholder-img{background:var(--cd);display:flex;align-items:center;justify-content:center;color:#555;font-size:.75rem;min-height:200px;border:1px dashed var(--bd);border-radius:12px}

/* ══ RESPONSIVE ══ */
@media(max-width:1024px){
  .sh h2{white-space:normal}
  .card-grid--4{grid-template-columns:repeat(3,1fr)}
  .price-g{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hide-mob{display:none!important}.show-mob{display:block!important}
  .sec{padding:50px 0}
  .gallery-sec{padding:40px 0}
  .sh h2{font-size:clamp(1.15rem,4vw,1.5rem)!important}
  .sh p{font-size:.82rem!important}
  .sh-badge{font-size:.55rem;padding:6px 16px}
  .sh-line{width:50px;height:2px}
  .sh{margin-bottom:28px}
  .srv-g,.faq-g{grid-template-columns:1fr}
  .price-g{grid-template-columns:repeat(2,1fr)}
  .card-grid--3,.card-grid--4{grid-template-columns:repeat(2,1fr)}
  .copy-box{padding:18px 14px;border-left-width:3px}
  .copy-box h3{font-size:1.05rem!important}
  .copy-box p{font-size:.88rem!important;line-height:1.9}
  .srv-t{font-size:1.2rem}.srv-d{font-size:.85rem}.srv-ico{font-size:1.8rem}.srv-b{padding:16px}
  .pc{padding:22px 14px 20px}.pc-price{font-size:1.4rem!important}.pc-name{font-size:1.1rem}.pc-feat li{font-size:.8rem;padding:6px 0}.pc-cta{font-size:.85rem;padding:10px}
  .pc--f::before{font-size:.55rem;padding:3px 12px}
  .fq{padding:16px 14px}.fq-q{font-size:.95rem!important}.fq-a{font-size:.82rem}
  .stat-n{font-size:clamp(1.5rem,4vw,2.2rem)!important}.stat-l{font-size:.7rem!important}
  .stats-strip{padding:24px 12px}
  .mq{padding:10px 0}.mq-t span{font-size:.78rem!important;padding:0 20px}
  .gold-banner{padding:28px 14px}.gold-banner h3{font-size:1.2rem!important}.gold-banner .cta-link{font-size:.95rem;padding:12px 28px}
  .ft{padding:35px 0 20px}.ft-t{font-size:1.3rem}.ft-phone{font-size:1.6rem!important}.ft-info{font-size:.85rem}.ft-cta{font-size:.9rem;padding:11px 28px}
  .top-bar a{font-size:.85rem!important}
  .int-links a{font-size:.7rem;padding:4px 10px}
  .txt-block p{font-size:.88rem!important}
}
@media(max-width:480px){
  .bx{padding:0 10px}
  .sh h2{font-size:1.05rem!important}
  .price-g{grid-template-columns:repeat(2,1fr)}
  .pc-price{font-size:1.2rem!important}
  .stat-n{font-size:1.3rem!important}
  .ft-phone{font-size:1.4rem!important}
}
body.admin-bar .fl{bottom:60px}

/* ═══ V7.2: 제목 흰색 + 골드 포인트만 ═══ */
/* 아웃라인 제거 → 전부 솔리드 색상 */
.otl,.otl-pk{-webkit-text-stroke:0!important;color:#fff!important}
.fg{color:var(--g)!important;-webkit-text-stroke:0!important}
.fp{color:var(--pk)!important;-webkit-text-stroke:0!important}

/* 모든 제목 흰색 굵게 */
.sh h2{color:#fff!important;font-weight:900;letter-spacing:-0.5px}
.srv-t{color:var(--g)!important;font-weight:900}
.fq-q{color:var(--g)!important;font-weight:900}
.copy-box h3{color:var(--g)!important;font-weight:900}
.gold-banner h3{color:#fff!important;font-weight:900}
.ft-t{color:var(--g)!important}

/* ═══ V7.3: 제목 폰트 → Pretendard 깔끔하게 ═══ */
.sh h2{font-family:var(--fb)!important;font-weight:800!important;-webkit-text-stroke:0!important}
.srv-t{font-family:var(--fb)!important;font-weight:800!important}
.fq-q{font-family:var(--fb)!important;font-weight:800!important}
.copy-box h3{font-family:var(--fb)!important;font-weight:800!important}
.gold-banner h3{font-family:var(--fb)!important;font-weight:800!important}
.ft-t{font-family:var(--fb)!important;font-weight:800!important}
.pc-name{font-family:var(--fb)!important;font-weight:800!important}

/* ═══ V7.4: 마퀴 폰트 + 색상 수정 ═══ */
/* 마퀴 → Pretendard, 검정배경 + 흰색/골드 */
.mq-gold{background:var(--bg2);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd)}
.mq-gold .mq-t span{color:#fff;font-family:var(--fb)!important;font-weight:700;font-size:clamp(.8rem,1.8vw,1.1rem);letter-spacing:2px}
.mq-dark{background:var(--bg)}
.mq-dark .mq-t span{color:var(--g);font-family:var(--fb)!important;font-weight:700;font-size:clamp(.8rem,1.8vw,1.1rem);letter-spacing:2px}

/* poster hover 전화연결 텍스트 제거 */
.poster a::after{display:none!important}
