/* WeddingStudio Busan — 공통 스타일 */
:root{--cream:#f9f5f0;--warm-white:#fdfaf7;--blush:#e8c5b0;--rose:#c9856a;--deep-rose:#8b4a3a;--charcoal:#2c2420;--warm-gray:#8a7d78;--gold:#c4a882;--light-gold:#e8d9c5;--shadow:rgba(44,36,32,.08);}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Noto Sans KR',sans-serif;background:var(--cream);color:var(--charcoal);min-height:100vh;}

/* HEADER */
header{position:sticky;top:0;z-index:200;background:rgba(249,245,240,.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--light-gold);padding:0 48px;display:flex;align-items:center;justify-content:space-between;height:70px;}
.logo{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:300;letter-spacing:.16em;color:var(--charcoal);text-decoration:none;user-select:none;flex-shrink:0;}
.logo span{color:var(--rose);font-style:italic;}
nav{display:flex;align-items:center;}
.nav-link{position:relative;display:flex;align-items:center;gap:7px;padding:0 20px;height:70px;font-size:13.5px;font-weight:400;letter-spacing:.06em;color:var(--warm-gray);text-decoration:none;white-space:nowrap;transition:color .2s;}
.nav-link::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:2.5px;background:var(--rose);transition:left .25s,right .25s;}
.nav-link:hover{color:var(--deep-rose);}
.nav-link:hover::after,.nav-link.active::after{left:14px;right:14px;}
.nav-link.active{color:var(--deep-rose);font-weight:500;}
.nav-consult{margin-left:12px;padding:0 22px;height:40px;background:var(--deep-rose);color:white;border:none;font-size:13px;font-family:inherit;font-weight:500;letter-spacing:.09em;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .2s,transform .15s;}
.nav-consult:hover{background:var(--charcoal);transform:translateY(-1px);}
.nav-consult.active{background:var(--charcoal);}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:6px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--charcoal);transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-drawer{display:none;position:fixed;top:70px;left:0;right:0;bottom:0;background:rgba(44,36,32,.45);backdrop-filter:blur(4px);z-index:190;}
.mobile-drawer.open{display:block;}
.mobile-menu{background:white;display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(44,36,32,.18);}
.mobile-menu a{display:flex;align-items:center;gap:12px;padding:18px 28px;font-size:15px;color:var(--charcoal);border-bottom:1px solid var(--cream);text-decoration:none;transition:background .15s;}
.mobile-menu a:hover{background:var(--cream);}
.mobile-menu a.m-consult{background:var(--deep-rose);color:white;font-weight:500;border:none;}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.anim-up{animation:fadeUp .5s ease both;}

/* HERO */
.hero{position:relative;height:480px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;}
.hero-bg{position:absolute;inset:0;}
.hero-pat{position:absolute;inset:0;background-image:radial-gradient(circle at 25% 55%,rgba(201,133,106,.13) 0%,transparent 50%),radial-gradient(circle at 78% 28%,rgba(196,168,130,.15) 0%,transparent 42%);}
.hero-content{position:relative;z-index:2;padding:0 20px;}
.hero-eyebrow{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;letter-spacing:.28em;color:var(--rose);margin-bottom:14px;}
.hero-title{font-family:'Noto Serif KR',serif;font-size:clamp(30px,5vw,56px);font-weight:300;line-height:1.25;color:var(--charcoal);margin-bottom:16px;}
.hero-title em{font-style:normal;color:var(--deep-rose);}
.hero-sub{font-size:14px;color:var(--warm-gray);letter-spacing:.04em;line-height:1.9;}
.hero-cta-row{display:flex;gap:14px;justify-content:center;margin-top:28px;flex-wrap:wrap;}
.btn-primary{padding:13px 32px;background:var(--charcoal);color:white;font-size:13px;font-family:inherit;letter-spacing:.1em;border:none;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s;}
.btn-primary:hover{background:var(--deep-rose);}
.btn-outline{padding:12px 30px;background:transparent;color:var(--charcoal);font-size:13px;font-family:inherit;letter-spacing:.1em;border:1.5px solid var(--charcoal);cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s;}
.btn-outline:hover{background:var(--charcoal);color:white;}

