/* 샵 화면 CSS — estimate 영역
 * 화면: estimate, estimate.self_build, estimate.self_index, estimation.list, estimation.share, my.estimate_detail, my.estimates
 * :where(.pg-화면이름) 이 붙은 규칙은 그 화면에만 적용된다(우선순위는 그대로). 규칙: public/css/shop/README.md */


/* ───────── estimate/self_index ───────── */
/* resources/views/shop/estimate/self_index.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.self-wrap { max-width:720px; margin:0 auto; padding:40px 20px 80px; }
.self-hero { text-align:center; margin-bottom:24px; }
.self-hero h2 { font-size:26px; font-weight:500; color:#222; margin-bottom:6px; }
.self-hero p { font-size:15px; color:#666; margin-bottom:6px; line-height:1.6; }
.self-banner { display:flex; align-items:center; gap:20px; padding:22px; margin-bottom:24px; background:linear-gradient(135deg,#0eaddd 0%,#0890b8 100%); color:#fff; border-radius:12px; box-shadow:0 4px 12px rgba(14,173,221,.25); }
.self-banner .ic { font-size:38px; }
.self-banner h3 { font-size:17px; font-weight:500; margin:0 0 4px; }
.self-banner p { font-size:13px; opacity:.95; margin:0; line-height:1.5; }
:where(.pg-estimate-self_index) .est-section { background:#fff; border:1px solid #d9dfe6; border-radius:12px; box-shadow:0 1px 6px rgba(0,0,0,.08); margin-bottom:20px; overflow:hidden; }
:where(.pg-estimate-self_index) .est-section-head { padding:14px 20px; font-size:15px; font-weight:600; color:#1f2937; background:#fff; border-bottom:1px solid #eef0f3; display:flex; align-items:center; gap:10px; }
:where(.pg-estimate-self_index) .est-section-head svg { width:18px; height:18px; padding:6px; box-sizing:content-box; background:color-mix(in srgb, var(--gm-primary) 12%, #fff); color:var(--gm-primary); border-radius:8px; flex:none; }
:where(.pg-estimate-self_index) .est-section-body { padding:24px; }
:where(.pg-estimate-self_index) .est-field { margin-bottom:22px; }
:where(.pg-estimate-self_index) .est-field:last-child { margin-bottom:0; }
:where(.pg-estimate-self_index) .est-label { display:block; font-size:14px; font-weight:500; color:#444; margin-bottom:8px; }
:where(.pg-estimate-self_index) .est-label .required { color:#e05252; margin-left:2px; }
:where(.pg-estimate-self_index) .est-input { width:100%; padding:10px 14px; border:1px solid #ddd; border-radius:8px; font-size:14px; transition:border .2s; background:#fff; }
:where(.pg-estimate-self_index) .est-input:focus { border-color:#20B2D6; outline:none; }
:where(.pg-estimate-self_index) .est-input[readonly] { background:#f5f5f5; color:#666; cursor:default; }
/* 여행지 테이블 (estimate.blade.php 와 동일) */
:where(.pg-estimate-self_index) .dest-table { width:100%; border-collapse:collapse; }
:where(.pg-estimate-self_index) .dest-table th {
        font-size:14px; font-weight:500; color:#333;
        padding:10px 12px; white-space:nowrap; vertical-align:middle;
        text-align:left; width:90px; border-bottom:1px solid #eee;
}
:where(.pg-estimate-self_index) .dest-table td { padding:10px 12px; border-bottom:1px solid #eee; vertical-align:middle; }
:where(.pg-estimate-self_index) .dest-list { display:flex; flex-wrap:wrap; gap:6px; }
:where(.pg-estimate-self_index) .dest-btn {
        padding:4px 12px; border:1.5px solid #ddd; border-radius:4px;
        font-size:14px; font-weight:500; background:#fff; cursor:pointer;
        transition:all .2s; color:#444; text-align:center;
}
:where(.pg-estimate-self_index) .dest-btn:hover { border-color:#20B2D6; color:#20B2D6; background:#f0faff; }
:where(.pg-estimate-self_index) .dest-btn.on { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
/* 인원 카운터 (estimate.blade.php 와 동일) */
:where(.pg-estimate-self_index) .people-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
:where(.pg-estimate-self_index) .people-row .people-label { min-width:120px; font-size:14px; color:#444; }
:where(.pg-estimate-self_index) .people-row .people-label strong { color:#e05252; font-size:11px; }
:where(.pg-estimate-self_index) .people-row .btn-num { width:32px; height:32px; border:1px solid #ddd; border-radius:50%; background:#fff; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#555; transition:all .15s; }
:where(.pg-estimate-self_index) .people-row .btn-num:hover { border-color:#20B2D6; color:#20B2D6; }
:where(.pg-estimate-self_index) .people-row input[type=number] { width:48px; text-align:center; border:1px solid #ddd; border-radius:8px; padding:6px; font-size:14px; -moz-appearance:textfield; }
:where(.pg-estimate-self_index) .people-row input[type=number]::-webkit-outer-spin-button,
:where(.pg-estimate-self_index) .people-row input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
:where(.pg-estimate-self_index) .est-hint { font-size:13px; color:#e05252; margin-top:5px; }
/* 날짜 */
:where(.pg-estimate-self_index) .date-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; position:relative; }
:where(.pg-estimate-self_index) .date-row .est-input { flex:1; min-width:130px; }
/* 버튼 */
:where(.pg-estimate-self_index) .est-submit-wrap { text-align:center; margin-top:28px; }
:where(.pg-estimate-self_index) .est-submit { padding:14px 60px; background:var(--gm-primary); color:#fff; border:none; border-radius:10px; font-size:16px; font-weight:500; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s; }
:where(.pg-estimate-self_index) .est-submit:hover { transform:translateY(-1px); background:var(--gm-primary-dark); box-shadow:0 4px 14px rgba(15,136,171,.35); }
/* 안내 / 드래프트 */
.self-draft { padding:16px 18px; background:#fffbe6; border:1px solid #ffe58f; border-radius:10px; margin-bottom:20px; }
.self-draft b { color:#d48806; }
.self-draft .btns { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.self-draft a { padding:9px 18px; border-radius:8px; font-size:14px; font-weight:500; text-decoration:none; display:inline-block; }
.self-draft a.primary { background:#0eaddd; color:#fff; }
.self-draft a.outline { background:#fff; color:#0eaddd; border:1.5px solid #0eaddd; }
/* 알림 */
.err-msg { padding:12px 16px; background:#fff5f5; border:1px solid #ffcccc; color:#c62828; border-radius:8px; margin-bottom:16px; font-size:14px; }
/* 로그인 유도 */
:where(.pg-estimate-self_index) .login-banner { background:linear-gradient(135deg,#e8f4fd,#f0faff); border:1px solid #c8e6f0; border-radius:10px; padding:20px 22px; text-align:center; margin-bottom:16px; }
:where(.pg-estimate-self_index) .login-banner p { font-size:14px; color:#444; margin-bottom:12px; }
:where(.pg-estimate-self_index) .login-banner a { display:inline-block; padding:10px 30px; background:#20B2D6; color:#fff; border-radius:8px; font-size:14px; font-weight:500; text-decoration:none; }

/* ───────── estimate ───────── */
/* resources/views/shop/estimate.blade.php (head 섹션) 에서 분리 — 이 화면 전용 스타일 */
        /* 여행일정 달력 크게 */
:where(.pg-estimate, .pg-estimate-self_index) .daterangepicker { font-size: 15px; }
:where(.pg-estimate, .pg-estimate-self_index) .daterangepicker .drp-calendar { max-width: none; padding: 14px; }
:where(.pg-estimate, .pg-estimate-self_index) .daterangepicker .calendar-table th,
:where(.pg-estimate, .pg-estimate-self_index) .daterangepicker .calendar-table td {
            min-width: 42px; width: 42px; height: 42px; line-height: 42px;
            font-size: 15px; border-radius: 8px;
}
:where(.pg-estimate, .pg-estimate-self_index) .daterangepicker .month { font-size: 16px; font-weight:500; height: 40px; line-height: 40px; }
:where(.pg-estimate) .daterangepicker .calendar-table .next span,
:where(.pg-estimate) .daterangepicker .calendar-table .prev span { width: 10px; height: 10px; }
/* 두번째(오른쪽) 달력 숨겨 1달만 표시 — 범위 선택(출발~도착 한번에)은 유지 */
.daterangepicker.drp-single-month .drp-calendar.right { display: none; }
.daterangepicker.drp-single-month .drp-calendar.left { float: none; max-width: none; }
.daterangepicker.drp-single-month .drp-calendar.left .next { display: table-cell !important; visibility: visible !important; }
@media (max-width: 560px) {
    /* 모바일: 단일 달력을 화면폭에 맞춰 큼직하게 */
    .daterangepicker.drp-single-month { width: calc(100vw - 20px); max-width: 400px; }
    .daterangepicker.drp-single-month .drp-calendar.left { width: 100%; max-width: none; padding: 12px; }
    .daterangepicker.drp-single-month .calendar-table,
    .daterangepicker.drp-single-month .calendar-table table { width: 100%; }
    .daterangepicker.drp-single-month .calendar-table th,
    .daterangepicker.drp-single-month .calendar-table td { min-width: 0; width: 14.28%; height: 46px; line-height: 46px; font-size: 16px; }
    .daterangepicker.drp-single-month .month { font-size: 17px; height: 44px; line-height: 44px; }
}


/* ───────── estimate-2 ───────── */
/* resources/views/shop/estimate.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.est-wrap { max-width:800px; margin:0 auto; padding:40px 20px 80px; }
:where(.pg-estimate) .est-hero { text-align:center; margin-bottom:32px; }
:where(.pg-estimate) .est-hero h2 { font-size:26px; font-weight:500; color:#222; margin-bottom:6px; }
:where(.pg-estimate) .est-hero p { font-size:16px; color: var(--gm-text-sub,#555); margin-bottom:16px; line-height:1.6; }
.est-hero-link { display:inline-block; font-size:13px; font-weight:500; color:#fff; text-decoration:none; padding:8px 18px; background:var(--gm-primary); border:none; border-radius:20px; transition:all 0.2s; }
.est-hero-link:hover { background:var(--gm-primary-dark); color:#fff; }
.est-hero-steps { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.est-hero-steps .ehs-step { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:#444; background:color-mix(in srgb, var(--gm-primary) 8%, #fff); border:1px solid color-mix(in srgb, var(--gm-primary) 22%, #fff); border-radius:20px; padding:5px 12px; }
.est-hero-steps .ehs-step b { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; border-radius:50%; background:var(--gm-primary); color:#fff; font-size:11px; font-weight:600; flex:none; }
.est-hero-steps .ehs-arrow { color:var(--gm-primary); font-weight:700; }
:where(.pg-estimate) .est-section { background:#fff; border:1px solid #d9dfe6; border-radius:12px; box-shadow:0 1px 6px rgba(0,0,0,.08); margin-bottom:20px; overflow:hidden; }
:where(.pg-estimate) .est-section-head { padding:14px 20px; font-size:15px; font-weight:600; color:#1f2937; background:#fff; border-bottom:1px solid #eef0f3; display:flex; align-items:center; gap:10px; }
:where(.pg-estimate) .est-section-head svg { width:18px; height:18px; padding:6px; box-sizing:content-box; background:color-mix(in srgb, var(--gm-primary) 12%, #fff); color:var(--gm-primary); border-radius:8px; flex:none; }
:where(.pg-estimate) .est-section-body { padding:24px; }
:where(.pg-estimate) .est-field { margin-bottom:22px; }
:where(.pg-estimate) .est-field:last-child { margin-bottom:0; }
:where(.pg-estimate) .est-label { display:block; font-size:14px; font-weight:500; color:#444; margin-bottom:8px; }
:where(.pg-estimate) .est-label .required { color:#e05252; margin-left:2px; }
:where(.pg-estimate) .est-hint { font-size:13px; color:#e05252; margin-top:5px; }
:where(.pg-estimate) .est-hint a { color:#0770e3; }
:where(.pg-estimate) .est-input { width:100%; padding:10px 14px; border:1px solid #ddd; border-radius:8px; font-size:14px; transition:border .2s; background:#fff; }
:where(.pg-estimate) .est-input:focus { border-color:#20B2D6; outline:none; }
:where(.pg-estimate) .est-input[readonly] { background:#f5f5f5; color:#666; cursor:default; }
.est-input.is-invalid { border-color:#c62828; }
.est-input.is-valid { border-color:var(--gm-primary-dark,#0e7490); }
.est-phone-check { font-size:13px; margin-top:5px; min-height:0; }
.est-phone-check.ok { color:var(--gm-primary-dark,#0e7490); }
.est-phone-check.bad { color:#c62828; }
.est-select { padding:10px 14px; border:1px solid #ddd; border-radius:8px; font-size:14px; background:#fff; }
.est-select:focus { border-color:#20B2D6; outline:none; }
.est-textarea { width:100%; padding:12px 14px; border:1px solid #ddd; border-radius:8px; font-size:14px; resize:vertical; min-height:100px; }
.est-textarea:focus { border-color:#20B2D6; outline:none; }
/* 여행지 테이블 */
:where(.pg-estimate) .dest-table { width:100%; border-collapse:collapse; }
:where(.pg-estimate) .dest-table th {
        font-size:14px; font-weight:500; color:#333;
        padding:10px 12px; white-space:nowrap; vertical-align:middle;
        text-align:left; width:90px; border-bottom:1px solid #eee;
}
:where(.pg-estimate) .dest-table td { padding:10px 12px; border-bottom:1px solid #eee; vertical-align:middle; }
:where(.pg-estimate) .dest-list { display:flex; flex-wrap:wrap; gap:6px; }
:where(.pg-estimate) .dest-btn {
        padding:3px 10px; border:1.5px solid #ddd; border-radius:4px;
        font-size:14px; font-weight:500; background:#fff; cursor:pointer;
        transition:all .2s; color:#444; text-align:center; min-width:70px;
}
:where(.pg-estimate) .dest-btn:hover { border-color:#20B2D6; color:#20B2D6; background:#f0faff; }
:where(.pg-estimate) .dest-btn.on { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
/* 인원 */
:where(.pg-estimate) .people-row { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
:where(.pg-estimate) .people-row .people-label { min-width:120px; font-size:14px; color:#444; }
:where(.pg-estimate) .people-row .people-label strong { display:inline-block; color:#e05252; font-size:12px; font-weight:500; background:#fff0f0; border:1px solid #f5c2c2; border-radius:10px; padding:1px 7px; margin-left:2px; }
/* 아동 기준 강조 배너 */
.child-crt-notice { display:flex; align-items:center; gap:10px; margin-bottom:14px; padding:12px 14px; background:#fff7e6; border:1px solid #ffd591; border-radius:10px; font-size:14px; color:#8a5a00; line-height:1.5; }
.child-crt-notice .ccn-icon { font-size:22px; flex:0 0 auto; }
.child-crt-notice .ccn-crt { color:#e05252; font-size:15px; }
/* 아동 인원 추가 시 잠깐 떴다 사라지는 안내 토스트 */
:where(.pg-estimate) #child_check_toast { position:fixed; left:50%; top:50%; transform:translate(-50%,-50%) scale(.9); background:rgba(40,40,40,.92); color:#fff; padding:16px 24px; border-radius:12px; font-size:15px; font-weight:500; line-height:1.5; text-align:center; z-index:99999; opacity:0; pointer-events:none; box-shadow:0 8px 28px rgba(0,0,0,.28); transition:opacity .25s ease, transform .25s ease; }
:where(.pg-estimate) #child_check_toast.show { opacity:1; transform:translate(-50%,-50%) scale(1); }
#child_check_toast .cct-crt { color:#ffd45e; }
:where(.pg-estimate) .people-row .btn-num { width:32px; height:32px; border:1px solid #ddd; border-radius:50%; background:#fff; font-size:18px; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#555; transition:all .15s; }
:where(.pg-estimate) .people-row .btn-num:hover { border-color:#20B2D6; color:#20B2D6; }
:where(.pg-estimate) .people-row input[type=number] { width:48px; text-align:center; border:1px solid #ddd; border-radius:8px; padding:6px; font-size:14px; -moz-appearance:textfield; }
:where(.pg-estimate) .people-row input[type=number]::-webkit-outer-spin-button,
:where(.pg-estimate) .people-row input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
/* 라디오/체크 그룹 */
:where(.pg-estimate) .radio-group { display:flex; flex-wrap:wrap; gap:8px; }

/* ───────── estimate/self_build ───────── */
/* resources/views/shop/estimate/self_build.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.sb-wrap { max-width:780px; margin:0 auto; padding:30px 16px 100px; }
.sb-hero { text-align:center; margin-bottom:24px; }
.sb-hero h2 { font-size:24px; font-weight:800; color:#222; margin-bottom:6px; }
.sb-hero .branch { font-size:14px; color:#0eaddd; font-weight:600; }
.sb-hero .period { font-size:13px; color: var(--gm-text-sub,#555); margin-top:4px; }
.sb-section { background:#fff; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.06); margin-bottom:18px; overflow:hidden; }
.sb-section-head { padding:14px 22px; font-size:14px; font-weight:700; color:#333; background:#f7f9fa; border-bottom:1px solid #ddd; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sb-section-head .ic { font-size:16px; margin-right:4px; }
.sb-section-body { padding:20px 22px; }
.sb-field { margin-bottom:16px; }
.sb-field:last-child { margin-bottom:0; }
.sb-label { display:block; font-size:13px; font-weight:700; color:#444; margin-bottom:6px; }
.sb-row { display:flex; gap:10px; flex-wrap:wrap; }
.sb-row > .col { flex:1; min-width:140px; }
.sb-input,
.sb-select,
.sb-textarea { width:100%; padding:9px 12px; border:1px solid #ddd; border-radius:8px; font-size:14px; background:#fff; }
.sb-input:focus,
.sb-select:focus,
.sb-textarea:focus { border-color:#20B2D6; outline:none; }
.sb-input[readonly] { background:#f5f5f5; color:#666; }
.sb-textarea { resize:vertical; min-height:70px; }
.ppl-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.ppl-row .label { min-width:120px; font-size:13px; color:#444; }
.ppl-row .btn-num { width:30px; height:30px; border:1px solid #ddd; border-radius:50%; background:#fff; font-size:16px; cursor:pointer; color:#555; }
.ppl-row .btn-num:hover { border-color:#20B2D6; color:#20B2D6; }
.ppl-row input { width:46px; text-align:center; border:1px solid #ddd; border-radius:8px; padding:5px; font-size:14px; }
.item-empty { padding:20px; text-align:center; color: var(--gm-text-sub,#555); font-size:13px; border:1px dashed #ddd; border-radius:8px; background:#fafbfc; }
.item-card { display:flex; align-items:center; gap:12px; padding:14px; border:1px solid #d5d5d5; border-radius:10px; margin-bottom:10px; background:#fafbfc; flex-wrap:wrap; }
.item-card .nm { flex:1; min-width:120px; font-weight:600; color:#222; font-size:14px; }
.item-card .nm small { display:block; font-weight:400; color: var(--gm-text-sub,#555); font-size:12px; margin-top:2px; }
.item-card .field { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.item-card .field label { font-size:11px; color: var(--gm-text-sub,#555); }
.item-card .field input { width:90px; padding:5px 8px; border:1px solid #ddd; border-radius:6px; font-size:13px; }
.item-card .field input.date { width:120px; }
.item-card .pr { font-weight:700; color:#0eaddd; min-width:90px; text-align:right; }
.item-card .rm { background:#fff; color:#dc3545; border:1px solid #dc3545; padding:4px 10px; border-radius:5px; cursor:pointer; font-size:12px; }
.item-card .rm:hover { background:#dc3545; color:#fff; }
.btn-add { padding:8px 16px; background:#fff; color:#0eaddd; border:1.5px solid #0eaddd; border-radius:6px; cursor:pointer; font-size:13px; font-weight:700; }
.btn-add:hover { background:#f0fbff; }
:where(.pg-estimate-self_build) .btn-primary { padding:13px 30px; background:linear-gradient(135deg,#20B2D6,#0eaddd); color:#fff; border:0; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; }
:where(.pg-estimate-self_build) .btn-primary:hover { box-shadow:0 4px 14px rgba(32,178,214,.35); }
.btn-outline { padding:13px 30px; background:#fff; color:#0eaddd; border:2px solid #0eaddd; border-radius:10px; font-size:15px; font-weight:700; cursor:pointer; }
.btn-outline:hover { background:#f0fbff; }
.sb-total { padding:18px 22px; background:#1a1a1a; color:#fff; border-radius:12px; margin-bottom:14px; }
.sb-total .row { display:flex; justify-content:space-between; align-items:center; font-size:13px; opacity:.85; margin-bottom:6px; }
.sb-total .row .v { font-weight:600; }
.sb-total .grand { display:flex; justify-content:space-between; align-items:center; border-top:1px solid rgba(255,255,255,.15); padding-top:10px; margin-top:8px; }
.sb-total .grand .lbl { font-size:14px; }
.sb-total .grand .amt { font-size:22px; font-weight:800; color:#0eaddd; }
.sb-total .note { font-size:11px; opacity:.6; margin-top:4px; }
.sb-actions { display:flex; gap:10px; flex-wrap:wrap; }
.sb-actions > * { flex:1; min-width:160px; }
.sb-locked { padding:14px 18px; background:#fff8e1; border:1px solid #ffd54f; border-radius:10px; margin-bottom:14px; color:#7c5800; font-size:14px; }
.sb-locked b { color:#c79100; }
.pk-mask { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:1000; align-items:center; justify-content:center; }
.pk-mask.on { display:flex; }
.pk-modal { width:92%; max-width:560px; max-height:82vh; background:#fff; border-radius:12px; display:flex; flex-direction:column; overflow:hidden; }
.pk-modal h4 { margin:0; padding:14px 18px; background:#0eaddd; color:#fff; font-size:15px; }
.pk-modal .body { padding:14px 18px; overflow-y:auto; flex:1; }
.pk-modal .search { display:flex; gap:6px; margin-bottom:12px; }
.pk-modal .search input { flex:1; padding:8px 12px; border:1px solid #ddd; border-radius:8px; }
.pk-modal .foot { padding:10px 18px; border-top:1px solid #eee; text-align:right; }
.pk-row { padding:10px 12px; border:1px solid #eee; border-radius:8px; margin-bottom:6px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.pk-row:hover { border-color:#0eaddd; background:#f0fbff; }
.pk-row .nm { font-weight:600; color:#222; }
.pk-row .pr { color:#0eaddd; font-weight:700; }
/* 라디오 pill (estimate.blade.php 와 동일) */
:where(.pg-estimate-self_build) .radio-group { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }

/* ───────── estimate-2 ───────── */
.radio-pill { display:none; }
:where(.pg-estimate) .radio-pill + label { padding:3px 10px; border:1.5px solid #ddd; border-radius:4px; font-size:14px; font-weight:500; cursor:pointer; transition:all .2s; color:#444; background:#fff; min-width:70px; text-align:center; }

/* ───────── estimate/self_build ───────── */
:where(.pg-estimate-self_build) .radio-pill + label { padding:6px 14px; border:1.5px solid #ddd; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; transition:all .2s; color:#444; background:#fff; min-width:80px; text-align:center; }
:where(.pg-estimate-self_build) .radio-pill + label:hover { border-color:#20B2D6; color:#20B2D6; background:#f0faff; }

/* ───────── estimate-2 ───────── */
.radio-pill:checked + label { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
.check-pill { display:none; }
.check-pill + label { padding:3px 10px; border:1.5px solid #ddd; border-radius:4px; font-size:14px; font-weight:500; cursor:pointer; transition:all .2s; color:#444; background:#fff; min-width:70px; text-align:center; }
.check-pill:checked + label { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
/* 날짜 */
:where(.pg-estimate) .date-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; position:relative; }
:where(.pg-estimate) .date-row .est-input { flex:1; min-width:130px; }
.date-undecided { display:flex; align-items:center; gap:8px; margin-top:10px; }
.date-undecided input[type=checkbox] { accent-color:#20B2D6; }
.date-undecided input[type=text] { flex:1; }

/* ───────── estimate/self_build ───────── */
.sb-empty-note { color: var(--gm-text-sub,#555); font-size:13px; }
/* 호텔 카드 내부 - 성급/호텔/객실 인라인 선택 */
.grade-btn { padding:6px 12px; border:1.5px solid #ddd; border-radius:6px; background:#fff; color:#444; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.grade-btn:hover { border-color:#20B2D6; color:#20B2D6; }
.grade-btn.on { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
.grade-btn:disabled { opacity:.4; cursor:default; background:#f5f5f5; }
/* 호텔 선택 버튼 */
.tree-hotel-btn { padding:6px 12px; border:1.5px solid #ddd; border-radius:6px; background:#fff; color:#333; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.tree-hotel-btn:hover { border-color:#20B2D6; color:#20B2D6; background:#f0fbff; }
.tree-hotel-btn.on { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
.tree-hotel-btn:disabled { opacity:.4; cursor:default; }
/* 패키지 버튼 (투어 섹션 상단) */
.pkg-btn { padding:6px 14px; border:1.5px solid #ddd; border-radius:6px; background:#fff; color:#333; font-size:13px; font-weight:600; cursor:pointer; transition:all .15s; }
.pkg-btn:hover { border-color:#f0a020; color:#f0a020; background:#fffaf0; }
.pkg-btn.on { background:#f0a020; color:#fff; border-color:#f0a020; }
.pkg-btn:disabled { opacity:.4; cursor:default; }
/* 투어 select */
.tour-select { width:100%; padding:9px 12px; border:1.5px solid #0eaddd; border-radius:8px; font-size:14px; background:#fff; font-weight:600; }
.tour-select:focus { outline:none; border-color:#0e8aa8; }
/* 픽업/드랍 카드 */
.pd-card { border:1px solid #d4eef5; border-radius:10px; background:#f7fcfd; padding:10px 14px; margin-bottom:10px; }
.pd-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.pd-head .pd-label { font-weight:700; color:#0e8aa8; font-size:13px; }
.pd-head .pd-date { font-size:12px; color:#666; }
.pd-options { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.pd-btn { padding:5px 12px; border:1.5px solid #ddd; border-radius:6px; background:#fff; color:#444; font-size:12px; font-weight:600; cursor:pointer; transition:all .15s; }
.pd-btn:hover:not(:disabled) { border-color:#20B2D6; color:#20B2D6; background:#f0fbff; }
.pd-btn.on { background:#0e8aa8; color:#fff; border-color:#0e8aa8; }
.pd-btn:disabled { cursor:not-allowed; }
/* 무료 버튼: 직접 선택 불가 (안내성 흐림). 단 on 상태(담당자/조건 적용)는 강조됨 */
.pd-btn.pd-readonly:not(.on) { opacity:.5; background:#f7f7f7; color: var(--gm-text-sub,#555); }
.pd-btn.pd-readonly.on { background:#f0a020; color:#fff; border-color:#f0a020; opacity:1; }
.pd-charge { margin-left:auto; font-weight:700; color:#0eaddd; font-size:14px; }
.hotel-options .hotel-opt,
.room-options .room-opt {
        padding:8px 10px; border:1px solid #eee; border-radius:6px; margin-bottom:5px;
        cursor:pointer; display:flex; justify-content:space-between; align-items:center;
        gap:6px; font-size:13px; transition:all .15s; background:#fff;
}
.hotel-options .hotel-opt:hover,
.room-options .room-opt:hover { border-color:#0eaddd; background:#f0fbff; }
.hotel-options .hotel-opt.on,
.room-options .room-opt.on { border-color:#0eaddd; background:#e6f6fc; }
.hotel-options .hotel-opt .nm,
.room-options .room-opt .nm { font-weight:600; color:#222; }
.hotel-options .hotel-opt .pr,
.room-options .room-opt .pr { color:#0eaddd; font-weight:700; font-size:12px; }
.hotel-options .hotel-opt .star { font-size:11px; color:#f0ad4e; margin-right:4px; }

/* ───────── estimate-2 ───────── */
/* 항공 스케줄 */
.air-schedule-row { display:flex; gap:8px; align-items:center; margin-bottom:8px; flex-wrap:wrap; }
:where(.pg-estimate) .air-schedule-row .air-label { font-size:14px; font-weight:500; min-width:36px; color:#444; }
:where(.pg-estimate) .air-schedule-row input[type=text][readonly] { width:150px; flex:none; min-width:0; }
:where(.pg-estimate) .air-schedule-row input[type=text] { flex:1; min-width:200px; }
:where(.pg-estimate) .schedule_layer { display:none; position:absolute; z-index:100; background:#fff; border:1px solid #ddd; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.1); max-height:200px; overflow-y:auto; }

/* ───────── estimate/self_build ───────── */
:where(.pg-estimate-self_build) .air-schedule-row .air-label { font-size:13px; font-weight:700; min-width:34px; color:#444; }
:where(.pg-estimate-self_build) .air-schedule-row input[type=date] { width:150px; padding:9px 12px; border:1px solid #ddd; border-radius:8px; font-size:14px; }
:where(.pg-estimate-self_build) .air-schedule-row input[type=text] { flex:1; min-width:240px; padding:9px 12px; border:1px solid #ddd; border-radius:8px; font-size:14px; }
:where(.pg-estimate-self_build) .schedule_layer { display:none; position:absolute; z-index:100; background:#fff; border:1px solid #ddd; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,.1); max-height:220px; overflow-y:auto; }

/* ───────── estimate-2 ───────── */
.schedule_layer ul { list-style:none; padding:0; margin:0; }
.schedule_layer li { padding:8px 14px; cursor:pointer; font-size:14px; border-bottom:1px solid #f0f0f0; }
.schedule_layer li:hover { background:#f0faff; }
/* 리조트 성급 */
.star-group { display:flex; flex-direction:column; gap:10px; }
.star-option { display:flex; align-items:center; gap:10px; }
.star-option input[type=radio] { accent-color:#20B2D6; }
.star-option img { height:16px; }
.star-option .budget { font-size:12px; color: var(--gm-text-sub,#555); }
/* 리조트 스케줄 테이블 */
.resort-table { width:100%; border-collapse:collapse; }
.resort-table th { font-size:12px; font-weight:500; color:#666; padding:8px 6px; text-align:left; border-bottom:1px solid #ddd; }
.resort-table td { padding:6px; }
.resort-table input { width:100%; padding:6px 8px; border:1px solid #ddd; border-radius:6px; font-size:14px; }
.resort-table input:focus { border-color:#20B2D6; outline:none; }
.resort-add-btn { font-size:14px; color:#20B2D6; background:none; border:1px dashed #20B2D6; border-radius:6px; padding:6px 16px; cursor:pointer; margin-top:8px; }
/* 카카오 로그인 유도 */
.est-login-required { text-align:center; padding:30px 20px; }
.est-login-msg { font-size:15px; color:#555; margin-bottom:16px; font-weight:500; }
.est-kakao-btn { display:inline-block; }
.est-kakao-btn:hover { opacity:0.85; }
/* 제출 버튼 */
:where(.pg-estimate) .est-submit-wrap { text-align:center; margin-top:28px; }
:where(.pg-estimate) .est-submit { padding:14px 60px; background:var(--gm-primary); color:#fff; border:none; border-radius:10px; font-size:16px; font-weight:500; cursor:pointer; transition:transform .15s, box-shadow .15s, background .15s; }
:where(.pg-estimate) .est-submit:hover { transform:translateY(-1px); background:var(--gm-primary-dark); box-shadow:0 4px 14px rgba(15,136,171,.35); }
.est-notice { text-align:center; font-size:12px; color: var(--gm-text-sub,#555); margin-top:12px; }
/* 로그인 유도 배너 */
:where(.pg-estimate) .login-banner { background:linear-gradient(135deg,#e8f4fd,#f0faff); border:1px solid #c8e6f0; border-radius:10px; padding:16px 20px; display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.login-banner .lb-text { font-size:14px; color:#444; }
.login-banner .lb-text strong { color:#20B2D6; }
:where(.pg-estimate) .login-banner a { padding:7px 20px; background:#20B2D6; color:#fff; border-radius:20px; font-size:14px; font-weight:500; text-decoration:none; }
/* 팝업 브랜치 정보 */
.pop-info { display:none; background:#fff; border:1px solid #ddd; border-radius:10px; overflow:hidden; margin-bottom:16px; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.pop-info img { width:100%; height:180px; object-fit:cover; }
.pop-info .pop-det { padding:12px 16px; font-size:14px; color:#444; line-height:1.6; }
/* 성공/경고 배너 */
.est-alert { padding:14px 20px; border-radius:10px; margin-bottom:20px; font-size:14px; }
.est-alert.success { background:#e8f8e8; color:#2a7a2a; border:1px solid #b8e0b8; }
.est-alert.wait { background:#fff8e8; color:#8a6a00; border:1px solid #e8d8a0; }
.est-alert-btns { display:flex; gap:8px; margin-top:12px; }
.est-alert-btn {
        display:inline-block; padding:8px 20px; border-radius:6px;
        font-size:14px; font-weight:500; text-decoration:none;
        background:#2a7a2a; color:#fff;
}
.est-alert-btn:hover { background:#1e5e1e; color:#fff; }
.est-alert-btn.outline { background:#fff; color:#2a7a2a; border:1.5px solid #2a7a2a; }
.est-alert-btn.outline:hover { background:#e8f8e8; }
/* 투어 정보 영역 */
:where(.pg-estimate) #tour_info_area { display:none; }
@media(max-width:600px) {
    .est-wrap { padding:20px 8px 60px; }
    :where(.pg-estimate) .est-section-body { padding:10px; }
    .self-wrap { padding:20px 8px 60px; }
    :where(.pg-estimate-self_index) .est-section-body { padding:14px; }
    .date-row { gap:6px; }
    .date-row .est-input { min-width:0; }
    .people-row .people-label { min-width:100px; }
    :where(.pg-estimate) .air-schedule-row { flex-direction:column; align-items:stretch; }
    :where(.pg-estimate) .login-banner { flex-direction:column; gap:10px; text-align:center; }
    .dest-table th { width:65px; padding:4px 2px; font-size:12px; }
    .dest-table td { padding:4px 2px; }
    :where(.pg-estimate) .dest-btn { padding:3px 10px; font-size:14px; min-width:70px; }
    :where(.pg-estimate) .dest-list { gap:6px; }
    :where(.pg-estimate-self_index) .dest-btn { padding:2px 6px; font-size:12px; }
    :where(.pg-estimate-self_index) .dest-list { gap:4px; }
}


/* ───────── estimation/list ───────── */
/* resources/views/shop/estimation/list.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.est-list-wrap { max-width: 900px; margin: 30px auto; padding: 0 15px 40px; }
:where(.pg-estimation-list) .est-hero { text-align: center; margin-bottom: 26px; }
.est-hero-badge {
    display: inline-block; font-size: 12px; font-weight: 600; color: var(--gm-primary-dark);
    background: color-mix(in srgb, var(--gm-primary) 10%, #fff);
    border: 1px solid color-mix(in srgb, var(--gm-primary) 22%, #fff);
    padding: 4px 12px; border-radius: 20px; margin-bottom: 12px;
}
.est-title { display: block; font-size: 26px; font-weight: 800; color: #1f2937; text-align: center; margin-bottom: 10px; }
.est-seo-desc { max-width: 600px; margin: 0 auto 16px; text-align: center; font-size: 14px; line-height: 1.7; color: #666; }
.est-seo-desc b { color: #1f2937; font-weight: 700; }
.est-seo-desc a { color: var(--gm-primary-dark); text-decoration: underline; }
.est-hero-points { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 22px; }
.est-hero-points .ehp { font-size: 13px; color: #444; background: #f4f7f9; border: 1px solid #e5eaee; border-radius: 20px; padding: 7px 14px; }
.est-btn-request {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 14px 44px; border-radius: 10px;
    font-size: 16px; font-weight: 700; color: #fff; background: var(--gm-primary);
    text-decoration: none; transition: background .15s, transform .15s, box-shadow .15s;
}
.est-btn-request:hover { background: var(--gm-primary-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(15,136,171,.28); }
.est-list-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; flex-wrap: wrap; gap: 10px; }
.est-list-total { font-size: 15px; color: #333; font-weight: 600; }
.est-list-search { display: flex; border: 1px solid #ddd; border-radius: 20px; overflow: hidden; height: 34px; }
.est-list-search input {
    border: none; outline: none; padding: 0 12px; font-size: 13px; width: 180px; background: #fff;
    -moz-appearance: textfield;
}
.est-list-search input::-webkit-outer-spin-button,
.est-list-search input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.est-list-search button { border: none; background: var(--gm-primary); color: #fff; padding: 0 14px; cursor: pointer; font-size: 13px; font-weight: 600; }
/* 테이블 */
.est-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 14px; border: 1px solid #e5e8ec; border-radius: 12px; overflow: hidden; }
.est-table thead th {
    padding: 12px; text-align: center; font-weight: 700; color: var(--gm-red-dark);
    background: color-mix(in srgb, var(--gm-red) 8%, #fff);
    font-size: 13px; border-bottom: 2px solid var(--gm-red);
}
.est-table tbody tr { transition: background .1s; }
.est-table tbody tr:nth-child(even) { background: #f9fbfc; }
.est-table tbody tr:hover { background: #eef7fa; }
.est-table td { padding: 11px 12px; color: #444; border-bottom: 1px solid #eef0f2; text-align: center; }
.est-table tbody tr:last-child td { border-bottom: none; }
.est-td-date { color: var(--gm-text-sub,#555); white-space: nowrap; width: 110px; }
/* 상태 뱃지 */
.est-badge { display: inline-block; min-width: 64px; text-align: center; font-size: 12px; font-weight: 600; padding: 2px 8px; border-radius: 10px; white-space: nowrap; box-sizing: border-box; }
.est-badge.est-pending { background: #fff3e0; color: #f57c00; }
.est-badge.est-progress { background: #e3f2fd; color: #1976d2; }
.est-badge.est-complete { background: #e8f5e9; color: #388e3c; }
.est-badge.est-paid { background: #ede7f6; color: #7b1fa2; }
.est-badge.est-cancelled { background: #fce4ec; color: #c62828; }
.est-view-btn {
    font-size: 12px; color: #666; border: 1px solid #bbb;
    padding: 3px 10px; border-radius: 4px; white-space: nowrap; background: #f5f5f5;
}
.est-td-btn { text-align: right; width: 80px; }
.est-empty { text-align: center; padding: 40px 0; color: var(--gm-text-muted,#6e6e6e); }
/* 페이지네이션 */
.est-pagination { margin-top: 16px; display: flex; justify-content: center; align-items: center; gap: 4px; }
.ep-link,
.ep-active,
.ep-disabled {
    display: inline-block; min-width: 30px; height: 30px; line-height: 30px;
    text-align: center; font-size: 13px; border-radius: 4px; text-decoration: none;
}
.ep-link { color: #555; }
.ep-link:hover { background: #f0f0f0; color: #222; text-decoration: none; }
.ep-active { background: var(--gm-primary); color: #fff; font-weight: 600; }
.ep-disabled { color: #ccc; }
/* 성수기 대기 팝업 */
.est-wait-overlay {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5); z-index: 9999;
    display: flex; align-items: center; justify-content: center;
}
.est-wait-popup {
    background: #fff; border-radius: 12px; padding: 30px; max-width: 480px;
    margin: 20px; font-size: 15px; line-height: 1.7; color: #333;
}
.est-wait-btn {
    display: block; margin: 20px auto 0; padding: 10px 40px;
    background: #20B2D6; color: #fff; border: none; border-radius: 8px;
    font-size: 15px; font-weight: 600; cursor: pointer;
}
/* SEO 섹션: 여행지 링크 · FAQ */
.est-seo-section { margin-top: 36px; }
.est-seo-h2 { font-size: 18px; font-weight: 700; color: #1f2937; margin: 0 0 6px; padding-bottom: 10px; border-bottom: 1px solid #eee; position: relative; }
.est-seo-h2::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 44px; height: 2px; background: var(--gm-red); }
.est-seo-lead { font-size: 13px; color: var(--gm-text-sub,#555); line-height: 1.6; margin: 12px 0 14px; }
.est-dest-links { display: flex; flex-wrap: wrap; gap: 8px; }
.est-dest-links a { font-size: 13px; color: #444; background: #f5f7f9; border: 1px solid #e5eaee; border-radius: 20px; padding: 7px 14px; text-decoration: none; transition: all .15s; }
.est-dest-links a:hover { border-color: var(--gm-primary); color: var(--gm-primary-dark); background: #fff; }
.est-faq { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.est-faq-item { border: 1px solid #e8ebee; border-radius: 10px; padding: 0 16px; background: #fff; }
.est-faq-item summary { cursor: pointer; padding: 14px 24px 14px 0; font-size: 14px; font-weight: 600; color: #333; list-style: none; position: relative; }
.est-faq-item summary::-webkit-details-marker { display: none; }
.est-faq-item summary::after { content: "+"; position: absolute; right: 0; top: 12px; color: var(--gm-primary); font-size: 18px; font-weight: 700; }
.est-faq-item[open] summary::after { content: "\2212"; }
.est-faq-item p { margin: 0; padding: 0 0 14px; font-size: 13px; color: #666; line-height: 1.7; }
@media (max-width: 768px) {
    .est-list-wrap { margin: 16px auto; }
    .est-title { font-size: 22px; }
    .est-seo-desc { font-size: 13px; }
    .est-btn-request { display: flex; width: 100%; padding: 14px 0; }
    .est-list-toolbar { flex-direction: column; align-items: stretch; }
    .est-list-search { width: 100%; }
    .est-list-search input { flex: 1; width: auto; }
    .est-table thead { display: none; }
    .est-table tbody tr {
        display: flex; flex-wrap: wrap; padding: 12px; gap: 4px 12px; align-items: center;
        border-bottom: 1px solid #eef0f2;
    }
    .est-table td { padding: 2px 0; border: none; }
    .est-td-date { order: 3; width: auto; font-size: 12px; }
    .est-td-btn { order: 4; width: auto; margin-left: auto; }
}


/* ───────── estimation/share ───────── */
/* resources/views/shop/estimation/share.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.es-wrap { background: #f8f9fa; min-height: 100vh; padding: 24px 0 60px; }
.es-inner { max-width: 760px; margin: 0 auto; padding: 0 16px; }

/* ───────── my/estimate_detail-2 ───────── */
/* resources/views/shop/my/estimate_detail.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.ed-back { display: inline-block; margin-bottom: 16px; color: var(--gm-text-sub,#555); text-decoration: none; font-size: 14px; }
.ed-back:hover { color: #333; }

/* ───────── estimation/share ───────── */
.ed-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24px; }
.ed-header-left { display: flex; flex-direction: column; gap: 4px; }
:where(.pg-estimation-share) .ed-branch-name { font-size: 22px; font-weight: 800; color: #20B2D6; letter-spacing: 0.3px; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-branch-name { font-size: 22px; font-weight: 800; color: var(--gm-primary-dark); letter-spacing: 0.3px; }

/* ───────── estimation/share ───────── */
.ed-title { font-size: 14px; font-weight: 500; color: var(--gm-text-sub,#555); margin: 0; }
:where(.pg-estimation-share) .ed-country { color: #20B2D6; font-size: 14px; font-weight: 600; margin-right: 4px; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-country { color: var(--gm-primary-dark); font-size: 14px; font-weight: 600; margin-right: 4px; }

/* ───────── estimation/share ───────── */
.ed-date { font-size: 13px; color: var(--gm-text-muted,#6e6e6e); }
:where(.pg-estimation-share, .pg-my-estimate_detail) .est-my-badge { font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 12px; }
:where(.pg-estimation-share) .est-my-badge.pending { background: #fff3e0; color: #f57c00; }
:where(.pg-estimation-share) .est-my-badge.progress { background: #e3f2fd; color: #1976d2; }
:where(.pg-estimation-share) .est-my-badge.complete { background: #e8f5e9; color: #388e3c; }
:where(.pg-estimation-share) .est-my-badge.paid { background: #ede7f6; color: #7b1fa2; }
:where(.pg-estimation-share) .est-my-badge.cancelled { background: #fce4ec; color: #c62828; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .est-my-badge.pending { background: #fff3e0; color: #a55200; }
:where(.pg-my-estimate_detail) .est-my-badge.progress { background: #e3f2fd; color: #0d47a1; }
:where(.pg-my-estimate_detail) .est-my-badge.complete { background: #e8f5e9; color: #1b5e20; }
:where(.pg-my-estimate_detail) .est-my-badge.paid { background: #ede7f6; color: #4a148c; }
:where(.pg-my-estimate_detail) .est-my-badge.cancelled { background: #fce4ec; color: #b71c1c; }
.ed-sibling-tabs { list-style: none; padding: 0; margin: -8px 0 16px; display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid #e0e0e0; }
.ed-sibling-tab { margin: 0; }
.ed-sibling-tab a { display: inline-block; padding: 8px 16px; font-size: 13px; font-weight: 500; color: #666; text-decoration: none; border: 1px solid #e0e0e0; border-bottom: none; border-radius: 6px 6px 0 0; background: #f7f7f7; margin-bottom: -1px; transition: all 0.15s; }
.ed-sibling-tab a:hover { color: var(--gm-primary-dark); background: #fff; }
.ed-sibling-tab.active a { color: var(--gm-primary-dark); background: #fff; border-color: var(--gm-brand); border-bottom: 1px solid #fff; font-weight: 700; }
.ed-sibling-mark { color: var(--gm-primary-dark); font-style: normal; margin-right: 4px; font-size: 12px; }

/* ───────── estimation/share ───────── */
.ed-section { background: #fff; border: 1px solid #d8d8d8; border-radius: 12px; padding: 20px; margin-bottom: 16px; }
.ed-section-title { font-size: 16px; font-weight: 700; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #ddd; }
.ed-grid { display: flex; flex-direction: column; gap: 8px; }
.ed-row { display: flex; gap: 12px; font-size: 14px; }
.ed-label { color: #777; min-width: 90px; flex-shrink: 0; }
.ed-value { color: #333; }
.ed-price { font-weight: 600; color: #ff6b35; }
.ed-divider { border: none; border-top: 1px solid #ddd; margin: 14px 0; }
.ed-air-card { margin-bottom: 8px; }
.ed-air-header { font-size: 14px; font-weight: 600; color: #333; margin-bottom: 8px; }
:where(.pg-estimation-share) .ed-flight { display: inline-block; margin-left: 6px; padding: 2px 8px; background: #e3f2fd; color: #1565c0; border-radius: 4px; font-size: 13px; font-weight: 500; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-flight { display: inline-block; margin-left: 6px; padding: 2px 8px; background: #e3f2fd; color: #0d47a1; border-radius: 4px; font-size: 13px; font-weight: 500; }

/* ───────── estimation/share ───────── */
.ed-flight-pending { display: inline-block; margin-left: 6px; color: #777; font-size: 13px; font-style: italic; }
.ed-resort-card { margin-bottom: 8px; }
:where(.pg-estimation-share) .ed-resort-dates { font-size: 13px; color: #666; margin-bottom: 10px; background: #f9f9f9; padding: 8px 12px; border-radius: 6px; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-resort-dates { font-size: 13px; color: #333; margin-bottom: 10px; background: #f9f9f9; padding: 8px 0; border-radius: 6px; }

/* ───────── estimation/share ───────── */
.ed-resort-main { display: flex; gap: 14px; }
.ed-resort-thumb { width: 120px; height: 90px; flex-shrink: 0; border-radius: 8px; overflow: hidden; }
.ed-resort-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ed-resort-info { flex: 1; }
.ed-resort-name { font-size: 15px; margin-bottom: 4px; }

/* ───────── my/estimate_detail-2 ───────── */
.ed-home-btn { display: inline-flex; align-items: center; gap: 4px; margin-left: 8px; padding: 3px 10px; font-size: 12px; font-weight: 600; color: #fff; background: #889099; border: 1px solid #889099; border-radius: 6px; text-decoration: none; vertical-align: middle; }
.ed-home-btn:hover { background: #6f767e; border-color: #6f767e; color: #fff; }

/* ───────── estimation/share ───────── */
.ed-resort-star { color: #f5a623; font-size: 13px; margin-left: 4px; }
:where(.pg-estimation-share) .ed-resort-desc { font-size: 12px; color: var(--gm-text-sub,#555); margin-top: 4px; line-height: 1.5; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-resort-desc { font-size: 12px; color: #333; margin-top: 4px; line-height: 1.5; padding: 4px 6px; }

/* ───────── estimation/share ───────── */
.ed-resort-charge { font-size: 14px; color: #333; margin-top: 6px; }
.ed-option-list { list-style: none; padding: 4px 0 0 0; margin: 0; font-size: 13px; color: #666; }
.ed-option-list li { padding: 2px 0; }
.ed-subtotal { display: flex; align-items: center; gap: 8px; margin-top: 10px; padding: 8px 12px; background: #f9f9f9; border-radius: 6px; font-size: 14px; }
.ed-subtotal strong { color: #ff6b35; }

/* ───────── my/estimate_detail-2 ───────── */
.ed-subtotal-detail { margin-top: 10px; padding: 8px 0; background: #f9f9f9; border-radius: 6px; font-size: 14px; }
.ed-subtotal-row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 3px 0; color: #555; }
.ed-subtotal-row em { font-style: normal; color: #333; font-size: 13px; font-weight: 600; margin-left: 4px; }
.ed-subtotal-total { margin-top: 4px; padding-top: 7px; border-top: 1px solid #e5e5e5; color: #333; font-weight: 700; }
.ed-subtotal-total strong { color: #ff6b35; font-size: 15px; }

/* ───────── estimation/share ───────── */
.ed-event { font-size: 12px; color: #e74c3c; }
.ed-charge-box { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; padding: 12px 16px; background: #f0f4ff; border-radius: 8px; font-size: 15px; }
:where(.pg-estimation-share) .ed-charge-box strong { color: #1976d2; font-size: 16px; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-charge-box strong { color: #0d47a1; font-size: 16px; }

/* ───────── estimation/share ───────── */
.ed-tour-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ed-tour-table th { background: #f9f9f9; padding: 10px 12px; text-align: left; font-size: 13px; color: #666; border-bottom: 2px solid #eee; }
.ed-tour-table td { padding: 10px 12px; border-bottom: 1px solid #ddd; vertical-align: top; }
.ed-tour-day-cell { text-align: center; white-space: nowrap; }
.ed-tour-date { font-size: 11px; color: #777; }
.ed-pickup-row td,
.ed-drop-row td { background: #f8fafe; }
:where(.pg-estimation-share) .ed-pickup-row td { border-top: 2px solid #20B2D6; }
:where(.pg-estimation-share) .ed-drop-row td { border-bottom: 2px solid #20B2D6; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-pickup-row td { border-top: 2px solid var(--gm-brand); }
:where(.pg-my-estimate_detail) .ed-drop-row td { border-bottom: 2px solid var(--gm-brand); }

/* ───────── estimation/share ───────── */
.ed-tour-sub { font-size: 12px; color: var(--gm-text-sub,#555); margin-left: 8px; }

/* ───────── my/estimate_detail-2 ───────── */
/* 투어명은 항상 한 줄 독차지 (버튼은 아래 줄) */
.ed-tour-name { display: block; font-weight: 700; margin-bottom: 6px; }
/* 할인 요금기간(오픈특가 등) 라벨 — 기간이름 표기 */
.ed-deal-badge { display: inline-block; margin-bottom: 6px; padding: 2px 8px; font-size: 11px; font-weight: 700; line-height: 1.4; color: #fff; background: linear-gradient(135deg, #2f80ed, #1fb6c9); border-radius: 4px; vertical-align: middle; }
/* 인원(앞) + 금액 한 줄 정렬 */
.ed-pax-row { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.ed-money-bal .ed-pax-row { justify-content: flex-end; }
.ed-pax { color: #666; font-weight: 400; font-size: 12px; }

/* ───────── estimation/share ───────── */
.ed-money { font-size: 13px; color: #333; white-space: nowrap; }

/* ───────── my/estimate_detail-2 ───────── */
/* 계약금/잔금 칸 구분: 칸마다 라벨 + 잔금 칸 좌측 구분선 */
.ed-money-label { display: block; font-size: 10px; color: var(--gm-text-sub,#555); font-weight: 600; line-height: 1; margin-bottom: 3px; text-align: right; }
.ed-money-bal { border-left: 1px solid #eee; }
/* 금액 숫자 자체를 키움 (라벨/옵션 제외) */
.ed-money-dep > div,
.ed-money-bal > div { font-size: 14px; font-weight: 700; }
.ed-money-dep > div.ed-tour-opt-charge,
.ed-money-bal > div.ed-tour-opt-charge { font-size: 12px; font-weight: 400; }

/* ───────── estimation/share ───────── */
.ed-tour-opt-charge { font-size: 12px; color: var(--gm-text-sub,#555); }
:where(.pg-estimation-share) .ed-schedule-text { margin-top: 6px; padding: 8px; border: 1px dotted #ccc; font-size: 13px; line-height: 1.6; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-schedule-text { margin-top: 6px; padding: 8px; font-size: 13px; line-height: 1.3; }
:where(.pg-my-estimate_detail) .ed-schedule-text p { margin: 0 0 2px; }

/* ───────── estimation/share ───────── */
.ed-tour-info { font-size: 12px; color: #d84315; background: #fff8f0; border-left: 3px solid #ff7043; border-radius: 4px; padding: 6px 10px; margin-top: 6px; line-height: 1.6; }
:where(.pg-estimation-share) .ed-tour-summary td { background: #f5f5f5; border-top: 2px solid #777 !important; border-bottom: 2px solid #777 !important; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-tour-summary td { background: #f5f5f5; border-top: 2px solid #999 !important; border-bottom: 2px solid #999 !important; vertical-align: middle !important; font-size: 15px; }
:where(.pg-my-estimate_detail) .ed-tour-summary .ed-money { font-size: 15px !important; color: #ff6b35; font-weight: 700; }

/* ───────── estimation/share ───────── */
.ed-section-total { background: #fffdf5; }
.ed-total-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.ed-total-table td { padding: 8px 4px; border-bottom: 1px solid #ddd; }
:where(.pg-estimation-share) .ed-total-table .ed-total-row td { border-top: 2px solid #333; border-bottom: 2px solid #333; padding: 12px 4px; font-size: 16px; }

/* ───────── my/estimate_detail-2 ───────── */
:where(.pg-my-estimate_detail) .ed-total-table .ed-total-row td { border-top: 2px solid #333; border-bottom: 2px solid #333; padding: 12px 8px; font-size: 16px; color: #222; background: #f0f4ff; }
:where(.pg-my-estimate_detail) .ed-total-table .ed-total-row .ed-money-right { color: #0d47a1; }

/* ───────── estimation/share ───────── */
.ed-money-right { text-align: right; }
.ed-exchange { font-size: 12px; color: #777; text-align: right; margin-top: 8px; }
:where(.pg-estimation-share) .ed-notice-btn { display: inline-block; margin-top: 10px; padding: 8px 16px; background: #fff; border: 1px solid #ccc; border-radius: 6px; font-size: 13px; color: #555; cursor: pointer; transition: all 0.2s; }
:where(.pg-estimation-share) .ed-notice-btn:hover { border-color: #20B2D6; color: #20B2D6; }

/* ───────── my/estimate_detail-2 ───────── */
/* 안내사항 버튼 */
:where(.pg-my-estimate_detail) .ed-notice-btn { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 9px 18px; background: #eaf7fb; border: 1px solid var(--gm-brand); border-radius: 8px; font-size: 13px; font-weight: 500; color: var(--gm-primary-dark); cursor: pointer; box-shadow: 0 1px 2px rgba(32,178,214,.15); transition: all 0.2s; }
:where(.pg-my-estimate_detail) .ed-notice-btn::before { content: 'ℹ'; display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: var(--gm-brand); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; }
:where(.pg-my-estimate_detail) .ed-notice-btn:hover { background: var(--gm-brand); color: #fff; }
:where(.pg-my-estimate_detail) .ed-notice-btn:hover::before { background: #fff; color: var(--gm-primary-dark); }
/* 투어 안내 작은 버튼: 강조하지 않음 (담백한 외곽선) */
.ed-btn-sm { padding: 3px 10px; font-size: 11px; margin-top: 4px; border-radius: 4px; background: #fff; border-color: #ccc; color: #777; font-weight: 500; box-shadow: none; }
.ed-btn-sm::before { display: none; }
.ed-btn-sm:hover { background: #f5f5f5; border-color: #bbb; color: #555; }

/* ───────── estimation/share ───────── */
.ed-notice-body { font-size: 13px; color: #555; line-height: 1.7; }
:where(.pg-estimation-share) .ed-notice { background: #fff8f0; border: 1px solid #ffe0b2; border-radius: 8px; padding: 14px 16px; margin-top: 12px; }
:where(.pg-estimation-share) .ed-notice-title { font-size: 13px; font-weight: 700; color: #e65100; margin-bottom: 6px; }

/* ───────── my/estimate_detail-2 ───────── */
/* 이용약관 버튼 (견적 안내사항 하단, 아이콘 없음) */
.ed-terms-btn::before { display: none; }

/* ───────── estimation/share ───────── */
.ed-layer { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999; display: flex; align-items: center; justify-content: center; }
.ed-layer.hide { display: none; }
.ed-layer-content { background: #fff; border-radius: 14px; width: 90%; max-width: 600px; max-height: 80vh; display: flex; flex-direction: column; box-shadow: 0 10px 40px rgba(0,0,0,0.2); }

/* ───────── my/estimate_detail-2 ───────── */
.ed-layer-content.ed-layer-wide { max-width: 960px; max-height: 90vh; }
.ed-schedule-html { padding: 16px; }
.ed-schedule-html img { max-width: 100%; height: auto; display: block; margin: 0 auto; }

/* ───────── estimation/share ───────── */
.ed-layer-header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #eee; font-size: 16px; font-weight: 700; }
.ed-layer-close { background: none; border: none; font-size: 24px; color: #777; cursor: pointer; padding: 0 4px; }
.ed-layer-close:hover { color: #333; }
.ed-layer-body { padding: 20px; overflow-y: auto; font-size: 14px; color: #444; line-height: 1.8; }
.ed-login-cta { background: #f8fbff; border: 2px solid #20B2D6; text-align: center; padding: 32px 20px; }
.ed-login-cta-icon { font-size: 36px; margin-bottom: 12px; }
.ed-login-cta-title { font-size: 17px; font-weight: 700; color: #111; margin-bottom: 10px; }
.ed-login-cta-desc { font-size: 15px; color: #555; line-height: 1.7; margin-bottom: 20px; }
.ed-login-cta-desc strong { color: #20B2D6; font-size: 18px; }
.ed-login-btn { display: inline-block; padding: 14px 36px; background: #20B2D6; color: #fff; font-size: 16px; font-weight: 700; border-radius: 8px; text-decoration: none; transition: background 0.2s; }
.ed-login-btn:hover { background: #1a9abf; color: #fff; text-decoration: none; }
@media (max-width: 768px) {
    .ed-header { flex-direction: column; align-items: flex-start; gap: 8px; }
    .ed-header-left { flex-direction: column; gap: 4px; }
    .ed-resort-main { flex-direction: column; }
    .ed-resort-thumb { width: 100%; height: 160px; }
    .ed-layer-content { width: 95%; max-height: 85vh; }
    :where(.pg-estimation-share) .ed-tour-table thead { display: none; }
    :where(.pg-estimation-share) .ed-tour-table,
    :where(.pg-estimation-share) .ed-tour-table tbody,
    :where(.pg-estimation-share) .ed-tour-table tr,
    :where(.pg-estimation-share) .ed-tour-table td { display: block; width: 100%; }
    :where(.pg-estimation-share) .ed-tour-table tr { padding: 12px; border-bottom: 1px solid #eee; }
    :where(.pg-estimation-share) .ed-tour-table td { padding: 2px 0; border-bottom: none; }
    :where(.pg-estimation-share) .ed-tour-day-cell { text-align: left !important; font-size: 13px; padding-bottom: 4px !important; border-bottom: 1px dotted #ddd !important; margin-bottom: 6px; }
    :where(.pg-estimation-share) .ed-tour-table td:nth-child(2) { font-size: 14px; line-height: 1.7; }
    :where(.pg-estimation-share) .ed-tour-table td.ed-money { display: inline-block; width: auto; font-size: 13px; padding-right: 12px !important; }
    :where(.pg-estimation-share) .ed-tour-table td.ed-money:nth-child(3):before { content: '계약금 '; color: #777; font-size: 11px; }
    :where(.pg-estimation-share) .ed-tour-table td.ed-money:nth-child(4):before { content: '잔금 '; color: #777; font-size: 11px; }
    :where(.pg-estimation-share) .ed-tour-table tfoot,
    :where(.pg-estimation-share) .ed-tour-table tfoot tr,
    :where(.pg-estimation-share) .ed-tour-table tfoot td { display: block; width: 100%; }
    :where(.pg-estimation-share) .ed-tour-summary { background: #f5f5f5; border-top: 2px solid #777; padding: 10px 12px !important; }
    :where(.pg-estimation-share) .ed-tour-summary td[colspan] { display: none !important; }
    :where(.pg-estimation-share) .ed-tour-summary td.ed-money { display: inline-block; width: auto; font-weight: bold; font-size: 14px !important; padding-right: 16px !important; }
    :where(.pg-estimation-share) .ed-tour-summary td.ed-money:nth-child(3):before { content: '계약금 '; color: #666; font-size: 12px; }
    :where(.pg-estimation-share) .ed-tour-summary td.ed-money:nth-child(4):before { content: '잔금 '; color: #666; font-size: 12px; }
}


/* ───────── my/estimates ───────── */
/* resources/views/shop/my/estimates.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.est-my-title { font-size: 20px; font-weight: 700; margin-bottom: 16px; }
/* 지점 필터 탭 */
.est-loc-tabs {
    display: flex; flex-wrap: wrap; gap: 8px;
    margin-bottom: 20px;
}
.est-loc-tab {
    padding: 6px 16px; border-radius: 20px;
    font-size: 13px; font-weight: 500;
    border: 1.5px solid #ddd; color: #666;
    text-decoration: none; white-space: nowrap;
    transition: all 0.2s;
}
.est-loc-tab:hover { border-color: var(--gm-brand); color: var(--gm-primary-dark); text-decoration: none; }
.est-loc-tab.on { background: var(--gm-brand); border-color: var(--gm-brand); color: #fff; font-weight: 500; }
.est-my-empty { text-align: center; padding: 60px 20px; color: var(--gm-text-sub,#555); }
.est-my-empty-icon { font-size: 48px; margin-bottom: 12px; }
.est-my-empty-text { margin-bottom: 16px; }
.est-my-empty-link { display: inline-block; padding: 10px 24px; background: var(--gm-brand); color: #fff; border-radius: 8px; text-decoration: none; font-size: 14px; }
.est-my-empty-link:hover { background: var(--gm-primary-dark); }
.est-my-card { background: #fff; border: 1px solid #ccc; border-radius: 12px; margin-bottom: 12px; overflow: hidden; transition: border-color 0.2s; }
.est-my-card:hover { border-color: var(--gm-brand); }
.est-my-card-footer { padding: 8px 18px; border-top: 1px solid #ccc; background: #f0faff; }
.est-my-detail-badge {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12px; font-weight: 600; color: var(--gm-primary-dark);
    background: #fff; border: 1px solid #b3e0f0; border-radius: 12px;
    padding: 3px 10px;
}
.est-my-card-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid #ddd; }
.est-my-location { display: flex; align-items: center; gap: 8px; }
.est-my-country { font-size: 12px; color: var(--gm-primary-dark); font-weight: 600; }
.est-my-loc-title { font-size: 15px; font-weight: 600; color: #333; }
.est-my-head-right { display: flex; align-items: center; gap: 10px; }
.est-my-date { font-size: 12px; color: var(--gm-text-muted,#6e6e6e); }
:where(.pg-my-estimates) .est-my-badge { font-size: 12px; font-weight: 600; padding: 3px 10px; border-radius: 12px; }
:where(.pg-my-estimates) .est-my-badge.pending { background: #fff3e0; color: #a55200; }
:where(.pg-my-estimates) .est-my-badge.progress { background: #e3f2fd; color: #0d47a1; }
:where(.pg-my-estimates) .est-my-badge.complete { background: #e8f5e9; color: #1b5e20; }
:where(.pg-my-estimates) .est-my-badge.paid { background: #ede7f6; color: #4a148c; }
:where(.pg-my-estimates) .est-my-badge.cancelled { background: #fce4ec; color: #b71c1c; }
.est-my-card-body { padding: 12px 18px; }
.est-my-info-row { display: flex; gap: 12px; padding: 4px 0; font-size: 13px; }
.est-my-info-label { color: var(--gm-text-sub,#555); min-width: 60px; flex-shrink: 0; }
.est-my-info-value { color: #444; }
.est-my-pagination { margin-top: 20px; display: flex; justify-content: center; }
@media (max-width: 768px) {
    .est-my-card-head { flex-direction: column; align-items: flex-start; gap: 6px; }
    .est-my-head-right { width: 100%; justify-content: space-between; }
}


/* ───────── my/estimate_detail ───────── */
/* resources/views/shop/my/estimate_detail.blade.php (본문) 에서 분리 — 이 화면 전용 스타일 */
.ed-guest-box { background: #f9fbfc; border: 1px solid #e6eef2; border-radius: 10px; padding: 20px 16px; text-align: center; }
.ed-guest-title { font-size: 15px; font-weight: 700; color: var(--gm-primary-dark); margin-bottom: 10px; }
.ed-guest-desc { font-size: 13px; color: #666; line-height: 1.55; margin: 0 0 14px; }
.ed-guest-btn { display: inline-block; padding: 9px 22px; background: var(--gm-brand); color: #fff; font-size: 13px; font-weight: 500; border-radius: 6px; text-decoration: none; }
.ed-guest-btn:hover { background: #1a9bbe; color: #fff; }
@media (max-width: 768px) {
    /* 투어 테이블 모바일: 테이블 유지, 폰트 축소 + 투어 열 최대 확보 */
    :where(.pg-my-estimate_detail) .ed-tour-table { font-size: 12px; }
    /* 투어명은 한 줄 독차지, 버튼은 아래 줄로 내려 줄바꿈 */
    .ed-tour-name { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; }
    .ed-tour-table td .ed-btn-sm { margin-right: 4px; }
    :where(.pg-my-estimate_detail) .ed-tour-table th:first-child,
    :where(.pg-my-estimate_detail) .ed-tour-day-cell { width: 50px !important; font-size: 11px !important; white-space: nowrap; padding: 6px 4px !important; vertical-align: middle !important; }
    :where(.pg-my-estimate_detail) .ed-tour-table th:nth-child(2) { width: 60% !important; }
    :where(.pg-my-estimate_detail) .ed-tour-table th:nth-child(3),
    :where(.pg-my-estimate_detail) .ed-tour-table th:nth-child(4) { white-space: nowrap; padding: 6px 4px !important; font-size: 11px; }
    :where(.pg-my-estimate_detail) .ed-tour-date { font-size: 10px !important; }
    :where(.pg-my-estimate_detail) .ed-tour-table td.ed-money { font-size: 11px; padding: 6px 4px !important; vertical-align: middle !important; }
    :where(.pg-my-estimate_detail) .ed-tour-info { font-size: 12px !important; }
    /* 투어 합계 행: 모든 셀 중앙 정렬 */
    :where(.pg-my-estimate_detail) .ed-tour-summary td { vertical-align: middle !important; padding: 10px 4px !important; }
    :where(.pg-my-estimate_detail) .ed-schedule-text { font-size: 13px !important; line-height: 1.4 !important; padding: 6px 8px !important; }
    :where(.pg-my-estimate_detail) .ed-schedule-text p { margin: 0 0 2px !important; }
}


/* ───────── my/estimate_detail-2 ───────── */
/* 결제 섹션 */
.ed-section-pay { background: #f8fbff; border: 2px solid var(--gm-brand); border-radius: 12px; }
.ed-pay-breakdown { padding: 12px 0 0; }
.ed-pay-breakdown-row { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #666; padding: 3px 0; }
.ed-pay-amount { display: flex; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #e0e0e0; margin-bottom: 16px; font-size: 16px; }
.ed-pay-amount strong { font-size: 22px; color: var(--gm-primary-dark); }
.ed-pay-btn { display: block; width: 100%; padding: 16px; background: var(--gm-brand); color: #fff; font-size: 18px; font-weight: 500; border: none; border-radius: 8px; cursor: pointer; margin-top: 16px; transition: background .2s; }
.ed-pay-btn:hover { background: #1a9abf; }
.ed-pay-btn:disabled { background: #ccc; cursor: not-allowed; }
.ed-bank-info { background: #fff; border: 1px solid #d5d5d5; border-radius: 8px; padding: 20px; }
.ed-bank-title { font-size: 15px; font-weight: 700; margin-bottom: 12px; color: #333; }
.ed-bank-table { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.ed-bank-table td { padding: 8px 4px; font-size: 14px; border-bottom: 1px solid #ddd; }
.ed-bank-label { color: var(--gm-text-sub,#555); width: 80px; white-space: nowrap; }
.ed-bank-notice { font-size: 13px; color: #666; margin: 12px 0 0; line-height: 1.6; }
.ed-paid-msg { background: #e8f5e9; color: #1b5e20; padding: 14px 16px; border-radius: 8px; font-weight: 600; font-size: 15px; margin-bottom: 16px; text-align: center; }
.ed-error-msg { background: #fce4ec; color: #b71c1c; padding: 14px 16px; border-radius: 8px; font-weight: 600; font-size: 15px; margin-bottom: 16px; text-align: center; }
