.dch[hidden], .dch [hidden] { display:none!important; }
body.dch-open { overflow:hidden; }
.dch { position:fixed; inset:0; z-index:999999; font-family:inherit; color:#173b34; }
.dch__backdrop { position:absolute; inset:0; background:rgba(11,32,27,.64); }
.dch__dialog { position:absolute; display:block; min-height:0; height:auto; top:50%; left:50%; transform:translate(-50%,-50%); width:min(94vw,520px); max-height:min(92vh,820px); overflow:auto; border-radius:20px; background:#fffdf8; box-shadow:0 24px 80px rgba(5,25,20,.28); padding:34px; outline:none; }
.dch__close { position:absolute; top:14px; right:16px; border:0; background:transparent; color:#173b34; font-size:32px; line-height:1; cursor:pointer; padding:7px 11px; }
.dch__close:focus-visible,.dch a:focus-visible,.dch button:focus-visible,.dch input:focus-visible,.dch textarea:focus-visible,.dch h2:focus-visible { outline:3px solid #bd9558; outline-offset:3px; }
.dch__brand { display:block; line-height:1.2; padding-right:44px; }
.dch__logo { position:relative; width:250px; max-width:100%; height:95px; overflow:hidden; }
.dch__logo img { position:absolute; top:50%; left:50%; display:block; width:280px; max-width:none; height:280px; object-fit:cover; transform:translate(-50%,-50%); mix-blend-mode:multiply; }
.dch__brand span { display:block; color:#718a78; font-size:10px; font-weight:700; letter-spacing:.22em; margin-top:1px; }
.dch__progress { display:block; min-height:0; height:4px; border-radius:4px; background:#e8eee8; margin:26px 0; }
.dch__progress span { display:block; width:20%; height:100%; background:#b99a65; border-radius:4px; }
.dch__eyebrow { margin:0 0 8px; color:#547864; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.dch h2 { font-size:clamp(27px,4vw,36px); letter-spacing:-.03em; line-height:1.12; margin:0 0 11px; color:#173b34; }
.dch p { line-height:1.5; }
#dch-intro { margin:0 0 20px; color:#486058; }
.dch__context { background:#edf5ee; border-left:3px solid #b99a65; padding:10px 13px; border-radius:4px; font-size:14px; }
.dch__step-intro { margin:0 0 20px; color:#486058; }
.dch__choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:19px 0 23px; }
.dch__choices--multiple { grid-template-columns:1fr; }
.dch__choice { display:flex; align-items:center; gap:10px; padding:13px; border:1px solid #bdcbc2; border-radius:9px; background:#fff; color:#173b34; cursor:pointer; font-size:14px; line-height:1.35; }
.dch__choice:has(input:checked) { border-color:#174d40; background:#edf5ee; }
.dch__choice input { flex:none; width:17px; height:17px; margin:0; accent-color:#174d40; }
.dch__choice:has(input:focus-visible) { outline:3px solid #bd9558; outline-offset:2px; }
.dch__other { margin:-6px 0 22px; }
.dch__other label { display:block; margin:0 0 7px; font-weight:650; font-size:14px; }
.dch textarea { box-sizing:border-box; width:100%; min-height:92px; padding:10px 12px; resize:vertical; border:1px solid #bdcbc2; border-radius:9px; background:#fff; color:#173b34; font:inherit; }
.dch [data-dch-options] > label { display:block; margin:16px 0 6px; font-weight:650; font-size:14px; }
.dch__review { display:grid; gap:10px; margin:19px 0 22px; }
.dch__review>div { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #dce7de; padding-bottom:10px; }
.dch__review dt { color:#547064; }
.dch__review dd { margin:0; font-weight:700; text-align:right; }
.dch__fee { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px; border-radius:12px; background:#eaf2eb; color:#173b34; font-weight:700; }
.dch__fee strong { font-size:28px; white-space:nowrap; }
.dch__policy { margin:17px 0 0; color:#40574d; font-size:13px; }
.dch__status-note { margin:20px 0; border-left:3px solid #b99a65; padding-left:12px; color:#40574d; font-size:13px; }
.dch [data-dch-paid] .dch__submit { margin-top:24px; }
.dch form>label:not(.dch__consent) { display:block; margin:16px 0 6px; font-weight:650; font-size:14px; }
.dch input:not([type=checkbox]):not([type=radio]) { box-sizing:border-box; width:100%; min-height:46px; padding:10px 12px; border:1px solid #bdcbc2; border-radius:9px; background:#fff; color:#173b34; font:inherit; }
.dch__consent { display:flex; align-items:flex-start; gap:10px; margin:22px 0 16px; color:#40574d; font-size:13px; line-height:1.5; }
.dch__consent input { flex:none; width:18px; height:18px; margin:1px 0 0; accent-color:#21594b; }
.dch a { color:#195e50; text-decoration:underline; }
.dch__submit { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:50px; border:0; border-radius:9px; background:#174d40; color:white; padding:12px 18px; font:inherit; font-weight:700; cursor:pointer; }
.dch__submit:hover { background:#0e392f; }
.dch .dch__payment { box-sizing:border-box; color:#fff; text-decoration:none; margin-bottom:10px; }
.dch__payment:hover,.dch__payment:focus-visible { color:#fff; }
.dch__secondary { background:#edf5ee; color:#174d40; margin-bottom:10px; }
.dch__secondary:hover { background:#dceadd; }
.dch__submit:disabled { opacity:.6; cursor:wait; }
.dch__error { color:#8d2525; background:#fff0ee; padding:10px 12px; border-radius:7px; }
.dch__trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media(max-width:600px) { .dch__dialog { top:0; left:0; transform:none; width:100%; max-height:none; height:100dvh; border-radius:0; box-sizing:border-box; padding:26px 22px 34px; } .dch__content { max-width:500px; margin:auto; } .dch__choices { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .dch * { scroll-behavior:auto!important; } }