/* SEARCH + FILTER */
.search-section{padding:36px 48px 0;max-width:1240px;margin:0 auto;}
.search-bar{display:flex;background:white;border:1.5px solid var(--light-gold);box-shadow:0 4px 18px var(--shadow);overflow:hidden;}
.search-bar input{flex:1;padding:15px 22px;font-size:14px;font-family:inherit;border:none;outline:none;color:var(--charcoal);}
.search-bar input::placeholder{color:var(--warm-gray);}
.search-bar select{padding:15px 34px 15px 16px;font-size:13px;font-family:inherit;border:none;border-left:1px solid var(--light-gold);background:var(--warm-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='5'%3E%3Cpath d='M0 0l4.5 5L9 0z' fill='%238a7d78'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;color:var(--charcoal);cursor:pointer;outline:none;}
.search-btn{padding:15px 26px;background:var(--charcoal);color:white;font-size:13px;font-family:inherit;letter-spacing:.09em;border:none;cursor:pointer;transition:background .2s;}
.search-btn:hover{background:var(--deep-rose);}
.region-strip{padding:22px 48px 0;max-width:1240px;margin:0 auto;display:flex;gap:8px;flex-wrap:wrap;}
.region-chip{padding:6px 16px;border:1px solid var(--light-gold);background:white;font-size:12px;color:var(--warm-gray);cursor:pointer;transition:all .2s;font-family:inherit;}
.region-chip:hover{background:var(--blush);color:var(--charcoal);}
.region-chip.active{background:var(--rose);color:white;border-color:var(--rose);}
.filter-bar{padding:20px 48px 0;max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.filter-tabs{display:flex;gap:8px;flex-wrap:wrap;}
.tab{padding:8px 18px;font-size:13px;font-family:inherit;border:1.5px solid var(--light-gold);background:white;color:var(--warm-gray);cursor:pointer;transition:all .2s;}
.tab:hover{border-color:var(--rose);color:var(--rose);}
.tab.active{background:var(--charcoal);border-color:var(--charcoal);color:white;}
.filter-right{display:flex;align-items:center;gap:12px;}
.sort-label{font-size:12px;color:var(--warm-gray);}
.sort-select{padding:8px 28px 8px 12px;font-size:12px;font-family:inherit;border:1px solid var(--light-gold);background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4'%3E%3Cpath d='M0 0l4 4 4-4z' fill='%238a7d78'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;color:var(--charcoal);cursor:pointer;outline:none;}
.view-toggle{display:flex;gap:3px;}
.view-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid var(--light-gold);background:white;cursor:pointer;color:var(--warm-gray);transition:all .2s;}
.view-btn.active{background:var(--charcoal);border-color:var(--charcoal);color:white;}
.result-info{padding:14px 48px 0;max-width:1240px;margin:0 auto;font-size:12px;color:var(--warm-gray);}
.result-info strong{color:var(--deep-rose);}

/* GALLERY GRID */
.gallery-section{padding:20px 48px 80px;max-width:1240px;margin:0 auto;}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.gallery-grid.list-view{grid-template-columns:1fr;}

/* CARD */
.card{background:white;overflow:hidden;box-shadow:0 2px 10px var(--shadow);transition:transform .3s,box-shadow .3s;animation:fadeUp .5s ease both;}
.card:nth-child(1){animation-delay:.05s}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.15s}.card:nth-child(4){animation-delay:.2s}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 40px rgba(44,36,32,.16);}
.card-image{position:relative;aspect-ratio:4/3;overflow:hidden;}
.card-img-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:56px;transition:transform .5s;}
.card:hover .card-img-ph{transform:scale(1.04);}
.card-badge{position:absolute;top:13px;left:13px;padding:4px 11px;font-size:10px;letter-spacing:.1em;}
.badge-studio{background:rgba(139,74,58,.88);color:white;}
.badge-snap{background:rgba(196,168,130,.92);color:var(--charcoal);}
.badge-video{background:rgba(44,36,32,.88);color:white;}
.card-fav{position:absolute;top:13px;right:13px;width:30px;height:30px;background:rgba(255,255,255,.88);border:none;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:transform .2s;}
.card-fav:hover{transform:scale(1.2);}
.card-overlay{position:absolute;bottom:0;left:0;right:0;padding:14px;background:linear-gradient(transparent,rgba(44,36,32,.5));display:flex;gap:5px;flex-wrap:wrap;opacity:0;transition:opacity .3s;}
.card:hover .card-overlay{opacity:1;}
.overlay-tag{padding:3px 8px;background:rgba(255,255,255,.2);backdrop-filter:blur(4px);color:white;font-size:10px;}
.card-body{padding:18px 20px 14px;}
.card-district{font-size:10px;color:var(--rose);letter-spacing:.13em;margin-bottom:5px;}
.card-name{font-family:'Noto Serif KR',serif;font-size:16px;font-weight:400;margin-bottom:7px;line-height:1.3;}
.card-desc{font-size:12px;color:var(--warm-gray);line-height:1.65;margin-bottom:13px;}
.card-meta{display:flex;align-items:center;justify-content:space-between;}
.card-rating{display:flex;align-items:center;gap:4px;font-size:12px;}
.stars{color:var(--gold);}
.card-price{font-family:'Cormorant Garamond',serif;font-size:16px;color:var(--deep-rose);}
.card-price span{font-size:11px;color:var(--warm-gray);font-family:'Noto Sans KR',sans-serif;}
.card-footer{padding:11px 20px;border-top:1px solid var(--light-gold);display:flex;align-items:center;justify-content:space-between;gap:8px;}
.card-tags{display:flex;gap:5px;flex-wrap:wrap;}
.tag{padding:3px 8px;background:var(--cream);font-size:10px;color:var(--warm-gray);}
.card-btn{padding:7px 14px;background:transparent;border:1px solid var(--charcoal);color:var(--charcoal);font-size:11px;font-family:inherit;letter-spacing:.08em;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block;white-space:nowrap;}
.card-btn:hover{background:var(--charcoal);color:white;}
.gallery-grid.list-view .card{display:grid;grid-template-columns:280px 1fr auto;}
.gallery-grid.list-view .card-image{aspect-ratio:unset;min-height:180px;}
.gallery-grid.list-view .card-body{padding:20px;display:flex;flex-direction:column;justify-content:center;}
.gallery-grid.list-view .card-footer{flex-direction:column;align-items:flex-end;justify-content:center;padding:16px;border-top:none;border-left:1px solid var(--light-gold);}

