:root{color-scheme:light;--cream:#f7f3ed;--paper:#fffdf9;--ink:#35342f;--muted:#746e67;--accent:#815b52;--line:#e8e0d5;--shadow:0 8px 28px rgba(52,40,30,.055)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit}h1,h2,h3,.brand{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.18}h1{font-size:clamp(2.8rem,6vw,5.5rem);margin:.4em 0}h2{font-size:clamp(1.6rem,3vw,2.45rem)}h3{font-size:1.35rem}p{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.23em;color:var(--accent);font-size:.7rem;font-weight:700}.site-header{max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 5%;gap:20px}.brand{text-decoration:none;font-size:1.45rem;white-space:nowrap}.brand span{color:#a98f7c}.site-header nav{display:flex;align-items:center;flex-wrap:wrap;gap:17px}.site-header nav a,.link-button{font-size:.84rem;color:#514c47;text-decoration:none}.site-header nav a:hover,.link-button:hover{text-decoration:underline}.site-header nav form{margin:0}.link-button{border:0;background:transparent;cursor:pointer;font:inherit}main{min-height:calc(100vh - 160px)}.hero{text-align:center;min-height:540px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px;background:radial-gradient(ellipse at 30% 30%,#efe2dd 0%,transparent 45%),radial-gradient(ellipse at 76% 60%,#e9e7d9 0%,transparent 44%)}.hero h1{max-width:800px}.hero h1 em{font-weight:400;color:#986f68}.hero p:not(.eyebrow){max-width:525px;margin:0 0 28px}.button{background:var(--accent);border:1px solid var(--accent);padding:13px 23px;color:#fff;text-decoration:none;font-size:.87rem;display:inline-block;border-radius:3px;cursor:pointer}.button:hover{background:#6e4941}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.feature{max-width:1150px;margin:80px auto;padding:0 25px}.feature p{max-width:480px}.abstract-photo{min-height:330px;background:linear-gradient(145deg,#e7d1c7,#faf4ee 50%,#b9b8a3);display:grid;place-items:center}.abstract-photo span{font-size:10rem;color:#ac8277;opacity:.65}.content-page{max-width:820px;margin:100px auto;padding:0 25px;min-height:45vh}.notice{padding:18px;background:#eee7db;border-left:3px solid #a98f7c;color:#4f4942;margin-top:25px}.auth-wrap{max-width:460px;margin:75px auto;padding:0 18px}.auth-wrap h1{font-size:2.7rem}.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:24px;box-shadow:var(--shadow)}.stack{display:grid;gap:18px}.error{padding:10px;color:#842e2e;background:#fff0ec}.stack label,.entry-grid label{display:grid;gap:6px;font-size:.86rem;font-weight:600}input,select,textarea{padding:11px;border:1px solid #d6ccc1;border-radius:4px;background:white;font:inherit;color:var(--ink);width:100%;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b8a296;outline-offset:1px}input[type=checkbox]{width:auto;justify-self:start;accent-color:var(--accent)}.app-page{max-width:1200px;margin:30px auto 100px;padding:0 23px}.app-page h1{font-size:clamp(2.4rem,5vw,4rem)}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:26px 0}.stat{text-decoration:none;display:grid;gap:5px}.stat strong{font-size:2.4rem;font-family:Georgia,serif;font-weight:400;color:var(--accent)}.stat span{font-size:.85rem;color:var(--muted)}.stat:hover{border-color:#b8a296}.metrics{display:flex;gap:55px;flex-wrap:wrap}.metrics p{display:grid;gap:2px;margin:0}.metrics strong{font-size:1.4rem;color:var(--ink)}details summary{cursor:pointer;font-weight:650;font-size:1.12rem}details[open] summary{margin-bottom:25px}.entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wide{grid-column:1/-1}.records{display:grid;gap:14px;margin-top:20px}.record-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.record h2{font-size:1.35rem;margin:0}.record dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:17px 0 0}.record dl div{min-width:0}.record dt{font-size:.73rem;color:var(--muted)}.record dd{margin:0;overflow-wrap:anywhere;font-size:.88rem}.delete-button{background:none;border:none;color:#aa4a43;cursor:pointer}.delete-button:hover{text-decoration:underline}.empty{color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:23px 5%;gap:20px;color:#8b8178;font-size:.8rem}@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column}.site-header nav{gap:12px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.feature{margin:45px auto}.abstract-photo{min-height:230px}}@media(max-width:520px){.site-header{padding:15px 5%}.site-header nav{gap:10px 14px}.hero{min-height:460px}.stat-grid{gap:10px}.panel{padding:17px}.entry-grid{grid-template-columns:1fr}.wide{grid-column:auto}.metrics{gap:20px}.content-page{margin:55px auto}.app-page{padding:0 13px}.record dl{grid-template-columns:1fr 1fr}}
/* Planning workspace extensions */
.edit-record{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.edit-record summary{font-size:.87rem;color:var(--accent)}.edit-record form{margin-top:18px}.task-state{display:flex;flex-direction:column;gap:4px;max-width:260px}.task-state select{padding:7px;max-width:170px}.task-state small{font-size:.75rem;color:#9b583f;overflow-wrap:anywhere}.rsvp-guest{border:1px solid var(--line);border-radius:6px;display:flex;gap:20px;flex-wrap:wrap;padding:15px}.rsvp-guest legend{font-size:1.12rem;font-family:Georgia,serif}.rsvp-guest label{display:flex;align-items:center;gap:7px;cursor:pointer}.rsvp-guest input{width:auto}.copy-link{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.85rem;color:var(--ink)}.record-top{flex-wrap:wrap}.app-page .panel+.panel{margin-top:18px}@media(max-width:600px){.site-header nav{max-width:100%;overflow-x:auto}.task-state{width:100%;max-width:none}.record-top{align-items:flex-start}.rsvp-guest{flex-direction:column;gap:12px}}
/* Public page builder */
.builder-section{max-width:1160px;margin:0 auto;padding:66px 26px;display:grid;grid-template-columns:1fr;gap:35px;align-items:center;overflow-wrap:anywhere}.builder-section h2{font-size:clamp(2rem,5vw,4rem);margin:0 0 18px}.builder-prose{font-size:1.04rem;line-height:1.9;white-space:normal}.builder-section>img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:6px}.builder-section.align-center{text-align:center}.builder-section.align-right{text-align:right}.builder-split{grid-template-columns:1fr 1fr}.builder-split.image-left>img{grid-column:1;grid-row:1}.builder-split.image-left>.builder-copy{grid-column:2;grid-row:1}.builder-hero{max-width:none;background:linear-gradient(120deg,#f1e4df,#f6f3e9);min-height:440px;padding:75px max(6%,calc((100vw - 1160px)/2));grid-template-columns:1fr 1fr}.builder-hero:not(:has(img)){grid-template-columns:1fr}.builder-hero h2{font-size:clamp(2.5rem,6vw,5.2rem)}.builder-image .builder-copy:empty{display:none}.builder-image{max-width:960px}.builder-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.builder-tabs a{padding:8px 14px;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-size:.88rem}.builder-tabs a.active{background:var(--accent);color:white}.builder-edit{margin:18px 0}.builder-edit .entry-grid{margin-top:18px}.builder-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.builder-controls button{background:var(--cream);border:1px solid var(--line);padding:8px 12px;border-radius:4px;cursor:pointer}.builder-edit input[type=file]{max-width:100%}@media(max-width:760px){.builder-section,.builder-split,.builder-hero{grid-template-columns:1fr;min-height:0;padding:42px 20px}.builder-split.image-left>img,.builder-split.image-left>.builder-copy{grid-column:auto;grid-row:auto}.builder-split.image-left>img{order:2}.builder-section.align-right{text-align:left}.builder-hero{padding:70px 24px}}

/* Lavender garden theme — common palette for public site and private planner */
:root{
 --cream:#F8F5FC;--paper:#FFFDFF;--ink:#352A45;--muted:#695E79;
 --accent:#674A91;--line:#E4DAEF;--shadow:0 9px 28px rgba(70,49,105,.085);
 --lavender:#D8C6EE;--lilac:#EEE5F7;--plum:#4C346D;--sage:#98A78D;
}
body{background:var(--cream);color:var(--ink)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9C78C8;outline-offset:3px}
.site-header{position:relative;z-index:2}
.brand{color:var(--plum);letter-spacing:.025em}
.brand span{color:#9675BA}
.site-header nav a,.link-button{color:var(--plum)}
.site-header nav a:hover,.link-button:hover{color:#8156BA}
.eyebrow{color:#73529C}
.hero{
 position:relative;isolation:isolate;overflow:hidden;
 background:radial-gradient(ellipse at 50% 40%,#FFFDFF 0%,#F4EDFA 47%,#E8DDF5 100%);
 padding:100px 100px;min-height:620px
}
.hero::before,.hero::after,.builder-hero::before,.builder-hero::after{
 content:"";position:absolute;z-index:-1;pointer-events:none;
 width:clamp(180px,29vw,420px);height:clamp(180px,29vw,420px);
 background:url('/assets/lavender-floral.svg') center/contain no-repeat;opacity:.72;
}
.hero::before,.builder-hero::before{left:-25px;bottom:-38px}
.hero::after,.builder-hero::after{right:-25px;top:-38px;transform:rotate(180deg)}
.hero h1 em{color:#8059AF}
.hero h1{color:#443057}
.hero .eyebrow{color:#7954A6}
.button{background:var(--accent);border-color:var(--accent);border-radius:5px}
.button:hover{background:var(--plum);border-color:var(--plum)}
.abstract-photo{
 background:radial-gradient(circle at 48% 38%,#FAF6FE,#E3D4F1 61%,#C8B6DB);
 border:1px solid #E5D8F0;position:relative;overflow:hidden
}
.abstract-photo::before{content:"";position:absolute;inset:0;background:url('/assets/lavender-floral.svg') center/auto 95% no-repeat;opacity:.8}
.abstract-photo span{display:none}
.panel{border-color:var(--line)}
input,select,textarea{border-color:#D4C5E2}
input:focus,select:focus,textarea:focus{outline-color:#A68BC8}
input[type=checkbox]{accent-color:var(--accent)}
.notice{background:#EEE5F7;border-left-color:#8C70B0;color:#4E3966}
.stat strong{color:var(--accent)}
.builder-hero{
 position:relative;isolation:isolate;overflow:hidden;
 background:linear-gradient(115deg,#F4EAFB,#EEE3F7 60%,#E3D6F1)
}
.builder-hero::before{left:-40px;bottom:-55px;opacity:.5}
.builder-hero::after{right:-40px;top:-55px;opacity:.5}
.builder-tabs a.active{background:var(--accent)}
.builder-controls button{color:var(--plum)}
footer{border-top-color:#DED2E9}
@media(max-width:760px){
 .hero{padding:75px 28px;min-height:520px}
 .hero::before,.hero::after{opacity:.30;width:225px;height:225px}
 .hero::before{left:-110px;bottom:-65px}
 .hero::after{right:-110px;top:-65px}
 .builder-hero::before,.builder-hero::after{opacity:.22}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Private dashboard: fixed desktop sidebar and mobile navigation drawer */
.admin-body{background:#F8F5FC}
.admin-layout{display:flex;min-height:100vh;align-items:stretch}
.admin-sidebar{width:258px;flex:0 0 258px;position:sticky;top:0;height:100vh;overflow-y:auto;background:#FFFDFE;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:40;scrollbar-width:thin}
.sidebar-header{min-height:87px;padding:26px 22px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.sidebar-brand{text-decoration:none;font:normal 1.42rem Georgia,"Times New Roman",serif;color:var(--plum);white-space:nowrap}
.sidebar-brand span{color:#A686BF}
.sidebar-nav{display:flex;flex-direction:column;gap:5px;padding:18px 12px 22px;flex:1}
.sidebar-link,.sidebar-group>summary{font-size:.89rem;display:flex;align-items:center;gap:12px;color:#59486F;border-radius:7px;padding:10px 12px;min-height:42px;text-decoration:none;cursor:pointer;font-weight:540}
.sidebar-link:hover,.sidebar-group>summary:hover,.sidebar-submenu a:hover{background:#F1EAF8}
.sidebar-link.active,.sidebar-submenu a.active{background:#EBE0F6;color:#57357F;font-weight:700}
.sidebar-group{border-radius:7px;margin:1px 0}
.sidebar-group>summary{list-style:none;user-select:none}
.sidebar-group>summary::-webkit-details-marker{display:none}
.sidebar-group[open]>summary{color:#523578;font-weight:650}
.sidebar-group .group-chevron{margin-left:auto;font-size:1.12rem;transition:transform .15s}
.sidebar-group[open] .group-chevron{transform:rotate(180deg)}
.sidebar-submenu{display:flex;flex-direction:column;gap:2px;padding:3px 3px 8px 38px}
.sidebar-submenu a{display:block;border-radius:6px;padding:8px 9px;font-size:.84rem;color:#655876;text-decoration:none;line-height:1.4}
.nav-symbol{flex:0 0 20px;width:20px;text-align:center;font-size:1.12rem;color:#8467A6}
.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:11px}
.sidebar-logout{width:100%;border:0;background:none;text-align:left;font-family:inherit;cursor:pointer}
.sidebar-logout:hover{color:#7A456E}
.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}
.admin-topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);background:#FFFDFE;gap:15px}
.topbar-title{font:normal 1.12rem Georgia,"Times New Roman",serif;color:var(--plum)}
.topbar-website{text-decoration:none;color:var(--accent);font-size:.84rem}
.topbar-website:hover{text-decoration:underline}
.admin-content{flex:1;min-height:calc(100vh - 72px)}
.admin-content .app-page{max-width:1260px;width:100%;padding:0 30px;margin:35px auto 70px}
.admin-content .app-page h1{margin:.35em 0}
.sidebar-close,.mobile-nav-toggle,.sidebar-overlay{display:none}
@media(max-width:1100px) and (min-width:901px){
 .admin-sidebar{width:232px;flex-basis:232px}
 .sidebar-header{padding-left:16px;padding-right:16px}
 .admin-content .app-page{padding:0 22px}
}
@media(max-width:900px){
 .admin-sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;width:min(310px,85vw);transform:translateX(-105%);transition:transform .2s ease;box-shadow:8px 0 35px rgba(52,33,81,.12);visibility:hidden}
 .sidebar-open .admin-sidebar{transform:translateX(0);visibility:visible}
 .sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(37,25,56,.45);border:0;opacity:0;visibility:hidden;z-index:30;transition:opacity .2s}
 .sidebar-open .sidebar-overlay{visibility:visible;opacity:1}
 .sidebar-open{overflow:hidden}
 .sidebar-close{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--plum);font-size:1.8rem;cursor:pointer;width:36px;height:36px}
 .mobile-nav-toggle{display:inline-flex;align-items:center;gap:10px;background:#F2E9F8;color:var(--plum);border:1px solid var(--line);padding:9px 13px;border-radius:7px;font:inherit;font-size:.88rem;cursor:pointer}
 .admin-topbar{padding:0 18px;height:64px}
 .admin-content{min-height:calc(100vh - 64px)}
 .admin-content .app-page{padding:0 18px;margin:28px auto 60px}
}
@media(max-width:500px){
 .topbar-website{display:none}
 .admin-content .app-page{padding:0 13px}
}
@media(prefers-reduced-motion:reduce){.admin-sidebar,.sidebar-overlay,.sidebar-group .group-chevron{transition:none}}

/* Hierarchical wedding checklist */
.checklist-page .checklist-group{margin:0 0 16px}
.checklist-group>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:1rem}
.checklist-group>summary strong{color:var(--plum)}
.checklist-group>summary span{white-space:nowrap;font-size:.82rem;color:var(--muted);font-weight:400}
.checklist-group[open]>summary{margin-bottom:14px}
.checklist-items{display:flex;flex-direction:column;gap:0}
.checklist-task{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,205px);gap:12px 22px;align-items:center;padding:14px 4px;border-top:1px solid var(--line)}
.checklist-task-main{display:flex;flex-direction:column;gap:3px}
.checklist-task-main strong{font-size:.94rem;font-weight:600}
.checklist-task-main small{font-size:.78rem;color:var(--muted)}
.checklist-task-main .task-blocked{color:#79508F}
.checklist-task .checklist-edit{grid-column:1/-1}
.checklist-task .edit-record{margin:0;border-top:none;padding-top:0}
.checklist-task .task-state select{width:100%;max-width:205px}
@media(max-width:650px){.checklist-task{grid-template-columns:minmax(0,1fr);gap:8px}.checklist-task .task-state select{max-width:100%}.checklist-group>summary{align-items:start}}

/* Visual page builder — Elementor-inspired editing workspace */
.visual-builder{padding:22px 20px 70px;max-width:1700px;margin:0 auto}
.visual-builder-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px}
.visual-builder-toolbar h1{font-size:2rem;margin:0}
.visual-builder-toolbar .eyebrow{margin:0}
.visual-builder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.visual-builder-actions form{margin:0}
.visual-builder-layout{display:grid;grid-template-columns:200px minmax(0,1fr) 285px;gap:15px;align-items:start}
.visual-palette,.visual-inspector{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:17px;background:var(--paper);border:1px solid var(--line);border-radius:9px}
.visual-palette h2,.visual-inspector h2{font-size:1.25rem;margin:0 0 10px}
.visual-palette p,.visual-inspector p{font-size:.82rem;line-height:1.5}
.palette-element{background:#f7f2fd;border:1px solid #ddceee;color:var(--ink);border-radius:8px;padding:14px 8px;margin:8px 0;width:100%;text-align:left;cursor:grab;display:flex;align-items:center;gap:10px;font:inherit;font-size:.82rem}
.palette-element:hover{background:#e8dbf7;border-color:#9f81c3}
.palette-symbol{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#e4d4f3;color:var(--plum);font-size:1.2rem}
.builder-hint{border-top:1px solid var(--line);padding-top:15px}
.visual-canvas-column{min-width:0}
.visual-canvas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;background:#fff;border:1px solid var(--line);border-radius:8px 8px 0 0}
.canvas-device-controls{display:flex;gap:4px}
.canvas-device-controls button{background:transparent;border:1px solid var(--line);padding:6px 10px;border-radius:5px;color:var(--ink);cursor:pointer}
.canvas-device-controls button.active{background:var(--accent);color:#fff}
.visual-canvas{background:#eee9f1;min-height:450px;padding:18px;overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px}
.visual-canvas-page{background:#fff;min-height:500px;max-width:1000px;margin:auto;box-shadow:0 4px 25px rgba(40,25,60,.12);transition:max-width .18s}
.visual-canvas-page.mobile-canvas{max-width:390px}
.canvas-section{border:2px solid transparent;position:relative;cursor:pointer;outline-offset:-3px}
.canvas-section:hover{border-color:#bd9dda}
.canvas-section.selected{border-color:#8154b1}
.canvas-section.dragging{opacity:.5}
.canvas-section-tools{position:absolute;top:0;right:0;z-index:2;background:#674a91;color:white;display:flex;align-items:center;gap:8px;padding:4px 9px;font-size:.69rem;border-radius:0 0 0 5px}
.drag-handle{font-size:1rem;cursor:grab}
.canvas-section-render{padding:38px 25px;min-height:140px}
.canvas-section-render h2{font-size:clamp(1.6rem,3vw,2.7rem)}
.canvas-section-render.builder-hero{min-height:270px}
.canvas-section-render.builder-hero:before,.canvas-section-render.builder-hero:after{opacity:.18}
.canvas-section-render.builder-split,.canvas-section-render.builder-hero{gap:16px}
.canvas-section-render>img{max-height:290px}
.canvas-dropzone{padding:35px 18px;text-align:center;border:2px dashed #bc9fd8;color:#745394;cursor:pointer;font-size:.89rem}
.canvas-dropzone:hover{background:#faf5ff}
.visual-inspector .entry-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.visual-inspector .entry-grid .wide{grid-column:1}
.visual-inspector form.entry-grid{margin:14px 0}
.visual-inspector input,.visual-inspector select,.visual-inspector textarea{max-width:100%}
.inspector-delete button{color:#9a3b56;border:1px solid #e6bacb;background:#fff4f8;border-radius:5px;padding:9px 12px;cursor:pointer}
.inspector-section[hidden],#inspector-add[hidden],#inspector-empty[hidden]{display:none}
.visual-canvas-page.mobile-canvas .builder-split,.visual-canvas-page.mobile-canvas .builder-hero{grid-template-columns:1fr}
.visual-canvas-page.mobile-canvas .builder-split.image-left>img,.visual-canvas-page.mobile-canvas .builder-split.image-left>.builder-copy{grid-row:auto;grid-column:auto}
@media(max-width:1350px){.visual-builder-layout{grid-template-columns:170px minmax(0,1fr) 245px}.visual-builder{padding:16px 12px}}
@media(max-width:1100px){.visual-builder-layout{grid-template-columns:1fr}.visual-palette,.visual-inspector{position:static;max-height:none}.visual-palette{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.visual-palette h2,.visual-palette p{flex:1 0 100%}.palette-element{width:auto;flex:1 1 150px}.visual-inspector .entry-grid{grid-template-columns:1fr 1fr}.visual-inspector .entry-grid .wide{grid-column:1/-1}}
@media(max-width:650px){.visual-builder-toolbar{align-items:flex-start;flex-direction:column}.visual-inspector .entry-grid{grid-template-columns:1fr}.visual-inspector .entry-grid .wide{grid-column:1}.visual-canvas{padding:7px}.canvas-section-render{padding:27px 12px}.visual-canvas-toolbar{flex-wrap:wrap}}

/* Public wedding theme: strong lavender / purple identity, independent from admin styles */
.public-body{--cream:#F3ECFA;--paper:#FFFBFF;--ink:#382250;--muted:#695579;--accent:#65418F;--line:#D9C7EB;background:#F3ECFA!important;color:#382250}
.public-body .site-header{max-width:none;width:100%;margin:0;min-height:92px;padding:16px clamp(18px,4vw,70px);display:flex;align-items:center;gap:24px;background:#E6D6F5;border-bottom:1px solid #CCB2E4;box-shadow:0 3px 20px rgba(66,35,93,.07)}
.public-body .site-header .brand{font-size:clamp(1.35rem,2vw,1.85rem);color:#4D2E6D;font-weight:400}
.public-body .site-header nav{flex:1;justify-content:center;gap:clamp(12px,2vw,29px)}
.public-body .site-header nav a{font-size:.92rem;font-weight:600;color:#563477}
.public-body .site-header nav a:hover{color:#8C56BB}
.public-body .public-login{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;background:#5C367F!important;color:#fff!important;border:2px solid #5C367F;padding:12px 19px;border-radius:28px;text-decoration:none;font-weight:700;font-size:.91rem;line-height:1.2;box-shadow:0 5px 16px rgba(76,40,108,.17)}
.public-body .public-login:hover{background:#754C9F!important;border-color:#754C9F}
.public-body .hero{background:radial-gradient(ellipse at 50% 40%,#FDF9FF 0%,#EBDDF7 60%,#D7BFEC 100%);color:#44275E;min-height:640px}
.public-body .hero h1{color:#42265B}
.public-body .hero h1 em{color:#7A4BAC}
.public-body .hero::before,.public-body .hero::after{opacity:.85}
.public-body .feature{background:#F8F2FD;border-radius:12px;padding:40px;box-shadow:0 8px 30px rgba(75,45,112,.07)}
.public-body .content-page{padding:55px 35px;border-radius:16px;background:#FCF9FF}
.public-body footer{background:#E8DBF4;color:#5C4373;border-top:1px solid #CDB9E3}
.public-body .builder-section{color:#452D60}
.public-body .builder-hero{background:linear-gradient(110deg,#E5D3F6,#F7EFFC 60%,#D8C0ED)}
.public-body .button{background:#65418F;border-color:#65418F}
.public-body .button:hover{background:#4C2E70}
@media(max-width:1000px){.public-body .site-header{flex-wrap:wrap;gap:13px}.public-body .site-header nav{order:3;flex-basis:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:5px 0}.public-body .site-header nav a{white-space:nowrap}.public-body .public-login{margin-left:auto}}
@media(max-width:560px){.public-body .site-header{padding:13px 16px}.public-body .public-login{padding:10px 12px;font-size:.81rem}.public-body .site-header .brand{font-size:1.35rem}.public-body .hero{min-height:520px;padding:76px 25px}.public-body .feature{padding:25px 20px}.public-body .content-page{margin:35px 15px;padding:35px 20px}}
