@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');

/* The same palette tokens drive the published card and the admin preview. */
.invite-shell[data-color="gold"],.builder-preview[data-color="gold"]{--inv-accent:#b7955b;--inv-accent-pale:#eadfc9;--inv-text:#846d4a;--inv-paper:#faf9f6;--inv-dark:#252720;--inv-nav:#eae0cd}
.invite-shell[data-color="rose"],.builder-preview[data-color="rose"]{--inv-accent:#b77e8a;--inv-accent-pale:#f0dfe3;--inv-text:#80515c;--inv-paper:#fdf9f9;--inv-dark:#30242a;--inv-nav:#f0e1e4}
.invite-shell[data-color="sage"],.builder-preview[data-color="sage"]{--inv-accent:#879b7d;--inv-accent-pale:#dfe7dc;--inv-text:#526950;--inv-paper:#f8faf7;--inv-dark:#233027;--inv-nav:#e1e9de}
.invite-shell[data-color="navy"],.builder-preview[data-color="navy"]{--inv-accent:#788cae;--inv-accent-pale:#dce3ee;--inv-text:#394d6d;--inv-paper:#f8f9fc;--inv-dark:#1d293d;--inv-nav:#e1e6ef}

/* Invitation cover */
.invite-page{background:#f8f8f8}
.invite-shell{width:min(100%,448px);background:var(--inv-paper);box-shadow:0 10px 60px rgba(25,31,28,.12)}
.invite-cover{position:relative;display:block;min-height:100svh;padding:0;overflow:hidden;background:var(--inv-paper);isolation:isolate}
.invite-cover:before,.invite-cover:after{display:none}
.floral-veil{position:absolute;z-index:2;inset:0;background:url('/assets/floral-frame-v1.webp') center center/100% 100% no-repeat;pointer-events:none}
.cover-arch{position:absolute;z-index:1;inset:7% 9% 8%;width:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.cover-arch:before,.cover-arch:after{display:none}
.arch-art{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:var(--inv-accent);fill:none;pointer-events:none}
.arch-art path{vector-effect:non-scaling-stroke}
.arch-outer{stroke:currentColor;stroke-width:2.3}
.arch-inner{stroke:currentColor;stroke-width:2.3}
.arch-detail{stroke:currentColor;stroke-width:4;stroke-dasharray:2 5;opacity:.68}
.cover-copy{position:absolute;z-index:3;top:36%;right:9%;left:9%;display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(-5%)}
.cover-kicker{color:var(--inv-text);font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;font-weight:500;letter-spacing:.035em;text-transform:none}
.cover-copy h1{display:grid;gap:0;margin:16px 0 12px;color:var(--inv-text);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(49px,14vw,67px);font-weight:400;line-height:.85;letter-spacing:-.035em;text-transform:uppercase}
.cover-copy h1 span{display:block;max-width:295px;overflow-wrap:anywhere}
.cover-copy h1 i{margin:7px 0;color:var(--inv-accent);font-size:29px;font-style:normal;line-height:1}
.cover-date{margin:8px 0 0;color:var(--inv-text);font-family:'Cormorant Garamond',Georgia,serif;font-size:16px;letter-spacing:.06em}
.cover-open{min-height:40px;margin-top:22px;padding:0 18px;border:1px solid var(--inv-accent);background:var(--inv-paper);color:var(--inv-text);font-family:'DM Sans',Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 25px rgba(41,34,20,.09)}
.cover-open:hover{background:var(--inv-accent);color:#fff}
.cover-brand{position:absolute;z-index:3;right:0;bottom:24px;left:0;color:var(--inv-text);font-family:'DM Sans',Arial,sans-serif;font-size:7px;font-weight:600;letter-spacing:.22em;text-align:center;opacity:.75}
.invite-shell.is-open .invite-cover{min-height:0;height:0;padding:0;animation:none;transition:height .55s ease}
.invite-shell.is-open .cover-arch{display:none}
.invite-shell.is-open .cover-brand{display:none}

/* The templates share real invitation content and differ in art direction. */
.invite-shell[data-template="modern-classic"] .floral-veil,.builder-preview[data-template="modern-classic"] .builder-preview-card:before{display:none}
.invite-shell[data-template="modern-classic"] .invite-cover,.builder-preview[data-template="modern-classic"] .builder-preview-card{background:linear-gradient(150deg,#fff,var(--inv-paper))}
.invite-shell[data-template="modern-classic"] .arch-detail,.builder-preview[data-template="modern-classic"] .arch-detail{display:none}
.invite-shell[data-template="modern-classic"] .arch-outer,.builder-preview[data-template="modern-classic"] .arch-outer{stroke-width:1}
.invite-shell[data-template="modern-classic"] .arch-inner,.builder-preview[data-template="modern-classic"] .arch-inner{stroke-width:1;opacity:.45}
.invite-shell[data-template="modern-classic"] .cover-kicker,.builder-preview[data-template="modern-classic"] .preview-kicker{font-family:'DM Sans',Arial,sans-serif;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.invite-shell[data-template="modern-classic"] .cover-copy h1,.builder-preview[data-template="modern-classic"] .preview-copy strong{font-style:italic;text-transform:none}
.invite-shell[data-template="songket-luxe"] .invite-cover,.builder-preview[data-template="songket-luxe"] .builder-preview-card{background-color:var(--inv-dark);background-image:repeating-linear-gradient(45deg,transparent 0 22px,rgba(255,255,255,.035) 22px 23px,transparent 23px 45px),repeating-linear-gradient(-45deg,transparent 0 22px,rgba(255,255,255,.035) 22px 23px,transparent 23px 45px)}
.invite-shell[data-template="songket-luxe"] .floral-veil,.builder-preview[data-template="songket-luxe"] .builder-preview-card:before{display:none}
.invite-shell[data-template="songket-luxe"] .cover-copy h1,.invite-shell[data-template="songket-luxe"] .cover-kicker,.invite-shell[data-template="songket-luxe"] .cover-date,.invite-shell[data-template="songket-luxe"] .cover-brand,.builder-preview[data-template="songket-luxe"] .preview-copy{color:#f8f4e9}
.invite-shell[data-template="songket-luxe"] .cover-open{background:var(--inv-dark);color:#f8f4e9}
.invite-shell[data-template="songket-luxe"] .arch-detail,.builder-preview[data-template="songket-luxe"] .arch-detail{stroke-dasharray:4 3;stroke-width:5;opacity:.8}

/* Published card content follows the selected palette. */
.invite-content{background:var(--inv-paper)}
.invite-content .eyebrow,.invite-countdown-label,.event-card small{color:var(--inv-accent)}
.invite-hero h2,.couple-names,.detail-heading h2,.event-card h3,.invite-footer,.countdown b{color:var(--inv-text)}
.couple-names i,.invite-prayer{color:var(--inv-accent)}
.gold-divider,.cover-rule{background:var(--inv-accent)}
.invite-details,.event-card,.event-card:last-child,.invite-footer{border-color:var(--inv-accent-pale)}
.event-icon{border-color:var(--inv-accent-pale);color:var(--inv-accent)}
.countdown span{border-color:var(--inv-accent-pale);background:#fff}
.invite-actions{background:var(--inv-nav);border-color:var(--inv-accent-pale)}
.invite-actions a{color:var(--inv-text)}
.invite-content .button.primary{background:var(--inv-text);color:#fff}
.invite-content .button.outline{border-color:var(--inv-accent);color:var(--inv-text)}
.invite-content .text-link{color:var(--inv-text)}
.invite-content .admin-form input:focus,.invite-content .admin-form textarea:focus,.invite-content .admin-form select:focus{border-color:var(--inv-accent)}

/* Admin template and colour builder */
.admin-shell{max-width:1500px}
.admin-layout{grid-template-columns:220px minmax(0,1fr)}
.admin-editor{min-width:0;padding:26px}
.builder-lead{margin:-10px 0 25px;color:#66756e;font-size:12px;line-height:1.6}
.builder-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:27px;align-items:start}
.builder-form{display:grid;gap:23px;min-width:0}
.builder-choice{min-width:0;margin:0;padding:16px 0 0;border:0;border-top:1px solid #e3e8e2}
.builder-choice legend,.builder-fields h3{padding:0;margin:0 0 16px;color:#253d33;font-family:'DM Sans',Arial,sans-serif;font-size:15px;font-weight:700;letter-spacing:0}
.builder-choice legend span,.builder-fields h3 span{display:inline-grid;width:25px;height:25px;place-items:center;margin-right:7px;border-radius:50%;background:#e9efea;color:#426251;font-size:10px}
.template-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.template-option{display:block!important;cursor:pointer}
.template-option input,.color-option input{position:absolute;width:1px!important;height:1px!important;min-height:1px!important;opacity:0}
.template-tile{display:grid;gap:3px;min-height:176px;padding:9px;border:1px solid #dce4db;border-radius:7px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}
.template-option:hover .template-tile{transform:translateY(-2px);border-color:#a2b5a4}
.template-option input:checked+.template-tile{border:2px solid #4b745e;padding:8px;box-shadow:0 4px 15px rgba(42,78,55,.11)}
.template-option input:focus-visible+.template-tile,.color-option input:focus-visible+.color-swatch{outline:3px solid #c59a4d;outline-offset:3px}
.template-thumb{display:grid;height:113px;place-items:center;overflow:hidden;border:1px solid #e5e2d8;font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;font-weight:400}
.floral-thumb{position:relative;background:#faf9f4;color:#9e8253}
.floral-thumb:before{position:absolute;inset:12px 19px -15px;border:3px double #b7955b;border-radius:60px 60px 0 0;content:""}
.floral-thumb span{position:absolute;top:3px;right:6px;color:#879b7d;font-size:25px}
.floral-thumb b{position:relative;font-weight:400}
.classic-thumb{background:#f8f8f6;color:#696963}
.classic-thumb:before{position:absolute;content:""}
.songket-thumb{background:repeating-linear-gradient(45deg,#28312f 0 8px,#303c35 8px 9px);color:#e5d4a4}
.template-tile strong{color:#2b3a30;font-size:10px;line-height:1.25}
.template-tile small{color:#718077;font-size:8px;line-height:1.3}
.color-options{display:flex;flex-wrap:wrap;gap:17px}
.color-option{display:grid!important;justify-items:center;gap:5px!important;min-width:53px;cursor:pointer}
.color-option strong{color:#53645a;font-size:10px}
.color-swatch{display:block;width:36px;height:36px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d5ddd3;transition:box-shadow .2s}
.color-option input:checked+.color-swatch{box-shadow:0 0 0 2px #2f5340,0 0 0 5px #fff}
.gold-swatch{background:#b7955b}.rose-swatch{background:#b77e8a}.sage-swatch{background:#879b7d}.navy-swatch{background:#788cae}
.builder-fields{padding-top:17px;border-top:1px solid #e3e8e2}
.builder-fields .grid-form{display:grid}
.builder-form .form-actions{grid-column:auto;margin:0;padding-top:18px;border-top:1px solid #e3e8e2}
.builder-preview{position:sticky;top:24px;padding:15px;border:1px solid #dce4dc;border-radius:9px;background:#f5f7f4}
.builder-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}
.builder-preview-heading h3{margin:2px 0 0;color:#274033;font-size:16px}
.preview-live-dot{padding:4px 7px;border-radius:12px;background:#dcecdf;color:#3e7550;font-size:8px;font-weight:700;letter-spacing:.08em}
.builder-preview-card{position:relative;width:min(100%,280px);aspect-ratio:2/3.35;margin:auto;overflow:hidden;background:var(--inv-paper);box-shadow:0 15px 30px rgba(31,48,34,.14);isolation:isolate}
.builder-preview-card:before{position:absolute;z-index:2;inset:0;background:url('/assets/floral-frame-v1.webp') center center/100% 100% no-repeat;content:"";pointer-events:none}
.builder-preview-card .arch-art{z-index:1;inset:8% 8% 8%;width:84%;height:84%}
.preview-copy{position:absolute;z-index:3;top:37%;right:11%;left:11%;display:grid;justify-items:center;color:var(--inv-text);font-family:'Cormorant Garamond',Georgia,serif;text-align:center}
.preview-kicker{font-size:13px}
.preview-copy strong{display:block;max-width:100%;font-size:39px;font-weight:400;line-height:.85;text-transform:uppercase;overflow-wrap:anywhere}
.preview-copy strong:first-of-type{margin-top:13px}
.preview-copy i{margin:4px 0;color:var(--inv-accent);font-size:23px;font-style:normal}
.preview-date{margin-top:15px;font-size:12px}
.builder-preview>p{max-width:280px;margin:12px auto 0;color:#75827b;font-size:10px;line-height:1.5;text-align:center}

@media(max-width:1150px){.builder-workspace{grid-template-columns:minmax(0,1fr) 270px;gap:17px}.builder-preview-card{width:235px}.preview-copy strong{font-size:32px}}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.builder-workspace{grid-template-columns:1fr}.builder-preview{position:static;grid-row:1;width:min(100%,430px);margin:auto}.builder-preview-card{width:260px}.preview-copy strong{font-size:37px}}
@media(max-width:540px){.admin-editor{padding:15px}.template-options{gap:5px}.template-tile{min-height:152px;padding:6px}.template-option input:checked+.template-tile{padding:5px}.template-thumb{height:90px}.template-tile strong{font-size:9px}.template-tile small{font-size:7px}.color-options{gap:12px}.invite-cover{min-height:100svh}.cover-arch{inset:7% 8% 8%}.cover-copy h1{font-size:clamp(48px,14vw,62px)}}
@media(prefers-reduced-motion:reduce){.template-tile,.color-swatch,.invite-shell.is-open .invite-cover{transition:none}}