/* BREADCRUMB */
.breadcrumb{padding:16px 48px;max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--warm-gray);}
.breadcrumb a{color:var(--warm-gray);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--deep-rose);}
.breadcrumb span{color:var(--light-gold);}
.breadcrumb strong{color:var(--charcoal);}

/* CONSULT FORM */
.consult-wrap{max-width:960px;margin:0 auto;padding:64px 48px 100px;}
.consult-title{font-family:'Noto Serif KR',serif;font-size:36px;font-weight:300;color:var(--charcoal);margin-bottom:10px;}
.consult-title em{font-style:normal;color:var(--deep-rose);}
.consult-sub{font-size:14px;color:var(--warm-gray);line-height:1.9;margin-bottom:48px;}
.consult-grid{display:grid;grid-template-columns:1fr 360px;gap:48px;}
.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.form-label{font-size:12px;letter-spacing:.1em;color:var(--warm-gray);font-weight:500;}
.form-label .req{color:var(--rose);margin-left:2px;}
.form-input,.form-select,.form-textarea{padding:13px 16px;font-size:14px;font-family:inherit;border:1.5px solid var(--light-gold);background:white;color:var(--charcoal);outline:none;transition:border-color .2s;width:100%;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--rose);}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a7d78'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-color:white;padding-right:38px;}
.form-textarea{resize:vertical;min-height:120px;line-height:1.7;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.check-group{display:flex;flex-wrap:wrap;gap:10px;}
.check-item{position:relative;}
.check-item input{position:absolute;opacity:0;width:0;height:0;}
.check-item label{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid var(--light-gold);background:white;font-size:12px;color:var(--warm-gray);cursor:pointer;transition:all .2s;font-family:inherit;}
.check-item input:checked+label{background:var(--charcoal);border-color:var(--charcoal);color:white;}
.check-item label:hover{border-color:var(--rose);color:var(--rose);}
.form-submit{padding:16px;background:var(--deep-rose);color:white;font-size:14px;font-family:inherit;font-weight:500;letter-spacing:.1em;border:none;cursor:pointer;transition:background .2s;width:100%;margin-top:8px;}
.form-submit:hover{background:var(--charcoal);}
.consult-info{display:flex;flex-direction:column;gap:22px;}
.info-card{background:white;padding:24px;border:1px solid var(--light-gold);box-shadow:0 2px 12px var(--shadow);}
.info-card-title{font-family:'Noto Serif KR',serif;font-size:16px;font-weight:400;margin-bottom:14px;color:var(--charcoal);display:flex;align-items:center;gap:8px;}
.info-list{display:flex;flex-direction:column;gap:10px;}
.info-item{display:flex;gap:10px;align-items:flex-start;}
.info-dot{width:6px;height:6px;background:var(--rose);border-radius:50%;margin-top:7px;flex-shrink:0;}
.info-text{font-size:12.5px;color:var(--warm-gray);line-height:1.7;}
.info-text strong{color:var(--charcoal);}
.process-steps{display:flex;flex-direction:column;}
.step{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--cream);}
.step:last-child{border-bottom:none;}
.step-num{width:26px;height:26px;background:var(--rose);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}
.step-title{font-size:13px;font-weight:500;color:var(--charcoal);margin-bottom:2px;}
.step-desc{font-size:11.5px;color:var(--warm-gray);line-height:1.5;}
.submit-success{display:none;text-align:center;padding:100px 40px;}
.submit-success .s-icon{font-size:64px;margin-bottom:24px;}
.submit-success h3{font-family:'Noto Serif KR',serif;font-size:26px;font-weight:300;margin-bottom:14px;}
.submit-success p{font-size:14px;color:var(--warm-gray);line-height:1.9;margin-bottom:32px;}

