/* ===== Branch Detail — Refined Editorial ===== */ @import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css');/* --- Hero Gallery --- */ .hero{background:#fff;overflow:hidden}/* Mobile:horizontal carousel */ .hero-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.hero-gallery::-webkit-scrollbar{display:none}.hero-gallery img{min-width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center center;display:block;scroll-snap-align:start;flex-shrink:0;transition:opacity 0.3s}.hero-gallery img:hover{opacity:0.92}.hero-placeholder{width:100%;min-height:240px;display:flex;align-items:center;justify-content:center;background:#f0eeeb}.hero-loading{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:#fff;transition:opacity 0.3s}.hero-loading.hidden{opacity:0;pointer-events:none}.hero-counter{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,0.55);color:#fff;font-size:0.75rem;padding:4px 10px;border-radius:12px;backdrop-filter:blur(4px);pointer-events:none}.hero-wrap{position:relative}.hero-nav{display:none;/* 모바일에서는 숨김 */ position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.85);border:none;cursor:pointer;z-index:3;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,0.15);transition:all 0.2s;color:#333}.hero-nav:hover{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,0.25)}.hero-nav.prev{left:12px}.hero-nav.next{right:12px}/* --- Page Body --- */ .detail-body{padding:28px 0 0}.detail-wrap{display:block}.detail-main{min-width:0}/* --- Branch Header --- */ .bh{margin-bottom:12px}.bh-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.bh-name{font-family:'Pretendard Variable', 'Pretendard', sans-serif;font-size:1.55rem;font-weight:750;letter-spacing:-0.02em;line-height:1.25;color:#1a1a1a;flex:1;min-width:0}.bh-actions{display:flex;gap:8px;flex-shrink:0;padding-top:4px}.bh-action-btn{width:36px;height:36px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.15s;color:#666}.bh-action-btn:hover{border-color:#bbb;background:#f9f9f9}.bh-action-btn.favorited{color:#FF385C;border-color:#FF385C}.bh-action-btn.favorited svg{fill:#FF385C;stroke:#FF385C}.bh-rating-row{display:flex;align-items:center;gap:6px;margin-bottom:8px;flex-wrap:wrap}.bh-star{color:#FF385C;font-weight:700;font-size:0.92rem;display:flex;align-items:center;gap:3px}.bh-star svg{flex-shrink:0}.bh-reviews{color:#717171;font-size:0.88rem;text-decoration:underline;cursor:pointer}.bh-loc{display:flex;align-items:flex-start;gap:5px;color:#717171;font-size:0.88rem;line-height:1.4;margin-bottom:0}.bh-loc svg{flex-shrink:0;opacity:0.6;margin-top:2px}/* --- Tags --- */ .tag-strip{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 20px}.tag-pill{font-size:0.78rem;font-weight:550;color:#6d28a0;background:#f3edf8;padding:5px 13px;border-radius:20px;letter-spacing:0.01em}/* --- Description --- */ .branch-desc{font-size:0.94rem;color:#484848;line-height:1.75;margin-bottom:28px;white-space:pre-line;max-width:640px}.branch-desc.clamped{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.desc-toggle{font-size:0.8rem;font-weight:600;color:#717171;cursor:pointer;margin-bottom:12px;display:inline-block}.branch-desc.clamped{margin-bottom:8px}.desc-toggle:hover{text-decoration:underline}/* --- Divider --- */ .divider{border:none;border-top:1px solid #ebebeb;margin:28px 0}/* --- Info Grid --- */ .info-strip{display:grid;grid-template-columns:1fr;gap:0;margin-bottom:4px}.info-row{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid #f2f2f2}.info-row:last-child{border-bottom:none}.info-row-icon{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}.info-row-icon svg{opacity:0.75}.info-row-label{font-size:0.78rem;color:#a0a0a0;margin-bottom:2px;letter-spacing:0.02em}.info-row-value{font-size:0.92rem;font-weight:400;color:#222;line-height:1.4}/* --- Amenities --- */ .amenity-section{margin-bottom:4px}.amenity-list{display:flex;gap:10px;flex-wrap:wrap}.amenity-list.collapsed{max-height:96px;overflow:hidden}.amenity-item{font-size:0.84rem;color:#484848;background:#f0f0f0;border:1px solid #e0e0e0;padding:8px 16px;border-radius:8px;font-weight:450}.amenity-toggle{font-size:0.82rem;font-weight:600;color:#7B1FA2;cursor:pointer;margin-top:8px;display:none}.amenity-toggle:hover{text-decoration:underline}/* --- 사용안내 (guide-list) — amenity-list 와 동일한 toggle 패턴. collapsed 높이는 amenity (96px) 보다 살짝 크게 — 첫 카드의 타이틀까지 보이도록. */ .guide-list{display:flex;flex-direction:column;gap:24px;position:relative}.guide-list.collapsed{max-height:140px;overflow:hidden;/* 아래쪽 페이드 처리로 "더 있음" 시각 신호 */ mask-image:linear-gradient(to bottom, #000 60%, transparent 100%);-webkit-mask-image:linear-gradient(to bottom, #000 60%, transparent 100%)}.guide-card{display:flex;flex-direction:column;gap:14px;padding-bottom:24px;border-bottom:1px solid #f5d1d1}.guide-card:last-child{padding-bottom:0;border-bottom:none}.guide-figure{margin:0;width:100%;max-width:260px;align-self:flex-start;background:#f4f4f4;border-radius:10px;overflow:hidden}.guide-image{display:block;width:100%;height:auto}.guide-text{min-width:0}.guide-title{font-size:1.05rem;font-weight:700;margin:0 0 12px;letter-spacing:-0.01em;color:#1a1a1a}.guide-items{list-style:none;padding:0;margin:0}.guide-item{position:relative;padding-left:16px;margin-bottom:12px}.guide-item:last-child{margin-bottom:0}.guide-item::before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;background:#1a1a1a}.guide-item-sub{font-size:0.95rem;font-weight:700;color:#1a1a1a}.guide-item-content{list-style:none;padding:0;margin:4px 0 0}.guide-item-content li{position:relative;padding-left:16px;font-size:0.88rem;color:#444;line-height:1.65;margin-top:3px;word-break:keep-all;overflow-wrap:anywhere}.guide-item-content li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;background:#888}.guide-item.is-content-only{padding-left:0}.guide-item.is-content-only::before{display:none}.guide-item.is-content-only .guide-item-content{margin-top:0}/* "사용안내 더보기" — collapsed 영역 아래 항상 노출, 새 창으로 이동 */ .guide-more{display:inline-block;margin-top:14px;/* amenity-toggle 의 보라 톤 그대로 사용 */ text-decoration:none}/* PC:카드 내부 좌우 2-column */ @media (min-width:720px){.guide-card{flex-direction:row;align-items:flex-start;gap:24px}.guide-figure{flex:0 0 220px}.guide-text{flex:1}.guide-list.collapsed{max-height:180px}}/* --- Section Title --- */ .sec-title{font-family:'Pretendard Variable', 'Pretendard', sans-serif;font-size:1.2rem;font-weight:700;letter-spacing:-0.01em;color:#1a1a1a;margin-bottom:20px}/* --- Room Cards --- */ .room-section{padding-top:0;padding-bottom:32px}.room-list{display:flex;flex-direction:column;gap:20px}.rc{background:#fff;border:1px solid #ebebeb;border-radius:14px;overflow:hidden;transition:box-shadow 0.25s ease, transform 0.25s ease}.rc:hover{box-shadow:0 6px 20px rgba(0,0,0,0.08);transform:translateY(-2px)}.rc-img{overflow:hidden;background:#f0eeeb}.rc-img img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center center;display:block;transition:transform 0.4s ease}.rc:hover .rc-img img{transform:scale(1.03)}.rc-body{padding:18px 20px 20px}.rc-name{font-size:1.08rem;font-weight:680;letter-spacing:-0.01em;margin-bottom:8px;color:#1a1a1a}.rc-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.rc-meta-item{font-size:0.82rem;color:#717171;display:flex;align-items:center;gap:4px}.rc-desc{font-size:0.88rem;color:#717171;line-height:1.55;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rc-pricing{background:#fafafa;border-radius:10px;padding:14px 16px;margin-bottom:14px}.rc-price-row{display:flex;justify-content:space-between;font-size:0.88rem;padding:5px 0;border-bottom:1px solid #f0f0f0}.rc-price-row:last-child{border-bottom:none}.rc-price-label{color:#717171}.rc-price-value{font-weight:650;color:#1a1a1a}.rc-actions{display:flex;flex-direction:column;gap:8px}/* --- Room Calendar + Booking Layout --- */ .rc-booking{display:flex;flex-direction:column;gap:16px;margin-top:16px}.rc-booking-left{flex:1;min-width:0;position:relative;min-height:320px}.rc-booking-right{flex:1;min-width:0}/* Calendar spinner overlay */ .cal-spinner{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,0.85);border-radius:8px;opacity:0;pointer-events:none;transition:opacity 0.2s}.cal-spinner.active{opacity:1;pointer-events:auto}/* Logo Spinner */ .logo-spinner-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.logo-spinner-wrap .logo-text{height:28px;opacity:0.13}.logo-spinner{position:relative;width:48px;height:48px}.logo-spinner img{width:43px;height:43px;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);opacity:0.25}.logo-spinner-ring{width:48px;height:48px;border-radius:50%;border:2.5px solid #eee;border-top-color:#bbb;animation:logoSpin 0.9s linear infinite}.logo-spinner.lg{width:56px;height:56px}.logo-spinner.lg img{width:51px;height:51px}.logo-spinner.lg .logo-spinner-ring{width:56px;height:56px}@keyframes logoSpin{to{transform:rotate(360deg)}}/* Calendar */ .cal{user-select:none}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-title{font-size:0.9rem;font-weight:650;color:#1a1a1a}.cal-nav{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#717171;border:1px solid #e0e0e0;cursor:pointer;transition:all 0.15s}.cal-nav:hover{border-color:#1a1a1a;color:#1a1a1a}.cal-grid{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center;gap:2px}.cal-dow{font-size:0.7rem;font-weight:600;color:#999;padding:4px 0}.cal-day{font-size:0.8rem;padding:6px 0 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all 0.12s;position:relative;color:#1a1a1a}.cal-day-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all 0.12s}.cal-day:hover .cal-day-num{background:#f5f5f5}.cal-day.today{font-weight:700;font-size:1rem}.cal-day.other-month{color:#ccc}.cal-day.past{color:#bbb}.cal-day.past.sun, .cal-day.past.holiday{color:#e0a0a0}.cal-day.past.sat{color:#a0c0e0}.cal-day.sun{color:#E53935}.cal-day.sat{color:#1E88E5}.cal-day.other-month.sun, .cal-day.other-month.sat{opacity:0.4}.cal-day.holiday{color:#E53935}.cal-day.selected .cal-day-num{background:#1a1a1a;color:#fff}.cal-day.selected.sun .cal-day-num, .cal-day.selected.holiday .cal-day-num{background:#E53935;color:#fff}.cal-day.selected.sat .cal-day-num{background:#1E88E5;color:#fff}.cal-day-dots{display:flex;gap:2px;margin-top:1px}.cal-day-dot{width:4px;height:4px;border-radius:50%;background:#03C75A}.cal-day.selected .cal-day-dot{background:#03C75A}/* Reservation slots */ .cal-slots-title{font-size:0.85rem;font-weight:650;color:#1a1a1a;margin-bottom:8px}.cal-slots{display:flex;flex-direction:column;gap:6px}.cal-slot{background:#f7f7f7;border-radius:8px;padding:10px 12px;font-size:0.82rem;color:#1a1a1a;display:flex;align-items:center;gap:6px}.cal-slot-time{font-weight:650}.cal-slot-duration{color:#717171}.cal-slots-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 0;color:#bbb;gap:6px}.cal-slots-empty svg{opacity:0.5}.cal-slots-empty span{font-size:0.82rem}/* --- Naver Booking Button --- */ .btn-naver{display:flex;align-items:center;justify-content:flex-start;gap:8px;background:#fff;color:#222;font-weight:600;font-size:0.9rem;padding:13px 20px;border-radius:10px;border:1.5px solid #e0e0e0;transition:border-color 0.2s, background 0.2s, transform 0.15s;text-decoration:none;letter-spacing:-0.01em;overflow:hidden}.btn-naver span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover:hover){.btn-naver:hover{background:#fafafa;border-color:#03C75A;transform:translateY(-1px)}}.btn-naver.selected{border-color:#03C75A;background:#f0faf4}.btn-naver:active{transform:scale(0.98)}.btn-naver svg{flex-shrink:0;color:#03C75A}/* --- Reviews --- */ .review-section{padding-top:0}/* --- Branch Info Card --- */ .branch-info-card{display:flex;align-items:center;gap:14px;padding:4px 0}.branch-info-logo{width:48px;height:48px;border-radius:50%;object-fit:cover;border:1px solid #eee;flex-shrink:0}.branch-info-logo.faded{opacity:0.12}.branch-info-name{font-size:0.94rem;font-weight:400;color:#1a1a1a;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-info-actions{display:flex;gap:8px;flex-shrink:0}.branch-info-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:8px;font-size:0.82rem;font-weight:550;border:1px solid #e0e0e0;background:#fff;color:#333;cursor:pointer;transition:all 0.15s;text-decoration:none;min-width:76px;box-sizing:border-box}.branch-info-btn:hover{border-color:#999;background:#fafafa}.branch-info-btn svg{flex-shrink:0}/* PC sidebar variant */ .sidebar .branch-info-card{padding:0 0 18px;margin-bottom:18px;border-bottom:1px solid #ebebeb}.sidebar .branch-info-sidebar{background:#fff;border:1px solid #ebebeb;border-radius:14px;padding:24px;margin-bottom:16px}/* --- Sidebar --- */ .sidebar{display:none}.sidebar-card{background:#fff;border:1px solid #ebebeb;border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(0,0,0,0.06)}.sidebar-name{font-size:1.05rem;font-weight:680;color:#1a1a1a;margin-bottom:4px;letter-spacing:-0.01em}.sidebar-price{font-size:0.88rem;color:#717171;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid #ebebeb}.sidebar-price strong{display:block;font-size:1.2rem;font-weight:750;color:#1a1a1a;margin-bottom:2px}/* --- Sidebar Room Selector --- */ .sidebar-room-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #ebebeb}.sidebar-room-tab{font-size:0.84rem;font-weight:550;padding:7px 14px;border-radius:8px;border:1px solid #e0e0e0;color:#717171;background:#fff;cursor:pointer;transition:all 0.15s;white-space:nowrap}.sidebar-room-tab:hover{border-color:#1a1a1a;color:#1a1a1a}.sidebar-room-tab.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.sidebar-room-panel{display:none}.sidebar-room-panel.active{display:block}/* --- Mobile CTA --- */ .mobile-cta{position:sticky;bottom:0;z-index:80;background:#fff;border-top:1px solid #ebebeb;padding:10px 16px;box-shadow:0 -2px 10px rgba(0,0,0,0.04)}.mobile-cta-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:12px}.mobile-cta-info{flex:1;min-width:0}.mobile-cta-info strong{font-size:1rem;font-weight:700;color:#1a1a1a}.mobile-cta-info span{font-size:0.82rem;color:#717171}.mobile-cta .btn-naver{flex-shrink:0;padding:11px 20px;font-size:0.85rem;white-space:nowrap;border-radius:8px;background:#fff;color:#222;border-color:#e0e0e0}.mobile-cta .btn-naver:hover{background:#f9f9f9;border-color:#ccc}.mobile-cta .btn-naver svg{color:#03C75A}/* --- Bottom Sheet --- */ .bs-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,0.45);opacity:0;visibility:hidden;transition:opacity 0.25s, visibility 0.25s}.bs-overlay.open{opacity:1;visibility:visible}.bs-sheet{position:fixed;bottom:0;left:0;right:0;z-index:201;background:#fff;border-radius:18px 18px 0 0;padding:0 20px 28px;max-height:75vh;overflow-y:auto;transform:translateY(100%);transition:transform 0.3s cubic-bezier(0.32, 0.72, 0, 1)}.bs-overlay.open .bs-sheet{transform:translateY(0)}.bs-handle{display:flex;justify-content:center;padding:12px 0 16px;position:sticky;top:0;background:#fff;z-index:1}.bs-handle::after{content:'';width:36px;height:4px;background:#ddd;border-radius:2px}.bs-title{font-size:1.1rem;font-weight:700;color:#1a1a1a;margin-bottom:18px}.bs-room-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.bs-room-tab{font-size:0.88rem;font-weight:550;padding:9px 18px;border-radius:10px;border:1.5px solid #e0e0e0;color:#717171;background:#fff;cursor:pointer;transition:all 0.15s}.bs-room-tab.active{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.bs-room-panel{display:none}.bs-room-panel.active{display:flex;flex-direction:column;gap:10px}.bs-room-panel .btn-naver{width:100%;padding:15px 20px;font-size:0.95rem;justify-content:flex-start}/* ===== Tablet (768px+) ===== */ @media (min-width:768px){.hero-gallery{border-radius:16px;margin:0 auto;max-width:1200px}.hero-gallery img{aspect-ratio:2/1}.hero{background:transparent;padding:0 16px;padding-top:16px}.hero-wrap{max-width:1200px;margin:0 auto}.hero-nav{display:flex}.bh-name{font-size:1.7rem}.info-strip{grid-template-columns:1fr 1fr;gap:0 32px}/* 2열 그리드:마지막 행 border 제거 */ .info-strip .info-row:last-child, .info-strip .info-row:nth-last-child(2):nth-child(odd){border-bottom:none}.rc-body{padding:20px 24px 24px}.rc-booking{flex-direction:row;gap:20px}.rc-booking-left, .rc-booking-right{flex:1}.sec-title{font-size:1.3rem}}/* ===== Desktop (1080px+) ===== */ @media (min-width:1080px){.hero-gallery{border-radius:18px}.bh-name{font-size:1.85rem}.detail-wrap{display:grid;grid-template-columns:1fr 360px;gap:48px;align-items:start}.sidebar{display:block;position:sticky;top:76px}.mobile-cta{display:none}.branch-info-mobile{display:none}.room-list{display:flex;flex-direction:column;gap:20px}}/* Instagram Grid */ .instagram-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:4px}.instagram-item{position:relative;display:block;overflow:hidden;border-radius:4px;aspect-ratio:1}.instagram-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.2s}.instagram-item:hover img{transform:scale(1.05)}.instagram-play{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);opacity:0.8}.instagram-multi{position:absolute;top:8px;right:8px;opacity:0.8}