.comfort-dialog { width: min(46rem,calc(100% - 2rem)); max-height: 88vh; overflow: auto; background: radial-gradient(ellipse at top,#fff5d6,#e9d5a8); color: #193b58; border: 3px double #a98949; outline: 5px solid #193b58; border-radius: 12px; box-shadow: 0 15px 60px #0008,inset 0 0 35px #9d733326; padding: clamp(1rem,3vw,2rem); }
.comfort-dialog::backdrop { background: #0007; }
.comfort-dialog h2 { font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.7rem,5vw,2.8rem); line-height: 1.15; margin: .5rem 0; color: #17376d; text-shadow: 0 1px #fff; }
.comfort-dialog h3 { font-family: Georgia,"Times New Roman",serif; font-size: 1.3rem; line-height: 1.4; }
.comfort-dialog__hero { text-align: center; border-bottom: 2px solid #a98949; padding-bottom: 1rem; }
.comfort-dialog__motif { display:block; width: 90px; height:90px; object-fit:contain; margin:auto; }
.comfort-dialog__eyebrow { font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; color:#704628; }
.comfort-dialog__switch { display:flex; justify-content:center; gap:1rem; margin-top:1rem; }
.comfort-dialog__switch button,.comfort-back { font:inherit; background:#193b58; color:white; padding:.5rem 1rem; border:1px solid #a98949; cursor:pointer; }
.comfort-dialog__footer { font-size:.85rem; }
.comfort-privacy__text { font-size:.95rem; line-height:1.6; }
.comfort-privacy__text h1 { font-family:Georgia,serif; font-size:1.7rem; }
.comfort-privacy__text h2 { font: bold 1.15rem Georgia,serif; margin:1.5rem 0 .5rem; }
.comfort-back { margin:.5rem 0; }
.comfort-option--required { outline:2px solid #9a2424; outline-offset:2px; }
.comfort-required { color:#9a2424; font-weight:bold; }
.comfort-dialog [hidden] { display:none !important; }
.comfort-dialog p,.comfort-options p { line-height: 1.5; }
.comfort-dialog__close { position: absolute; right: .5rem; top: .3rem; font: inherit; font-size: 1.7rem; background: none; border: 0; color: inherit; cursor: pointer; padding: .3rem .7rem; }
.comfort-options section { border-top: 1px solid #a9894980; padding: .8rem 0; }
.comfort-options label { display: flex; gap: .6rem; align-items: start; cursor: pointer; }
.comfort-options input { width: 1.1rem; height: 1.1rem; flex-shrink: 0; margin-top: .15rem; accent-color: #193b58; }
.comfort-options p { font-size: .9rem; margin: .4rem 0; }
.comfort-options summary { cursor: pointer; text-decoration: underline; padding: .3rem 0; }
.comfort-actions { display: flex; gap: .7rem; flex-wrap: wrap; margin-top: 1rem; }
.comfort-actions button { flex: 1 1 14rem; background: #193b58; color: #fff; border: 2px solid #193b58; padding: .8rem; font: inherit; cursor: pointer; }
.comfort-actions button:disabled { opacity: .6; cursor: not-allowed; }
.comfort-dialog button:focus-visible,.comfort-options input:focus-visible,.comfort-options summary:focus-visible,.comfort-actions button:focus-visible { outline: 3px solid #805b10; outline-offset: 3px; }
.comfort-settings-link { background: none; color: inherit; border: 0; font: inherit; text-decoration: underline; padding: .4rem; cursor: pointer; }
.profile-subtabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.profile-subtabs a { color: #193b58; padding: .6rem; border-bottom: 2px solid transparent; }
.profile-subtabs a[aria-current=page] { border-bottom-color: #193b58; font-weight: bold; }
.draft-notice { padding: .5rem; border: 1px solid #a98949; margin: .5rem 0; color: #193b58; background: #f4e6bf; }
.draft-notice button { font: inherit; margin: .25rem .5rem .25rem 0; padding: .3rem .5rem; cursor: pointer; }
.draft-notice [role=status] { font-size: .85rem; }
[data-profile-panel][hidden] { display: none; }
