:root{
  /* 브랜드 컬러 */
  --navy:#0c2340;      /* 메인 딥네이비 */
  --blue:#1a5296;      /* 서브 블루 */
  --gold:#b8902c;      /* 골드 포인트 */
  --gold-lt:#d4a843;   /* 라이트 골드 */
  --cream:#faf7f2;     /* 메인 배경 (따뜻한 크림) */
  --warm:#f5f0e8;      /* 섹션 배경 */
  --warm2:#ede8df;     /* 강조 배경 */
  /* 중립 */
  --g50:#f9f7f4;
  --g100:#f0ece4;
  --g200:#e4ddd3;
  --g300:#c8bfb2;
  --g400:#9e9388;
  --g500:#6b6259;
  --g700:#3d3730;
  --g900:#1a1510;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans KR',sans-serif;color:var(--g900);background:var(--cream);overflow-x:hidden;}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:rgba(12,35,64,.96);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:62px;box-shadow:0 2px 16px rgba(12,35,64,.22);border-bottom:1px solid rgba(184,144,44,.25);}
.nav-logo{display:flex;align-items:center;gap:.55rem;}
.nav-logo-txt{display:flex;flex-direction:column;line-height:1.1;}
.nav-logo-main{font-family:'Nanum Myeongjo',serif;font-size:1.1rem;font-weight:800;color:#fff;}
.nav-logo-sub{font-size:.56rem;color:#93c5fd;letter-spacing:.08em;}
.nav-links{display:flex;gap:1.5rem;}
.nav-links a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.85rem; align-items: center;     display: flex;}
.nav-right{display:flex;gap:.5rem;}
.nav-cta{background:#dc2626;color:#fff;border:none;padding:.45rem 1rem;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;}
.nav-admin{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.45rem .9rem;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;}

/* HERO */
.hero{background:linear-gradient(150deg,#0c2340 0%,#1a5296 55%,#1e4a7e 100%);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
.hero-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#bfdbfe;font-size:.75rem;padding:.3rem 1rem;border-radius:20px;margin-bottom:1.5rem;}
.hero h1{font-family:'Nanum Myeongjo',serif;font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff;line-height:1.35;margin-bottom:1.2rem;}
.hero h1 em{color:#93c5fd;font-style:normal;}
.hero p{color:rgba(255,255,255,.75);font-size:1rem;line-height:1.8;margin-bottom:2.5rem;}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-w{background:#fff;color:var(--navy);padding:.8rem 1.8rem;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
.btn-o{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);padding:.8rem 1.8rem;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}

/* TRUST */
.trust{background:var(--warm);border-bottom:1px solid var(--g200);padding:1rem 2rem;display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;}
.ti{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--g700);font-weight:500;}

/* SECTION */
.sec{padding:4.5rem 2rem;}
.sec-in{max-width:960px;margin:0 auto;}
.sec-label{font-size:.72rem;font-weight:700;letter-spacing:.15em;color:var(--blue);text-transform:uppercase;margin-bottom:.4rem;}
.sec-title{font-family:'Nanum Myeongjo',serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:var(--navy);margin-bottom:.6rem;}
.sec-sub{color:var(--g500);font-size:.9rem;line-height:1.7;margin-bottom:2.5rem;}
.reg-bg{background:var(--warm);}

/* REGISTER */
.reg-box{background:#fff;border:2px solid var(--g300);border-radius:18px;overflow:hidden;}
.reg-head{background:var(--navy);padding:1.75rem 2rem;color:#fff;}
.reg-head h3{font-family:'Nanum Myeongjo',serif;font-size:1.4rem;font-weight:800;margin-bottom:.25rem;}
.reg-head p{color:rgba(255,255,255,.65);font-size:.84rem;}
.reg-body{padding:2rem;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.f-full{grid-column:1/-1;}
.fg-grp{display:flex;flex-direction:column;gap:.35rem;}
.fg-lbl{font-size:.8rem;font-weight:600;color:var(--g700);}
.fg-lbl .req{color:#dc2626;}
.fg-inp,.fg-sel{padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;background:#fff;font-family:inherit;outline:none;transition:border-color .2s;}
.fg-inp:focus,.fg-sel:focus{border-color:var(--blue);}
.fg-inp::placeholder{color:var(--g300);}
.fg-hint{font-size:.7rem;color:var(--g400);margin-top:.15rem;}
.pchoice{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.pclbl{display:flex;flex-direction:column;border:2px solid var(--g300);border-radius:9px;padding:.9rem;cursor:pointer;transition:border-color .2s;position:relative;}
.pclbl.selected{border-color:var(--blue);background:#eff6ff;}
.pclbl input[type=radio]{position:absolute;opacity:0;pointer-events:none;}
.pc-name{font-size:.88rem;font-weight:700;color:var(--navy);}
.pc-price{font-size:.8rem;color:#dc2626;font-weight:600;margin-top:.15rem;}
.pc-sub{font-size:.7rem;color:var(--g500);margin-top:.15rem;}
.terms-box{background:#fff;border:1.5px solid var(--g300);border-radius:7px;padding:.9rem 1.1rem;font-size:.76rem;color:var(--g500);line-height:1.6;max-height:90px;overflow-y:auto;}
.ck-row{display:flex;align-items:center;gap:.45rem;margin-top:.45rem;}
.ck-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;}
.ck-row label{font-size:.82rem;color:var(--g700);cursor:pointer;font-weight:500;}
.sbtn{width:100%;padding:.95rem;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border:none;border-radius:9px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.65rem;}
.sbtn:hover{background:var(--blue);}
.fnote{font-size:.73rem;color:var(--g500);text-align:center;margin-top:.65rem;}

/* PRODUCTS */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.75rem;}
.pcard{border:2px solid var(--g300);border-radius:15px;overflow:hidden;transition:all .3s;cursor:pointer;background:#fff;}
.pcard:hover{border-color:var(--gold);box-shadow:0 10px 35px rgba(184,144,44,.18);transform:translateY(-3px);}
.pcard.sel{border-color:var(--blue);box-shadow:0 6px 25px rgba(20,85,164,.18);}
.pcard-head{background:var(--navy);padding:1.4rem;color:#fff;position:relative;}
.pcard:nth-child(2) .pcard-head{background:linear-gradient(135deg,#1455a4,#0a2342);}
.pbadge{position:absolute;top:.9rem;right:.9rem;background:var(--gold);color:#fff;font-size:.66rem;font-weight:700;padding:.18rem .55rem;border-radius:4px;}
.pname{font-family:'Nanum Myeongjo',serif;font-size:1.3rem;font-weight:800;margin-bottom:.2rem;}
.pdesc{font-size:.78rem;color:rgba(255,255,255,.7);}
.ppa{padding:1.1rem 1.4rem;border-bottom:1px solid var(--g100);}
.ppr{display:flex;justify-content:space-between;align-items:baseline;}
.ppl{font-size:.73rem;color:var(--g500);}
.ppor{font-size:.82rem;color:var(--g500);text-decoration:line-through;}
.ppfi{font-size:1.4rem;font-weight:700;color:#dc2626;}
.ppno{font-size:.68rem;color:var(--g500);margin-top:.2rem;}
.pitems{padding:1.1rem 1.4rem;}
.pitems h4{font-size:.75rem;font-weight:700;color:var(--g700);margin-bottom:.65rem;}
.irow{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;border-bottom:1px solid var(--g100);}
.irow:last-child{border-bottom:none;}
.iimg{width:42px;height:42px;object-fit:contain;border-radius:7px;background:var(--g50);border:1px solid var(--g100);flex-shrink:0;padding:3px;}
.iph{width:42px;height:42px;border-radius:7px;background:linear-gradient(135deg,#f0ece4,#e8e3d8);flex-shrink:0;display:none;align-items:center;justify-content:center;font-size:1.1rem;flex-direction:column;position:relative;border:1px solid var(--g200);}
.iph .iph-brand{font-size:.42rem;color:var(--g400);position:absolute;bottom:2px;left:0;right:0;text-align:center;letter-spacing:0;line-height:1;font-family:sans-serif;}
.iinfo{flex:1;}
.iname{color:var(--g700);display:block;font-size:.8rem;}
.iprice{color:var(--blue);font-weight:600;font-size:.78rem;white-space:nowrap;}
.ifree{color:var(--g400);font-size:.78rem;white-space:nowrap;}
.pfoot{padding:1.1rem 1.4rem;background:var(--g50);}
.psel-btn{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;}
.psel-btn:hover{background:var(--blue);}
.pcard.sel .psel-btn{background:#dc2626;}

/* EXTRA COSTS */
.extra-wrap{background:var(--g50);border:2px dashed var(--g300);border-radius:14px;padding:1.5rem 1.75rem;margin-top:2rem;}
.extra-title{display:flex;align-items:center;cursor:pointer;user-select:none;font-size:.95rem;font-weight:700;color:var(--navy);}
.extra-arrow{margin-left:auto;font-size:.78rem;transition:transform .3s;display:inline-block;}
.extra-arrow.open{transform:rotate(180deg);}
.extra-body{display:none;margin-top:1.1rem;}
.extra-body.show{display:block;}
.extra-tbl{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:.9rem;}
.extra-tbl th{background:var(--navy);color:#fff;padding:.55rem .85rem;text-align:left;font-weight:600;}
.extra-tbl td{padding:.5rem .85rem;border-bottom:1px solid var(--g300);color:var(--g700);vertical-align:top;}
.extra-tbl tr:last-child td{border-bottom:none;}
.extra-tbl tr:nth-child(even) td{background:#fff;}
.extra-notice{background:#fff8e1;border:1px solid #fbbf24;border-radius:7px;padding:.9rem 1.1rem;font-size:.77rem;color:#78350f;line-height:1.75;}
.extra-notice strong{color:#451a03;display:block;margin-bottom:.35rem;}

/* FEATURES */
.feat-bg{background:var(--warm2);}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem;}
.feat-item{background:#fff;padding:1.6rem 1.4rem;border-radius:11px;text-align:center;border:1px solid var(--g300);}
.feat-icon{width:50px;height:50px;background:#dbeafe;border-radius:11px;display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;font-size:1.35rem;}
.feat-title{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.35rem;}
.feat-text{font-size:.76rem;color:var(--g500);line-height:1.6;}

/* REVIEWS */
.rev-wrapper{overflow:hidden;}
.rev-track{display:flex;gap:1.4rem;transition:transform .5s ease;padding-bottom:.5rem;}
.rev-card{min-width:275px;max-width:275px;background:var(--g50);border:1.5px solid var(--g300);border-radius:14px;padding:1.4rem;flex-shrink:0;}
.rev-stars{color:#f59e0b;font-size:.95rem;margin-bottom:.45rem;}
.rev-ptag{display:inline-block;background:#dbeafe;color:var(--blue);font-size:.66rem;font-weight:700;padding:.13rem .45rem;border-radius:4px;margin-bottom:.45rem;}
.rev-text{font-size:.82rem;color:var(--g700);line-height:1.65;margin-bottom:.9rem;}
.rev-author{display:flex;align-items:center;gap:.55rem;}
.rev-av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;flex-shrink:0;}
.rev-name{font-size:.8rem;font-weight:700;}
.rev-meta{font-size:.71rem;color:var(--g500);}
.rev-ctrl{display:flex;justify-content:space-between;align-items:center;margin-top:1.1rem;flex-wrap:wrap;gap:.8rem;}
.rev-wl{font-size:.8rem;color:var(--g500);}
.rev-wl a{color:var(--blue);font-weight:600;text-decoration:none;}
.sl-btns{display:flex;gap:.55rem;}
.sl-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--g300);background:#fff;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.sl-btn:hover{border-color:var(--blue);background:var(--blue);color:#fff;}

/* FOOTER */
footer{background:#0c2340;padding:2.75rem 2rem;color:rgba(255,255,255,.6);border-top:3px solid var(--gold);}
.foot-in{max-width:960px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.75rem;}
.foot-brand{display:flex;align-items:center;gap:.5rem;font-family:'Nanum Myeongjo',serif;font-size:1.1rem;font-weight:800;color:#fff;margin-bottom:.45rem;}
.foot-info{font-size:.76rem;line-height:1.85;}
.foot-links{display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap;}
.foot-links a{color:rgba(255,255,255,.48);text-decoration:none;font-size:.76rem;}
.foot-links a:hover{color:#fff;}
.foot-rv-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;padding:.38rem .85rem;border-radius:5px;font-size:.76rem;font-weight:600;cursor:pointer;font-family:inherit;}

/* OVERLAY / MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;padding:1rem;}
.overlay.on{display:flex;}
.modal{background:#fff;border-radius:18px;padding:2.25rem;max-width:480px;width:100%;animation:pop .3s ease;max-height:90vh;overflow-y:auto;position:relative;}
@keyframes pop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.modal h3{font-family:'Nanum Myeongjo',serif;font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:.3rem;}
.modal-x{position:absolute;top:1.1rem;right:1.1rem;background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--g500);}
.ok-icon{font-size:3.2rem;margin-bottom:.9rem;text-align:center;}
.ok-info{background:var(--g50);border-radius:9px;padding:.9rem 1.1rem;margin-bottom:1.4rem;font-size:.82rem;}
.ok-info div{display:flex;justify-content:space-between;padding:.25rem 0;}
.ok-info strong{color:var(--navy);}
.ok-close{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;}

/* REVIEW MODAL */
.rv-row{margin-bottom:.9rem;}
.rv-lbl{font-size:.8rem;font-weight:600;color:var(--g700);display:block;margin-bottom:.35rem;}
.rv-inp,.rv-ta,.rv-sel{width:100%;padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;font-family:inherit;color:var(--g900);outline:none;}
.rv-inp:focus,.rv-ta:focus,.rv-sel:focus{border-color:var(--blue);}
.rv-ta{resize:vertical;min-height:95px;}
.star-picker{display:flex;gap:.25rem;cursor:pointer;}
.star-picker span{font-size:1.9rem;color:var(--g300);user-select:none;line-height:1;}
.star-picker span.lit{color:#f59e0b;}
.rv-sub-btn{width:100%;padding:.85rem;background:var(--navy);color:#fff;border:none;border-radius:9px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.4rem;}
.rv-sub-btn:hover{background:var(--blue);}

/* CHATBOT */
#chat-fab{position:fixed;bottom:1.75rem;right:1.75rem;z-index:500;width:58px;height:58px;border-radius:50%;background:var(--navy);border:none;cursor:pointer;box-shadow:0 4px 18px rgba(10,35,66,.4);display:flex;align-items:center;justify-content:center;font-size:1.55rem;animation:fabP 3s infinite;}
@keyframes fabP{0%,100%{box-shadow:0 4px 18px rgba(10,35,66,.4)}50%{box-shadow:0 4px 26px rgba(20,85,164,.6),0 0 0 9px rgba(20,85,164,.08)}}
#chat-badge{position:absolute;top:-2px;right:-2px;background:#dc2626;color:#fff;border-radius:50%;width:19px;height:19px;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
#chat-win{position:fixed;bottom:6.2rem;right:1.75rem;z-index:500;width:330px;background:#fff;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden;max-height:500px;transform:scale(0) translateY(18px);transform-origin:bottom right;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s;opacity:0;pointer-events:none;}
#chat-win.on{transform:scale(1) translateY(0);opacity:1;pointer-events:all;}
.ch-head{background:var(--navy);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.7rem;flex-shrink:0;}
.ch-av{width:36px;height:36px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.ch-hn{font-size:.87rem;font-weight:700;color:#fff;}
.ch-hs{font-size:.68rem;color:#93c5fd;display:flex;align-items:center;gap:.28rem;}
.ch-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.ch-xb{background:none;border:none;color:rgba(255,255,255,.55);font-size:1.15rem;cursor:pointer;margin-left:auto;}
.ch-msgs{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.7rem;background:#f8fafc;}
.cm{max-width:84%;animation:msgIn .22s ease;}
@keyframes msgIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.cm.bot{align-self:flex-start;}.cm.user{align-self:flex-end;}
.cb{padding:.6rem .85rem;border-radius:15px;font-size:.81rem;line-height:1.52;word-break:keep-all;}
.cm.bot .cb{background:#fff;color:var(--g900);border:1px solid var(--g300);border-bottom-left-radius:3px;}
.cm.user .cb{background:var(--navy);color:#fff;border-bottom-right-radius:3px;}
.ct{font-size:.62rem;color:var(--g400);margin-top:.18rem;}
.cm.bot .ct{text-align:left;}.cm.user .ct{text-align:right;}
.ch-qb{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem .7rem;background:#f8fafc;border-bottom:1px solid var(--g100);}
.ch-qbtn{font-size:.7rem;padding:.3rem .6rem;border:1.5px solid var(--blue);border-radius:18px;background:#fff;color:var(--blue);cursor:pointer;font-family:inherit;}
.ch-qbtn:hover{background:var(--blue);color:#fff;}
.ch-irow{display:flex;gap:.45rem;padding:.7rem .9rem;background:#fff;border-top:1px solid var(--g300);flex-shrink:0;}
.ch-inp{flex:1;padding:.48rem .85rem;border:1.5px solid var(--g300);border-radius:18px;font-size:.81rem;outline:none;font-family:inherit;}
.ch-inp:focus{border-color:var(--blue);}
.ch-send{width:32px;height:32px;border-radius:50%;background:var(--navy);border:none;color:#fff;cursor:pointer;font-size:.82rem;flex-shrink:0;}
.ch-send:hover{background:var(--blue);}
.typing{display:flex;gap:.28rem;align-items:center;padding:.18rem 0;}
.tdot{width:6px;height:6px;border-radius:50%;background:var(--g400);animation:ta .8s infinite;}
.tdot:nth-child(2){animation-delay:.14s;}.tdot:nth-child(3){animation-delay:.28s;}
@keyframes ta{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* ADMIN LOGIN */
.al-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;display:none;align-items:center;justify-content:center;padding:1rem;}
.al-overlay.on{display:flex;}
.al-box{background:#fff;border-radius:18px;padding:2.25rem;max-width:360px;width:100%;text-align:center;animation:pop .3s ease;}
.al-box h3{font-family:'Nanum Myeongjo',serif;font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:.35rem;}
.al-box p{font-size:.8rem;color:var(--g500);margin-bottom:1.4rem;}
.al-inp{width:100%;padding:.7rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;font-family:inherit;outline:none;margin-bottom:.65rem;}
.al-inp:focus{border-color:var(--blue);}
.al-btn{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.92rem;font-weight:700;cursor:pointer;font-family:inherit;}
.al-btn:hover{background:var(--blue);}
.al-err{color:#dc2626;font-size:.78rem;margin-top:.45rem;display:none;}

/* ADMIN PANEL */
#adminPanel{position:fixed;inset:0;z-index:600;background:var(--warm);overflow-y:auto;}
#adminPanel.on{display:block;}
.adm-nav{background:var(--navy);padding:0 2rem;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
.adm-nav-logo{display:flex;align-items:center;gap:.5rem;font-family:'Nanum Myeongjo',serif;font-size:1rem;font-weight:800;color:#fff;}
.adm-nav-logo span{color:#93c5fd;}
.adm-close-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;padding:.38rem .9rem;border-radius:5px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;}
.adm-body{max-width:1050px;margin:0 auto;padding:1.75rem;}
.adm-tabs{display:flex;gap:.4rem;margin-bottom:1.75rem;flex-wrap:wrap;}
.atab{padding:.55rem 1.1rem;border:2px solid var(--g300);border-radius:7px;background:#fff;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--g700);font-family:inherit;}
.atab.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.adm-pane{display:none;}
.adm-pane.on{display:block;}
.adm-pane-title{font-family:'Nanum Myeongjo',serif;font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:1.4rem;}

/* STAT */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.9rem;margin-bottom:1.75rem;}
.stat-card{background:#fff;border:1.5px solid var(--g200);border-radius:11px;padding:1.1rem 1.4rem;box-shadow:0 2px 8px rgba(12,35,64,.06);}
.stat-lbl{font-size:.72rem;color:var(--g500);margin-bottom:.25rem;}
.stat-val{font-size:1.65rem;font-weight:700;color:var(--navy);}
.stat-sub{font-size:.69rem;color:var(--g400);margin-top:.15rem;}

/* TABLE */
.tbl-wrap{background:#fff;border:1.5px solid var(--g300);border-radius:11px;overflow:hidden;overflow-x:auto;}
.adm-tbl{width:100%;border-collapse:collapse;font-size:.8rem;min-width:600px;}
.adm-tbl th{background:var(--navy);color:#fff;padding:.65rem .9rem;text-align:left;font-weight:600;white-space:nowrap;}
.adm-tbl td{padding:.65rem .9rem;border-bottom:1px solid var(--g100);color:var(--g700);vertical-align:middle;}
.adm-tbl tr:last-child td{border-bottom:none;}
.adm-tbl tr:hover td{background:var(--g50);}
.sbadge{display:inline-block;padding:.18rem .55rem;border-radius:18px;font-size:.7rem;font-weight:700;}
.s-new{background:#fef3c7;color:#92400e;}
.s-cons{background:#dbeafe;color:#1e40af;}
.s-done{background:#d1fae5;color:#065f46;}
.s-cancel{background:#fee2e2;color:#991b1b;}
.abtn{padding:.28rem .65rem;border-radius:5px;border:none;font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit;}
.abtn-v{background:#dbeafe;color:var(--blue);}
.abtn-e{background:#fef3c7;color:#92400e;}
.abtn-d{background:#fee2e2;color:#dc2626;}
.tbar{display:flex;gap:.65rem;margin-bottom:.9rem;flex-wrap:wrap;align-items:center;}
.tsrch{padding:.5rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.82rem;font-family:inherit;outline:none;min-width:190px;}
.tsrch:focus{border-color:var(--blue);}
.tflt{padding:.5rem .75rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.8rem;font-family:inherit;outline:none;background:#fff;}

/* DETAIL MODAL */
.dm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:700;display:none;align-items:center;justify-content:center;padding:1rem;}
.dm-overlay.on{display:flex;}
.dm-modal{background:#fff;border-radius:16px;padding:1.9rem;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;animation:pop .3s ease;position:relative;}
.dm-modal h4{font-family:'Nanum Myeongjo',serif;font-size:1.15rem;font-weight:800;color:var(--navy);margin-bottom:1.1rem;}
.dm-xb{position:absolute;top:.95rem;right:.95rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--g500);}
.drow{display:flex;gap:.9rem;margin-bottom:.65rem;}
.dkey{font-size:.78rem;font-weight:600;color:var(--g500);min-width:80px;}
.dval{font-size:.84rem;color:var(--g900);flex:1;}
.memo-area{width:100%;padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.84rem;font-family:inherit;resize:vertical;min-height:75px;outline:none;}
.memo-area:focus{border-color:var(--blue);}
.save-btn{padding:.48rem 1.1rem;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.45rem;}
.save-btn.blue{background:var(--blue);}
.save-btn.green{background:#065f46;}

/* FUNERAL DETAIL SUB-TABS */
.sub-tabs{display:flex;border-bottom:2px solid var(--g300);margin-bottom:1.4rem;overflow-x:auto;}
.stab{padding:.55rem 1rem;border:none;background:none;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--g500);border-bottom:3px solid transparent;margin-bottom:-2px;font-family:inherit;white-space:nowrap;}
.stab.on{color:#c2762a;border-bottom-color:#c2762a;}
.stab-c{display:none;}
.stab-c.on{display:block;}
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.cr-full{grid-column:1/-1;}
.cr-grp{display:flex;flex-direction:column;gap:.3rem;}
.cr-lbl{font-size:.78rem;font-weight:600;color:#c2762a;}
.cr-inp{padding:.52rem .8rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.84rem;font-family:inherit;outline:none;background:#fff;}
.cr-inp:focus{border-color:#c2762a;}
.cr-ta{padding:.52rem .8rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.84rem;font-family:inherit;resize:vertical;min-height:75px;outline:none;}
.cr-ta:focus{border-color:#c2762a;}
.ph-upload{border:2.5px dashed var(--g300);border-radius:11px;padding:1.4rem;text-align:center;cursor:pointer;}
.ph-upload:hover{border-color:#c2762a;}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.65rem;margin-top:.9rem;}
.ph-thumb{position:relative;aspect-ratio:1;border-radius:7px;overflow:hidden;background:var(--g100);}
.ph-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer;}
.ph-del{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.58);color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.rc-box{background:var(--g50);border:1.5px solid var(--g300);border-radius:9px;padding:1.1rem;margin-bottom:.9rem;}
.rc-title{font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:.65rem;}
.rc-row{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem;flex-wrap:wrap;}
.rc-lbl{font-size:.8rem;color:var(--g700);font-weight:600;min-width:90px;}
.rc-inp{padding:.42rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.82rem;font-family:inherit;outline:none;flex:1;min-width:130px;}
.rc-inp:focus{border-color:#c2762a;}
.rc-sel{padding:.42rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.82rem;font-family:inherit;outline:none;background:#fff;}
.rv-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-bottom:1.4rem;}
.rv-card{background:#fff;border:1.5px solid var(--g300);border-radius:11px;padding:1rem 1.1rem;text-align:center;}
.rv-lbl2{font-size:.72rem;color:var(--g500);margin-bottom:.25rem;}
.rv-amt{font-size:1.25rem;font-weight:700;}
.rv-row2{display:flex;align-items:center;padding:.6rem 1.1rem;border-bottom:1px solid var(--g100);}
.rv-row2:last-child{border-bottom:none;}
.rv-lbl3{font-size:.8rem;font-weight:600;color:#c2762a;min-width:90px;}
.rv-inp2{flex:1;padding:.4rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.83rem;font-family:inherit;outline:none;}
.rv-inp2:focus{border-color:#c2762a;}
.rv-sel2{flex:1;padding:.4rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.83rem;font-family:inherit;outline:none;background:#fff;}
/* ── 정산 상세 CSS ── */
.rv-sec{background:#fff;border:1px solid var(--g300);border-radius:10px;overflow:hidden;margin-bottom:1rem;}
.rv-sec-head{padding:.55rem 1.1rem;background:var(--g50);font-size:.75rem;font-weight:700;color:var(--g700);border-bottom:1px solid var(--g100);display:flex;justify-content:space-between;align-items:center;}
.rv-sec-head .rv-total{font-size:.85rem;font-weight:700;color:var(--navy);}
.rv-item-row{display:flex;align-items:center;padding:.55rem 1.1rem;border-bottom:1px solid var(--g100);gap:.5rem;flex-wrap:wrap;}
.rv-item-row:last-child{border-bottom:none;}
.rv-item-chk{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;}
.rv-item-name{font-size:.83rem;color:var(--g700);flex:1;min-width:80px;}
.rv-item-amt{font-size:.83rem;font-weight:600;color:var(--navy);min-width:90px;text-align:right;}
.rv-item-amt.neg{color:#dc2626;}
.rv-item-btn{padding:.22rem .6rem;background:var(--g100);border:1px solid var(--g300);border-radius:5px;font-size:.72rem;cursor:pointer;font-family:inherit;color:var(--g700);}
.rv-item-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.rv-add-row{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:#f8fafc;}
.rv-section-total{display:flex;justify-content:space-between;padding:.55rem 1.1rem;background:#fffbeb;font-size:.83rem;font-weight:700;color:var(--navy);}
.rv-grand-bar{background:var(--navy);color:#fff;padding:.85rem 1.1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;}
.rv-grand-label{font-size:.88rem;}
.rv-grand-amt{font-size:1.4rem;font-weight:700;}
.rv-danban{background:#fff3cd;border:1px solid #ffc107;border-radius:7px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.78rem;color:#856404;line-height:1.75;}
.rv-danban strong{display:block;margin-bottom:.3rem;color:#664d03;}
.rv-danban-opts{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem;}
.rv-danban-opt{padding:.3rem .75rem;border:2px solid var(--g300);border-radius:20px;font-size:.75rem;cursor:pointer;font-family:inherit;background:#fff;color:var(--g700);}
.rv-danban-opt.on{border-color:#c2762a;background:#fff8f0;color:#c2762a;font-weight:700;}
/* 팝업 모달 */
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:800;display:none;align-items:center;justify-content:center;padding:1rem;}
.popup-overlay.on{display:flex;}
.popup-box{background:#fff;border-radius:14px;padding:1.75rem;max-width:380px;width:100%;animation:pop .25s ease;}
.popup-box h5{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;}
.popup-box p{font-size:.8rem;color:var(--g500);margin-bottom:1rem;}
.popup-inp{width:100%;padding:.7rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.95rem;font-family:inherit;outline:none;margin-bottom:1rem;}
.popup-inp:focus{border-color:var(--blue);}
.popup-btns{display:flex;gap:.5rem;}
.popup-ok{flex:1;padding:.7rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;}
.popup-ok:hover{background:var(--blue);}
.popup-cancel{padding:.7rem 1rem;background:var(--g100);color:var(--g700);border:none;border-radius:7px;font-size:.9rem;cursor:pointer;font-family:inherit;}

.exp-tbl{width:100%;border-collapse:collapse;font-size:.8rem;}
.exp-tbl th{background:var(--g100);padding:.48rem .7rem;text-align:left;font-weight:600;color:var(--g700);}
.exp-tbl td{padding:.48rem .7rem;border-bottom:1px solid var(--g100);}
.exp-del{background:none;border:none;color:var(--g400);cursor:pointer;font-size:.82rem;}
.add-exp{display:flex;gap:.45rem;flex-wrap:wrap;padding:.7rem 1.1rem;}
.ae-inp{padding:.38rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.8rem;font-family:inherit;outline:none;}
.ae-inp:focus{border-color:#c2762a;}
.ae-btn{padding:.38rem .8rem;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;}

/* FUNERAL CARD */
.fc-card{background:#fff;border:1px solid var(--g300);border-radius:12px;overflow:hidden;margin-bottom:1.1rem;box-shadow:0 2px 7px rgba(0,0,0,.05);}
.fc-head{padding:.9rem 1.1rem;border-bottom:1px solid var(--g100);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem;}
.fc-phone{font-size:.95rem;font-weight:700;color:var(--g900);}
.fc-cname{font-size:.8rem;color:var(--g500);margin-left:.28rem;}
.fc-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;}
.ck-badge{display:inline-flex;align-items:center;gap:.22rem;font-size:.68rem;font-weight:700;padding:.16rem .5rem;border-radius:18px;}
.ck-y{background:#d1fae5;color:#065f46;}.ck-n{background:#fee2e2;color:#dc2626;}
.fc-body{padding:.7rem 1.1rem;display:grid;grid-template-columns:1fr 1fr;gap:.35rem .85rem;}
.fc-row{font-size:.78rem;color:var(--g700);display:flex;gap:.28rem;}
.fc-key{color:#c2762a;font-weight:600;min-width:65px;}
.fc-acts{display:flex;gap:.45rem;padding:.8rem 1.1rem;background:var(--g50);border-top:1px solid var(--g100);flex-wrap:wrap;}
.fc-btn{padding:.42rem .9rem;border-radius:7px;border:none;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;}
.fc-btn:hover{opacity:.82;}

/* COMPANY MANAGEMENT */
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;}
.co-panel{background:#fff;border:1.5px solid var(--g300);border-radius:12px;overflow:hidden;}
.co-panel-head{background:var(--navy);padding:.75rem 1.1rem;color:#fff;font-size:.88rem;font-weight:700;display:flex;justify-content:space-between;align-items:center;}
.co-panel-body{padding:1.1rem;}
.co-item{border:1px solid var(--g100);border-radius:8px;padding:.75rem .9rem;margin-bottom:.55rem;}
.co-item:last-child{margin-bottom:0;}
.gd-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1rem;}
.gd-grp{display:flex;flex-direction:column;gap:.3rem;}
.gd-lbl{font-size:.78rem;font-weight:600;color:#c2762a;}
.gd-inp,.gd-sel{padding:.52rem .8rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.84rem;font-family:inherit;outline:none;background:#fff;}
.gd-inp:focus,.gd-sel:focus{border-color:#c2762a;}
.gd-inp[readonly]{background:var(--g50);color:var(--g500);}

/* MOBILE */
@media(max-width:640px){
  nav{padding:0 .9rem;}.nav-links{display:none;}
  .sec{padding:3.25rem 1.1rem;}
  .fg{grid-template-columns:1fr;}.f-full{grid-column:1;}
  .pchoice{grid-template-columns:1fr;}
  #chat-win{width:calc(100vw - 1.6rem);right:.8rem;}
  .rev-card{min-width:250px;max-width:250px;}
  .cr-grid,.rv-summary,.co-grid{grid-template-columns:1fr;}
  .cr-full{grid-column:1;}
  .adm-body{padding:1rem;}
  .fc-body{grid-template-columns:1fr;}
}
/* ── 카카오 버튼 ──
.kakao-btn{background:#FEE500;color:#3C1E1E;border:none;border-radius:7px;padding:.45rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:.35rem;}
.kakao-btn:hover{background:#F5DC00;}

/* ── 품목 프리셋 */
.rv-preset-row{display:flex;align-items:center;gap:.5rem;padding:.42rem 1.1rem;border-bottom:1px solid var(--g100);flex-wrap:wrap;}
.rv-preset-row:last-child{border-bottom:none;}
.rv-preset-row .rv-item-chk{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;}
.rv-preset-row .rv-item-name{font-size:.82rem;color:var(--g700);flex:1;min-width:80px;}
.rv-preset-row .rv-item-amt{font-size:.82rem;font-weight:600;color:var(--navy);min-width:75px;text-align:right;}
.rv-preset-row .rv-item-amt.neg{color:#dc2626;}

/* ── 쿠폰 / 로그인 CSS ── */
.coupon-wrap{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid var(--gold);border-radius:14px;padding:1.4rem;margin-bottom:1rem;position:relative;overflow:hidden;}
.coupon-wrap::before{content:'';position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:#fff;border-radius:50%;}
.coupon-wrap::after{content:'';position:absolute;right:-15px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:#fff;border-radius:50%;}
.coupon-num{font-size:1.1rem;font-weight:800;color:var(--navy);letter-spacing:.12em;font-family:monospace;background:#fff;border:2px dashed var(--gold);border-radius:8px;padding:.45rem 1rem;display:inline-block;margin:.5rem 0;}
.coupon-send-btns{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:.75rem;}
.coupon-kakao-btn{background:#FEE500;color:#3C1E1E;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;}
.coupon-sms-btn{background:#10b981;color:#fff;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;}
.coupon-print-btn{background:var(--navy);color:#fff;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;}
/* 회원 로그인 */
.login-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;padding:1rem;}
.login-overlay.on{display:flex;}
.login-box{background:#fff;border-radius:16px;padding:2rem;max-width:380px;width:100%;animation:pop .3s ease;}
.login-box h3{font-family:'Nanum Myeongjo',serif;font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:.3rem;text-align:center;}
.login-inp{width:100%;padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;font-family:inherit;outline:none;margin-bottom:.65rem;}
.login-inp:focus{border-color:var(--blue);}
.login-btn{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:.5rem;}
.login-btn:hover{background:var(--blue);}
.login-err{color:#dc2626;font-size:.78rem;text-align:center;margin-top:.3rem;display:none;}
/* 회원 마이페이지 */
.mypage-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;padding:1rem;}
.mypage-overlay.on{display:flex;}
.mypage-box{background:#fff;border-radius:16px;padding:2rem;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:pop .3s ease;position:relative;}

/* ══ 리뉴얼 추가 CSS ══ */

/* 전체 배경 따뜻한 크림 */
body { background: var(--cream); }

/* 섹션 배경 교차 */
.sec:nth-child(odd) { background: #fff; }
.sec:nth-child(even) { background: var(--warm); }

/* 카드 그림자 일관성 */
.pcard, .feat-item, .rev-card {
  box-shadow: 0 2px 12px rgba(12,35,64,.07);
  transition: all .28s ease;
}
.pcard:hover { box-shadow: 0 8px 28px rgba(184,144,44,.18); }

/* 헤딩 색상 일관성 */
.sec-title { color: var(--navy); }
.sec-label { color: var(--gold); }

/* 링크 색상 */
.rev-wl a { color: var(--gold); }
.rev-wl a:hover { color: var(--navy); }

/* trust strip 아이템 */
.ti { color: var(--g700); font-weight: 500; }

/* 네비 링크 */
.nav-links a { color: rgba(255,255,255,.85); }
.nav-links a:hover { color: #e8d080; }

/* 관리자 탭 on 상태 */
.atab.on { background: var(--navy); border-color: var(--navy); }
.atab:hover:not(.on) { border-color: var(--gold); color: var(--gold); }

/* 서브탭 on */
.stab.on { color: var(--gold); border-bottom-color: var(--gold); }

/* 저장 버튼 */
.save-btn { background: var(--navy); }
.save-btn.blue { background: var(--blue); }
.save-btn.green { background: #065f46; }
.save-btn:hover { opacity: .88; }

/* 프리셋 행 호버 */
.rv-preset-row:hover { background: var(--g50); }

/* 쿠폰 래퍼 */
.coupon-wrap {
  background: linear-gradient(135deg,#fffbeb,#fef3c7);
  border-color: var(--gold);
}

/* 모달 헤딩 */
.modal h3 { color: var(--navy); }

/* 결제 버튼 그라디언트 */
.psel-btn {
  background: linear-gradient(135deg, var(--navy), var(--blue));
}
.pcard.sel .psel-btn {
  background: linear-gradient(135deg, var(--gold), #a07828);
}

/* 영웅 배지 */
.hero-badge {
  background: rgba(255,255,255,.12);
  border-color: rgba(232,208,128,.4);
  color: #e8d080;
}

/* feat icon 배경 */
.feat-icon { background: linear-gradient(135deg,#eff6ff,#dbeafe); }

/* 수익현황 탭 */
.rv-grand-bar { border-radius: 10px; }

/* 통계 카드 val 색상 */
.stat-val { color: var(--navy); }

/* 스크롤바 스타일 */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--g100); }
::-webkit-scrollbar-thumb { background: var(--g300); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* 포커스 링 */
input:focus, select:focus, textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184,144,44,.12);
}

/* 체크박스 색상 */
input[type=checkbox] { accent-color: var(--gold); }
input[type=radio] { accent-color: var(--gold); }

/* 선택된 상품 레이블 */
.pclbl.selected {
  border-color: var(--gold);
  background: #fffbeb;
}

/* 반응형 개선 */
@media(max-width:480px){
  .hero h1 { font-size: 1.75rem; }
  .hero-btns { gap: .6rem; }
  .btn-w, .btn-o { padding: .65rem 1.2rem; font-size: .88rem; }
  .trust { gap: 1rem; padding: .85rem 1rem; }
  .ti { font-size: .75rem; }
}

a {
  text-decoration: none;
}

/* 히어로 핵심 지표 */
.hero-stats{
  display:flex;align-items:center;justify-content:center;gap:1.3rem;
  margin-top:2.2rem;flex-wrap:wrap;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(232,208,128,.25);
  border-radius:16px;padding:1rem 1.75rem;
  max-width:640px;margin-left:auto;margin-right:auto;
  backdrop-filter:blur(4px);
}
.hs-item{text-align:center;min-width:82px;}
.hs-num{font-size:1.25rem;font-weight:800;color:#e8d080;font-family:'Nanum Myeongjo',serif;}
.hs-lbl{font-size:.68rem;color:rgba(255,255,255,.75);margin-top:.15rem;letter-spacing:.02em;}
.hs-divider{width:1px;height:32px;background:rgba(255,255,255,.18);}
@media(max-width:560px){
  .hero-stats{gap:.8rem;padding:.85rem 1rem;}
  .hs-divider{display:none;}
  .hs-item{min-width:70px;}
  .hs-num{font-size:1.05rem;}
}
/* 히어로 버튼 개선 */
.btn-w{
  background:linear-gradient(135deg,#e8d080,#c8a040)!important;
  color:var(--navy)!important;font-weight:800!important;
  box-shadow:0 4px 20px rgba(232,208,128,.35)!important;
  border:none!important;
}
.btn-w:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,208,128,.45)!important;}

.hero h1 { text-shadow: 0 2px 12px rgba(0,0,0,.25); }

/* sec-label 개선 */
.sec-label {
  display:inline-block;
  background:linear-gradient(135deg,var(--gold),var(--gold-lt));
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  padding:.25rem .85rem;
  border-radius:20px;
  margin-bottom:.75rem;
}

/* sec-title 개선 */
.sec-title {
  font-family:'Nanum Myeongjo',serif;
  font-size:1.75rem;
  font-weight:800;
  color:var(--navy);
  text-align:center;
  margin-bottom:.5rem;
  line-height:1.3;
}




/* HERO */
.hero{background:linear-gradient(150deg,#0c2340 0%,#1a5296 55%,#1e4a7e 100%);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.025'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
.hero-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);color:#bfdbfe;font-size:.75rem;padding:.3rem 1rem;border-radius:20px;margin-bottom:1.5rem;}
.hero h1{font-family:'Nanum Myeongjo',serif;font-size:clamp(2rem,5vw,3rem);font-weight:800;color:#fff;line-height:1.35;margin-bottom:1.2rem;}
.hero h1 em{color:#93c5fd;font-style:normal;}
.hero p{color:rgba(255,255,255,.75);font-size:1rem;line-height:1.8;margin-bottom:2.5rem;}
.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.btn-w{background:#fff;color:var(--navy);padding:.8rem 1.8rem;border:none;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}
.btn-o{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);padding:.8rem 1.8rem;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block;}

/* TRUST */
.trust{background:var(--warm);border-bottom:1px solid var(--g200);padding:1rem 2rem;display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;}
.ti{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--g700);font-weight:500;}

/* SECTION */
.sec{padding:4.5rem 2rem;}
.sec-in{max-width:960px;margin:0 auto;}
.sec-label{font-size:.72rem;font-weight:700;letter-spacing:.15em;color:var(--blue);text-transform:uppercase;margin-bottom:.4rem;}
.sec-title{font-family:'Nanum Myeongjo',serif;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800;color:var(--navy);margin-bottom:.6rem;}
.sec-sub{color:var(--g500);font-size:.9rem;line-height:1.7;margin-bottom:2.5rem;}
.reg-bg{background:var(--warm);}

/* REGISTER */
.reg-box{background:#fff;border:2px solid var(--g300);border-radius:18px;overflow:hidden;}
.reg-head{background:var(--navy);padding:1.75rem 2rem;color:#fff;}
.reg-head h3{font-family:'Nanum Myeongjo',serif;font-size:1.4rem;font-weight:800;margin-bottom:.25rem;}
.reg-head p{color:rgba(255,255,255,.65);font-size:.84rem;}
.reg-body{padding:2rem;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.f-full{grid-column:1/-1;}
.fg-grp{display:flex;flex-direction:column;gap:.35rem;}
.fg-lbl{font-size:.8rem;font-weight:600;color:var(--g700);}
.fg-lbl .req{color:#dc2626;}
.fg-inp,.fg-sel{padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;background:#fff;font-family:inherit;outline:none;transition:border-color .2s;}
.fg-inp:focus,.fg-sel:focus{border-color:var(--blue);}
.fg-inp::placeholder{color:var(--g300);}
.fg-hint{font-size:.7rem;color:var(--g400);margin-top:.15rem;}
.pchoice{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;}
.pclbl{display:flex;flex-direction:column;border:2px solid var(--g300);border-radius:9px;padding:.9rem;cursor:pointer;transition:border-color .2s;position:relative;}
.pclbl.selected{border-color:var(--blue);background:#eff6ff;}
.pclbl input[type=radio]{position:absolute;opacity:0;pointer-events:none;}
.pc-name{font-size:.88rem;font-weight:700;color:var(--navy);}
.pc-price{font-size:.8rem;color:#dc2626;font-weight:600;margin-top:.15rem;}
.pc-sub{font-size:.7rem;color:var(--g500);margin-top:.15rem;}
.terms-box{background:#fff;border:1.5px solid var(--g300);border-radius:7px;padding:.9rem 1.1rem;font-size:.76rem;color:var(--g500);line-height:1.6;max-height:90px;overflow-y:auto;}
.ck-row{display:flex;align-items:center;gap:.45rem;margin-top:.45rem;}
.ck-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;}
.ck-row label{font-size:.82rem;color:var(--g700);cursor:pointer;font-weight:500;}
.sbtn{width:100%;padding:.95rem;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border:none;border-radius:9px;font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.65rem;}
.sbtn:hover{background:var(--blue);}
.fnote{font-size:.73rem;color:var(--g500);text-align:center;margin-top:.65rem;}

/* PRODUCTS */
.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.75rem;}
.pcard{border:2px solid var(--g300);border-radius:15px;overflow:hidden;transition:all .3s;cursor:pointer;background:#fff;}
.pcard:hover{border-color:var(--gold);box-shadow:0 10px 35px rgba(184,144,44,.18);transform:translateY(-3px);}
.pcard.sel{border-color:var(--blue);box-shadow:0 6px 25px rgba(20,85,164,.18);}
.pcard-head{background:var(--navy);padding:1.4rem;color:#fff;position:relative;}
.pcard:nth-child(2) .pcard-head{background:linear-gradient(135deg,#1455a4,#0a2342);}
.pbadge{position:absolute;top:.9rem;right:.9rem;background:var(--gold);color:#fff;font-size:.66rem;font-weight:700;padding:.18rem .55rem;border-radius:4px;}
.pname{font-family:'Nanum Myeongjo',serif;font-size:1.3rem;font-weight:800;margin-bottom:.2rem;}
.pdesc{font-size:.78rem;color:rgba(255,255,255,.7);}
.ppa{padding:1.1rem 1.4rem;border-bottom:1px solid var(--g100);}
.ppr{display:flex;justify-content:space-between;align-items:baseline;}
.ppl{font-size:.73rem;color:var(--g500);}
.ppor{font-size:.82rem;color:var(--g500);text-decoration:line-through;}
.ppfi{font-size:1.4rem;font-weight:700;color:#dc2626;}
.ppno{font-size:.68rem;color:var(--g500);margin-top:.2rem;}
.pitems{padding:1.1rem 1.4rem;}
.pitems h4{font-size:.75rem;font-weight:700;color:var(--g700);margin-bottom:.65rem;}
.irow{display:flex;align-items:center;gap:.6rem;padding:.42rem 0;border-bottom:1px solid var(--g100);}
.irow:last-child{border-bottom:none;}
.iimg{width:42px;height:42px;object-fit:contain;border-radius:7px;background:var(--g50);border:1px solid var(--g100);flex-shrink:0;padding:3px;}
.iph{width:42px;height:42px;border-radius:7px;background:linear-gradient(135deg,#f0ece4,#e8e3d8);flex-shrink:0;display:none;align-items:center;justify-content:center;font-size:1.1rem;flex-direction:column;position:relative;border:1px solid var(--g200);}
.iph .iph-brand{font-size:.42rem;color:var(--g400);position:absolute;bottom:2px;left:0;right:0;text-align:center;letter-spacing:0;line-height:1;font-family:sans-serif;}
.iinfo{flex:1;}
.iname{color:var(--g700);display:block;font-size:.8rem;}
.iprice{color:var(--blue);font-weight:600;font-size:.78rem;white-space:nowrap;}
.ifree{color:var(--g400);font-size:.78rem;white-space:nowrap;}
.pfoot{padding:1.1rem 1.4rem;background:var(--g50);}
.psel-btn{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;}
.psel-btn:hover{background:var(--blue);}
.pcard.sel .psel-btn{background:#dc2626;}

/* EXTRA COSTS */
.extra-wrap{background:var(--g50);border:2px dashed var(--g300);border-radius:14px;padding:1.5rem 1.75rem;margin-top:2rem;}
.extra-title{display:flex;align-items:center;cursor:pointer;user-select:none;font-size:.95rem;font-weight:700;color:var(--navy);}
.extra-arrow{margin-left:auto;font-size:.78rem;transition:transform .3s;display:inline-block;}
.extra-arrow.open{transform:rotate(180deg);}
.extra-body{display:none;margin-top:1.1rem;}
.extra-body.show{display:block;}
.extra-tbl{width:100%;border-collapse:collapse;font-size:.8rem;margin-bottom:.9rem;}
.extra-tbl th{background:var(--navy);color:#fff;padding:.55rem .85rem;text-align:left;font-weight:600;}
.extra-tbl td{padding:.5rem .85rem;border-bottom:1px solid var(--g300);color:var(--g700);vertical-align:top;}
.extra-tbl tr:last-child td{border-bottom:none;}
.extra-tbl tr:nth-child(even) td{background:#fff;}
.extra-notice{background:#fff8e1;border:1px solid #fbbf24;border-radius:7px;padding:.9rem 1.1rem;font-size:.77rem;color:#78350f;line-height:1.75;}
.extra-notice strong{color:#451a03;display:block;margin-bottom:.35rem;}

/* FEATURES */
.feat-bg{background:var(--warm2);}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.25rem;}
.feat-item{background:#fff;padding:1.6rem 1.4rem;border-radius:11px;text-align:center;border:1px solid var(--g300);}
.feat-icon{width:50px;height:50px;background:#dbeafe;border-radius:11px;display:flex;align-items:center;justify-content:center;margin:0 auto .9rem;font-size:1.35rem;}
.feat-title{font-size:.9rem;font-weight:700;color:var(--navy);margin-bottom:.35rem;}
.feat-text{font-size:.76rem;color:var(--g500);line-height:1.6;}



/* FOOTER */
footer{background:#0c2340;padding:2.75rem 2rem;color:rgba(255,255,255,.6);border-top:3px solid var(--gold);}
.foot-in{max-width:960px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.75rem;}
.foot-brand{display:flex;align-items:center;gap:.5rem;font-family:'Nanum Myeongjo',serif;font-size:1.1rem;font-weight:800;color:#fff;margin-bottom:.45rem;}
.foot-info{font-size:.76rem;line-height:1.85;}
.foot-links{display:flex;gap:1.25rem;align-items:flex-start;flex-wrap:wrap;}
.foot-links a{color:rgba(255,255,255,.48);text-decoration:none;font-size:.76rem;}
.foot-links a:hover{color:#fff;}
.foot-rv-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;padding:.38rem .85rem;border-radius:5px;font-size:.76rem;font-weight:600;cursor:pointer;font-family:inherit;}

/* OVERLAY / MODAL */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;padding:1rem;}
.overlay.on{display:flex;}
.modal{background:#fff;border-radius:18px;padding:2.25rem;max-width:480px;width:100%;animation:pop .3s ease;max-height:90vh;overflow-y:auto;position:relative;}
@keyframes pop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.modal h3{font-family:'Nanum Myeongjo',serif;font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:.3rem;}
.modal-x{position:absolute;top:1.1rem;right:1.1rem;background:none;border:none;font-size:1.3rem;cursor:pointer;color:var(--g500);}
.ok-icon{font-size:3.2rem;margin-bottom:.9rem;text-align:center;}
.ok-info{background:var(--g50);border-radius:9px;padding:.9rem 1.1rem;margin-bottom:1.4rem;font-size:.82rem;}
.ok-info div{display:flex;justify-content:space-between;padding:.25rem 0;}
.ok-info strong{color:var(--navy);}
.ok-close{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;}

/* REVIEW MODAL */
.rv-row{margin-bottom:.9rem;}
.rv-lbl{font-size:.8rem;font-weight:600;color:var(--g700);display:block;margin-bottom:.35rem;}
.rv-inp,.rv-ta,.rv-sel{width:100%;padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;font-family:inherit;color:var(--g900);outline:none;}
.rv-inp:focus,.rv-ta:focus,.rv-sel:focus{border-color:var(--blue);}
.rv-ta{resize:vertical;min-height:95px;}
.star-picker{display:flex;gap:.25rem;cursor:pointer;}
.star-picker span{font-size:1.9rem;color:var(--g300);user-select:none;line-height:1;}
.star-picker span.lit{color:#f59e0b;}
.rv-sub-btn{width:100%;padding:.85rem;background:var(--navy);color:#fff;border:none;border-radius:9px;font-size:.95rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.4rem;}
.rv-sub-btn:hover{background:var(--blue);}

/* CHATBOT */
#chat-fab{position:fixed;bottom:1.75rem;right:1.75rem;z-index:500;width:58px;height:58px;border-radius:50%;background:var(--navy);border:none;cursor:pointer;box-shadow:0 4px 18px rgba(10,35,66,.4);display:flex;align-items:center;justify-content:center;font-size:1.55rem;animation:fabP 3s infinite;}
@keyframes fabP{0%,100%{box-shadow:0 4px 18px rgba(10,35,66,.4)}50%{box-shadow:0 4px 26px rgba(20,85,164,.6),0 0 0 9px rgba(20,85,164,.08)}}
#chat-badge{position:absolute;top:-2px;right:-2px;background:#dc2626;color:#fff;border-radius:50%;width:19px;height:19px;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
#chat-win{position:fixed;bottom:6.2rem;right:1.75rem;z-index:500;width:330px;background:#fff;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.18);display:flex;flex-direction:column;overflow:hidden;max-height:500px;transform:scale(0) translateY(18px);transform-origin:bottom right;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s;opacity:0;pointer-events:none;}
#chat-win.on{transform:scale(1) translateY(0);opacity:1;pointer-events:all;}
.ch-head{background:var(--navy);padding:.85rem 1.1rem;display:flex;align-items:center;gap:.7rem;flex-shrink:0;}
.ch-av{width:36px;height:36px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;font-size:1.05rem;flex-shrink:0;}
.ch-hn{font-size:.87rem;font-weight:700;color:#fff;}
.ch-hs{font-size:.68rem;color:#93c5fd;display:flex;align-items:center;gap:.28rem;}
.ch-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.ch-xb{background:none;border:none;color:rgba(255,255,255,.55);font-size:1.15rem;cursor:pointer;margin-left:auto;}
.ch-msgs{flex:1;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.7rem;background:#f8fafc;}
.cm{max-width:84%;animation:msgIn .22s ease;}
@keyframes msgIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.cm.bot{align-self:flex-start;}.cm.user{align-self:flex-end;}
.cb{padding:.6rem .85rem;border-radius:15px;font-size:.81rem;line-height:1.52;word-break:keep-all;}
.cm.bot .cb{background:#fff;color:var(--g900);border:1px solid var(--g300);border-bottom-left-radius:3px;}
.cm.user .cb{background:var(--navy);color:#fff;border-bottom-right-radius:3px;}
.ct{font-size:.62rem;color:var(--g400);margin-top:.18rem;}
.cm.bot .ct{text-align:left;}.cm.user .ct{text-align:right;}
.ch-qb{display:flex;flex-wrap:wrap;gap:.35rem;padding:.45rem .7rem;background:#f8fafc;border-bottom:1px solid var(--g100);}
.ch-qbtn{font-size:.7rem;padding:.3rem .6rem;border:1.5px solid var(--blue);border-radius:18px;background:#fff;color:var(--blue);cursor:pointer;font-family:inherit;}
.ch-qbtn:hover{background:var(--blue);color:#fff;}
.ch-irow{display:flex;gap:.45rem;padding:.7rem .9rem;background:#fff;border-top:1px solid var(--g300);flex-shrink:0;}
.ch-inp{flex:1;padding:.48rem .85rem;border:1.5px solid var(--g300);border-radius:18px;font-size:.81rem;outline:none;font-family:inherit;}
.ch-inp:focus{border-color:var(--blue);}
.ch-send{width:32px;height:32px;border-radius:50%;background:var(--navy);border:none;color:#fff;cursor:pointer;font-size:.82rem;flex-shrink:0;}
.ch-send:hover{background:var(--blue);}
.typing{display:flex;gap:.28rem;align-items:center;padding:.18rem 0;}
.tdot{width:6px;height:6px;border-radius:50%;background:var(--g400);animation:ta .8s infinite;}
.tdot:nth-child(2){animation-delay:.14s;}.tdot:nth-child(3){animation-delay:.28s;}
@keyframes ta{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* ADMIN LOGIN */
.al-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:600;display:none;align-items:center;justify-content:center;padding:1rem;}
.al-overlay.on{display:flex;}
.al-box{background:#fff;border-radius:18px;padding:2.25rem;max-width:360px;width:100%;text-align:center;animation:pop .3s ease;}
.al-box h3{font-family:'Nanum Myeongjo',serif;font-size:1.3rem;font-weight:800;color:var(--navy);margin-bottom:.35rem;}
.al-box p{font-size:.8rem;color:var(--g500);margin-bottom:1.4rem;}
.al-inp{width:100%;padding:.7rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;font-family:inherit;outline:none;margin-bottom:.65rem;}
.al-inp:focus{border-color:var(--blue);}
.al-btn{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.92rem;font-weight:700;cursor:pointer;font-family:inherit;}
.al-btn:hover{background:var(--blue);}
.al-err{color:#dc2626;font-size:.78rem;margin-top:.45rem;display:none;}

/* ADMIN PANEL */
#adminPanel{display:none;position:fixed;inset:0;z-index:600;background:var(--warm);overflow-y:auto;}
#adminPanel.on{display:block;}
.adm-nav{background:var(--navy);padding:0 2rem;height:58px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;}
.adm-nav-logo{display:flex;align-items:center;gap:.5rem;font-family:'Nanum Myeongjo',serif;font-size:1rem;font-weight:800;color:#fff;}
.adm-nav-logo span{color:#93c5fd;}
.adm-close-btn{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;padding:.38rem .9rem;border-radius:5px;font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;}
.adm-body{max-width:1050px;margin:0 auto;padding:1.75rem;}
.adm-tabs{display:flex;gap:.4rem;margin-bottom:1.75rem;flex-wrap:wrap;}
.atab{padding:.55rem 1.1rem;border:2px solid var(--g300);border-radius:7px;background:#fff;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--g700);font-family:inherit;}
.atab.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.adm-pane{display:none;}
.adm-pane.on{display:block;}
.adm-pane-title{font-family:'Nanum Myeongjo',serif;font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:1.4rem;}

/* STAT */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.9rem;margin-bottom:1.75rem;}
.stat-card{background:#fff;border:1.5px solid var(--g200);border-radius:11px;padding:1.1rem 1.4rem;box-shadow:0 2px 8px rgba(12,35,64,.06);}
.stat-lbl{font-size:.72rem;color:var(--g500);margin-bottom:.25rem;}
.stat-val{font-size:1.65rem;font-weight:700;color:var(--navy);}
.stat-sub{font-size:.69rem;color:var(--g400);margin-top:.15rem;}

/* TABLE */
.tbl-wrap{background:#fff;border:1.5px solid var(--g300);border-radius:11px;overflow:hidden;overflow-x:auto;}
.adm-tbl{width:100%;border-collapse:collapse;font-size:.8rem;min-width:600px;}
.adm-tbl th{background:var(--navy);color:#fff;padding:.65rem .9rem;text-align:left;font-weight:600;white-space:nowrap;}
.adm-tbl td{padding:.65rem .9rem;border-bottom:1px solid var(--g100);color:var(--g700);vertical-align:middle;}
.adm-tbl tr:last-child td{border-bottom:none;}
.adm-tbl tr:hover td{background:var(--g50);}
.sbadge{display:inline-block;padding:.18rem .55rem;border-radius:18px;font-size:.7rem;font-weight:700;}
.s-new{background:#fef3c7;color:#92400e;}
.s-cons{background:#dbeafe;color:#1e40af;}
.s-done{background:#d1fae5;color:#065f46;}
.s-cancel{background:#fee2e2;color:#991b1b;}
.abtn{padding:.28rem .65rem;border-radius:5px;border:none;font-size:.72rem;font-weight:600;cursor:pointer;font-family:inherit;}
.abtn-v{background:#dbeafe;color:var(--blue);}
.abtn-e{background:#fef3c7;color:#92400e;}
.abtn-d{background:#fee2e2;color:#dc2626;}
.tbar{display:flex;gap:.65rem;margin-bottom:.9rem;flex-wrap:wrap;align-items:center;}
.tsrch{padding:.5rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.82rem;font-family:inherit;outline:none;min-width:190px;}
.tsrch:focus{border-color:var(--blue);}
.tflt{padding:.5rem .75rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.8rem;font-family:inherit;outline:none;background:#fff;}

/* DETAIL MODAL */
.dm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:700;display:none;align-items:center;justify-content:center;padding:1rem;}
.dm-overlay.on{display:flex;}
.dm-modal{background:#fff;border-radius:16px;padding:1.9rem;max-width:580px;width:100%;max-height:90vh;overflow-y:auto;animation:pop .3s ease;position:relative;}
.dm-modal h4{font-family:'Nanum Myeongjo',serif;font-size:1.15rem;font-weight:800;color:var(--navy);margin-bottom:1.1rem;}
.dm-xb{position:absolute;top:.95rem;right:.95rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--g500);}
.drow{display:flex;gap:.9rem;margin-bottom:.65rem;}
.dkey{font-size:.78rem;font-weight:600;color:var(--g500);min-width:80px;}
.dval{font-size:.84rem;color:var(--g900);flex:1;}
.memo-area{width:100%;padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.84rem;font-family:inherit;resize:vertical;min-height:75px;outline:none;}
.memo-area:focus{border-color:var(--blue);}
.save-btn{padding:.48rem 1.1rem;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;margin-top:.45rem;}
.save-btn.blue{background:var(--blue);}
.save-btn.green{background:#065f46;}

/* FUNERAL DETAIL SUB-TABS */
.sub-tabs{display:flex;border-bottom:2px solid var(--g300);margin-bottom:1.4rem;overflow-x:auto;}
.stab{padding:.55rem 1rem;border:none;background:none;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--g500);border-bottom:3px solid transparent;margin-bottom:-2px;font-family:inherit;white-space:nowrap;}
.stab.on{color:#c2762a;border-bottom-color:#c2762a;}
.stab-c{display:none;}
.stab-c.on{display:block;}
.cr-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;}
.cr-full{grid-column:1/-1;}
.cr-grp{display:flex;flex-direction:column;gap:.3rem;}
.cr-lbl{font-size:.78rem;font-weight:600;color:#c2762a;}
.cr-inp{padding:.52rem .8rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.84rem;font-family:inherit;outline:none;background:#fff;}
.cr-inp:focus{border-color:#c2762a;}
.cr-ta{padding:.52rem .8rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.84rem;font-family:inherit;resize:vertical;min-height:75px;outline:none;}
.cr-ta:focus{border-color:#c2762a;}
.ph-upload{border:2.5px dashed var(--g300);border-radius:11px;padding:1.4rem;text-align:center;cursor:pointer;}
.ph-upload:hover{border-color:#c2762a;}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:.65rem;margin-top:.9rem;}
.ph-thumb{position:relative;aspect-ratio:1;border-radius:7px;overflow:hidden;background:var(--g100);}
.ph-thumb img{width:100%;height:100%;object-fit:cover;cursor:pointer;}
.ph-del{position:absolute;top:3px;right:3px;background:rgba(0,0,0,.58);color:#fff;border:none;border-radius:50%;width:18px;height:18px;font-size:.65rem;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.rc-box{background:var(--g50);border:1.5px solid var(--g300);border-radius:9px;padding:1.1rem;margin-bottom:.9rem;}
.rc-title{font-size:.85rem;font-weight:700;color:var(--navy);margin-bottom:.65rem;}
.rc-row{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem;flex-wrap:wrap;}
.rc-lbl{font-size:.8rem;color:var(--g700);font-weight:600;min-width:90px;}
.rc-inp{padding:.42rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.82rem;font-family:inherit;outline:none;flex:1;min-width:130px;}
.rc-inp:focus{border-color:#c2762a;}
.rc-sel{padding:.42rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.82rem;font-family:inherit;outline:none;background:#fff;}
.rv-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-bottom:1.4rem;}
.rv-card{background:#fff;border:1.5px solid var(--g300);border-radius:11px;padding:1rem 1.1rem;text-align:center;}
.rv-lbl2{font-size:.72rem;color:var(--g500);margin-bottom:.25rem;}
.rv-amt{font-size:1.25rem;font-weight:700;}
.rv-row2{display:flex;align-items:center;padding:.6rem 1.1rem;border-bottom:1px solid var(--g100);}
.rv-row2:last-child{border-bottom:none;}
.rv-lbl3{font-size:.8rem;font-weight:600;color:#c2762a;min-width:90px;}
.rv-inp2{flex:1;padding:.4rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.83rem;font-family:inherit;outline:none;}
.rv-inp2:focus{border-color:#c2762a;}
.rv-sel2{flex:1;padding:.4rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.83rem;font-family:inherit;outline:none;background:#fff;}
/* ── 정산 상세 CSS ── */
.rv-sec{background:#fff;border:1px solid var(--g300);border-radius:10px;overflow:hidden;margin-bottom:1rem;}
.rv-sec-head{padding:.55rem 1.1rem;background:var(--g50);font-size:.75rem;font-weight:700;color:var(--g700);border-bottom:1px solid var(--g100);display:flex;justify-content:space-between;align-items:center;}
.rv-sec-head .rv-total{font-size:.85rem;font-weight:700;color:var(--navy);}
.rv-item-row{display:flex;align-items:center;padding:.55rem 1.1rem;border-bottom:1px solid var(--g100);gap:.5rem;flex-wrap:wrap;}
.rv-item-row:last-child{border-bottom:none;}
.rv-item-chk{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;}
.rv-item-name{font-size:.83rem;color:var(--g700);flex:1;min-width:80px;}
.rv-item-amt{font-size:.83rem;font-weight:600;color:var(--navy);min-width:90px;text-align:right;}
.rv-item-amt.neg{color:#dc2626;}
.rv-item-btn{padding:.22rem .6rem;background:var(--g100);border:1px solid var(--g300);border-radius:5px;font-size:.72rem;cursor:pointer;font-family:inherit;color:var(--g700);}
.rv-item-btn:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.rv-add-row{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;background:#f8fafc;}
.rv-section-total{display:flex;justify-content:space-between;padding:.55rem 1.1rem;background:#fffbeb;font-size:.83rem;font-weight:700;color:var(--navy);}
.rv-grand-bar{background:var(--navy);color:#fff;padding:.85rem 1.1rem;border-radius:8px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;}
.rv-grand-label{font-size:.88rem;}
.rv-grand-amt{font-size:1.4rem;font-weight:700;}
.rv-danban{background:#fff3cd;border:1px solid #ffc107;border-radius:7px;padding:.75rem 1rem;margin-bottom:1rem;font-size:.78rem;color:#856404;line-height:1.75;}
.rv-danban strong{display:block;margin-bottom:.3rem;color:#664d03;}
.rv-danban-opts{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem;}
.rv-danban-opt{padding:.3rem .75rem;border:2px solid var(--g300);border-radius:20px;font-size:.75rem;cursor:pointer;font-family:inherit;background:#fff;color:var(--g700);}
.rv-danban-opt.on{border-color:#c2762a;background:#fff8f0;color:#c2762a;font-weight:700;}
/* 팝업 모달 */
.popup-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:800;display:none;align-items:center;justify-content:center;padding:1rem;}
.popup-overlay.on{display:flex;}
.popup-box{background:#fff;border-radius:14px;padding:1.75rem;max-width:380px;width:100%;animation:pop .25s ease;}
.popup-box h5{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:.4rem;}
.popup-box p{font-size:.8rem;color:var(--g500);margin-bottom:1rem;}
.popup-inp{width:100%;padding:.7rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.95rem;font-family:inherit;outline:none;margin-bottom:1rem;}
.popup-inp:focus{border-color:var(--blue);}
.popup-btns{display:flex;gap:.5rem;}
.popup-ok{flex:1;padding:.7rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;}
.popup-ok:hover{background:var(--blue);}
.popup-cancel{padding:.7rem 1rem;background:var(--g100);color:var(--g700);border:none;border-radius:7px;font-size:.9rem;cursor:pointer;font-family:inherit;}

.exp-tbl{width:100%;border-collapse:collapse;font-size:.8rem;}
.exp-tbl th{background:var(--g100);padding:.48rem .7rem;text-align:left;font-weight:600;color:var(--g700);}
.exp-tbl td{padding:.48rem .7rem;border-bottom:1px solid var(--g100);}
.exp-del{background:none;border:none;color:var(--g400);cursor:pointer;font-size:.82rem;}
.add-exp{display:flex;gap:.45rem;flex-wrap:wrap;padding:.7rem 1.1rem;}
.ae-inp{padding:.38rem .7rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.8rem;font-family:inherit;outline:none;}
.ae-inp:focus{border-color:#c2762a;}
.ae-btn{padding:.38rem .8rem;background:var(--navy);color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:700;cursor:pointer;font-family:inherit;}

/* FUNERAL CARD */
.fc-card{background:#fff;border:1px solid var(--g300);border-radius:12px;overflow:hidden;margin-bottom:1.1rem;box-shadow:0 2px 7px rgba(0,0,0,.05);}
.fc-head{padding:.9rem 1.1rem;border-bottom:1px solid var(--g100);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.55rem;}
.fc-phone{font-size:.95rem;font-weight:700;color:var(--g900);}
.fc-cname{font-size:.8rem;color:var(--g500);margin-left:.28rem;}
.fc-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;}
.ck-badge{display:inline-flex;align-items:center;gap:.22rem;font-size:.68rem;font-weight:700;padding:.16rem .5rem;border-radius:18px;}
.ck-y{background:#d1fae5;color:#065f46;}.ck-n{background:#fee2e2;color:#dc2626;}
.fc-body{padding:.7rem 1.1rem;display:grid;grid-template-columns:1fr 1fr;gap:.35rem .85rem;}
.fc-row{font-size:.78rem;color:var(--g700);display:flex;gap:.28rem;}
.fc-key{color:#c2762a;font-weight:600;min-width:65px;}
.fc-acts{display:flex;gap:.45rem;padding:.8rem 1.1rem;background:var(--g50);border-top:1px solid var(--g100);flex-wrap:wrap;}
.fc-btn{padding:.42rem .9rem;border-radius:7px;border:none;font-size:.75rem;font-weight:700;cursor:pointer;font-family:inherit;color:#fff;}
.fc-btn:hover{opacity:.82;}

/* COMPANY MANAGEMENT */
.co-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;}
.co-panel{background:#fff;border:1.5px solid var(--g300);border-radius:12px;overflow:hidden;}
.co-panel-head{background:var(--navy);padding:.75rem 1.1rem;color:#fff;font-size:.88rem;font-weight:700;display:flex;justify-content:space-between;align-items:center;}
.co-panel-body{padding:1.1rem;}
.co-item{border:1px solid var(--g100);border-radius:8px;padding:.75rem .9rem;margin-bottom:.55rem;}
.co-item:last-child{margin-bottom:0;}
.gd-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-bottom:1rem;}
.gd-grp{display:flex;flex-direction:column;gap:.3rem;}
.gd-lbl{font-size:.78rem;font-weight:600;color:#c2762a;}
.gd-inp,.gd-sel{padding:.52rem .8rem;border:1.5px solid var(--g300);border-radius:6px;font-size:.84rem;font-family:inherit;outline:none;background:#fff;}
.gd-inp:focus,.gd-sel:focus{border-color:#c2762a;}
.gd-inp[readonly]{background:var(--g50);color:var(--g500);}

/* MOBILE */
@media(max-width:640px){
  nav{padding:0 .9rem;}.nav-links{display:none;}
  .sec{padding:3.25rem 1.1rem;}
  .fg{grid-template-columns:1fr;}.f-full{grid-column:1;}
  .pchoice{grid-template-columns:1fr;}
  #chat-win{width:calc(100vw - 1.6rem);right:.8rem;}
  .rev-card{min-width:250px;max-width:250px;}
  .cr-grid,.rv-summary,.co-grid{grid-template-columns:1fr;}
  .cr-full{grid-column:1;}
  .adm-body{padding:1rem;}
  .fc-body{grid-template-columns:1fr;}
}
/* ── 카카오 버튼 ──
.kakao-btn{background:#FEE500;color:#3C1E1E;border:none;border-radius:7px;padding:.45rem 1rem;font-size:.8rem;font-weight:700;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:.35rem;}
.kakao-btn:hover{background:#F5DC00;}

/* ── 품목 프리셋 */
.rv-preset-row{display:flex;align-items:center;gap:.5rem;padding:.42rem 1.1rem;border-bottom:1px solid var(--g100);flex-wrap:wrap;}
.rv-preset-row:last-child{border-bottom:none;}
.rv-preset-row .rv-item-chk{width:16px;height:16px;accent-color:var(--blue);cursor:pointer;flex-shrink:0;}
.rv-preset-row .rv-item-name{font-size:.82rem;color:var(--g700);flex:1;min-width:80px;}
.rv-preset-row .rv-item-amt{font-size:.82rem;font-weight:600;color:var(--navy);min-width:75px;text-align:right;}
.rv-preset-row .rv-item-amt.neg{color:#dc2626;}

/* ── 쿠폰 / 로그인 CSS ── */
.coupon-wrap{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid var(--gold);border-radius:14px;padding:1.4rem;margin-bottom:1rem;position:relative;overflow:hidden;}
.coupon-wrap::before{content:'';position:absolute;left:-15px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:#fff;border-radius:50%;}
.coupon-wrap::after{content:'';position:absolute;right:-15px;top:50%;transform:translateY(-50%);width:30px;height:30px;background:#fff;border-radius:50%;}
.coupon-num{font-size:1.1rem;font-weight:800;color:var(--navy);letter-spacing:.12em;font-family:monospace;background:#fff;border:2px dashed var(--gold);border-radius:8px;padding:.45rem 1rem;display:inline-block;margin:.5rem 0;}
.coupon-send-btns{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:.75rem;}
.coupon-kakao-btn{background:#FEE500;color:#3C1E1E;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;}
.coupon-sms-btn{background:#10b981;color:#fff;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;}
.coupon-print-btn{background:var(--navy);color:#fff;border:none;border-radius:7px;padding:.5rem 1rem;font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;}
/* 회원 로그인 */
.login-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;padding:1rem;}
.login-overlay.on{display:flex;}
.login-box{background:#fff;border-radius:16px;padding:2rem;max-width:380px;width:100%;animation:pop .3s ease;position:relative;}
.login-box h3{font-family:'Nanum Myeongjo',serif;font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:.3rem;text-align:center;}
.login-inp{width:100%;padding:.65rem .9rem;border:1.5px solid var(--g300);border-radius:7px;font-size:.88rem;font-family:inherit;outline:none;margin-bottom:.65rem;}
.login-inp:focus{border-color:var(--blue);}
.login-btn{width:100%;padding:.8rem;background:var(--navy);color:#fff;border:none;border-radius:7px;font-size:.9rem;font-weight:700;cursor:pointer;font-family:inherit;margin-bottom:.5rem;}
.login-btn:hover{background:var(--blue);}
.login-err{color:#dc2626;font-size:.78rem;text-align:center;margin-top:.3rem;display:none;}
/* 회원 마이페이지 */
.mypage-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:300;display:none;align-items:center;justify-content:center;padding:1rem;}
.mypage-overlay.on{display:flex;}
.mypage-box{background:#fff;border-radius:16px;padding:2rem;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;animation:pop .3s ease;position:relative;}

/* ══ 리뉴얼 추가 CSS ══ */

/* 전체 배경 따뜻한 크림 */
body { background: var(--cream); }

/* 섹션 배경 교차 */
.sec:nth-child(odd) { background: #fff; }
.sec:nth-child(even) { background: var(--warm); }

/* 카드 그림자 일관성 */
.pcard, .feat-item, .rev-card {
  box-shadow: 0 2px 12px rgba(12,35,64,.07);
  transition: all .28s ease;
}
.pcard:hover { box-shadow: 0 8px 28px rgba(184,144,44,.18); }

/* 헤딩 색상 일관성 */
.sec-title { color: var(--navy); }
.sec-label { color: var(--gold); }

/* 링크 색상 */
.rev-wl a { color: var(--gold); }
.rev-wl a:hover { color: var(--navy); }

/* trust strip 아이템 */
.ti { color: var(--g700); font-weight: 500; }

/* 네비 링크 */
.nav-links a { color: rgba(255,255,255,.85); }
.nav-links a:hover { color: #e8d080; }

/* 관리자 탭 on 상태 */
.atab.on { background: var(--navy); border-color: var(--navy); }
.atab:hover:not(.on) { border-color: var(--gold); color: var(--gold); }

/* 서브탭 on */
.stab.on { color: var(--gold); border-bottom-color: var(--gold); }

/* 저장 버튼 */
.save-btn { background: var(--navy); }
.save-btn.blue { background: var(--blue); }
.save-btn.green { background: #065f46; }
.save-btn:hover { opacity: .88; }

/* 프리셋 행 호버 */
.rv-preset-row:hover { background: var(--g50); }

/* 쿠폰 래퍼 */
.coupon-wrap {
  background: linear-gradient(135deg,#fffbeb,#fef3c7);
  border-color: var(--gold);
}

/* 모달 헤딩 */
.modal h3 { color: var(--navy); }

/* 결제 버튼 그라디언트 */
.psel-btn {
  background: linear-gradient(135deg, var(--navy), var(--blue));
}
.pcard.sel .psel-btn {
  background: linear-gradient(135deg, var(--gold), #a07828);
}

/* 영웅 배지 */
.hero-badge {
  background: rgba(255,255,255,.12);
  border-color: rgba(232,208,128,.4);
  color: #e8d080;
}

/* feat icon 배경 */
.feat-icon { background: linear-gradient(135deg,#eff6ff,#dbeafe); }

/* 수익현황 탭 */
.rv-grand-bar { border-radius: 10px; }

/* 통계 카드 val 색상 */
.stat-val { color: var(--navy); }

/* 스크롤바 스타일 */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--g100); }
::-webkit-scrollbar-thumb { background: var(--g300); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold); }

/* 포커스 링 */
input:focus, select:focus, textarea:focus {
  border-color: var(--gold) !important;
  box-shadow: 0 0 0 3px rgba(184,144,44,.12);
}

/* 체크박스 색상 */
input[type=checkbox] { accent-color: var(--gold); }
input[type=radio] { accent-color: var(--gold); }

/* 선택된 상품 레이블 */
.pclbl.selected {
  border-color: var(--gold);
  background: #fffbeb;
}

/* 반응형 개선 */
@media(max-width:480px){
  .hero h1 { font-size: 1.75rem; }
  .hero-btns { gap: .6rem; }
  .btn-w, .btn-o { padding: .65rem 1.2rem; font-size: .88rem; }
  .trust { gap: 1rem; padding: .85rem 1rem; }
  .ti { font-size: .75rem; }
}


/* ── 장례 절차 섹션 ── */
.proc-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1.1rem;
  max-width:760px;
  margin:0 auto;
}
.proc-card{
  background:#fff;
  border:1.5px solid var(--g200);
  border-radius:16px;
  padding:1.3rem 1.1rem;
  display:flex;
  align-items:flex-start;
  gap:1rem;
  transition:all .28s ease;
  box-shadow:0 2px 10px rgba(12,35,64,.05);
}
.proc-card:hover{
  border-color:var(--gold);
  box-shadow:0 6px 24px rgba(184,144,44,.15);
  transform:translateY(-2px);
}
.proc-icon-wrap{
  width:68px;
  height:68px;
  flex-shrink:0;
  background:linear-gradient(135deg,#eff6ff,#dbeafe);
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  color:var(--blue);
}
.proc-svg{width:36px;height:36px;}
.proc-num{
  position:absolute;
  top:-7px;right:-7px;
  width:22px;height:22px;
  background:var(--navy);
  color:#fff;
  border-radius:50%;
  font-size:.62rem;
  font-weight:800;
  display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;
  letter-spacing:0;
}
.proc-body{flex:1;}
.proc-step-label{
  font-size:.65rem;
  font-weight:700;
  color:var(--gold);
  letter-spacing:.1em;
  margin-bottom:.28rem;
}
.proc-title{
  font-size:1.05rem;
  font-weight:800;
  color:var(--navy);
  line-height:1.3;
  margin-bottom:.35rem;
}
.proc-title em{
  color:var(--blue);
  font-style:normal;
}
.proc-desc{
  font-size:.78rem;
  color:var(--g500);
  line-height:1.75;
}
@media(max-width:520px){
  .proc-grid{grid-template-columns:1fr;}
  .proc-card{padding:1rem;}
}


/* ══ 디자인 고도화 CSS ══ */

/* 히어로 텍스트 쉐도우 */
.hero h1 { text-shadow: 0 2px 12px rgba(0,0,0,.25); }

/* sec-label 개선 */
.sec-label {
  display:inline-block;
  background:linear-gradient(135deg,var(--gold),var(--gold-lt));
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.18em;
  padding:.25rem .85rem;
  border-radius:20px;
  margin-bottom:.75rem;
}

/* sec-title 개선 */
.sec-title {
  font-family:'Nanum Myeongjo',serif;
  font-size:1.75rem;
  font-weight:800;
  color:var(--navy);
  text-align:center;
  margin-bottom:.5rem;
  line-height:1.3;
}

/* 상품 카드 개선 */
.pcard {
  transition:all .3s cubic-bezier(.34,1.56,.64,1);
}
.pcard.sel {
  box-shadow:0 12px 36px rgba(184,144,44,.2);
}

/* 특징 카드 개선 */
.feat-item {
  border-radius:16px;
  transition:all .3s ease;
}
.feat-item:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(12,35,64,.1);
}

/* 절차 카드 연결선 (데스크톱) */
@media(min-width:520px){
  .proc-grid { position:relative; }
}

/* 후기 카드 개선 */
.rev-card {
  border-radius:14px;
  border:1.5px solid var(--g200);
  transition:all .28s;
}
.rev-card:hover {
  border-color:var(--gold);
  box-shadow:0 6px 20px rgba(184,144,44,.12);
}

/* 스크롤 부드럽게 */
html { scroll-behavior:smooth; }

/* 푸터 링크 */
.footer-links a {
  color:rgba(255,255,255,.6);
  text-decoration:none;
  font-size:.8rem;
  transition:color .2s;
}
.footer-links a:hover { color:var(--gold-lt); }

/* 관리자 패널 */
.atab { transition:all .2s; }

/* 로딩 애니메이션 개선 */
@keyframes pop {
  0%   { transform:scale(.92); opacity:0; }
  60%  { transform:scale(1.02); }
  100% { transform:scale(1);  opacity:1; }
}

/* 모바일 최적화 */
@media(max-width:360px){
  .hero h1 { font-size:1.55rem; }
  .sec-title { font-size:1.45rem; }
}


/* ── 장례절차 7단계 ── */
.proc7-list { display:flex; flex-direction:column; gap:0; max-width:720px; margin:0 auto; }
.proc7-item {
  display:flex; align-items:center; gap:1rem;
  background:#fff; border:1.5px solid var(--g200); border-radius:14px;
  padding:1rem 1.1rem; box-shadow:0 2px 10px rgba(12,35,64,.05);
  transition:all .28s ease;
}
.proc7-item:hover { border-color:var(--gold); box-shadow:0 6px 20px rgba(184,144,44,.12); transform:translateX(4px); }
.proc7-num {
  width:32px; height:32px; border-radius:50%;
  background:var(--navy); color:#fff;
  font-size:.88rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.proc7-icon {
  width:56px; height:56px; border-radius:14px; flex-shrink:0;
  background:linear-gradient(135deg,#f5f0e8,#ede8df);
  display:flex; align-items:center; justify-content:center;
}
.proc7-body { flex:1; min-width:0; }
.proc7-title {
  font-size:.92rem; font-weight:800; color:var(--navy);
  margin-bottom:.3rem; line-height:1.3;
}
.proc7-bullets {
  list-style:none; padding:0; margin:0;
  font-size:.76rem; color:var(--g500); line-height:1.9;
}
.proc7-bullets li::before { content:"• "; color:var(--gold); font-weight:700; }
.proc7-illust { flex-shrink:0; }
.proc7-connector { display:flex; justify-content:center; padding:.1rem 0; }
.proc7-line {
  width:2px; height:20px;
  background:linear-gradient(to bottom,var(--navy),var(--gold));
  border-radius:2px;
}
.proc7-footer {
  display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center;
  margin-top:2rem; background:var(--navy); border-radius:14px;
  padding:1.1rem; box-shadow:0 4px 16px rgba(12,35,64,.15);
}
.proc7-feat {
  display:flex; flex-direction:column; align-items:center;
  gap:.2rem; color:#fff; min-width:110px;
}
.proc7-feat span { font-size:1.3rem; }
.proc7-feat strong { font-size:.8rem; font-weight:700; }
.proc7-feat small { font-size:.68rem; opacity:.7; }
@media(max-width:560px){
  .proc7-item { flex-wrap:wrap; gap:.7rem; }
  .proc7-illust { display:none; }
  .proc7-item:hover { transform:none; }
}


/* 히어로 핵심 지표 */
.hero-stats{
  display:flex;align-items:center;justify-content:center;gap:1.3rem;
  margin-top:2.2rem;flex-wrap:wrap;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(232,208,128,.25);
  border-radius:16px;padding:1rem 1.75rem;
  max-width:640px;margin-left:auto;margin-right:auto;
  backdrop-filter:blur(4px);
}
.hs-item{text-align:center;min-width:82px;}
.hs-num{font-size:1.25rem;font-weight:800;color:#e8d080;font-family:'Nanum Myeongjo',serif;}
.hs-lbl{font-size:.68rem;color:rgba(255,255,255,.75);margin-top:.15rem;letter-spacing:.02em;}
.hs-divider{width:1px;height:32px;background:rgba(255,255,255,.18);}
@media(max-width:560px){
  .hero-stats{gap:.8rem;padding:.85rem 1rem;}
  .hs-divider{display:none;}
  .hs-item{min-width:70px;}
  .hs-num{font-size:1.05rem;}
}
/* 히어로 버튼 개선 */
.btn-w{
  background:linear-gradient(135deg,#e8d080,#c8a040)!important;
  color:var(--navy)!important;font-weight:800!important;
  box-shadow:0 4px 20px rgba(232,208,128,.35)!important;
  border:none!important;
}
.btn-w:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(232,208,128,.45)!important;}


/* 가입 혜택 3종 */
.reg-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;
  max-width:560px;margin:0 auto 1.75rem;
}
.rb-item{
  background:#fff;border:1.5px solid var(--g200);border-radius:13px;
  padding:1rem .6rem;text-align:center;
  transition:all .25s;
}
.rb-item:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(184,144,44,.14);transform:translateY(-2px);}
.rb-icon{font-size:1.5rem;margin-bottom:.35rem;}
.rb-title{font-size:.82rem;font-weight:800;color:var(--navy);margin-bottom:.15rem;}
.rb-desc{font-size:.7rem;color:var(--g500);}
@media(max-width:480px){
  .reg-benefits{gap:.5rem;}
  .rb-item{padding:.75rem .4rem;}
  .rb-icon{font-size:1.2rem;}
  .rb-title{font-size:.72rem;}
  .rb-desc{font-size:.62rem;}
}


/* ═══════════════════════════════════════════
   2026 모던 트렌드 리디자인 오버레이
   ═══════════════════════════════════════════ */

/* ── 폰트: 더 큰 대비, 넉넉한 자간 ── */
body{ -webkit-font-smoothing:antialiased; letter-spacing:-.01em; }

/* ── 글래스모피즘 스티키 네비 ── */
nav{
  background:rgba(12,35,64,.72)!important;
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid rgba(232,208,128,.18)!important;
  box-shadow:0 4px 24px rgba(12,35,64,.08)!important;
}

/* ── 섹션 여백 확대 (숨쉬는 레이아웃) ── */
.sec{ padding-top:5.5rem!important; padding-bottom:5.5rem!important; }
.sec-inner{ padding-left:1.25rem; padding-right:1.25rem; }

/* ── 타이포그래피 임팩트 ── */
.sec-title{
  font-size:2.1rem!important;
  letter-spacing:-.02em!important;
}
.hero h1{
  font-size:3rem!important;
  letter-spacing:-.02em!important;
  line-height:1.22!important;
}
@media(max-width:640px){
  .sec-title{ font-size:1.6rem!important; }
  .hero h1{ font-size:2.05rem!important; }
}

/* ── 라운드 대형화 + 소프트 섀도우 (부드러운 입체감) ── */
.pcard, .feat-item, .rev-card, .proc7-item, .rb-item, .form-card,
.reg-box, .modal, .proc-card{
  border-radius:22px!important;
  box-shadow:0 4px 24px rgba(12,35,64,.06), 0 1px 3px rgba(12,35,64,.04)!important;
}
.pcard:hover, .feat-item:hover, .rev-card:hover, .rb-item:hover, .proc-card:hover{
  box-shadow:0 16px 44px rgba(184,144,44,.16), 0 4px 12px rgba(12,35,64,.08)!important;
  transform:translateY(-6px)!important;
}

/* ── 버튼: 필 형태 + 미묘한 그라디언트 + 호버 리프트 ── */
.btn-w,.btn-o,.sbtn,.psel-btn,.coupon-btn,.f-btn,.save-btn,.pay-btn,
button[onclick*="submit"],.abtn{
  border-radius:14px!important;
  transition:all .22s cubic-bezier(.34,1.56,.64,1)!important;
}
.btn-w:hover,.btn-o:hover,.sbtn:hover,.psel-btn:hover{
  transform:translateY(-3px) scale(1.015)!important;
}

/* ── 히어로 배지 필 형태 강화 ── */
.hero-badge{
  border-radius:50px!important;
  backdrop-filter:blur(6px);
  box-shadow:0 4px 20px rgba(0,0,0,.15);
}

/* ── 트러스트 스트립 카드형으로 ── */
.trust{
  border-radius:18px;
  margin:0 1.25rem;
  box-shadow:0 4px 20px rgba(12,35,64,.05);
}

/* ── 이미지/일러스트 라운드 통일 ── */
img{ border-radius:inherit; }

/* ── 스크롤 리빌 애니메이션 대상 ── */
.reveal-up{
  opacity:0; transform:translateY(28px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
}
.reveal-up.in{ opacity:1; transform:translateY(0); }

/* ── 포커스 접근성: 큰 탭 타겟 (모바일 친화) ── */
button, a, input, textarea, select{ min-height:2.5rem; }
input[type=checkbox], input[type=radio]{ min-height:auto; width:18px;height:18px; }

/* ── 섹션 구분 은은한 그라디언트 라인 ── */
.sec + .sec::before{
  content:'';
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(184,144,44,.25),transparent);
  max-width:200px;margin:0 auto;
}

/* ── 상품 카드 선택 시 은은한 글로우 ── */
.pcard.sel{
  box-shadow:0 0 0 3px rgba(184,144,44,.25), 0 16px 44px rgba(184,144,44,.2)!important;
}

/* ── 스크롤바 얇고 골드 ── */
::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-thumb{ background:linear-gradient(180deg,#b8902c,#8a6820); border-radius:8px; }
::-webkit-scrollbar-track{ background:var(--g100); }

/* ── 셀렉션 컬러 ── */
::selection{ background:rgba(184,144,44,.28); color:var(--navy); }


/* ── 대형 전화 CTA 버튼 (항상 강조) ── */
.hero-call-btn{
  display:flex;align-items:center;gap:1rem;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;text-decoration:none;
  padding:1.1rem 1.6rem;
  border-radius:20px;
  max-width:420px;margin:2rem auto 0;
  box-shadow:0 8px 32px rgba(34,197,94,.4);
  position:relative;
  animation:pulseGlow 2.4s ease-in-out infinite;
}
@keyframes pulseGlow{
  0%,100%{ box-shadow:0 8px 32px rgba(34,197,94,.4); }
  50%{ box-shadow:0 8px 40px rgba(34,197,94,.65); }
}
.hcb-icon{
  font-size:2rem;flex-shrink:0;
  width:52px;height:52px;
  background:rgba(255,255,255,.2);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.hcb-text{ flex:1;text-align:left; }
.hcb-main{ display:block;font-size:.92rem;font-weight:600;opacity:.92; }
.hcb-num{ display:block;font-size:1.55rem;font-weight:900;letter-spacing:-.01em;font-family:'Nanum Myeongjo',serif; }
.hcb-badge{
  background:rgba(255,255,255,.22);
  font-size:.7rem;font-weight:700;
  padding:.3rem .65rem;border-radius:20px;
  flex-shrink:0;white-space:nowrap;
}
@media(max-width:480px){
  .hero-call-btn{ padding:.9rem 1.1rem;gap:.7rem; }
  .hcb-icon{ width:44px;height:44px;font-size:1.6rem; }
  .hcb-num{ font-size:1.25rem; }
  .hcb-badge{ display:none; }
}

/* ── 신뢰 배지 5개 ── */
.trust-badges{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;
  max-width:600px;margin:1.6rem auto 0;
}
.tb-item{
  display:flex;align-items:center;gap:.4rem;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(232,208,128,.3);
  color:#fff;font-size:.8rem;font-weight:600;
  padding:.45rem .9rem;border-radius:50px;
  backdrop-filter:blur(4px);
}
.tb-ic{ color:#4ade80;font-weight:900; }
@media(max-width:480px){
  .tb-item{ font-size:.72rem;padding:.38rem .7rem; }
}


/* ── 선택 이유 섹션 ── */
.why-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:1.1rem;max-width:900px;margin:0 auto;
}
.why-item{
  background:var(--warm);border:1.5px solid var(--g200);
  border-radius:20px;padding:1.6rem 1.3rem;text-align:center;position:relative;
  transition:all .3s;
}
.why-item:hover{ border-color:var(--gold);transform:translateY(-5px);box-shadow:0 12px 32px rgba(184,144,44,.14); }
.why-num{
  position:absolute;top:1rem;right:1.1rem;
  font-size:.72rem;font-weight:800;color:var(--g300);
  font-family:'Nanum Myeongjo',serif;
}
.why-ic{ font-size:2rem;margin-bottom:.7rem; }
.why-title{ font-size:.94rem;font-weight:800;color:var(--navy);margin-bottom:.5rem;line-height:1.4; }
.why-desc{ font-size:.78rem;color:var(--g500);line-height:1.75; }


.price-trust{
  display:flex;align-items:center;gap:1rem;
  background:linear-gradient(135deg,#f0fdf4,#dcfce7);
  border:1.5px solid #86efac;border-radius:16px;
  padding:1.1rem 1.4rem;margin-top:1rem;
}
.pt-ic{ font-size:1.8rem;flex-shrink:0; }
.pt-text strong{ display:block;color:#065f46;font-size:.88rem;font-weight:800;margin-bottom:.2rem; }
.pt-text span{ display:block;color:#15803d;font-size:.78rem; }


.rev-quote{
  font-family:'Nanum Myeongjo',serif;
  font-size:3.5rem;font-weight:900;
  color:var(--gold);opacity:.25;
  line-height:1;margin-bottom:-.6rem;
}





/* ── 현장 사진 갤러리 ── */
.staff-photo-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.2rem;max-width:640px;margin:0 auto;
}
.staff-photo-card{
  border-radius:20px;overflow:hidden;
  box-shadow:0 8px 28px rgba(12,35,64,.12);
  position:relative;background:#000;
}
.staff-photo-card img{
  width:100%;height:340px;object-fit:cover;display:block;
  transition:transform .4s ease;
}
.staff-photo-card:hover img{ transform:scale(1.04); }
.spc-caption{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(to top,rgba(0,0,0,.75),transparent);
  color:#fff;font-size:.8rem;font-weight:600;
  padding:1.6rem 1rem .8rem;
}


/* ── 현장사진 관리 (관리자) ── */
.ph-add-box{ background:var(--warm);border:1.5px solid var(--g200);border-radius:12px;padding:1.2rem; }
.ph-add-row{ display:flex;gap:1rem;align-items:stretch;flex-wrap:wrap; }
.ph-upload-wrap{
  width:140px;height:140px;border:2px dashed var(--g300);border-radius:10px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  flex-shrink:0;overflow:hidden;background:#fff;transition:all .2s;
}
.ph-upload-wrap:hover{ border-color:var(--gold); }
.ph-upload-wrap img{ width:100%;height:100%;object-fit:cover; }
#phUploadPlaceholder{ text-align:center;font-size:1.6rem;color:var(--g400);line-height:1.6; }
#phUploadPlaceholder span{ display:block;font-size:.68rem;margin-top:.2rem; }
.ph-manage-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:1rem;margin-top:1rem;
}
.ph-manage-item{
  background:#fff;border:1.5px solid var(--g200);border-radius:10px;overflow:hidden;
}
.ph-manage-item img{ width:100%;height:110px;object-fit:cover;display:block; }
.ph-manage-cap{ font-size:.72rem;color:var(--g700);padding:.5rem .6rem;line-height:1.4;min-height:2.2em; }
.ph-manage-btns{ display:flex;border-top:1px solid var(--g100); }
.ph-manage-btns button{
  flex:1;background:none;border:none;padding:.45rem 0;cursor:pointer;font-size:.85rem;color:var(--g500);
}
.ph-manage-btns button:hover{ background:var(--g50); }

/* ── 후기 슬라이드 개선: 도트 인디케이터 + 스와이프 ── */
.rev-wrapper{ position:relative;touch-action:pan-y; }
.rev-dots{ display:flex;justify-content:center;gap:.4rem;margin-top:1rem; }
.rev-dot{
  width:8px;height:8px;border-radius:50%;background:var(--g300);cursor:pointer;transition:all .25s;
}
.rev-dot.on{ background:var(--gold);width:22px;border-radius:5px; }


/* ── 선택 이유 카드 확장 (제목+태그+본문) ── */
.why-item{ text-align:left; }
.why-tag{
  font-size:.68rem;font-weight:800;color:var(--gold);
  letter-spacing:.04em;margin-bottom:.35rem;
}
.why-title{
  font-size:1rem;font-weight:800;color:var(--navy);
  margin-bottom:.55rem;line-height:1.4;
}
.why-desc{ font-size:.8rem;color:var(--g500);line-height:1.85; }

/* ── 선택 이유 하단 배너 ── */
.why-banner{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:linear-gradient(135deg,var(--navy),#1a4a7a);
  border-radius:18px;padding:1.2rem 1.6rem;
  margin-top:2.2rem;flex-wrap:wrap;
}
.wb-text strong{ display:block;color:#fff;font-size:.92rem;font-weight:800;margin-bottom:.25rem; }
.wb-text span{ display:block;color:rgba(255,255,255,.7);font-size:.78rem; }
.wb-call{
  display:inline-flex;align-items:center;gap:.4rem;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;text-decoration:none;font-weight:800;font-size:.98rem;
  padding:.7rem 1.4rem;border-radius:50px;white-space:nowrap;
  box-shadow:0 4px 16px rgba(34,197,94,.35);
  font-family:'Nanum Myeongjo',serif;
}
@media(max-width:520px){
  .why-banner{ flex-direction:column;text-align:center; }
  .wb-call{ width:100%;justify-content:center; }
}


/* ── 공감 체크리스트 섹션 ── */
.ec-list{ display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.6rem; }
.ec-item{
  display:flex;align-items:flex-start;gap:.7rem;
  background:rgba(255,255,255,.06);border:1px solid rgba(232,208,128,.2);
  border-radius:12px;padding:.85rem 1.1rem;
}
.ec-check{
  flex-shrink:0;color:#4ade80;font-weight:900;font-size:1rem;line-height:1.4;
}
.ec-item span:last-child{ color:rgba(255,255,255,.88);font-size:.88rem;line-height:1.5; }
.ec-arrow{ text-align:center;color:var(--gold-lt);font-size:1.6rem;margin-bottom:1.4rem; }
.ec-answer{
  background:linear-gradient(135deg,#e8d080,#c8a040);
  border-radius:16px;padding:1.3rem 1.5rem;text-align:center;
  box-shadow:0 8px 28px rgba(232,208,128,.25);
}
.ec-answer strong{ display:block;color:var(--navy);font-size:1.05rem;font-weight:900;margin-bottom:.35rem; }
.ec-answer span{ display:block;color:#3d2f0f;font-size:.85rem;font-weight:600; }


/* ── 후기 섹션 상단 태그라인 ── */
.rev-topline{
  text-align:center;color:var(--gold);font-size:.85rem;font-weight:700;
  font-style:italic;margin-bottom:1rem;
}
.rev-title{ font-size:1.02rem;font-weight:800;color:var(--navy);margin-bottom:.5rem;line-height:1.4; }

/* ── 이런 분들이 많이 찾아주셨습니다 ── */
.rev-whofor{
  margin-top:3rem;background:var(--warm);border-radius:18px;
  padding:1.8rem 1.5rem;text-align:center;
}
.rwf-title{ font-size:1.02rem;font-weight:800;color:var(--navy);margin-bottom:1.1rem; }
.rwf-list{ display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem; }
.rwf-item{
  display:flex;align-items:center;gap:.4rem;
  background:#fff;border:1.5px solid var(--g200);
  padding:.55rem 1rem;border-radius:50px;font-size:.82rem;color:var(--g700);
}
.rwf-item span{ color:var(--gold);font-weight:900; }

/* ── 후기 하단 CTA ── */
.rev-cta{
  margin-top:1.5rem;text-align:center;
  background:linear-gradient(150deg,#0c2340,#1a5296);
  border-radius:18px;padding:2.2rem 1.5rem;
}
.rc-big{ color:#fff;font-size:1.15rem;font-weight:800;font-family:'Nanum Myeongjo',serif;margin-bottom:.5rem;line-height:1.5; }
.rc-small{ color:rgba(255,255,255,.7);font-size:.85rem;margin-bottom:1.3rem; }
.rc-call{
  display:inline-flex;align-items:center;gap:.6rem;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  color:#fff;text-decoration:none;font-weight:900;font-size:1.15rem;
  padding:.85rem 1.8rem;border-radius:50px;
  box-shadow:0 6px 24px rgba(34,197,94,.4);
  font-family:'Nanum Myeongjo',serif;
}
.rc-call span{ font-size:.72rem;font-weight:700;background:rgba(255,255,255,.22);padding:.25rem .6rem;border-radius:20px;font-family:'Noto Sans KR',sans-serif; }
@media(max-width:480px){
  .rc-call{ flex-direction:column;gap:.4rem;font-size:1rem; }
}


/* ── 실제 진행 사례 ── */
.case-card{
  max-width:680px;margin:0 auto;background:#fff;border-radius:22px;
  overflow:hidden;box-shadow:0 8px 32px rgba(12,35,64,.1);
}
.case-head{ background:linear-gradient(135deg,var(--navy),#1a4a7a);padding:1.6rem 1.8rem; }
.case-badge{
  display:inline-block;background:rgba(232,208,128,.2);color:#e8d080;
  font-size:.68rem;font-weight:800;padding:.25rem .8rem;border-radius:20px;
  letter-spacing:.08em;margin-bottom:.5rem;
}
.case-title{ color:#fff;font-family:'Nanum Myeongjo',serif;font-size:1.25rem;font-weight:800; }
.case-info-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid var(--g100);
}
.ci-item{
  padding:1rem .5rem;text-align:center;border-right:1px solid var(--g100);
}
.ci-item:last-child{ border-right:none; }
.ci-lbl{ display:block;font-size:.68rem;color:var(--g400);margin-bottom:.3rem; }
.ci-val{ display:block;font-size:.9rem;font-weight:800;color:var(--navy); }
.case-block{ padding:1.3rem 1.8rem;border-bottom:1px solid var(--g100); }
.cb-lbl{ font-size:.82rem;font-weight:800;color:var(--navy);margin-bottom:.7rem; }
.cb-text{ font-size:.85rem;color:var(--g600);line-height:1.75; }
.case-tags{ display:flex;flex-wrap:wrap;gap:.5rem; }
.case-tags span{
  background:#f0fdf4;color:#065f46;border:1px solid #86efac;
  font-size:.78rem;font-weight:700;padding:.35rem .75rem;border-radius:20px;
}
.case-quote{
  padding:1.5rem 1.8rem;background:var(--warm);position:relative;
}
.cq-mark{
  font-family:'Nanum Myeongjo',serif;font-size:2.4rem;font-weight:900;
  color:var(--gold);opacity:.3;line-height:1;margin-bottom:-.5rem;
}
.cq-text{ font-size:.95rem;color:var(--navy);font-weight:700;line-height:1.7;font-style:italic; }
.cq-by{ font-size:.75rem;color:var(--g400);margin-top:.5rem; }
.case-photo-section{ padding:1.3rem 1.8rem 1.6rem; }
.case-photo-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));
  gap:.7rem;margin-top:.8rem;
}
.case-photo-item{ border-radius:10px;overflow:hidden;position:relative;box-shadow:0 2px 10px rgba(0,0,0,.1); }
.case-photo-item img{ width:100%;height:110px;object-fit:cover;display:block; }
.cpi-comment{
  background:rgba(0,0,0,.65);color:#fff;font-size:.66rem;
  padding:.35rem .5rem;line-height:1.35;
}

/* ── 관리자: 진행 사례 사진 관리 ── */
.cph-manage-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:1rem;margin-top:1rem;
}
.cph-manage-item{ background:#fff;border:1.5px solid var(--g200);border-radius:10px;overflow:hidden; }
.cph-manage-item img{ width:100%;height:100px;object-fit:cover;display:block; }
.cph-manage-cap{ font-size:.72rem;color:var(--g700);padding:.5rem .6rem;line-height:1.4;min-height:2.2em; }
.cph-manage-btns{ display:flex;border-top:1px solid var(--g100); }
.cph-manage-btns button{ flex:1;background:none;border:none;padding:.45rem 0;cursor:pointer;font-size:.85rem;color:var(--g500); }
.cph-manage-btns button:hover{ background:var(--g50); }


/* ── 가족 감사인사 (공개 페이지) ── */
.fthanks-wrap{ margin-top:2rem;padding-top:1.6rem;border-top:1px dashed var(--g200); }
.fthanks-title{ font-family:'Nanum Myeongjo',serif;font-size:1.05rem;font-weight:800;color:var(--navy);margin-bottom:.3rem; }
.fthanks-sub{ font-size:.78rem;color:var(--g400);margin-bottom:1.2rem; }
.fth-card{
  background:var(--warm);border:1.5px solid var(--g200);border-radius:14px;
  padding:1.1rem 1.3rem;margin-bottom:1rem;
}
.fth-head{ display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem; }
.fth-name{ font-size:.88rem;font-weight:800;color:var(--navy); }
.fth-date{ font-size:.72rem;color:var(--g400); }
.fth-msg{ font-size:.85rem;color:var(--g700);line-height:1.7;font-style:italic;margin-bottom:.8rem; }

/* ── 사진 4장씩 한 줄, 작은 사이즈 ── */
.fth-photo-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:.5rem;
}
.fth-photo-item{ position:relative;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08); }
.fth-photo-item img{ width:100%;height:72px;object-fit:cover;display:block; }
.fpi-comment{
  position:absolute;bottom:0;left:0;right:0;
  background:rgba(0,0,0,.6);color:#fff;font-size:.58rem;
  padding:.2rem .3rem;line-height:1.25;
}
@media(max-width:420px){
  .fth-photo-item img{ height:60px; }
}

/* ── 관리자: 드래프트 사진 미리보기 ── */
.fth-draft-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));
  gap:.5rem;margin-top:.6rem;
}
.fth-draft-item{ position:relative;border-radius:8px;overflow:hidden;border:1.5px solid var(--g200); }
.fth-draft-item img{ width:100%;height:70px;object-fit:cover;display:block; }
.fth-draft-item button{
  position:absolute;top:2px;right:2px;background:rgba(220,38,38,.85);color:#fff;
  border:none;border-radius:50%;width:18px;height:18px;font-size:.65rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.fdi-comment{
  background:rgba(0,0,0,.6);color:#fff;font-size:.58rem;padding:.15rem .3rem;
  position:absolute;bottom:0;left:0;right:0;line-height:1.2;
}

/* ── 관리자: 등록된 사례 목록 행 ── */
.fth-admin-row{
  display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;
  background:#fff;border:1.5px solid var(--g200);border-radius:10px;
  padding:.9rem 1.1rem;margin-bottom:.7rem;
}
.fth-admin-info strong{ display:block;font-size:.88rem;color:var(--navy);margin-bottom:.2rem; }
.fth-admin-info span{ display:block;font-size:.72rem;color:var(--g400);margin-bottom:.3rem; }
.fth-admin-info p{ font-size:.8rem;color:var(--g600);line-height:1.6; }


/* ── 추모 앨범 (공개 페이지) ── */
.fc-search-wrap{ max-width:420px;margin:0 auto 1.8rem; }
.fc-search-wrap input{
  width:100%;padding:.75rem 1.1rem;border:1.5px solid var(--g300);border-radius:50px;
  font-size:.86rem;font-family:inherit;outline:none;text-align:center;
}
.fc-search-wrap input:focus{ border-color:var(--gold); }

.fc-folder-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:1.2rem;max-width:900px;margin:0 auto;
}
.fc-folder-card{
  background:#fff;border:1.5px solid var(--g200);border-radius:16px;overflow:hidden;
  cursor:pointer;transition:all .28s;box-shadow:0 2px 12px rgba(12,35,64,.06);
}
.fc-folder-card:hover{ border-color:var(--gold);transform:translateY(-4px);box-shadow:0 12px 28px rgba(184,144,44,.15); }
.fc-folder-cover{ width:100%;height:160px;background:var(--g100); }
.fc-folder-cover img{ width:100%;height:100%;object-fit:cover;display:block; }
.fc-folder-noimg{ display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:var(--g300); }
.fc-folder-body{ padding:1rem 1.1rem; }
.fc-folder-name{ font-size:.92rem;font-weight:800;color:var(--navy);margin-bottom:.2rem; }
.fc-folder-hall{ font-size:.72rem;color:var(--g400);margin-bottom:.5rem; }
.fc-folder-msg{
  font-size:.78rem;color:var(--g600);line-height:1.6;font-style:italic;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

/* ── 진행 앨범 상세 모달 ── */
#fcDetailBody h3{ font-family:'Nanum Myeongjo',serif;font-size:1.2rem;font-weight:800;color:var(--navy);margin-bottom:.3rem; }
.fc-detail-msg{
  background:var(--warm);border-radius:10px;padding:.9rem 1.1rem;
  font-size:.85rem;color:var(--navy);font-style:italic;line-height:1.7;margin-bottom:1.2rem;
}
.fc-detail-photo-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;
}
.fc-detail-photo-item{ position:relative;border-radius:8px;overflow:hidden; }
.fc-detail-photo-item img{ width:100%;height:80px;object-fit:cover;display:block; }
.fdpi-comment{
  position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.62);
  color:#fff;font-size:.6rem;padding:.22rem .3rem;line-height:1.3;
}

/* ── 관리자: 앨범 등록 폼 ── */
.fc-form-grid{ display:grid;grid-template-columns:1fr 1fr;gap:.85rem; }
.fc-lbl{ font-size:.8rem;font-weight:700;color:var(--g700);display:block;margin-bottom:.3rem; }
.fc-form-grid input, #fcMsg{
  width:100%;padding:.6rem .85rem;border:1.5px solid var(--g300);border-radius:8px;
  font-size:.85rem;font-family:inherit;outline:none;
}
#fcMsg{ resize:vertical;min-height:70px; }
.fc-draft-add-btn{
  padding:.5rem;border:1.5px solid var(--gold);border-radius:8px;background:#fffbeb;
  color:var(--gold);font-weight:700;font-size:.8rem;cursor:pointer;
}
.fc-draft-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));
  gap:.5rem;margin-top:.7rem;
}
.fc-draft-item{ position:relative;border-radius:8px;overflow:hidden;border:1.5px solid var(--g200); }
.fc-draft-item img{ width:100%;height:70px;object-fit:cover;display:block; }
.fc-draft-item button{
  position:absolute;top:2px;right:2px;background:rgba(220,38,38,.85);color:#fff;
  border:none;border-radius:50%;width:18px;height:18px;font-size:.65rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.fc-cover-badge{
  position:absolute;top:2px;left:2px;background:var(--gold);color:#fff;
  font-size:.56rem;font-weight:800;padding:.1rem .35rem;border-radius:4px;z-index:1;
}
.fdi-comment{
  background:rgba(0,0,0,.6);color:#fff;font-size:.58rem;padding:.15rem .3rem;
  position:absolute;bottom:0;left:0;right:0;line-height:1.2;
}

/* 옛 fth 관련 잔여 스타일과 공통되는 admin row는 재사용 */





/* ── 네비 드롭다운 ── */
.nav-dropdown{ position:relative;display:inline-block; }
.nav-dd-trigger{ cursor:pointer; }
.nav-dd-arrow{ font-size:.65rem;margin-left:.15rem; }
.nav-dd-menu{
  position:absolute;top:calc(100% + .5rem);left:50%;transform:translateX(-50%) translateY(-6px);
  background:#fff;border-radius:14px;padding:.5rem;min-width:200px;
  box-shadow:0 12px 40px rgba(12,35,64,.18);
  opacity:0;visibility:hidden;transition:all .22s;z-index:200;
  border:1px solid var(--g200);
}
.nav-dropdown:hover .nav-dd-menu{ opacity:1;visibility:visible;transform:translateX(-50%) translateY(0); }
.nav-dd-menu a{
  display:block;padding:.55rem .85rem;font-size:.82rem;color:var(--g700)!important;
  border-radius:8px;text-decoration:none;white-space:nowrap;transition:all .15s;
}
.nav-dd-menu a:hover{ background:var(--warm);color:var(--navy)!important; }
@media(max-width:900px){
  .nav-dd-menu{ position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;
    display:none;min-width:auto;background:rgba(255,255,255,.06);margin-top:.3rem; }
  .nav-dropdown:hover .nav-dd-menu{ transform:none; }
}

/* ── 장례정보센터 그리드 ── */
.info-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:1rem;max-width:900px;margin:0 auto;
}
.info-card{
  background:var(--warm);border:1.5px solid var(--g200);border-radius:16px;
  padding:1.3rem 1.1rem;cursor:pointer;transition:all .28s;text-align:center;
}
.info-card:hover{ border-color:var(--gold);transform:translateY(-4px);box-shadow:0 10px 28px rgba(184,144,44,.15); }
.ic-icon{ font-size:1.8rem;margin-bottom:.6rem; }
.ic-title{ font-size:.88rem;font-weight:800;color:var(--navy);margin-bottom:.35rem;line-height:1.35; }
.ic-desc{ font-size:.72rem;color:var(--g500);line-height:1.6; }

/* ── 정보 상세 모달 ── */
.info-modal{ max-width:680px;max-height:88vh;overflow-y:auto;text-align:left; }
.info-modal-title{
  font-family:'Nanum Myeongjo',serif;font-size:1.4rem;font-weight:800;
  color:var(--navy);margin-bottom:.7rem;line-height:1.4;
}
.info-modal-lead{
  font-size:.85rem;color:var(--g600);line-height:1.85;
  background:var(--warm);border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.5rem;
}
.info-sec-h{
  font-size:1rem;font-weight:800;color:var(--navy);
  margin:1.8rem 0 .8rem;padding-bottom:.4rem;border-bottom:2px solid var(--gold);
}
.info-steps{ display:flex;flex-direction:column;gap:.8rem; }
.info-step{ display:flex;gap:.8rem;align-items:flex-start; }
.is-num{
  flex-shrink:0;width:30px;height:30px;border-radius:50%;
  background:var(--navy);color:#fff;font-size:.85rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.is-title{ font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.25rem; }
.is-desc{ font-size:.8rem;color:var(--g500);line-height:1.75; }
.info-cards{ display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem; }
.info-mini-card{
  background:var(--warm);border-radius:12px;padding:1rem 1.1rem;
}
.info-mini-card strong{ display:block;font-size:.85rem;color:var(--navy);margin-bottom:.35rem; }
.info-mini-card span{ font-size:.78rem;color:var(--g500);line-height:1.7; }
.info-flow{ display:flex;flex-direction:column;align-items:center;gap:.2rem; }
.if-item{
  display:flex;align-items:center;gap:.6rem;
  background:#fff;border:1.5px solid var(--g200);border-radius:10px;
  padding:.6rem 1.2rem;width:100%;max-width:320px;font-size:.85rem;
  font-weight:700;color:var(--navy);
}
.if-num{
  width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fff;
  font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.if-arrow{ color:var(--gold);font-size:1.1rem;line-height:1; }
.info-checks{ display:flex;flex-direction:column;gap:.5rem; }
.info-check{
  display:flex;align-items:center;gap:.6rem;cursor:pointer;
  background:var(--warm);border-radius:10px;padding:.65rem 1rem;font-size:.85rem;color:var(--g700);
  transition:all .2s;
}
.info-check:hover{ background:var(--warm2); }
.info-check input{ width:17px;height:17px;accent-color:var(--gold); }
.info-check input:checked + span{ text-decoration:line-through;color:var(--g400); }
.info-tags{ display:flex;flex-wrap:wrap;gap:.5rem; }
.info-tags span{
  background:#f0fdf4;color:#065f46;border:1px solid #86efac;
  font-size:.78rem;font-weight:600;padding:.35rem .8rem;border-radius:20px;
}
.info-text{ font-size:.85rem;color:var(--g600);line-height:1.85; }
.info-qas{ display:flex;flex-direction:column;gap:.8rem; }
.info-qa{ background:var(--warm);border-radius:12px;padding:1rem 1.2rem; }
.iq-q{ font-size:.85rem;font-weight:800;color:var(--navy);margin-bottom:.4rem; }
.iq-a{ font-size:.8rem;color:var(--g600);line-height:1.75; }
.info-cta{
  margin-top:2rem;background:linear-gradient(150deg,#0c2340,#1a5296);
  border-radius:16px;padding:1.8rem 1.4rem;text-align:center;
}
.info-cta p{ color:#fff;font-size:.95rem;font-weight:700;line-height:1.7;margin-bottom:1.1rem; }
.info-cta-btn{
  display:inline-flex;align-items:center;gap:.5rem;
  background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;text-decoration:none;
  font-weight:900;font-size:1.1rem;padding:.8rem 1.6rem;border-radius:50px;
  font-family:'Nanum Myeongjo',serif;box-shadow:0 6px 20px rgba(34,197,94,.35);
}
.info-cta-btn span{
  font-size:.68rem;font-weight:700;background:rgba(255,255,255,.22);
  padding:.22rem .55rem;border-radius:20px;font-family:'Noto Sans KR',sans-serif;
}


/* ── 정보 모달 내 아코디언 ── */
.info-accordion{ display:flex;flex-direction:column;gap:.6rem; }
.ia-item{
  background:#fff;border:1.5px solid var(--g200);border-radius:14px;
  overflow:hidden;transition:all .25s;
}
.ia-item.open{ border-color:var(--gold);box-shadow:0 6px 20px rgba(184,144,44,.12); }
.ia-q{
  display:flex;align-items:center;justify-content:space-between;gap:.8rem;
  padding:1rem 1.2rem;cursor:pointer;
}
.ia-title{ font-size:.92rem;font-weight:700;color:var(--navy);line-height:1.4; }
.ia-arrow{ color:var(--g400);transition:transform .25s;flex-shrink:0;font-size:.85rem; }
.ia-item.open .ia-arrow{ transform:rotate(180deg);color:var(--gold); }
.ia-a{ max-height:0;overflow:hidden;transition:max-height .32s ease; }
.ia-item.open .ia-a{ max-height:420px; }
.ia-a-inner{
  padding:0 1.2rem 1.2rem;
  font-size:.83rem;color:var(--g600);line-height:1.9;
}


/* ── 추모 앨범: 사진 없을 때 대체 표시 ── */
.fc-folder-noimg{
  background:linear-gradient(135deg,var(--warm),var(--warm2))!important;
  display:flex;align-items:center;justify-content:center;
}
.fcn-flower{
  font-size:2.6rem;color:var(--gold);opacity:.45;line-height:1;
}
