:root{--green:#243C35;--warm:#F7F4EE;--greige:#D8D1C7;--terracotta:#B96F57;--ink:#24302c;--muted:#6d756f;--white:#fff;--danger:#8f3b31;--success:#315f4e;--shadow:0 16px 50px rgba(36,60,53,.10)}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--warm)}body{margin:0;min-height:100vh}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:3px}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:rgba(247,244,238,.94);border-bottom:1px solid var(--greige);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;text-decoration:none;flex:none}.brand-logo{display:block;width:210px;height:auto;max-height:54px;object-fit:contain}.nav{display:flex;gap:16px;align-items:center}.main{width:min(1160px,calc(100% - 40px));margin:0 auto;padding:56px 0 80px;flex:1}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:48px 0}.eyebrow{color:var(--terracotta);font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero h1,.page-title{color:var(--green);font-size:clamp(2.35rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.04em;margin:.25em 0}.page-title{font-size:clamp(2rem,4vw,3.2rem)}.page-title.small-title{font-size:clamp(2rem,4vw,3.4rem)}.lead{font-size:1.16rem;line-height:1.7;color:var(--muted);max-width:760px}.lead.compact{margin-top:0}.panel,.card{background:var(--white);border:1px solid rgba(216,209,199,.95);border-radius:22px;box-shadow:var(--shadow)}.panel{padding:30px}.card{padding:22px}.hero-card{background:var(--green);color:#fff;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;border-radius:28px;padding:32px;box-shadow:var(--shadow)}.hero-card h2{font-size:2rem;margin:0}.hero-card .metric{font-size:3.4rem;font-weight:800}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{appearance:none;border:0;border-radius:12px;padding:12px 18px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff}.btn:hover{filter:brightness(.96)}.btn-secondary{background:transparent;color:var(--green);border:1px solid var(--green)}.btn-accent{background:var(--terracotta)}.btn-large{padding:15px 22px;font-size:1rem}.btn-small{padding:9px 13px;font-size:.85rem}.form-wrap{max-width:520px;margin:20px auto}.form-group{margin-bottom:18px}.label{display:block;font-weight:700;margin-bottom:7px}.input{width:100%;border:1px solid var(--greige);border-radius:12px;padding:13px 14px;background:#fff;font:inherit;color:var(--ink)}.input:focus{outline:3px solid rgba(185,111,87,.15);border-color:var(--terracotta)}.hint{font-size:.9rem;color:var(--muted);margin-top:6px}.auth-register-hint{margin-top:18px}.flash{padding:12px 14px;border-radius:12px;margin-bottom:16px;border:1px solid}.flash-error{background:#fbefed;border-color:#e6bbb5;color:var(--danger)}.flash-success{background:#edf6f1;border-color:#b8d8c7;color:var(--success)}.flash-info{background:#f4f2ed;border-color:var(--greige)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.workspace-card h3{margin:8px 0;color:var(--green)}.meta{color:var(--muted);font-size:.92rem}.badge{display:inline-flex;border-radius:999px;background:var(--warm);border:1px solid var(--greige);padding:4px 9px;font-size:.78rem;font-weight:700}.notice{border-left:4px solid var(--terracotta);background:#fff;padding:18px 20px;border-radius:8px;margin:18px 0}.preview-banner{background:#fff4e9;border:1px solid #e8ccb1;padding:13px 16px;border-radius:12px;margin:18px 0;color:#72472f}.footer{padding:24px;text-align:center;color:var(--muted);border-top:1px solid var(--greige)}.footer-brand{display:inline-flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.footer-brand-logo{display:block;width:190px;height:auto;max-height:50px;object-fit:contain}code{background:#eee9e1;padding:2px 6px;border-radius:6px}.onboarding-head{max-width:820px;margin-bottom:28px}.onboarding-form{max-width:820px}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.input-prefix{position:relative}.input-prefix>span{position:absolute;left:14px;top:13px;font-weight:800;color:var(--green)}.input-prefix .input{padding-left:34px}.onboarding-summary{display:flex;flex-direction:column;gap:4px;background:var(--warm);border:1px solid var(--greige);padding:16px;border-radius:14px;margin:4px 0 22px}.onboarding-summary span{color:var(--muted)}.workspace-header{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.countdown-card{min-width:180px;background:var(--green);color:#fff;border-radius:22px;padding:22px;display:grid;grid-template-columns:auto auto;align-items:end;gap:0 8px;box-shadow:var(--shadow)}.countdown-card .metric-label{grid-column:1/-1;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.8}.countdown-card strong{font-size:3rem;line-height:1}.countdown-card .countdown-heart{color:var(--terracotta)}.countdown-card>span:last-child{padding-bottom:4px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0 44px}.metric-card{background:#fff;border:1px solid var(--greige);border-radius:18px;padding:20px}.metric-card>span,.metric-card small{display:block;color:var(--muted)}.metric-card strong{display:block;color:var(--green);font-size:1.8rem;margin:6px 0}.progress{height:8px;border-radius:99px;background:#ece8e0;overflow:hidden}.progress i{display:block;height:100%;background:var(--terracotta);border-radius:99px}.section-block{margin:36px 0}.section-title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px}.section-title-row h2{font-size:2rem;color:var(--green);margin:.15em 0}.now-list{display:grid;gap:12px}.now-task{background:#fff;border:1px solid var(--greige);border-radius:18px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.now-task.overdue{border-left:4px solid var(--danger)}.now-task.soon{border-left:4px solid var(--terracotta)}.now-task-main{display:flex;gap:14px}.status-dot{width:12px;height:12px;border-radius:50%;background:var(--terracotta);margin-top:7px;flex:none}.overdue .status-dot{background:var(--danger)}.task-kicker{font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta)}.now-task h3,.task-row h3,.timeline-item h3{margin:4px 0;color:var(--green)}.now-task p,.task-row p{margin:4px 0;color:var(--muted);line-height:1.5}.task-meta{font-size:.84rem;color:var(--muted);margin-top:8px}.module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.module-card{background:#fff;border:1px solid var(--greige);border-radius:18px;padding:20px;text-decoration:none;color:inherit;min-height:170px;position:relative}.module-card.active:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.module-card>span{font-weight:800;color:var(--terracotta)}.module-card h3{color:var(--green);margin:20px 0 6px}.module-card p{color:var(--muted);margin:0}.module-card em{position:absolute;right:14px;top:14px;font-size:.72rem;color:var(--muted);font-style:normal;background:var(--warm);padding:4px 7px;border-radius:8px}.empty-state{background:#fff;border:1px dashed var(--greige);padding:26px;border-radius:16px;display:flex;flex-direction:column;gap:4px}.subnav{display:flex;justify-content:space-between;margin-bottom:28px;font-size:.92rem}.task-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.task-list{display:grid;gap:10px}.task-row{background:#fff;border:1px solid var(--greige);border-radius:16px;padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start}.task-row.is-overdue{border-left:4px solid var(--danger)}.task-row.is-done{opacity:.57}.task-row.is-done h3{text-decoration:line-through}.check-btn{width:28px;height:28px;border:2px solid var(--green);border-radius:50%;background:#fff;color:var(--green);font-weight:900;cursor:pointer}.is-done .check-btn{background:var(--green);color:#fff}.task-copy p{font-size:.9rem}.task-due{text-align:right;min-width:105px}.task-due strong,.task-due span{display:block}.task-due span{font-size:.78rem;color:var(--muted);margin-top:4px}.sticky-card{position:sticky;top:94px}.sticky-card h2{color:var(--green)}.timeline{max-width:850px}.timeline-month{display:grid;grid-template-columns:180px 1fr;gap:24px;margin:28px 0}.timeline-month-title{display:flex;align-items:flex-start;gap:12px}.timeline-month-title>span{width:12px;height:12px;border-radius:50%;background:var(--terracotta);margin-top:8px}.timeline-month-title h2{font-size:1rem;color:var(--green);margin:5px 0}.timeline-items{border-left:1px solid var(--greige);padding-left:20px;display:grid;gap:10px}.timeline-item{background:#fff;border:1px solid var(--greige);border-radius:14px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:15px}.timeline-item.is-done{opacity:.55}.timeline-item h3{font-size:1rem}.timeline-item time{font-weight:800;color:var(--green)}
@media(max-width:800px){.hero{grid-template-columns:1fr}.grid,.metric-grid,.module-grid,.form-grid.two{grid-template-columns:1fr}.nav .hide-mobile{display:none}.main{width:min(100% - 28px,1160px);padding-top:34px}.topbar{padding:0 16px}.hero{padding-top:20px}.hero-card{min-height:280px}.workspace-header{align-items:stretch;flex-direction:column}.countdown-card{width:100%}.task-layout{grid-template-columns:1fr}.sticky-card{position:static}.task-row{grid-template-columns:auto 1fr}.task-due{grid-column:2;text-align:left}.timeline-month{grid-template-columns:1fr;gap:8px}.timeline-items{margin-left:5px}.now-task{align-items:flex-start;flex-direction:column}.section-title-row{align-items:flex-start;flex-direction:column}.subnav{gap:16px;flex-wrap:wrap}}

/* Sprint 03: Aufgaben, Budget & Zahlungen */
.mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.mini-metrics>div{background:#fff;border:1px solid var(--greige);border-radius:14px;padding:14px}.mini-metrics strong{display:block;color:var(--green);font-size:1.45rem}.mini-metrics span{color:var(--muted);font-size:.82rem}.filter-bar{display:grid;grid-template-columns:1.4fr repeat(3,minmax(130px,.7fr)) auto auto;gap:10px;align-items:center;margin:18px 0 22px}.textarea{resize:vertical;min-height:92px}.wide-form{max-width:760px}.divider{border:0;border-top:1px solid var(--greige);margin:28px 0}.btn-danger{background:#8f3b31}.task-meta-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:.82rem;color:var(--muted)}.task-meta-row a{font-weight:700}.badge.status-in_progress{background:#edf3f1;border-color:#bdd0c9}.badge.status-waiting{background:#fff5e9;border-color:#ead0ad}.badge.status-done,.badge.status-paid{background:#eaf5ef;border-color:#bad8c8;color:#315f4e}.badge.status-paused{background:#f0efec}.badge.status-overdue{background:#fbefed;border-color:#e6bbb5;color:var(--danger)}.badge.status-offered{background:#f6f2ea}.badge.status-booked,.badge.status-part_paid{background:#eef3f1;border-color:#c5d5cf}.form-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}
.budget-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:26px 0}.budget-progress-wrap{background:#fff;border:1px solid var(--greige);border-radius:16px;padding:18px;margin-bottom:34px}.budget-progress-copy{display:flex;justify-content:space-between;gap:20px;margin-bottom:10px;color:var(--muted)}.budget-progress-copy strong{color:var(--green)}.budget-progress{height:10px}.budget-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.budget-items{display:grid;gap:12px}.budget-item{background:#fff;border:1px solid var(--greige);border-radius:18px;padding:18px}.budget-item-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.budget-item-head h3{color:var(--green);margin:5px 0}.budget-item-actions{display:flex;gap:12px;align-items:center}.budget-numbers{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:16px}.budget-numbers>div{background:var(--warm);border-radius:12px;padding:11px}.budget-numbers span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}.budget-numbers strong{color:var(--green);font-size:.95rem}.payment-list{margin-top:14px;border-top:1px solid var(--greige)}.payment-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #eee9e1}.payment-row:last-child{border-bottom:0}.payment-row div>strong,.payment-row div>span{display:block}.payment-row div>span{font-size:.8rem;color:var(--muted);margin-top:2px}.status-dot-sm{width:9px;height:9px;border-radius:50%;background:var(--terracotta)}.status-dot-sm.is-paid{background:var(--success)}.status-dot-sm.is-overdue{background:var(--danger)}.link-button{appearance:none;border:0;background:none;padding:0;color:var(--green);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.danger-link{color:var(--danger)}.payment-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.payment-card{background:#fff;border:1px solid var(--greige);border-radius:16px;padding:16px;display:grid;gap:10px}.payment-card.is-overdue{border-left:4px solid var(--danger)}.payment-card h3{color:var(--green);margin:7px 0 2px}.payment-card p{margin:0;color:var(--muted)}.payment-card>strong{font-size:1.25rem;color:var(--green)}.budget-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start}.budget-edit-layout aside{display:grid;gap:16px}.payment-history h2{margin-top:5px}.payment-history-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--greige)}.payment-history-row:last-child{border-bottom:0}.payment-history-row div:first-child strong,.payment-history-row div:first-child span{display:block}.payment-history-row div:first-child span{font-size:.8rem;color:var(--muted);margin-top:3px}.row-actions{display:flex;gap:10px;align-items:center}.dashboard-payments{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dashboard-payment{background:#fff;border:1px solid var(--greige);border-radius:16px;padding:16px;display:flex;justify-content:space-between;gap:16px;align-items:center}.dashboard-payment.is-overdue{border-left:4px solid var(--danger)}.dashboard-payment span{font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--terracotta);font-weight:800}.dashboard-payment h3{margin:5px 0 0;color:var(--green);font-size:1rem}.dashboard-payment>strong{white-space:nowrap;color:var(--green)}
@media(max-width:1000px){.filter-bar{grid-template-columns:1fr 1fr 1fr}.budget-summary-grid{grid-template-columns:1fr 1fr}.budget-numbers{grid-template-columns:repeat(3,1fr)}.payment-strip,.dashboard-payments{grid-template-columns:1fr 1fr}.budget-layout,.budget-edit-layout{grid-template-columns:1fr}.budget-layout .sticky-card{position:static}}
@media(max-width:650px){.mini-metrics,.budget-summary-grid,.form-grid.three{grid-template-columns:1fr 1fr}.filter-bar{grid-template-columns:1fr}.budget-numbers{grid-template-columns:1fr 1fr}.payment-strip,.dashboard-payments{grid-template-columns:1fr}.budget-progress-copy,.budget-item-head,.payment-history-row{flex-direction:column}.budget-item-actions{justify-content:space-between}.row-actions{justify-content:flex-start}}
.progress-native{width:100%;height:9px;border:0;border-radius:99px;overflow:hidden;background:#ece8e0;appearance:none}.progress-native::-webkit-progress-bar{background:#ece8e0;border-radius:99px}.progress-native::-webkit-progress-value{background:var(--terracotta);border-radius:99px}.progress-native::-moz-progress-bar{background:var(--terracotta);border-radius:99px}.budget-target-form{display:flex;gap:14px;align-items:end;justify-content:flex-end;margin:-10px 0 24px}.budget-target-form .label{margin:0}.budget-target-row{display:flex;gap:8px}.budget-target-row .input{min-width:190px}.workspace-card-link{text-decoration:none}.hero-eyebrow{color:#e8b19e}
@media(max-width:650px){.budget-target-form{align-items:stretch;flex-direction:column}.budget-target-row{width:100%}.budget-target-row .input{min-width:0;flex:1}}

/* Sprint 04: Gäste, Haushalte & RSVP */
.guest-summary-grid{margin-bottom:32px}.guest-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.household-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.household-card{display:block;background:#fff;border:1px solid var(--greige);border-radius:18px;padding:18px;text-decoration:none;color:inherit;transition:.15s ease}.household-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.household-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.household-card h3{margin:5px 0;color:var(--green)}.household-card-head>strong{font-size:1.8rem;color:var(--green)}.household-stats{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:.82rem}.household-stats b{color:var(--green)}.guest-list-heading{margin-top:34px}.guest-table-wrap{overflow:auto;background:#fff;border:1px solid var(--greige);border-radius:18px}.guest-table{width:100%;border-collapse:collapse;min-width:690px}.guest-table th,.guest-table td{text-align:left;padding:14px 16px;border-bottom:1px solid #eee9e1;vertical-align:middle}.guest-table tr:last-child td{border-bottom:0}.guest-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.guest-table td small{display:block;color:var(--muted);margin-top:3px}.guest-status-accepted{background:#eaf5ef;border-color:#bad8c8;color:#315f4e}.guest-status-declined{background:#f6efed;border-color:#e0c2bc;color:#7f4339}.guest-status-open{background:#f6f2ea}.household-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.household-layout>aside{display:grid;gap:16px}.share-link-card{background:var(--green);color:#fff;border-radius:20px;padding:22px;margin:20px 0 26px;display:grid;gap:16px}.share-link-card .eyebrow{color:#e9b6a4}.share-link-card h2{margin:4px 0}.share-link-card p{margin:0;color:#e7eeeb}.share-link-card code{display:block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:14px;overflow-wrap:anywhere;font-size:.88rem}.household-guest-list{display:grid;gap:10px}.household-guest-list article{background:#fff;border:1px solid var(--greige);border-radius:15px;padding:14px 16px;display:flex;justify-content:space-between;gap:18px;align-items:center}.household-guest-list h3{margin:6px 0 0;color:var(--green)}.household-guest-list p{margin:4px 0 0;color:var(--muted)}.rsvp-admin-card .muted,.danger-zone p{color:var(--muted);line-height:1.55}.top-gap{margin-top:14px}.danger-zone{border-color:#e6c4be}
.public-rsvp-shell{max-width:760px;margin:0 auto;padding:24px 0 44px}.public-rsvp-brand{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;color:var(--green)}.public-rsvp-brand span{font-weight:900;letter-spacing:.14em}.public-rsvp-brand small{color:var(--muted)}.public-rsvp-hero,.public-rsvp-thanks{background:var(--green);color:#fff;border-radius:26px;padding:38px;margin-bottom:20px}.public-rsvp-hero .eyebrow,.public-rsvp-thanks .eyebrow{color:#e9b6a4}.public-rsvp-hero h1,.public-rsvp-thanks h1{font-size:clamp(2rem,6vw,3.5rem);margin:8px 0 10px}.public-rsvp-hero p,.public-rsvp-thanks p{color:#e7eeeb;line-height:1.65}.public-rsvp-form{background:#fff;border:1px solid var(--greige);border-radius:22px;padding:26px}.public-rsvp-intro h2{color:var(--green);margin-bottom:4px}.public-rsvp-intro p{color:var(--muted);margin-top:0}.rsvp-person{border:0;border-top:1px solid var(--greige);padding:22px 0 4px;margin:18px 0 0}.rsvp-person legend{font-size:1.1rem;font-weight:800;color:var(--green);padding-right:12px}.rsvp-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0 18px}.rsvp-options label{cursor:pointer}.rsvp-options input{position:absolute;opacity:0;pointer-events:none}.rsvp-options span{display:block;border:1px solid var(--greige);border-radius:13px;padding:13px;text-align:center;font-weight:700}.rsvp-options input:checked+span{background:var(--green);color:#fff;border-color:var(--green)}.public-rsvp-submit{width:100%;margin-top:20px}.public-rsvp-footer{text-align:center;color:var(--muted);font-size:.78rem;margin:18px 0}.success-mark{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--green);font-size:1.8rem;font-weight:900;margin-bottom:20px}
@media(max-width:900px){.guest-layout,.household-layout{grid-template-columns:1fr}.guest-layout .sticky-card{position:static}.household-grid{grid-template-columns:1fr}}
@media(max-width:650px){.rsvp-options,.public-rsvp-form .form-grid.two{grid-template-columns:1fr}.public-rsvp-hero,.public-rsvp-thanks{padding:26px 20px}.public-rsvp-form{padding:20px 16px}.public-rsvp-brand{align-items:flex-start;flex-direction:column;gap:4px}}

/* Sprint 05: kostenlose Hochzeitshomepage */
.site-admin-head{align-items:center}.site-status{font-size:.84rem;padding:8px 12px}.site-status-published{background:#eaf5ef;border-color:#bad8c8;color:#315f4e}.site-status-paused{background:#f5eee8;border-color:#dec7b5;color:#79533d}.site-live-card{margin:24px 0 30px}.site-light-button{border-color:#fff;color:#fff}.site-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.site-editor-side{display:grid;gap:18px}.site-editor-wide,.site-editor-actions{grid-column:1/-1}.site-editor-actions{display:flex;gap:12px;flex-wrap:wrap}.slug-input{display:flex;align-items:center;border:1px solid var(--greige);border-radius:12px;background:#fff;overflow:hidden}.slug-input span{padding:0 0 0 14px;color:var(--muted);font-size:.88rem;white-space:nowrap}.slug-input .input{border:0;border-radius:0;padding-left:4px}.check-row{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.check-row input{margin-top:5px;accent-color:var(--green)}.check-row span{display:grid;gap:4px}.check-row small{color:var(--muted);line-height:1.5}.input-short{max-width:260px}.publish-panel{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:28px}.publish-panel h2{color:var(--green);margin:5px 0}.publish-panel p{color:var(--muted);margin-bottom:0;max-width:720px}
.wedding-site-body{background:#f8f4ed;color:#2d3733}.wedding-public-shell{min-height:100vh}.wedding-preview-bar{position:sticky;top:0;z-index:20;background:#fff4e9;border-bottom:1px solid #e8ccb1;padding:9px 5vw;display:flex;gap:10px;justify-content:center;font-size:.85rem}.wedding-public-nav{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,6vw,80px);border-bottom:1px solid rgba(36,60,53,.12);background:rgba(248,244,237,.94);position:sticky;top:0;z-index:10;backdrop-filter:blur(10px)}.wedding-preview-bar+.wedding-public-nav{top:37px}.wedding-mini-brand{font-weight:900;letter-spacing:.16em;text-decoration:none;font-size:.82rem}.wedding-public-nav nav{display:flex;gap:20px}.wedding-public-nav nav a{text-decoration:none;font-size:.88rem;font-weight:700}.wedding-public-hero{min-height:72vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:80px 20px;background:radial-gradient(circle at 50% 20%,#fff 0,#f8f4ed 52%,#eee5d9 100%)}.wedding-date-pill{border:1px solid rgba(36,60,53,.25);border-radius:99px;padding:8px 14px;font-size:.82rem;letter-spacing:.08em}.wedding-script{font-family:Georgia,serif;font-style:italic;color:var(--terracotta);font-size:1.5rem;margin:28px 0 6px}.wedding-public-hero h1{font-family:Georgia,serif;color:var(--green);font-size:clamp(3rem,10vw,7.2rem);font-weight:400;line-height:.98;letter-spacing:-.045em;max-width:980px;margin:0}.wedding-intro{max-width:680px;font-size:1.12rem;line-height:1.8;color:#64716b;margin:30px auto 0}.wedding-scroll-link{margin-top:26px;text-decoration:none;font-weight:750}.wedding-public-section{width:min(840px,calc(100% - 40px));margin:0 auto;padding:90px 0;border-bottom:1px solid rgba(36,60,53,.13);text-align:center}.wedding-section-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--terracotta);font-size:.76rem;font-weight:800}.wedding-public-section h2{font-family:Georgia,serif;color:var(--green);font-weight:400;font-size:clamp(2.3rem,6vw,4.2rem);margin:10px 0 30px}.wedding-schedule{display:grid;gap:0;max-width:650px;margin:0 auto;text-align:left}.wedding-schedule-row{padding:15px 12px;border-bottom:1px solid rgba(36,60,53,.13);font-size:1.04rem}.wedding-location-section p,.wedding-contact p{font-size:1.08rem;line-height:1.8;color:var(--muted);max-width:650px;margin:0 auto}.wedding-faq{display:grid;gap:10px;text-align:left}.wedding-faq details{background:#fff;border:1px solid rgba(36,60,53,.13);border-radius:15px;padding:0 18px}.wedding-faq summary{cursor:pointer;font-weight:800;color:var(--green);padding:17px 0}.wedding-faq details p{line-height:1.7;color:var(--muted);margin:0;padding:0 0 18px}.wedding-rsvp-section{max-width:900px}.wedding-rsvp-personal{text-align:left;background:#fff;border:1px solid var(--greige);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.wedding-rsvp-personal>p{text-align:center;color:var(--muted)}.wedding-rsvp-person{border-top-color:var(--greige)}.wedding-rsvp-submit{width:100%;margin-top:20px}.wedding-rsvp-success{background:var(--green);color:#fff;border-radius:24px;padding:35px}.wedding-rsvp-success>span{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 16px;border-radius:50%;background:#fff;color:var(--green);font-weight:900;font-size:1.5rem}.wedding-rsvp-success h3{font-size:1.6rem;margin:0 0 8px}.wedding-rsvp-success p{color:#dfe8e4}.wedding-muted{color:var(--muted);font-size:.9rem}.wedding-public-footer{text-align:center;padding:34px 20px 50px;color:var(--muted);font-size:.82rem}.wedding-public-footer strong{letter-spacing:.09em;color:var(--green)}
@media(max-width:900px){.site-editor-grid{grid-template-columns:1fr}.site-editor-wide,.site-editor-actions{grid-column:1}.publish-panel{align-items:flex-start;flex-direction:column}.wedding-public-nav nav{gap:12px}.wedding-public-nav nav a:nth-child(2){display:none}}
@media(max-width:650px){.slug-input{display:block;padding-top:10px}.slug-input span{display:block;padding:0 14px 4px;white-space:normal}.wedding-public-nav nav a{display:none}.wedding-public-nav nav a:last-child{display:inline}.wedding-public-hero{min-height:64vh;padding:64px 18px}.wedding-public-section{padding:64px 0}.wedding-rsvp-personal{padding:20px 15px}.wedding-preview-bar{font-size:.76rem;flex-direction:column;align-items:center;gap:1px}}

/* Sprint 6: Dienstleister & Entscheidungen */
.filter-bar{display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:10px;margin:22px 0}.vendor-layout,.decision-layout,.decision-detail-layout,.vendor-edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}.vendor-list,.decision-list{display:grid;gap:12px}.vendor-card,.decision-card,.option-card{background:#fff;border:1px solid var(--greige);border-radius:18px;padding:18px 20px}.vendor-card{display:flex;justify-content:space-between;gap:20px}.vendor-card.is-overdue,.decision-card.is-overdue{border-left:4px solid var(--danger)}.vendor-card h3,.decision-card h3,.option-card h3{color:var(--green);margin:5px 0}.vendor-card p,.decision-card p{color:var(--muted);margin:7px 0}.vendor-tags{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}.vendor-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.86rem;color:var(--muted);margin-top:12px}.vendor-meta strong{color:var(--green)}.text-danger{color:var(--danger)!important}.decision-card{display:flex;justify-content:space-between;align-items:center;gap:18px;text-decoration:none;color:inherit}.decision-card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.decision-side{text-align:right;display:grid;gap:5px;min-width:100px}.decision-side span{font-size:.84rem;color:var(--muted)}.option-grid{display:grid;gap:14px}.option-card.is-selected{border:2px solid var(--green);box-shadow:0 10px 30px rgba(36,60,53,.08)}.option-card-head{display:flex;justify-content:space-between;gap:16px;align-items:start;margin-bottom:14px}.option-card-head>strong{color:var(--green);font-size:1.15rem}.status-selected{background:#edf6f1;border-color:#b8d8c7;color:var(--success)}.status-shortlist,.status-clarifying{background:#fff4e9;border-color:#e8ccb1;color:#72472f}.status-rejected,.status-postponed{opacity:.72}.row-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.link-button{appearance:none;border:0;background:transparent;padding:0;color:var(--green);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.danger-link{color:var(--danger)}.btn-danger{background:var(--danger)}.divider{border:0;border-top:1px solid var(--greige);margin:24px 0}.form-grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0 20px}.textarea{resize:vertical;min-height:90px}
@media(max-width:800px){.filter-bar{grid-template-columns:1fr}.vendor-layout,.decision-layout,.decision-detail-layout,.vendor-edit-layout{grid-template-columns:1fr}.vendor-card,.decision-card,.option-card-head{flex-direction:column;align-items:flex-start}.decision-side{text-align:left}.form-grid.three{grid-template-columns:1fr}}

/* Sprint 7: Hochzeitstag & Dienstleister-Hub */
.wedding-day-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.day-timeline{display:grid;gap:12px}.day-date-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--terracotta);margin:12px 0 0}.day-event{display:grid;grid-template-columns:96px minmax(0,1fr);background:#fff;border:1px solid var(--greige);border-radius:20px;overflow:hidden}.day-event.status-done{opacity:.7}.day-time{background:#f3eee6;padding:20px 14px;text-align:center;display:flex;flex-direction:column;justify-content:flex-start}.day-time strong{font-size:1.45rem;color:var(--green)}.day-time span{font-size:.78rem;color:var(--muted);margin-top:3px}.day-event-body{padding:18px 20px}.day-event-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.day-event-head h3{margin:6px 0;color:var(--green);font-size:1.18rem}.day-meta{display:flex;gap:14px;flex-wrap:wrap;color:var(--muted);font-size:.84rem;margin:8px 0}.day-event-body p{color:var(--muted);line-height:1.6}.share-link-box{background:#eef5f1;border:1px solid #c9ddd3;border-radius:15px;padding:15px;margin:15px 0}.share-link-box strong{display:block;color:var(--green);margin-bottom:8px}
.vendor-hub-body{background:#f7f4ee;color:#2d3733}.vendor-public-shell{min-height:100vh}.vendor-hub-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px clamp(20px,5vw,70px);border-bottom:1px solid rgba(36,60,53,.12);background:#fff}.vendor-hub-top>div:first-child{display:flex;gap:16px;align-items:center}.vendor-hub-brand{font-weight:950;letter-spacing:.14em;color:var(--green)}.vendor-hub-kicker,.vendor-hub-vendor{font-size:.82rem;color:var(--muted)}.vendor-hub-hero{padding:64px clamp(20px,8vw,120px) 50px;background:linear-gradient(135deg,#f7f4ee,#e8eee9)}.vendor-hub-hero h1{font-family:Georgia,serif;font-weight:400;color:var(--green);font-size:clamp(2.6rem,7vw,5.7rem);letter-spacing:-.04em;margin:10px 0}.vendor-hub-hero>p{font-size:1.08rem;color:var(--muted)}.vendor-hub-readonly{display:inline-block;margin-top:18px;padding:8px 12px;border-radius:99px;background:#fff;border:1px solid rgba(36,60,53,.15);font-size:.78rem;font-weight:750}.vendor-hub-content{width:min(960px,calc(100% - 40px));margin:0 auto;padding:60px 0}.vendor-hub-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.vendor-hub-section-head h2{font-size:2rem;color:var(--green);margin:5px 0 0}.vendor-hub-section-head>span{color:var(--muted)}.vendor-hub-timeline{display:grid;gap:14px}.vendor-hub-event{display:grid;grid-template-columns:105px minmax(0,1fr);background:#fff;border:1px solid var(--greige);border-radius:20px;overflow:hidden}.vendor-hub-time{background:var(--green);color:#fff;padding:22px 15px;text-align:center;display:flex;flex-direction:column}.vendor-hub-time strong{font-size:1.5rem}.vendor-hub-time span{font-size:.76rem;color:#dce6e2;margin-top:4px}.vendor-hub-event-main{padding:20px 22px}.vendor-hub-event-main h3{color:var(--green);margin:7px 0;font-size:1.2rem}.vendor-hub-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:.85rem;color:var(--muted);margin:10px 0}.vendor-hub-note{margin-top:14px;border-left:3px solid var(--greige);padding:3px 0 3px 14px}.vendor-hub-note.public{border-left-color:var(--terracotta)}.vendor-hub-note strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em;color:var(--green)}.vendor-hub-note p{margin:5px 0;color:var(--muted);line-height:1.65}.vendor-hub-empty{text-align:center;background:#fff;border:1px solid var(--greige);border-radius:20px;padding:38px}.vendor-hub-footer{text-align:center;padding:36px 20px 50px;color:var(--muted);font-size:.8rem;border-top:1px solid rgba(36,60,53,.1)}.vendor-hub-footer strong{letter-spacing:.1em;color:var(--green)}.vendor-hub-footer span{display:block;margin-top:5px}
@media(max-width:900px){.wedding-day-layout{grid-template-columns:1fr}.wedding-day-layout .sticky-card{position:static}}@media(max-width:650px){.day-event,.vendor-hub-event{grid-template-columns:1fr}.day-time,.vendor-hub-time{flex-direction:row;gap:6px;justify-content:flex-start;align-items:baseline;text-align:left}.vendor-hub-top{align-items:flex-start;flex-direction:column}.vendor-hub-top>div:first-child{align-items:flex-start;flex-direction:column;gap:3px}.vendor-hub-section-head{align-items:flex-start;flex-direction:column}}

/* Sprint 08 – Partner access */
.member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}.member-card{min-height:180px}.member-card-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.member-card h2{margin:.3rem 0}.member-card p{margin:.35rem 0}.invite-wrap{max-width:720px;margin:2rem auto}.invite-summary{display:flex;flex-direction:column;gap:.35rem;margin:1.5rem 0}.invite-summary span,.field-help,.muted{color:#6a756f}.btn-danger{background:#7a332d;color:#fff;border-color:#7a332d}.notice.warning{border-color:#b96f57}.form-card label{display:block;margin-bottom:1rem}.form-card input{width:100%;margin-top:.35rem}
@media (max-width:720px){.member-grid{grid-template-columns:1fr}}

/* Sprint 09 – Commerce, PayPal & Banktransfer */
.commerce-hero{max-width:900px;margin:40px auto 60px;text-align:center}.commerce-hero .lead{max-width:760px}.price-lockup{display:flex;flex-direction:column;align-items:center;gap:4px;margin:28px 0}.price-lockup strong{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.8rem,7vw,5rem);color:var(--green)}.price-lockup span{color:var(--muted)}.price-lockup.small{align-items:flex-start;margin:18px 0}.price-lockup.small strong{font-size:2.6rem}.commerce-features{margin-top:30px}.checkout-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;align-items:start;margin:24px 0}.checkout-product{position:sticky;top:20px}.clean-list{display:grid;gap:9px;padding-left:1.2rem;color:var(--muted)}.payment-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.payment-actions button[disabled]{opacity:.55;cursor:not-allowed}.bank-instructions{margin:26px 0;border-left:4px solid var(--terracotta)}.bank-instructions dl{display:grid;gap:0;margin:20px 0 0}.bank-instructions dl div{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:10px 0;border-top:1px solid var(--greige)}.bank-instructions dt{color:var(--muted)}.bank-instructions dd{margin:0;color:var(--green)}.order-list{display:grid;gap:10px}.order-row{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#fff;border:1px solid var(--greige);border-radius:16px;padding:15px 18px}.order-row>div{display:flex;flex-direction:column;gap:4px}.order-row>div:last-child{text-align:right}.order-row span{font-size:.82rem;color:var(--muted)}.status-pill{display:inline-flex;width:max-content;border-radius:99px;padding:3px 8px;font-size:.72rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:#f1eee7;color:var(--muted)!important}.status-paid{background:#e9f4ee;color:var(--success)!important}.status-pending{background:#fff4e9;color:#7b5135!important}.status-failed,.status-refunded,.status-reversed{background:#f9e9e7;color:var(--danger)!important}.upgrade-card{border:2px dashed var(--terracotta);background:#fffaf5}.success-panel{background:#edf6f1;border:1px solid #bfd9ca;border-radius:20px;padding:24px;margin:22px 0}.success-panel strong{font-size:1.25rem;color:var(--green)}.admin-orders{display:grid;gap:15px}.admin-order-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.admin-order-head h2{margin:4px 0;color:var(--green)}.admin-order-head p{margin:0;color:var(--muted)}.admin-order-amount{text-align:right;display:grid;gap:7px;justify-items:end}.admin-order-amount>strong{font-size:1.35rem;color:var(--green)}.admin-order-meta{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0;color:var(--muted);font-size:.82rem}.inline-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.inline-form input{min-width:220px;flex:1}.launch-checks{display:grid;gap:10px;list-style:none;padding:0}.launch-checks li{padding:11px 13px;border-radius:12px;background:#f6eee8;color:#764a37}.launch-checks li.ok{background:#edf6f1;color:var(--success)}.check-row{display:flex!important;gap:10px;align-items:center}.check-row input{width:auto!important;margin:0!important}
@media(max-width:800px){.checkout-grid{grid-template-columns:1fr}.checkout-product{position:static}.bank-instructions dl div{grid-template-columns:1fr;gap:3px}.admin-order-head,.order-row{align-items:flex-start;flex-direction:column}.admin-order-amount,.order-row>div:last-child{text-align:left;justify-items:start}}

/* Sprint 10 – Public Website & Ratgeber/CMS */
.public-main{width:min(1240px,calc(100% - 40px));padding-top:34px}.public-topbar{background:rgba(247,244,238,.97);backdrop-filter:blur(10px)}.public-nav>a:not(.btn){text-decoration:none;font-weight:700}.public-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-inline:clamp(20px,5vw,72px);text-align:left}.public-footer>div{display:grid;gap:5px}.public-footer>div strong{color:var(--green);letter-spacing:.12em}.public-footer nav{display:flex;gap:18px;flex-wrap:wrap}.hero-note{font-size:.86rem;color:var(--muted);margin-top:16px}.public-product-card{min-height:420px}.hero-eyebrow{color:#e7c7b9}.now-preview{display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center}.now-preview span{width:32px;height:32px;border:1px solid rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800}.now-preview p{margin:0;font-size:1.04rem}.public-section{margin:70px 0}.public-section .section-title-row h2,.public-callout h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.03em;color:var(--green)}.public-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.public-feature{background:#fff;border:1px solid var(--greige);border-radius:22px;padding:26px;min-height:270px;display:flex;flex-direction:column;align-items:flex-start}.public-feature>span{color:var(--terracotta);font-weight:850;font-size:.8rem}.public-feature h3{font-family:Georgia,serif;font-size:1.75rem;font-weight:400;color:var(--green);margin:18px 0 8px}.public-feature p{color:var(--muted);line-height:1.65;flex:1}.public-feature a{font-weight:750}.public-callout{background:var(--green);color:#fff;border-radius:28px;padding:clamp(28px,5vw,58px);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.public-callout .eyebrow{color:#e7c7b9}.public-callout h2{color:#fff;margin:.3em 0}.public-callout p{color:#d9e2de;max-width:760px;line-height:1.7}.content-hero{max-width:900px;margin:30px 0 36px}.content-hero .page-title{font-family:Georgia,serif;font-weight:400}.breadcrumb,.article-breadcrumbs a{text-decoration:none;font-weight:700}.category-chips{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 48px}.category-chips a{display:inline-flex;gap:8px;align-items:center;padding:9px 13px;border:1px solid var(--greige);background:#fff;border-radius:999px;text-decoration:none;font-size:.88rem;font-weight:700}.category-chips a.active{background:var(--green);color:#fff;border-color:var(--green)}.category-chips span{font-size:.72rem;opacity:.7}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.article-card{background:#fff;border:1px solid var(--greige);border-radius:22px;padding:25px;min-height:265px;display:flex;flex-direction:column}.article-card-meta{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--terracotta);font-weight:800}.article-card h3{font-family:Georgia,serif;font-weight:400;font-size:1.55rem;line-height:1.16;color:var(--green);margin:14px 0 10px}.article-card h3 a{text-decoration:none}.article-card p{color:var(--muted);line-height:1.6;flex:1}.article-card>a{font-weight:750}.article-page{max-width:920px;margin:20px auto 80px}.article-header{text-align:center;margin:35px 0 44px}.article-breadcrumbs{display:flex;justify-content:center;gap:10px;align-items:center;color:var(--muted);font-size:.85rem}.article-header h1{font-family:Georgia,serif;font-size:clamp(2.5rem,6vw,5rem);font-weight:400;color:var(--green);line-height:1.02;letter-spacing:-.045em;margin:22px 0}.article-deck{max-width:760px;margin:0 auto;font-size:1.16rem;line-height:1.7;color:var(--muted)}.article-byline{display:flex;justify-content:center;gap:18px;margin-top:22px;color:var(--muted);font-size:.82rem}.article-cover{margin:0 0 42px}.article-cover img{width:100%;max-height:520px;object-fit:cover;border-radius:24px}.article-body{max-width:760px;margin:0 auto;font-size:1.06rem;line-height:1.82}.article-body h1,.article-body h2,.article-body h3{font-family:Georgia,serif;font-weight:400;color:var(--green);line-height:1.15;margin:1.8em 0 .6em}.article-body h1{font-size:2.3rem}.article-body h2{font-size:1.9rem}.article-body h3{font-size:1.45rem}.article-body p{margin:1.1em 0}.article-body ul,.article-body ol{padding-left:1.4rem}.article-body li{margin:.55em 0}.article-body blockquote{margin:1.6em 0;border-left:4px solid var(--terracotta);padding:10px 0 10px 22px;color:var(--muted);font-size:1.12rem}.article-body hr{border:0;border-top:1px solid var(--greige);margin:2.5em 0}.article-cta{margin:55px auto 0;max-width:820px;background:var(--green);color:#fff;border-radius:24px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:30px}.article-cta h2{font-family:Georgia,serif;font-weight:400;margin:6px 0 0}.article-cta .eyebrow{color:#e7c7b9}.content-editor{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.content-editor-main>.label{margin-bottom:20px}.content-markdown{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55}.content-editor-side{display:grid;gap:16px}.content-editor-side h2{color:var(--green);margin-top:0}.admin-content-list{display:grid;gap:12px}.admin-content-row{display:flex;justify-content:space-between;align-items:center;gap:24px}.admin-content-row h2{font-size:1.25rem;color:var(--green);margin:6px 0}.admin-content-row p{margin:0;color:var(--muted);font-size:.85rem}
@media(max-width:900px){.public-feature-grid,.article-grid{grid-template-columns:1fr 1fr}.content-editor{grid-template-columns:1fr}.content-editor-side .sticky-card{position:static}.public-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.public-main{width:min(100% - 28px,1240px)}.public-footer{align-items:flex-start;flex-direction:column}.public-feature-grid,.article-grid{grid-template-columns:1fr}.article-cta,.admin-content-row{align-items:flex-start;flex-direction:column}.article-header{text-align:left}.article-breadcrumbs,.article-byline{justify-content:flex-start}.article-header h1{font-size:clamp(2.4rem,13vw,4rem)}}

/* Sprint 11 – Locations & Dienstleister Directory */
.directory-hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin:28px 0 28px}.directory-hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:400;line-height:1;color:var(--green);margin:.18em 0}.directory-hero p{max-width:760px;color:var(--muted);font-size:1.08rem;line-height:1.65}.directory-count{display:grid;justify-items:end}.directory-count strong{font-family:Georgia,serif;font-size:3.4rem;font-weight:400;color:var(--green)}.directory-count span{color:var(--muted)}.directory-filter{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr auto;gap:12px;align-items:end;margin-bottom:20px}.directory-filter label{font-size:.8rem;font-weight:800;color:var(--muted)}.directory-filter .input{margin-top:6px}.directory-filter-actions{display:flex;align-items:center;gap:10px;padding-bottom:2px}.directory-filter-actions>a{font-size:.82rem;font-weight:700}.directory-chips{margin:12px 0 30px}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:70px}.provider-card{background:#fff;border:1px solid var(--greige);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.provider-image{height:210px;background:#e9e4db;display:block;overflow:hidden}.provider-image img{width:100%;height:100%;object-fit:cover}.provider-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,var(--green),#365a4f);text-decoration:none}.provider-placeholder span{font-family:Georgia,serif;font-size:4.5rem;color:#fff}.provider-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.provider-meta{display:flex;gap:7px;min-height:24px}.featured-pill,.verified-pill{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.featured-pill{background:#f6e7df;color:#8f4d39}.verified-pill{background:#e8f3ed;color:#256148}.provider-card h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:400;color:var(--green);margin:12px 0 4px}.provider-card h2 a{text-decoration:none}.provider-card p{color:var(--muted);line-height:1.55}.provider-place{font-weight:750;color:var(--green)!important;margin:0}.provider-categories{font-size:.78rem;margin:8px 0}.provider-price{font-weight:800;color:var(--terracotta);margin-top:auto;padding-top:10px}.provider-link{font-weight:800;margin-top:14px}.provider-profile{margin-bottom:80px}.provider-profile-header{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:36px;align-items:center;margin:30px 0 34px}.provider-profile-header h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.8rem);font-weight:400;line-height:.98;color:var(--green);margin:.18em 0}.provider-profile-header .lead{max-width:760px}.provider-profile-hero img{width:100%;height:400px;object-fit:cover;border-radius:26px}.provider-profile-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px;color:var(--muted)}.provider-profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:22px;align-items:start}.provider-profile-main{display:grid;gap:18px}.provider-profile-side{display:grid;gap:18px}.provider-description{max-width:none;margin:0}.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.fact-grid div{background:var(--cream);border-radius:14px;padding:14px}.fact-grid dt{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.fact-grid dd{margin:5px 0 0;color:var(--green);font-weight:750}.contact-links{display:grid;gap:9px}.contact-links a{font-weight:750}.directory-lead-card form{display:grid;gap:4px}.honeypot{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.category-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:12px 0 28px}.category-admin-grid>div{display:grid;gap:7px;align-content:start}.category-admin-grid strong{color:var(--green);margin-bottom:6px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 20px}.lead-admin-row{display:flex;justify-content:space-between;gap:24px}.lead-admin-row h2{color:var(--green);margin:6px 0}.lead-admin-row p{color:var(--muted);line-height:1.55}
@media(max-width:1050px){.directory-filter{grid-template-columns:1fr 1fr}.directory-filter-actions{grid-column:1/-1}.provider-grid{grid-template-columns:1fr 1fr}.provider-profile-header,.provider-profile-grid{grid-template-columns:1fr}.provider-profile-hero img{height:min(55vw,420px)}}
@media(max-width:650px){.directory-hero{align-items:flex-start;flex-direction:column}.directory-count{justify-items:start}.directory-filter,.provider-grid,.fact-grid,.category-admin-grid,.checkbox-grid{grid-template-columns:1fr}.provider-image{height:230px}.lead-admin-row{flex-direction:column}}

/* Sprint 12 – Anbieter-Claim & Anbieterbereich */
.claim-wrap{max-width:720px}.provider-claim-card{border-style:dashed}.provider-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.provider-portal-card h2{font-family:Georgia,serif;font-weight:400;color:var(--green);font-size:1.8rem}.provider-portal-card strong{display:block;margin-top:14px;color:var(--terracotta)}.category-admin-grid.one{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-review-form{margin-top:10px}.provider-portal-card .actions{margin-top:18px}@media(max-width:760px){.provider-portal-grid,.category-admin-grid.one{grid-template-columns:1fr}}

/* Sprint 13 – Anbieter-Selbstregistrierung */
.provider-signup-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:28px;align-items:center;margin:36px 0}.provider-signup-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.6rem);font-weight:400;line-height:1;color:var(--green);margin:.18em 0}.provider-signup-hero ol{padding-left:1.25rem;line-height:1.8;color:var(--muted)}.provider-signup-features{margin-bottom:24px}.staging-note{padding:14px 18px;border:1px dashed var(--terracotta);border-radius:14px;color:var(--muted);max-width:900px}.provider-kind-choice{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px}.provider-kind-choice .card{text-decoration:none;padding:30px}.provider-kind-choice h2{font-family:Georgia,serif;font-weight:400;color:var(--green);font-size:1.8rem}.provider-signup-form{display:grid;gap:18px;max-width:980px}.provider-signup-form .panel h2,.provider-confirmations h2{color:var(--green);margin-top:0}.provider-confirmations{display:grid;gap:12px}.provider-confirmations .btn{width:max-content;margin-top:8px}.check-row{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.check-row input{margin-top:.25rem}.form-grid .span-2{grid-column:1/-1}.directory-provider-callout{margin-top:40px}@media(max-width:760px){.provider-signup-hero,.provider-kind-choice{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}}

/* Sprint 14 – Anbieterbilder & private Medienauslieferung */
.media-admin-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;align-items:start;margin:22px 0}.provider-media-upload{display:grid;gap:14px}.provider-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:20px 0}.provider-media-card{padding:0;overflow:hidden}.provider-media-preview{aspect-ratio:4/3;background:#ece7df;display:grid;place-items:center;overflow:hidden}.provider-media-preview img{width:100%;height:100%;object-fit:cover}.provider-media-card-body{padding:16px}.media-facts{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.75rem;margin:8px 0 12px}.provider-media-delete-list{display:grid;gap:8px;margin:20px 0 40px}.provider-media-delete-list form{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--greige);padding:10px 0}.link-button.danger{color:#9b3a2f}.provider-logo{width:96px;height:96px;border:1px solid var(--greige);border-radius:20px;background:#fff;padding:10px;margin-bottom:18px;display:grid;place-items:center}.provider-logo img{max-width:100%;max-height:100%;object-fit:contain}.provider-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:230px;gap:10px;margin:0 0 28px}.provider-gallery-item{margin:0;border-radius:18px;overflow:hidden;background:#e9e4db}.provider-gallery-item img{width:100%;height:100%;object-fit:cover}.provider-gallery-featured{grid-row:span 2}.provider-gallery-item:nth-child(n+6){display:none}
@media(max-width:900px){.media-admin-grid{grid-template-columns:1fr}.provider-media-grid{grid-template-columns:1fr 1fr}.provider-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:210px}.provider-gallery-featured{grid-row:auto;grid-column:1/-1}}
@media(max-width:620px){.provider-media-grid,.provider-gallery{grid-template-columns:1fr}.provider-gallery-item,.provider-gallery-featured{grid-column:auto;grid-row:auto;height:230px}.provider-media-delete-list form{align-items:flex-start;flex-direction:column}}

/* Sprint 15 – Directory Suche, Pagination & kuratierte regionale SEO-Seiten */
.directory-filter-location{grid-template-columns:1.2fr 1fr 1fr 1fr .7fr}.directory-checks{display:flex;gap:12px;align-items:center;flex-wrap:wrap;grid-column:1/-2;padding:2px 0 4px}.directory-checks label{display:flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;color:var(--green)}.directory-region-links{margin:20px 0 30px}.region-link-grid{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.region-link-grid a{display:inline-flex;padding:9px 13px;border:1px solid var(--greige);border-radius:999px;background:#fff;text-decoration:none;font-weight:750}.pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin:26px 0 56px;padding-top:18px;border-top:1px solid var(--greige)}.pagination a{font-weight:800;text-decoration:none}.pagination a:last-child{text-align:right}.pagination span{color:var(--muted);font-size:.86rem}.directory-landing-hero{max-width:880px;margin:30px 0}.directory-landing-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.4rem);font-weight:400;line-height:1;color:var(--green);margin:.18em 0}.directory-landing-hero p{font-size:1.05rem;color:var(--muted)}.directory-landing-intro{max-width:900px;margin:0 0 30px}.directory-related{margin:54px 0}.directory-related h2{font-family:Georgia,serif;font-size:2.25rem;font-weight:400;color:var(--green);margin:.25em 0 22px}
@media(max-width:1050px){.directory-filter-location{grid-template-columns:1fr 1fr}.directory-checks{grid-column:1/-1}}
@media(max-width:650px){.pagination{grid-template-columns:1fr 1fr}.pagination span{grid-column:1/-1;grid-row:1;text-align:center}.pagination a:first-of-type{grid-column:1}.pagination a:last-child{grid-column:2}.directory-checks{display:grid;grid-template-columns:1fr}.directory-landing-hero h1{font-size:clamp(2.6rem,13vw,4.2rem)}}
.test-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;margin-left:5px;font-size:.68rem;font-weight:800;letter-spacing:.06em;background:#fff0dc;color:#7a4e20}.status-partially_refunded{background:#fff0dc;color:#7a4e20!important}.admin-order-amount small{color:var(--muted);font-size:.8rem}

/* Sprint 17 – Launch Readiness, Recht & elektronische Widerrufsfunktion */
.legal-page{max-width:900px;margin:20px auto}.legal-body{background:#fff;border:1px solid var(--greige);border-radius:22px;padding:30px;line-height:1.75}.legal-body h1,.legal-body h2,.legal-body h3{color:var(--green)}.withdrawal-page{max-width:760px}.withdrawal-form{display:grid;gap:14px}.legal-summary{display:grid;gap:12px}.legal-summary div{padding-bottom:10px;border-bottom:1px solid var(--greige)}.legal-summary dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.legal-summary dd{margin:5px 0 0;font-weight:650}.legal-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.admin-legal-list{display:grid;gap:10px}.admin-legal-list .card{display:flex;justify-content:space-between;align-items:center;gap:15px}.consent-admin-row{display:grid;grid-template-columns:1.1fr auto auto 2fr;gap:12px;align-items:start;padding:14px 0;border-top:1px solid var(--greige)}.consent-admin-row code{font-size:.75rem;display:inline-block;margin-left:8px}.launch-readiness-list{display:grid;gap:8px}.launch-readiness-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--warm)}.launch-readiness-row.ok span{color:var(--success);font-weight:900}.launch-readiness-row.open span{color:var(--terracotta);font-weight:900}.launch-readiness-row small{color:var(--muted)}.payment-choice{border:1px solid var(--greige);border-radius:14px;padding:14px;margin:18px 0}.payment-choice legend{font-weight:800;color:var(--green)}.checkout-disclosure{background:var(--warm);border-radius:14px;padding:16px;margin:16px 0;line-height:1.6}.checkout-disclosure p:first-child{margin-top:0}.checkout-disclosure p:last-child{margin-bottom:0}.checkout-legal-links{padding:14px 0;border-top:1px solid var(--greige);border-bottom:1px solid var(--greige);margin:16px 0}.checkout-legal-links>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.checkout-consent{padding:10px 0}.order-summary-final{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:1.05rem;padding:18px 0;margin-top:12px;border-top:2px solid var(--green)}.order-summary-final strong{font-size:1.3rem;color:var(--green)}.checkout-access{margin-top:18px;padding-top:15px;border-top:1px solid var(--greige)}.checkout-access p{color:var(--muted)}
@media(max-width:850px){.legal-admin-grid,.consent-admin-row{grid-template-columns:1fr}.launch-readiness-row{grid-template-columns:24px 1fr}.launch-readiness-row small{grid-column:2}}

/* Sprint 19 · Rechnungsbeleg */
.invoice-page{max-width:980px;margin:0 auto}.invoice-toolbar{display:flex;gap:.75rem;justify-content:flex-end;margin-bottom:1rem}.invoice-document{padding:2rem}.invoice-header{display:flex;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line,#ddd);padding-bottom:1.5rem}.invoice-header h1{margin:.2rem 0}.invoice-header dl{margin:0;min-width:280px}.invoice-header dl div{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0}.invoice-header dt{color:var(--muted,#667085)}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2rem 0}.invoice-parties h2{font-size:1rem;margin-bottom:.5rem}.invoice-table{width:100%;border-collapse:collapse;margin:1.5rem 0}.invoice-table th,.invoice-table td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line,#ddd);vertical-align:top}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right}.invoice-table td small{display:block;color:var(--muted,#667085);margin-top:.35rem}.invoice-tax-note{padding:1rem;border-radius:12px;background:rgba(0,0,0,.035);margin:1rem 0}.text-link{font-size:.9rem;text-decoration:underline}@media(max-width:720px){.invoice-header,.invoice-parties{grid-template-columns:1fr;display:grid}.invoice-header dl{min-width:0}.invoice-document{padding:1.25rem}}@media print{.topbar,.footer,.invoice-toolbar,.flash,.notice.warning{display:none!important}.shell,.main{max-width:none!important;margin:0!important;padding:0!important}.invoice-page{max-width:none}.invoice-document{box-shadow:none!important;border:0!important;padding:0!important}.invoice-tax-note{border:1px solid #ddd;background:transparent}}


/* Sprint 20: konsistente Bereichsnavigation */
.area-nav{width:100%;display:flex;align-items:center;gap:6px;padding:10px clamp(20px,5vw,72px);background:#fff;border-bottom:1px solid var(--greige);overflow-x:auto;scrollbar-width:thin;position:sticky;top:72px;z-index:9}.area-nav a{white-space:nowrap;text-decoration:none;font-size:.88rem;font-weight:750;padding:8px 11px;border-radius:10px;color:var(--muted)}.area-nav a:hover,.area-nav a.active{background:var(--warm);color:var(--green)}.area-nav a.active{box-shadow:inset 0 0 0 1px var(--greige)}
.account-page-head{margin-bottom:26px}.account-order-list{display:grid;gap:14px}.account-order-card{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.account-order-card>div:first-child{display:grid;gap:5px}.account-order-title{display:flex;gap:9px;align-items:center;font-size:1.08rem}.account-order-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:180px}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.account-grid h2{margin-top:0;color:var(--green)}.account-details{margin:0}.account-details div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--greige)}.account-details dt{color:var(--muted)}.account-details dd{margin:0;font-weight:650}.account-weddings{display:grid;gap:10px}.account-weddings a{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--greige);text-decoration:none}.account-weddings a span{color:var(--muted);font-size:.88rem;text-align:right}
@media(max-width:760px){.area-nav{top:72px;padding-inline:16px}.account-order-card{flex-direction:column}.account-order-actions{align-items:flex-start;min-width:0}.account-grid{grid-template-columns:1fr}.account-details div{grid-template-columns:1fr}.account-weddings a{flex-direction:column}.account-weddings a span{text-align:left}}

/* Sprint 21: Production & Launch Preflight */
.launch-host-badge{display:flex;flex-direction:column;align-items:flex-end;gap:4px;padding:10px 14px;border:1px solid var(--greige);border-radius:14px;background:#fff}.launch-host-badge span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.launch-host-badge strong{color:var(--green)}.launch-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.launch-summary-card{padding:16px;display:flex;flex-direction:column;gap:5px}.launch-summary-card span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.launch-summary-card strong{font-size:1.1rem}.launch-summary-card.ready{box-shadow:inset 4px 0 0 var(--success)}.launch-summary-card.blocked{box-shadow:inset 4px 0 0 var(--terracotta)}.launch-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.launch-manual-card{border:1px solid var(--greige);border-radius:14px;padding:15px;background:var(--warm)}.launch-manual-card.done{box-shadow:inset 3px 0 0 var(--success)}.launch-approval-form{display:grid;gap:12px;margin:16px 0}.inline-form{display:inline-block}.btn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.launch-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.launch-manual-grid{grid-template-columns:1fr}.launch-host-badge{align-items:flex-start}}
@media(max-width:560px){.launch-summary-grid{grid-template-columns:1fr}}

@media(max-width:650px){.brand-logo{width:165px;max-height:46px}.footer-brand{display:flex;flex-direction:column;gap:8px}.footer-brand-logo{width:170px}}

.footer-legal-nav{display:flex;gap:18px;flex-wrap:wrap}.footer-contract-service{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--greige);border-radius:14px;background:#fff}.footer-contract-service strong{color:var(--green);font-size:.86rem}.footer-contract-service a{font-weight:800;text-decoration:none}.account-contract-service{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:24px}.account-contract-service h2{margin:.25rem 0 .4rem;color:var(--green)}.account-contract-service p{margin:0}@media(max-width:850px){.account-contract-service{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.footer-contract-service{width:100%;align-items:flex-start;flex-direction:column}}

/* Sprint 23.6 – Ratgeberbilder, Vorschaubilder & Admin-Medien */
.article-card{padding:0;overflow:hidden}.article-card-image{display:block;aspect-ratio:16/9;background:var(--warm);overflow:hidden}.article-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.article-card-image:hover img{transform:scale(1.015)}.article-card-body{padding:22px 25px 25px;display:flex;flex-direction:column;flex:1}.article-card-body p{flex:1}.article-media-admin{display:grid;gap:12px}.article-media-preview{aspect-ratio:16/9;border:1px solid var(--greige);border-radius:14px;overflow:hidden;background:var(--warm);display:grid;place-items:center}.article-media-preview img{width:100%;height:100%;object-fit:cover}.article-media-placeholder{color:var(--muted);font-size:.86rem;text-align:center;padding:24px}.admin-content-row{display:grid;grid-template-columns:110px minmax(0,1fr) auto}.admin-content-thumb{width:110px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:var(--warm)}.admin-content-copy{min-width:0}.admin-content-copy h2{overflow-wrap:anywhere}@media(max-width:760px){.admin-content-row{grid-template-columns:84px minmax(0,1fr)}.admin-content-thumb{width:84px}.admin-content-row .row-actions{grid-column:1/-1}.article-card-body{padding:20px}}
.admin-content-thumb-placeholder{display:grid;place-items:center;border:1px dashed var(--greige);color:var(--muted);font-size:.72rem;text-align:center}


/* Sprint 23.7 – Public Footer Redesign */
.footer-pre-cta{width:min(1160px,calc(100% - 40px));margin:10px auto 0;padding:clamp(28px,5vw,52px);background:var(--green);color:#fff;border-radius:28px 28px 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:40px;box-shadow:0 20px 60px rgba(36,60,53,.14)}
.footer-pre-cta .eyebrow{color:#e7c7b9}
.footer-pre-cta h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.03em;margin:.25em 0;color:#fff}
.footer-pre-cta p{max-width:700px;margin:0;color:#dce6e2;line-height:1.7}
.footer-pre-cta-actions{display:flex;gap:12px;flex-wrap:wrap;flex:none}
.footer-outline-btn{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
.footer-outline-btn:hover{background:rgba(255,255,255,.08);filter:none}
.public-footer.footer-mega{display:block;background:#eee7dc;border-top:0;padding:0;color:var(--ink);text-align:left}
.footer-mega-inner{width:min(1240px,calc(100% - 40px));margin:0 auto;padding:clamp(48px,6vw,78px) 0 44px;display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(145px,1fr));gap:clamp(28px,4vw,54px);align-items:start}
.footer-brand-panel{display:block}
.footer-logo-link{display:inline-flex;text-decoration:none;margin-bottom:18px}
.footer-mega .footer-brand-logo{width:min(220px,100%);max-height:none}
.footer-brand-claim{font-weight:800;color:var(--green);line-height:1.45;margin:0 0 12px;max-width:300px}
.footer-brand-copy{font-size:.92rem;line-height:1.7;color:var(--muted);max-width:310px;margin:0}
.footer-column{display:block}
.footer-title{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em;color:var(--green);margin:3px 0 18px;font-weight:850}
.public-footer .footer-link-list{display:grid;gap:11px}
.public-footer .footer-link-list a{display:block;text-decoration:none;color:#4e5a55;font-size:.92rem;line-height:1.45}
.public-footer .footer-link-list a:hover{color:var(--terracotta);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.footer-mega .footer-contract-service{display:block;padding:0;border:0;border-radius:0;background:transparent}
.footer-mega .footer-contract-service .footer-title{color:var(--green);font-size:.78rem;letter-spacing:.11em}
.footer-bottom{border-top:1px solid rgba(36,60,53,.13);width:min(1240px,calc(100% - 40px));margin:0 auto;padding:20px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:var(--muted);font-size:.82rem}
.public-footer .footer-legal-nav{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}
.public-footer .footer-legal-nav a{text-decoration:none;color:var(--muted)}
.public-footer .footer-legal-nav a:hover{color:var(--green)}
@media(max-width:1050px){.footer-mega-inner{grid-template-columns:1.4fr repeat(2,1fr)}.footer-brand-panel{grid-row:span 2}}
@media(max-width:760px){.footer-pre-cta{width:min(100% - 28px,1160px);border-radius:22px 22px 0 0;align-items:flex-start;flex-direction:column}.footer-pre-cta-actions{width:100%}.footer-pre-cta-actions .btn{flex:1}.footer-mega-inner{width:min(100% - 36px,1240px);grid-template-columns:1fr 1fr;padding-top:46px}.footer-brand-panel{grid-column:1/-1;grid-row:auto}.footer-bottom{width:min(100% - 36px,1240px);align-items:flex-start;flex-direction:column}.public-footer .footer-legal-nav{justify-content:flex-start}}
@media(max-width:520px){.footer-pre-cta-actions{display:grid;grid-template-columns:1fr}.footer-mega-inner{grid-template-columns:1fr;gap:32px}.footer-brand-panel{grid-column:auto}.footer-title{margin-bottom:12px}.public-footer .footer-link-list{gap:9px}}

/* Sprint 23.7.1 – Footer visual balance */
.brand-logo,.footer-mega .footer-brand-logo{width:220px}
.footer-pre-cta{width:min(1480px,calc(100% - 72px))}
.footer-mega-inner{width:min(1480px,calc(100% - 72px));grid-template-columns:minmax(280px,1.45fr) repeat(4,minmax(160px,1fr));gap:clamp(34px,3vw,58px)}
.footer-bottom{width:min(1480px,calc(100% - 72px));justify-content:center;flex-direction:row;flex-wrap:wrap;gap:28px;text-align:center}
.public-footer .footer-legal-nav{justify-content:center}
.footer-mega .footer-contract-service .footer-link-list a{font-weight:400}
@media(max-width:1050px){.footer-mega-inner{grid-template-columns:1.4fr repeat(2,1fr)}.footer-brand-panel{grid-row:span 2}}
@media(max-width:760px){.footer-pre-cta{width:min(100% - 28px,1480px)}.footer-mega-inner,.footer-bottom{width:min(100% - 36px,1480px)}.footer-mega-inner{grid-template-columns:1fr 1fr}.footer-brand-panel{grid-column:1/-1;grid-row:auto}.footer-bottom{align-items:center;justify-content:center;flex-direction:row}.public-footer .footer-legal-nav{justify-content:center}}
@media(max-width:650px){.brand-logo,.footer-mega .footer-brand-logo{width:170px}}
@media(max-width:520px){.footer-mega-inner{grid-template-columns:1fr}.footer-brand-panel{grid-column:auto}}


/* Sprint 23.7.2 – Internal Footer Cleanup */
.footer.footer-internal{padding:24px clamp(20px,5vw,72px);text-align:center;color:var(--muted);border-top:1px solid var(--greige);background:rgba(247,244,238,.96)}
.internal-footer-line{width:min(1160px,calc(100% - 40px));margin:0 auto;display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap}
.internal-footer-brand{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}
.footer-internal .internal-footer-brand>a{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.footer-internal .footer-brand-logo{width:190px;height:auto;max-height:46px;object-fit:contain}
.internal-footer-claim{font-size:.9rem;line-height:1.45;color:var(--muted);white-space:nowrap}
.internal-footer-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0;font-size:.88rem}
.internal-footer-legal::before{content:"·";margin-right:12px;color:#a29b92}
.internal-footer-legal a{font-weight:400;text-decoration:none;color:var(--muted)}
.internal-footer-legal a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
.internal-footer-legal a+a::before{content:"·";display:inline-block;margin:0 12px;color:#a29b92;text-decoration:none}
@media(max-width:850px){.internal-footer-line{flex-direction:column;gap:10px}.internal-footer-legal::before{display:none}}
@media(max-width:520px){.footer.footer-internal{padding:28px 18px}.internal-footer-line{width:100%}.internal-footer-brand{flex-direction:column;gap:7px}.footer-internal .footer-brand-logo{width:175px}.internal-footer-claim{white-space:normal}.internal-footer-legal{row-gap:8px}}


/* Sprint 23.7.3 – Internal Footer Polish */
.footer.footer-internal{padding:0 clamp(20px,5vw,72px);text-align:left;background:rgba(247,244,238,.96)}
.internal-footer-shell{width:min(1480px,calc(100% - 72px));margin:0 auto}
.internal-footer-brand-row{display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:28px 0 20px;min-width:0}
.footer-internal .internal-footer-brand-row>a{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.footer-internal .footer-brand-logo{width:220px;height:auto;max-height:none;object-fit:contain}
.internal-footer-claim{font-size:.9rem;line-height:1.45;color:var(--muted);white-space:nowrap}
.internal-footer-bottom{border-top:1px solid rgba(36,60,53,.13);padding:18px 0 24px;display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;text-align:center;color:var(--muted);font-size:.82rem}
.internal-footer-copyright{white-space:nowrap}
.internal-footer-legal{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:inherit}
.internal-footer-legal::before,.internal-footer-legal a+a::before{content:none;display:none}
.internal-footer-legal a{font-weight:400;text-decoration:none;color:var(--muted)}
.internal-footer-legal a:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){.internal-footer-shell{width:min(100% - 36px,1480px)}.internal-footer-brand-row{padding-top:24px}.internal-footer-bottom{gap:18px}}
@media(max-width:650px){.footer-internal .footer-brand-logo{width:170px}}
@media(max-width:520px){.footer.footer-internal{padding:0 18px}.internal-footer-shell{width:100%}.internal-footer-brand-row{align-items:flex-start;flex-direction:column;gap:7px}.internal-footer-claim{white-space:normal}.internal-footer-bottom{flex-direction:column;gap:10px}.internal-footer-legal{gap:14px}}


/* Sprint 23.7.4 – Internal Footer parity with public footer */
.footer.footer-internal{background:#eee7dc;color:var(--ink);border-top:0}
.internal-footer-shell{width:min(1480px,calc(100% - 72px));margin:0 auto}
.internal-footer-brand-row{padding:42px 0 30px;display:flex;align-items:center;justify-content:flex-start}
.internal-footer-brand-lockup{display:inline-flex;align-items:center;justify-content:flex-start;gap:18px;width:max-content;max-width:100%}
.footer-internal .internal-footer-brand-lockup>a{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.footer-internal .footer-brand-logo{width:220px;height:auto;max-height:none;object-fit:contain}
.footer-internal .internal-footer-claim{margin:0;font-size:1rem;font-weight:800;line-height:1.45;color:var(--green);white-space:nowrap}
.internal-footer-bottom{border-top:1px solid rgba(36,60,53,.13);padding:20px 0 26px;color:var(--muted);font-size:.82rem}
.internal-footer-legal{font-size:inherit}
@media(max-width:760px){.internal-footer-shell{width:min(100% - 36px,1480px)}.internal-footer-brand-row{padding:34px 0 24px}.internal-footer-brand-lockup{gap:14px}}
@media(max-width:650px){.footer-internal .footer-brand-logo{width:170px}.footer-internal .internal-footer-claim{font-size:.92rem}}
@media(max-width:520px){.footer.footer-internal{padding:0 18px}.internal-footer-shell{width:100%}.internal-footer-brand-row{padding:30px 0 22px}.internal-footer-brand-lockup{align-items:flex-start;flex-direction:column;gap:10px;width:100%}.footer-internal .internal-footer-claim{white-space:normal}.internal-footer-bottom{flex-direction:column;gap:10px}.internal-footer-legal{gap:14px}}


/* Sprint 23.9 – Kündigungsformular UX */
.termination-conditional[hidden]{display:none!important}

/* Sprint 23.10.1 – Wedding onboarding field guidance */
.field-label-row{display:flex;align-items:center;gap:7px;margin-bottom:7px;min-width:0}
.field-label-row .label{margin-bottom:0}
.field-help{position:relative;display:inline-flex;flex:none;margin:0}
.field-help>summary{list-style:none;width:20px;height:20px;border:1px solid var(--greige);border-radius:50%;display:grid;place-items:center;background:var(--warm);color:var(--green);font-size:.78rem;font-weight:850;line-height:1;cursor:help;user-select:none}
.field-help>summary::-webkit-details-marker{display:none}
.field-help>summary::marker{content:""}
.field-help>summary:hover,.field-help>summary:focus-visible{border-color:var(--terracotta);color:var(--terracotta);outline:none}
.field-help>summary:focus-visible{box-shadow:0 0 0 3px rgba(185,111,87,.15)}
.field-help-popover{display:none;position:absolute;z-index:30;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(320px,calc(100vw - 48px));padding:12px 14px;border:1px solid var(--greige);border-radius:12px;background:#fff;box-shadow:var(--shadow);color:var(--ink);font-size:.86rem;font-weight:400;line-height:1.5;text-align:left}
.field-help[open] .field-help-popover,.field-help:hover .field-help-popover,.field-help:focus-within .field-help-popover{display:block}
.required-fields-note{margin:0 0 18px;color:var(--muted);font-size:.86rem}

/* Sprint 23.12 – Public TRAUKLAR FAQ */
.faq-page-hero{max-width:860px;padding:18px 0 40px}
.faq-page-hero .lead{max-width:780px}
.faq-topic{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:clamp(30px,5vw,72px);padding:42px 0;border-top:1px solid rgba(36,60,53,.13)}
.faq-topic-heading{position:sticky;top:104px;align-self:start}
.faq-topic-heading h2{margin:.25em 0 0;color:var(--green);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15}
.faq-list{display:grid;gap:10px}
.faq-item{background:#fff;border:1px solid var(--greige);border-radius:16px;overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:19px 20px;color:var(--green);font-weight:800;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::marker{content:""}
.faq-item summary>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--warm);color:var(--terracotta);font-size:1.15rem;line-height:1;transition:transform .15s ease}
.faq-item[open] summary>span{transform:rotate(45deg)}
.faq-answer{padding:0 20px 20px}
.faq-answer p{margin:0;color:var(--muted);line-height:1.75;max-width:820px}
.faq-answer a{font-weight:700}
.faq-help-card{margin:48px 0 10px;padding:30px;border-radius:22px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}
.faq-help-card .eyebrow{color:#e5a891}
.faq-help-card h2{margin:.2em 0;color:#fff;font-size:clamp(1.7rem,3vw,2.4rem)}
.faq-help-card p{margin:8px 0 0;color:#dfe8e4;line-height:1.7;max-width:720px}
.faq-help-card .actions{margin-top:0;flex:none}
.faq-help-card .btn-secondary{border-color:#fff;color:#fff}
@media(max-width:800px){.faq-page-hero{padding-top:0}.faq-topic{grid-template-columns:1fr;gap:18px;padding:34px 0}.faq-topic-heading{position:static}.faq-help-card{align-items:flex-start;flex-direction:column}.faq-help-card .actions{width:100%}.faq-help-card .actions .btn{flex:1}}
@media(max-width:520px){.faq-item summary{padding:17px 16px}.faq-answer{padding:0 16px 18px}.faq-help-card{padding:24px}.faq-help-card .actions{display:grid;grid-template-columns:1fr}}

/* Sprint 23.12.2 – Login layout polish */
.auth-login-wrap{max-width:560px;margin:26px auto}
.auth-login-panel{padding:38px 40px}
.auth-login-panel .page-title{margin-bottom:28px}
.auth-login-form{display:grid;gap:2px}
.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:7px}
.auth-label-row .label{margin:0}
.auth-forgot-link{font-size:.88rem;font-weight:650;white-space:nowrap}
.auth-primary-action,.auth-secondary-action{width:100%}
.auth-primary-action{margin-top:2px;padding-block:14px}
.auth-register-block{margin-top:26px;padding-top:24px;border-top:1px solid var(--greige);text-align:center}
.auth-register-block p{margin:0 0 12px;color:var(--muted);font-size:.92rem}
.auth-secondary-action{padding-block:13px}
@media(max-width:640px){.auth-login-wrap{max-width:100%;margin:10px auto}.auth-login-panel{padding:28px 22px}.auth-label-row{align-items:flex-start}.auth-forgot-link{font-size:.82rem}}

/* Sprint 23.13 – Wedding OS direct navigation */
.workspace-app-frame{width:min(1480px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,3vw,52px);align-items:start;flex:1}
.workspace-app-main{width:100%;min-width:0;margin:0;padding:46px 0 80px}
.workspace-side-nav{position:sticky;top:96px;margin:28px 0 56px;background:#fff;border:1px solid var(--greige);border-radius:20px;box-shadow:0 10px 32px rgba(36,60,53,.07);overflow:hidden}
.workspace-side-head{padding:20px 18px 18px;border-bottom:1px solid rgba(36,60,53,.11);background:var(--warm);display:grid;gap:4px}
.workspace-side-head>span{font-size:.72rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:var(--terracotta)}
.workspace-side-head>strong{color:var(--green);font-size:1.02rem;line-height:1.35}
.workspace-side-head>small{color:var(--muted);font-size:.82rem}
.workspace-side-links,.workspace-side-account{display:grid;padding:10px}
.workspace-side-links a,.workspace-side-account a,.workspace-mobile-menu-panel a{position:relative;display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:720;line-height:1.3}
.workspace-side-links a:hover,.workspace-side-account a:hover,.workspace-mobile-menu-panel a:hover{background:var(--warm);color:var(--green)}
.workspace-side-links a.active,.workspace-mobile-menu-panel a.active{background:var(--warm);color:var(--green);font-weight:820}
.workspace-side-links a.active::before,.workspace-mobile-menu-panel a.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--terracotta)}
.workspace-side-account{border-top:1px solid rgba(36,60,53,.11);padding-top:14px;padding-bottom:14px}
.workspace-side-section-title{display:block;padding:0 12px 7px;color:var(--terracotta);font-size:.69rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.workspace-mobile-menu{display:none}
.workspace-mobile-menu>summary{list-style:none;cursor:pointer;background:#fff;border:1px solid var(--greige);border-radius:14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 24px rgba(36,60,53,.06)}
.workspace-mobile-menu>summary::-webkit-details-marker{display:none}
.workspace-mobile-menu>summary::marker{content:""}
.workspace-mobile-menu>summary>span{font-weight:820;color:var(--green)}
.workspace-mobile-menu>summary>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.84rem;font-weight:650}
.workspace-mobile-menu[open]>summary{border-radius:14px 14px 0 0}
.workspace-mobile-menu-panel{background:#fff;border:1px solid var(--greige);border-top:0;border-radius:0 0 14px 14px;padding:8px}
.workspace-mobile-menu-panel nav{display:grid}
.workspace-mobile-menu-panel .workspace-side-section-title{margin-top:8px;padding-top:11px;border-top:1px solid rgba(36,60,53,.11)}
@media(max-width:980px){.workspace-app-frame{grid-template-columns:220px minmax(0,1fr);gap:24px;width:min(100% - 36px,1480px)}.workspace-side-links a,.workspace-side-account a{font-size:.86rem;padding-inline:10px}.workspace-side-head{padding-inline:15px}}
@media(max-width:800px){.workspace-app-frame{display:block;width:min(100% - 28px,1480px)}.workspace-side-nav{display:none}.workspace-mobile-menu{display:block;margin:18px 0 0}.workspace-app-main{padding:28px 0 64px}}

/* Sprint 23.13.1 – Anbieterbereich Direktnavigation */
.provider-app-frame{width:min(1480px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,3vw,52px);align-items:start;flex:1}
.provider-app-main{width:100%;min-width:0;margin:0;padding:56px 0 80px}
.provider-side-nav{position:sticky;top:96px;margin:28px 0 56px;background:#fff;border:1px solid var(--greige);border-radius:20px;box-shadow:0 10px 32px rgba(36,60,53,.07);overflow:hidden}
.provider-side-head{padding:18px 18px 15px;border-bottom:1px solid rgba(36,60,53,.09);background:linear-gradient(180deg,#fff 0%,#fbf9f5 100%);display:flex;flex-direction:column;gap:4px}
.provider-side-head>span{color:var(--terracotta);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.provider-side-head>strong{color:var(--green);font-size:1rem;line-height:1.3}
.provider-side-head>small{color:var(--muted);font-size:.78rem}
.provider-side-links{display:grid;padding:8px}
.provider-side-links a,.provider-side-profiles a,.provider-mobile-menu-panel a{position:relative;display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:720;line-height:1.3}
.provider-side-links a:hover,.provider-side-profiles a:hover,.provider-mobile-menu-panel a:hover{background:var(--warm);color:var(--green)}
.provider-side-links a.active,.provider-mobile-menu-panel a.active{background:var(--warm);color:var(--green);font-weight:820}
.provider-side-links a.active::before,.provider-mobile-menu-panel a.active::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:3px;background:var(--terracotta)}
.provider-side-profiles{border-top:1px solid rgba(36,60,53,.1);padding:9px 8px 11px}
.provider-side-section-title{display:block;padding:5px 12px 4px;color:var(--terracotta);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.provider-mobile-menu{display:none}
.provider-mobile-menu>summary{list-style:none;cursor:pointer;background:#fff;border:1px solid var(--greige);border-radius:14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 24px rgba(36,60,53,.06)}
.provider-mobile-menu>summary::-webkit-details-marker{display:none}
.provider-mobile-menu>summary::marker{content:""}
.provider-mobile-menu>summary>span{font-weight:820;color:var(--green)}
.provider-mobile-menu>summary>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.84rem;font-weight:650}
.provider-mobile-menu[open]>summary{border-radius:14px 14px 0 0}
.provider-mobile-menu-panel{background:#fff;border:1px solid var(--greige);border-top:0;border-radius:0 0 14px 14px;padding:8px}
.provider-mobile-menu-panel nav{display:grid}
.provider-mobile-menu-panel .provider-side-section-title{margin-top:8px;padding-top:11px;border-top:1px solid rgba(36,60,53,.11)}
@media(max-width:980px){.provider-app-frame{grid-template-columns:220px minmax(0,1fr);gap:24px;width:min(100% - 36px,1480px)}.provider-side-links a,.provider-side-profiles a{font-size:.86rem;padding-inline:10px}.provider-side-head{padding-inline:15px}}
@media(max-width:800px){.provider-app-frame{display:block;width:min(100% - 28px,1480px)}.provider-side-nav{display:none}.provider-mobile-menu{display:block;margin:18px 0 0}.provider-app-main{padding:28px 0 64px}}


/* Sprint 23.13.2 – Adminbereich Direktnavigation */
.admin-app-frame{width:min(1480px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(28px,3vw,52px);align-items:start;flex:1}
.admin-app-main{width:100%;min-width:0;margin:0;padding:56px 0 80px}
.admin-side-nav{position:sticky;top:96px;margin:28px 0 56px;background:#fff;border:1px solid var(--greige);border-radius:20px;box-shadow:0 10px 32px rgba(36,60,53,.07);overflow:hidden}
.admin-side-head{padding:18px 18px 15px;border-bottom:1px solid rgba(36,60,53,.09);background:linear-gradient(180deg,#fff 0%,#fbf9f5 100%);display:flex;flex-direction:column;gap:4px}
.admin-side-head>span{color:var(--terracotta);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.admin-side-head>strong{color:var(--green);font-size:1rem;line-height:1.3}
.admin-side-head>small{color:var(--muted);font-size:.78rem}
.admin-side-groups{display:grid;padding:4px 8px 10px}
.admin-side-group{display:grid;padding:9px 0;border-top:1px solid rgba(36,60,53,.09)}
.admin-side-group:first-child{border-top:0}
.admin-side-section-title{display:block;padding:3px 12px 5px;color:var(--terracotta);font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.admin-side-group a,.admin-mobile-menu-panel a{position:relative;display:block;padding:9px 12px;border-radius:10px;text-decoration:none;color:var(--muted);font-size:.88rem;font-weight:720;line-height:1.3}
.admin-side-group a:hover,.admin-mobile-menu-panel a:hover{background:var(--warm);color:var(--green)}
.admin-side-group a.active,.admin-mobile-menu-panel a.active{background:var(--warm);color:var(--green);font-weight:820}
.admin-side-group a.active::before,.admin-mobile-menu-panel a.active::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--terracotta)}
.admin-mobile-menu{display:none}
.admin-mobile-menu>summary{list-style:none;cursor:pointer;background:#fff;border:1px solid var(--greige);border-radius:14px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 8px 24px rgba(36,60,53,.06)}
.admin-mobile-menu>summary::-webkit-details-marker{display:none}
.admin-mobile-menu>summary::marker{content:""}
.admin-mobile-menu>summary>span{font-weight:820;color:var(--green)}
.admin-mobile-menu>summary>strong{color:var(--muted);font-size:.84rem;font-weight:650}
.admin-mobile-menu[open]>summary{border-radius:14px 14px 0 0}
.admin-mobile-menu-panel{background:#fff;border:1px solid var(--greige);border-top:0;border-radius:0 0 14px 14px;padding:8px}
.admin-mobile-menu-panel nav{display:grid}
.admin-mobile-menu-panel .admin-side-section-title{margin-top:8px;padding-top:11px;border-top:1px solid rgba(36,60,53,.11)}
.admin-mobile-menu-panel .admin-side-section-title:first-child{margin-top:0;padding-top:5px;border-top:0}
@media(max-width:980px){.admin-app-frame{grid-template-columns:220px minmax(0,1fr);gap:24px;width:min(100% - 36px,1480px)}.admin-side-group a{font-size:.84rem;padding-inline:10px}.admin-side-head{padding-inline:15px}.admin-side-section-title{padding-inline:10px}}
@media(max-width:800px){.admin-app-frame{display:block;width:min(100% - 28px,1480px)}.admin-side-nav{display:none}.admin-mobile-menu{display:block;margin:18px 0 0}.admin-app-main{padding:28px 0 64px}}

/* Sprint 23.21 – audited read-only support mode */
.support-mode-banner{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px max(24px,calc((100vw - 1480px)/2));background:#9f3f30;color:#fff;box-shadow:0 7px 22px rgba(69,28,22,.25)}
.support-mode-banner>div{display:grid;gap:2px}.support-mode-banner strong{font-size:.94rem}.support-mode-banner span{font-size:.82rem;color:#fff4ef}.support-mode-banner form{flex:none}.support-mode-banner .btn{border-color:#fff;background:#fff;color:#7d3025}
.support-readonly main form[method="post"]{position:relative;opacity:.52;pointer-events:none;filter:grayscale(.25)}
.support-readonly main form[method="post"]::after{content:"Im Supportmodus gesperrt";position:absolute;inset:0;display:grid;place-items:center;padding:12px;border:1px dashed rgba(159,63,48,.5);border-radius:12px;background:rgba(255,248,244,.78);color:#7d3025;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.support-search-panel{padding:22px}.support-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.support-search-form .label{margin:0}
.support-target-row{align-items:flex-start}.support-start-details{width:min(360px,100%);flex:none}.support-start-details>summary{list-style:none;cursor:pointer;text-align:center}.support-start-details>summary::-webkit-details-marker{display:none}.support-start-details>summary::marker{content:""}.support-start-details[open]>summary{margin-bottom:12px}.support-start-details form{display:grid;gap:10px;padding:15px;border:1px solid var(--greige);border-radius:14px;background:var(--warm)}.support-start-details .label,.support-start-details .hint{margin:0}.support-start-details textarea{resize:vertical}
@media(max-width:760px){.support-mode-banner{position:relative;align-items:flex-start;padding:13px 18px;flex-direction:column;gap:10px}.support-mode-banner form,.support-mode-banner .btn{width:100%}.support-search-form{grid-template-columns:1fr}.support-target-row{display:grid}.support-start-details{width:100%}}

/* Sprint 23.15 – provider onboarding UX & structured prices */
.provider-char-count{display:block;margin-top:6px;text-align:right;color:var(--muted);font-size:.82rem;font-weight:500}
.provider-price-editor{margin-top:24px;padding-top:22px;border-top:1px solid var(--greige)}
.provider-price-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.provider-price-editor-head h3{margin:0 0 4px;color:var(--green);font-size:1.08rem}
.provider-price-editor-head .hint{margin:0}
.provider-price-list{display:grid;gap:10px}
.provider-price-row{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(150px,.75fr) minmax(140px,.62fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--greige);border-radius:14px;background:var(--warm)}
.provider-price-row .label{margin:0}
.provider-price-remove{appearance:none;border:0;background:transparent;color:var(--danger);font:inherit;font-weight:700;padding:12px 4px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.provider-price-editor [data-add-price]:disabled{opacity:.45;cursor:not-allowed}
.provider-legacy-price{margin:12px 0}.provider-legacy-price .meta{display:block;margin-top:5px}
.provider-contact-setting{display:flex;align-items:center;gap:8px;margin-top:20px;width:max-content;max-width:100%}
.provider-contact-setting .check-row{margin:0}.provider-contact-setting .field-help{align-self:center}
.provider-public-prices{margin-top:18px}.provider-public-prices h2{color:var(--green);margin:.25em 0 .8em}
.provider-public-price-list{display:grid;gap:0;border-top:1px solid var(--greige)}
.provider-public-price-item{display:flex;justify-content:space-between;gap:22px;padding:13px 0;border-bottom:1px solid var(--greige)}
.provider-public-price-item span:empty{display:none}.provider-public-price-item strong{color:var(--green);text-align:right}
@media(max-width:800px){.provider-price-editor-head{flex-direction:column}.provider-price-row{grid-template-columns:1fr}.provider-price-remove{justify-self:start;padding-left:0}.provider-public-price-item{align-items:flex-start;flex-direction:column;gap:4px}.provider-public-price-item strong{text-align:left}}


/* Sprint 23.16 – Provider onboarding structure & field conventions */
[data-provider-profile-form] [hidden]{display:none!important}
.required-mark{color:var(--terracotta);font-weight:850}.field-optional{font-size:.78em;font-weight:500;color:var(--muted)}.field-note{display:block;margin-top:6px;color:var(--muted);font-size:.82rem;font-weight:400;line-height:1.45}.input-readonly{background:#f0ede7;color:#66706b;cursor:not-allowed}.label-with-help,.provider-section-label{display:flex;align-items:center;gap:7px;width:max-content;max-width:100%}.provider-address-grid{display:grid;gap:0 16px}.provider-address-grid-street{grid-template-columns:minmax(0,1fr) minmax(110px,.28fr)}.provider-address-grid-city{grid-template-columns:minmax(120px,.34fr) minmax(0,1fr)}.provider-service-area{margin:20px 0 4px;padding:18px;border:1px solid var(--greige);border-radius:14px;background:var(--warm)}.provider-service-area .hint{margin:5px 0 12px}.provider-country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 16px}.provider-price-row{grid-template-columns:minmax(240px,1.45fr) minmax(150px,.72fr) minmax(150px,.66fr) auto;background:#fff}.provider-price-row[hidden]{display:none}.provider-contact-setting-card{padding:14px 16px;border:1px solid var(--greige);border-radius:14px;background:var(--warm);align-items:center}.provider-contact-setting-card .check-row{align-items:center}.provider-contact-setting-card .check-row input{margin-top:0}.provider-service-country-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
@media(max-width:800px){.provider-address-grid,.provider-country-grid{grid-template-columns:1fr}.provider-address-grid{gap:0}.provider-price-row{grid-template-columns:1fr}}

/* Sprint 23.17 – TRAUKLAR Nachrichten */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.workspace-side-links a,.provider-side-links a,.workspace-mobile-menu-panel a,.provider-mobile-menu-panel a{display:flex;align-items:center;justify-content:space-between;gap:8px}
.nav-count,.message-unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--terracotta);color:#fff;font-size:.72rem;font-weight:850;line-height:1}
.message-page-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:18px}.message-inbox{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);min-height:650px;background:#fff;border:1px solid var(--greige);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.message-inbox.is-empty{grid-template-columns:minmax(250px,340px) minmax(0,1fr)}
.message-thread-list{border-right:1px solid var(--greige);background:#fcfbf8;min-width:0;max-height:760px;overflow:auto}.message-thread-list-head{position:sticky;top:0;z-index:2;background:#fcfbf8;border-bottom:1px solid var(--greige);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.message-thread-list-head strong{color:var(--green)}.message-thread-list-head span{color:var(--muted);font-size:.82rem}.message-empty-list{padding:28px 18px;color:var(--muted);font-size:.92rem}
.message-thread-card{display:grid;gap:7px;padding:16px 18px;border-bottom:1px solid rgba(216,209,199,.8);text-decoration:none;color:inherit}.message-thread-card:hover{background:var(--warm)}.message-thread-card.active{background:#f5efe8;box-shadow:inset 3px 0 0 var(--terracotta)}.message-thread-card.archived{opacity:.68}.message-thread-card-top{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0}.message-thread-card-top strong{color:var(--green);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-thread-preview{color:var(--muted);font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-thread-meta{font-size:.76rem;color:var(--muted)}
.message-conversation{display:flex;flex-direction:column;min-width:0;min-height:650px;background:#f8f6f1}.message-conversation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;background:#fff;border-bottom:1px solid var(--greige)}.message-conversation-head h2{margin:4px 0;color:var(--green);font-size:1.35rem}.message-conversation-head .meta{margin:0}.message-conversation-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.message-conversation-actions form{margin:0}.message-safety-note{margin:14px 18px 0;padding:10px 13px;border-radius:12px;background:#eef4f0;color:var(--green);font-size:.82rem;line-height:1.45}
.message-history{flex:1;min-height:0;max-height:610px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:12px}.message-row{display:flex}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.message-bubble{max-width:min(78%,680px);padding:12px 14px;border:1px solid var(--greige);border-radius:17px;background:#fff;line-height:1.55;box-shadow:0 4px 16px rgba(36,60,53,.04);overflow-wrap:anywhere}.message-row.mine .message-bubble{background:#e8f1ec;border-color:#cdded5;border-bottom-right-radius:5px}.message-row.theirs .message-bubble{border-bottom-left-radius:5px}.message-sender{display:block;margin-bottom:4px;color:var(--green);font-size:.78rem;font-weight:800}.message-bubble time{display:block;margin-top:6px;color:var(--muted);font-size:.7rem;text-align:right}
.message-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:14px 16px;background:#fff;border-top:1px solid var(--greige)}.message-compose textarea{min-height:54px;max-height:180px;resize:vertical}.message-compose .btn{min-height:48px}.message-empty-state{margin:auto;padding:44px 28px;max-width:520px;text-align:center}.message-empty-state h2{color:var(--green)}.message-empty-state p{color:var(--muted);line-height:1.6}.message-empty-icon{width:54px;height:54px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#eef4f0;color:var(--green);font-size:1.35rem}
.message-profile-wedding{display:grid;gap:3px;padding:13px 14px;margin-bottom:14px;border:1px solid var(--greige);border-radius:12px;background:var(--warm)}.message-profile-wedding span,.message-profile-wedding small{color:var(--muted);font-size:.8rem}.message-profile-wedding strong{color:var(--green)}
@media(max-width:900px){.message-inbox{grid-template-columns:270px minmax(0,1fr)}.message-bubble{max-width:88%}}@media(max-width:700px){.message-page-head{align-items:flex-start;flex-direction:column}.message-inbox,.message-inbox.is-empty{display:block;min-height:0}.message-thread-list{border-right:0;border-bottom:1px solid var(--greige);max-height:300px}.message-conversation{min-height:560px}.message-conversation-head{align-items:flex-start;flex-direction:column}.message-conversation-actions{justify-content:flex-start}.message-history{max-height:520px;padding:14px}.message-compose{grid-template-columns:1fr}.message-compose .btn{width:100%}.message-bubble{max-width:92%}}

/* Sprint 23.18 – Messaging Moderation & Blocking */
.message-block-note{background:#fff2ed;color:#744233;border:1px solid #ead3ca}.provider-report-action{margin-top:12px;text-align:center}.provider-report-action a{color:var(--muted);font-size:.82rem;text-decoration:underline;text-underline-offset:3px}.provider-report-action a:hover{color:var(--terracotta)}
.moderation-report-form{max-width:760px;margin:0 auto 56px}.moderation-target-card{display:grid;gap:3px;padding:12px 14px;margin:16px 0;border:1px solid var(--greige);border-radius:12px;background:var(--warm)}.moderation-target-card span{font-size:.78rem;color:var(--muted)}.moderation-target-card strong{color:var(--green)}.moderation-block-together{margin:14px 0}
.moderation-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}.moderation-summary-grid .stat-card{display:grid;gap:4px;padding:18px;border:1px solid var(--greige);border-radius:16px;background:#fff}.moderation-summary-grid .stat-card span,.moderation-summary-grid .stat-card small{color:var(--muted);font-size:.8rem}.moderation-summary-grid .stat-card strong{font-size:1.75rem;color:var(--green)}
.moderation-panel{margin-bottom:22px}.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px}.panel-head h2{margin:3px 0 0}.moderation-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:800;background:#eef1ef;color:var(--green)}.moderation-status-open{background:#fff1ec;color:#8a4a37}.moderation-status-in_review{background:#f5eed9;color:#6b5b24}.moderation-status-resolved{background:#e9f3ed;color:#315f47}.moderation-status-rejected{background:#f0f0ef;color:#666}
.moderation-conversation-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr);gap:20px;align-items:start}.moderation-message-history{max-height:720px}.moderation-side-stack{display:grid;gap:16px}.moderation-side-stack .panel{margin:0}.detail-list{display:grid;gap:10px;margin:0}.detail-list>div{display:grid;grid-template-columns:minmax(120px,.6fr) minmax(0,1fr);gap:10px;padding-bottom:9px;border-bottom:1px solid rgba(36,60,53,.08)}.detail-list dt{color:var(--muted);font-size:.8rem}.detail-list dd{margin:0;color:var(--green);font-weight:650}.moderation-report-links{display:grid;gap:8px}.moderation-report-links a{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--greige);border-radius:10px;text-decoration:none;background:#fff}.moderation-report-links a:hover{background:var(--warm)}.moderation-report-links span,.moderation-report-links small{font-size:.76rem;color:var(--muted)}.moderation-report-links strong{color:var(--green);font-size:.88rem}.moderation-report-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;align-items:start}.moderation-report-detail-grid .panel{margin:0}.moderation-report-text{margin-top:18px;padding-top:16px;border-top:1px solid var(--greige)}.moderation-report-text p{white-space:normal;line-height:1.6}
@media(max-width:900px){.moderation-summary-grid{grid-template-columns:1fr}.moderation-conversation-grid,.moderation-report-detail-grid{grid-template-columns:1fr}.detail-list>div{grid-template-columns:1fr;gap:3px}}

/* Sprint 23.23 – SEO navigation, product landing pages and provider language */
.public-topbar{gap:24px}
.public-nav-desktop{gap:clamp(10px,1.1vw,17px)}
.public-nav-desktop>a:not(.btn){font-size:.88rem;white-space:nowrap}
.public-nav-desktop .btn{padding-inline:15px;white-space:nowrap}
.public-mobile-menu{display:none;position:relative;z-index:30}
.public-mobile-menu>summary{list-style:none;cursor:pointer;min-width:76px;padding:10px 14px;border:1px solid var(--green);border-radius:11px;background:transparent;color:var(--green);font-size:.9rem;font-weight:800;text-align:center}
.public-mobile-menu>summary::-webkit-details-marker{display:none}
.public-mobile-menu>summary::marker{content:""}
.public-mobile-menu[open]>summary{background:var(--green);color:#fff}
.public-mobile-menu>nav{position:absolute;top:calc(100% + 10px);right:0;width:min(330px,calc(100vw - 32px));padding:10px;border:1px solid var(--greige);border-radius:16px;background:#fff;box-shadow:var(--shadow);display:grid;gap:3px}
.public-mobile-menu>nav a{display:block;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--green);font-size:.92rem;font-weight:720}
.public-mobile-menu>nav a:hover{background:var(--warm)}
.public-mobile-menu>nav .public-mobile-account{margin-top:5px;background:var(--green);color:#fff;text-align:center}

.product-landing{margin-top:10px}
.product-landing-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(34px,6vw,82px);align-items:center;padding:54px 0 74px}
.product-landing-hero h1{max-width:820px;margin:.24em 0;color:var(--green);font-family:Georgia,serif;font-size:clamp(2.65rem,5.6vw,5.4rem);font-weight:400;letter-spacing:-.045em;line-height:1.01}
.product-landing-summary{min-height:390px;padding:clamp(28px,4vw,46px);border-radius:28px;background:var(--green);color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}
.product-landing-summary .eyebrow{color:#e7c7b9}
.product-landing-summary ol{list-style:none;margin:42px 0 0;padding:0;display:grid;gap:0}
.product-landing-summary li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:center;padding:17px 0;border-top:1px solid rgba(255,255,255,.2)}
.product-landing-summary li span{width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:850}
.product-landing-summary li strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400}
.homepage-summary{background:#6d3f35}
.product-landing-section{padding:76px 0;border-top:1px solid rgba(36,60,53,.13)}
.product-landing-heading{max-width:850px;margin-bottom:34px}
.product-landing-heading h2,.product-landing-split h2,.product-landing-cta h2{margin:.25em 0;color:var(--green);font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.7rem);font-weight:400;letter-spacing:-.035em;line-height:1.08}
.product-landing-heading p,.product-landing-split p{max-width:760px;color:var(--muted);font-size:1.05rem;line-height:1.75}
.product-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.product-benefit-grid article{min-height:235px;padding:25px;border:1px solid var(--greige);border-radius:20px;background:#fff;display:flex;flex-direction:column}
.product-benefit-grid article>span{color:var(--terracotta);font-size:.76rem;font-weight:850}
.product-benefit-grid h3{margin:24px 0 8px;color:var(--green);font-family:Georgia,serif;font-size:1.55rem;font-weight:400}
.product-benefit-grid p{margin:0;color:var(--muted);line-height:1.65}
.product-landing-split{margin:24px 0 80px;padding:clamp(30px,5vw,54px);border-radius:26px;background:#eee7dc;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(28px,5vw,70px);align-items:center}
.product-check-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.product-check-list li{position:relative;padding:13px 14px 13px 46px;border:1px solid rgba(36,60,53,.12);border-radius:13px;background:rgba(255,255,255,.65);color:var(--green);font-weight:720;line-height:1.45}
.product-check-list li::before{content:"✓";position:absolute;left:15px;top:11px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.72rem;font-weight:900}
.product-landing-cta{margin:0 0 76px;padding:clamp(30px,5vw,56px);border-radius:28px;background:var(--green);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:38px}
.product-landing-cta .eyebrow{color:#e7c7b9}
.product-landing-cta h2{max-width:760px;color:#fff}
.product-landing-cta p{max-width:720px;margin:0;color:#dce6e2;line-height:1.7}
.product-landing-cta code{display:inline-block;padding:.08em .38em;border:1px solid rgba(255,255,255,.3);border-radius:6px;background:rgba(255,255,255,.12);color:#fff;font-weight:750}
.product-landing-cta .actions{flex:none}

@media(max-width:1320px){.public-nav-desktop{display:none}.public-mobile-menu{display:block}}
@media(max-width:900px){.product-landing-hero,.product-landing-split{grid-template-columns:1fr}.product-landing-hero{padding-top:32px}.product-landing-summary{min-height:0}.product-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-landing-cta{align-items:flex-start;flex-direction:column}.product-landing-cta .actions{width:100%}}
@media(max-width:650px){.public-topbar{padding-inline:16px}.product-landing-hero h1{font-size:clamp(2.5rem,13vw,4rem)}.product-benefit-grid{grid-template-columns:1fr}.product-benefit-grid article{min-height:0}.product-landing-section{padding:58px 0}.product-landing-split{margin-bottom:58px;padding:25px}.product-landing-cta{margin-bottom:58px;padding:26px}.product-landing-cta .actions{display:grid;grid-template-columns:1fr}.product-landing-cta .btn{width:100%}}

/* Sprint 23.24 – Anbieter-Konto, Teilen und Anbieter-Einstieg */
.provider-side-profiles a.active{background:var(--warm);color:var(--green);font-weight:820}
.provider-side-account{padding-bottom:14px}
.provider-account-heading{margin-bottom:26px}
.provider-account-status{align-self:start;background:linear-gradient(145deg,#fff,#f2eee7)}
.provider-account-status>h2{margin:.35em 0;color:var(--green);font-family:Georgia,serif;font-size:2rem;font-weight:400}

.share-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:22px}
.share-actions-label{margin-right:2px;color:var(--muted);font-size:.78rem;font-weight:820;letter-spacing:.08em;text-transform:uppercase}
.share-action{appearance:none;min-height:38px;padding:8px 11px;border:1px solid var(--greige);border-radius:999px;background:#fff;color:var(--green);font:inherit;font-size:.82rem;font-weight:760;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.share-action:hover{border-color:var(--green);background:var(--warm)}
.article-header .share-actions{justify-content:center}
.provider-profile-header .share-actions{margin-top:18px}

.provider-entry-page{margin-top:6px}
.provider-entry-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(36px,6vw,82px);align-items:center;padding:54px 0 78px}
.provider-entry-copy h1{max-width:820px;margin:.2em 0;color:var(--green);font-family:Georgia,serif;font-size:clamp(2.8rem,5.7vw,5.5rem);font-weight:400;letter-spacing:-.045em;line-height:1}
.provider-entry-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.provider-entry-login{margin:18px 0 0;color:var(--muted)}
.provider-entry-login a{font-weight:760}
.provider-entry-summary{min-height:430px;padding:clamp(30px,4vw,46px);border-radius:28px;background:var(--green);color:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}
.provider-entry-summary .eyebrow,.provider-entry-cta .eyebrow{color:#e8b7a6}
.provider-entry-summary h2{max-width:430px;margin:.35em 0;font-family:Georgia,serif;font-size:clamp(2rem,3.5vw,3.15rem);font-weight:400;line-height:1.08}
.provider-entry-summary ul{list-style:none;margin:38px 0 0;padding:0;display:grid}
.provider-entry-summary li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.2)}
.provider-entry-summary li span{width:38px;height:38px;border:1px solid rgba(255,255,255,.38);border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:850}
.provider-entry-summary li strong{line-height:1.4}
.provider-entry-section,.provider-entry-faq{padding:74px 0;border-top:1px solid rgba(36,60,53,.13)}
.provider-entry-heading{max-width:850px;margin-bottom:34px}
.provider-entry-heading h2,.provider-entry-cta h2{margin:.24em 0;color:var(--green);font-family:Georgia,serif;font-size:clamp(2.15rem,4vw,3.75rem);font-weight:400;letter-spacing:-.035em;line-height:1.08}
.provider-entry-heading p{max-width:760px;color:var(--muted);font-size:1.05rem;line-height:1.72}
.provider-entry-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.provider-entry-steps li{min-height:225px;padding:22px;border:1px solid var(--greige);border-radius:20px;background:#fff}
.provider-entry-steps li>span,.provider-entry-benefit-grid article>span{color:var(--terracotta);font-size:.74rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.provider-entry-steps h3,.provider-entry-benefit-grid h3{margin:28px 0 8px;color:var(--green);font-family:Georgia,serif;font-size:1.5rem;font-weight:400}
.provider-entry-steps p,.provider-entry-benefit-grid p{margin:0;color:var(--muted);line-height:1.62}
.provider-entry-benefits{background:linear-gradient(90deg,transparent,rgba(216,209,199,.18),transparent)}
.provider-entry-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.provider-entry-benefit-grid article{min-height:230px;padding:26px;border-radius:20px;background:#fff;border:1px solid var(--greige)}
.provider-entry-faq-list{max-width:900px;display:grid;gap:10px}
.provider-entry-faq-list details{border:1px solid var(--greige);border-radius:16px;background:#fff;padding:0 20px}
.provider-entry-faq-list summary{cursor:pointer;padding:18px 34px 18px 0;color:var(--green);font-weight:800;line-height:1.4}
.provider-entry-faq-list p{margin:0;padding:0 0 20px;color:var(--muted);line-height:1.65}
.provider-entry-cta{margin:0 0 30px;padding:clamp(30px,5vw,54px);border-radius:28px;background:var(--green);color:#fff;display:flex;align-items:flex-end;justify-content:space-between;gap:36px}
.provider-entry-cta h2{max-width:680px;color:#fff}
.provider-entry-cta .provider-entry-actions{flex:none;margin:0}

.provider-kind-choice{max-width:1180px}
.provider-form-layout{max-width:1180px;display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;align-items:start}
.provider-form-title-row{align-items:center}.provider-form-title-row>div{min-width:0}.provider-form-home-link{flex:none;white-space:nowrap}
.provider-form-guide .card{padding:22px}
.provider-form-guide h2{margin:.4em 0 16px;color:var(--green);font-family:Georgia,serif;font-size:1.65rem;font-weight:400;line-height:1.15}
.provider-form-guide nav{display:grid;border-top:1px solid var(--greige)}
.provider-form-guide nav a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;padding:12px 0;border-bottom:1px solid var(--greige);text-decoration:none;font-size:.86rem;font-weight:760}
.provider-form-guide nav a span{color:var(--terracotta);font-size:.7rem;letter-spacing:.05em}
.provider-form-guide p{margin:16px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}
.provider-signup-form{max-width:none}
.provider-signup-form>.panel{scroll-margin-top:96px}
.provider-contact-card{position:static}

@media(max-width:1050px){.provider-entry-steps{grid-template-columns:1fr 1fr}.provider-form-layout{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:900px){.provider-entry-hero{grid-template-columns:1fr;padding-top:32px}.provider-entry-summary{min-height:0}.provider-entry-benefit-grid{grid-template-columns:1fr 1fr}.provider-entry-cta{align-items:flex-start;flex-direction:column}.provider-entry-cta .provider-entry-actions{width:100%}.provider-form-layout{grid-template-columns:1fr}.provider-form-guide .sticky-card{position:static}.provider-form-guide nav{grid-template-columns:1fr 1fr;gap:0 18px}}
@media(max-width:800px){.provider-form-title-row{align-items:flex-start}.provider-form-home-link{white-space:normal}}
@media(max-width:650px){.provider-entry-copy h1{font-size:clamp(2.55rem,13vw,4rem)}.provider-entry-actions{display:grid;grid-template-columns:1fr}.provider-entry-actions .btn{width:100%}.provider-entry-section,.provider-entry-faq{padding:56px 0}.provider-entry-steps,.provider-entry-benefit-grid{grid-template-columns:1fr}.provider-entry-steps li,.provider-entry-benefit-grid article{min-height:0}.provider-entry-cta{padding:26px}.provider-form-guide nav{grid-template-columns:1fr}.share-actions-label{width:100%}.article-header .share-actions{justify-content:flex-start}}

/* Sprint 23.25 – Basiszugang, Workspace-Kontext und robuste Formulare */
.wedding-day-layout>*{min-width:0}
.wedding-day-layout aside .wedding-day-form-grid{grid-template-columns:minmax(0,1fr)}
.wedding-day-layout aside .input{min-width:0;max-width:100%}
.workspace-nav-locked{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:10px 12px;border-radius:10px;color:#858b87;font-size:.9rem;font-weight:720;line-height:1.3;cursor:not-allowed}
.workspace-nav-locked>span{min-width:0}
.workspace-nav-locked small{flex:none;border:1px solid var(--greige);border-radius:999px;padding:3px 7px;background:#f5f2ec;color:var(--muted);font-size:.62rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.workspace-lock-icon{display:inline-block;margin-left:3px;font-size:.9em;line-height:1;vertical-align:.04em}
.workspace-side-upgrade,.workspace-mobile-upgrade{display:flex;margin:2px 10px 12px;padding:10px 12px;border-radius:10px;background:var(--green);color:#fff;text-decoration:none;font-size:.85rem;font-weight:820;justify-content:center;text-align:center}
.workspace-side-upgrade:hover,.workspace-mobile-upgrade:hover{filter:brightness(.96)}
.workspace-mobile-upgrade{margin:8px 4px 10px}
.workspace-side-account a.active{background:var(--warm);color:var(--green);font-weight:820}
.module-card-locked{border-style:dashed;background:#f3f0ea;color:var(--muted);box-shadow:none}
.module-card-locked>span{color:#9b7d70}
.module-card-locked h3{margin-top:10px;color:#66716c}
.module-lock-label{margin-top:18px;color:var(--terracotta);font-size:.7rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:800px){.provider-form-title-row{flex-direction:column}.provider-form-home-link{align-self:flex-start}.workspace-nav-locked{padding-inline:12px}}

/* Sprint 23.26 – Einheitliche Footer-Rechtszeile und stabile Ratgeber-Hubs */
.footer-bottom,.internal-footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;text-align:left}
.footer-bottom .footer-copyright,.internal-footer-bottom .internal-footer-copyright{grid-column:1;justify-self:start;white-space:nowrap}
.public-footer .footer-legal-nav,.footer-internal .internal-footer-legal{grid-column:2;justify-self:center;justify-content:center}
@media(max-width:760px){.footer-bottom,.internal-footer-bottom{grid-template-columns:1fr;gap:12px;text-align:center}.footer-bottom .footer-copyright,.internal-footer-bottom .internal-footer-copyright,.public-footer .footer-legal-nav,.footer-internal .internal-footer-legal{grid-column:1;justify-self:center}.public-footer .footer-legal-nav,.footer-internal .internal-footer-legal{justify-content:center}}

/* Sprint 23.27 – Zentrierte öffentliche Hauptnavigation */
.public-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,2vw,32px)}
.public-topbar>.brand{grid-column:1;justify-self:start}
.public-primary-nav{grid-column:2;justify-self:center;align-self:stretch;gap:clamp(14px,1.25vw,22px)}
.public-account-nav{grid-column:3;justify-self:end;gap:14px}
.public-primary-nav>a{position:relative;display:flex;align-items:center;height:72px;padding:0 4px;color:var(--green);transition:color .16s ease}
.public-primary-nav>a::after{content:"";position:absolute;right:4px;bottom:-1px;left:4px;height:3px;border-radius:3px 3px 0 0;background:var(--terracotta);transform:scaleX(0);transform-origin:center;transition:transform .16s cubic-bezier(.2,.75,.3,1)}
.public-primary-nav>a:hover,.public-primary-nav>a:focus-visible{color:var(--terracotta)}
.public-primary-nav>a:hover::after,.public-primary-nav>a:focus-visible::after{transform:scaleX(1)}
.public-primary-nav>a:focus-visible{border-radius:4px;outline:2px solid rgba(185,111,87,.35);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.public-primary-nav>a,.public-primary-nav>a::after{transition:none}}
@media(max-width:1320px){.public-topbar{grid-template-columns:minmax(0,1fr) auto;gap:16px}.public-mobile-menu{grid-column:2;justify-self:end}}

/* Sprint 23.28 – Hochzeitshomepage Free & Plus */
.site-admin-badges{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.site-plan-badge{padding:8px 12px}.site-plan-free{background:#f4f1eb;color:var(--muted)}.site-plan-plus{background:#fff0ea;border-color:#ddb19f;color:#8b4d39}.site-plus-teaser{margin:24px 0;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;border:1px solid #e5c7b9;border-radius:20px;background:linear-gradient(120deg,#fff9f5,#f2ebe2)}.site-plus-teaser h2{margin:.3em 0;color:var(--green)}.site-plus-teaser p{margin:0;color:var(--muted);line-height:1.6}.wedding-theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.wedding-theme-choice{position:relative;display:grid;gap:8px;padding:13px;border:1px solid var(--greige);border-radius:16px;background:#fff;cursor:pointer}.wedding-theme-choice input{position:absolute;top:19px;right:18px;accent-color:var(--terracotta)}.wedding-theme-choice.is-selected{border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(185,111,87,.13)}.wedding-theme-choice.is-locked{opacity:.58;cursor:not-allowed}.wedding-theme-choice strong{color:var(--green)}.wedding-theme-choice small{color:var(--muted);line-height:1.45}.wedding-theme-swatch{display:block;height:78px;border-radius:11px;border:1px solid rgba(36,60,53,.12)}.wedding-theme-swatch-classic{background:radial-gradient(circle at 50% 20%,#fff,#f8f4ed 55%,#eee5d9)}.wedding-theme-swatch-modern{background:linear-gradient(135deg,#f3f1ed 0 62%,#c85f43 62%)}.wedding-theme-swatch-botanical{background:radial-gradient(circle at 72% 25%,#dde8dc,#f7f2e8 50%,#718b73)}.wedding-theme-swatch-editorial{background:linear-gradient(110deg,#171717 0 35%,#f4efe5 35% 76%,#b37a56 76%)}.site-editor-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.module-switch{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:.86rem;font-weight:800;white-space:nowrap;cursor:pointer}.module-switch input{accent-color:var(--terracotta)}.wedding-plus-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wedding-plus-module-grid article{display:grid;gap:12px;padding:18px;border:1px solid var(--greige);border-radius:16px;background:var(--warm)}.site-password-clear{align-self:center;margin-top:10px}.site-plus-locked{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(120deg,#fff,#f3eee7)}.site-plus-locked h2{margin:.3em 0;color:var(--green)}.site-plus-locked p{margin:0;color:var(--muted)}.wedding-site-plus-status{margin:24px 0}.wedding-site-plus-hero{margin:26px 0 44px;display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);gap:42px;align-items:center}.wedding-site-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wedding-site-plan-grid h3{color:var(--green);font-family:Georgia,serif;font-size:1.6rem;font-weight:400}.wedding-site-plan-grid p{color:var(--muted);line-height:1.65}.wedding-site-plan-grid .is-plus{border-color:#ddb19f;background:#fff9f5}

.wedding-public-nav{height:auto;min-height:68px}.wedding-public-nav nav{justify-content:flex-end;flex-wrap:wrap;row-gap:5px}.wedding-plus-public-section p{max-width:680px;margin:0 auto;color:var(--muted);font-size:1.08rem;line-height:1.85;white-space:normal}.wedding-site-lock-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 20%,#fff,#f7f2ea 60%,#e9dfd1)}.wedding-site-lock-card{width:min(520px,100%);padding:clamp(28px,6vw,52px);border:1px solid rgba(36,60,53,.14);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 24px 80px rgba(36,60,53,.13);text-align:center}.wedding-lock-mark{width:58px;height:58px;margin:30px auto 18px;border-radius:50%;display:grid;place-items:center;background:var(--terracotta);color:#fff;font-size:1.35rem}.wedding-site-lock-card h1{margin:.35em 0;color:var(--green);font-family:Georgia,serif;font-size:clamp(2rem,6vw,3rem);font-weight:400;line-height:1.08}.wedding-site-lock-card>p{color:var(--muted);line-height:1.7}.wedding-site-lock-card>small{display:block;margin-top:20px;color:var(--muted)}.wedding-site-lock-form{margin-top:24px;text-align:left}.wedding-site-lock-form .btn{width:100%;margin-top:14px}

.wedding-theme-modern{--green:#24343a;--terracotta:#c55f43;--warm:#f3f1ed;--greige:#d3d1cb}.wedding-theme-modern .wedding-public-hero{align-items:flex-start;text-align:left;padding-inline:clamp(24px,10vw,150px);background:linear-gradient(135deg,#f8f7f4 0 68%,#e7ded5 68%)}.wedding-theme-modern .wedding-public-hero h1{max-width:850px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:850;letter-spacing:-.065em}.wedding-theme-modern .wedding-intro{margin-left:0}.wedding-theme-modern .wedding-public-section{text-align:left}.wedding-theme-modern .wedding-public-section h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:820}.wedding-theme-modern .wedding-plus-public-section p,.wedding-theme-modern .wedding-location-section p,.wedding-theme-modern .wedding-contact p{margin-left:0}
.wedding-theme-botanical{--green:#395344;--terracotta:#a66d58;--warm:#f3f1e8;--greige:#d1d8cb}.wedding-theme-botanical .wedding-public-hero{background:radial-gradient(circle at 15% 18%,rgba(123,153,124,.26),transparent 28%),radial-gradient(circle at 88% 75%,rgba(166,109,88,.18),transparent 30%),#f7f4eb}.wedding-theme-botanical .wedding-public-hero h1,.wedding-theme-botanical .wedding-public-section h2{font-family:"Palatino Linotype",Palatino,Georgia,serif}.wedding-theme-botanical .wedding-date-pill{background:rgba(255,255,255,.65)}
.wedding-theme-editorial{--green:#161616;--terracotta:#a85d3f;--warm:#f4efe5;--greige:#cec7bb}.wedding-theme-editorial .wedding-public-nav{background:rgba(244,239,229,.96)}.wedding-theme-editorial .wedding-public-hero{min-height:78vh;background:linear-gradient(100deg,#171717 0 7%,#f4efe5 7% 93%,#aa7655 93%)}.wedding-theme-editorial .wedding-public-hero h1{text-transform:uppercase;font-family:Georgia,serif;font-size:clamp(2.8rem,9vw,6.8rem);letter-spacing:-.055em}.wedding-theme-editorial .wedding-script{text-transform:uppercase;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8rem;font-style:normal;font-weight:900;letter-spacing:.2em}.wedding-theme-editorial .wedding-public-section h2{font-style:italic}

.wedding-homepage-hero{align-items:center}.wedding-homepage-preview{overflow:hidden;border:1px solid var(--greige);border-radius:28px;background:#f8f4ed;box-shadow:0 25px 70px rgba(36,60,53,.15);transform:rotate(1.2deg)}.wedding-homepage-preview-bar{height:42px;padding:0 14px;display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--greige);background:#fff}.wedding-homepage-preview-bar>span{width:8px;height:8px;border-radius:50%;background:#d5c9bd}.wedding-homepage-preview-bar small{margin-left:auto;color:var(--muted);font-size:.65rem}.wedding-homepage-preview-content{min-height:430px;padding:55px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 15%,#fff,#f8f4ed 58%,#ebe2d5)}.wedding-homepage-preview-content em{margin:26px 0 8px;color:var(--terracotta);font-family:Georgia,serif;font-size:1.2rem}.wedding-homepage-preview-content strong{color:var(--green);font-family:Georgia,serif;font-size:clamp(2.6rem,5vw,4.7rem);font-weight:400;letter-spacing:-.05em}.wedding-homepage-preview-content p{color:var(--muted)}.wedding-homepage-preview-content i{margin-top:34px;color:var(--green);font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.16em}.wedding-site-packages{padding:76px 0;border-top:1px solid rgba(36,60,53,.13)}.wedding-site-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.wedding-site-package-card{padding:clamp(24px,4vw,38px);border:1px solid var(--greige);border-radius:26px;background:#fff;display:flex;flex-direction:column;gap:25px}.wedding-site-package-card.is-plus{border-color:#d9ae9d;background:linear-gradient(145deg,#fff,#fff7f2)}.wedding-site-package-card h3{margin:.6em 0;color:var(--green);font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400}.wedding-site-package-card .product-check-list{flex:1}.btn.is-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.package-note{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.wedding-homepage-privacy{margin-top:76px}.wedding-homepage-faq{padding:0 0 76px}.wedding-homepage-faq .wedding-faq{max-width:900px}.wedding-homepage-faq .wedding-faq details{border-color:var(--greige)}

@media(max-width:1050px){.wedding-theme-grid{grid-template-columns:1fr 1fr}.wedding-plus-module-grid{grid-template-columns:1fr}.wedding-site-plus-hero{grid-template-columns:1fr}.wedding-public-nav nav a:nth-child(n+4):not(:last-child){display:none}}
@media(max-width:900px){.wedding-homepage-preview{transform:none}.wedding-homepage-preview-content{min-height:360px}.wedding-site-package-grid{grid-template-columns:1fr}}
@media(max-width:700px){.site-admin-badges{justify-content:flex-start}.site-plus-teaser,.site-plus-locked{align-items:flex-start;flex-direction:column}.wedding-theme-grid,.wedding-site-plan-grid{grid-template-columns:1fr}.site-editor-section-title{align-items:flex-start;flex-direction:column}.wedding-site-lock-shell{padding:14px}.wedding-homepage-preview-bar small{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-theme-modern .wedding-public-hero{padding-inline:22px}.wedding-theme-editorial .wedding-public-hero{background:linear-gradient(90deg,#171717 0 3%,#f4efe5 3% 97%,#aa7655 97%)}}

/* Sprint 23.29 – Produktwahl, Plus-Direktkauf und angerechnetes Upgrade */
.commerce-option-section{margin:28px 0 34px}.commerce-product-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.commerce-product-option{display:grid;grid-template-columns:1fr auto;gap:9px 20px;padding:22px;border:1px solid var(--greige);border-radius:20px;background:#fff;color:var(--green);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.commerce-product-option .badge,.commerce-product-option small{grid-column:1/-1}.commerce-product-option strong{font-size:1.08rem;line-height:1.35}.commerce-product-option b{color:var(--terracotta);font-size:1.35rem}.commerce-product-option small{color:var(--muted);line-height:1.45}.commerce-product-option:hover,.commerce-product-option:focus-visible,.commerce-product-option.is-selected{border-color:var(--terracotta);box-shadow:0 12px 32px rgba(36,60,53,.1);transform:translateY(-2px)}.commerce-product-option.is-selected{box-shadow:0 0 0 2px rgba(185,111,87,.15),0 12px 32px rgba(36,60,53,.1)}.admin-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-product-card{display:flex;flex-direction:column;gap:18px}.admin-product-card form{display:grid;gap:12px}.admin-product-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-product-card-head h3{margin:.7rem 0 0;color:var(--green);line-height:1.3}.admin-product-card-head .badge{overflow-wrap:anywhere}.admin-product-card h4{margin:0;color:var(--green)}.product-term{line-height:1.6}.wedding-site-plus-hero .btn{margin-top:20px}
@media(max-width:1050px){.admin-product-grid{grid-template-columns:1fr}.admin-product-card-head{align-items:center}}
@media(max-width:760px){.commerce-product-options{grid-template-columns:1fr}.commerce-product-option:hover,.commerce-product-option:focus-visible,.commerce-product-option.is-selected{transform:none}}

/* Sprint 23.30 – privater Titelbild- und Galerie-Upload */
.site-media-panel{margin:26px 0}.site-media-head,.site-media-organize-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.site-media-head h2,.site-media-organize-head h3,.site-media-upload-card h3{margin:.35em 0;color:var(--green)}.site-media-head p,.site-media-organize-head p,.site-media-upload-card p{margin:.3em 0;color:var(--muted);line-height:1.6}.site-media-count{flex:none;padding:9px 13px}.site-media-count.is-full{background:#fff0ea;border-color:#ddb19f;color:#8b4d39}.site-media-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.site-media-upload-card{display:grid;align-content:start;gap:15px;padding:22px;border:1px solid var(--greige);border-radius:18px;background:var(--warm)}.site-media-upload-card .input[type=file]{padding:10px;background:#fff}.site-media-cover-preview{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:14px;background:#e9e4db}.site-media-organize{margin-top:32px;padding-top:28px;border-top:1px solid var(--greige)}.site-media-editor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px}.site-media-editor-card{overflow:hidden;border:1px solid var(--greige);border-radius:16px;background:#fff}.site-media-editor-preview{position:relative;aspect-ratio:4/3;background:#e9e4db}.site-media-editor-preview img{width:100%;height:100%;object-fit:cover}.site-media-editor-preview span{position:absolute;top:10px;left:10px;padding:5px 9px;border-radius:999px;background:rgba(36,60,53,.9);color:#fff;font-size:.7rem;font-weight:850}.site-media-editor-fields{display:grid;gap:11px;padding:15px}.site-media-sort{max-width:120px}.site-media-editor-fields .link-button{justify-self:start}.wedding-public-hero{position:relative;overflow:hidden}.wedding-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.wedding-hero-image{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover}.wedding-public-hero.has-cover::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,rgba(18,29,25,.2),rgba(18,29,25,.62))}.wedding-public-hero.has-cover .wedding-date-pill{border-color:rgba(255,255,255,.7);background:rgba(24,40,34,.28);color:#fff}.wedding-public-hero.has-cover .wedding-script,.wedding-public-hero.has-cover h1,.wedding-public-hero.has-cover .wedding-intro,.wedding-public-hero.has-cover .wedding-scroll-link{color:#fff;text-shadow:0 2px 22px rgba(0,0,0,.38)}.wedding-gallery-section{width:min(1180px,calc(100% - 40px))}.wedding-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:260px;gap:12px}.wedding-gallery-item{margin:0;overflow:hidden;border-radius:18px;background:#e9e4db}.wedding-gallery-item.is-featured{grid-column:span 2;grid-row:span 2}.wedding-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease}.wedding-gallery-item:hover img{transform:scale(1.025)}.wedding-theme-modern .wedding-hero-content{align-items:flex-start}.wedding-theme-modern .wedding-public-hero.has-cover{background:#24343a}.wedding-theme-editorial .wedding-public-hero.has-cover{background:#171717}
@media(prefers-reduced-motion:reduce){.wedding-gallery-item img{transition:none}.wedding-gallery-item:hover img{transform:none}}
@media(max-width:980px){.site-media-editor-grid{grid-template-columns:1fr 1fr}.wedding-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.wedding-gallery-item.is-featured{grid-row:auto}}
@media(max-width:720px){.site-media-head,.site-media-organize-head{align-items:flex-start;flex-direction:column}.site-media-upload-grid,.site-media-editor-grid{grid-template-columns:1fr}.wedding-gallery-grid{grid-template-columns:1fr;grid-auto-rows:auto}.wedding-gallery-item,.wedding-gallery-item.is-featured{grid-column:auto;grid-row:auto;aspect-ratio:4/3}.wedding-theme-modern .wedding-hero-content{align-items:flex-start}.site-media-organize-head .btn{width:100%}}

/* Sprint 23.31 – ruhige, gaesteorientierte Hochzeitshomepage */
.wedding-site-body{--wedding-paper:#fffdf9;--wedding-soft:#f3ece3;--wedding-line:rgba(36,60,53,.14);background:var(--wedding-soft)}
.wedding-public-shell{overflow:clip;background:var(--wedding-paper)}
.wedding-public-nav{z-index:30;display:flex;min-height:72px;padding:0 clamp(18px,5vw,72px);gap:28px;background:rgba(255,253,249,.94);box-shadow:0 1px 0 var(--wedding-line)}
.wedding-preview-bar+.wedding-public-nav{top:37px}
.wedding-mini-brand{flex:none;color:var(--green)}
.wedding-nav-links{display:flex;align-items:center;justify-content:flex-end;gap:clamp(14px,2vw,28px);margin-left:auto}
.wedding-public-nav nav.wedding-nav-links>a{position:relative;display:block!important;padding:25px 0 22px;color:var(--green);font-size:.86rem;font-weight:750;text-decoration:none}
.wedding-nav-links>a:not(.wedding-rsvp-nav-link)::after{content:"";position:absolute;right:0;bottom:16px;left:0;height:2px;background:var(--terracotta);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.wedding-nav-links>a:hover::after,.wedding-nav-links>a:focus-visible::after{transform:scaleX(1)}
.wedding-nav-links>a:focus-visible,.wedding-mobile-menu a:focus-visible{border-radius:4px;outline:2px solid color-mix(in srgb,var(--terracotta) 45%,transparent);outline-offset:4px}
.wedding-rsvp-nav-link{padding:10px 16px!important;border:1px solid var(--terracotta);border-radius:999px;color:var(--terracotta)!important}
.wedding-rsvp-nav-link:hover,.wedding-rsvp-nav-link:focus-visible{background:var(--terracotta);color:#fff!important}
.wedding-mobile-menu{position:relative;display:none;margin-left:auto}
.wedding-mobile-menu summary{padding:9px 14px;border:1px solid var(--wedding-line);border-radius:999px;color:var(--green);font-size:.84rem;font-weight:800;cursor:pointer;list-style:none}
.wedding-mobile-menu summary::-webkit-details-marker{display:none}
.wedding-mobile-menu[open] summary{border-color:var(--terracotta);color:var(--terracotta)}
.wedding-mobile-menu nav{position:absolute;top:calc(100% + 12px);right:0;display:grid;width:min(290px,calc(100vw - 32px));padding:10px;gap:0;border:1px solid var(--wedding-line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(36,60,53,.16)}
.wedding-public-nav .wedding-mobile-menu nav a{display:block!important;padding:12px 14px;border-radius:10px;color:var(--green);font-weight:750;text-decoration:none}
.wedding-mobile-menu nav a:hover{background:var(--wedding-soft)}
.wedding-mobile-menu nav .wedding-rsvp-nav-link{margin-top:4px;text-align:center}
.wedding-public-main{background:var(--wedding-paper)}
.wedding-public-main>[id]{scroll-margin-top:110px}
.wedding-public-hero{min-height:min(78vh,820px);padding:90px 22px 125px;background:radial-gradient(circle at 50% 14%,#fff 0,var(--wedding-paper) 48%,var(--wedding-soft) 100%)}
.wedding-public-hero.has-cover::after{background:linear-gradient(180deg,rgba(18,29,25,.18),rgba(18,29,25,.67))}
.wedding-hero-content{width:min(100%,1050px)}
.wedding-public-hero h1{font-size:clamp(3.25rem,9vw,7.5rem);text-wrap:balance}
.wedding-public-hero .wedding-script{margin-top:24px}
.wedding-public-hero .wedding-scroll-link{display:inline-flex;align-items:center;gap:8px;margin-top:34px;padding:10px 2px;border-bottom:1px solid currentColor}
.wedding-welcome-wrap{position:relative;z-index:3;width:min(1100px,calc(100% - 36px));margin:-72px auto 0;scroll-margin-top:110px}
.wedding-welcome-card{padding:clamp(34px,6vw,70px);border:1px solid var(--wedding-line);border-radius:30px 30px 0 0;background:rgba(255,253,249,.98);box-shadow:0 24px 70px rgba(36,60,53,.1);text-align:center}
.wedding-welcome-card h2{margin:10px 0 24px;color:var(--green);font-family:Georgia,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:400;line-height:1.08}
.wedding-welcome-card p{max-width:760px;margin:0 auto;color:var(--muted);font-size:clamp(1.02rem,1.7vw,1.17rem);line-height:1.9}
.wedding-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));border:1px solid var(--wedding-line);border-top:0;border-radius:0 0 30px 30px;background:var(--green);overflow:hidden}
.wedding-facts article,.wedding-facts>a{display:flex;min-width:0;align-items:center;gap:14px;padding:22px 24px;border-right:1px solid rgba(255,255,255,.16);color:#fff;text-decoration:none}
.wedding-facts>*:last-child{border-right:0}
.wedding-facts>a:hover,.wedding-facts>a:focus-visible{background:rgba(255,255,255,.08)}
.wedding-fact-icon{display:grid;flex:0 0 36px;height:36px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:.67rem;font-weight:900}
.wedding-facts small,.wedding-facts strong{display:block;overflow-wrap:anywhere}
.wedding-facts small{text-transform:uppercase;color:rgba(255,255,255,.7);font-size:.65rem;font-weight:850;letter-spacing:.13em}
.wedding-facts strong{margin-top:4px;font-size:.93rem}
.wedding-public-section{width:min(960px,calc(100% - 40px));padding:105px 0;border-bottom:1px solid var(--wedding-line);scroll-margin-top:105px}
.wedding-public-section h2{margin-bottom:18px;text-wrap:balance}
.wedding-section-intro{max-width:610px;margin:0 auto 42px;color:var(--muted);font-size:1.05rem;line-height:1.75}
.wedding-schedule{position:relative;max-width:760px;margin-top:40px}
.wedding-schedule::before{content:"";position:absolute;top:22px;bottom:22px;left:21px;width:1px;background:color-mix(in srgb,var(--terracotta) 38%,transparent)}
.wedding-schedule-row{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;padding:18px 0;border:0}
.wedding-timeline-icon{z-index:1;display:grid;width:40px;height:40px;place-items:center;border:1px solid currentColor;border-radius:50%;background:var(--wedding-paper);color:var(--terracotta);box-shadow:0 0 0 5px var(--wedding-paper)}
.wedding-timeline-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wedding-schedule-row p{margin:0;padding:0 0 18px;border-bottom:1px solid var(--wedding-line);color:var(--green);font-size:1.06rem;line-height:1.65}
.wedding-location-section{width:min(1100px,calc(100% - 40px));border-bottom:0}
.wedding-location-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end;padding:clamp(34px,6vw,68px);border-radius:34px;background:linear-gradient(135deg,var(--green),color-mix(in srgb,var(--green) 82%,#000));color:#fff;text-align:left;box-shadow:0 24px 65px rgba(36,60,53,.15)}
.wedding-location-card .wedding-section-kicker{color:color-mix(in srgb,var(--terracotta) 45%,#fff)}
.wedding-location-card h2{max-width:760px;margin:12px 0 18px;color:#fff}
.wedding-location-card address{color:rgba(255,255,255,.78);font-size:1.06rem;font-style:normal;line-height:1.7}
.wedding-route-link{display:inline-flex;align-items:center;gap:9px;padding:13px 18px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#fff;font-size:.88rem;font-weight:850;text-decoration:none;white-space:nowrap}
.wedding-route-link:hover,.wedding-route-link:focus-visible{background:#fff;color:var(--green)}
.wedding-rsvp-section{width:min(980px,calc(100% - 40px));margin:20px auto 70px;padding:clamp(48px,7vw,82px);border:1px solid color-mix(in srgb,var(--terracotta) 32%,transparent);border-radius:38px;background:linear-gradient(145deg,#fff8f3,var(--wedding-soft));box-sizing:border-box}
.wedding-rsvp-guidance{max-width:620px;margin:34px auto 0;padding:25px;border:1px solid var(--wedding-line);border-radius:20px;background:#fff}
.wedding-rsvp-guidance strong{display:block;color:var(--green);font-size:1.08rem}
.wedding-rsvp-guidance p{margin:8px 0;color:var(--muted)}
.wedding-rsvp-guidance span{display:inline-block;margin-top:6px;color:var(--terracotta);font-size:.82rem;font-weight:850}
.wedding-gallery-section{width:min(1180px,calc(100% - 40px))}
.wedding-gallery-grid{margin-top:42px}
.wedding-gallery-more{margin-top:30px;text-align:center}
.wedding-gallery-more summary{display:inline-flex;padding:12px 18px;border:1px solid var(--green);border-radius:999px;color:var(--green);font-size:.88rem;font-weight:850;cursor:pointer;list-style:none}
.wedding-gallery-more summary::-webkit-details-marker{display:none}
.wedding-gallery-more summary:hover,.wedding-gallery-more summary:focus-visible{background:var(--green);color:#fff}
.wedding-gallery-more[open] summary{margin-bottom:8px}
.wedding-gallery-grid-more .wedding-gallery-item:first-child{grid-column:auto;grid-row:auto}
.wedding-plus-public-section{box-sizing:border-box;width:min(900px,calc(100% - 40px));margin:70px auto;padding:clamp(45px,7vw,74px);border:1px solid var(--wedding-line);border-radius:32px;background:var(--wedding-soft)}
.wedding-faq{max-width:760px;margin:42px auto 0}
.wedding-faq details{border-radius:14px;box-shadow:0 6px 24px rgba(36,60,53,.035)}
.wedding-faq summary{position:relative;padding-right:36px}
.wedding-faq summary::after{content:"+";position:absolute;top:14px;right:0;color:var(--terracotta);font-size:1.25rem;font-weight:400}
.wedding-faq details[open] summary::after{content:"−"}
.wedding-contact{border-bottom:0}
.wedding-closing{width:min(1100px,calc(100% - 40px));margin:40px auto 0;padding:clamp(70px,10vw,120px) 28px;text-align:center;border-radius:38px 38px 0 0;background:var(--green);color:#fff}
.wedding-closing>span{display:grid;width:48px;height:48px;margin:0 auto 24px;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:color-mix(in srgb,var(--terracotta) 45%,#fff)}
.wedding-closing p{max-width:720px;margin:0 auto 22px;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3.3rem);line-height:1.2;text-wrap:balance}
.wedding-closing strong{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.wedding-public-footer{display:flex;justify-content:center;gap:22px 48px;flex-wrap:wrap;padding:30px 20px 42px;background:var(--green);color:rgba(255,255,255,.68)}
.wedding-public-footer strong,.wedding-public-footer a{color:#fff}
.wedding-theme-modern .wedding-welcome-card,.wedding-theme-modern .wedding-public-section{text-align:left}
.wedding-theme-modern .wedding-welcome-card p,.wedding-theme-modern .wedding-section-intro,.wedding-theme-modern .wedding-faq{margin-left:0}
.wedding-theme-modern .wedding-schedule{margin-left:0}
.wedding-theme-modern .wedding-rsvp-section{text-align:left}
.wedding-theme-modern .wedding-rsvp-guidance{margin-left:0}
.wedding-theme-botanical .wedding-welcome-card{background:radial-gradient(circle at 0 0,rgba(123,153,124,.16),transparent 30%),radial-gradient(circle at 100% 100%,rgba(166,109,88,.13),transparent 32%),#fffdf9}
.wedding-theme-editorial .wedding-welcome-card{border-radius:0;background:#f4efe5}
.wedding-theme-editorial .wedding-facts,.wedding-theme-editorial .wedding-location-card,.wedding-theme-editorial .wedding-closing{border-radius:0}
.wedding-theme-editorial .wedding-welcome-card h2,.wedding-theme-editorial .wedding-closing p{font-style:italic}
@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}.wedding-nav-links>a::after{transition:none}}
@media(max-width:760px){
  .wedding-public-nav{min-height:64px;padding:0 18px}.wedding-nav-links{display:none}.wedding-mobile-menu{display:block}
  .wedding-preview-bar+.wedding-public-nav{top:48px}.wedding-public-hero{min-height:70vh;padding:72px 18px 105px}.wedding-public-hero h1{font-size:clamp(2.9rem,15vw,5rem)}
  .wedding-welcome-wrap{width:min(100% - 24px,1100px);margin-top:-48px}.wedding-welcome-card{padding:35px 22px;border-radius:24px 24px 0 0}.wedding-welcome-card p{font-size:1rem;line-height:1.75}
  .wedding-facts{grid-template-columns:1fr;border-radius:0 0 24px 24px}.wedding-facts article,.wedding-facts>a{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.wedding-facts>*:last-child{border-bottom:0}
  .wedding-public-section{width:min(100% - 30px,960px);padding:72px 0}.wedding-section-intro{margin-bottom:32px}
  .wedding-schedule-row{grid-template-columns:40px minmax(0,1fr);gap:12px}.wedding-schedule::before{left:19px}.wedding-timeline-icon{width:36px;height:36px}.wedding-timeline-icon svg{width:20px;height:20px}.wedding-schedule-row p{font-size:1rem}
  .wedding-location-section{width:min(100% - 24px,1100px)}.wedding-location-card{grid-template-columns:1fr;align-items:start;padding:32px 24px;border-radius:26px}.wedding-route-link{justify-content:center;width:100%;box-sizing:border-box}
  .wedding-rsvp-section{width:min(100% - 24px,980px);padding:45px 18px;border-radius:28px}.wedding-rsvp-personal{padding:20px 14px}
  .wedding-gallery-section{width:min(100% - 24px,1180px)}.wedding-gallery-grid{gap:10px}.wedding-gallery-more summary{width:100%;box-sizing:border-box;justify-content:center}
  .wedding-plus-public-section{width:min(100% - 24px,900px);margin:42px auto;padding:40px 22px;border-radius:26px}
  .wedding-closing{width:min(100% - 24px,1100px);padding:70px 22px;border-radius:28px 28px 0 0}.wedding-public-footer{align-items:center;flex-direction:column;gap:11px;text-align:center}
  .wedding-theme-modern .wedding-public-hero{padding-inline:22px}.wedding-theme-modern .wedding-welcome-card{text-align:left}
}
@media(max-width:430px){.wedding-public-hero h1{font-size:clamp(2.5rem,14vw,4rem)}.wedding-date-pill{font-size:.74rem}.wedding-public-section h2{font-size:clamp(2.15rem,11vw,3.2rem)}}

/* Sprint 23.32 – strukturierte Empfehlungen auf Plus-Hochzeitshomepages */
.wedding-recommendation-editor{grid-column:1/-1}.wedding-recommendation-editor>.label{display:grid;gap:8px;margin-top:18px}.wedding-recommendation-editor-head{display:flex;justify-content:space-between;gap:18px;margin:26px 0 12px;padding-top:22px;border-top:1px solid var(--greige)}.wedding-recommendation-editor-head h3{margin:0 0 5px;color:var(--green);font-size:1.08rem}.wedding-recommendation-editor-head .hint{margin:0}.wedding-recommendation-editor-list{display:grid;gap:10px}.wedding-recommendation-editor-item{border:1px solid var(--greige);border-radius:14px;background:#fff;overflow:hidden}.wedding-recommendation-editor-item>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;color:var(--green);font-weight:820}.wedding-recommendation-editor-item>summary::-webkit-details-marker{display:none}.wedding-recommendation-editor-item>summary::marker{content:""}.wedding-recommendation-editor-item>summary::before{content:"+";flex:0 0 auto;color:var(--terracotta);font-size:1.1rem}.wedding-recommendation-editor-item[open]>summary::before{content:"−"}.wedding-recommendation-editor-item>summary small{margin-left:auto;color:var(--muted);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wedding-recommendation-fields{display:grid;gap:14px;padding:18px;border-top:1px solid var(--greige);background:var(--warm)}.wedding-recommendation-fields .label,.wedding-recommendation-fields .hint{margin:0}
.wedding-recommendations-section{width:min(1100px,calc(100% - 40px));background:linear-gradient(145deg,var(--wedding-soft),#fffdf9)}.wedding-recommendations-intro{max-width:720px;margin:0 auto;color:var(--muted);font-size:1.03rem;line-height:1.75}.wedding-recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:38px;text-align:left}.wedding-recommendation-card{display:flex;min-width:0;flex-direction:column;padding:26px;border:1px solid var(--wedding-line);border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 10px 32px rgba(36,60,53,.055)}.wedding-recommendation-type{margin-bottom:12px;color:var(--terracotta);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.wedding-recommendation-card h3{margin:0 0 12px;color:var(--green);font-family:Georgia,serif;font-size:1.45rem;font-weight:400;line-height:1.25}.wedding-recommendation-card address{margin-bottom:16px;color:var(--green);font-size:.93rem;font-style:normal;line-height:1.55}.wedding-recommendation-card>p{margin:0 0 20px;color:var(--muted);font-size:.94rem;line-height:1.65}.wedding-recommendation-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:4px}.wedding-recommendation-actions a{display:inline-flex;align-items:center;gap:6px;padding:9px 13px;border:1px solid var(--green);border-radius:999px;color:var(--green);font-size:.78rem;font-weight:850;text-decoration:none}.wedding-recommendation-actions a:hover,.wedding-recommendation-actions a:focus-visible{background:var(--green);color:#fff}.wedding-theme-modern .wedding-recommendations-intro{margin-left:0}.wedding-theme-editorial .wedding-recommendations-section,.wedding-theme-editorial .wedding-recommendation-card{border-radius:0}
@media(max-width:760px){.wedding-recommendation-editor-item>summary{align-items:flex-start;flex-wrap:wrap}.wedding-recommendation-editor-item>summary small{width:100%;margin-left:26px}.wedding-recommendation-fields{padding:16px 14px}.wedding-recommendations-section{width:min(100% - 24px,1100px)}.wedding-recommendation-grid{grid-template-columns:1fr;gap:13px;margin-top:28px}.wedding-recommendation-card{padding:22px 19px}.wedding-recommendation-actions{display:grid}.wedding-recommendation-actions a{justify-content:center}}

/* Sprint 23.33 – eigenständige Theme-Identitäten und dekorative Seitenränder */
.wedding-public-section{position:relative;isolation:isolate}.wedding-public-section>*{position:relative;z-index:1}.wedding-schedule-section::before,.wedding-schedule-section::after,.wedding-recommendations-section::before,.wedding-recommendations-section::after,.wedding-gallery-section::before,.wedding-gallery-section::after{pointer-events:none;position:absolute;z-index:0;display:block}

/* Klassisch: warme Papierwirkung, Doppelrahmen und feine florale Linien */
.wedding-theme-classic{--wedding-paper:#fbf7ef;--wedding-soft:#f3eadf;--wedding-line:rgba(111,85,62,.2)}
.wedding-theme-classic .wedding-public-nav{border-bottom-color:rgba(111,85,62,.18);background:rgba(251,247,239,.95)}
.wedding-theme-classic .wedding-welcome-card{outline:1px solid rgba(167,134,104,.34);outline-offset:-12px;background:linear-gradient(145deg,rgba(255,253,248,.98),rgba(247,239,228,.98))}
.wedding-theme-classic .wedding-welcome-card::before{content:"◆";position:absolute;top:22px;left:50%;translate:-50% 0;color:#a78668;font-size:.65rem}
.wedding-theme-classic .wedding-public-section>h2::after{content:"";display:block;width:76px;height:1px;margin:22px auto 0;background:linear-gradient(90deg,transparent,#a78668,transparent)}
.wedding-theme-classic .wedding-location-card{outline:1px solid rgba(255,255,255,.35);outline-offset:-12px;background:linear-gradient(145deg,#304d43,#1f3730)}
.wedding-theme-classic .wedding-rsvp-section,.wedding-theme-classic .wedding-recommendations-section{outline:1px solid rgba(167,134,104,.25);outline-offset:-10px}
.wedding-theme-classic .wedding-recommendation-card,.wedding-theme-classic .wedding-faq details{box-shadow:0 12px 36px rgba(93,70,51,.06)}
.wedding-theme-classic .wedding-gallery-item{border-radius:120px 120px 18px 18px}.wedding-theme-classic .wedding-gallery-item:nth-child(3n){border-radius:18px 18px 120px 120px}
.wedding-theme-classic .wedding-schedule-section::before,.wedding-theme-classic .wedding-recommendations-section::after,.wedding-theme-classic .wedding-gallery-section::before{content:"";width:150px;height:350px;background:url('/assets/img/wedding-themes/classic-flourish.svg') center/contain no-repeat;opacity:.62}
.wedding-theme-classic .wedding-schedule-section::before{top:80px;left:-184px}.wedding-theme-classic .wedding-recommendations-section::after{top:64px;right:-174px;transform:scaleX(-1)}.wedding-theme-classic .wedding-gallery-section::before{top:120px;left:-160px;transform:scaleY(-1);opacity:.42}

/* Modern: klare Geometrie, asymmetrische Flächen und kantige Karten */
.wedding-theme-modern{--wedding-paper:#f3f2ee;--wedding-soft:#e8e5df;--wedding-line:rgba(36,52,58,.18)}
.wedding-theme-modern .wedding-public-nav{background:rgba(255,255,255,.94)}
.wedding-theme-modern .wedding-public-hero.has-cover::after{background:linear-gradient(90deg,rgba(17,32,38,.82) 0 42%,rgba(17,32,38,.28) 72%,rgba(17,32,38,.18))}
.wedding-theme-modern .wedding-date-pill{border-radius:4px;text-transform:uppercase;font-weight:850}.wedding-theme-modern .wedding-script{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-style:normal;text-transform:uppercase;font-size:.78rem;font-weight:900;letter-spacing:.2em}
.wedding-theme-modern .wedding-welcome-card{border-radius:0;border:0;border-left:10px solid var(--terracotta);box-shadow:18px 18px 0 rgba(36,52,58,.09)}
.wedding-theme-modern .wedding-welcome-card h2,.wedding-theme-modern .wedding-public-section h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:900;letter-spacing:-.055em}
.wedding-theme-modern .wedding-facts{border-radius:0}.wedding-theme-modern .wedding-facts>*:nth-child(even){background:rgba(255,255,255,.08)}
.wedding-theme-modern .wedding-schedule-row p{font-weight:720}
.wedding-theme-modern .wedding-location-card,.wedding-theme-modern .wedding-rsvp-section,.wedding-theme-modern .wedding-recommendations-section,.wedding-theme-modern .wedding-recommendation-card,.wedding-theme-modern .wedding-faq details,.wedding-theme-modern .wedding-closing,.wedding-theme-modern .wedding-gallery-item{border-radius:0}
.wedding-theme-modern .wedding-location-card{box-shadow:18px 18px 0 var(--terracotta)}.wedding-theme-modern .wedding-rsvp-section{border-width:0 0 0 10px;background:#fff}.wedding-theme-modern .wedding-recommendations-section{border:0;background:linear-gradient(110deg,#fff 0 76%,rgba(197,95,67,.12) 76%)}
.wedding-theme-modern .wedding-recommendation-card{border-left:5px solid var(--terracotta);box-shadow:8px 8px 0 rgba(36,52,58,.07)}
.wedding-theme-modern .wedding-schedule-section::before{content:"";top:110px;left:-170px;width:112px;height:112px;border:22px solid rgba(197,95,67,.34);border-radius:50%}.wedding-theme-modern .wedding-recommendations-section::after{content:"";top:-46px;right:-118px;width:150px;height:150px;background:linear-gradient(135deg,rgba(36,52,58,.16) 0 50%,rgba(197,95,67,.28) 50%)}.wedding-theme-modern .wedding-gallery-section::before{content:"";top:210px;left:-140px;width:100px;height:280px;border-left:28px solid rgba(197,95,67,.28);border-bottom:28px solid rgba(36,52,58,.17)}

/* Botanisch: organische Formen, Salbeipapier und gezeichnete Zweige */
.wedding-theme-botanical{--wedding-paper:#f5f6ef;--wedding-soft:#e9efe5;--wedding-line:rgba(76,105,80,.2)}
.wedding-theme-botanical .wedding-public-shell{background:radial-gradient(circle at 8% 22%,rgba(130,160,132,.12),transparent 24%),radial-gradient(circle at 92% 68%,rgba(216,163,143,.1),transparent 22%),var(--wedding-paper)}
.wedding-theme-botanical .wedding-public-main{background:transparent}.wedding-theme-botanical .wedding-public-hero.has-cover::after{background:linear-gradient(180deg,rgba(31,61,44,.18),rgba(31,61,44,.68))}
.wedding-theme-botanical .wedding-welcome-card{border-color:rgba(111,140,114,.34);background:radial-gradient(circle at 0 0,rgba(123,153,124,.2),transparent 34%),radial-gradient(circle at 100% 100%,rgba(216,163,143,.16),transparent 30%),#fffdf9}
.wedding-theme-botanical .wedding-facts{background:#395344}.wedding-theme-botanical .wedding-timeline-icon{color:#6f8c72}
.wedding-theme-botanical .wedding-location-card{background:linear-gradient(145deg,#486653,#2f4939)}
.wedding-theme-botanical .wedding-rsvp-section{background:radial-gradient(circle at 10% 10%,rgba(111,140,114,.16),transparent 36%),#fffdf9}.wedding-theme-botanical .wedding-recommendations-section{background:linear-gradient(145deg,#edf3e9,#fffdf9)}
.wedding-theme-botanical .wedding-schedule-section::before,.wedding-theme-botanical .wedding-recommendations-section::after,.wedding-theme-botanical .wedding-gallery-section::before{content:"";width:190px;height:410px;background:url('/assets/img/wedding-themes/botanical-branch.svg') center/contain no-repeat;opacity:.82}.wedding-theme-botanical .wedding-schedule-section::before{top:58px;left:-215px}.wedding-theme-botanical .wedding-recommendations-section::after{top:30px;right:-205px;transform:scaleX(-1)}.wedding-theme-botanical .wedding-gallery-section::before{top:190px;left:-196px;transform:scaleY(-1);opacity:.58}

/* Editorial: starke Magazinlinien, kantige Flächen und typografische Randdetails */
.wedding-theme-editorial{--wedding-paper:#f2ede3;--wedding-soft:#e8e0d3;--wedding-line:rgba(22,22,22,.25)}
.wedding-theme-editorial .wedding-public-nav{border-bottom:2px solid #161616;background:rgba(22,22,22,.96)}.wedding-theme-editorial .wedding-public-nav a,.wedding-theme-editorial .wedding-mini-brand,.wedding-theme-editorial .wedding-mobile-menu>summary{color:#fff}.wedding-theme-editorial .wedding-mobile-menu>summary{border-color:rgba(255,255,255,.45)}
.wedding-theme-editorial .wedding-public-hero.has-cover::after{background:linear-gradient(100deg,rgba(0,0,0,.78) 0 14%,rgba(0,0,0,.42) 14% 86%,rgba(133,78,55,.72) 86%)}
.wedding-theme-editorial .wedding-welcome-wrap{width:min(1180px,calc(100% - 36px))}.wedding-theme-editorial .wedding-welcome-card{border:2px solid #161616;box-shadow:16px 16px 0 #161616;text-align:left}.wedding-theme-editorial .wedding-welcome-card h2{max-width:900px;font-size:clamp(2.8rem,7vw,5.6rem)}.wedding-theme-editorial .wedding-welcome-card p{margin-left:0}
.wedding-theme-editorial .wedding-facts{border:2px solid #161616;border-top:0;background:#161616}.wedding-theme-editorial .wedding-section-kicker{color:#161616;font-weight:950}.wedding-theme-editorial .wedding-public-section>h2{font-size:clamp(3rem,8vw,6rem);line-height:.92}
.wedding-theme-editorial .wedding-timeline-icon{color:#161616}
.wedding-theme-editorial .wedding-location-card{border:2px solid #161616;background:#161616;box-shadow:16px 16px 0 #a85d3f}.wedding-theme-editorial .wedding-rsvp-section{border:2px solid #161616;background:#fff}.wedding-theme-editorial .wedding-recommendations-section{border:2px solid #161616;background:#f2ede3}.wedding-theme-editorial .wedding-recommendation-card{border:2px solid #161616;background:#fff;box-shadow:8px 8px 0 rgba(22,22,22,.16)}.wedding-theme-editorial .wedding-recommendation-card:nth-child(even){background:#161616;color:#fff}.wedding-theme-editorial .wedding-recommendation-card:nth-child(even) h3,.wedding-theme-editorial .wedding-recommendation-card:nth-child(even) address{color:#fff}.wedding-theme-editorial .wedding-recommendation-card:nth-child(even)>p{color:rgba(255,255,255,.72)}.wedding-theme-editorial .wedding-recommendation-card:nth-child(even) .wedding-recommendation-actions a{border-color:#fff;color:#fff}.wedding-theme-editorial .wedding-faq details{border:2px solid #161616;background:#f7f3eb}.wedding-theme-editorial .wedding-gallery-item{border-radius:0;filter:saturate(.78) contrast(1.03)}
.wedding-theme-editorial .wedding-schedule-section::before{content:"THE WEDDING EDITION";top:90px;left:-132px;writing-mode:vertical-rl;transform:rotate(180deg);color:#161616;font-size:.66rem;font-weight:950;letter-spacing:.25em}.wedding-theme-editorial .wedding-recommendations-section::after{content:"LOVE / STORY";top:78px;right:-112px;writing-mode:vertical-rl;color:#a85d3f;font-family:Georgia,serif;font-size:1.05rem;font-style:italic;letter-spacing:.12em}.wedding-theme-editorial .wedding-gallery-section::before{content:"01";top:170px;left:-138px;color:rgba(22,22,22,.12);font-family:Georgia,serif;font-size:7rem;line-height:1}

/* Aussagekräftigere Editor-Vorschauen */
.wedding-theme-swatch{position:relative;overflow:hidden}.wedding-theme-swatch::before,.wedding-theme-swatch::after{content:"";position:absolute;pointer-events:none}.wedding-theme-swatch-classic{outline:1px solid rgba(167,134,104,.45);outline-offset:-8px}.wedding-theme-swatch-classic::before{inset:13px 18px;border-top:1px solid #a78668;border-bottom:1px solid #a78668}.wedding-theme-swatch-classic::after{top:50%;left:50%;width:7px;height:7px;background:#a78668;transform:translate(-50%,-50%) rotate(45deg)}
.wedding-theme-swatch-modern::before{right:-14px;bottom:-24px;width:74px;height:74px;border:15px solid rgba(255,255,255,.68);border-radius:50%}.wedding-theme-swatch-modern::after{left:13px;top:17px;width:66px;height:8px;background:#24343a;box-shadow:0 17px 0 #24343a}
.wedding-theme-swatch-botanical::before{inset:-12px 42% -12px -14px;background:url('/assets/img/wedding-themes/botanical-branch.svg') center/contain no-repeat;transform:rotate(8deg)}.wedding-theme-swatch-botanical::after{right:14px;top:15px;width:43px;height:43px;border-radius:50% 12px;background:rgba(166,109,88,.38)}
.wedding-theme-swatch-editorial::before{inset:0 auto 0 30%;width:2px;background:#171717;box-shadow:53px 0 0 #aa7655}.wedding-theme-swatch-editorial::after{content:"Aa";right:17px;bottom:10px;color:#171717;font-family:Georgia,serif;font-size:1.4rem;font-style:italic}

@media(max-width:1180px){.wedding-schedule-section::before,.wedding-schedule-section::after,.wedding-recommendations-section::before,.wedding-recommendations-section::after,.wedding-gallery-section::before,.wedding-gallery-section::after{display:none}}
@media(max-width:760px){.wedding-theme-classic .wedding-welcome-card{outline-offset:-7px}.wedding-theme-classic .wedding-gallery-item,.wedding-theme-classic .wedding-gallery-item:nth-child(3n){border-radius:60px 60px 16px 16px}.wedding-theme-modern .wedding-welcome-card{border-left-width:6px;box-shadow:8px 8px 0 rgba(36,52,58,.08)}.wedding-theme-modern .wedding-location-card{box-shadow:8px 8px 0 var(--terracotta)}.wedding-theme-editorial .wedding-public-nav{background:#161616}.wedding-theme-editorial .wedding-welcome-card{box-shadow:7px 7px 0 #161616}.wedding-theme-editorial .wedding-location-card{box-shadow:8px 8px 0 #a85d3f}}

/* Sprint 23.33.2 – deutliche beidseitige Dekoration und direkt sichtbare Theme-Auswahl */
.wedding-theme-choice input{z-index:4}.wedding-theme-choice .wedding-theme-swatch{pointer-events:none}.wedding-theme-choice:has(input:checked){border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(185,111,87,.2)}.wedding-theme-choice:has(input:checked) strong{color:var(--terracotta)}.wedding-theme-choice input:focus-visible+.wedding-theme-swatch{outline:3px solid rgba(185,111,87,.4);outline-offset:3px}

@media(min-width:1000px){
  .wedding-theme-classic .wedding-schedule-section::before,.wedding-theme-classic .wedding-schedule-section::after,.wedding-theme-classic .wedding-recommendations-section::before,.wedding-theme-classic .wedding-recommendations-section::after,.wedding-theme-classic .wedding-gallery-section::before,.wedding-theme-classic .wedding-gallery-section::after,
  .wedding-theme-botanical .wedding-schedule-section::before,.wedding-theme-botanical .wedding-schedule-section::after,.wedding-theme-botanical .wedding-recommendations-section::before,.wedding-theme-botanical .wedding-recommendations-section::after,.wedding-theme-botanical .wedding-gallery-section::before,.wedding-theme-botanical .wedding-gallery-section::after{
    content:"";display:block;top:clamp(56px,8vw,110px);width:clamp(130px,14vw,220px);height:clamp(360px,42vw,520px);opacity:1
  }
  .wedding-theme-classic .wedding-schedule-section::before,.wedding-theme-classic .wedding-recommendations-section::before,.wedding-theme-classic .wedding-gallery-section::before,
  .wedding-theme-botanical .wedding-schedule-section::before,.wedding-theme-botanical .wedding-recommendations-section::before,.wedding-theme-botanical .wedding-gallery-section::before{left:calc(50% - 50vw);right:auto;transform:none}
  .wedding-theme-classic .wedding-schedule-section::after,.wedding-theme-classic .wedding-recommendations-section::after,.wedding-theme-classic .wedding-gallery-section::after,
  .wedding-theme-botanical .wedding-schedule-section::after,.wedding-theme-botanical .wedding-recommendations-section::after,.wedding-theme-botanical .wedding-gallery-section::after{right:calc(50% - 50vw);left:auto;transform:scaleX(-1)}
  .wedding-theme-classic .wedding-schedule-section::before,.wedding-theme-classic .wedding-schedule-section::after,.wedding-theme-classic .wedding-recommendations-section::before,.wedding-theme-classic .wedding-recommendations-section::after,.wedding-theme-classic .wedding-gallery-section::before,.wedding-theme-classic .wedding-gallery-section::after{background:radial-gradient(ellipse at 45% 48%,rgba(196,158,119,.2),transparent 62%),url('/assets/img/wedding-themes/classic-flourish.svg') center/contain no-repeat;filter:drop-shadow(0 14px 28px rgba(111,85,62,.09))}
  .wedding-theme-botanical .wedding-schedule-section::before,.wedding-theme-botanical .wedding-schedule-section::after,.wedding-theme-botanical .wedding-recommendations-section::before,.wedding-theme-botanical .wedding-recommendations-section::after,.wedding-theme-botanical .wedding-gallery-section::before,.wedding-theme-botanical .wedding-gallery-section::after{background:radial-gradient(ellipse at 42% 46%,rgba(174,205,174,.36),transparent 64%),url('/assets/img/wedding-themes/botanical-branch.svg') center/contain no-repeat;filter:drop-shadow(0 14px 28px rgba(57,83,68,.11))}

  .wedding-theme-modern .wedding-schedule-section::before,.wedding-theme-modern .wedding-schedule-section::after,.wedding-theme-modern .wedding-recommendations-section::before,.wedding-theme-modern .wedding-recommendations-section::after,.wedding-theme-modern .wedding-gallery-section::before,.wedding-theme-modern .wedding-gallery-section::after{content:"";display:block;top:clamp(70px,9vw,130px);width:clamp(120px,13vw,205px);height:clamp(330px,36vw,470px);opacity:1;background:radial-gradient(circle at 48% 22%,transparent 0 42px,rgba(197,95,67,.55) 43px 65px,transparent 66px),linear-gradient(135deg,transparent 0 46%,rgba(36,52,58,.2) 46% 62%,transparent 62%),linear-gradient(90deg,rgba(197,95,67,.2) 0 22%,transparent 22% 68%,rgba(36,52,58,.13) 68%);clip-path:polygon(0 0,100% 5%,82% 100%,8% 86%)}
  .wedding-theme-modern .wedding-schedule-section::before,.wedding-theme-modern .wedding-recommendations-section::before,.wedding-theme-modern .wedding-gallery-section::before{left:calc(50% - 50vw);right:auto;transform:none}
  .wedding-theme-modern .wedding-schedule-section::after,.wedding-theme-modern .wedding-recommendations-section::after,.wedding-theme-modern .wedding-gallery-section::after{right:calc(50% - 50vw);left:auto;transform:scaleX(-1)}

  .wedding-theme-editorial .wedding-schedule-section::before,.wedding-theme-editorial .wedding-schedule-section::after,.wedding-theme-editorial .wedding-recommendations-section::before,.wedding-theme-editorial .wedding-recommendations-section::after,.wedding-theme-editorial .wedding-gallery-section::before,.wedding-theme-editorial .wedding-gallery-section::after{display:flex;align-items:center;justify-content:center;top:clamp(70px,9vw,130px);width:clamp(105px,12vw,190px);height:clamp(350px,40vw,500px);border-top:12px solid #161616;border-bottom:3px solid #a85d3f;background:repeating-linear-gradient(90deg,transparent 0 20px,rgba(22,22,22,.12) 20px 22px);color:#161616;font-family:Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);font-style:italic;font-weight:700;line-height:1;opacity:1;writing-mode:vertical-rl}
  .wedding-theme-editorial .wedding-schedule-section::before,.wedding-theme-editorial .wedding-recommendations-section::before,.wedding-theme-editorial .wedding-gallery-section::before{content:"23";left:calc(50% - 50vw);right:auto;transform:rotate(180deg)}
  .wedding-theme-editorial .wedding-schedule-section::after,.wedding-theme-editorial .wedding-recommendations-section::after,.wedding-theme-editorial .wedding-gallery-section::after{content:"LOVE";right:calc(50% - 50vw);left:auto;color:#a85d3f;font-size:clamp(1.8rem,4vw,4rem);letter-spacing:.12em}
}

/* Sprint 23.33.4 – beim Scrollen feststehende Seitendekoration */
@media(min-width:1000px){
  .wedding-public-main{position:relative;isolation:isolate}.wedding-public-main>*{position:relative;z-index:1}
  .wedding-public-main::before,.wedding-public-main::after{content:"";position:fixed;z-index:0;top:clamp(105px,18vh,190px);display:block;width:clamp(130px,14vw,220px);height:min(64vh,560px);pointer-events:none}
  .wedding-public-main::before{left:0}.wedding-public-main::after{right:0;transform:scaleX(-1)}
  .wedding-site-body .wedding-public-main .wedding-schedule-section::before,.wedding-site-body .wedding-public-main .wedding-schedule-section::after,.wedding-site-body .wedding-public-main .wedding-recommendations-section::before,.wedding-site-body .wedding-public-main .wedding-recommendations-section::after,.wedding-site-body .wedding-public-main .wedding-gallery-section::before,.wedding-site-body .wedding-public-main .wedding-gallery-section::after{display:none}

  .wedding-theme-classic .wedding-public-main::before,.wedding-theme-classic .wedding-public-main::after{background:radial-gradient(ellipse at 45% 48%,rgba(196,158,119,.24),transparent 64%),url('/assets/img/wedding-themes/classic-flourish.svg') center/contain no-repeat;filter:drop-shadow(0 14px 28px rgba(111,85,62,.1))}
  .wedding-theme-botanical .wedding-public-main::before,.wedding-theme-botanical .wedding-public-main::after{background:radial-gradient(ellipse at 42% 46%,rgba(174,205,174,.4),transparent 65%),url('/assets/img/wedding-themes/botanical-branch.svg') center/contain no-repeat;filter:drop-shadow(0 14px 28px rgba(57,83,68,.12))}
  .wedding-theme-modern .wedding-public-main::before,.wedding-theme-modern .wedding-public-main::after{background:radial-gradient(circle at 48% 22%,transparent 0 42px,rgba(197,95,67,.58) 43px 65px,transparent 66px),linear-gradient(135deg,transparent 0 46%,rgba(36,52,58,.22) 46% 62%,transparent 62%),linear-gradient(90deg,rgba(197,95,67,.22) 0 22%,transparent 22% 68%,rgba(36,52,58,.15) 68%);clip-path:polygon(0 0,100% 5%,82% 100%,8% 86%)}
  .wedding-theme-editorial .wedding-public-main::before,.wedding-theme-editorial .wedding-public-main::after{display:flex;align-items:center;justify-content:center;border-top:12px solid #161616;border-bottom:3px solid #a85d3f;background:repeating-linear-gradient(90deg,transparent 0 20px,rgba(22,22,22,.13) 20px 22px);color:#161616;font-family:Georgia,serif;font-size:clamp(3.5rem,7vw,7rem);font-style:italic;font-weight:700;line-height:1;writing-mode:vertical-rl}
  .wedding-theme-editorial .wedding-public-main::before{content:"23";transform:rotate(180deg)}.wedding-theme-editorial .wedding-public-main::after{content:"LOVE";color:#a85d3f;font-size:clamp(1.8rem,4vw,4rem);letter-spacing:.12em;transform:none}
}
@media(max-width:999px){.wedding-public-main::before,.wedding-public-main::after{display:none}}

/* Sprint 23.33.6 – optimierte Botanisch-Randgrafiken mit AVIF/WebP */
@media(min-width:1000px){
  .wedding-theme-botanical .wedding-public-main::before{background-image:url('/assets/img/wedding-themes/floral-links-480.webp');background-image:image-set(url('/assets/img/wedding-themes/floral-links-480.avif') type("image/avif"),url('/assets/img/wedding-themes/floral-links-480.webp') type("image/webp"));background-position:left center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 14px 28px rgba(36,60,53,.14));transform:none}
  .wedding-theme-botanical .wedding-public-main::after{background-image:url('/assets/img/wedding-themes/floral-rechts-480.webp');background-image:image-set(url('/assets/img/wedding-themes/floral-rechts-480.avif') type("image/avif"),url('/assets/img/wedding-themes/floral-rechts-480.webp') type("image/webp"));background-position:right center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 14px 28px rgba(36,60,53,.14));transform:none}
}
.wedding-theme-swatch-botanical::before{inset:0 auto 0 0;width:34%;background-image:url('/assets/img/wedding-themes/floral-links-480.webp');background-image:image-set(url('/assets/img/wedding-themes/floral-links-480.avif') type("image/avif"),url('/assets/img/wedding-themes/floral-links-480.webp') type("image/webp"));background-position:left center;background-size:contain;background-repeat:no-repeat;transform:none}.wedding-theme-swatch-botanical::after{inset:0 0 0 auto;width:34%;height:auto;border-radius:0;background-image:url('/assets/img/wedding-themes/floral-rechts-480.webp');background-image:image-set(url('/assets/img/wedding-themes/floral-rechts-480.avif') type("image/avif"),url('/assets/img/wedding-themes/floral-rechts-480.webp') type("image/webp"));background-position:right center;background-size:contain;background-repeat:no-repeat}

/* Sprint 23.33.7 – Botanisch-Hero, einheitliche Botanisch-Radien und Ablauf-Icons */
@media(min-width:1000px){
  .wedding-theme-botanical .wedding-public-hero{width:min(1600px,calc(100% - clamp(260px,28vw,440px)));margin-inline:auto;box-sizing:border-box}
}

/* Sprint 23.34 – konfigurierbare Icons, Ortsbild, Branding und zentrierte Navigation */
.site-icon-settings,.site-branding-setting,.site-location-media-editor{margin-top:28px;padding-top:24px;border-top:1px solid var(--greige)}
.site-icon-settings h3,.site-location-media-editor h3{margin:0 0 6px;color:var(--green)}
.site-icon-field{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;align-items:center;margin-top:7px}.site-icon-preview{display:grid;width:42px;height:42px;box-sizing:border-box;place-items:center;border:1px solid var(--greige);border-radius:12px;background:#fff;color:var(--green)}.site-icon-preview svg,.site-icon-catalog-grid svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.site-icon-catalog{margin-top:18px;border:1px solid var(--greige);border-radius:14px;background:var(--warm)}.site-icon-catalog summary{padding:13px 16px;cursor:pointer;color:var(--green);font-weight:800}.site-icon-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px;padding:0 14px 16px}.site-icon-catalog-grid>span{display:flex;min-width:0;align-items:center;gap:9px;padding:9px;border-radius:10px;background:#fff;color:var(--green)}.site-icon-catalog-grid i{display:grid;flex:0 0 28px;place-items:center}.site-icon-catalog-grid small{min-width:0;color:var(--ink);line-height:1.25}
.site-location-media-editor{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:24px;align-items:start}
.site-location-media-editor>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#e9e4db}
.site-location-media-editor .actions{margin-top:14px}
.site-schedule-editor{display:grid;gap:12px;margin-top:22px}
.site-schedule-editor-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.35fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--greige);border-radius:16px;background:var(--warm)}
.site-schedule-editor-actions{display:flex;gap:8px;align-items:center;padding-bottom:3px}.site-schedule-editor-actions .btn{min-width:36px;padding:8px 10px}

.wedding-public-nav{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr);align-items:center;gap:24px}
.wedding-public-nav nav.wedding-nav-links{grid-column:2;justify-content:center;margin:0}
.wedding-nav-brand{grid-column:3;justify-self:end;display:block;line-height:0}
.wedding-nav-brand img{display:block;width:clamp(128px,10vw,166px);height:auto}
.wedding-mobile-menu{grid-column:1;grid-row:1;justify-self:start;margin:0}
.wedding-fact-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wedding-schedule:not(.has-icons)::before{display:none}.wedding-schedule.without-icons .wedding-schedule-row{grid-template-columns:minmax(0,1fr);gap:0}.wedding-timeline-spacer{display:block;width:40px;height:40px}
.wedding-location-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:end}
.wedding-location-card.has-location-image{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:stretch;padding:0;overflow:hidden}
.wedding-location-card.has-location-image .wedding-location-copy{grid-template-columns:1fr;align-content:center;padding:clamp(34px,5vw,62px)}
.wedding-location-card.has-location-image .wedding-route-link{justify-self:start}
.wedding-location-image{min-height:360px;margin:0;background:rgba(255,255,255,.08)}
.wedding-location-image img{display:block;width:100%;height:100%;object-fit:cover}
.wedding-theme-editorial .wedding-nav-brand img{filter:brightness(0) invert(1)}
@media(min-width:1000px){
  .wedding-theme-botanical .wedding-public-main::before,.wedding-theme-botanical .wedding-public-main::after{top:clamp(88px,13vh,142px);width:clamp(210px,19vw,330px);height:min(78vh,720px)}
}
@media(max-width:900px){.site-schedule-editor-row{grid-template-columns:minmax(0,1fr) minmax(160px,.45fr)}.site-schedule-editor-actions{grid-column:1/-1}}
@media(max-width:760px){
  .wedding-public-nav{grid-template-columns:auto 1fr;gap:16px}.wedding-nav-links{display:none}.wedding-mobile-menu{display:block;grid-column:1}.wedding-nav-brand{grid-column:2}.wedding-nav-brand img{width:132px}
  .wedding-location-copy{grid-template-columns:1fr;align-items:start}.wedding-location-card.has-location-image{grid-template-columns:1fr}.wedding-location-card.has-location-image .wedding-location-copy{padding:32px 24px}.wedding-location-image{min-height:0;aspect-ratio:4/3}
  .site-location-media-editor,.site-schedule-editor-row{grid-template-columns:1fr}.site-schedule-editor-actions{grid-column:1}
}

/* Sprint 23.34.2 – ruhiger Hero, vertraute Logoposition und kompakter Footer */
.wedding-nav-brand{grid-column:1;justify-self:start}
.wedding-mobile-menu{grid-column:3;justify-self:end}
.wedding-public-hero .wedding-script{margin:0 0 12px}
.wedding-closing{border:1px solid var(--wedding-line);background:linear-gradient(145deg,var(--wedding-soft),var(--wedding-paper));color:var(--green)}
.wedding-closing>span{border-color:color-mix(in srgb,var(--terracotta) 45%,transparent);color:var(--terracotta)}
.wedding-public-footer{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;padding:16px clamp(20px,5vw,72px) 18px;background:var(--green);color:rgba(255,255,255,.74);text-align:left}
.wedding-footer-legal{grid-column:2;display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap}
.wedding-footer-legal a{color:#fff;text-decoration:none}.wedding-footer-legal a:hover,.wedding-footer-legal a:focus-visible{text-decoration:underline;text-underline-offset:3px}
.wedding-footer-branding{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:9px;white-space:nowrap}
.wedding-footer-branding a{display:block;line-height:0}.wedding-footer-branding img{display:block;width:112px;height:auto;filter:brightness(0) invert(1)}
@media(max-width:760px){
  .wedding-public-nav{grid-template-columns:minmax(0,1fr) auto}.wedding-nav-brand{grid-column:1;justify-self:start}.wedding-mobile-menu{grid-column:2;justify-self:end}
  .wedding-public-footer{grid-template-columns:1fr;justify-items:center;gap:10px;padding:15px 18px 17px;text-align:center}.wedding-footer-legal,.wedding-footer-branding{grid-column:1;justify-self:center}.wedding-footer-branding{white-space:normal}
}

/* Sprint 23.34.3 – optimierte Klassisch-Randgrafiken mit AVIF und WebP */
@media(min-width:1000px){
  .wedding-theme-classic .wedding-public-main::before{top:clamp(92px,13vh,140px);width:clamp(150px,16vw,237px);height:min(76vh,760px);background-image:url('/assets/img/wedding-themes/classic-floral-left.webp');background-image:image-set(url('/assets/img/wedding-themes/classic-floral-left.avif') type("image/avif"),url('/assets/img/wedding-themes/classic-floral-left.webp') type("image/webp"));background-position:left center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 14px 28px rgba(111,85,62,.13));transform:none}
  .wedding-theme-classic .wedding-public-main::after{top:clamp(92px,13vh,140px);width:clamp(150px,16vw,237px);height:min(76vh,760px);background-image:url('/assets/img/wedding-themes/classic-floral-right.webp');background-image:image-set(url('/assets/img/wedding-themes/classic-floral-right.avif') type("image/avif"),url('/assets/img/wedding-themes/classic-floral-right.webp') type("image/webp"));background-position:right center;background-size:contain;background-repeat:no-repeat;filter:drop-shadow(0 14px 28px rgba(111,85,62,.13));transform:none}
}
.wedding-theme-swatch-classic::before{inset:0 auto 0 0;width:30%;background-image:url('/assets/img/wedding-themes/classic-floral-left.webp');background-image:image-set(url('/assets/img/wedding-themes/classic-floral-left.avif') type("image/avif"),url('/assets/img/wedding-themes/classic-floral-left.webp') type("image/webp"));background-position:left center;background-size:contain;background-repeat:no-repeat;transform:none}
.wedding-theme-swatch-classic::after{inset:0 0 0 auto;width:30%;height:auto;background-image:url('/assets/img/wedding-themes/classic-floral-right.webp');background-image:image-set(url('/assets/img/wedding-themes/classic-floral-right.avif') type("image/avif"),url('/assets/img/wedding-themes/classic-floral-right.webp') type("image/webp"));background-position:right center;background-size:contain;background-repeat:no-repeat;transform:none}

/* Sprint 23.34.4 – Klassisch-Dekoration bleibt vor dem Titelbild sichtbar */
@media(min-width:1000px){
  .wedding-theme-classic .wedding-public-main::before,.wedding-theme-classic .wedding-public-main::after{z-index:2}
  .wedding-theme-classic .wedding-public-hero{z-index:auto}
  .wedding-theme-classic .wedding-hero-content,.wedding-theme-classic .wedding-public-main>*:not(.wedding-public-hero){z-index:3}
}

/* Sprint 23.34.5 – warme Klassisch-Flächen, ruhige Galerie und flacher Footer */
.wedding-theme-classic .wedding-facts{background:#75604d}
.wedding-theme-classic .wedding-location-card{background:linear-gradient(145deg,#75604d,#4f4034)}
.wedding-theme-classic .wedding-public-footer{background:#4f4034}
.wedding-theme-classic .wedding-gallery-item,.wedding-theme-classic .wedding-gallery-item:nth-child(3n){border-radius:18px}
.wedding-public-footer{padding:4px clamp(20px,5vw,72px) 5px}
@media(max-width:760px){.wedding-public-footer{gap:4px;padding:4px 18px 5px}}

/* Sprint 23.34.6 – Elegant mit lokaler Signaturschrift und 3×3-Galerie */
@font-face{font-family:"Mrs Saint Delafield";font-style:normal;font-display:swap;font-weight:400;src:url('/assets/fonts/mrs-saint-delafield/mrs-saint-delafield-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Mrs Saint Delafield";font-style:normal;font-display:swap;font-weight:400;src:url('/assets/fonts/mrs-saint-delafield/mrs-saint-delafield-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.wedding-theme-editorial .wedding-public-main::before,.wedding-theme-editorial .wedding-public-main::after,.wedding-theme-editorial .wedding-schedule-section::before,.wedding-theme-editorial .wedding-schedule-section::after,.wedding-theme-editorial .wedding-recommendations-section::before,.wedding-theme-editorial .wedding-recommendations-section::after,.wedding-theme-editorial .wedding-gallery-section::before,.wedding-theme-editorial .wedding-gallery-section::after{display:none!important}
.wedding-theme-editorial .wedding-script{max-width:min(980px,calc(100vw - 40px));margin:0 0 14px;font-family:"Mrs Saint Delafield","Segoe Script",cursive;font-size:clamp(4.2rem,11vw,8.4rem);font-style:normal;font-weight:400;letter-spacing:0;line-height:.78;text-transform:none;overflow-wrap:anywhere}
.wedding-theme-editorial .wedding-public-hero h1{max-width:min(980px,calc(100vw - 40px));font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(.78rem,1.25vw,1.05rem);font-style:normal;font-weight:900;letter-spacing:.2em;line-height:1.35;text-transform:uppercase}
.wedding-theme-swatch-editorial{background:#f4efe5}.wedding-theme-swatch-editorial::before{inset:8px;width:auto;background:linear-gradient(90deg,#b8aea0 0 30%,transparent 30% 35%,#d8d0c5 35% 65%,transparent 65% 70%,#a85d3f 70%);box-shadow:none}.wedding-theme-swatch-editorial::after{content:"Elegant";right:50%;bottom:50%;translate:50% 50%;padding:5px 8px;background:#f4efe5;color:#161616;font-family:"Mrs Saint Delafield","Segoe Script",cursive;font-size:1.35rem;font-style:normal;line-height:1}
.wedding-elegant-gallery-section{width:min(1040px,calc(100% - 40px));padding-block:80px}.wedding-elegant-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,clamp(250px,31vw,410px));gap:12px;max-width:940px;margin:0 auto}.wedding-elegant-gallery-item{min-width:0;min-height:0;margin:0;border-radius:0;background:#d8d0c5}.wedding-elegant-gallery-item a,.wedding-elegant-gallery-item img{display:block;width:100%;height:100%}.wedding-elegant-gallery-item a{cursor:zoom-in}.wedding-elegant-gallery-item a:focus-visible{outline:4px solid #a85d3f;outline-offset:-4px}.wedding-elegant-gallery-item img{object-fit:cover}.wedding-elegant-gallery-slot-1{grid-area:1/1}.wedding-elegant-gallery-slot-2{grid-area:1/2}.wedding-elegant-gallery-slot-3{grid-area:1/3}.wedding-elegant-gallery-slot-4{grid-area:2/1}.wedding-elegant-gallery-slot-6{grid-area:2/3}.wedding-elegant-gallery-slot-7{grid-area:3/1}.wedding-elegant-gallery-slot-8{grid-area:3/2}.wedding-elegant-gallery-slot-9{grid-area:3/3}.wedding-elegant-gallery-title{z-index:1;display:flex;min-width:0;align-items:center;justify-content:center;flex-direction:column;padding:18px;background:#f4efe5;color:#161616;text-align:center}.wedding-elegant-gallery-title span{font-size:.64rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.wedding-elegant-gallery-title strong{display:block;margin-top:10px;font-family:"Mrs Saint Delafield","Segoe Script",cursive;font-size:clamp(2.5rem,6vw,5.6rem);font-weight:400;line-height:.78;overflow-wrap:anywhere}
.wedding-gallery-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,10,10,.94);color:#fff}.wedding-gallery-lightbox[open]{display:grid;grid-template-columns:minmax(54px,1fr) minmax(0,12fr) minmax(54px,1fr);align-items:center}.wedding-gallery-lightbox::backdrop{background:rgba(10,10,10,.94)}.wedding-gallery-lightbox figure{display:grid;grid-column:2;margin:0;place-items:center}.wedding-gallery-lightbox figure img{display:block;max-width:100%;max-height:82dvh;object-fit:contain}.wedding-gallery-lightbox figcaption{max-width:720px;margin-top:10px;color:rgba(255,255,255,.78);font-size:.85rem;text-align:center}.wedding-gallery-lightbox-close,.wedding-gallery-lightbox-nav{border:1px solid rgba(255,255,255,.45);background:rgba(0,0,0,.28);color:#fff;cursor:pointer}.wedding-gallery-lightbox-close:hover,.wedding-gallery-lightbox-close:focus-visible,.wedding-gallery-lightbox-nav:hover,.wedding-gallery-lightbox-nav:focus-visible{background:#fff;color:#161616}.wedding-gallery-lightbox-close{position:fixed;z-index:2;top:18px;right:18px;width:44px;height:44px;border-radius:50%;font-size:1.8rem;line-height:1}.wedding-gallery-lightbox-nav{width:46px;height:64px;justify-self:center;border-radius:999px;font-size:2rem}.wedding-gallery-lightbox-prev{grid-column:1}.wedding-gallery-lightbox-next{grid-column:3}.wedding-gallery-lightbox-counter{position:fixed;bottom:18px;left:50%;translate:-50% 0;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.46);font-size:.78rem;font-weight:850;letter-spacing:.08em}
@media(max-width:760px){.wedding-theme-editorial .wedding-script{font-size:clamp(3.7rem,19vw,6.2rem)}.wedding-elegant-gallery-section{width:min(100% - 20px,620px);padding-block:52px}.wedding-elegant-gallery{grid-template-rows:repeat(3,clamp(150px,42vw,230px));gap:7px}.wedding-elegant-gallery-title{padding:8px}.wedding-elegant-gallery-title span{font-size:.52rem}.wedding-elegant-gallery-title strong{margin-top:6px;font-size:clamp(1.85rem,10vw,3.2rem)}.wedding-gallery-lightbox[open]{grid-template-columns:48px minmax(0,1fr) 48px}.wedding-gallery-lightbox figure img{max-height:76dvh}.wedding-gallery-lightbox-nav{width:40px;height:54px}.wedding-gallery-lightbox-close{top:10px;right:10px}}

/* Sprint 23.34.6.1 – viewportfeste Galerie und ruhige Salbeifarben für Elegant */
html.wedding-gallery-is-open,html.wedding-gallery-is-open body{overflow:hidden}
.wedding-gallery-lightbox{position:fixed;inset:0;box-sizing:border-box;overflow:hidden}
.wedding-theme-editorial{--green:#3d443c;--terracotta:#807263;--warm:#f7f6f1;--greige:#d5d8cc;--wedding-paper:#f7f6f1;--wedding-soft:#e5e7de;--wedding-line:rgba(61,68,60,.23)}
.wedding-theme-editorial .wedding-public-shell{background:var(--wedding-paper)}
.wedding-theme-editorial .wedding-public-nav{border-bottom-color:#7e8375;background:rgba(174,177,159,.96)}
.wedding-theme-editorial .wedding-public-nav a,.wedding-theme-editorial .wedding-mini-brand,.wedding-theme-editorial .wedding-mobile-menu>summary{color:#3d443c}
.wedding-theme-editorial .wedding-mobile-menu>summary{border-color:rgba(61,68,60,.42)}
.wedding-theme-editorial .wedding-nav-brand img{filter:none}
.wedding-theme-editorial .wedding-public-hero{background:linear-gradient(100deg,#3d443c 0 7%,#f7f6f1 7% 93%,#aeb19f 93%)}
.wedding-theme-editorial .wedding-public-hero.has-cover{background:#3d443c}
.wedding-theme-editorial .wedding-public-hero.has-cover::after{background:linear-gradient(100deg,rgba(40,47,40,.76) 0 14%,rgba(40,47,40,.4) 14% 86%,rgba(122,126,110,.7) 86%)}
.wedding-theme-editorial .wedding-welcome-card{border-color:#3d443c;background:#f7f6f1;box-shadow:16px 16px 0 #aeb19f}
.wedding-theme-editorial .wedding-facts{border-color:#3d443c;background:#3d443c}
.wedding-theme-editorial .wedding-section-kicker,.wedding-theme-editorial .wedding-timeline-icon{color:#3d443c}
.wedding-theme-editorial .wedding-location-card{border-color:#3d443c;background:#3d443c;box-shadow:16px 16px 0 #aeb19f}
.wedding-theme-editorial .wedding-rsvp-section{border-color:#7e8375;background:#f7f6f1}
.wedding-theme-editorial .wedding-recommendations-section{border-color:#3d443c;background:#e5e7de}
.wedding-theme-editorial .wedding-recommendation-card{border-color:#3d443c;background:#f7f6f1;box-shadow:8px 8px 0 rgba(61,68,60,.16)}
.wedding-theme-editorial .wedding-recommendation-card:nth-child(even){background:#3d443c}
.wedding-theme-editorial .wedding-faq details{border-color:#3d443c;background:#f7f6f1}
.wedding-theme-editorial .wedding-closing{border-color:#7e8375;background:#aeb19f;color:#3d443c}
.wedding-theme-editorial .wedding-closing>span{border-color:rgba(61,68,60,.38);color:#3d443c}
.wedding-theme-editorial .wedding-public-footer{background:#3d443c}
.wedding-elegant-gallery-title{background:#aeb19f;color:#3d443c}
.wedding-theme-swatch-editorial{background:#f7f6f1}.wedding-theme-swatch-editorial::before{background:linear-gradient(90deg,#aeb19f 0 30%,transparent 30% 35%,#e5e7de 35% 65%,transparent 65% 70%,#3d443c 70%)}.wedding-theme-swatch-editorial::after{background:#f7f6f1;color:#3d443c}
@media(max-width:760px){.wedding-theme-editorial .wedding-public-nav{background:rgba(174,177,159,.98)}.wedding-theme-editorial .wedding-public-hero{background:linear-gradient(90deg,#3d443c 0 3%,#f7f6f1 3% 97%,#aeb19f 97%)}.wedding-theme-editorial .wedding-welcome-card{box-shadow:7px 7px 0 #aeb19f}.wedding-theme-editorial .wedding-location-card{box-shadow:8px 8px 0 #aeb19f}}

/* Sprint 23.34.7 – feinere Elegant-Überschriftenhierarchie */
.wedding-theme-editorial .wedding-welcome-card h2{font-size:clamp(3rem,5.7vw,4.8rem);font-style:normal;letter-spacing:-.045em;line-height:1.02}
.wedding-theme-editorial .wedding-public-section>h2{font-size:clamp(2.45rem,4.9vw,4.25rem);font-style:normal;letter-spacing:-.035em;line-height:1}
.wedding-theme-editorial .wedding-schedule-section>h2,.wedding-theme-editorial .wedding-rsvp-section>h2{font-size:clamp(3.1rem,6vw,5.15rem)}
.wedding-theme-editorial .wedding-location-card h2{font-size:clamp(2.8rem,5.4vw,4.65rem);font-style:normal;letter-spacing:-.035em;line-height:1}
.wedding-theme-editorial .wedding-recommendations-section>h2{font-size:clamp(2.8rem,5.3vw,4.6rem)}
.wedding-theme-editorial .wedding-plus-public-section>h2,.wedding-theme-editorial .wedding-contact>h2{font-size:clamp(2.35rem,4.5vw,3.9rem)}
@media(max-width:760px){.wedding-theme-editorial .wedding-welcome-card h2{font-size:clamp(2.65rem,13vw,4rem)}.wedding-theme-editorial .wedding-public-section>h2,.wedding-theme-editorial .wedding-schedule-section>h2,.wedding-theme-editorial .wedding-rsvp-section>h2,.wedding-theme-editorial .wedding-recommendations-section>h2,.wedding-theme-editorial .wedding-plus-public-section>h2,.wedding-theme-editorial .wedding-contact>h2{font-size:clamp(2.35rem,12vw,3.65rem)}}

/* Sprint 23.34.7.1 – sichtbare Editor-Icons und robuste Elegant-Mobilansicht */
@media(max-width:760px){
  .wedding-theme-editorial .wedding-elegant-gallery{grid-template-rows:repeat(3,clamp(178px,54vw,250px))}
  .wedding-theme-editorial .wedding-elegant-gallery-item{min-height:0;aspect-ratio:auto}
  .wedding-theme-editorial .wedding-plus-public-section>h2,.wedding-theme-editorial .wedding-contact>h2{max-width:100%;font-size:clamp(1.9rem,9vw,2.8rem);line-height:1.05;overflow-wrap:anywhere;hyphens:auto}
}

/* Sprint 23.35 – frei wählbare, tarifgebundene Seitendekorationen */
.site-decoration-settings{display:grid;gap:16px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.site-decoration-settings h3{margin:0 0 5px}.site-decoration-switch{max-width:620px}.site-decoration-plus-hint{margin:0}
.site-decoration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.site-decoration-choice{position:relative;display:grid;gap:9px;min-width:0;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.site-decoration-choice:hover{transform:translateY(-1px);border-color:var(--brand)}
.site-decoration-choice>input{position:absolute;top:12px;right:12px;z-index:2;width:18px;height:18px;margin:0;accent-color:var(--brand)}
.site-decoration-choice:has(input:checked){border-color:var(--brand);box-shadow:0 0 0 2px rgba(53,83,69,.13)}
.site-decoration-choice.is-locked{cursor:not-allowed;opacity:.6}.site-decoration-choice.is-locked:hover{transform:none;border-color:var(--line)}
.site-decoration-preview,.site-decoration-standard-preview{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;height:118px;overflow:hidden;border-radius:11px;background:linear-gradient(135deg,#f7f5f0,#edf2eb)}
.site-decoration-preview picture,.site-decoration-preview img{display:block;width:100%;height:100%}.site-decoration-preview img{object-fit:contain}.site-decoration-preview picture:first-child img{object-position:left center}.site-decoration-preview picture:last-child img{object-position:right center}
.site-decoration-standard-preview{grid-template-columns:1fr auto 1fr;place-items:center;color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.site-decoration-standard-preview i{display:block;width:42px;height:78px;border:1px solid rgba(53,83,69,.24);border-radius:50% 10% 50% 10%;transform:rotate(-12deg)}.site-decoration-standard-preview i:last-child{transform:rotate(12deg) scaleX(-1)}
.site-decoration-choice-copy{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.site-decoration-choice-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-decoration-choice-copy small{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase}
.wedding-side-decoration{display:none}
@media(min-width:1000px){
  body.wedding-decoration-assets .wedding-public-main::before,body.wedding-decoration-assets .wedding-public-main::after,body.wedding-decoration-off .wedding-public-main::before,body.wedding-decoration-off .wedding-public-main::after{display:none!important}
  body.wedding-decoration-assets .wedding-public-main>.wedding-side-decoration{position:fixed!important;z-index:2!important;top:clamp(88px,13vh,142px);display:block;width:clamp(210px,19vw,330px);height:min(78vh,760px);pointer-events:none}
  body.wedding-decoration-assets .wedding-public-main>.wedding-side-decoration.is-left{left:0}body.wedding-decoration-assets .wedding-public-main>.wedding-side-decoration.is-right{right:0}
  .wedding-side-decoration picture,.wedding-side-decoration img{display:block;width:100%;height:100%}.wedding-side-decoration img{object-fit:contain;filter:drop-shadow(0 14px 28px rgba(38,54,47,.12))}.wedding-side-decoration.is-left img{object-position:left center}.wedding-side-decoration.is-right img{object-position:right center}
  body.wedding-decoration-assets .wedding-hero-content,body.wedding-decoration-assets .wedding-public-main>*:not(.wedding-public-hero):not(.wedding-side-decoration){position:relative;z-index:3}
}
@media(max-width:999px){.wedding-side-decoration{display:none!important}}
@media(max-width:620px){.site-decoration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-decoration-preview,.site-decoration-standard-preview{height:96px}.site-decoration-choice-copy{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.site-icon-catalog-grid{grid-template-columns:1fr 1fr}.site-icon-catalog-grid>span{align-items:flex-start;flex-direction:column}.site-icon-field{grid-template-columns:40px minmax(0,1fr)}.site-icon-preview{width:40px;height:40px}}

/* Sprint 23.36 – geschützter Drag-&-Drop-Sitzplan */
.seating-plan-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}.seating-plan-summary{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.seating-plan-summary span{display:flex;align-items:baseline;gap:5px;padding:10px 13px;border:1px solid var(--greige);border-radius:999px;background:#fff;color:var(--muted);font-size:.8rem;white-space:nowrap}.seating-plan-summary strong{color:var(--green);font-size:1.12rem}.seating-plan-actions{position:sticky;z-index:7;top:82px;display:flex;align-items:flex-end;gap:12px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--greige);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 8px 26px rgba(36,60,53,.08);backdrop-filter:blur(10px)}.seating-room-name{display:grid;gap:4px;min-width:210px;margin-right:auto}.seating-room-name>span{color:var(--muted);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.seating-room-name .input{padding-block:9px}.seating-save-state{align-self:center;color:var(--muted);font-size:.8rem;white-space:nowrap}.seating-save-state.is-dirty{color:var(--terracotta);font-weight:750}
.seating-object-palette{display:grid;grid-template-columns:minmax(190px,.6fr) minmax(0,2fr);gap:24px;align-items:center;margin-bottom:18px;padding:18px 20px;border:1px solid var(--greige);border-radius:18px;background:#fff}.seating-object-palette h2,.seating-side-head h2,.seating-stage-head h2{margin:4px 0 0;color:var(--green);font-size:1.18rem}.seating-palette-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:8px}.seating-add-item{appearance:none;display:grid;min-width:0;min-height:92px;place-items:center;align-content:center;gap:9px;padding:10px 7px;border:1px solid var(--greige);border-radius:13px;background:var(--warm);color:var(--green);font:inherit;cursor:pointer}.seating-add-item:hover,.seating-add-item:focus-visible{border-color:var(--terracotta);background:#fff;outline:0;box-shadow:0 0 0 3px rgba(185,111,87,.12)}.seating-add-item strong{font-size:.76rem;line-height:1.2;text-align:center}.seating-palette-icon{position:relative;display:block;width:42px;height:30px;border:2px solid #82928d;background:#fff}.seating-palette-icon-round_table{width:34px;height:34px;border-radius:50%}.seating-palette-icon-oval_table{width:48px;height:30px;border-radius:50%}.seating-palette-icon-square_table{width:32px;height:32px}.seating-palette-icon-semicircle_table{width:46px;height:28px;border-radius:50% 50% 7px 7px/100% 100% 12% 12%}.seating-palette-icon-curved_table{width:50px;height:28px;border-radius:50% 50% 24% 24%/100% 100% 36% 36%;clip-path:polygon(0 20%,12% 7%,30% 1%,50% 0,70% 1%,88% 7%,100% 20%,92% 68%,76% 54%,58% 48%,42% 48%,24% 54%,8% 68%)}.seating-palette-icon-bridal_table{width:54px;border-radius:8px;background:#eadcf1}.seating-palette-icon-chair_row{width:54px;height:26px;border:0;background:radial-gradient(circle at 6px 13px,#82928d 0 4px,transparent 4.5px) 0 0/13.5px 26px repeat-x}.seating-palette-icon-buffet,.seating-palette-icon-bar{width:54px;height:22px;border-style:dashed;transform:rotate(-7deg)}.seating-palette-icon-buffet{background:#dceadd}.seating-palette-icon-bar{background:#eadbd4}
.seating-planner-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 235px;gap:14px;align-items:start}.seating-guest-pool,.seating-stage-panel,.seating-inspector{min-width:0;border:1px solid var(--greige);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(36,60,53,.06)}.seating-guest-pool,.seating-inspector{position:sticky;top:160px;padding:17px}.seating-side-head,.seating-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.seating-search{display:block;margin-top:15px}.seating-search .input{padding:10px 11px}.seating-pool-help{margin:10px 0;color:var(--muted);font-size:.75rem;line-height:1.45}.seating-guest-list{display:grid;gap:7px;max-height:530px;overflow:auto;padding-right:2px}.seating-guest-card{appearance:none;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:8px;border:1px solid var(--greige);border-radius:12px;background:#fff;color:var(--ink);font:inherit;text-align:left;cursor:grab}.seating-guest-card:hover,.seating-guest-card:focus-visible,.seating-guest-card.is-active{border-color:var(--terracotta);outline:0;box-shadow:0 0 0 2px rgba(185,111,87,.11)}.seating-guest-card:active{cursor:grabbing}.seating-guest-initials{display:grid;width:34px;height:34px;border-radius:50%;place-items:center;background:var(--green);color:#fff;font-size:.72rem;font-weight:850}.seating-guest-copy{min-width:0}.seating-guest-copy strong,.seating-guest-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seating-guest-copy strong{font-size:.78rem}.seating-guest-copy small{margin-top:2px;color:var(--muted);font-size:.67rem}.seating-guest-status{font-size:.62rem;font-weight:800;text-transform:uppercase}.seating-guest-card.is-accepted .seating-guest-status{color:var(--success)}.seating-guest-card.is-open .seating-guest-status{color:#8a6c42}.seating-pool-empty,.seating-declined-note{padding:13px;border:1px dashed var(--greige);border-radius:12px;color:var(--muted);font-size:.76rem;line-height:1.45}.seating-declined-note{margin-top:10px;background:#fbf5f3}
.seating-stage-panel{overflow:hidden}.seating-stage-head{align-items:center;padding:16px 18px;border-bottom:1px solid var(--greige)}.seating-stage-head p{margin:0;color:var(--muted);font-size:.74rem;text-align:right}.seating-board-scroll{max-height:720px;overflow:auto;background:#e8e1d5;overscroll-behavior:contain}.seating-board{position:relative;width:100%;min-width:900px;aspect-ratio:var(--room-ratio);overflow:hidden;background-color:#f3eadb;background-image:linear-gradient(rgba(130,146,141,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(130,146,141,.11) 1px,transparent 1px),linear-gradient(rgba(130,146,141,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(130,146,141,.055) 1px,transparent 1px);background-size:60px 60px,60px 60px,15px 15px,15px 15px}.seating-empty-board{position:absolute;inset:50% auto auto 50%;display:grid;gap:5px;translate:-50% -50%;padding:20px 24px;border:1px dashed #aab3af;border-radius:15px;background:rgba(255,255,255,.8);color:var(--muted);text-align:center}.seating-empty-board strong{color:var(--green)}.seating-empty-board[hidden]{display:none}
.seating-item{position:absolute;transform-origin:center;outline:0;touch-action:none}.seating-item-surface{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:3px;border:2px solid #82928d;border-radius:14px;background:#fffdf9;color:var(--green);box-shadow:0 7px 17px rgba(36,60,53,.1);cursor:grab;user-select:none}.seating-item-surface:active{cursor:grabbing}.seating-item-surface strong{max-width:92%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.68rem,1.1vw,.86rem)}.seating-item-surface small{color:var(--muted);font-size:.68rem}.seating-kind-round_table .seating-item-surface,.seating-kind-oval_table .seating-item-surface{border-radius:50%}.seating-kind-square_table .seating-item-surface{border-radius:10px}.seating-kind-semicircle_table .seating-item-surface{border-radius:50% 50% 10px 10px/100% 100% 10% 10%}.seating-kind-curved_table .seating-item-surface{border-radius:50% 50% 24% 24%/100% 100% 36% 36%;clip-path:polygon(0 20%,10% 8%,28% 2%,50% 0,72% 2%,90% 8%,100% 20%,93% 70%,77% 56%,59% 49%,41% 49%,23% 56%,7% 70%)}.seating-kind-curved_table .seating-item-surface strong,.seating-kind-curved_table .seating-item-surface small{translate:0 -18px}.seating-kind-bridal_table .seating-item-surface{background:#eadcf1}.seating-kind-chair_row .seating-item-surface{border-style:dashed;border-radius:12px;background:rgba(255,253,249,.58);box-shadow:none}.seating-kind-chair_row .seating-item-surface strong{translate:0 -22px}.seating-kind-chair_row .seating-item-surface small{translate:0 22px}.seating-kind-buffet .seating-item-surface{border-style:dashed;background:#dceadd}.seating-kind-bar .seating-item-surface{border-style:dashed;background:#eadbd4}.seating-item.is-selected .seating-item-surface,.seating-item:focus .seating-item-surface{border-color:var(--terracotta);box-shadow:0 0 0 4px rgba(185,111,87,.16),0 8px 20px rgba(36,60,53,.12)}.seating-seat{position:absolute;z-index:2;display:grid;width:45px;height:50px;translate:-50% -50%;transform:rotate(var(--seat-rotation,0deg));transform-origin:center;place-items:center;padding:0 4px 7px;border:2px dashed #b8c0bd;border-radius:8px;background:#fff;color:var(--muted);font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;box-shadow:0 2px 6px rgba(36,60,53,.08)}.seating-seat::after{content:"";position:absolute;left:5px;right:5px;bottom:3px;height:4px;border-radius:4px;background:currentColor;opacity:.55;pointer-events:none}.seating-seat-label{position:relative;z-index:1;display:inline-grid;place-items:center;min-width:18px;min-height:18px;transform:rotate(var(--seat-label-rotation,0deg));transform-origin:center}.seating-seat:hover,.seating-seat:focus-visible,.seating-seat.is-drop-target{border-color:var(--terracotta);outline:0;scale:1.08}.seating-seat.is-occupied{border-style:solid;border-color:#fff;background:var(--green);color:#fff}.seating-seat.is-declined{background:var(--danger)}
.seating-inspector .empty-state{margin-top:14px;padding:16px}.seating-inspector-fields{margin-top:15px}.seating-stepper{display:grid;grid-template-columns:40px 1fr 40px}.seating-stepper button{border:1px solid var(--greige);background:var(--warm);color:var(--green);font-size:1.25rem;cursor:pointer}.seating-stepper button:first-child{border-radius:10px 0 0 10px}.seating-stepper button:last-child{border-radius:0 10px 10px 0}.seating-stepper .input{border-radius:0;text-align:center}.seating-size-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.seating-size-grid .label{font-size:.8rem}.seating-size-grid .input{margin-top:6px;padding:9px}.seating-size-grid small{display:block;margin-top:4px;color:var(--muted);font-size:.65rem}.seating-inspector input[type=range]{padding:0;border:0}.seating-inspector output{display:block;margin-top:5px;color:var(--muted);font-size:.78rem}.seating-inspector-actions{display:flex;gap:8px;margin-top:20px}.seating-inspector-actions .btn{flex:1;padding-inline:8px}.seating-privacy-note{margin:14px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
@media(max-width:1250px){.seating-palette-buttons{grid-template-columns:repeat(3,1fr)}.seating-planner-layout{grid-template-columns:190px minmax(0,1fr)}.seating-inspector{position:static;grid-column:1/-1}.seating-inspector-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}.seating-inspector-fields>.form-group,.seating-inspector-fields>.seating-size-grid{margin:0}.seating-inspector-actions{margin:0}}
@media(max-width:900px){.seating-plan-head,.seating-plan-actions{align-items:flex-start;flex-direction:column}.seating-plan-summary{justify-content:flex-start}.seating-plan-actions{position:static}.seating-room-name{width:100%}.seating-save-state{align-self:flex-start}.seating-object-palette{grid-template-columns:1fr}.seating-planner-layout{grid-template-columns:1fr}.seating-guest-pool,.seating-inspector{position:static}.seating-guest-list{max-height:260px}.seating-inspector{grid-column:auto}.seating-inspector-fields{display:block}.seating-inspector-fields>.form-group,.seating-inspector-fields>.seating-size-grid{margin-bottom:18px}.seating-inspector-actions{margin-top:18px}}
@media(max-width:560px){.seating-palette-buttons{grid-template-columns:repeat(2,1fr)}.seating-plan-actions .btn{width:100%}.seating-stage-head{align-items:flex-start;flex-direction:column}.seating-stage-head p{text-align:left}.seating-board{min-width:760px}.seating-object-palette{padding:16px}.seating-seat{width:45px;height:50px}}

/* Sprint 23.36.2 – verlässliche Raumplanhöhe ohne Aspect-Ratio-Abhängigkeit */
.seating-board{aspect-ratio:auto}.seating-board::before{content:"";display:block;padding-top:63.333333%}

/* Sprint 23.37.1 – Zoom, Einpassen, Zentrieren und Vollbild im Sitzplan */
.seating-view-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--greige);background:#fffdf9}.seating-view-label{margin-right:2px;color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.seating-zoom-control{display:grid;grid-template-columns:34px 58px 34px;align-items:stretch;overflow:hidden;border:1px solid var(--greige);border-radius:999px;background:#fff}.seating-zoom-control button,.seating-view-button{appearance:none;border:0;background:#fff;color:var(--green);font:inherit;font-size:.75rem;font-weight:800;cursor:pointer}.seating-zoom-control button{min-height:34px;font-size:1rem}.seating-zoom-control output{display:grid;place-items:center;min-width:0;border-inline:1px solid var(--greige);color:var(--green);font-size:.73rem;font-weight:850}.seating-view-button{min-height:34px;padding:6px 11px;border:1px solid var(--greige);border-radius:999px}.seating-zoom-control button:hover:not(:disabled),.seating-zoom-control button:focus-visible,.seating-view-button:hover:not(:disabled),.seating-view-button:focus-visible{background:var(--warm);outline:0;box-shadow:inset 0 0 0 1px rgba(185,111,87,.22)}.seating-zoom-control button:disabled,.seating-view-button:disabled{cursor:not-allowed;opacity:.42}.seating-view-button[aria-pressed=true]{border-color:var(--terracotta);background:#fbf2ee;color:var(--terracotta)}
.seating-board-scroll{position:relative;height:min(68vh,720px);min-height:420px;max-height:none;overflow:auto;scrollbar-gutter:stable;background:#e8e1d5;overscroll-behavior:contain}.seating-board-space{position:relative;width:1200px;height:760px;margin-inline:auto}.seating-board{position:absolute;inset:0 auto auto 0;width:1200px;min-width:0;height:760px;aspect-ratio:auto;transform-origin:0 0;will-change:transform}.seating-board::before{content:none;display:none;padding-top:0}
#seating-plan-form:fullscreen,#seating-plan-form:-webkit-full-screen{display:flex;box-sizing:border-box;width:100vw;height:100vh;max-width:none;flex-direction:column;gap:10px;overflow:hidden;padding:10px 12px 12px;background:#f7f3eb}#seating-plan-form:fullscreen .seating-plan-actions,#seating-plan-form:-webkit-full-screen .seating-plan-actions{position:static;top:auto;z-index:8;flex:0 0 auto;margin:0;padding:8px 10px;border-radius:12px}#seating-plan-form:fullscreen .seating-room-name,#seating-plan-form:-webkit-full-screen .seating-room-name{min-width:180px}#seating-plan-form:fullscreen .seating-object-palette,#seating-plan-form:-webkit-full-screen .seating-object-palette{flex:0 0 auto;grid-template-columns:150px minmax(0,1fr);gap:12px;margin:0;padding:8px 10px;border-radius:12px}#seating-plan-form:fullscreen .seating-object-palette h2,#seating-plan-form:-webkit-full-screen .seating-object-palette h2{font-size:.95rem}#seating-plan-form:fullscreen .seating-palette-buttons,#seating-plan-form:-webkit-full-screen .seating-palette-buttons{grid-template-columns:repeat(6,minmax(82px,1fr));gap:6px}#seating-plan-form:fullscreen .seating-add-item,#seating-plan-form:-webkit-full-screen .seating-add-item{grid-template-columns:34px minmax(0,1fr);min-height:48px;place-items:center start;gap:6px;padding:6px 8px}#seating-plan-form:fullscreen .seating-palette-icon,#seating-plan-form:-webkit-full-screen .seating-palette-icon{scale:.78}#seating-plan-form:fullscreen .seating-add-item strong,#seating-plan-form:-webkit-full-screen .seating-add-item strong{text-align:left}#seating-plan-form:fullscreen .seating-planner-layout,#seating-plan-form:-webkit-full-screen .seating-planner-layout{flex:1 1 auto;min-height:0;grid-template-columns:220px minmax(0,1fr) 250px;gap:10px}#seating-plan-form:fullscreen .seating-guest-pool,#seating-plan-form:fullscreen .seating-inspector,#seating-plan-form:-webkit-full-screen .seating-guest-pool,#seating-plan-form:-webkit-full-screen .seating-inspector{position:static;top:auto;min-height:0;height:100%;overflow:auto;padding:12px}#seating-plan-form:fullscreen .seating-guest-list,#seating-plan-form:-webkit-full-screen .seating-guest-list{max-height:none}#seating-plan-form:fullscreen .seating-stage-panel,#seating-plan-form:-webkit-full-screen .seating-stage-panel{display:flex;min-height:0;height:100%;flex-direction:column;border-radius:14px}#seating-plan-form:fullscreen .seating-stage-head,#seating-plan-form:-webkit-full-screen .seating-stage-head,#seating-plan-form:fullscreen .seating-view-toolbar,#seating-plan-form:-webkit-full-screen .seating-view-toolbar{flex:0 0 auto}#seating-plan-form:fullscreen .seating-board-scroll,#seating-plan-form:-webkit-full-screen .seating-board-scroll{height:auto;min-height:0;flex:1 1 auto}#seating-plan-form:fullscreen .seating-privacy-note,#seating-plan-form:-webkit-full-screen .seating-privacy-note{display:none}
@media(max-width:900px){.seating-view-toolbar{padding:9px 12px}.seating-view-label{width:100%;margin:0}.seating-board-scroll{height:min(62vh,620px);min-height:360px}}
@media(max-width:560px){.seating-view-toolbar{gap:6px}.seating-zoom-control{grid-template-columns:32px 52px 32px}.seating-view-button{padding-inline:9px;font-size:.7rem}.seating-board{min-width:0}.seating-board-scroll{min-height:320px}}

/* Sprint 23.37.1.1 – Vollbild umfasst den kompletten Sitzplan-Editor */
@media(max-width:900px){#seating-plan-form:fullscreen,#seating-plan-form:-webkit-full-screen{display:block;overflow:auto;padding:10px}#seating-plan-form:fullscreen .seating-plan-actions,#seating-plan-form:-webkit-full-screen .seating-plan-actions,#seating-plan-form:fullscreen .seating-object-palette,#seating-plan-form:-webkit-full-screen .seating-object-palette{margin-bottom:10px}#seating-plan-form:fullscreen .seating-object-palette,#seating-plan-form:-webkit-full-screen .seating-object-palette{grid-template-columns:1fr}#seating-plan-form:fullscreen .seating-palette-buttons,#seating-plan-form:-webkit-full-screen .seating-palette-buttons{grid-template-columns:repeat(3,1fr)}#seating-plan-form:fullscreen .seating-planner-layout,#seating-plan-form:-webkit-full-screen .seating-planner-layout{display:grid;grid-template-columns:1fr;min-height:0}#seating-plan-form:fullscreen .seating-guest-pool,#seating-plan-form:fullscreen .seating-inspector,#seating-plan-form:-webkit-full-screen .seating-guest-pool,#seating-plan-form:-webkit-full-screen .seating-inspector{height:auto;overflow:visible}#seating-plan-form:fullscreen .seating-stage-panel,#seating-plan-form:-webkit-full-screen .seating-stage-panel{height:auto;min-height:70vh}}
/* Sprint 23.37.2: direkte Transformationsgriffe im Sitzplan */
.seating-transform-handle{position:absolute;z-index:7;display:grid;box-sizing:border-box;width:24px;height:24px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--terracotta);color:#fff;box-shadow:0 0 0 2px rgba(185,111,87,.72),0 4px 10px rgba(36,60,53,.2);touch-action:none;user-select:none;scale:var(--seating-control-scale,1)}.seating-transform-handle:hover{box-shadow:0 0 0 3px rgba(185,111,87,.26),0 5px 13px rgba(36,60,53,.24)}.seating-resize-nw{left:0;top:0;translate:-50% -50%;cursor:nwse-resize}.seating-resize-ne{right:0;top:0;translate:50% -50%;cursor:nesw-resize}.seating-resize-se{right:0;bottom:0;translate:50% 50%;cursor:nwse-resize}.seating-resize-sw{left:0;bottom:0;translate:-50% 50%;cursor:nesw-resize}.seating-rotate-handle{left:50%;top:var(--seating-control-inset,14px);translate:-50% -50%;background:var(--green);font-size:15px;font-weight:900;line-height:1;cursor:grab;box-shadow:0 0 0 2px rgba(36,60,53,.6),0 4px 10px rgba(36,60,53,.2)}.seating-rotate-handle:active{cursor:grabbing}.seating-item.is-transforming .seating-item-surface{cursor:grabbing}.seating-item.is-transforming .seating-transform-handle{box-shadow:0 0 0 3px rgba(185,111,87,.26),0 5px 13px rgba(36,60,53,.24)}

/* Sprint 23.37.3 – Rückgängig/Wiederholen im Sitzplan */
.seating-view-divider{width:1px;height:26px;margin-inline:2px;background:var(--greige)}
@media(max-width:900px){.seating-view-divider{display:none}}

/* Sprint 23.37.4 – getrennte Element-Sperren und Ebenensteuerung */
.seating-inspector-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--greige)}.seating-lock-controls{display:grid;gap:6px;margin-top:7px}.seating-toggle-button{appearance:none;width:100%;min-height:34px;padding:7px 9px;border:1px solid var(--greige);border-radius:10px;background:#fff;color:var(--green);font:inherit;font-size:.73rem;font-weight:800;text-align:left;cursor:pointer}.seating-toggle-button:hover,.seating-toggle-button:focus-visible{background:var(--warm);outline:0;box-shadow:inset 0 0 0 1px rgba(185,111,87,.22)}.seating-toggle-button[aria-pressed=true]{border-color:var(--terracotta);background:#fbf2ee;color:var(--terracotta)}.seating-layer-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}.seating-layer-controls .seating-view-button{min-width:0;padding-inline:7px;border-radius:10px}.seating-item.is-position-locked .seating-item-surface{cursor:not-allowed}.seating-item-lock-badge{position:absolute;z-index:8;right:calc(-7px * var(--seating-control-scale,1));top:calc(-7px * var(--seating-control-scale,1));display:grid;width:calc(22px * var(--seating-control-scale,1));height:calc(22px * var(--seating-control-scale,1));place-items:center;border:1px solid var(--greige);border-radius:50%;background:#fff;color:var(--terracotta);font-size:calc(11px * var(--seating-control-scale,1));box-shadow:0 2px 7px rgba(36,60,53,.12);pointer-events:none}.seating-inspector input:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:1250px) and (min-width:901px){.seating-inspector-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.seating-inspector-section{margin:0;padding-top:0;border-top:0}.seating-inspector-actions{align-self:end}}

/* Sprint 23.37.5 – zusätzliche Tischformen im Sitzplan */

/* Sprint 23.37.5.1 – präzise Sonderformen für den Sitzplan */
.seating-kind-semicircle_table .seating-item-surface,.seating-kind-curved_table .seating-item-surface{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;clip-path:none}
.seating-item-shape{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.seating-item-shape path{fill:#fffdf9;stroke:#82928d;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 5px 8px rgba(36,60,53,.08))}
.seating-kind-semicircle_table .seating-item-surface strong,.seating-kind-semicircle_table .seating-item-surface small,.seating-kind-curved_table .seating-item-surface strong,.seating-kind-curved_table .seating-item-surface small{position:relative;z-index:1}
.seating-kind-curved_table .seating-item-surface strong,.seating-kind-curved_table .seating-item-surface small{translate:0 -6px}
.seating-item.is-selected.seating-kind-semicircle_table .seating-item-surface,.seating-item:focus.seating-kind-semicircle_table .seating-item-surface,.seating-item.is-selected.seating-kind-curved_table .seating-item-surface,.seating-item:focus.seating-kind-curved_table .seating-item-surface{border:0;box-shadow:none}
.seating-item.is-selected .seating-item-shape path,.seating-item:focus .seating-item-shape path{stroke:var(--terracotta);filter:drop-shadow(0 0 4px rgba(185,111,87,.32)) drop-shadow(0 5px 8px rgba(36,60,53,.08))}
.seating-kind-chair_row .seating-item-surface{background:transparent}
.seating-palette-icon-semicircle_table{width:46px;height:24px;border-radius:50% 50% 0 0/100% 100% 0 0}
.seating-palette-icon-curved_table{width:50px;height:30px;border:0;border-radius:0;background:transparent;clip-path:none}
.seating-palette-icon-curved_table::before{content:"";position:absolute;inset:0;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 30'%3E%3Cpath d='M.6 12.9 A31 31 0 0 1 49.4 12.9 L40 20.3 A19 19 0 0 0 10 20.3 Z' fill='%23fff' stroke='%2382928d' stroke-width='2'/%3E%3C/svg%3E")}

/* Sprint 23.37.6 – Sitzabstand und einzelne Plätze */
.seating-seat-spacing-row{display:grid;grid-template-columns:minmax(0,1fr) 62px;align-items:center;gap:9px;margin-top:6px}.seating-seat-spacing-row input[type=range]{width:100%;accent-color:var(--terracotta)}.seating-seat-spacing-row output{display:block;padding:5px 7px;border:1px solid var(--greige);border-radius:8px;background:#fff;color:var(--green);font-size:.72rem;font-weight:800;text-align:center}.seating-seat-toggle-help{margin:6px 0 8px;color:var(--muted);font-size:.69rem;line-height:1.35}.seating-seat-toggles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.seating-seat-toggle{min-width:0;padding:6px 3px;border:1px solid #bfc8c4;border-radius:8px;background:#fff;color:var(--green);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.seating-seat-toggle:hover,.seating-seat-toggle:focus-visible{border-color:var(--terracotta);outline:0}.seating-seat-toggle.is-hidden{border-style:dashed;background:#f5f1eb;color:var(--muted);text-decoration:line-through}.seating-seat-hidden{border-color:var(--terracotta);background:rgba(255,255,255,.72);color:var(--terracotta);font-size:.9rem;opacity:.72}.seating-seat-hidden:hover,.seating-seat-hidden:focus-visible{opacity:1}.seating-kind-square_table .seating-seat{z-index:3}
@media(max-width:1250px) and (min-width:901px){.seating-seat-toggles{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* Sprint 23.37.6.1 – 45-cm-Sitzfläche und Mindestabstand Stuhl zu Stuhl */

/* Sprint 23.37.6.3 – Sitzverteilung bei hoher Platzanzahl */
.seating-capacity-warning{margin-top:-.2rem;padding:.55rem .65rem;border:1px solid #d9a38f;border-radius:10px;background:#fff7f2;color:#7a3d2a;font-size:.78rem;line-height:1.4}.seating-capacity-warning[hidden]{display:none!important}

/* Sprint 23.37.7 – Wände, Türen, Pfeiler, Beschriftung und Maßband */
.seating-palette-icon-wall{width:54px;height:9px;border:0;border-radius:2px;background:#7b817e}
.seating-palette-icon-door{width:38px;height:30px;border:0;background:transparent}
.seating-palette-icon-door::before{content:"";position:absolute;left:2px;bottom:2px;width:32px;height:24px;border-left:2px solid #82928d;border-bottom:2px solid #82928d;border-radius:0 0 0 2px}
.seating-palette-icon-door::after{content:"";position:absolute;left:2px;bottom:2px;width:30px;height:30px;border-top:2px solid #82928d;border-right:2px solid #82928d;border-radius:0 100% 0 0;transform:scale(.86);transform-origin:left bottom}
.seating-palette-icon-pillar{width:30px;height:30px;border:2px solid #737d79;background:repeating-linear-gradient(45deg,#d8d3ca 0 4px,#f3efe8 4px 8px)}
.seating-palette-icon-room_label{width:48px;height:28px;border:0;background:transparent}
.seating-palette-icon-room_label::before{content:"Aa";position:absolute;inset:0;display:grid;place-items:center;color:#52615c;font-family:Georgia,serif;font-size:21px;font-weight:700}
.seating-palette-icon-measurement{width:54px;height:28px;border:0;background:linear-gradient(#82928d,#82928d) center/44px 2px no-repeat}
.seating-palette-icon-measurement::before,.seating-palette-icon-measurement::after{content:"";position:absolute;top:6px;width:2px;height:16px;background:#82928d}.seating-palette-icon-measurement::before{left:5px}.seating-palette-icon-measurement::after{right:5px}
.seating-kind-wall .seating-item-surface{border:0;border-radius:2px;background:#7b817e;box-shadow:0 2px 5px rgba(36,60,53,.14)}
.seating-kind-wall .seating-item-surface strong,.seating-kind-wall .seating-item-surface small,.seating-kind-door .seating-item-surface>strong,.seating-kind-door .seating-item-surface>small,.seating-kind-pillar .seating-item-surface strong,.seating-kind-pillar .seating-item-surface small{display:none}
.seating-kind-pillar .seating-item-surface{border:2px solid #737d79;border-radius:4px;background:repeating-linear-gradient(45deg,#d8d3ca 0 7px,#f3efe8 7px 14px);box-shadow:0 3px 8px rgba(36,60,53,.12)}
.seating-kind-door .seating-item-surface,.seating-kind-measurement .seating-item-surface{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
.seating-kind-door .seating-item-shape path,.seating-kind-measurement .seating-item-shape path{fill:none;stroke:#65736e;stroke-width:2;filter:none;vector-effect:non-scaling-stroke}
.seating-kind-door.is-selected .seating-item-shape path,.seating-kind-door:focus .seating-item-shape path,.seating-kind-measurement.is-selected .seating-item-shape path,.seating-kind-measurement:focus .seating-item-shape path{stroke:var(--terracotta);filter:none}
.seating-kind-room_label .seating-item-surface{border:1px dashed transparent;border-radius:6px;background:transparent;box-shadow:none;color:var(--green)}
.seating-kind-room_label .seating-item-surface strong{max-width:100%;white-space:normal;text-align:center;font-family:Georgia,serif;font-size:clamp(.8rem,1.4vw,1.15rem);line-height:1.15}
.seating-item.is-selected.seating-kind-room_label .seating-item-surface,.seating-item:focus.seating-kind-room_label .seating-item-surface{border-color:var(--terracotta);background:rgba(255,255,255,.36);box-shadow:none}
.seating-kind-measurement .seating-item-surface strong{position:relative;z-index:1;padding:2px 6px;border-radius:999px;background:rgba(255,253,249,.92);font-size:.72rem}
.seating-kind-measurement .seating-item-surface small{position:absolute;left:50%;top:calc(50% + 13px);translate:-50% 0;color:var(--muted);font-size:.6rem;white-space:nowrap}
.seating-kind-wall.is-selected .seating-item-surface,.seating-kind-wall:focus .seating-item-surface,.seating-kind-pillar.is-selected .seating-item-surface,.seating-kind-pillar:focus .seating-item-surface{box-shadow:0 0 0 3px rgba(185,111,87,.2)}
.seating-item.is-selected.seating-kind-door .seating-item-surface,.seating-item:focus.seating-kind-door .seating-item-surface,.seating-item.is-selected.seating-kind-measurement .seating-item-surface,.seating-item:focus.seating-kind-measurement .seating-item-surface{border:0;box-shadow:none}

/* Sprint 23.38 — global design system foundation */
:root{
  --brand-900:#243c35;
  --brand-800:#315148;
  --brand-700:#3f665a;
  --accent-600:#a85f49;
  --accent-500:#b96f57;
  --accent-100:#f4e5df;
  --surface-page:#f8f6f1;
  --surface-soft:#f2eee7;
  --surface-card:#fff;
  --border-soft:#ddd7cd;
  --text-strong:#24302c;
  --text-muted:#68716c;
  --focus-ring:rgba(185,111,87,.28);
  --font-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
  --content-max:1240px;
  --content-reading:760px;
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.5rem;
  --space-6:2rem;
  --space-7:3rem;
  --space-8:4.5rem;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:20px;
  --radius-xl:28px;
  --shadow-sm:0 8px 24px rgba(36,60,53,.07);
  --shadow-md:0 18px 48px rgba(36,60,53,.10);
  --transition-fast:160ms ease;
  --transition-base:240ms ease;
  /* Backwards-compatible aliases. Existing modules keep their current contract. */
  --green:var(--brand-900);
  --warm:var(--surface-page);
  --greige:var(--border-soft);
  --terracotta:var(--accent-500);
  --ink:var(--text-strong);
  --muted:var(--text-muted);
  --white:var(--surface-card);
  --shadow:var(--shadow-md)
}
html{font-family:var(--font-sans);color:var(--text-strong);background:var(--surface-page);scroll-behavior:smooth}
body{background:var(--surface-page);font-family:var(--font-sans);line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent-100);color:var(--brand-900)}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
:where(h1,h2,h3,h4,p){text-wrap:pretty}
:where(img,svg,video){max-width:100%}
.public-main{width:min(var(--content-max),calc(100% - 40px))}
.public-main :where(.lead,.article-intro){max-width:var(--content-reading)}
.btn{min-height:44px;border-radius:var(--radius-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);box-shadow:0 1px 0 rgba(255,255,255,.12) inset}
.btn:hover{filter:none;transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.btn:active{transform:translateY(0)}
.btn-secondary{background:var(--surface-card)}
.input{min-height:46px;border-color:var(--border-soft);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast)}
.input:hover{border-color:#c8c0b5}
.input:focus{outline:0;border-color:var(--accent-500);box-shadow:0 0 0 4px var(--focus-ring)}
.panel,.card{border-color:var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.eyebrow{color:var(--accent-600)}
.public-main .page-title,.public-main .hero h1{letter-spacing:-.035em;text-wrap:balance}
@media(max-width:650px){.public-main{width:min(100% - 28px,var(--content-max))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Sprint 23.38.2 — public footer refinement */
.footer-pre-cta{
  width:min(var(--content-max),calc(100% - 48px));
  margin:clamp(44px,7vw,88px) auto 0;
  padding:clamp(30px,4vw,48px);
  border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow:var(--shadow-md);
}
.footer-pre-cta h2{font-family:var(--font-display);letter-spacing:-.035em}
.footer-pre-cta p{color:rgba(255,255,255,.78)}
.footer-pre-cta-actions{align-items:center}
.public-footer.footer-mega{background:var(--surface-soft);border-top:1px solid var(--border-soft)}
.footer-mega-inner{
  width:min(var(--content-max),calc(100% - 48px));
  padding:clamp(44px,5vw,64px) 0 38px;
  grid-template-columns:minmax(240px,1.45fr) repeat(4,minmax(140px,1fr));
  gap:clamp(28px,3vw,48px);
}
.footer-logo-link{margin-bottom:16px}
.footer-mega .footer-brand-logo{width:min(200px,100%)}
.footer-brand-claim{color:var(--brand-900);font-weight:760}
.footer-brand-copy{color:var(--text-muted);max-width:300px}
.footer-title{color:var(--brand-900);font-size:.76rem;letter-spacing:.12em;margin-bottom:16px}
.public-footer .footer-link-list{gap:10px}
.public-footer .footer-link-list a{
  color:var(--text-muted);
  text-decoration:none;
  text-underline-offset:4px;
  transition:color var(--transition-fast),text-decoration-color var(--transition-fast);
}
.public-footer .footer-link-list a:hover,
.public-footer .footer-link-list a:focus-visible{color:var(--brand-900);text-decoration:underline;text-decoration-color:var(--accent-500)}
.footer-bottom{
  width:min(var(--content-max),calc(100% - 48px));
  padding:18px 0 24px;
  border-top:1px solid var(--border-soft);
  color:var(--text-muted);
}
.public-footer .footer-legal-nav a{color:var(--text-muted);text-underline-offset:4px}
.public-footer .footer-legal-nav a:hover,
.public-footer .footer-legal-nav a:focus-visible{color:var(--brand-900)}
@media(max-width:1050px){
  .footer-mega-inner{grid-template-columns:minmax(220px,1.25fr) repeat(2,minmax(150px,1fr))}
  .footer-brand-panel{grid-row:span 2}
}
@media(max-width:760px){
  .footer-pre-cta{width:min(100% - 28px,var(--content-max));margin-top:52px;padding:30px 24px}
  .footer-mega-inner,.footer-bottom{width:min(100% - 36px,var(--content-max))}
  .footer-mega-inner{grid-template-columns:1fr 1fr;padding-top:40px}
  .footer-brand-panel{grid-column:1/-1;grid-row:auto}
  .footer-bottom{align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center}
  .public-footer .footer-legal-nav{justify-content:center}
}
@media(max-width:520px){
  .footer-pre-cta{border-radius:var(--radius-lg) var(--radius-lg) 0 0}
  .footer-pre-cta-actions{display:grid;grid-template-columns:1fr;width:100%}
  .footer-pre-cta-actions .btn{width:100%}
  .footer-mega-inner{grid-template-columns:1fr;gap:28px}
  .footer-brand-panel{grid-column:auto}
  .footer-title{margin-bottom:11px}
}

/* Sprint 23.38.2.1 — mobile footer cleanup */
@media(max-width:760px){
  .public-footer.footer-mega{padding-top:0}
  .footer-mega-inner{
    display:block;
    width:min(100% - 32px,var(--content-max));
    padding:34px 0 24px;
  }
  .footer-brand-panel{
    display:grid;
    justify-items:center;
    margin:0 0 28px;
    padding:0 6px 28px;
    border-bottom:1px solid var(--border-soft);
    text-align:center;
  }
  .footer-logo-link{margin-bottom:12px}
  .footer-mega .footer-brand-logo{width:min(176px,68vw)}
  .footer-brand-claim{max-width:330px;margin-bottom:8px;font-size:.98rem}
  .footer-brand-copy{max-width:360px;font-size:.9rem;line-height:1.6}

  .footer-column{
    padding:18px 4px;
    border-bottom:1px solid var(--border-soft);
  }
  .footer-title{
    margin:0 0 12px;
    font-size:.72rem;
    letter-spacing:.13em;
  }
  .public-footer .footer-link-list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 18px;
  }
  .public-footer .footer-link-list a{
    padding:3px 0;
    font-size:.9rem;
    line-height:1.45;
  }
  .footer-contract-service{padding-bottom:18px}

  .footer-bottom{
    display:grid;
    width:min(100% - 32px,var(--content-max));
    gap:14px;
    padding:18px 0 24px;
    text-align:center;
  }
  .footer-copyright{font-size:.8rem}
  .public-footer .footer-legal-nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    gap:8px 16px;
  }
  .public-footer .footer-legal-nav a{
    display:block;
    padding:4px 0;
    font-size:.82rem;
  }
}
@media(max-width:420px){
  .footer-mega-inner{width:min(100% - 28px,var(--content-max))}
  .footer-brand-panel{padding-inline:2px}
  .public-footer .footer-link-list{grid-template-columns:1fr;gap:7px}
  .footer-column{padding:16px 2px}
  .footer-bottom{width:min(100% - 28px,var(--content-max))}
}



/* Sprint 23.38.2.2 — compact mobile accordion footer */
.footer-group>summary{list-style:none;cursor:default}
.footer-group>summary::-webkit-details-marker{display:none}
.footer-group>summary::marker{content:""}
@media(min-width:761px){
  .footer-group>.footer-link-list{display:grid}
}
@media(max-width:760px){
  .footer-mega-inner{display:block;padding:28px 0 18px}
  .footer-brand-panel{margin-bottom:12px;padding-bottom:24px}
  .footer-group{
    display:block;
    margin:0;
    padding:0;
    border-bottom:1px solid var(--border-soft);
  }
  .footer-group>summary{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:52px;
    margin:0;
    padding:14px 36px 14px 2px;
    cursor:pointer;
    color:var(--brand-900);
    font-size:.76rem;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
  }
  .footer-group>summary::after{
    content:"+";
    position:absolute;
    right:4px;
    top:50%;
    transform:translateY(-50%);
    font-family:var(--font-sans);
    font-size:1.25rem;
    font-weight:500;
    line-height:1;
    color:var(--accent-600);
  }
  .footer-group[open]>summary::after{content:"−"}
  .footer-group>.footer-link-list{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:0 0 14px;
  }
  .footer-group>.footer-link-list a{
    display:block;
    padding:8px 2px;
    font-size:.91rem;
    line-height:1.35;
  }
  .footer-contract-service{padding-bottom:0}
  .footer-bottom{
    width:min(100% - 32px,var(--content-max));
    padding-top:16px;
  }
}


/* Sprint 23.38.2.5 — restore desktop footer links and align mobile legal row */
.footer-desktop-groups{display:contents}
.footer-mobile-groups{display:none}
@media(max-width:760px){
  .footer-desktop-groups{display:none}
  .footer-mobile-groups{display:block}
  .footer-mobile-groups .footer-group{display:block}
  .footer-bottom{justify-items:center}
  .public-footer .footer-legal-nav{
    width:min(100%,320px);
    margin-inline:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-items:stretch;
    align-items:center;
    gap:8px 12px;
  }
  .public-footer .footer-legal-nav a{
    width:100%;
    padding:5px 2px;
    text-align:center;
  }
}
@media(max-width:380px){
  .public-footer .footer-legal-nav{width:min(100%,280px);gap:7px 8px}
}


/* Sprint 23.38.2.7 — mobile legal links in one flow, copyright below */
@media(max-width:760px){
  .footer-bottom{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    text-align:center;
  }
  .footer-copyright{order:2;margin:0}
  .public-footer .footer-legal-nav{
    order:1;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    width:100%;
    max-width:none;
    margin:0 auto;
    gap:8px 18px;
  }
  .public-footer .footer-legal-nav a{
    width:auto;
    padding:3px 0;
    text-align:center;
    white-space:nowrap;
  }
}
@media(max-width:390px){
  .public-footer .footer-legal-nav{gap:7px 13px}
  .public-footer .footer-legal-nav a{font-size:.8rem}
}


/* Sprint 23.38.3 — public homepage redesign */
.home-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);gap:clamp(42px,6vw,86px);align-items:center;padding:clamp(58px,8vw,104px) 0 52px}
.home-hero-copy{max-width:670px}
.home-hero h1{max-width:650px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.4rem,6.4vw,6.25rem);font-weight:400;line-height:.94;letter-spacing:-.055em;text-wrap:balance}
.home-hero .lead{max-width:650px;font-size:clamp(1.05rem,1.4vw,1.22rem);line-height:1.72}
.home-hero-actions{margin-top:30px}
.home-hero-proof{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.home-hero-proof span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.58);color:var(--text-muted);font-size:.76rem;font-weight:700}
.home-product-shell{position:relative;padding:18px}
.home-product-shell::before{content:"";position:absolute;inset:7% -3% -5% 10%;z-index:0;border-radius:42px;background:linear-gradient(145deg,var(--accent-100),rgba(49,81,72,.12))}
.home-product-window{position:relative;z-index:1;overflow:hidden;border:1px solid rgba(36,60,53,.16);border-radius:26px;background:#fff;box-shadow:0 32px 90px rgba(36,60,53,.16);transform:rotate(1deg)}
.home-product-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--border-soft);background:#fbfaf7}
.home-product-bar>span{width:8px;height:8px;border-radius:50%;background:#d3ccc1}
.home-product-bar small{margin-left:auto;color:var(--text-muted);font-size:.66rem}
.home-product-layout{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:450px}
.home-product-sidebar{padding:24px 16px;background:var(--brand-900);color:#fff}
.home-product-sidebar strong{display:block;margin-bottom:30px;font-size:.68rem;letter-spacing:.15em}
.home-product-sidebar i{display:block;height:8px;margin:0 0 17px;border-radius:999px;background:rgba(255,255,255,.18)}
.home-product-sidebar i:nth-of-type(1){width:82%;background:rgba(255,255,255,.72)}.home-product-sidebar i:nth-of-type(2){width:63%}.home-product-sidebar i:nth-of-type(3){width:75%}.home-product-sidebar i:nth-of-type(4){width:55%}.home-product-sidebar i:nth-of-type(5){width:69%}
.home-product-main{padding:clamp(22px,3vw,34px);background:#faf9f6}
.home-product-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}
.home-product-head div{display:grid;gap:4px}.home-product-head small{color:var(--text-muted);font-size:.72rem}.home-product-head strong{color:var(--brand-900);font-family:var(--font-display);font-size:1.8rem;font-weight:400}
.home-product-date{padding:8px 10px;border:1px solid var(--border-soft);border-radius:10px;background:#fff;color:var(--brand-900);font-size:.72rem;font-weight:800}
.home-product-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.home-product-metrics article{padding:15px;border:1px solid var(--border-soft);border-radius:14px;background:#fff}.home-product-metrics small,.home-product-metrics span{display:block;color:var(--text-muted);font-size:.68rem}.home-product-metrics strong{display:block;margin:4px 0;color:var(--brand-900);font-size:1.45rem}
.home-product-priority{margin-top:18px;padding:18px;border:1px solid var(--border-soft);border-radius:16px;background:#fff}
.home-product-section-title{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-soft)}.home-product-section-title strong{color:var(--brand-900)}.home-product-section-title small{color:var(--text-muted)}
.home-product-task{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border-soft)}.home-product-task:last-child{border-bottom:0;padding-bottom:0}.home-product-task>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--accent-600);font-size:.7rem;font-weight:850}.home-product-task div{display:grid;gap:3px}.home-product-task strong{color:var(--brand-900);font-size:.82rem}.home-product-task small{color:var(--text-muted);font-size:.68rem}
.home-intro-strip{margin:0 calc(50% - 50vw);padding:17px max(24px,calc((100vw - var(--content-max))/2));border-block:1px solid var(--border-soft);background:var(--surface-soft);text-align:center}.home-intro-strip p{margin:0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(1rem,1.6vw,1.25rem)}
.home-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:32px}.home-section-heading h2,.home-advice .section-title-row h2{max-width:760px;margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.35rem,4.5vw,4.35rem);font-weight:400;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}.home-section-heading>p{margin:0;color:var(--text-muted);line-height:1.72}.home-section-heading-narrow{grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr)}
.home-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.home-feature-card{position:relative;min-height:285px;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,34px);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm)}.home-feature-card-large{grid-column:1/-1;min-height:340px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:42px;align-items:end;background:linear-gradient(135deg,#fff 0 63%,var(--surface-soft) 63%)}.home-feature-number{color:var(--accent-600);font-size:.75rem;font-weight:850;letter-spacing:.08em}.home-feature-card h3{margin:20px 0 9px;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(1.7rem,2.5vw,2.45rem);font-weight:400;letter-spacing:-.025em}.home-feature-card p{max-width:620px;margin:0 0 22px;color:var(--text-muted);line-height:1.68}.home-feature-card a{margin-top:auto;font-weight:800}.home-mini-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-self:end}.home-mini-dashboard span{padding:18px 12px;border:1px solid var(--border-soft);border-radius:14px;background:rgba(255,255,255,.88);color:var(--text-muted);font-size:.72rem}.home-mini-dashboard b{display:block;margin-bottom:3px;color:var(--brand-900);font-size:1.4rem}
.home-process{padding:clamp(34px,5vw,64px);border-radius:var(--radius-xl);background:var(--brand-900);color:#fff}.home-process .eyebrow{color:#e9c8bb}.home-process .home-section-heading h2,.home-process h3{color:#fff}.home-process .home-section-heading>p,.home-process-grid p{color:rgba(255,255,255,.72)}.home-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:28px;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17)}.home-process-grid article{padding:28px clamp(16px,2.5vw,30px);border-right:1px solid rgba(255,255,255,.17)}.home-process-grid article:first-child{padding-left:0}.home-process-grid article:last-child{border-right:0;padding-right:0}.home-process-grid span{color:#e9b6a4;font-size:.76rem;font-weight:850}.home-process-grid h3{margin:16px 0 8px;font-family:var(--font-display);font-size:1.7rem;font-weight:400}.home-process-grid p{margin:0;line-height:1.65}.home-process-action{margin-top:30px}
.home-discovery-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.home-discovery-card{min-height:310px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(26px,4vw,42px);border-radius:var(--radius-xl);background:var(--surface-card);border:1px solid var(--border-soft);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.home-discovery-card:first-child{background:linear-gradient(145deg,#e7e0d6,#fff 62%)}.home-discovery-card:last-child{background:linear-gradient(145deg,#e2e9e4,#fff 62%)}.home-discovery-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.home-discovery-card>span{color:var(--accent-600);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.home-discovery-card>strong{max-width:520px;margin:12px 0 28px;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1.06;letter-spacing:-.035em}.home-discovery-card>small{color:var(--brand-900);font-size:.88rem;font-weight:800}
.home-advice{padding-top:12px}
@media(max-width:1050px){.home-hero{grid-template-columns:1fr;gap:46px}.home-hero-copy{max-width:790px}.home-product-shell{max-width:760px;width:100%;margin:0 auto}.home-section-heading{grid-template-columns:1fr;gap:18px}.home-section-heading>p{max-width:760px}}
@media(max-width:760px){.home-hero{padding:38px 0 34px}.home-hero h1{font-size:clamp(3rem,15vw,4.8rem)}.home-hero-proof{gap:6px}.home-product-shell{padding:6px 0}.home-product-shell::before{inset:7% -5% -4% 6%}.home-product-window{border-radius:20px;transform:none}.home-product-layout{grid-template-columns:72px minmax(0,1fr);min-height:390px}.home-product-sidebar{padding:20px 11px}.home-product-sidebar strong{font-size:.48rem}.home-product-main{padding:18px 14px}.home-product-head strong{font-size:1.45rem}.home-product-metrics{gap:6px}.home-product-metrics article{padding:11px 8px}.home-product-metrics strong{font-size:1.15rem}.home-product-priority{padding:14px}.home-product-task strong{font-size:.76rem}.home-intro-strip{padding-inline:20px}.home-feature-grid,.home-discovery-grid{grid-template-columns:1fr}.home-feature-card-large{grid-column:auto;grid-template-columns:1fr;background:#fff}.home-mini-dashboard{width:100%}.home-process{padding:32px 22px}.home-process-grid{grid-template-columns:1fr}.home-process-grid article,.home-process-grid article:first-child,.home-process-grid article:last-child{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.17)}.home-process-grid article:last-child{border-bottom:0}.home-discovery-card{min-height:250px}.home-advice .section-title-row{align-items:flex-start}}
@media(max-width:480px){.home-product-layout{grid-template-columns:1fr}.home-product-sidebar{display:none}.home-product-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.home-product-metrics article{min-width:0}.home-product-metrics strong{font-size:1.05rem}.home-mini-dashboard{grid-template-columns:1fr}.home-hero-proof span{font-size:.7rem}.home-discovery-card>strong{font-size:2rem}}
@media(prefers-reduced-motion:reduce){.home-discovery-card{transition:none}}


/* Sprint 23.38.4 — online wedding planner landing page */
.planner-landing{display:grid;gap:0}
.planner-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);gap:clamp(42px,6vw,86px);align-items:center;padding:clamp(58px,8vw,104px) 0 54px}
.planner-hero-copy{max-width:690px}
.planner-hero h1{max-width:720px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.3rem,6vw,5.9rem);font-weight:400;line-height:.96;letter-spacing:-.052em;text-wrap:balance}
.planner-hero .lead{max-width:680px;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}
.planner-hero-actions{margin-top:28px}
.planner-hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.planner-hero-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.58);color:var(--text-muted);font-size:.76rem;font-weight:700}
.planner-product-preview{position:relative;padding:18px}
.planner-product-preview::before{content:"";position:absolute;inset:10% -3% -6% 8%;border-radius:42px;background:linear-gradient(145deg,rgba(49,81,72,.13),var(--accent-100))}
.planner-window{position:relative;z-index:1;overflow:hidden;border:1px solid rgba(36,60,53,.16);border-radius:26px;background:#fff;box-shadow:0 32px 90px rgba(36,60,53,.16);transform:rotate(.7deg)}
.planner-window-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--border-soft);background:#fbfaf7}
.planner-window-bar>span{width:8px;height:8px;border-radius:50%;background:#d3ccc1}.planner-window-bar small{margin-left:auto;color:var(--text-muted);font-size:.66rem}
.planner-window-body{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:470px}
.planner-preview-nav{padding:24px 16px;background:var(--brand-900);color:#fff}.planner-preview-nav strong{display:block;margin-bottom:30px;font-size:.68rem;letter-spacing:.15em}.planner-preview-nav i{display:block;width:70%;height:8px;margin:0 0 17px;border-radius:999px;background:rgba(255,255,255,.18)}.planner-preview-nav i.is-active{width:86%;background:rgba(255,255,255,.72)}
.planner-preview-main{padding:clamp(22px,3vw,34px);background:#faf9f6}.planner-preview-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:22px}.planner-preview-head div{display:grid;gap:4px}.planner-preview-head small{color:var(--text-muted);font-size:.7rem}.planner-preview-head strong{color:var(--brand-900);font-family:var(--font-display);font-size:1.8rem;font-weight:400}.planner-preview-head>span{height:max-content;padding:8px 10px;border:1px solid var(--border-soft);border-radius:10px;background:#fff;color:var(--brand-900);font-size:.72rem;font-weight:800}
.planner-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.planner-preview-grid article{padding:15px;border:1px solid var(--border-soft);border-radius:14px;background:#fff}.planner-preview-grid small,.planner-preview-grid span{display:block;color:var(--text-muted);font-size:.67rem}.planner-preview-grid strong{display:block;margin:4px 0;color:var(--brand-900);font-size:1.2rem}
.planner-preview-list{margin-top:16px;padding:17px;border:1px solid var(--border-soft);border-radius:15px;background:#fff}.planner-preview-title{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--border-soft)}.planner-preview-title strong{color:var(--brand-900)}.planner-preview-title small{color:var(--text-muted)}.planner-preview-list>div:not(.planner-preview-title){display:grid;grid-template-columns:28px minmax(0,1fr);gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--border-soft)}.planner-preview-list>div:last-child{border-bottom:0;padding-bottom:0}.planner-preview-list b{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);color:var(--accent-600);font-size:.7rem}.planner-preview-list span{display:grid;gap:2px}.planner-preview-list span strong{color:var(--brand-900);font-size:.78rem}.planner-preview-list span small{color:var(--text-muted);font-size:.66rem}
.planner-trust-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin:0 calc(50% - 50vw);padding:17px max(24px,calc((100vw - var(--content-max))/2));border-block:1px solid var(--border-soft);background:var(--surface-soft);color:var(--brand-900);font-size:.82rem;font-weight:800}
.planner-section{padding:clamp(62px,8vw,108px) 0}.planner-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:34px}.planner-section-heading h2,.planner-flow h2,.planner-workspace h2,.planner-final-cta h2{max-width:760px;margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,4.3rem);font-weight:400;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}.planner-section-heading>p,.planner-flow-copy>p,.planner-workspace>div>p,.planner-final-cta p{margin:0;color:var(--text-muted);line-height:1.72}
.planner-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.planner-module-card{min-height:270px;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,34px);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm)}.planner-module-card-wide{grid-column:1/-1;min-height:330px;display:grid;grid-template-columns:auto minmax(0,1.1fr) minmax(300px,.9fr);gap:26px 34px;align-items:end}.planner-module-number{color:var(--accent-600);font-size:.75rem;font-weight:850;letter-spacing:.08em}.planner-module-card h3{margin:18px 0 9px;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(1.7rem,2.4vw,2.35rem);font-weight:400}.planner-module-card p{margin:0 0 20px;color:var(--text-muted);line-height:1.66}.planner-module-card ul{margin:0;padding-left:20px;color:var(--text-muted);line-height:1.7}.planner-module-card a{margin-top:auto;font-weight:800}.planner-module-visual{align-self:stretch;padding:20px;border-radius:18px;background:var(--surface-soft)}.planner-task-visual{display:grid;align-content:center;gap:11px}.planner-task-visual span{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center}.planner-task-visual b{color:var(--brand-900);font-size:.78rem}.planner-task-visual i{display:block;height:12px;border-radius:999px;background:#fff;border:1px solid var(--border-soft)}.planner-stat-line{margin-top:auto;display:flex;align-items:end;gap:10px;padding-top:22px;border-top:1px solid var(--border-soft);width:100%}.planner-stat-line strong{color:var(--brand-900);font-size:1.6rem}.planner-stat-line span{padding-bottom:3px;color:var(--text-muted);font-size:.78rem}
.planner-flow{margin:10px 0;padding:clamp(34px,5vw,64px);border-radius:var(--radius-xl);background:var(--brand-900);color:#fff}.planner-flow .eyebrow{color:#e9c8bb}.planner-flow h2{color:#fff}.planner-flow-copy>p{max-width:780px;margin-top:18px;color:rgba(255,255,255,.72)}.planner-flow-steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.planner-flow-steps article{padding:26px 24px;border-right:1px solid rgba(255,255,255,.16)}.planner-flow-steps article:first-child{padding-left:0}.planner-flow-steps article:last-child{padding-right:0;border-right:0}.planner-flow-steps span{color:#e9b6a4;font-size:.74rem;font-weight:850}.planner-flow-steps h3{margin:15px 0 7px;color:#fff;font-family:var(--font-display);font-size:1.6rem;font-weight:400}.planner-flow-steps p{margin:0;color:rgba(255,255,255,.72);line-height:1.62}
.planner-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(44px,7vw,90px);align-items:center}.planner-workspace-preview{overflow:hidden;border:1px solid var(--border-soft);border-radius:24px;background:#fff;box-shadow:var(--shadow-md)}.planner-workspace-top{display:flex;gap:6px;padding:14px;border-bottom:1px solid var(--border-soft)}.planner-workspace-top span{width:8px;height:8px;border-radius:50%;background:#d4cdc1}.planner-workspace-board{display:grid;grid-template-columns:90px minmax(0,1fr);min-height:380px}.planner-workspace-board aside{padding:22px 14px;background:var(--brand-900)}.planner-workspace-board aside i{display:block;height:8px;margin-bottom:16px;border-radius:999px;background:rgba(255,255,255,.2)}.planner-workspace-board>div{padding:30px;background:#faf9f6}.planner-workspace-board>div>strong{color:var(--brand-900);font-family:var(--font-display);font-size:1.65rem;font-weight:400}.planner-workspace-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:24px 0}.planner-workspace-cards span{height:82px;border:1px solid var(--border-soft);border-radius:12px;background:#fff}.planner-workspace-table{padding:15px;border:1px solid var(--border-soft);border-radius:14px;background:#fff}.planner-workspace-table i{display:block;height:9px;margin-bottom:12px;border-radius:999px;background:var(--surface-soft)}.planner-workspace-table i:last-child{margin-bottom:0;width:70%}.planner-check-list{display:grid;gap:10px;margin:24px 0;padding:0;list-style:none}.planner-check-list li{position:relative;padding-left:26px;color:var(--brand-900)}.planner-check-list li::before{content:"✓";position:absolute;left:0;color:var(--accent-600);font-weight:900}
.planner-final-cta{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:clamp(40px,7vw,80px);padding:clamp(34px,5vw,54px);border-radius:var(--radius-xl);background:var(--surface-soft);border:1px solid var(--border-soft)}.planner-final-cta>div:first-child{max-width:760px}.planner-final-cta p{margin-top:16px}.planner-final-cta .actions{flex:none}.planner-outline-btn{background:transparent;border:1px solid var(--brand-900);color:var(--brand-900)}
@media(max-width:1050px){.planner-hero{grid-template-columns:1fr;gap:46px}.planner-hero-copy{max-width:820px}.planner-product-preview{max-width:780px;width:100%;margin:0 auto}.planner-section-heading{grid-template-columns:1fr;gap:18px}.planner-section-heading>p{max-width:760px}.planner-flow-steps{grid-template-columns:1fr 1fr}.planner-flow-steps article:nth-child(2){border-right:0}.planner-flow-steps article:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}.planner-workspace{grid-template-columns:1fr}.planner-workspace-preview{max-width:760px}}
@media(max-width:760px){.planner-hero{padding:38px 0 34px}.planner-hero h1{font-size:clamp(3rem,14vw,4.6rem)}.planner-product-preview{padding:6px 0}.planner-product-preview::before{inset:8% -5% -4% 5%}.planner-window{border-radius:20px;transform:none}.planner-window-body{grid-template-columns:72px minmax(0,1fr);min-height:400px}.planner-preview-nav{padding:20px 11px}.planner-preview-nav strong{font-size:.48rem}.planner-preview-main{padding:18px 14px}.planner-preview-grid{grid-template-columns:1fr 1fr}.planner-trust-strip{justify-content:flex-start;gap:8px 20px}.planner-module-grid{grid-template-columns:1fr}.planner-module-card-wide{grid-column:auto;grid-template-columns:1fr}.planner-module-visual{min-height:160px}.planner-flow{padding:32px 22px}.planner-flow-steps{grid-template-columns:1fr}.planner-flow-steps article,.planner-flow-steps article:first-child,.planner-flow-steps article:last-child{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.planner-flow-steps article:last-child{border-bottom:0}.planner-workspace-board{grid-template-columns:64px minmax(0,1fr);min-height:320px}.planner-workspace-board>div{padding:22px 16px}.planner-final-cta{align-items:flex-start;flex-direction:column}.planner-final-cta .actions{width:100%}}
@media(max-width:480px){.planner-window-body{grid-template-columns:1fr}.planner-preview-nav{display:none}.planner-preview-grid{grid-template-columns:1fr 1fr}.planner-preview-head strong{font-size:1.45rem}.planner-workspace-board{grid-template-columns:1fr}.planner-workspace-board aside{display:none}.planner-workspace-cards{grid-template-columns:1fr}.planner-workspace-cards span{height:58px}.planner-final-cta .actions{display:grid;grid-template-columns:1fr}.planner-final-cta .btn{width:100%}}


/* Sprint 23.38.5 — wedding homepage product landing */
.homepage-showcase{display:grid;gap:0}
.homepage-showcase-hero{display:grid;grid-template-columns:minmax(0,.88fr) minmax(510px,1.12fr);gap:clamp(42px,6vw,88px);align-items:center;padding:clamp(58px,8vw,104px) 0 54px}
.homepage-showcase-copy{max-width:690px}
.homepage-showcase h1{max-width:720px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.3rem,6vw,5.9rem);font-weight:400;line-height:.96;letter-spacing:-.052em;text-wrap:balance}
.homepage-showcase .lead{max-width:680px;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}
.homepage-showcase-actions{margin-top:28px}.homepage-showcase-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.homepage-showcase-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.6);color:var(--text-muted);font-size:.76rem;font-weight:700}
.homepage-device-stage{position:relative;min-height:540px;padding:18px 54px 42px 10px}
.homepage-device-stage::before{content:"";position:absolute;inset:8% -2% 0 8%;border-radius:42px;background:linear-gradient(145deg,#e5ebe6 0 48%,var(--accent-100) 100%)}
.homepage-browser-preview{position:relative;z-index:1;overflow:hidden;border:1px solid rgba(36,60,53,.16);border-radius:25px;background:#fff;box-shadow:0 34px 90px rgba(36,60,53,.17);transform:rotate(-.8deg)}
.homepage-browser-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--border-soft);background:#fbfaf7}.homepage-browser-bar>span{width:8px;height:8px;border-radius:50%;background:#d3ccc1}.homepage-browser-bar small{margin-left:auto;color:var(--text-muted);font-size:.66rem}
.homepage-browser-site{min-height:430px;background:#f7f2e9}.homepage-browser-nav{display:flex;justify-content:space-between;gap:20px;padding:16px 24px;color:var(--brand-900);font-size:.7rem}.homepage-browser-nav b{font-family:var(--font-display);font-size:.95rem;font-weight:400}.homepage-browser-hero{min-height:240px;display:grid;place-items:center;align-content:center;padding:30px;text-align:center;background:linear-gradient(155deg,#e8dfd4,#f8f5ef 65%)}.homepage-browser-hero small{color:var(--accent-600);font-size:.64rem;font-weight:850;letter-spacing:.16em}.homepage-browser-hero strong{margin:12px 0 10px;color:var(--brand-900);font-family:var(--font-display);font-size:2.55rem;font-weight:400;letter-spacing:-.04em}.homepage-browser-hero p{max-width:340px;margin:0;color:var(--text-muted);font-size:.75rem;line-height:1.6}.homepage-browser-info{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:18px}.homepage-browser-info article{display:grid;gap:4px;padding:13px;border:1px solid var(--border-soft);border-radius:12px;background:rgba(255,255,255,.82)}.homepage-browser-info span{color:var(--accent-600);font-size:.62rem;font-weight:850}.homepage-browser-info b{color:var(--brand-900);font-family:var(--font-display);font-size:1rem;font-weight:400}.homepage-browser-info small{color:var(--text-muted);font-size:.62rem}
.homepage-phone-preview{position:absolute;z-index:2;right:0;bottom:0;width:174px;min-height:348px;padding:24px 16px;border:7px solid #314039;border-radius:29px;background:linear-gradient(160deg,#f4eee5,#fff);box-shadow:0 24px 55px rgba(36,60,53,.22);text-align:center}.homepage-phone-speaker{width:52px;height:5px;margin:-11px auto 38px;border-radius:99px;background:#314039}.homepage-phone-preview>small{display:block;color:var(--accent-600);font-size:.54rem;font-weight:850;letter-spacing:.13em}.homepage-phone-preview>strong{display:block;margin:11px 0;color:var(--brand-900);font-family:var(--font-display);font-size:1.65rem;font-weight:400}.homepage-phone-preview>i{display:block;width:64px;height:64px;margin:18px auto;border-radius:50% 50% 42% 58%;background:#dfe7df;transform:rotate(12deg)}.homepage-phone-preview>p{color:var(--text-muted);font-size:.68rem}.homepage-phone-preview>button{margin-top:14px;padding:8px 18px;border:0;border-radius:999px;background:var(--brand-900);color:#fff;font-size:.64rem}
.homepage-showcase-strip{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 30px;margin:0 calc(50% - 50vw);padding:17px max(24px,calc((100vw - var(--content-max))/2));border-block:1px solid var(--border-soft);background:var(--surface-soft);color:var(--brand-900);font-size:.82rem;font-weight:800}
.homepage-showcase-section{padding:clamp(62px,8vw,108px) 0}.homepage-showcase-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:clamp(30px,6vw,90px);align-items:end;margin-bottom:34px}.homepage-showcase-heading h2,.homepage-privacy h2,.homepage-final-cta h2{max-width:780px;margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.4rem,4.5vw,4.3rem);font-weight:400;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}.homepage-showcase-heading>p,.homepage-privacy p,.homepage-final-cta p{margin:0;color:var(--text-muted);line-height:1.72}.homepage-showcase-heading-compact{grid-template-columns:1fr}
.homepage-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.homepage-feature-card{min-height:275px;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(24px,3vw,34px);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-card);box-shadow:var(--shadow-sm)}.homepage-feature-card-wide{grid-column:1/-1;min-height:260px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(300px,.72fr);gap:28px;align-items:center}.homepage-feature-number{color:var(--accent-600);font-size:.75rem;font-weight:850}.homepage-feature-card h3{margin:18px 0 9px;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(1.7rem,2.4vw,2.35rem);font-weight:400}.homepage-feature-card p{margin:0 0 20px;color:var(--text-muted);line-height:1.66}.homepage-url-preview{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-self:stretch;padding:24px;border-radius:18px;background:var(--surface-soft);color:var(--text-muted);font-size:.92rem}.homepage-url-preview strong{color:var(--brand-900)}.homepage-photo-preview{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:7px;width:100%;margin-top:auto}.homepage-photo-preview i{height:72px;border-radius:12px;background:linear-gradient(150deg,#d9d0c4,#f3eee7)}.homepage-photo-preview i:nth-child(2){background:linear-gradient(150deg,#d9e2da,#f3f6f3)}.homepage-photo-preview i:nth-child(3){background:linear-gradient(150deg,#ead7cf,#f8eee9)}.homepage-faq-preview{display:grid;gap:8px;width:100%;margin-top:auto}.homepage-faq-preview span,.homepage-rsvp-preview span{padding:10px 12px;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-soft);color:var(--brand-900);font-size:.75rem}.homepage-rsvp-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.homepage-designs{margin:10px 0;padding-inline:clamp(24px,4vw,48px);border-radius:var(--radius-xl);background:var(--surface-soft)}.homepage-design-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.homepage-design-card{min-height:330px;padding:14px;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.homepage-design-card>div{height:100%;display:grid;place-items:center;align-content:center;padding:22px;text-align:center;border:1px solid rgba(36,60,53,.12);border-radius:12px}.homepage-design-card small{color:var(--text-muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}.homepage-design-card strong{margin:22px 0 15px;color:var(--brand-900);font-family:var(--font-display);font-size:1.85rem;font-weight:400;line-height:1.05}.homepage-design-card i{width:48px;height:1px;margin-bottom:15px;background:var(--accent-600)}.homepage-design-card span{color:var(--text-muted);font-size:.62rem;letter-spacing:.08em}.homepage-design-card.is-modern{background:#f3f1ed}.homepage-design-card.is-modern>div{border-color:#bbb6ad}.homepage-design-card.is-modern strong{font-family:var(--font-sans);font-size:2.2rem;font-weight:800;letter-spacing:.08em}.homepage-design-card.is-botanical{background:#e5ebe5}.homepage-design-card.is-botanical>div{border-color:#9cae9e}.homepage-design-card.is-elegant{background:#ece9df}.homepage-design-card.is-elegant>div{border-color:#aeb8a6}.homepage-design-card.is-elegant strong{font-style:italic}.homepage-design-note{max-width:820px;margin:24px 0 0;color:var(--text-muted);line-height:1.7}
.homepage-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.homepage-package-card{display:flex;flex-direction:column;padding:clamp(28px,4vw,42px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.homepage-package-card.is-plus{border-color:rgba(168,95,73,.34);background:linear-gradient(145deg,#fff,var(--accent-100))}.homepage-package-top h3{margin:18px 0 10px;color:var(--brand-900);font-family:var(--font-display);font-size:2.15rem;font-weight:400}.homepage-price{display:flex;align-items:baseline;gap:10px;padding-bottom:22px;border-bottom:1px solid var(--border-soft)}.homepage-price strong{color:var(--brand-900);font-size:2rem}.homepage-price span{color:var(--text-muted);font-size:.78rem}.homepage-package-list{display:grid;gap:10px;margin:26px 0 30px;padding:0;list-style:none}.homepage-package-list li{position:relative;padding-left:25px;color:var(--text-muted);line-height:1.5}.homepage-package-list li::before{content:"✓";position:absolute;left:0;color:var(--accent-600);font-weight:900}.homepage-package-card>.btn{margin-top:auto}.homepage-package-note{margin:16px 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.55}
.homepage-privacy{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.72fr);gap:clamp(42px,7vw,90px);align-items:center;margin:10px 0;padding:clamp(34px,5vw,64px);border-radius:var(--radius-xl);background:var(--brand-900);color:#fff}.homepage-privacy .eyebrow{color:#e9c8bb}.homepage-privacy h2{color:#fff}.homepage-privacy p{margin-top:18px;color:rgba(255,255,255,.72)}.homepage-check-list{display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}.homepage-check-list li{position:relative;padding-left:26px;color:rgba(255,255,255,.86)}.homepage-check-list li::before{content:"✓";position:absolute;left:0;color:#e9b6a4;font-weight:900}.homepage-privacy-visual{min-height:260px;display:grid;place-items:center;align-content:center;padding:30px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.06);text-align:center}.homepage-lock{width:74px;height:74px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#e9b6a4;font-size:2rem}.homepage-privacy-visual strong{margin-top:20px;color:#fff;font-family:var(--font-display);font-size:1.7rem;font-weight:400}.homepage-privacy-visual p{margin-top:8px;font-size:.76rem}
.homepage-faq-list{max-width:920px}.homepage-faq-list details{border-color:var(--border-soft);background:#fff}.homepage-faq-list summary{color:var(--brand-900)}
.homepage-final-cta{display:flex;align-items:end;justify-content:space-between;gap:42px;margin:10px 0 clamp(40px,7vw,80px);padding:clamp(34px,5vw,54px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-soft)}.homepage-final-cta>div:first-child{max-width:760px}.homepage-final-cta p{margin-top:16px}.homepage-final-cta .actions{flex:none}.homepage-outline-btn{background:transparent;border:1px solid var(--brand-900);color:var(--brand-900)}
@media(max-width:1050px){.homepage-showcase-hero{grid-template-columns:1fr;gap:46px}.homepage-showcase-copy{max-width:820px}.homepage-device-stage{max-width:780px;width:100%;margin:0 auto}.homepage-showcase-heading{grid-template-columns:1fr;gap:18px}.homepage-showcase-heading>p{max-width:760px}.homepage-design-grid{grid-template-columns:1fr 1fr}.homepage-privacy{grid-template-columns:1fr}.homepage-privacy-visual{max-width:620px}}
@media(max-width:760px){.homepage-showcase-hero{padding:38px 0 34px}.homepage-showcase h1{font-size:clamp(3rem,14vw,4.6rem)}.homepage-device-stage{min-height:475px;padding:6px 44px 46px 0}.homepage-device-stage::before{inset:8% -4% 1% 4%}.homepage-browser-preview{border-radius:20px;transform:none}.homepage-browser-site{min-height:360px}.homepage-browser-hero{min-height:200px}.homepage-browser-hero strong{font-size:2rem}.homepage-browser-info{gap:6px;padding:12px}.homepage-browser-info article{padding:10px 8px}.homepage-phone-preview{width:145px;min-height:295px;padding:20px 12px}.homepage-phone-speaker{margin-bottom:30px}.homepage-phone-preview>strong{font-size:1.4rem}.homepage-showcase-strip{justify-content:flex-start;gap:8px 20px}.homepage-feature-grid,.homepage-package-grid{grid-template-columns:1fr}.homepage-feature-card-wide{grid-column:auto;grid-template-columns:1fr}.homepage-designs{padding-inline:22px}.homepage-design-grid{grid-template-columns:1fr 1fr}.homepage-design-card{min-height:260px}.homepage-privacy{padding:32px 22px}.homepage-final-cta{align-items:flex-start;flex-direction:column}.homepage-final-cta .actions{width:100%}}
@media(max-width:480px){.homepage-device-stage{min-height:400px;padding-right:24px}.homepage-browser-nav span{display:none}.homepage-browser-info article:nth-child(2){display:none}.homepage-browser-info{grid-template-columns:1fr 1fr}.homepage-phone-preview{right:-4px;width:126px;min-height:260px;border-width:6px}.homepage-phone-preview>i{width:48px;height:48px;margin:14px auto}.homepage-design-grid{grid-template-columns:1fr}.homepage-final-cta .actions{display:grid;grid-template-columns:1fr}.homepage-final-cta .btn{width:100%}}


/* Sprint 23.38.6 — locations discovery page */
.location-directory{display:grid;gap:0}
.location-directory-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.45fr);gap:clamp(42px,7vw,100px);align-items:end;padding:clamp(58px,8vw,104px) 0 52px}
.location-directory-copy{max-width:850px}.location-directory-hero h1{max-width:820px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.4rem,6vw,5.9rem);font-weight:400;line-height:.96;letter-spacing:-.052em;text-wrap:balance}.location-directory-hero .lead{max-width:720px;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}.location-directory-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.location-directory-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.6);color:var(--text-muted);font-size:.76rem;font-weight:700}
.location-directory-summary{min-height:255px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(150deg,#e4ebe5,#fff);box-shadow:var(--shadow-sm)}.location-directory-summary small{color:var(--accent-600);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em}.location-directory-summary strong{margin:10px 0 -4px;color:var(--brand-900);font-family:var(--font-display);font-size:4.4rem;font-weight:400;line-height:1}.location-directory-summary>span{color:var(--brand-900);font-weight:800}.location-directory-summary i{display:block;width:44px;height:1px;margin:22px 0;background:var(--accent-600)}.location-directory-summary p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.6}
.location-search-shell{margin:0 calc(50% - 50vw);padding:clamp(34px,5vw,58px) max(24px,calc((100vw - var(--content-max))/2));background:var(--brand-900);color:#fff}.location-search-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:40px;align-items:end;margin-bottom:26px}.location-search-heading .eyebrow{color:#e9c8bb}.location-search-heading h2{margin:.18em 0 0;color:#fff;font-family:var(--font-display);font-size:clamp(2.1rem,3.8vw,3.5rem);font-weight:400;line-height:1.04;letter-spacing:-.035em}.location-search-heading>p{margin:0;color:rgba(255,255,255,.7);line-height:1.65}
.location-filter{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr .7fr;gap:12px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.07);box-shadow:none}.location-filter label{display:grid;gap:7px;color:rgba(255,255,255,.78);font-size:.72rem;font-weight:800}.location-filter .input{min-height:46px;border-color:rgba(255,255,255,.18);background:#fff;color:var(--text-strong)}.location-filter-options{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;padding-top:4px}.location-filter-options label{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);cursor:pointer}.location-filter-options input{accent-color:var(--accent-500)}.location-filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding-top:4px}.location-filter-actions a{color:rgba(255,255,255,.8);font-size:.82rem;font-weight:700}.location-filter-actions .btn{min-width:190px}
.location-directory-section{padding:clamp(62px,8vw,100px) 0}.location-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:clamp(28px,6vw,84px);align-items:end;margin-bottom:28px}.location-section-heading h2,.location-results-heading h2,.location-planning-callout h2{max-width:760px;margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.8rem);font-weight:400;line-height:1.03;letter-spacing:-.038em;text-wrap:balance}.location-section-heading>p{margin:0;color:var(--text-muted);line-height:1.68}
.location-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.location-category-grid a{min-height:150px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;gap:10px;padding:24px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff;color:var(--brand-900);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.location-category-grid a:hover{transform:translateY(-3px);border-color:rgba(49,81,72,.28);box-shadow:var(--shadow-md)}.location-category-grid span{grid-column:1/-1;align-self:start;font-family:var(--font-display);font-size:1.55rem}.location-category-grid small{align-self:end;color:var(--text-muted);font-size:.75rem}.location-category-grid b{align-self:end;color:var(--accent-600);font-size:1.15rem}
.location-subnav{padding:24px 0 0}.location-subnav a{font-weight:800}
.location-regions{padding-top:10px}.location-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.location-region-grid a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-soft);color:var(--brand-900);text-decoration:none;font-weight:800}.location-region-grid b{color:var(--accent-600)}
.location-results{padding:clamp(58px,8vw,96px) 0}.location-results-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.location-results-heading>p{margin:0;padding-bottom:7px;color:var(--text-muted)}.location-results-heading>p strong{color:var(--brand-900)}
.location-directory .provider-grid{gap:18px}.location-directory .provider-card{overflow:hidden;border-radius:var(--radius-lg);border-color:var(--border-soft);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.location-directory .provider-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.location-directory .provider-image{aspect-ratio:16/10}.location-directory .provider-card-body{padding:22px}.location-directory .provider-card h2{font-family:var(--font-display);font-size:1.65rem;font-weight:400}.location-directory .provider-place{color:var(--accent-600);font-weight:800}.location-directory .provider-link{font-weight:850}
.location-planning-callout{display:flex;align-items:end;justify-content:space-between;gap:42px;margin:10px 0 clamp(58px,8vw,96px);padding:clamp(32px,5vw,52px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface-soft),#fff)}.location-planning-callout>div{max-width:800px}.location-planning-callout p{max-width:720px;margin:16px 0 0;color:var(--text-muted);line-height:1.7}.location-planning-callout>.btn{flex:none}.location-provider-callout{margin-top:0}
@media(max-width:1050px){.location-directory-hero{grid-template-columns:1fr}.location-directory-summary{max-width:560px}.location-search-heading,.location-section-heading{grid-template-columns:1fr;gap:16px}.location-filter{grid-template-columns:1fr 1fr 1fr}.location-filter-search{grid-column:span 2}.location-category-grid,.location-region-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.location-directory-hero{padding:38px 0 34px}.location-directory-hero h1{font-size:clamp(3rem,14vw,4.6rem)}.location-directory-summary{min-height:210px}.location-search-shell{padding-inline:20px}.location-filter{grid-template-columns:1fr;padding:14px}.location-filter-search,.location-filter-options,.location-filter-actions{grid-column:auto}.location-filter-options{align-items:stretch;flex-direction:column}.location-filter-options label{border-radius:12px}.location-filter-actions{align-items:stretch;flex-direction:column}.location-filter-actions .btn{width:100%}.location-category-grid,.location-region-grid{grid-template-columns:1fr}.location-results-heading{align-items:flex-start;flex-direction:column;gap:12px}.location-planning-callout{align-items:flex-start;flex-direction:column}.location-planning-callout>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){.location-category-grid a,.location-directory .provider-card{transition:none}}


/* Sprint 23.38.7 — wedding service directory */
.service-directory{display:grid;gap:0}
.service-directory-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.45fr);gap:clamp(42px,7vw,100px);align-items:end;padding:clamp(58px,8vw,104px) 0 52px}
.service-directory-copy{max-width:850px}.service-directory-hero h1{max-width:840px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.4rem,6vw,5.9rem);font-weight:400;line-height:.96;letter-spacing:-.052em;text-wrap:balance}.service-directory-hero .lead{max-width:740px;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}.service-directory-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.service-directory-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.6);color:var(--text-muted);font-size:.76rem;font-weight:700}
.service-directory-summary{min-height:255px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(150deg,#eee7df,#fff);box-shadow:var(--shadow-sm)}.service-directory-summary small{color:var(--accent-600);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.11em}.service-directory-summary strong{margin:10px 0 -4px;color:var(--brand-900);font-family:var(--font-display);font-size:4.4rem;font-weight:400;line-height:1}.service-directory-summary>span{color:var(--brand-900);font-weight:800}.service-directory-summary i{display:block;width:44px;height:1px;margin:22px 0;background:var(--accent-600)}.service-directory-summary p{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.6}
.service-search-shell{margin:0 calc(50% - 50vw);padding:clamp(34px,5vw,58px) max(24px,calc((100vw - var(--content-max))/2));background:var(--brand-900);color:#fff}.service-search-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:40px;align-items:end;margin-bottom:26px}.service-search-heading .eyebrow{color:#e9c8bb}.service-search-heading h2{margin:.18em 0 0;color:#fff;font-family:var(--font-display);font-size:clamp(2.1rem,3.8vw,3.5rem);font-weight:400;line-height:1.04;letter-spacing:-.035em}.service-search-heading>p{margin:0;color:rgba(255,255,255,.7);line-height:1.65}
.service-filter{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:12px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:rgba(255,255,255,.07);box-shadow:none}.service-filter label{display:grid;gap:7px;color:rgba(255,255,255,.78);font-size:.72rem;font-weight:800}.service-filter .input{min-height:46px;border-color:rgba(255,255,255,.18);background:#fff;color:var(--text-strong)}.service-filter-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding-top:4px}.service-filter-actions a{color:rgba(255,255,255,.8);font-size:.82rem;font-weight:700}.service-filter-actions .btn{min-width:210px}
.service-directory-section{padding:clamp(62px,8vw,100px) 0}.service-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:clamp(28px,6vw,84px);align-items:end;margin-bottom:28px}.service-section-heading h2,.service-results-heading h2,.service-planning-callout h2{max-width:780px;margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.8rem);font-weight:400;line-height:1.03;letter-spacing:-.038em;text-wrap:balance}.service-section-heading>p{margin:0;color:var(--text-muted);line-height:1.68}
.service-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.service-category-grid a{min-height:170px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr auto;gap:8px 14px;padding:24px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff;color:var(--brand-900);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.service-category-grid a:hover{transform:translateY(-3px);border-color:rgba(49,81,72,.28);box-shadow:var(--shadow-md)}.service-category-index{grid-column:1/-1;color:var(--accent-600);font-size:.68rem;font-weight:850;letter-spacing:.08em}.service-category-grid strong{grid-column:1/-1;align-self:center;font-family:var(--font-display);font-size:1.6rem;font-weight:400}.service-category-grid small{align-self:end;color:var(--text-muted);font-size:.75rem}.service-category-grid b{align-self:end;color:var(--accent-600);font-size:1.15rem}
.service-subnav{padding:24px 0 0}.service-subnav a{font-weight:800}
.service-regions{padding-top:10px}.service-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.service-region-grid a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 18px;border:1px solid var(--border-soft);border-radius:14px;background:var(--surface-soft);color:var(--brand-900);text-decoration:none;font-weight:800}.service-region-grid b{color:var(--accent-600)}
.service-results{padding:clamp(58px,8vw,96px) 0}.service-results-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.service-results-heading>p{margin:0;padding-bottom:7px;color:var(--text-muted)}.service-results-heading>p strong{color:var(--brand-900)}
.service-directory .provider-grid{gap:18px}.service-directory .provider-card{overflow:hidden;border-radius:var(--radius-lg);border-color:var(--border-soft);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.service-directory .provider-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.service-directory .provider-image{aspect-ratio:16/10}.service-directory .provider-card-body{padding:22px}.service-directory .provider-card h2{font-family:var(--font-display);font-size:1.65rem;font-weight:400}.service-directory .provider-place{color:var(--accent-600);font-weight:800}.service-directory .provider-link{font-weight:850}
.service-planning-callout{display:flex;align-items:end;justify-content:space-between;gap:42px;margin:10px 0 clamp(58px,8vw,96px);padding:clamp(32px,5vw,52px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(145deg,#eef2ee,#fff)}.service-planning-callout>div{max-width:800px}.service-planning-callout p{max-width:720px;margin:16px 0 0;color:var(--text-muted);line-height:1.7}.service-planning-callout>.btn{flex:none}.service-provider-callout{margin-top:0}
@media(max-width:1050px){.service-directory-hero{grid-template-columns:1fr}.service-directory-summary{max-width:560px}.service-search-heading,.service-section-heading{grid-template-columns:1fr;gap:16px}.service-filter{grid-template-columns:1fr 1fr}.service-filter-search{grid-column:1/-1}.service-category-grid,.service-region-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.service-directory-hero{padding:38px 0 34px}.service-directory-hero h1{font-size:clamp(3rem,14vw,4.6rem)}.service-directory-summary{min-height:210px}.service-search-shell{padding-inline:20px}.service-filter{grid-template-columns:1fr;padding:14px}.service-filter-search,.service-filter-actions{grid-column:auto}.service-filter-actions{align-items:stretch;flex-direction:column}.service-filter-actions .btn{width:100%}.service-category-grid,.service-region-grid{grid-template-columns:1fr}.service-results-heading{align-items:flex-start;flex-direction:column;gap:12px}.service-planning-callout{align-items:flex-start;flex-direction:column}.service-planning-callout>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){.service-category-grid a,.service-directory .provider-card{transition:none}}


/* Sprint 23.38.8 — public provider profile */
.provider-showcase{display:grid;gap:0}.provider-showcase-back{padding:24px 0 4px}.provider-showcase-back a{color:var(--text-muted);font-size:.82rem;font-weight:800;text-decoration:none}.provider-showcase-back a:hover{color:var(--brand-900)}
.provider-showcase-hero{display:grid;grid-template-columns:minmax(0,.83fr) minmax(440px,1.17fr);gap:clamp(40px,6vw,84px);align-items:center;padding:clamp(36px,6vw,76px) 0 clamp(54px,7vw,86px)}.provider-showcase-copy{max-width:720px}.provider-showcase-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.provider-showcase-kicker .eyebrow{margin:0}.provider-showcase h1{max-width:720px;margin:.2em 0 .24em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.2rem,5.7vw,5.6rem);font-weight:400;line-height:.96;letter-spacing:-.05em;text-wrap:balance}.provider-showcase .lead{max-width:680px;font-size:clamp(1.03rem,1.35vw,1.18rem);line-height:1.7}.provider-showcase-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.provider-showcase-meta>span{display:grid;gap:5px;padding:13px 14px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-soft)}.provider-showcase-meta small{color:var(--text-muted);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.provider-showcase-meta strong{overflow-wrap:anywhere;color:var(--brand-900);font-size:.82rem}.provider-showcase-actions{margin-top:24px}.provider-showcase-actions .share-actions{margin:0}
.provider-showcase-visual{position:relative;min-height:480px;overflow:hidden;border-radius:var(--radius-xl);background:linear-gradient(145deg,#e6e1d9,#f5f2ec);box-shadow:0 28px 80px rgba(36,60,53,.15)}.provider-showcase-visual>img{width:100%;height:100%;min-height:480px;display:block;object-fit:cover}.provider-showcase-visual::after{content:"";position:absolute;inset:auto 0 0;height:24%;background:linear-gradient(transparent,rgba(20,36,31,.18));pointer-events:none}.provider-showcase-placeholder{min-height:480px;display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(145deg,#e3e9e4,#f6f2ec);color:var(--brand-900)}.provider-showcase-placeholder span{font-family:var(--font-display);font-size:8rem;line-height:1}.provider-showcase-placeholder small{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}.provider-showcase-logo{position:absolute;z-index:2;left:22px;bottom:22px;width:100px;height:100px;display:grid;place-items:center;margin:0;padding:12px;border:1px solid rgba(36,60,53,.12);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:var(--shadow-md)}.provider-showcase-logo img{max-width:100%;max-height:100%;object-fit:contain}
.provider-showcase-gallery{padding:0 0 clamp(58px,7vw,92px)}.provider-showcase-section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:22px}.provider-showcase-section-head h2,.provider-showcase-section>h2,.provider-showcase-bottom-cta h2{margin:.16em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2rem,3.2vw,3.2rem);font-weight:400;line-height:1.04;letter-spacing:-.035em}.provider-showcase-section-head>p{margin:0;color:var(--text-muted);font-size:.82rem}.provider-showcase .provider-gallery{display:grid;grid-template-columns:1.7fr 1fr 1fr;grid-auto-rows:200px;gap:10px}.provider-showcase .provider-gallery-item{overflow:hidden;margin:0;border-radius:16px;background:var(--surface-soft)}.provider-showcase .provider-gallery-featured{grid-row:span 2}.provider-showcase .provider-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.provider-showcase .provider-gallery-item:hover img{transform:scale(1.025)}
.provider-showcase-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:clamp(34px,6vw,74px);align-items:start;padding:clamp(52px,7vw,90px) 0}.provider-showcase-main{display:grid;gap:16px}.provider-showcase-section{padding:clamp(26px,4vw,38px);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-sm)}.provider-showcase-copytext{margin-top:20px}.provider-showcase-copytext>*:first-child{margin-top:0}.provider-section-intro{color:var(--text-muted);line-height:1.65}.provider-showcase .provider-service-country-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.provider-showcase .provider-service-country-tags .badge{padding:8px 11px}.provider-showcase .provider-public-price-list{display:grid;gap:0;margin-top:22px;border-top:1px solid var(--border-soft)}.provider-showcase .provider-public-price-item{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid var(--border-soft)}.provider-showcase .provider-public-price-item span{color:var(--text-muted)}.provider-showcase .provider-public-price-item strong{color:var(--brand-900);text-align:right}.provider-showcase-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.provider-showcase-facts>div{padding:16px;border:1px solid var(--border-soft);border-radius:13px;background:var(--surface-soft)}.provider-showcase-facts dt{color:var(--text-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.provider-showcase-facts dd{margin:5px 0 0;color:var(--brand-900);font-weight:800}.provider-location-notes{display:grid;gap:8px;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-soft)}.provider-location-notes p{margin:0;color:var(--text-muted);line-height:1.6}
.provider-showcase-side{position:sticky;top:96px;display:grid;gap:14px}.provider-showcase-side .card{padding:24px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.provider-contact-card{position:static}.provider-showcase-side h2{margin:.18em 0 14px;color:var(--brand-900);font-family:var(--font-display);font-size:1.8rem;font-weight:400}.provider-contact-address{padding:13px 0 18px;border-bottom:1px solid var(--border-soft)}.provider-contact-address small{color:var(--text-muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.provider-contact-address p{margin:5px 0 0;color:var(--brand-900);line-height:1.55}.provider-showcase-contact-links{display:grid;gap:0;margin-top:8px}.provider-showcase-contact-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft);color:var(--brand-900);text-decoration:none;font-weight:800}.provider-showcase-contact-links a:last-child{border-bottom:0}.provider-showcase-contact-links b{color:var(--accent-600)}.provider-showcase-lead{background:linear-gradient(150deg,#fff,var(--accent-100))}.provider-showcase-lead form{display:grid;gap:14px}.provider-showcase-lead .actions{display:grid;grid-template-columns:1fr 1fr}.provider-showcase-lead .btn{width:100%}.provider-report-action{text-align:center}.provider-report-action a{color:var(--text-muted);font-size:.75rem}.provider-showcase-claim{background:var(--surface-soft)}
.provider-showcase-bottom-cta{display:flex;align-items:end;justify-content:space-between;gap:42px;margin:0 0 clamp(42px,7vw,82px);padding:clamp(32px,5vw,52px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(145deg,#e9eee9,#fff)}.provider-showcase-bottom-cta>div{max-width:790px}.provider-showcase-bottom-cta p{max-width:700px;margin:15px 0 0;color:var(--text-muted);line-height:1.68}.provider-showcase-bottom-cta>.btn{flex:none}
@media(max-width:1050px){.provider-showcase-hero{grid-template-columns:1fr}.provider-showcase-visual{max-width:820px;width:100%}.provider-showcase-layout{grid-template-columns:1fr}.provider-showcase-side{position:static;grid-template-columns:1fr 1fr}.provider-showcase-side .directory-lead-card{grid-column:1/-1}.provider-report-action{grid-column:1/-1}.provider-showcase .provider-gallery{grid-template-columns:1.5fr 1fr}.provider-showcase .provider-gallery-item:nth-child(n+4){display:none}}
@media(max-width:760px){.provider-showcase-back{padding-top:18px}.provider-showcase-hero{padding-top:28px}.provider-showcase h1{font-size:clamp(3rem,14vw,4.6rem)}.provider-showcase-meta{grid-template-columns:1fr}.provider-showcase-visual,.provider-showcase-visual>img,.provider-showcase-placeholder{min-height:360px}.provider-showcase-logo{width:82px;height:82px;left:16px;bottom:16px}.provider-showcase .provider-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.provider-showcase .provider-gallery-featured{grid-column:1/-1;grid-row:auto;height:260px}.provider-showcase-side{grid-template-columns:1fr}.provider-showcase-side .directory-lead-card,.provider-report-action{grid-column:auto}.provider-showcase-facts{grid-template-columns:1fr 1fr}.provider-showcase-bottom-cta{align-items:flex-start;flex-direction:column}.provider-showcase-bottom-cta>.btn{width:100%}}
@media(max-width:480px){.provider-showcase .provider-gallery{grid-template-columns:1fr}.provider-showcase .provider-gallery-item:nth-child(n+3){display:none}.provider-showcase .provider-gallery-featured{height:230px}.provider-showcase-facts{grid-template-columns:1fr}.provider-showcase .provider-public-price-item{align-items:flex-start;flex-direction:column;gap:5px}.provider-showcase .provider-public-price-item strong{text-align:left}.provider-showcase-lead .actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.provider-showcase .provider-gallery-item img{transition:none}}


/* Sprint 23.38.9 — curated regional SEO landing pages */
.regional-seo-page{display:grid;gap:0}.regional-breadcrumb-back{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:24px}.regional-breadcrumb-back a{color:var(--text-muted);font-size:.82rem;font-weight:800;text-decoration:none}.regional-breadcrumb-back a:hover{color:var(--brand-900)}
.regional-seo-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);gap:clamp(42px,7vw,96px);align-items:end;padding:clamp(42px,7vw,86px) 0 52px}.regional-seo-copy{max-width:880px}.regional-seo-hero h1{max-width:860px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.15rem,5.7vw,5.5rem);font-weight:400;line-height:.97;letter-spacing:-.05em;text-wrap:balance}.regional-seo-hero .lead{max-width:730px;font-size:clamp(1.04rem,1.3vw,1.18rem);line-height:1.72}.regional-seo-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.regional-seo-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.65);color:var(--text-muted);font-size:.75rem;font-weight:750}
.regional-seo-summary{min-height:245px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(150deg,#e6ebe6,#fff);box-shadow:var(--shadow-sm)}.regional-seo-page.is-service .regional-seo-summary{background:linear-gradient(150deg,#eee7df,#fff)}.regional-seo-summary small{color:var(--accent-600);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.regional-seo-summary strong{margin:10px 0 -4px;color:var(--brand-900);font-family:var(--font-display);font-size:4.25rem;font-weight:400;line-height:1}.regional-seo-summary>span{color:var(--brand-900);font-weight:800}.regional-seo-summary i{width:42px;height:1px;margin:20px 0;background:var(--accent-600)}.regional-seo-summary p{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.6}
.regional-seo-intro{display:grid;grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);gap:clamp(36px,7vw,96px);margin:0 calc(50% - 50vw);padding:clamp(50px,7vw,84px) max(24px,calc((100vw - var(--content-max))/2));background:var(--surface-soft)}.regional-seo-intro-label h2,.regional-seo-heading h2,.regional-seo-guide h2,.regional-seo-planner h2{margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.15rem,3.8vw,3.6rem);font-weight:400;line-height:1.04;letter-spacing:-.035em;text-wrap:balance}.regional-seo-copytext{max-width:780px;padding:0;background:transparent;border:0;box-shadow:none}.regional-seo-copytext>:first-child{margin-top:0}.regional-seo-copytext>:last-child{margin-bottom:0}
.regional-seo-results{padding:clamp(62px,8vw,100px) 0}.regional-seo-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.48fr);gap:clamp(28px,6vw,78px);align-items:end;margin-bottom:30px}.regional-seo-heading>p{margin:0;color:var(--text-muted);line-height:1.65}.regional-seo-heading>p strong{color:var(--brand-900)}
.regional-seo-page .provider-grid{gap:18px}.regional-seo-page .provider-card{overflow:hidden;border-radius:var(--radius-lg);border-color:var(--border-soft);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.regional-seo-page .provider-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.regional-seo-page .provider-image{aspect-ratio:16/10}.regional-seo-page .provider-card-body{padding:22px}.regional-seo-page .provider-card h2{font-family:var(--font-display);font-size:1.65rem;font-weight:400}.regional-seo-page .provider-place{color:var(--accent-600);font-weight:800}.regional-seo-page .provider-link{font-weight:850}
.regional-seo-guide{margin:0 calc(50% - 50vw);padding:clamp(54px,7vw,88px) max(24px,calc((100vw - var(--content-max))/2));background:var(--brand-900);color:#fff}.regional-seo-guide>.eyebrow,.regional-seo-guide>div:first-child .eyebrow{color:#e9c8bb}.regional-seo-guide h2{max-width:840px;color:#fff}.regional-seo-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:32px}.regional-seo-guide-grid article{min-height:220px;padding:25px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.055)}.regional-seo-guide-grid span{color:#e9b6a4;font-size:.72rem;font-weight:850}.regional-seo-guide-grid h3{margin:18px 0 9px;color:#fff;font-family:var(--font-display);font-size:1.55rem;font-weight:400}.regional-seo-guide-grid p{margin:0;color:rgba(255,255,255,.7);line-height:1.64}
.regional-seo-related{padding:clamp(62px,8vw,100px) 0}.regional-seo-related .article-grid{margin-top:0}.regional-seo-related .article-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.regional-seo-planner{display:flex;align-items:end;justify-content:space-between;gap:42px;margin:10px 0 clamp(58px,8vw,96px);padding:clamp(32px,5vw,52px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface-soft),#fff)}.regional-seo-planner>div{max-width:820px}.regional-seo-planner p{max-width:720px;margin:16px 0 0;color:var(--text-muted);line-height:1.7}.regional-seo-planner>.btn{flex:none}.regional-provider-callout{margin-top:0}
@media(max-width:1050px){.regional-seo-hero{grid-template-columns:1fr}.regional-seo-summary{max-width:560px}.regional-seo-intro{grid-template-columns:1fr;gap:24px}.regional-seo-heading{grid-template-columns:1fr;gap:16px}}
@media(max-width:760px){.regional-breadcrumb-back{padding-top:18px}.regional-seo-hero{padding:34px 0 32px}.regional-seo-hero h1{font-size:clamp(2.85rem,13.5vw,4.4rem)}.regional-seo-summary{min-height:205px}.regional-seo-intro{padding-inline:20px}.regional-seo-guide{padding-inline:20px}.regional-seo-guide-grid{grid-template-columns:1fr}.regional-seo-heading{align-items:start}.regional-seo-planner{align-items:flex-start;flex-direction:column}.regional-seo-planner>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){.regional-seo-page .provider-card{transition:none}}


/* Sprint 23.38.10 — Ratgeber overview and category archives */
.advice-overview,.advice-category-page{display:grid;gap:0}.advice-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.43fr);gap:clamp(42px,7vw,96px);align-items:end;padding:clamp(46px,7vw,88px) 0 58px}.advice-hero-copy{max-width:880px}.advice-hero h1,.advice-category-hero h1{margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.3rem,6vw,5.8rem);font-weight:400;line-height:.96;letter-spacing:-.052em;text-wrap:balance}.advice-hero .lead,.advice-category-hero .lead{max-width:760px;font-size:clamp(1.04rem,1.3vw,1.18rem);line-height:1.72}.advice-hero-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.advice-hero-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.68);color:var(--text-muted);font-size:.75rem;font-weight:750}
.advice-hero-note{min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;border-radius:var(--radius-xl);background:var(--brand-900);color:#fff;box-shadow:var(--shadow-md)}.advice-hero-note>span{color:#e6b9aa;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.advice-hero-note strong{margin:14px 0 10px;font-family:var(--font-display);font-size:1.75rem;font-weight:400;line-height:1.12}.advice-hero-note p{margin:0 0 20px;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.65}.advice-hero-note a{color:#fff;font-weight:850;text-decoration:none}
.advice-topics{margin:0 calc(50% - 50vw);padding:clamp(54px,7vw,86px) max(24px,calc((100vw - var(--content-max))/2));background:var(--surface-soft)}.advice-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.46fr);gap:clamp(26px,6vw,78px);align-items:end;margin-bottom:30px}.advice-section-heading h2,.advice-planner-callout h2,.advice-category-back h2{margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.75rem);font-weight:400;line-height:1.03;letter-spacing:-.038em;text-wrap:balance}.advice-section-heading>p{margin:0;color:var(--text-muted);line-height:1.65}
.advice-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.advice-topic-grid a{position:relative;min-height:178px;display:grid;grid-template-columns:1fr auto;align-content:space-between;padding:23px;border:1px solid var(--border-soft);border-radius:18px;background:#fff;color:var(--brand-900);text-decoration:none;box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.advice-topic-grid a:hover{transform:translateY(-3px);border-color:#c9bdb0;box-shadow:var(--shadow-md)}.advice-topic-grid a>span{grid-column:1;color:var(--accent-600);font-size:.7rem;font-weight:850;letter-spacing:.08em}.advice-topic-grid a>strong{grid-column:1;align-self:end;margin-top:30px;font-family:var(--font-display);font-size:1.55rem;font-weight:400;line-height:1.08}.advice-topic-grid a>small{grid-column:1;margin-top:7px;color:var(--text-muted);font-size:.76rem}.advice-topic-grid a>i{grid-column:2;grid-row:1/4;align-self:end;font-style:normal;font-size:1.1rem}
.advice-latest,.advice-category-results{padding:clamp(64px,8vw,104px) 0}.advice-featured{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);min-height:450px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.advice-featured-image{min-height:420px;display:block;overflow:hidden;background:#e8e2d8}.advice-featured-image img{width:100%;height:100%;object-fit:cover}.advice-featured-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#dfe7e0,#f1e9e0);color:var(--brand-700);font-size:.76rem;font-weight:850;letter-spacing:.12em}.advice-featured-body{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,58px)}.advice-featured-body h3{margin:16px 0 14px;font-family:var(--font-display);font-size:clamp(2rem,3.4vw,3.3rem);font-weight:400;line-height:1.04;letter-spacing:-.035em}.advice-featured-body h3 a{color:var(--brand-900);text-decoration:none}.advice-featured-body p{margin:0 0 24px;color:var(--text-muted);line-height:1.7}.advice-read-link{margin-top:auto;color:var(--brand-900);font-weight:850;text-decoration:none}
.advice-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:20px}.advice-card{min-height:100%;padding:0;overflow:hidden;border-color:var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base)}.advice-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.advice-card .article-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#ece7df}.advice-card .article-card-image img{width:100%;height:100%;object-fit:cover}.advice-card .article-card-body{display:flex;flex:1;flex-direction:column;padding:23px}.advice-card h3{margin:13px 0 10px;font-size:1.65rem}.advice-card p{margin:0 0 22px}.advice-card .article-card-body>a{margin-top:auto;font-weight:850;text-decoration:none}
.advice-planner-callout{display:flex;align-items:end;justify-content:space-between;gap:44px;margin:8px 0 clamp(68px,9vw,110px);padding:clamp(34px,5vw,54px);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface-soft),#fff);border:1px solid var(--border-soft)}.advice-planner-callout>div{max-width:820px}.advice-planner-callout p{max-width:720px;margin:16px 0 0;color:var(--text-muted);line-height:1.7}.advice-planner-callout>.btn{flex:none}
.advice-breadcrumb{padding-top:24px}.advice-breadcrumb a{color:var(--text-muted);font-size:.82rem;font-weight:800;text-decoration:none}.advice-category-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:42px;align-items:end;padding:clamp(38px,6vw,72px) 0 38px}.advice-category-hero>div{max-width:900px}.advice-category-hero aside{min-width:180px;padding:22px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.advice-category-hero aside strong{display:block;color:var(--brand-900);font-family:var(--font-display);font-size:3.4rem;font-weight:400;line-height:1}.advice-category-hero aside span{display:block;margin-top:6px;color:var(--text-muted);font-size:.8rem}.advice-category-nav{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 22px;border-bottom:1px solid var(--border-soft)}.advice-category-nav a{display:inline-flex;gap:7px;align-items:center;padding:9px 13px;border:1px solid var(--border-soft);border-radius:999px;background:#fff;color:var(--brand-900);font-size:.82rem;font-weight:750;text-decoration:none}.advice-category-nav a.active{background:var(--brand-900);border-color:var(--brand-900);color:#fff}.advice-category-nav span{font-size:.7rem;opacity:.65}
.advice-category-results .advice-article-grid{margin-top:0}.advice-category-back{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:clamp(64px,8vw,100px);padding:clamp(30px,5vw,50px);border-radius:var(--radius-xl);background:var(--surface-soft)}.advice-category-back>div{max-width:760px}.advice-category-back>.btn{flex:none}.advice-empty{padding:64px 0 80px}
@media(max-width:1050px){.advice-hero{grid-template-columns:1fr}.advice-hero-note{max-width:600px}.advice-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.advice-section-heading{grid-template-columns:1fr;gap:16px}.advice-featured{grid-template-columns:1fr}.advice-featured-image{min-height:360px}.advice-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.advice-hero{padding:34px 0 40px}.advice-hero h1,.advice-category-hero h1{font-size:clamp(2.9rem,13.5vw,4.5rem)}.advice-hero-note{min-height:245px}.advice-topics{padding-inline:20px}.advice-topic-grid{grid-template-columns:1fr}.advice-featured-image{min-height:260px}.advice-article-grid{grid-template-columns:1fr}.advice-planner-callout,.advice-category-back{align-items:flex-start;flex-direction:column}.advice-planner-callout>.btn,.advice-category-back>.btn{width:100%}.advice-category-hero{grid-template-columns:1fr}.advice-category-hero aside{max-width:220px}.advice-breadcrumb{padding-top:18px}}
@media(prefers-reduced-motion:reduce){.advice-topic-grid a,.advice-card{transition:none}}


/* Sprint 23.38.11 — editorial article template */
.article-editorial{max-width:none;margin:0 auto clamp(72px,9vw,112px)}.article-editorial-breadcrumbs{justify-content:flex-start;max-width:1120px;margin:24px auto 0;padding:0 10px;color:var(--text-muted);font-size:.78rem}.article-editorial-breadcrumbs a{color:var(--text-muted);text-decoration:none}.article-editorial-header{max-width:1000px;margin:clamp(42px,6vw,76px) auto 46px;text-align:center}.article-editorial-header>.eyebrow{color:var(--accent-600)}.article-editorial-header h1{max-width:980px;margin:.22em auto .3em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.1rem,6.4vw,6rem);font-weight:400;line-height:.94;letter-spacing:-.055em;text-wrap:balance}.article-editorial-header .article-deck{max-width:780px;color:var(--text-muted);font-size:clamp(1.08rem,1.45vw,1.24rem);line-height:1.72}.article-editorial-header .article-byline{gap:10px 20px;flex-wrap:wrap;margin-top:24px}.article-editorial-header .article-byline span{position:relative}.article-editorial-header .article-byline span+span:before{content:"·";position:absolute;left:-12px;color:#aaa29a}.article-editorial-header .share-actions{justify-content:center;margin-top:22px}
.article-editorial-cover{max-width:1120px;margin:0 auto clamp(52px,7vw,84px)}.article-editorial-cover img{display:block;width:100%;max-height:680px;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.article-editorial-layout{display:grid;grid-template-columns:220px minmax(0,760px) 220px;justify-content:center;gap:clamp(26px,4vw,58px);align-items:start}.article-reading-rail{grid-column:1}.article-reading-card{position:sticky;top:110px;padding:20px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.article-reading-card>span{display:block;color:var(--accent-600);font-size:.67rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.article-reading-card>strong{display:block;margin:12px 0 9px;color:var(--brand-900);font-family:var(--font-display);font-size:1.25rem;font-weight:400;line-height:1.18}.article-reading-card p{margin:0 0 16px;color:var(--text-muted);font-size:.78rem;line-height:1.55}.article-reading-card a{color:var(--brand-900);font-size:.76rem;font-weight:850;text-decoration:none}
.article-editorial-body{grid-column:2;max-width:760px;margin:0;color:var(--text-strong);font-size:clamp(1.02rem,1.2vw,1.09rem);line-height:1.86}.article-editorial-body>p:first-child{font-size:1.12em;line-height:1.78}.article-editorial-body h1,.article-editorial-body h2,.article-editorial-body h3{scroll-margin-top:120px;color:var(--brand-900);font-family:var(--font-display);font-weight:400;letter-spacing:-.025em}.article-editorial-body h1{font-size:clamp(2.25rem,4vw,3.25rem)}.article-editorial-body h2{margin-top:2.05em;font-size:clamp(2rem,3.5vw,2.75rem);line-height:1.08}.article-editorial-body h3{margin-top:1.8em;font-size:clamp(1.5rem,2.5vw,1.9rem);line-height:1.15}.article-editorial-body p{margin:1.15em 0}.article-editorial-body a{font-weight:750;text-underline-offset:3px}.article-editorial-body strong{color:var(--brand-900)}.article-editorial-body ul,.article-editorial-body ol{margin:1.3em 0;padding-left:1.35rem}.article-editorial-body li{margin:.68em 0;padding-left:.25rem}.article-editorial-body blockquote{margin:2.1em 0;padding:24px 26px;border:0;border-left:3px solid var(--accent-500);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-soft);color:var(--brand-900);font-family:var(--font-display);font-size:1.25rem;line-height:1.55}.article-editorial-body hr{margin:3em 0;border:0;border-top:1px solid var(--border-soft)}.article-editorial-body img{max-width:100%;height:auto;border-radius:var(--radius-lg)}.article-editorial-body code{padding:.12em .35em;border-radius:5px;background:var(--surface-soft);font-size:.9em}.article-editorial-body pre{overflow:auto;padding:18px;border-radius:var(--radius-md);background:var(--brand-900);color:#fff}.article-editorial-body pre code{padding:0;background:transparent;color:inherit}
.article-editorial-cta{max-width:960px;margin:clamp(64px,8vw,96px) auto 0;padding:clamp(32px,5vw,52px);border-radius:var(--radius-xl);background:var(--brand-900);box-shadow:var(--shadow-md)}.article-editorial-cta>div{max-width:660px}.article-editorial-cta h2{margin:.2em 0 .28em;color:#fff;font-family:var(--font-display);font-size:clamp(2rem,4vw,3.3rem);font-weight:400;line-height:1.05}.article-editorial-cta p{margin:0;color:rgba(255,255,255,.7);line-height:1.65}.article-editorial-cta .eyebrow{color:#e6b9aa}
.article-editorial-footer{max-width:960px;display:flex;align-items:end;justify-content:space-between;gap:38px;margin:24px auto 0;padding:clamp(30px,5vw,46px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--surface-soft)}.article-editorial-footer>div{max-width:660px}.article-editorial-footer h2{margin:.18em 0 .25em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2rem,3.5vw,2.9rem);font-weight:400;line-height:1.08}.article-editorial-footer p{margin:0;color:var(--text-muted);line-height:1.65}.article-editorial-footer>.btn{flex:none}
@media(max-width:1100px){.article-editorial-layout{grid-template-columns:minmax(0,760px);padding:0 18px}.article-reading-rail{grid-column:1;grid-row:1}.article-reading-card{position:static;display:grid;grid-template-columns:1fr auto;gap:7px 24px;align-items:end}.article-reading-card>span,.article-reading-card>strong,.article-reading-card>p{grid-column:1}.article-reading-card a{grid-column:2;grid-row:1/4;align-self:end}.article-editorial-body{grid-column:1}.article-editorial-cover{margin-inline:18px}}
@media(max-width:760px){.article-editorial-breadcrumbs{padding:0}.article-editorial-header{margin-top:34px;text-align:left}.article-editorial-header h1{font-size:clamp(2.8rem,13vw,4.5rem)}.article-editorial-header .article-deck{margin-left:0}.article-editorial-header .article-byline,.article-editorial-header .share-actions{justify-content:flex-start}.article-editorial-header .article-byline span+span:before{display:none}.article-editorial-header .article-byline{display:grid;gap:5px}.article-editorial-cover{margin-inline:0}.article-editorial-cover img{border-radius:var(--radius-lg);aspect-ratio:4/3}.article-editorial-layout{padding:0}.article-reading-card{display:block}.article-reading-card a{display:inline-block;margin-top:2px}.article-editorial-body blockquote{padding:20px}.article-editorial-cta,.article-editorial-footer{align-items:flex-start;flex-direction:column}.article-editorial-cta .btn,.article-editorial-footer .btn{width:100%}}


/* Sprint 23.38.12 — public pricing page */
.pricing-page{display:grid;gap:0}.pricing-sandbox-notice{margin:24px 0 0}.pricing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.55fr);gap:clamp(42px,7vw,96px);align-items:center;padding:clamp(48px,8vw,96px) 0}.pricing-hero-copy{max-width:850px}.pricing-hero h1{margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.4rem,6.5vw,6.2rem);font-weight:400;line-height:.94;letter-spacing:-.055em;text-wrap:balance}.pricing-hero .lead{max-width:760px;font-size:clamp(1.05rem,1.35vw,1.2rem);line-height:1.72}.pricing-trust-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.pricing-trust-row span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.7);color:var(--text-muted);font-size:.75rem;font-weight:750}
.pricing-hero-card{padding:clamp(28px,4vw,42px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-md)}.pricing-plan-label{color:var(--accent-600);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.pricing-price{display:flex;align-items:end;gap:12px;margin:24px 0 8px}.pricing-price strong{color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.2rem,5vw,4.8rem);font-weight:400;line-height:.9;letter-spacing:-.045em}.pricing-price span{padding-bottom:7px;color:var(--text-muted);font-size:.82rem;font-weight:750}.pricing-price-note{margin:0;color:var(--text-muted);font-size:.86rem;line-height:1.55}.pricing-unpublished{display:grid;gap:8px;margin:28px 0}.pricing-unpublished strong{color:var(--brand-900);font-family:var(--font-display);font-size:2rem;font-weight:400;line-height:1.1}.pricing-unpublished span{color:var(--text-muted);line-height:1.6}.pricing-card-actions{display:grid;gap:14px;margin-top:28px}.pricing-card-actions .btn{width:100%}.pricing-login-link{text-align:center;color:var(--brand-900);font-size:.82rem;font-weight:800;text-decoration:none}.pricing-hero-card>small{display:block;margin-top:18px;padding-top:18px;border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:.72rem;text-align:center}
.pricing-included{margin:0 calc(50% - 50vw);padding:clamp(62px,8vw,102px) max(24px,calc((100vw - var(--content-max))/2));background:var(--surface-soft)}.pricing-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,.45fr);gap:clamp(28px,6vw,80px);align-items:end;margin-bottom:32px}.pricing-section-heading h2,.pricing-value h2,.pricing-product-facts h2,.pricing-final-cta h2{margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.3rem,4.2vw,3.9rem);font-weight:400;line-height:1.03;letter-spacing:-.04em;text-wrap:balance}.pricing-section-heading>p{margin:0;color:var(--text-muted);line-height:1.68}.pricing-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pricing-feature-card{min-height:245px;padding:23px;border:1px solid var(--border-soft);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.pricing-feature-card>span,.pricing-clarity-grid article>span{color:var(--accent-600);font-size:.7rem;font-weight:850;letter-spacing:.08em}.pricing-feature-card h3,.pricing-clarity-grid h3{margin:38px 0 10px;color:var(--brand-900);font-family:var(--font-display);font-size:1.55rem;font-weight:400;line-height:1.1}.pricing-feature-card p,.pricing-clarity-grid p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.65}
.pricing-value{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:clamp(48px,8vw,110px);align-items:center;padding:clamp(72px,9vw,118px) 0}.pricing-value-copy{max-width:720px}.pricing-value-copy p{margin:18px 0 22px;color:var(--text-muted);line-height:1.72}.pricing-value-copy>a{color:var(--brand-900);font-weight:850;text-decoration:none}.pricing-value-steps{display:grid;border-top:1px solid var(--border-soft)}.pricing-value-steps>div{display:grid;grid-template-columns:42px 1fr;gap:4px 14px;padding:20px 0;border-bottom:1px solid var(--border-soft)}.pricing-value-steps span{grid-row:1/3;color:var(--accent-600);font-size:.7rem;font-weight:850}.pricing-value-steps strong{color:var(--brand-900);font-family:var(--font-display);font-size:1.35rem;font-weight:400}.pricing-value-steps small{color:var(--text-muted);line-height:1.5}
.pricing-clarity{padding:0 0 clamp(70px,9vw,110px)}.pricing-clarity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pricing-clarity-grid article{padding:28px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff}.pricing-clarity-grid h3{margin:28px 0 10px}.pricing-clarity-grid a{display:inline-block;margin-top:16px;color:var(--brand-900);font-size:.82rem;font-weight:850;text-decoration:none}
.pricing-product-facts{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:clamp(40px,8vw,110px);margin-bottom:clamp(70px,9vw,110px);padding:clamp(34px,5vw,52px);border-radius:var(--radius-xl);background:var(--brand-900);color:#fff}.pricing-product-facts h2{color:#fff}.pricing-product-facts p{margin:16px 0 0;color:rgba(255,255,255,.68);line-height:1.65}.pricing-product-facts .eyebrow{color:#e6b9aa}.pricing-product-facts ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.pricing-product-facts li{position:relative;padding:14px 0 14px 28px;border-bottom:1px solid rgba(255,255,255,.14);line-height:1.55}.pricing-product-facts li:first-child{border-top:1px solid rgba(255,255,255,.14)}.pricing-product-facts li:before{content:"✓";position:absolute;left:0;color:#e6b9aa;font-weight:850}
.pricing-final-cta{display:flex;align-items:end;justify-content:space-between;gap:44px;margin-bottom:clamp(72px,9vw,110px);padding:clamp(36px,5vw,58px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface-soft),#fff)}.pricing-final-cta>div:first-child{max-width:760px}.pricing-final-cta p{max-width:700px;margin:16px 0 0;color:var(--text-muted);line-height:1.68}.pricing-final-actions{display:flex;flex:none;gap:10px}
@media(max-width:1050px){.pricing-hero{grid-template-columns:1fr}.pricing-hero-card{max-width:560px}.pricing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-section-heading,.pricing-value,.pricing-product-facts{grid-template-columns:1fr}.pricing-product-facts{gap:26px}.pricing-final-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.pricing-hero{padding:38px 0 54px}.pricing-hero h1{font-size:clamp(3rem,14vw,4.7rem)}.pricing-included{padding-inline:20px}.pricing-feature-grid,.pricing-clarity-grid{grid-template-columns:1fr}.pricing-feature-card{min-height:210px}.pricing-value{padding:64px 0}.pricing-price{align-items:flex-start;flex-direction:column}.pricing-price span{padding-bottom:0}.pricing-final-actions{width:100%;flex-direction:column}.pricing-final-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.pricing-page *{scroll-behavior:auto}}


/* Sprint 23.38.12.1 — keep desktop Wedding OS price and currency on one line */
@media(min-width:761px){
  .pricing-price{align-items:flex-end;flex-direction:row;flex-wrap:nowrap}
  .pricing-price strong{white-space:nowrap;font-size:clamp(2.8rem,4vw,4.25rem)}
  .pricing-price span{flex:none}
}


/* Sprint 23.38.13 — provider acquisition landing page */
.provider-acquisition-page{display:grid;gap:0}.provider-acquisition-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.58fr);gap:clamp(48px,8vw,110px);align-items:center;padding:clamp(52px,8vw,102px) 0}.provider-acquisition-copy{max-width:820px}.provider-acquisition-copy h1{margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.3rem,6.2vw,5.9rem);font-weight:400;line-height:.95;letter-spacing:-.052em;text-wrap:balance}.provider-acquisition-copy .lead{max-width:760px;font-size:clamp(1.04rem,1.35vw,1.2rem);line-height:1.72}.provider-acquisition-copy .provider-entry-actions{margin-top:28px}.provider-acquisition-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.provider-acquisition-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.7);color:var(--text-muted);font-size:.74rem;font-weight:750}
.provider-acquisition-preview{padding:18px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-md)}.provider-preview-browser{overflow:hidden;border:1px solid var(--border-soft);border-radius:18px;background:var(--surface-page)}.provider-preview-top{display:flex;align-items:center;gap:6px;padding:12px 14px;border-bottom:1px solid var(--border-soft);background:#fff}.provider-preview-top i{width:7px;height:7px;border-radius:50%;background:#d7d1c8}.provider-preview-top span{margin-left:8px;color:var(--text-muted);font-size:.62rem;font-weight:750}.provider-preview-cover{min-height:235px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;background:linear-gradient(145deg,#dce5de,#eee3d8)}.provider-preview-cover span{color:var(--accent-600);font-size:.64rem;font-weight:850;letter-spacing:.09em}.provider-preview-cover strong{margin-top:8px;color:var(--brand-900);font-family:var(--font-display);font-size:2rem;font-weight:400}.provider-preview-cover small{margin-top:5px;color:var(--text-muted)}.provider-preview-body{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-soft)}.provider-preview-body>div{display:grid;gap:5px;padding:18px;background:#fff}.provider-preview-body b{color:var(--brand-900);font-size:.78rem}.provider-preview-body span{color:var(--text-muted);font-size:.7rem}.provider-acquisition-preview>p{margin:14px 5px 2px;color:var(--text-muted);font-size:.68rem;line-height:1.5}
.provider-acquisition-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:0 calc(50% - 50vw);padding:0 max(24px,calc((100vw - var(--content-max))/2));border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);background:#fff}.provider-acquisition-strip>div{display:grid;gap:4px;padding:25px 22px;border-right:1px solid var(--border-soft)}.provider-acquisition-strip>div:first-child{border-left:1px solid var(--border-soft)}.provider-acquisition-strip strong{color:var(--brand-900);font-family:var(--font-display);font-size:1.3rem;font-weight:400}.provider-acquisition-strip span{color:var(--text-muted);font-size:.74rem}
.provider-acquisition-page .provider-entry-section{padding:clamp(70px,9vw,112px) 0}.provider-acquisition-page .provider-entry-heading{max-width:850px;margin-bottom:34px}.provider-acquisition-page .provider-entry-heading h2,.provider-acquisition-choice h2,.provider-acquisition-final h2{margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.3rem,4.3vw,4rem);font-weight:400;line-height:1.03;letter-spacing:-.04em;text-wrap:balance}.provider-acquisition-page .provider-entry-heading>p{max-width:720px;color:var(--text-muted);line-height:1.7}
.provider-acquisition-benefits{margin:0 calc(50% - 50vw);padding-inline:max(24px,calc((100vw - var(--content-max))/2))!important;background:var(--surface-soft)}.provider-acquisition-benefits .provider-entry-benefit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.provider-acquisition-benefits .provider-entry-benefit-grid article{min-height:245px;padding:24px;border:1px solid var(--border-soft);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.provider-acquisition-benefits .provider-entry-benefit-grid article>span{color:var(--accent-600);font-size:.68rem;font-weight:850;letter-spacing:.07em}.provider-acquisition-benefits h3{margin:40px 0 10px;font-family:var(--font-display);font-size:1.55rem;font-weight:400}.provider-acquisition-benefits p{color:var(--text-muted);font-size:.87rem;line-height:1.65}
.provider-acquisition-process .provider-entry-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft)}.provider-acquisition-process .provider-entry-steps li{display:block;padding:25px;border-right:1px solid var(--border-soft)}.provider-acquisition-process .provider-entry-steps li:first-child{border-left:1px solid var(--border-soft)}.provider-acquisition-process .provider-entry-steps li>span{display:block;margin-bottom:38px;color:var(--accent-600);font-size:.7rem;font-weight:850}.provider-acquisition-process h3{font-family:var(--font-display);font-size:1.35rem;font-weight:400}.provider-acquisition-process p{color:var(--text-muted);font-size:.83rem;line-height:1.6}
.provider-acquisition-choice{margin:0 calc(50% - 50vw);padding:clamp(70px,9vw,110px) max(24px,calc((100vw - var(--content-max))/2));background:var(--brand-900);color:#fff}.provider-acquisition-choice .provider-entry-heading h2{color:#fff}.provider-acquisition-choice .provider-entry-heading>p{color:rgba(255,255,255,.68)}.provider-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.provider-choice-grid article{padding:clamp(26px,4vw,40px);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-xl);background:rgba(255,255,255,.06)}.provider-choice-grid article>span{color:#e6b9aa;font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.provider-choice-grid h3{max-width:480px;margin:24px 0 12px;color:#fff;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.08}.provider-choice-grid p{max-width:550px;margin:0 0 28px;color:rgba(255,255,255,.7);line-height:1.65}
.provider-acquisition-faq{padding-bottom:clamp(70px,9vw,110px)}.provider-acquisition-faq .provider-entry-faq-list{max-width:900px}.provider-acquisition-final{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(70px,9vw,110px);padding:clamp(34px,5vw,54px);border-radius:var(--radius-xl);background:linear-gradient(145deg,var(--surface-soft),#fff);border:1px solid var(--border-soft)}.provider-acquisition-final>div:first-child{max-width:720px}.provider-acquisition-final p{margin:12px 0 0;color:var(--text-muted);line-height:1.65}.provider-acquisition-final .provider-entry-actions{flex:none}
@media(max-width:1050px){.provider-acquisition-hero{grid-template-columns:1fr}.provider-acquisition-preview{max-width:600px}.provider-acquisition-strip{grid-template-columns:repeat(2,1fr)}.provider-acquisition-benefits .provider-entry-benefit-grid,.provider-acquisition-process .provider-entry-steps{grid-template-columns:repeat(2,1fr)}.provider-acquisition-final{align-items:flex-start;flex-direction:column}}
@media(max-width:760px){.provider-acquisition-hero{padding:38px 0 56px}.provider-acquisition-copy h1{font-size:clamp(2.9rem,13.5vw,4.5rem)}.provider-acquisition-copy .provider-entry-actions{display:grid}.provider-acquisition-strip{grid-template-columns:1fr}.provider-acquisition-strip>div,.provider-acquisition-strip>div:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--border-soft)}.provider-acquisition-benefits{padding-inline:20px!important}.provider-acquisition-benefits .provider-entry-benefit-grid,.provider-acquisition-process .provider-entry-steps,.provider-choice-grid{grid-template-columns:1fr}.provider-acquisition-process .provider-entry-steps li,.provider-acquisition-process .provider-entry-steps li:first-child{border-left:0;border-right:0;border-bottom:1px solid var(--border-soft)}.provider-acquisition-choice{padding-inline:20px}.provider-acquisition-final .provider-entry-actions{width:100%;display:grid}.provider-acquisition-final .btn{width:100%}}


/* Sprint 23.39.2.2 — locally delivered P0 frontend image world */
.frontend-picture{display:block;overflow:hidden;background:var(--surface-soft)}
.frontend-picture img{display:block;width:100%;height:100%;object-fit:cover}

.home-product-shell{min-height:650px;padding:0 0 66px 18px}
.home-product-shell::before{inset:8% -3% -3% 8%}
.home-hero-picture{position:absolute;inset:0 12% 16% 0;border:1px solid rgba(36,60,53,.12);border-radius:34px;box-shadow:var(--shadow-sm)}
.home-hero-picture img{object-position:center}
.home-product-window{position:absolute;right:0;bottom:0;width:min(90%,620px)}
.home-product-shell .home-product-layout{min-height:360px}
.home-discovery-card{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(36,60,53,.2);background:var(--brand-900)}
.home-discovery-card:first-child,.home-discovery-card:last-child{background:var(--brand-900)}
.home-discovery-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(21,43,37,.03) 22%,rgba(21,43,37,.9) 100%)}
.home-discovery-picture{position:absolute;inset:0;z-index:-2}
.home-discovery-card>span{color:#f0c1b0;text-shadow:0 1px 16px rgba(0,0,0,.28)}
.home-discovery-card>strong,.home-discovery-card>small{color:#fff;text-shadow:0 1px 20px rgba(0,0,0,.38)}
.home-discovery-card:focus-visible{outline:3px solid var(--accent-500);outline-offset:4px}

.directory-hero-visual{position:relative;min-height:520px;display:flex;align-items:flex-end;padding:22px}
.directory-hero-picture{position:absolute;inset:0;border:1px solid rgba(36,60,53,.14);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}
.directory-hero-visual .location-directory-summary,.directory-hero-visual .service-directory-summary{position:relative;width:100%;min-height:0;padding:22px;border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.93);box-shadow:0 18px 44px rgba(21,43,37,.18);backdrop-filter:blur(9px)}
.directory-hero-visual .location-directory-summary strong,.directory-hero-visual .service-directory-summary strong{font-size:3.25rem}
.directory-hero-visual .location-directory-summary i,.directory-hero-visual .service-directory-summary i{margin:14px 0}

.provider-acquisition-visual{position:relative;min-height:650px}
.provider-acquisition-picture{position:absolute;inset:0 13% 22% 0;border:1px solid rgba(36,60,53,.14);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}
.provider-acquisition-preview{position:absolute;right:0;bottom:0;z-index:1;width:min(88%,520px)}
.provider-acquisition-visual .provider-preview-cover{min-height:185px}

@media(max-width:1050px){
  .home-product-shell{min-height:630px}
  .directory-hero-visual{width:100%;max-width:760px;min-height:500px}
  .provider-acquisition-visual{width:100%;max-width:720px;min-height:620px}
}
@media(max-width:760px){
  .home-product-shell{min-height:560px;padding:0 0 30px}
  .home-product-shell::before{inset:7% -4% -2% 6%}
  .home-hero-picture{inset:0 5% 28% 0;border-radius:22px}
  .home-product-window{width:95%}
  .home-product-shell .home-product-layout{min-height:350px}
  .home-discovery-card{min-height:330px}
  .directory-hero-visual{min-height:460px;padding:14px}
  .directory-hero-picture{border-radius:20px}
  .directory-hero-visual .location-directory-summary,.directory-hero-visual .service-directory-summary{padding:18px;border-radius:16px}
  .directory-hero-visual .location-directory-summary strong,.directory-hero-visual .service-directory-summary strong{font-size:2.8rem}
  .provider-acquisition-visual{min-height:580px}
  .provider-acquisition-picture{inset:0 5% 29% 0;border-radius:20px}
  .provider-acquisition-preview{width:95%;padding:12px}
  .provider-acquisition-visual .provider-preview-cover{min-height:150px;padding:18px}
}
@media(max-width:480px){
  .home-product-shell{min-height:535px}
  .home-hero-picture{inset:0 4% 41% 0}
  .home-product-shell .home-product-layout{min-height:325px}
  .home-product-priority{margin-top:12px}
  .home-product-task{padding:9px 0}
  .directory-hero-visual{min-height:430px}
  .directory-hero-visual .location-directory-summary p,.directory-hero-visual .service-directory-summary p{font-size:.8rem}
  .provider-acquisition-visual{min-height:535px}
  .provider-acquisition-picture{inset:0 4% 42% 0}
  .provider-acquisition-visual .provider-preview-cover{min-height:125px}
  .provider-acquisition-visual .provider-preview-body>div{padding:13px}
}


/* Hotfix 23.39.2.2.1 — keep editorial photos visible beside product previews */
.home-product-shell{min-height:0;display:flex;flex-direction:column;padding:0 0 18px 18px}
.home-product-shell::before{inset:7% -3% 1% 8%}
.home-hero-picture{position:relative;inset:auto;z-index:0;width:92%;aspect-ratio:4/3;flex:none}
.home-product-window{position:relative;right:auto;bottom:auto;align-self:flex-end;width:min(88%,545px);margin-top:-58px;z-index:1}

.directory-hero-visual .location-directory-summary,.directory-hero-visual .service-directory-summary{width:min(86%,340px);padding:18px;background:rgba(252,250,246,.72);border-color:rgba(255,255,255,.68);box-shadow:0 14px 34px rgba(21,43,37,.14);backdrop-filter:blur(3px) saturate(.9)}
.directory-hero-visual .location-directory-summary strong,.directory-hero-visual .service-directory-summary strong{font-size:2.85rem}
.directory-hero-visual .location-directory-summary i,.directory-hero-visual .service-directory-summary i{margin:10px 0}
.directory-hero-visual .location-directory-summary p,.directory-hero-visual .service-directory-summary p{font-size:.8rem;line-height:1.48}

.provider-acquisition-visual{min-height:0;display:flex;flex-direction:column;padding:0 0 18px 16px}
.provider-acquisition-picture{position:relative;inset:auto;z-index:0;width:92%;aspect-ratio:4/3;flex:none}
.provider-acquisition-preview{position:relative;right:auto;bottom:auto;align-self:flex-end;width:min(88%,520px);margin-top:-46px;z-index:1}

@media(max-width:760px){
  .home-product-shell{min-height:0;padding:0 0 12px}
  .home-hero-picture{inset:auto;width:94%}
  .home-product-window{width:92%;margin-top:-42px}
  .directory-hero-visual .location-directory-summary,.directory-hero-visual .service-directory-summary{width:min(88%,340px);padding:16px;background:rgba(252,250,246,.76)}
  .provider-acquisition-visual{min-height:0;padding:0 0 12px}
  .provider-acquisition-picture{inset:auto;width:94%}
  .provider-acquisition-preview{width:92%;margin-top:-38px}
}
@media(max-width:480px){
  .home-product-shell{min-height:0}
  .home-hero-picture{inset:auto;width:100%}
  .home-product-window{width:96%;margin-top:-28px}
  .provider-acquisition-visual{min-height:0}
  .provider-acquisition-picture{inset:auto;width:100%}
  .provider-acquisition-preview{width:96%;margin-top:-26px}
}


/* Hotfix 23.39.2.2.2 — compact desktop product preview with a readable photo */
.home-product-shell{min-height:570px;display:block;padding:0 0 20px 10px}
.home-product-shell::before{inset:6% -3% 1% 8%}
.home-hero-picture{position:absolute;inset:0 8% auto 0;width:auto;aspect-ratio:4/3}
.home-product-window{position:absolute;right:0;bottom:0;width:min(74%,440px);margin:0;transform:rotate(.45deg)}
.home-product-shell .home-product-layout{grid-template-columns:78px minmax(0,1fr);min-height:315px}
.home-product-shell .home-product-sidebar{padding:20px 12px}
.home-product-shell .home-product-main{padding:18px}
.home-product-shell .home-product-head{margin-bottom:14px}
.home-product-shell .home-product-head strong{font-size:1.5rem}
.home-product-shell .home-product-metrics article{padding:11px 8px}
.home-product-shell .home-product-priority{margin-top:12px;padding:12px}
.home-product-shell .home-product-task{padding:8px 0}

.directory-hero-visual .location-directory-summary,.directory-hero-visual .service-directory-summary{background:rgba(252,250,246,.58);border-color:rgba(255,255,255,.58);backdrop-filter:blur(1px) saturate(.94)}
.directory-hero-visual .location-directory-summary p,.directory-hero-visual .service-directory-summary p{color:rgba(21,43,37,.84)}

@media(max-width:1050px){
  .home-product-shell{min-height:620px}
}
@media(max-width:760px){
  .home-product-shell{min-height:0;display:flex;padding:0}
  .home-product-shell::before{inset:4% -3% -2% 5%}
  .home-hero-picture{position:relative;inset:auto;width:100%;aspect-ratio:4/3}
  .home-product-window{position:relative;right:auto;bottom:auto;align-self:flex-end;width:96%;max-width:none;margin-top:16px;transform:none}
  .home-product-shell .home-product-layout{min-height:350px}
  .directory-hero-visual .location-directory-summary,.directory-hero-visual .service-directory-summary{background:rgba(252,250,246,.64)}
}
@media(max-width:480px){
  .home-product-window{width:100%}
  .home-product-shell .home-product-layout{grid-template-columns:1fr;min-height:325px}
}


/* Hotfix 23.39.2.2.3 — cohesive product-led hero montages */
.home-product-shell{min-height:540px;display:block;padding:0;isolation:isolate}
.home-product-shell::before{display:none}
.home-hero-picture{position:absolute;inset:24px auto auto 0;width:48%;aspect-ratio:4/3;border-radius:28px;box-shadow:0 18px 44px rgba(36,60,53,.13);transform:rotate(-1.2deg)}
.home-hero-picture img{object-position:center}
.home-product-window{position:absolute;right:0;bottom:18px;width:min(78%,500px);margin:0;transform:rotate(.2deg);box-shadow:0 28px 72px rgba(36,60,53,.17)}
.home-product-shell .home-product-layout{grid-template-columns:82px minmax(0,1fr);min-height:330px}
.home-product-shell .home-product-sidebar{padding:20px 13px}
.home-product-shell .home-product-main{padding:19px}

.provider-acquisition-visual{min-height:500px;display:block;padding:0;isolation:isolate}
.provider-acquisition-picture{position:absolute;inset:18px 0 auto auto;width:58%;aspect-ratio:4/3;border-radius:24px;box-shadow:0 18px 44px rgba(36,60,53,.13);transform:rotate(1.1deg)}
.provider-acquisition-picture img{object-position:center}
.provider-acquisition-preview{position:absolute;right:auto;bottom:0;left:0;width:min(82%,500px);margin:0;z-index:1}

.service-directory-visual .service-directory-summary{background:rgba(252,250,246,.42);border-color:rgba(255,255,255,.48);box-shadow:0 12px 30px rgba(21,43,37,.11);backdrop-filter:blur(2px) saturate(.92)}

@media(max-width:1050px){
  .home-product-shell{min-height:570px}
  .home-hero-picture{width:46%}
  .home-product-window{width:min(76%,540px)}
  .provider-acquisition-visual{min-height:550px}
  .provider-acquisition-picture{width:52%}
  .provider-acquisition-preview{width:min(76%,520px)}
}
@media(max-width:760px){
  .home-product-shell{min-height:0;display:flex;flex-direction:column;gap:14px;padding:0}
  .home-hero-picture{position:relative;inset:auto;align-self:flex-start;width:78%;aspect-ratio:4/3;border-radius:20px;transform:none}
  .home-product-window{position:relative;right:auto;bottom:auto;align-self:stretch;width:100%;max-width:none;margin:0;transform:none}
  .home-product-shell .home-product-layout{min-height:350px}
  .provider-acquisition-visual{min-height:0;display:flex;flex-direction:column;gap:14px;padding:0}
  .provider-acquisition-picture{position:relative;inset:auto;align-self:flex-end;width:78%;aspect-ratio:4/3;border-radius:20px;transform:none}
  .provider-acquisition-preview{position:relative;right:auto;bottom:auto;left:auto;align-self:stretch;width:100%;max-width:none;margin:0}
  .service-directory-visual .service-directory-summary{background:rgba(252,250,246,.58);backdrop-filter:blur(3px) saturate(.92)}
}
@media(max-width:480px){
  .home-hero-picture,.provider-acquisition-picture{width:86%}
  .home-product-shell .home-product-layout{grid-template-columns:1fr;min-height:325px}
}


/* Hotfix 23.39.2.2.4 — one original device mockup and one provider photograph */
.home-product-shell{min-height:0;display:grid;place-items:center;padding:0;isolation:auto}
.home-product-shell::before{display:none}
.home-hero-picture{position:relative;inset:auto;width:100%;aspect-ratio:4/3;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;filter:none}
.home-hero-picture img{object-fit:contain;object-position:center}
.home-product-window{display:none}

.provider-acquisition-visual{min-height:0;display:block;padding:0;isolation:auto}
.provider-acquisition-picture{position:relative;inset:auto;width:100%;aspect-ratio:4/3;border:1px solid rgba(36,60,53,.14);border-radius:30px;box-shadow:var(--shadow-md);transform:none}
.provider-acquisition-picture img{object-fit:cover;object-position:center}
.provider-acquisition-preview{display:none}

@media(max-width:1050px){
  .home-product-shell,.provider-acquisition-visual{min-height:0}
  .home-hero-picture,.provider-acquisition-picture{width:100%}
  .provider-acquisition-visual{max-width:760px}
}
@media(max-width:760px){
  .home-product-shell,.provider-acquisition-visual{display:block;min-height:0;padding:0}
  .home-hero-picture,.provider-acquisition-picture{position:relative;inset:auto;width:100%;margin:0;transform:none}
  .provider-acquisition-picture{border-radius:20px}
}


/* Sprint 23.38.14 — editorial public FAQ */
.faq-editorial-page{display:grid;gap:0}.faq-editorial-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.52fr);gap:clamp(46px,8vw,108px);align-items:end;padding:clamp(48px,8vw,94px) 0 62px}.faq-editorial-copy{max-width:850px}.faq-editorial-copy h1{margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3.3rem,6.2vw,5.9rem);font-weight:400;line-height:.95;letter-spacing:-.052em;text-wrap:balance}.faq-editorial-copy .lead{max-width:760px;font-size:clamp(1.04rem,1.35vw,1.18rem);line-height:1.72}.faq-editorial-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.faq-editorial-facts span{padding:7px 10px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(255,255,255,.7);color:var(--text-muted);font-size:.74rem;font-weight:750}
.faq-editorial-aside{padding:28px;border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-sm)}.faq-editorial-aside>span{color:var(--accent-600);font-size:.68rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.faq-editorial-aside>strong{display:block;margin:13px 0 20px;color:var(--brand-900);font-family:var(--font-display);font-size:1.6rem;font-weight:400;line-height:1.12}.faq-editorial-aside nav{display:grid;border-top:1px solid var(--border-soft)}.faq-editorial-aside a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--border-soft);color:var(--brand-900);font-size:.8rem;font-weight:800;text-decoration:none}.faq-editorial-aside i{font-style:normal;color:var(--accent-600)}
.faq-editorial-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.5fr);gap:clamp(32px,7vw,88px);align-items:end;margin:0 calc(50% - 50vw);padding:clamp(50px,7vw,78px) max(24px,calc((100vw - var(--content-max))/2));background:var(--surface-soft)}.faq-editorial-intro h2,.faq-editorial-help h2{margin:.18em 0 0;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.25rem,4vw,3.7rem);font-weight:400;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}.faq-editorial-intro>p{margin:0;color:var(--text-muted);line-height:1.7}
.faq-editorial-topics{padding:clamp(42px,6vw,76px) 0}.faq-editorial-topic{grid-template-columns:minmax(180px,245px) minmax(0,1fr);gap:clamp(30px,5vw,70px);padding:42px 0;border-top:1px solid var(--border-soft)}.faq-editorial-topic:first-child{border-top:0}.faq-editorial-topic .faq-topic-heading{top:96px}.faq-editorial-topic .faq-topic-heading .eyebrow{color:var(--accent-600)}.faq-editorial-topic .faq-topic-heading h2{margin:.28em 0 8px;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(1.65rem,2.6vw,2.25rem);font-weight:400;line-height:1.08}.faq-editorial-topic .faq-topic-heading>span{color:var(--text-muted);font-size:.72rem}
.faq-editorial-page .faq-list{gap:10px}.faq-editorial-page .faq-item{border:1px solid var(--border-soft);border-radius:16px;background:#fff;box-shadow:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.faq-editorial-page .faq-item[open]{border-color:#cfc4b8;box-shadow:var(--shadow-sm)}.faq-editorial-page .faq-item summary{padding:20px 22px;color:var(--brand-900);font-size:.96rem;font-weight:780}.faq-editorial-page .faq-item summary>span{width:28px;height:28px;background:var(--surface-soft);color:var(--accent-600)}.faq-editorial-page .faq-answer{padding:0 22px 22px}.faq-editorial-page .faq-answer p{max-width:800px;color:var(--text-muted);line-height:1.76}.faq-editorial-page .faq-answer a{color:var(--brand-900);font-weight:800;text-underline-offset:2px}
.faq-editorial-help{margin:4px 0 clamp(70px,9vw,110px);padding:clamp(34px,5vw,54px);border-radius:var(--radius-xl);background:var(--brand-900);color:#fff}.faq-editorial-help .eyebrow{color:#e6b9aa}.faq-editorial-help h2{color:#fff}.faq-editorial-help p{max-width:760px;color:rgba(255,255,255,.7)}.faq-editorial-help .btn-secondary{border-color:rgba(255,255,255,.75);color:#fff}.faq-editorial-help .btn-secondary:hover{background:#fff;color:var(--brand-900)}
@media(max-width:1000px){.faq-editorial-hero,.faq-editorial-intro{grid-template-columns:1fr}.faq-editorial-aside{max-width:620px}.faq-editorial-topic{grid-template-columns:1fr;gap:18px}.faq-editorial-topic .faq-topic-heading{position:static}.faq-editorial-topic .faq-topic-heading>span{display:inline-block;margin-bottom:4px}}
@media(max-width:760px){.faq-editorial-hero{padding:36px 0 48px}.faq-editorial-copy h1{font-size:clamp(2.9rem,13.5vw,4.5rem)}.faq-editorial-intro{padding-inline:20px}.faq-editorial-topics{padding-top:28px}.faq-editorial-topic{padding:32px 0}.faq-editorial-page .faq-item summary{padding:18px 17px}.faq-editorial-page .faq-answer{padding:0 17px 19px}.faq-editorial-help{align-items:flex-start}.faq-editorial-help .actions{display:grid;width:100%}.faq-editorial-help .actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.faq-editorial-page .faq-item{transition:none}}


/* Sprint 23.38.15 — login and registration experience */
.auth-experience{display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,.72fr);gap:clamp(54px,8vw,120px);align-items:center;min-height:calc(100vh - 230px);padding:clamp(44px,7vw,86px) 0}.auth-story{max-width:700px;padding:20px 0}.auth-story h2{max-width:680px;margin:.18em 0 .28em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(3rem,5.4vw,5.1rem);font-weight:400;line-height:.96;letter-spacing:-.05em;text-wrap:balance}.auth-story>p{max-width:620px;margin:0;color:var(--text-muted);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.72}.auth-story-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:30px}.auth-story-points span{display:grid;gap:10px;padding:17px 15px;border-top:1px solid var(--border-soft);color:var(--brand-900);font-size:.76rem;font-weight:800;line-height:1.45}.auth-story-points b{color:var(--accent-600);font-size:.66rem;letter-spacing:.08em}.auth-story-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;color:var(--brand-900);font-size:.82rem;font-weight:850;text-decoration:none}.auth-story-link span{color:var(--accent-600);transition:transform var(--transition-base)}.auth-story-link:hover span{transform:translateX(3px)}
.auth-login-wrap{max-width:560px;width:100%;margin:0}.auth-register-wrap{max-width:620px;width:100%;margin:0}.auth-login-panel,.auth-register-panel{padding:clamp(30px,4.6vw,48px);border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:#fff;box-shadow:var(--shadow-md)}.auth-login-panel .page-title,.auth-register-panel .page-title{margin:.18em 0 .22em;color:var(--brand-900);font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.65rem);font-weight:400;line-height:1;letter-spacing:-.04em}.auth-panel-lead{margin:0 0 28px;color:var(--text-muted);font-size:.92rem;line-height:1.65}.auth-login-form,.auth-register-form{display:grid;gap:5px}.auth-login-panel .input,.auth-register-panel .input{min-height:50px;background:#fff;border-color:var(--border-soft)}.auth-login-panel .input:focus,.auth-register-panel .input:focus{border-color:var(--brand-700);box-shadow:0 0 0 4px var(--focus-ring)}.auth-primary-action,.auth-register-submit{width:100%;min-height:50px;margin-top:6px}.auth-register-block{margin-top:26px;padding-top:24px;border-top:1px solid var(--border-soft);text-align:center}.auth-register-block p{margin:0 0 12px;color:var(--text-muted);font-size:.86rem}.auth-secondary-action{width:100%;min-height:48px}.auth-register-hint{margin-top:18px;color:var(--text-muted);font-size:.76rem;line-height:1.55;text-align:center}.auth-register-hint a{font-weight:800}.auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:7px}.auth-label-row .label{margin:0}.auth-forgot-link{font-size:.8rem;font-weight:750;white-space:nowrap}.auth-register-login{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:24px;padding-top:22px;border-top:1px solid var(--border-soft);color:var(--text-muted);font-size:.82rem}.auth-register-login a{color:var(--brand-900);font-weight:850}.auth-provider-registration .auth-story h2{max-width:720px}.auth-provider-registration .auth-register-panel{border-top:4px solid var(--accent-500)}
@media(max-width:1050px){.auth-experience{grid-template-columns:1fr;gap:42px;min-height:0;padding-top:36px}.auth-story{max-width:760px}.auth-login-wrap,.auth-register-wrap{max-width:680px}.auth-story-points{max-width:680px}}
@media(max-width:640px){.auth-experience{gap:30px;padding:24px 0 56px}.auth-story h2{font-size:clamp(2.7rem,13vw,4rem)}.auth-story-points{grid-template-columns:1fr}.auth-story-points span{grid-template-columns:32px 1fr;align-items:center;padding:12px 0}.auth-login-wrap{max-width:100%;margin:10px auto}.auth-login-panel,.auth-register-panel{padding:28px 22px;border-radius:18px}.auth-label-row{align-items:flex-start}.auth-forgot-link{font-size:.82rem}.auth-register-panel .form-grid.two{grid-template-columns:1fr}.auth-register-login{flex-direction:column;gap:4px}}
@media(prefers-reduced-motion:reduce){.auth-story-link span{transition:none}}

/* Sprint 23.38.16 — editorial legal pages + auth SEO cleanup */
.legal-editorial-page{max-width:var(--content-max);margin:0 auto;padding:clamp(28px,5vw,72px) 0 80px}
.legal-editorial-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding:clamp(26px,4vw,48px);background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--radius-xl);margin-bottom:30px}
.legal-editorial-hero .lead{max-width:720px;margin-bottom:0}.legal-version-card{margin:0;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:12px}
.legal-version-card div{padding:14px 16px;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.legal-version-card dt{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.legal-version-card dd{margin:4px 0 0;font-weight:700}
.legal-editorial-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:start}.legal-editorial-nav{position:sticky;top:24px;padding:20px;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}
.legal-editorial-nav strong{display:block;margin-bottom:12px}.legal-editorial-nav nav{display:grid;gap:4px}.legal-editorial-nav a{padding:9px 10px;border-radius:10px;text-decoration:none;color:var(--text-muted)}.legal-editorial-nav a:hover,.legal-editorial-nav a[aria-current="page"]{background:var(--surface-soft);color:var(--text-strong)}
.legal-editorial-content{min-width:0;padding:clamp(24px,4vw,48px);background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-xl)}.legal-editorial-content .legal-body{max-width:820px}.legal-body h2,.legal-body h3{scroll-margin-top:24px}.legal-body p,.legal-body li{line-height:1.78}
.legal-action-hero{align-items:center}.legal-action-note{max-width:330px;padding:18px 20px;background:var(--surface-card);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.legal-action-note span{display:block;margin-top:6px;color:var(--text-muted);line-height:1.5}
.legal-action-layout{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:32px;align-items:start}.legal-action-copy{padding:24px}.legal-action-copy h2{margin-top:0}.legal-action-form{margin:0;padding:clamp(22px,4vw,36px)}.legal-review-card{max-width:900px;margin:0 auto;padding:clamp(22px,4vw,38px)}.legal-review-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.legal-review-actions form{margin:0}.legal-success-panel{max-width:900px;margin:0 auto 22px}
@media(max-width:900px){.legal-editorial-hero{grid-template-columns:1fr}.legal-version-card{max-width:420px}.legal-editorial-layout,.legal-action-layout{grid-template-columns:1fr}.legal-editorial-nav{position:static}.legal-editorial-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.legal-editorial-page{padding-top:20px}.legal-editorial-hero{padding:22px}.legal-version-card{grid-template-columns:1fr}.legal-editorial-nav nav{grid-template-columns:1fr}.legal-editorial-content{padding:22px}.legal-review-actions{display:grid}.legal-review-actions .btn,.legal-review-actions form,.legal-review-actions button{width:100%}}

/* Sprint 23.39.1.8 — article SEO foundation */
.article-toc{max-width:760px;margin:0 auto clamp(42px,6vw,66px);padding:24px 26px;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-soft)}
.article-toc>strong{display:block;margin-bottom:14px;color:var(--brand-900);font-family:var(--font-display);font-size:1.3rem;font-weight:400}
.article-toc ol{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding-left:1.35rem}.article-toc li{padding:9px 4px 9px 2px;border-top:1px solid var(--border-soft);color:var(--accent-600)}.article-toc li::marker{font-weight:750}.article-toc a{color:var(--brand-900);font-size:.86rem;font-weight:750;line-height:1.5;text-decoration:none}.article-toc a:hover{text-decoration:underline;text-underline-offset:3px}
.article-table-scroll{max-width:100%;overflow-x:auto;margin:2em 0;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:#fff;-webkit-overflow-scrolling:touch}.article-table-scroll:focus{outline:3px solid var(--focus-ring);outline-offset:3px}.article-table-scroll table{width:100%;min-width:680px;border-collapse:collapse}.article-table-scroll th,.article-table-scroll td{padding:15px 17px;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);vertical-align:top;text-align:left;line-height:1.55}.article-table-scroll th:last-child,.article-table-scroll td:last-child{border-right:0}.article-table-scroll tbody tr:last-child td{border-bottom:0}.article-table-scroll th{background:var(--surface-soft);color:var(--brand-900);font-size:.82rem}.article-table-scroll td{color:var(--text-strong);font-size:.9rem}
@media(max-width:760px){.article-toc{padding:21px 20px}.article-toc ol{grid-template-columns:1fr}.article-table-scroll{margin-inline:-14px;border-radius:12px}.article-table-scroll th,.article-table-scroll td{padding:13px 14px}}

/* Sprint 23.39.2.3 — privacy-safe first-party product captures */
.planner-product-preview,.homepage-device-stage{position:relative;min-height:0;padding:0}
.planner-product-preview::before,.homepage-device-stage::before{display:none}
.planner-product-picture,.homepage-product-picture{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.planner-product-picture img,.homepage-product-picture img{width:100%;height:100%;object-fit:contain;object-position:center}
@media(max-width:1050px){.planner-product-preview,.homepage-device-stage{max-width:860px;width:100%;margin:0 auto}}
@media(max-width:760px){.planner-product-preview,.homepage-device-stage{min-height:0;padding:0}.planner-product-picture,.homepage-product-picture{width:100%;margin:0}}

/* Hotfix 23.39.2.3.1 — keep the wedding-homepage headline clear of the product visual */
@media(min-width:1051px){
  .homepage-showcase-hero{grid-template-columns:minmax(0,1.08fr) minmax(460px,.92fr);gap:clamp(36px,4.5vw,64px)}
  .homepage-showcase-copy,.homepage-device-stage{min-width:0}
  .homepage-showcase-copy{max-width:760px}
  .homepage-showcase h1{max-width:760px;font-size:clamp(3.3rem,5.5vw,5.6rem)}
}

/* Hotfix 23.39.2.3.1.1 — product names never break across lines */
.term-nowrap{white-space:nowrap}
.homepage-showcase h1{font-size:clamp(1.65rem,8vw,3.8rem)}
@media(min-width:1051px){
  .homepage-showcase-hero{grid-template-columns:minmax(0,1.14fr) minmax(440px,.86fr);gap:clamp(32px,3.75vw,52px)}
  .homepage-showcase-copy{max-width:790px}
  .homepage-showcase h1{max-width:790px;font-size:clamp(2.8rem,4.2vw,3.8rem)}
}

/* Sprint 23.39.2.4 — replaceable category and advice image placeholders */
.location-category-grid a,.service-category-grid a{min-height:0;display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden}
.location-category-grid .directory-category-image,.service-category-grid .directory-category-image{display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:var(--surface-soft);font-family:inherit;font-size:inherit}
.directory-category-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}
.location-category-grid a:hover .directory-category-image img,.service-category-grid a:hover .directory-category-image img{transform:scale(1.012)}
.location-category-grid .directory-category-copy,.service-category-grid .directory-category-copy{display:grid;width:100%;padding:18px 20px 20px;gap:8px 14px;font-family:inherit;font-size:inherit}
.location-category-grid .directory-category-copy{grid-template-columns:1fr auto;grid-template-rows:auto auto}
.location-category-grid .directory-category-title{grid-column:1/-1;display:block;font-family:var(--font-display);font-size:1.45rem;line-height:1.08}
.location-category-grid .directory-category-copy small,.service-category-grid .directory-category-copy small{align-self:end;color:var(--text-muted);font-size:.75rem}
.location-category-grid .directory-category-copy b,.service-category-grid .directory-category-copy b{align-self:end;color:var(--accent-600);font-size:1.15rem}
.service-category-grid .directory-category-copy{grid-template-columns:1fr auto;grid-template-rows:auto auto auto}
.service-category-grid .directory-category-copy .service-category-index{grid-column:1/-1;font-size:.68rem}
.service-category-grid .directory-category-copy strong{grid-column:1/-1;align-self:start;font-family:var(--font-display);font-size:1.45rem;font-weight:400;line-height:1.08}
.review-placeholder-frame{aspect-ratio:16/9!important;background:#f3eee6}
.advice-featured-image.review-placeholder-frame{min-height:0}
img.review-placeholder-asset{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center;background:#f3eee6}
.article-editorial-cover.review-placeholder-frame img{aspect-ratio:16/9}
@media(max-width:760px){.location-category-grid .directory-category-copy,.service-category-grid .directory-category-copy{padding:16px 18px 18px}}
@media(prefers-reduced-motion:reduce){.directory-category-image img{transition:none}}

/* Sprint 23.39.2.5 — fail-closed responsive replacement pipeline */
.frontend-catalog-picture{display:block;width:100%;height:100%;overflow:hidden}
.frontend-catalog-picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.frontend-catalog-picture.is-placeholder img{object-fit:contain!important}

/* Sprint 23.39.6 — mobile reflow and keyboard accessibility sweep */
.skip-link{position:fixed;top:12px;left:12px;z-index:10000;display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:2px solid #fff;border-radius:10px;background:var(--brand-900,var(--green));color:#fff;font-weight:850;text-decoration:none;box-shadow:0 0 0 3px var(--brand-900,var(--green));transform:translateY(calc(-100% - 20px));transition:transform .15s ease}
.skip-link:focus,.skip-link:focus-visible{color:#fff;transform:translateY(0)}
body :where(a,button,input,select,textarea,summary,[tabindex="0"],[role="button"]):focus-visible{outline:3px solid #fff!important;outline-offset:3px;box-shadow:0 0 0 5px var(--brand-900,var(--green))!important}
#main-content{scroll-margin-top:96px}
.field-help>summary{width:24px;height:24px}
.public-mobile-menu>summary,.workspace-mobile-menu>summary,.provider-mobile-menu>summary,.admin-mobile-menu>summary,.wedding-mobile-menu>summary,.footer-group>summary{min-height:44px}
.public-mobile-menu>nav a,.workspace-mobile-menu-panel a,.provider-mobile-menu-panel a,.admin-mobile-menu-panel a,.wedding-public-nav .wedding-mobile-menu nav a{min-height:44px}
.rsvp-options label{min-height:44px}
.article-table-scroll,.guest-table-wrap,.table-wrap{overscroll-behavior-inline:contain}
@media(max-width:400px){
  .topbar,.public-topbar{padding-inline:12px}
  .main,.public-main{width:calc(100% - 24px)}
  .brand-logo{width:150px}
  .public-mobile-menu>summary{min-width:68px;padding-inline:11px}
  .footer-pre-cta,.footer-mega-inner,.footer-bottom{width:calc(100% - 24px)}
}
@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