/* DETAIL PAGE */
.detail-wrap{max-width:1240px;margin:0 auto;padding:0 48px 100px;}
.photo-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:340px 200px;gap:10px;margin-bottom:48px;overflow:hidden;}
.photo-main{grid-row:1/3;position:relative;overflow:hidden;cursor:pointer;}
.photo-main .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;transition:transform .5s;}
.photo-main:hover .ph{transform:scale(1.04);}
.photo-sub{position:relative;overflow:hidden;cursor:pointer;}
.photo-sub .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;transition:transform .5s;}
.photo-sub:hover .ph{transform:scale(1.06);}
.photo-more-btn{position:absolute;bottom:14px;right:14px;background:rgba(44,36,32,.75);color:white;padding:8px 16px;font-size:12px;font-family:inherit;border:none;cursor:pointer;backdrop-filter:blur(4px);transition:background .2s;}
.photo-more-btn:hover{background:var(--deep-rose);}
.detail-body{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start;}
.d-district{font-size:11px;color:var(--rose);letter-spacing:.14em;margin-bottom:8px;}
.d-name{font-family:'Noto Serif KR',serif;font-size:34px;font-weight:300;line-height:1.2;margin-bottom:14px;}
.d-meta-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:14px;}
.d-stars{color:var(--gold);font-size:18px;letter-spacing:2px;}
.d-rating-num{font-family:'Cormorant Garamond',serif;font-size:22px;}
.d-review-cnt{font-size:12px;color:var(--warm-gray);}
.d-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.d-badge{padding:5px 14px;font-size:11px;letter-spacing:.07em;}
.d-badge-rose{background:var(--blush);color:var(--deep-rose);}
.d-badge-dark{background:var(--charcoal);color:white;}
.d-badge-gold{background:var(--light-gold);color:var(--charcoal);}
.fav-share{display:flex;gap:10px;margin-bottom:36px;}
.icon-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--light-gold);background:white;cursor:pointer;font-size:16px;transition:all .2s;}
.icon-btn:hover{border-color:var(--rose);background:var(--blush);}
.d-section{margin-bottom:44px;}
.d-section-title{font-family:'Noto Serif KR',serif;font-size:19px;font-weight:400;color:var(--charcoal);margin-bottom:18px;padding-bottom:12px;border-bottom:1.5px solid var(--light-gold);display:flex;align-items:center;gap:8px;}
.d-intro-text{font-size:14px;color:var(--warm-gray);line-height:1.95;}
.d-intro-text strong{color:var(--charcoal);}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.feature-item{background:white;padding:20px 16px;border:1px solid var(--light-gold);text-align:center;transition:box-shadow .2s;}
.feature-item:hover{box-shadow:0 4px 16px var(--shadow);}
.feature-icon{font-size:28px;margin-bottom:8px;}
.feature-label{font-size:12px;font-weight:500;color:var(--charcoal);margin-bottom:4px;}
.feature-desc{font-size:11px;color:var(--warm-gray);line-height:1.5;}
.thumb-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;scrollbar-color:var(--light-gold) transparent;}
.thumb{width:110px;height:80px;flex-shrink:0;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s;}
.thumb.active-thumb,.thumb:hover{border-color:var(--rose);}
.thumb .ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;}
.pkg-list{display:flex;flex-direction:column;gap:16px;}
.pkg-card{background:white;border:1.5px solid var(--light-gold);padding:24px 28px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;transition:box-shadow .2s,border-color .2s;}
.pkg-card:hover{box-shadow:0 6px 24px var(--shadow);border-color:var(--rose);}
.pkg-card.pkg-featured{border-color:var(--deep-rose);position:relative;overflow:hidden;}
.pkg-card.pkg-featured::before{content:'BEST';position:absolute;top:0;right:0;background:var(--deep-rose);color:white;font-size:10px;letter-spacing:.12em;padding:5px 14px;}
.pkg-name{font-family:'Noto Serif KR',serif;font-size:17px;font-weight:400;margin-bottom:6px;}
.pkg-includes{font-size:12px;color:var(--warm-gray);line-height:1.75;list-style:none;}
.pkg-includes li{padding-left:14px;position:relative;}
.pkg-includes li::before{content:'✓';position:absolute;left:0;color:var(--rose);font-size:10px;}
.pkg-price-wrap{text-align:right;flex-shrink:0;}
.pkg-price{font-family:'Cormorant Garamond',serif;font-size:28px;color:var(--deep-rose);line-height:1;}
.pkg-price-unit{font-size:12px;color:var(--warm-gray);margin-top:2px;}
.pkg-btn{margin-top:10px;padding:8px 18px;background:var(--charcoal);color:white;border:none;font-size:12px;font-family:inherit;cursor:pointer;transition:background .2s;}
.pkg-btn:hover{background:var(--deep-rose);}
.review-summary{display:flex;gap:32px;align-items:center;background:white;padding:28px;border:1px solid var(--light-gold);margin-bottom:20px;}
.review-score-num{font-family:'Cormorant Garamond',serif;font-size:56px;color:var(--charcoal);line-height:1;}
.review-stars-row{color:var(--gold);font-size:20px;letter-spacing:2px;}
.review-count-small{font-size:11px;color:var(--warm-gray);margin-top:4px;}
.review-bars{flex:1;}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;}
.bar-label{font-size:12px;color:var(--warm-gray);width:28px;text-align:right;flex-shrink:0;}
.bar-track{flex:1;height:6px;background:var(--cream);overflow:hidden;}
.bar-fill{height:100%;background:var(--gold);}
.bar-count{font-size:11px;color:var(--warm-gray);width:22px;flex-shrink:0;}
.review-list{display:flex;flex-direction:column;gap:14px;}
.review-item{background:white;padding:22px;border:1px solid var(--light-gold);}
.review-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
.reviewer-name{font-size:13px;font-weight:500;}
.review-date{font-size:11px;color:var(--warm-gray);}
.review-stars{color:var(--gold);font-size:13px;margin-bottom:8px;}
.review-text{font-size:13px;color:var(--warm-gray);line-height:1.8;}
.review-badge{display:inline-block;margin-top:10px;padding:3px 10px;background:var(--cream);font-size:10px;color:var(--rose);}
.map-ph{height:200px;background:linear-gradient(135deg,#e8e0d8,#f0e8e0);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--warm-gray);font-size:13px;border:1px solid var(--light-gold);cursor:pointer;}
.map-ph span{font-size:32px;}
.detail-sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px;}
.side-book{background:white;border:1.5px solid var(--light-gold);padding:28px;box-shadow:0 4px 20px var(--shadow);}
.side-price{font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--deep-rose);}
.side-price-label{font-size:13px;color:var(--warm-gray);}
.side-divider{height:1px;background:var(--light-gold);margin:16px 0;}
.side-info-row{display:flex;justify-content:space-between;font-size:13px;margin-bottom:10px;}
.side-info-key{color:var(--warm-gray);}
.side-info-val{color:var(--charcoal);font-weight:500;}
.side-book-btn{width:100%;padding:15px;background:var(--deep-rose);color:white;border:none;font-size:14px;font-family:inherit;font-weight:500;letter-spacing:.1em;cursor:pointer;transition:background .2s;margin-bottom:10px;text-decoration:none;display:block;text-align:center;}
.side-book-btn:hover{background:var(--charcoal);}
.side-inquiry-btn{width:100%;padding:13px;background:transparent;border:1.5px solid var(--charcoal);color:var(--charcoal);font-size:13px;font-family:inherit;cursor:pointer;transition:all .2s;}
.side-inquiry-btn:hover{background:var(--charcoal);color:white;}
.side-note{font-size:11px;color:var(--warm-gray);text-align:center;margin-top:12px;line-height:1.7;}
.side-info-card{background:white;border:1px solid var(--light-gold);padding:22px;}
.side-info-card-title{font-size:13px;font-weight:500;color:var(--charcoal);margin-bottom:14px;}
.si-row{display:flex;gap:12px;align-items:flex-start;font-size:12.5px;margin-bottom:10px;}
.si-icon{font-size:15px;flex-shrink:0;}
.si-text{color:var(--warm-gray);line-height:1.6;}
.si-text strong{color:var(--charcoal);}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;background:rgba(20,16,14,.92);z-index:400;align-items:center;justify-content:center;}
.lightbox.open{display:flex;animation:fadeIn .3s ease;}
.lb-img{display:flex;align-items:center;justify-content:center;font-size:120px;width:80vw;height:70vh;max-width:900px;}
.lb-close{position:absolute;top:20px;right:20px;width:40px;height:40px;background:rgba(255,255,255,.15);border:none;color:white;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lb-close:hover{background:rgba(255,255,255,.3);}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:rgba(255,255,255,.12);border:none;color:white;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.25);}
.lb-prev{left:20px;}.lb-next{right:20px;}

