/* Wedding appearance controls. Colors follow the application's active theme. */
.dw-appearance{margin-bottom:16px}
.dw-fieldset{display:grid;gap:22px;border:0;padding:0;margin:0;min-width:0}
.dw-section-label{display:block;margin:0 0 10px;color:var(--color-title,var(--color-text));font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.dw-venues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dw-venue{position:relative;display:flex;align-items:flex-start;gap:11px;min-height:102px;padding:16px;border:1px solid var(--color-border,rgba(127,127,127,.25));border-radius:12px;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.dw-venue:hover{background:var(--color-accent-soft,rgba(34,197,94,.08))}
.dw-venue[aria-checked=true]{border-color:var(--color-accent);background:var(--color-accent-soft,rgba(34,197,94,.08));box-shadow:inset 0 0 0 1px var(--color-accent)}
.dw-venue-icon{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:var(--color-accent-soft,rgba(34,197,94,.12));color:var(--color-accent)}
.dw-venue-copy{display:grid;gap:5px;padding-right:10px}
.dw-venue-copy strong{font-size:14px;line-height:1.35;color:var(--color-title,var(--color-text))}
.dw-venue-copy small{font-size:12px;line-height:1.5;color:var(--color-muted)}
.dw-venue-check{position:absolute;top:12px;right:12px;width:16px;height:16px;border:1px solid var(--color-border,rgba(127,127,127,.4));border-radius:50%;display:grid;place-items:center;color:transparent}
.dw-venue[aria-checked=true] .dw-venue-check{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent,#07140c)}
.dw-venue-check svg{width:12px;height:12px}
.dw-visibility{display:grid;gap:0;border:1px solid var(--color-border,rgba(127,127,127,.2));border-radius:12px;overflow:hidden}
.dw-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px}
.dw-row+.dw-row{border-top:1px solid var(--color-border,rgba(127,127,127,.2))}
.dw-row-copy{min-width:0;display:grid;gap:5px}
.dw-row-copy strong{color:var(--color-title,var(--color-text));font-size:14px;font-weight:750;line-height:1.4}
.dw-row-copy p,.dw-guidance{margin:0;color:var(--color-muted);font-size:12px;line-height:1.6}
.dw-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:8px;min-width:112px;min-height:40px;padding:9px 14px;border:1px solid var(--color-border,rgba(127,127,127,.3));border-radius:9px;background:transparent;color:var(--color-text);font-family:inherit;font-size:13px;font-weight:750;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s}
.dw-action:hover{border-color:var(--color-accent);background:var(--color-accent-soft,rgba(34,197,94,.08))}
.dw-action[aria-checked=false]{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-accent-soft,rgba(34,197,94,.08))}
.dw-action svg{width:18px;height:18px;flex:0 0 auto}
.dw-guidance{margin-top:14px}
.dw-appearance button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.dw-appearance button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.dw-venues{grid-template-columns:1fr}.dw-row{gap:12px;padding:14px}.dw-action{min-width:96px;padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.dw-appearance button{transition:none}}
.dw-phone-preview{position:relative;overflow:hidden;min-width:0;min-height:320px}
.dw-canvas-link{justify-self:start;display:inline-flex;align-items:center;padding:10px 15px;border:1px solid var(--color-accent);border-radius:9px;color:var(--color-accent);background:var(--color-accent-soft,rgba(34,197,94,.08));font-size:13px;font-weight:750;text-decoration:none}
.dw-canvas-link:hover{border-color:var(--color-accent-hover,var(--color-accent));filter:brightness(1.08)}
.dw-canvas-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}
.dw-canvas-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dw-canvas-add{padding:11px 15px;border:1px solid var(--color-accent);border-radius:9px;background:var(--color-accent);color:var(--color-on-accent,#07140c);font:750 13px var(--font-sans,system-ui);cursor:pointer}
.dw-canvas-add:hover{filter:brightness(1.08)}
.dw-canvas-error{flex-basis:100%;margin:0;color:var(--color-error);font-size:12px;line-height:1.5}
.dw-canvas-error code{display:block;margin-top:4px;font-size:11px;overflow-wrap:anywhere}
