/* Stable country picker and editable opt-in popup. */
.optin-modal-backdrop { overflow-y:auto; overscroll-behavior:contain; }
.optin-modal { background:var(--optin-popup-bg,#fffdf8) !important; color:var(--optin-popup-text,#17120e) !important; scrollbar-gutter:stable; }
.optin-modal .gold-eyebrow { color:var(--optin-popup-accent,#9a7130) !important; }
.optin-modal h2 { color:var(--optin-popup-text,#17120e); font-size:var(--optin-popup-title-desktop,21px) !important; }
.optin-modal[style*="--optin-popup-accent"] .gold-cta { background:var(--optin-popup-accent); }
.optin-modal input:focus { border-color:var(--optin-popup-accent,#b28946) !important; }
.preview-stage.desktop .optin-modal { width:min(var(--optin-popup-width-desktop,460px),calc(100vw - 44px)) !important; max-width:none !important; }
.preview-stage.mobile .optin-modal { width:min(var(--optin-popup-width-mobile,430px),calc(100vw - 28px)) !important; max-width:none !important; }
.preview-stage.mobile .optin-modal h2 { font-size:var(--optin-popup-title-mobile,21px) !important; }
.optin-country-backdrop { position:fixed; inset:0; z-index:10000; background:rgba(14,11,8,.52); }
.optin-country-overlay { z-index:10001 !important; transform:none !important; right:auto !important; display:flex; flex-direction:column; overflow:hidden; border-radius:14px; box-sizing:border-box; margin:0; }
.optin-country-overlay .country-picker-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.country-picker-close { flex:none; display:grid; place-items:center; width:32px; height:32px; border:1px solid #d8cebf; border-radius:50%; background:#f7f1e7; color:#302416; font-size:23px; line-height:1; cursor:pointer; }
.optin-country-overlay .country-search-box { flex:0 0 auto; }
.optin-country-overlay .country-picker-list { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; max-height:none !important; }
.country-chevron { font-size:18px !important; color:#8b7e6c; line-height:1; }
.optin-phone-error { color:#aa3e28; font-size:11px; line-height:1.5; margin:5px 0 0; text-align:right; }
.optin-popup-editor { padding:22px; margin:14px 0; background:#fffaf1; border:1px solid #d4b77d; border-radius:14px; box-shadow:0 12px 36px rgba(65,42,13,.055); }
.optin-popup-editor-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.optin-popup-editor-head span { color:#9b7439; font-size:10px; letter-spacing:.14em; font-weight:900; }
.optin-popup-editor-head h3 { margin:5px 0; font-size:20px; color:#241b12; }
.optin-popup-editor-head p { margin:0; font-size:11px; color:#786b5b; }
.optin-popup-editor-actions { display:flex; gap:8px; }
.optin-popup-editor-actions button { min-height:39px; padding:8px 13px; border-radius:8px; border:1px solid #bca77f; background:#fffdf8; color:#211a12; display:inline-flex; align-items:center; gap:7px; font-size:11px; font-weight:800; }
.optin-popup-editor-actions button:last-child { background:#17130e; color:#f0d18f; border-color:#17130e; }
.optin-popup-editor-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.optin-popup-editor-fields label { min-width:0; display:grid; gap:6px; font-size:11px; color:#5c4a32; font-weight:700; }
.optin-popup-editor-fields label.wide { grid-column:1/-1; }
.optin-popup-editor-fields input,.optin-popup-editor-fields textarea { width:100%; min-height:39px; padding:9px 11px; border:1px solid #d8cbb5; border-radius:7px; background:#fffdf9; color:#211a12; font:inherit; }
.optin-popup-editor-fields textarea { resize:vertical; min-height:65px; }
@media(max-width:720px) { .optin-popup-editor-fields { grid-template-columns:1fr; } }