/* ── NAV MEGA DROPDOWN (웨딩가이드) ─────────── */
.nav-has-drop{position:relative;}
.nav-has-drop .nav-link{padding-right:18px;}
.nav-has-drop .nav-link::before{content:'▾';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--warm-gray);transition:transform .2s,color .2s;}
.nav-has-drop:hover .nav-link::before{transform:translateY(-50%) rotate(180deg);color:var(--deep-rose);}

.nav-mega{
  position:absolute;top:70px;left:50%;transform:translateX(-50%);
  background:white;border:1px solid var(--light-gold);
  box-shadow:0 16px 48px rgba(44,36,32,.13);
  min-width:640px;z-index:250;
  display:none;flex-direction:column;
  animation:megaIn .18s ease both;
}
@keyframes megaIn{from{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.nav-has-drop:hover .nav-mega{display:flex;}

.mega-head{padding:20px 28px 14px;border-bottom:1px solid var(--light-gold);display:flex;align-items:center;justify-content:space-between;}
.mega-head-title{font-family:'Noto Serif KR',serif;font-size:15px;font-weight:400;color:var(--charcoal);}
.mega-head-link{font-size:12px;color:var(--rose);text-decoration:none;transition:color .15s;}
.mega-head-link:hover{color:var(--deep-rose);}
.mega-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:10px 0 6px;}
.mega-col{padding:10px 0;}
.mega-col-title{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--warm-gray);text-transform:uppercase;padding:6px 28px 8px;border-bottom:1px solid var(--light-gold);margin-bottom:4px;}
.mega-item{display:flex;align-items:flex-start;gap:10px;padding:10px 24px;text-decoration:none;transition:background .12s;cursor:pointer;}
.mega-item:hover{background:var(--cream);}
.mega-item:hover .mi-title{color:var(--deep-rose);}
.mi-ic{font-size:18px;flex-shrink:0;margin-top:1px;}
.mi-body{}
.mi-title{font-size:13px;font-weight:500;color:var(--charcoal);margin-bottom:2px;transition:color .15s;}
.mi-desc{font-size:11px;color:var(--warm-gray);line-height:1.5;}
.mega-foot{padding:12px 28px;background:var(--cream);border-top:1px solid var(--light-gold);display:flex;gap:14px;flex-wrap:wrap;}
.mega-tag{font-size:11px;color:var(--warm-gray);text-decoration:none;padding:4px 12px;border:1px solid var(--light-gold);background:white;transition:all .15s;white-space:nowrap;}
.mega-tag:hover{border-color:var(--rose);color:var(--deep-rose);}

