/* =========================================
   SEMBLANZIA BUILDER
========================================= */

:root{--bg:#f4f1e9;--panel:#fffdf8;--ink:#22201d;--muted:#7f786f;--line:#ddd5c8;--gold:#b58a35;--gold-dark:#8c6724;--green:#17372f;--shadow:0 18px 45px rgba(0,0,0,.10);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:"Montserrat",sans-serif;color:var(--ink);background:var(--bg)}
.builder-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;min-height:74px;padding:10px 28px;background:rgba(255,253,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.builder-brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.builder-brand img{width:46px;height:46px;object-fit:contain}.builder-brand div{display:flex;flex-direction:column}.builder-brand strong{font-family:"Cinzel",serif;font-size:16px;letter-spacing:2px;color:var(--gold-dark)}.builder-brand span{margin-top:2px;font-size:10px;letter-spacing:1px;color:var(--muted)}
.builder-status{display:flex;align-items:center;gap:16px}.builder-language-switcher{display:flex;align-items:center;gap:0;padding:0 10px;min-height:42px;border:1px solid rgba(23,55,47,.20);border-radius:999px;background:rgba(255,255,255,.72);white-space:nowrap}.builder-language-switcher>span{padding:0 2px;color:var(--green);font-weight:600}.builder-lang-button{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:40px;padding:0 7px;border:0;background:transparent;color:var(--green);font-family:"Montserrat",sans-serif;font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer}.builder-lang-button.active{color:var(--gold-dark)}.save-indicator{font-size:12px;color:#61756d}.publish-button{border:0;border-radius:30px;padding:11px 22px;background:var(--green);color:white;font-family:"Montserrat",sans-serif;font-weight:600;letter-spacing:.6px;cursor:pointer}
.builder-layout{display:grid;grid-template-columns:minmax(420px,1fr) minmax(430px,.95fr);min-height:calc(100vh - 74px)}.builder-editor{padding:34px 34px 80px;overflow-y:auto;background:var(--panel);border-right:1px solid var(--line)}.editor-intro{max-width:620px;margin:0 auto 28px}.step-label,.panel-heading span,.preview-label{display:block;margin-bottom:7px;font-size:10px;font-weight:600;letter-spacing:2px;color:var(--gold-dark)}.editor-intro h1{margin:0;font-family:"Cinzel",serif;font-size:30px;line-height:1.25;font-weight:500;color:var(--green)}.editor-intro p{margin:12px 0 0;max-width:540px;font-size:14px;line-height:1.7;color:var(--muted)}
.builder-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:620px;margin:0 auto 28px}.builder-section{position:relative;display:flex;align-items:center;gap:11px;min-height:72px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);text-align:left;cursor:pointer;transition:.2s ease}.builder-section:hover{border-color:rgba(181,138,53,.55);transform:translateY(-1px)}.builder-section.active{border-color:var(--gold);background:#fbf6ea;box-shadow:0 8px 20px rgba(181,138,53,.12)}.section-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#f2ecdf;color:var(--gold-dark);font-size:11px;font-weight:600}.builder-section.active .section-number{background:var(--gold);color:white}.builder-section>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.builder-section strong{font-size:12px;font-weight:600}.builder-section small{margin-top:4px;font-size:9px;line-height:1.3;color:var(--muted)}.premium-section{grid-column:1/-1}.premium-badge{margin-left:auto;padding:4px 7px;border-radius:20px;background:var(--green);color:#fff;font-size:8px;font-weight:600;letter-spacing:1px}
.editor-panel{max-width:620px;margin:0 auto;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px rgba(0,0,0,.05)}.panel-heading{margin-bottom:24px}.panel-heading h2{margin:0;font-family:"Cinzel",serif;font-size:21px;font-weight:500;line-height:1.35;color:var(--green)}.field-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field-group label{font-size:12px;font-weight:600;color:#49443e}.field-group select,.field-group input{width:100%;height:48px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:#fffdf9;color:var(--ink);font-family:"Montserrat",sans-serif;font-size:13px;outline:none;transition:.2s ease}.field-group select:focus,.field-group input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(181,138,53,.12)}.panel-actions{display:flex;justify-content:space-between;gap:12px;margin-top:26px}.primary-button,.secondary-button{min-width:120px;padding:12px 18px;border-radius:30px;font-family:"Montserrat",sans-serif;font-size:12px;font-weight:600;cursor:pointer}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--ink)}
.builder-preview{position:sticky;top:74px;height:calc(100vh - 74px);display:flex;flex-direction:column;align-items:center;padding:28px 30px 40px;overflow:hidden;background:radial-gradient(circle at 50% 10%,rgba(181,138,53,.11),transparent 35%),#ebe7df}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;width:min(390px,100%);margin-bottom:14px}.preview-toolbar>div:first-child{display:flex;flex-direction:column}.preview-toolbar strong{font-size:13px;font-weight:600;color:#46413b}.preview-label{margin-bottom:3px}.preview-devices{display:flex;gap:6px}.device-button{width:32px;height:32px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--gold-dark);cursor:pointer}.device-button.active{border-color:var(--gold);background:#fbf6ea}.phone-frame{position:relative;width:390px;max-width:100%;height:calc(100vh - 160px);min-height:610px;max-height:820px;padding:10px;border:8px solid #242424;border-radius:38px;background:#242424;box-shadow:0 28px 70px rgba(0,0,0,.22),0 6px 15px rgba(0,0,0,.12)}.phone-notch{position:absolute;top:7px;left:50%;z-index:5;width:105px;height:20px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:#242424}.phone-frame iframe{display:block;width:100%;height:100%;border:0;border-radius:24px;background:#111}.mobile-view-switcher{display:none}
@media(max-width:1050px){.builder-layout{grid-template-columns:minmax(360px,1fr) minmax(380px,.9fr)}.builder-editor{padding-left:24px;padding-right:24px}.builder-preview{padding-left:20px;padding-right:20px}.builder-sections{grid-template-columns:1fr}.premium-section{grid-column:auto}}
@media(max-width:760px){body{background:var(--panel)}.builder-language-switcher{display:flex!important;align-items:center;gap:0;min-height:38px;padding:0 7px;border-radius:999px}.builder-lang-button{min-width:34px;height:36px;padding:0 5px;font-size:12px}.builder-status{gap:8px}.builder-header{min-height:64px;padding:8px 14px}.builder-brand img{width:38px;height:38px}.builder-brand strong{font-size:13px}.builder-brand span{font-size:8px}.save-indicator{display:none}.publish-button{padding:9px 15px;font-size:11px}.mobile-view-switcher{position:sticky;top:64px;z-index:90;display:grid;grid-template-columns:1fr 1fr;padding:8px 14px;background:rgba(255,253,248,.98);border-bottom:1px solid var(--line)}.view-switch{min-height:40px;border:1px solid var(--line);background:#fff;color:var(--muted);font-family:"Montserrat",sans-serif;font-size:11px;font-weight:600;cursor:pointer}.view-switch:first-child{border-radius:20px 0 0 20px}.view-switch:last-child{border-radius:0 20px 20px 0}.view-switch.active{background:var(--green);border-color:var(--green);color:#fff}.builder-layout{display:block;min-height:auto}.builder-editor{width:100%;padding:26px 16px 70px;border-right:0}.editor-intro h1{font-size:25px}.builder-sections{grid-template-columns:1fr 1fr;gap:8px}.builder-section{min-height:66px;padding:10px}.builder-section small{display:none}.premium-section{grid-column:1/-1}.editor-panel{padding:22px 18px}.builder-preview{position:static;display:none;width:100%;height:auto;min-height:calc(100vh - 120px);padding:20px 12px 30px;overflow:visible}.phone-frame{width:100%;max-width:430px;height:calc(100vh - 175px);min-height:540px}body.preview-mode .builder-editor{display:none}body.preview-mode .builder-preview{display:flex}}
@media(max-width:430px){.builder-sections{grid-template-columns:1fr}.premium-section{grid-column:auto}.builder-header{gap:10px}.builder-brand span{display:none}.phone-frame{border-width:6px;border-radius:30px;padding:7px}.phone-frame iframe{border-radius:20px}}

/* =========================================
   SEMBLANZIA PLUM THEME
========================================= */
:root{--green:#5D3B4A;--plum:#5D3B4A;--plum-deep:#432B36;--plum-soft:#F1E8EC;--plum-line:#D9C8D0}
.builder-header{border-bottom-color:var(--plum-line)}
.builder-language-switcher{border-color:rgba(93,59,74,.20)}
.builder-language-switcher>span,.builder-lang-button{color:var(--plum)}
.save-indicator{color:#765D68}
.publish-button,.primary-button,.premium-badge,.view-switch.active{background:var(--plum);border-color:var(--plum);color:#fff}
.editor-intro h1,.panel-heading h2{color:var(--plum)}
.builder-section:hover{border-color:rgba(93,59,74,.34)}
.builder-section.active{border-color:var(--plum);background:#F8F1F4;box-shadow:0 8px 20px rgba(93,59,74,.10)}
.builder-section.active .section-number{background:var(--plum)}
.section-number{background:#F3EBEE;color:var(--plum-deep)}
.field-group select:focus,.field-group input:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(93,59,74,.10)}
.builder-preview{background:radial-gradient(circle at 50% 10%,rgba(93,59,74,.10),transparent 35%),#EEE8EB}
.device-button{color:var(--plum-deep)}
.device-button.active{border-color:var(--plum);background:#F8F1F4;color:var(--plum)}
.mobile-view-switcher{border-bottom-color:var(--plum-line)}
.decoration-library-close,.decoration-order-toolbar .decoration-controller-close{background:var(--plum)!important;color:#fff!important}
.builder-brand strong,.step-label,.panel-heading span,.preview-label,.builder-lang-button.active{color:var(--gold-dark)}


/* Premium guest manager */
.premium-manager-card{padding:20px;border:1px solid var(--plum-line);border-radius:18px;background:#fffdfb;box-shadow:0 8px 24px rgba(67,43,54,.05)}
.premium-manager-card h3{margin:0 0 7px;font-family:"Cinzel",serif;font-size:18px;font-weight:600;color:var(--plum)}
.premium-manager-card>p{margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.6}
.premium-manager-grid{display:grid;grid-template-columns:1fr 160px;gap:12px}
.premium-manager-summary{display:flex;align-items:baseline;gap:7px;margin:22px 2px 10px;color:var(--muted);font-size:12px}
.premium-manager-summary strong{font-family:"Cinzel",serif;font-size:22px;color:var(--plum)}
.premium-manager-list{display:grid;gap:10px}
.premium-manager-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--plum-line);border-radius:16px;background:#fff}
.premium-manager-person{min-width:0;display:flex;flex-direction:column;gap:5px}
.premium-manager-person>strong{font-size:14px;color:var(--ink);overflow-wrap:anywhere}
.premium-manager-person>small{font-size:11px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.premium-manager-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:5px}
.premium-link-button,.premium-share-button{padding:7px 11px;border:1px solid var(--plum-line);border-radius:999px;background:#fff;color:var(--plum);font:600 10px "Montserrat",sans-serif;cursor:pointer}
.premium-share-button{background:var(--plum);border-color:var(--plum);color:#fff}
.premium-rsvp{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#f3edef;color:#765d68;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.premium-rsvp.attending,.premium-rsvp.confirmed{background:#edf4ef;color:#466451}
.premium-rsvp.declined{background:#f7ecec;color:#875656}
.premium-manager-empty,.premium-manager-status,.premium-manager-error{padding:16px;border:1px dashed var(--plum-line);border-radius:14px;color:var(--muted);font-size:12px;line-height:1.5}
@media(max-width:560px){.premium-manager-grid{grid-template-columns:1fr}.premium-manager-row{align-items:flex-start}.premium-rsvp{margin-top:1px}}


/* Premium guest actions stay compact on mobile */
.premium-manager-actions{flex-wrap:nowrap}
.premium-link-button,.premium-share-button{white-space:nowrap}

/* Premium family carousel owns horizontal scrolling */
@media(max-width:760px){
 #premiumTablesMilestone [data-family-strip]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}
 #premiumTablesMilestone [data-family-track]{display:flex;width:max-content;min-width:100%;box-sizing:border-box}
}
