/* ===== G마켓 산스 ===== */
@font-face{font-family:'GmarketSans';font-weight:300;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff')}
@font-face{font-family:'GmarketSans';font-weight:500;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff')}
@font-face{font-family:'GmarketSans';font-weight:700;font-display:swap;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff')}

:root{--adc-orange:#ff8100;--adc-orange-d:#e06d00}

.adc-app{max-width:1080px;margin:0 auto;font-family:'GmarketSans','Apple SD Gothic Neo',system-ui,sans-serif;font-weight:500}
.adc-my{max-width:720px;margin:0 auto;font-family:'GmarketSans','Apple SD Gothic Neo',system-ui,sans-serif}

/* 안내문 */
.adc-policy{text-align:center;color:#8a5a2a;font-size:14px;font-weight:300;margin:0 0 18px}
.adc-hint{color:#8a5a2a;font-size:14px}
.adc-msg{text-align:center;margin:0 0 16px;font-weight:500}

/* 날짜바 (주황 배경 위 흰 둥근바) */
.adc-bar{position:relative;display:flex;align-items:center;gap:14px;flex-wrap:wrap;cursor:pointer;
  background:#fff;border-radius:999px;padding:14px 26px;max-width:900px;margin:0 auto 16px;
  box-shadow:0 6px 20px rgba(0,0,0,.12)}
/* 초록 말풍선 (바 위, 아래 화살표) */
.adc-bubble{position:absolute;left:50%;bottom:calc(100% + 13px);transform:translateX(-50%);
  background:#37a862;color:#fff;font-weight:700;font-size:15px;padding:9px 22px;border-radius:999px;
  white-space:nowrap;box-shadow:0 5px 14px rgba(0,0,0,.22)}
.adc-bubble::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);
  border:9px solid transparent;border-top-color:#37a862;border-bottom:0}
.adc-today{background:var(--adc-orange);color:#fff;border:0;border-radius:999px;padding:8px 18px;font-weight:700;cursor:pointer;font-family:inherit}
.adc-dateval{font-size:20px;font-weight:700}
.adc-cal{font-size:20px;cursor:pointer}
/* 커스텀 달력 팝업 */
.adc-calpop{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);z-index:30;
  background:#fff;border:1px solid #eee;border-radius:14px;box-shadow:0 12px 34px rgba(0,0,0,.25);
  padding:16px;width:320px;display:none;cursor:default}
.adc-calpop.on{display:block}
.adc-calhd{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.adc-calhd b{font-size:16px}
.adc-calnav{background:#f3f3f3;border:0;border-radius:8px;width:32px;height:32px;cursor:pointer;font-size:16px}
.adc-calnav:hover{background:#ffe3c4}
.adc-calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.adc-caldow{font-size:12px;color:#999;padding:5px 0}
.adc-calday{border:0;background:none;padding:9px 0;border-radius:8px;cursor:pointer;font-size:14px;font-family:inherit;color:#333}
.adc-calday:hover:not(:disabled){background:#fff0e0}
.adc-calday.past,.adc-calday:disabled{color:#ccc;cursor:default}
.adc-calday.sun{color:#e0483f}.adc-calday.sat{color:#4a7bd0}
.adc-calday.sel{background:var(--adc-orange);color:#fff;font-weight:700}
.adc-legend{margin-left:auto;display:flex;gap:10px}
.adc-legend .lg{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500}
.adc-legend .lg::before{content:"";width:14px;height:14px;border-radius:4px;display:inline-block}
.adc-legend .lg.ok::before{background:#37a862}
.adc-legend .lg.no::before{background:#e0483f}
@media(max-width:560px){.adc-bar{border-radius:18px}.adc-legend{margin:0;width:100%;justify-content:center}}

/* 배치도 */
.adc-map{position:relative;width:100%;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.5);background:#fff}
.adc-map.big{max-width:1000px;margin:0 auto;box-shadow:0 10px 34px rgba(0,0,0,.15)}
.adc-map img{display:block;width:100%;height:auto}
.adc-seat{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;line-height:30px;text-align:center;
  border-radius:50%;font-size:13px;font-weight:700;color:#fff;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.4);user-select:none}
.adc-seat.ok{background:#37a862;cursor:pointer}
.adc-seat.ok:hover{transform:translate(-50%,-50%) scale(1.25);z-index:5}
.adc-seat.no{background:#e0483f;cursor:not-allowed}
.adc-seat.no::after{content:"×";position:absolute;inset:0;font-size:16px}
@media(max-width:560px){.adc-seat{width:20px;height:20px;line-height:20px;font-size:10px;border-width:1px}}

/* 실사배치도 버튼 + 팝업 */
.adc-realwrap{text-align:center;margin-top:24px}
.adc-realbtn{background:#fff;color:var(--adc-orange);border:2px solid var(--adc-orange);border-radius:999px;
  padding:14px 30px;font-size:16px;font-weight:700;cursor:pointer;font-family:inherit}
.adc-realbtn:hover{background:var(--adc-orange);color:#fff}
.adc-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;z-index:9999;padding:20px}
.adc-modal.on{display:flex}
.adc-modal-in{background:#fff;border-radius:16px;max-width:1100px;width:100%;max-height:92vh;overflow:auto;position:relative;padding:20px}
.adc-modal-x{position:absolute;top:10px;right:16px;font-size:32px;line-height:1;background:none;border:0;cursor:pointer;color:#555}
.adc-modal-title{text-align:center;font-weight:700;font-size:20px;color:var(--adc-orange);margin-bottom:14px}

/* 버튼 공통 */
.adc-btn{display:inline-block;background:var(--adc-orange);color:#fff;border:0;border-radius:999px;padding:11px 22px;font-size:15px;cursor:pointer;text-decoration:none;font-family:inherit;font-weight:700}
.adc-btn:hover{background:var(--adc-orange-d)}
.adc-btn-line{background:#fff;color:var(--adc-orange);border:1.5px solid var(--adc-orange)}
.adc-err{color:#e0483f}

/* 폼 */
.adc-form{display:flex;flex-direction:column;gap:12px;max-width:360px;margin:0 auto}
.adc-form label{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600}
.adc-form input{padding:11px;border:1px solid #ddd;border-radius:10px;font-size:15px;font-family:inherit}

/* 내 예약 */
.adc-res{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid #eee2d4;border-radius:12px;margin-bottom:10px}
.adc-res b{font-size:16px}
.adc-res-price{color:#1e6b3c;font-weight:700}
/* 예약자 정보 카드 */
.adc-my-info{background:#fff8ef;border:1px solid #ffe0c0;border-radius:14px;padding:18px 22px;max-width:720px;margin:0 auto 22px}
.adc-my-info h3{margin:0 0 12px;color:var(--adc-orange);font-size:18px}
.adc-my-row{display:flex;gap:14px;padding:6px 0;font-size:15px}
.adc-my-row span{width:80px;color:#888;flex:none}
.adc-my-title{max-width:720px;margin:0 auto 12px;font-size:18px;color:#333;font-weight:700}
.adc-my-note{margin:14px 0 0;padding-top:12px;border-top:1px dashed #f0dcc0;font-size:13px;color:#a06a2a}
.adc-withdraw{text-align:center;margin:28px 0 0}
.adc-withdraw a,.adc-withdraw-btn{color:#bbb;font-size:12px;text-decoration:underline;background:none;border:0;cursor:pointer;font-family:inherit}
.adc-withdraw a:hover,.adc-withdraw-btn:hover{color:#e0483f}

/* 취소 환불규정 모달 */
.adc-cxl{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:99999;padding:20px}
.adc-cxl-in{background:#fff;border-radius:18px;max-width:400px;width:100%;padding:26px 24px;text-align:center;font-family:inherit}
.adc-cxl-in h3{margin:0 0 6px;color:#333;font-size:20px}
.adc-cxl-info{color:#666;margin:0 0 18px;font-weight:600}
.adc-refund{display:flex;align-items:center;gap:18px;justify-content:center;background:#fdf6ee;border:1px solid #f0e0cc;border-radius:14px;padding:18px 20px;margin:0 auto 14px}
.adc-refund-cal{background:#fff;border:2px solid #ead9c5;border-radius:10px;padding:6px 14px 10px;font-weight:700;font-size:15px;color:#4a4a4a;min-width:66px}
.adc-refund-cal .top{display:block;height:7px;background:#e05b47;border-radius:8px 8px 0 0;margin:-6px -14px 8px}
.adc-refund-txt b{font-size:23px;font-weight:800;color:#333;display:block}
.adc-refund-txt small{color:#d98a2b;font-weight:700;font-size:14px}
.adc-refund.t0 .adc-refund-txt b{color:#e0483f}
.adc-cxl-note{font-size:13px;color:#999;margin:0 0 18px}
.adc-cxl-btns{display:flex;gap:10px}
.adc-cxl-btns .adc-btn{flex:1;text-align:center}

/* 히어로(숏코드용, 옵션) */
.adc-hero{position:relative;width:100%;height:clamp(340px,58vh,560px);overflow:hidden}
.adc-hero-slides,.adc-hero-slide{position:absolute;inset:0}
.adc-hero-slide{background-size:cover;background-position:center;opacity:0;transition:opacity 1.1s ease}
.adc-hero-slide.on{opacity:1}
.adc-hero-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.45))}
.adc-hero-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:20px;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.adc-hero-txt h1{margin:0;font-size:clamp(34px,6vw,64px);font-weight:700}
.adc-hero-txt p{margin:14px 0 26px;font-size:clamp(15px,2.4vw,21px)}
.adc-hero-btn{display:inline-block;background:var(--adc-orange);color:#fff;text-decoration:none;padding:15px 34px;border-radius:40px;font-weight:700}

/* ===== 후기 페이지 ===== */
.adc-rev{max-width:1120px;margin:0 auto;font-family:'GmarketSans','Apple SD Gothic Neo',system-ui,sans-serif}
.adc-rev-sec{margin:0 0 58px}
.adc-rev-h{text-align:center;font-size:19px;font-weight:700;color:#333;margin:0 0 20px}
.adc-rev-h span{display:block;color:var(--adc-orange);font-size:12px;letter-spacing:2px;margin-bottom:4px}
/* 블로그 후기 리스트 (네이버 인기글 스타일) */
.adc-rev-list{max-width:720px;margin:0 auto;border-top:1px solid #eee}
.adc-rev-item{display:flex;align-items:flex-start;gap:16px;padding:20px 4px;border-bottom:1px solid #eee;text-decoration:none;color:#333;transition:.12s}
.adc-rev-item:hover{background:#fbf8f3}
.adc-rev-txt{flex:1;min-width:0}
.adc-rev-blog{display:block;color:#999;font-size:12.5px;margin-bottom:7px}
.adc-rev-item .adc-rev-t{display:block;font-weight:700;font-size:16px;color:#1a5fb4;line-height:1.45;margin-bottom:7px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.adc-rev-item:hover .adc-rev-t{text-decoration:underline}
.adc-rev-d{color:#666;font-size:13.5px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.adc-rev-thumb{flex:0 0 120px;width:120px;height:120px;border-radius:10px;object-fit:cover;background:#f2f2f2;border:1px solid #eee}
@media(max-width:520px){.adc-rev-thumb{flex-basis:88px;width:88px;height:88px}}
/* 네이버 클립 카드 가로 캐러셀 */
.adc-clip-wrap{position:relative;max-width:900px;margin:0 auto}
.adc-clip{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.adc-clip::-webkit-scrollbar{display:none}
.adc-clip-card{flex:0 0 200px;scroll-snap-align:start;text-decoration:none;color:#333}
@media(max-width:520px){.adc-clip-card{flex-basis:150px}}
.adc-clip-thumb{position:relative;display:block;aspect-ratio:3/4;border-radius:14px;background:#dfe6ee;overflow:hidden}
.adc-clip-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.adc-clip-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;text-shadow:0 2px 8px rgba(0,0,0,.5);background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28))}
.adc-clip-title{display:block;margin-top:9px;font-size:13.5px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.adc-clip-nav{position:absolute;top:38%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid #eee;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.12);font-size:22px;color:#555;cursor:pointer;display:flex;align-items:center;justify-content:center}
.adc-clip-nav.prev{left:-8px}
.adc-clip-nav.next{right:-8px}
.adc-ig{text-align:center}
.adc-ig-handle{font-size:20px;font-weight:700;color:var(--adc-orange);margin:0 0 16px}
.adc-ig-embed{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:8px}
.adc-ig-btn{background:#e1306c}
.adc-ig-btn:hover{background:#c62a5e}

/* =============== 예약 결제 모달 =============== */
.bm{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;justify-content:center;padding:0}
.bm-in{position:relative;background:#fff;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:24px 20px 28px;-webkit-overflow-scrolling:touch}
@media(min-width:560px){.bm{align-items:center;padding:20px}.bm-in{border-radius:18px}}
.bm-x{position:absolute;top:12px;right:14px;border:0;background:none;font-size:26px;line-height:1;color:#999;cursor:pointer}
.bm-h{margin:0 0 16px;font-size:20px;font-weight:700;color:#222}
.bm-seat{background:#faf6ef;border:1px solid #f0e6d6;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6;color:#444;margin-bottom:6px}
.bm-seat .bm-o{color:var(--adc-orange)}
.bm-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 2px;border-bottom:1px solid #f0f0f0}
.bm-opt-t{font-size:15px;font-weight:700;color:#333;line-height:1.5}
.bm-opt-t small{display:block;font-size:12px;font-weight:400;color:#999;margin-top:3px}
.bm-ctl{display:flex;align-items:center;gap:0;flex:0 0 auto;border:1px solid #ddd;border-radius:10px;overflow:hidden}
.bm-ctl button{width:38px;height:38px;border:0;background:#fff;font-size:18px;color:#555;cursor:pointer}
.bm-ctl button:active{background:#f2f2f2}
.bm-v{min-width:34px;text-align:center;font-size:15px;font-weight:700;border-left:1px solid #eee;border-right:1px solid #eee;line-height:38px}
.bm-total{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:700;margin:18px 0 20px}
.bm-total .bm-tot{font-size:22px;color:var(--adc-orange)}
.bm-next,.bm-pay{width:100%}
.bm-card{border:1px solid #e5e5e5;border-radius:12px;padding:16px;margin-bottom:16px}
.bm-card b{font-size:17px}
.bm-sub{font-size:13px;color:#777;margin-top:6px;line-height:1.5}
.bm-pay-line{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:2px solid #222;border-bottom:1px solid #eee;font-weight:700;font-size:15px}
.bm-pay-line .bm-tot2{font-size:20px;color:var(--adc-orange)}
.bm-sec{padding:16px 0;border-bottom:1px solid #f0f0f0}
.bm-lbl{font-size:14px;font-weight:700;color:#333;margin-bottom:8px}
.bm-sec .bm-mut{color:#888;font-size:13px}
.bm-req{width:100%;padding:11px 12px;border:1px solid #ddd;border-radius:9px;font-size:14px;background:#fff}
.bm-req-etc{width:100%;margin-top:8px;padding:11px 12px;border:1px solid #ddd;border-radius:9px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}
.bm-det{border-bottom:1px solid #f0f0f0}
.bm-det summary{padding:16px 2px;font-size:14px;font-weight:600;color:#444;cursor:pointer;list-style:none;position:relative}
.bm-det summary::-webkit-details-marker{display:none}
.bm-det summary::after{content:"⌄";position:absolute;right:4px;top:14px;color:#bbb;font-size:16px}
.bm-vwrap{display:flex;flex-direction:column;gap:8px;padding:0 2px 14px}
.bm-vwrap input{padding:11px 12px;border:1px solid #ddd;border-radius:9px;font-size:14px}
.bm-refund{padding:0 2px 16px}
.bm-r-hi{background:#fff4f4;color:#d9483b;font-weight:700;font-size:13px;text-align:center;padding:10px;border-radius:8px;margin:0 0 12px}
.bm-refund table{width:100%;border-collapse:collapse;font-size:13px}
.bm-refund td{border:1px solid #eee;padding:9px 10px}
.bm-refund td:first-child{color:#555;width:42%}
.bm-refund td:last-child{color:#d9483b;font-weight:600}
.bm-r-note{font-size:12px;color:#999;line-height:1.6;margin:12px 0 0}
.bm-agree{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#444;line-height:1.5;margin:18px 0;cursor:pointer}
.bm-agree input{margin-top:2px;flex:0 0 auto}
.bm-btns{display:flex;gap:10px}
.bm-btns .bm-prev{flex:0 0 34%}
.bm-btns .bm-pay{flex:1}
.bm-note{font-size:12px;color:#aaa;text-align:center;margin:12px 0 0}