/* ── USER HEADER UI ─────────────────────────── */
/* 비로그인: 로그인/회원가입 버튼 묶음 */
.hd-auth{display:flex;align-items:center;gap:6px;margin-left:8px;flex-shrink:0;}
.hd-login{padding:0 16px;height:36px;background:transparent;color:var(--warm-gray);border:1.5px solid var(--light-gold);font-size:12.5px;font-family:inherit;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:all .2s;white-space:nowrap;}
.hd-login:hover{border-color:var(--rose);color:var(--deep-rose);}
.hd-signup{padding:0 16px;height:36px;background:var(--deep-rose);color:white;border:none;font-size:12.5px;font-family:inherit;font-weight:500;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;transition:background .2s;white-space:nowrap;}
.hd-signup:hover{background:var(--charcoal);}

/* 로그인 상태: 유저 아바타 + 드롭다운 */
.hd-user{position:relative;display:none;align-items:center;gap:0;margin-left:8px;flex-shrink:0;}
.hd-user.on{display:flex;}
.hd-avt-wrap{display:flex;align-items:center;gap:8px;padding:4px 12px 4px 6px;cursor:pointer;border:1.5px solid transparent;border-radius:32px;transition:all .18s;user-select:none;}
.hd-avt-wrap:hover{background:var(--cream);border-color:var(--light-gold);}
.hd-avt{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--blush),var(--rose));display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;box-shadow:0 2px 6px rgba(139,74,58,.2);}
.hd-username{font-size:13px;font-weight:500;color:var(--charcoal);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hd-chevron{font-size:9px;color:var(--warm-gray);transition:transform .2s;}
.hd-user.open .hd-chevron{transform:rotate(180deg);}

/* 드롭다운 */
.hd-dropdown{
  position:absolute;top:calc(100% + 10px);right:0;
  background:white;border:1px solid var(--light-gold);
  box-shadow:0 12px 40px rgba(44,36,32,.14);
  min-width:220px;z-index:300;
  display:none;flex-direction:column;
  animation:ddIn .15s ease;
  overflow:hidden;
}
@keyframes ddIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.hd-user.open .hd-dropdown{display:flex;}

.hd-dd-head{padding:16px 18px 14px;border-bottom:1px solid var(--light-gold);background:var(--cream);}
.hd-dd-name{font-size:14px;font-weight:600;color:var(--charcoal);}
.hd-dd-email{font-size:11px;color:var(--warm-gray);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hd-dd-dday{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:4px 10px;background:var(--deep-rose);color:white;font-size:11px;font-weight:600;}

.hd-dd-menu{display:flex;flex-direction:column;padding:6px 0;}
.hd-dd-item{display:flex;align-items:center;gap:10px;padding:11px 18px;font-size:13px;color:var(--charcoal);text-decoration:none;transition:background .12s;cursor:pointer;background:none;border:none;font-family:inherit;width:100%;text-align:left;}
.hd-dd-item:hover{background:var(--cream);color:var(--deep-rose);}
.hd-dd-item .dd-ic{font-size:15px;width:18px;text-align:center;flex-shrink:0;}
.hd-dd-item .dd-badge{margin-left:auto;font-size:10px;font-weight:700;background:var(--deep-rose);color:white;padding:2px 7px;border-radius:10px;}
.hd-dd-sep{height:1px;background:var(--light-gold);margin:4px 0;}
.hd-dd-logout{color:var(--warm-gray)!important;}
.hd-dd-logout:hover{color:var(--err,#c44)!important;background:var(--cream)!important;}

/* ── FOOTER */
.site-footer{background:var(--charcoal);color:rgba(255,255,255,.5);padding:40px;text-align:center;font-size:12px;letter-spacing:.08em;line-height:2;}
.site-footer .footer-logo{font-family:'Cormorant Garamond',serif;font-size:20px;color:rgba(255,255,255,.75);margin-bottom:10px;letter-spacing:.16em;}

/* RESPONSIVE */
@media(max-width:960px){
  header{padding:0 20px;}
  nav .nav-link,nav .nav-consult{display:none;}
  .hamburger{display:flex;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .gallery-section,.filter-bar,.search-section,.region-strip,.result-info{padding-left:20px;padding-right:20px;}
  .gallery-grid.list-view .card{grid-template-columns:180px 1fr;}
  .gallery-grid.list-view .card-footer{display:none;}
  .consult-grid{grid-template-columns:1fr;}
  .consult-wrap{padding:40px 20px 80px;}
  .detail-wrap{padding:0 20px 80px;}
  .breadcrumb{padding:14px 20px;}
  .detail-body{grid-template-columns:1fr;}
  .detail-sidebar{position:static;}
  .photo-gallery{grid-template-rows:200px 130px;}
  .feature-grid{grid-template-columns:repeat(2,1fr);}
  .pkg-card{grid-template-columns:1fr;}
  .pkg-price-wrap{text-align:left;}
}
@media(max-width:600px){
  .gallery-grid{grid-template-columns:1fr;}
  .hero{height:420px;}
  .gallery-grid.list-view .card{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .review-summary{flex-direction:column;gap:16px;}
  .photo-gallery{grid-template-columns:1fr;grid-template-rows:260px 120px 120px;}
  .photo-main{grid-row:1;}
}
