/* VENUIVO marriage hub. Theme-preserving, account-only additions. */
body.vnwh-couple #sdm-main-nav>[data-vnu-kind="couple"],body.vnwh-couple #sdm-main-nav>.vnu-auth-logout,body.vnwh-couple .sdm-hero .vnwh-hide-discover{display:none!important}
.vnwh-account,.vnwh-band,.vnwh-needs-dialog{font-family:"Trebuchet MS",Arial,sans-serif;color:#234635;box-sizing:border-box}
.vnwh-account *,.vnwh-band *,.vnwh-needs-dialog *{box-sizing:border-box}
.vnwh-account a,.vnwh-band a{color:inherit;text-decoration:none}
.vnwh-account{position:relative;display:flex;align-items:center;gap:10px;white-space:normal;z-index:100}
.vnwh-account .vnwh-mail{position:relative;display:grid;place-items:center;width:36px;height:40px;background:transparent;border:0;border-radius:5px}
.vnwh-icon{width:19px;height:19px;display:inline-block;flex-shrink:0;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.vnwh-account .vnwh-initials{height:39px;min-width:39px;width:39px;display:grid;place-items:center;background:#234635;color:#fff;border:1px solid #d7c7a6;border-radius:50%;font:600 12px/1 "Trebuchet MS",Arial,sans-serif;letter-spacing:.04em;padding:0;cursor:pointer}
.vnwh-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;background:#a84e65;color:white;border-radius:12px;border:1px solid #fffdf8;display:grid;place-items:center;font:10px/1 Arial,sans-serif;padding:0 3px}
.vnwh-badge[hidden],.vnwh-account [hidden],.vnwh-band[hidden],.vnwh-needs-dialog [hidden]{display:none!important}
.vnwh-account .vnwh-menu{position:absolute;top:calc(100% + 14px);right:0;width:340px;max-width:calc(100vw - 24px);padding:18px;background:#fffdf8;color:#234635;border:1px solid #d8c6a4;border-radius:11px;box-shadow:0 16px 45px #163b2c38;max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain;text-align:left}
.vnwh-person{display:flex;align-items:center;gap:12px;margin-bottom:15px}
.vnwh-avatar{height:43px;width:43px;flex:0 0 43px;display:grid;place-items:center;border-radius:50%;border:2px solid #e4d1a6;background:#234635;color:white;font-size:14px}
.vnwh-person-copy{flex:1;min-width:0}
.vnwh-person h3{font:400 23px/1.15 Georgia,serif;letter-spacing:-.025em;color:#173e30;margin:0 0 5px;overflow-wrap:anywhere}
.vnwh-person .vnwh-profile-link{font-size:11px;color:#516652;text-decoration:underline;text-underline-offset:3px;padding:0;display:inline}
.vnwh-account .vnwh-menu-close{width:28px;height:28px;min-width:28px;display:grid;place-items:center;align-self:flex-start;border:0;background:transparent;color:#63725f;padding:4px;cursor:pointer}
.vnwh-account .vnwh-primary{display:flex;justify-content:center;align-items:center;gap:9px;min-height:43px;padding:10px 12px;border-radius:6px;background:#234635;border:1px solid #234635;color:#fff;font-size:12px}
.vnwh-wedding-line{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 0;border-bottom:1px solid #e5ddcd;font-size:11px;color:#687158;flex-wrap:wrap}
.vnwh-wedding-line .vnwh-icon{height:14px;width:14px;color:#9b7533}
.vnwh-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:12px 0}
.vnwh-account .vnwh-tool{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:71px;min-width:0;padding:8px 3px;border:0;background:transparent;color:#234635;border-radius:7px;text-align:center;font-size:11px;line-height:1.3}
.vnwh-tool:hover,.vnwh-tool:focus-visible{background:#f2eee4}
.vnwh-chip{display:grid;place-items:center;height:29px;width:30px;border-radius:8px;background:#eee8d5;color:#816c36;flex-shrink:0}
.vnwh-chip .vnwh-icon{height:18px;width:18px}
.vnwh-chip.rose{background:#f5e2e6;color:#a44f66}.vnwh-chip.green{background:#e2eddf;color:#4a784c}.vnwh-chip.teal{background:#deeeeb;color:#327a70}.vnwh-chip.gold{background:#f5ebd3;color:#997a2c}.vnwh-chip.clay{background:#f2e4dc;color:#ab6c4e}.vnwh-chip.violet{background:#eae5f1;color:#776094}
.vnwh-tool .vnwh-badge{top:4px;right:calc(50% - 25px)}
.vnwh-menu-footer{border-top:1px solid #e5ddcd;padding-top:8px}
.vnwh-account .vnwh-footer-link{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 3px;font-size:12px;line-height:1.3;background:transparent;border:0;color:#3d5747;width:100%;text-align:left;cursor:pointer}
.vnwh-footer-link .vnwh-icon{width:16px;height:16px}
.vnwh-account .vnwh-signout{color:#8e5844}
.vnwh-email-note{display:block;background:#f7eedb;color:#86632d;border-radius:5px;padding:8px 9px;margin:5px 0 3px;font-size:11px;line-height:1.45}
.vnwh-account a:focus-visible,.vnwh-account button:focus-visible,.vnwh-band a:focus-visible,.vnwh-band button:focus-visible,.vnwh-needs-dialog :focus-visible{outline:2px solid #8e773f;outline-offset:3px}
.sdm-hero .sdm-search:has(+ .vnwh-band){margin-bottom:14px}
.sdm-hero .vnwh-band{margin:0;max-width:850px}
.vnwh-band{height:58px;display:flex;flex-wrap:nowrap;align-items:center;gap:7px;max-width:850px;width:100%;min-width:0;padding:7px 11px;background:#fffdf4f2;border:1px solid #e4d7bb;border-radius:8px;box-shadow:0 5px 18px #263a2520;white-space:nowrap;color:#234635;text-align:left}
.vnwh-band-name{font:400 17px/1.1 Georgia,serif;max-width:100px;text-overflow:ellipsis;overflow:hidden;padding-right:4px;flex-shrink:0}
.vnwh-band .vnwh-countdown{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;border:0;background:transparent;color:#536b43;font-size:12px;white-space:nowrap;flex-shrink:0;padding:5px 3px}
.vnwh-band .vnwh-countdown .vnwh-icon{color:#ad8641;width:17px;height:17px}
.vnwh-divider{height:28px;width:1px;background:#e3d9c4;margin:0 3px;flex-shrink:0}
.vnwh-stats{display:flex;align-items:center;gap:7px;flex:1;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;scroll-padding-inline:4px;-webkit-overflow-scrolling:touch}
.vnwh-stats::-webkit-scrollbar{display:none}
.vnwh-band .vnwh-stat{display:flex;align-items:center;gap:6px;min-height:38px;border-radius:6px;padding:3px 4px;font:12px/1.2 "Trebuchet MS",Arial,sans-serif;color:#234635;flex-shrink:0}
.vnwh-stat strong{font-weight:600}.vnwh-stat:hover{background:#f2eee4}
.vnwh-band .vnwh-space-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 10px;border:1px solid #d5c49d;border-radius:6px;background:#f1e6ca;color:#234635;font-size:12px;flex-shrink:0}
.vnwh-space-link .vnwh-icon{height:17px;width:17px}
.vnwh-budget-short{display:none}
.vnwh-needs-dialog{position:fixed;inset:16px auto auto 50%;transform:translateX(-50%);margin:0;border:1px solid #d8c6a4;border-radius:13px;background:#fffdf8;padding:0;width:min(660px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;box-shadow:0 18px 60px #163b2c45}
.vnwh-needs-dialog[open]{display:flex;flex-direction:column}
.vnwh-needs-head{position:relative;flex:0 0 auto;padding:23px 24px 15px;border-bottom:1px solid #e5dccb;background:#fffdf8}
.vnwh-needs-form{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:18px 24px 23px;scroll-padding-block:16px}
.vnwh-needs-dialog::backdrop{background:#152c2473}
.vnwh-needs-dialog h2{font:400 27px/1.2 Georgia,serif;color:#234635;margin:0 35px 10px 0;overflow-wrap:anywhere}
.vnwh-needs-dialog p{font-size:13px;line-height:1.55;color:#64725b;margin:0 0 16px}
.vnwh-needs-close{position:absolute;top:15px;right:15px;background:transparent;border:0;padding:5px;cursor:pointer;color:#63725f}
.vnwh-needs-head p{margin:0}
.vnwh-needs-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 17px}
.vnwh-needs-option{display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:9px;min-height:52px;min-width:0;border:1px solid #e4dccc;border-radius:7px;padding:9px;font-size:12px;line-height:1.35;cursor:pointer}
.vnwh-needs-option-label{min-width:0;overflow-wrap:anywhere}
.vnwh-needs-category-icon{display:grid;place-items:center;width:30px;height:32px;border-radius:7px;background:#f0f3e9;color:#4c7650}
.vnwh-needs-category-icon .vnwh-icon{width:23px;height:23px;stroke-width:1.55}
.vnwh-needs-option:has(input:checked){border-color:#90a385;background:#edf3e8}
.vnwh-needs-option:has(input:checked) .vnwh-needs-category-icon{background:#deebce;color:#315d38}
.vnwh-needs-option input{accent-color:#234635;height:16px;width:16px;min-width:16px;margin:0}
.vnwh-needs-zone{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 10px;padding-top:17px;border-top:1px solid #e5dccb}
.vnwh-needs-field{display:flex;flex-direction:column;gap:7px;color:#3d5747;font-size:12px;line-height:1.4;min-width:0}
.vnwh-needs-field input,.vnwh-needs-field select{font:13px/1.35 "Trebuchet MS",Arial,sans-serif;color:#234635;border:1px solid #d7d7c8;border-radius:6px;min-height:42px;max-width:100%;width:100%;padding:9px;background:#fff}
.vnwh-needs-field select:disabled{color:#7e877a;background:#f2f0e9}
.vnwh-needs-dialog .vnwh-needs-geography-help{font-size:11px;line-height:1.5;color:#6a785f;margin:0 0 15px}
.vnwh-needs-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}
.vnwh-needs-actions button{font:13px/1.3 "Trebuchet MS",Arial,sans-serif;min-height:42px;border:1px solid #234635;border-radius:7px;padding:10px 17px;cursor:pointer}
.vnwh-needs-cancel{color:#234635;background:#fffdf8}.vnwh-needs-save{color:white;background:#234635}
.vnwh-needs-dialog [role="status"]{font-size:12px;line-height:1.5;margin-top:12px;color:#8d443d}
.vnwh-needs-dialog button:disabled{opacity:.6;cursor:wait}
.vnwh-inline-needs{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:11px 14px;border:1px solid #e5dccb;border-radius:8px;background:#fffdf8;color:#234635;font-size:12px}
.vnwh-inline-needs button{border:0;background:transparent;color:#234635;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:3px;font:inherit}
@media(max-width:1050px){.vnwh-band-name{display:none}.vnwh-stats{gap:3px}.vnwh-band .vnwh-stat{padding:3px 2px;gap:4px}.vnwh-band .vnwh-space-link{font-size:11px;padding:7px 8px}}
@media(max-width:800px){.vnwh-budget-full{display:none}.vnwh-budget-short{display:inline}.vnwh-band .vnwh-space-link{height:40px;min-width:40px;width:40px;padding:7px;gap:0}.vnwh-space-link span{display:none}.vnwh-band{padding:7px 8px;gap:5px}.vnwh-divider{margin:0 1px}}
@media(max-width:650px){.vnwh-band{height:56px}.vnwh-band .vnwh-phone-hide{display:flex}.vnwh-band .vnwh-stat{padding:3px 4px;gap:5px}.vnwh-stats{justify-content:flex-start;gap:7px}.vnwh-account{gap:7px}.vnwh-account .vnwh-menu{width:310px;padding:16px}.vnwh-account .vnwh-footer-link{min-height:42px}.vnwh-account .vnwh-menu-close{width:32px;height:32px}.vnwh-needs-head{padding:20px 17px 14px}.vnwh-needs-form{padding:15px 17px 20px}.vnwh-needs-options{gap:7px}.vnwh-needs-option{padding:9px 7px;font-size:11px;gap:7px}.vnwh-needs-dialog h2{font-size:25px}}
@media(max-width:440px){.vnwh-needs-options{grid-template-columns:1fr}.vnwh-needs-zone{grid-template-columns:1fr}.vnwh-needs-option{min-height:48px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.vnwh-account *,.vnwh-band *{scroll-behavior:auto!important;transition:none!important}}
