
.kwwd-shell,.kwwd-public{
  --bg:#061112;--gold:#c79255;--gold2:#e9bd76;--white:#fff;--muted:rgba(255,255,255,.76);
  color:#fff;font-family:Arial,Helvetica,sans-serif;
}
.kwwd-shell *,.kwwd-public *{box-sizing:border-box}
.kwwd-shell{width:100%;max-width:980px;margin:0 auto;padding:155px 16px 70px}
.kwwd-kicker{color:var(--gold);letter-spacing:5px;text-transform:uppercase;font-size:11px;font-weight:900;margin:0 0 10px}
.kwwd-auth{max-width:720px}
.kwwd-auth-card,.kwwd-card{
  padding:30px 27px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.018));
  border:1px solid rgba(199,146,85,.38);box-shadow:0 20px 50px rgba(0,0,0,.28)
}
.kwwd-auth-card h1,.kwwd-dashboard h1,.kwwd-card h2,.kwwd-public h1,.kwwd-public h2{font-family:Georgia,serif;color:#fff}
.kwwd-auth-card h1{font-size:clamp(36px,7vw,58px);line-height:1.05;margin:0 0 14px}
.kwwd-lead,.kwwd-dashboard-head p{color:var(--muted);font-size:16px;line-height:1.65}
.kwwd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kwwd-full{grid-column:1/-1}
.kwwd-shell label{display:grid;gap:7px;color:#e9bd76;font-size:14px;font-weight:800;margin-bottom:14px}
.kwwd-shell input,.kwwd-shell textarea{
  width:100%;border:1px solid rgba(199,146,85,.34);border-radius:12px;background:rgba(0,0,0,.28);
  color:#fff;padding:13px 14px;font:inherit
}
.kwwd-consent{display:flex!important;align-items:flex-start;gap:9px;color:#fff!important;font-weight:600!important}
.kwwd-consent input{width:auto;margin-top:3px}
.kwwd-primary{
  width:100%;border:0;border-radius:999px;padding:15px 20px;background:linear-gradient(135deg,#a97038,#e9bd76);
  color:#221307;font-weight:900;font-size:16px;cursor:pointer
}
.kwwd-switch{text-align:center;color:var(--muted)}
.kwwd-switch a,.kwwd-notice a{color:#e9bd76;font-weight:900}
.kwwd-notice{padding:22px;border:1px solid rgba(199,146,85,.36);border-radius:20px;background:rgba(255,255,255,.04)}
.kwwd-result-success,.kwwd-result-error{margin-top:14px;padding:15px;border-radius:14px}
.kwwd-result-success{background:#123522;border:1px solid #2d7652}
.kwwd-result-error{background:#421d1d;border:1px solid #8a3e3e}

.kwwd-dashboard-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:22px}
.kwwd-dashboard-head h1{font-size:clamp(36px,6vw,60px);line-height:1.05;margin:0 0 10px}
.kwwd-logout{color:#e9bd76;text-decoration:none;font-weight:900}
.kwwd-statusbar{
  display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 19px;margin-bottom:18px;
  border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(199,146,85,.28)
}
.kwwd-status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#9a6b2f;margin-right:8px}
.kwwd-status-dot.is-live{background:#32b86b;box-shadow:0 0 12px rgba(50,184,107,.7)}
.kwwd-share-actions{display:flex;flex-wrap:wrap;gap:8px}
.kwwd-share-actions button,.kwwd-share-actions a,.kwwd-public-link button{
  border:1px solid rgba(199,146,85,.4);border-radius:999px;background:rgba(199,146,85,.12);
  color:#fff;padding:9px 13px;text-decoration:none;font-weight:800;cursor:pointer
}
.kwwd-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:4px}
.kwwd-tabs button{white-space:nowrap;border:1px solid rgba(199,146,85,.28);border-radius:999px;background:rgba(255,255,255,.035);color:#fff;padding:10px 15px;font-weight:800;cursor:pointer}
.kwwd-tabs button.is-active{background:#c79255;color:#221307}
.kwwd-tab{display:none}.kwwd-tab.is-active{display:block}
.kwwd-card h2{font-size:31px;margin:0 0 18px}
.kwwd-help,.kwwd-privacy{color:var(--muted);line-height:1.6}
.kwwd-public-link{display:grid;grid-template-columns:1fr auto;gap:9px}
.kwwd-save{margin-top:18px}

.kwwd-public{width:100%;max-width:980px;margin:0 auto;padding:145px 16px 70px}
.kwwd-public-hero{text-align:center;padding:42px 22px;border-radius:30px;background:radial-gradient(circle at top,rgba(199,146,85,.22),rgba(255,255,255,.025));border:1px solid rgba(199,146,85,.4)}
.kwwd-public h1{font-size:clamp(42px,9vw,78px);margin:0 0 12px;line-height:1.02}
.kwwd-public-date{color:#e9bd76;font-size:19px;font-weight:900}
.kwwd-public-welcome{max-width:720px;margin:18px auto 0;color:var(--muted);font-size:17px;line-height:1.7}
.kwwd-public-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:20px 0 30px}
.kwwd-public-actions a,.kwwd-public-actions button{
  border:1px solid rgba(199,146,85,.45);border-radius:999px;background:rgba(199,146,85,.12);
  color:#fff;padding:11px 16px;text-decoration:none;font-weight:800;cursor:pointer
}
.kwwd-public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}
.kwwd-public-card,.kwwd-public-section{padding:24px 21px;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(199,146,85,.28)}
.kwwd-public-card h2,.kwwd-public-section h2{font-size:27px;margin:0 0 12px}
.kwwd-public-card p,.kwwd-public-section p{color:var(--muted);line-height:1.65}
.kwwd-public-card a{color:#e9bd76;font-weight:900;text-decoration:none}
.kwwd-public-wide{grid-column:span 2}
.kwwd-public-section{margin:22px 0}
.kwwd-timeline{display:grid;gap:10px}
.kwwd-timeline div{display:grid;grid-template-columns:95px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid rgba(199,146,85,.16)}
.kwwd-timeline strong{color:#e9bd76}
.kwwd-brand-cta{text-align:center;margin-top:30px;padding:35px 22px;border-radius:28px;border:1px solid rgba(199,146,85,.4);background:linear-gradient(135deg,rgba(255,255,255,.05),rgba(255,255,255,.015))}
.kwwd-brand-cta h2{font-size:34px}
.kwwd-brand-cta p{color:var(--muted)}
.kwwd-brand-cta a{display:inline-block;padding:13px 22px;border-radius:999px;background:#c79255;color:#221307;text-decoration:none;font-weight:900}

@media(max-width:720px){
  .kwwd-shell{padding:135px 14px 60px}
  .kwwd-grid,.kwwd-public-grid{grid-template-columns:1fr}
  .kwwd-full,.kwwd-public-wide{grid-column:auto}
  .kwwd-auth-card,.kwwd-card{padding:23px 18px}
  .kwwd-dashboard-head,.kwwd-statusbar{display:block}
  .kwwd-logout{display:inline-block;margin-top:10px}
  .kwwd-share-actions{margin-top:13px}
  .kwwd-public-link{grid-template-columns:1fr}
  .kwwd-public{padding-top:125px}
}
@media print{
  header,footer,.kwwd-public-actions,.kwwd-brand-cta{display:none!important}
  body{background:#fff!important}
  .kwwd-public{color:#000!important;padding:0}
  .kwwd-public *{color:#000!important;box-shadow:none!important}
}


/* ===== V1.1 DARK APP FIX ===== */
html,body{background:#02090d!important}
body .site,body .site-content,body .content-area,body .entry-content,body .wp-site-blocks,body main,body article,body .ast-container,body .site-main{background:#02090d!important}
body .entry-content>.kwwd-shell,body .entry-content>.kwwd-public{max-width:none!important}
.kwwd-shell,.kwwd-public{width:100vw!important;max-width:none!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;background:radial-gradient(circle at 50% 0,rgba(199,146,85,.13),transparent 34%),#02090d!important}
.kwwd-shell{min-height:100vh}.kwwd-dashboard{padding-top:145px!important}
.kwwd-dashboard>*{width:min(980px,calc(100% - 28px));margin-left:auto;margin-right:auto}.kwwd-auth>*{width:min(720px,calc(100% - 28px));margin-left:auto;margin-right:auto}
.kwwd-dashboard-head{padding:24px 22px;border:1px solid rgba(199,146,85,.35);border-radius:26px;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.015));box-shadow:0 18px 45px rgba(0,0,0,.32)}
.kwwd-dashboard-head h1{color:#fff!important;font-size:clamp(34px,8vw,58px)!important}.kwwd-dashboard-head p{margin:0}.kwwd-logout{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border:1px solid rgba(199,146,85,.38);border-radius:999px;background:rgba(199,146,85,.1)}
.kwwd-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;margin-bottom:16px}.kwwd-overview-card{display:flex;align-items:center;gap:12px;min-height:92px;padding:16px;border:1px solid rgba(199,146,85,.28);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.kwwd-overview-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(199,146,85,.48);color:#e9bd76;font-size:22px}.kwwd-overview-card small{display:block;color:rgba(255,255,255,.58);font-size:12px;margin-bottom:4px}.kwwd-overview-card strong{display:block;color:#fff;font-size:14px;line-height:1.3}
.kwwd-statusbar{background:#071013!important;border-color:rgba(199,146,85,.35)!important}.kwwd-status-label{display:flex;align-items:center}.kwwd-share-actions button,.kwwd-share-actions a{color:#fff!important;background:rgba(199,146,85,.1)!important}
.kwwd-tabs{gap:10px!important;margin-top:18px;padding:4px 0 8px;scrollbar-width:none}.kwwd-tabs::-webkit-scrollbar{display:none}.kwwd-tabs button{flex:0 0 auto;min-width:130px;min-height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#071013!important;border-color:rgba(199,146,85,.3)!important;color:#fff!important}.kwwd-tabs button span{color:#e9bd76;font-size:21px;line-height:1}.kwwd-tabs button.is-active{background:linear-gradient(135deg,#a97038,#d9a55f)!important;color:#1d1107!important}.kwwd-tabs button.is-active span{color:#1d1107}
.kwwd-card{background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.014))!important;border-color:rgba(199,146,85,.35)!important}.kwwd-card h2{color:#fff!important}.kwwd-shell label{color:#e9bd76!important}.kwwd-shell input,.kwwd-shell textarea{background:#0a1012!important;color:#fff!important;border-color:rgba(199,146,85,.34)!important;-webkit-text-fill-color:#fff!important}.kwwd-shell input::placeholder,.kwwd-shell textarea::placeholder{color:rgba(255,255,255,.42)!important;-webkit-text-fill-color:rgba(255,255,255,.42)!important}.kwwd-primary{box-shadow:0 12px 28px rgba(199,146,85,.25)}.kwwd-help,.kwwd-privacy,.kwwd-card p{color:rgba(255,255,255,.72)!important}.kwwd-public-link input{background:#0a1012!important}
@media(max-width:720px){.kwwd-dashboard{padding-top:125px!important;padding-left:0!important;padding-right:0!important}.kwwd-dashboard>*{width:calc(100% - 24px)}.kwwd-dashboard-head{padding:20px 18px;border-radius:22px}.kwwd-dashboard-head h1{font-size:34px!important}.kwwd-overview{grid-template-columns:1fr;gap:9px}.kwwd-overview-card{min-height:74px}.kwwd-statusbar{padding:15px!important}.kwwd-share-actions{display:grid!important;grid-template-columns:1fr 1fr}.kwwd-share-actions button,.kwwd-share-actions a{text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center}.kwwd-share-actions #kwwd-publish-toggle{grid-column:1/-1}.kwwd-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.kwwd-tabs button{min-width:108px;min-height:68px;font-size:12px}.kwwd-card{border-radius:22px!important}}


/* V1.2 recommendations library */
.kwwd-shell a,.kwwd-public a,.kwwd-library-card{text-decoration:none!important}
.kwwd-library-section{margin-top:24px;padding-top:20px;border-top:1px solid rgba(199,146,85,.2)}
.kwwd-library-section h3{font-family:Georgia,serif;color:#fff;font-size:25px;margin:0 0 14px}
.kwwd-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kwwd-library-card{position:relative;display:block!important;margin:0!important;padding:0!important;border:1px solid rgba(199,146,85,.28);border-radius:18px;overflow:hidden;background:#071013!important;color:#fff!important;cursor:pointer;text-align:left}
.kwwd-library-card>input{position:absolute!important;top:12px;right:12px;width:22px!important;height:22px;z-index:3;accent-color:#c79255}
.kwwd-library-card img{width:100%;height:135px;object-fit:cover;display:block}
.kwwd-library-body{display:block;padding:14px}
.kwwd-library-body strong{display:block;color:#e9bd76;font-size:17px;margin-bottom:7px}
.kwwd-library-body small{display:block;color:rgba(255,255,255,.72);font-size:13px;line-height:1.45;min-height:56px}
.kwwd-library-body em{display:block;color:rgba(255,255,255,.5);font-size:11.5px;font-style:normal;margin:9px 0}
.kwwd-library-body b{display:block;color:#fff;font-size:12px;padding-top:9px;border-top:1px solid rgba(199,146,85,.18)}
.kwwd-library-card:has(input:checked){border-color:#e9bd76;box-shadow:0 0 0 2px rgba(233,189,118,.15)}
.kwwd-other-trigger{min-height:260px;border-style:dashed!important}
.kwwd-other-icon{height:135px;display:grid;place-items:center;color:#e9bd76;font-size:55px;background:rgba(199,146,85,.06)}
.kwwd-other-box{display:none;margin-top:12px;padding:16px;border-radius:16px;background:rgba(199,146,85,.06);border:1px solid rgba(199,146,85,.25)}
.kwwd-other-box.is-open{display:block}
.kwwd-guide-library{padding:26px 22px!important}
.kwwd-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kwwd-guide-card{display:grid;grid-template-columns:135px 1fr;overflow:hidden;border:1px solid rgba(199,146,85,.25);border-radius:18px;background:rgba(255,255,255,.03)}
.kwwd-guide-card img{width:135px;height:100%;min-height:170px;object-fit:cover}
.kwwd-guide-card>div{padding:16px}
.kwwd-guide-card h3{font-family:Georgia,serif;color:#e9bd76;margin:0 0 7px;font-size:21px}
.kwwd-guide-card p{font-size:14px;margin:0 0 8px!important}
.kwwd-guide-card small{color:rgba(255,255,255,.52)}
.kwwd-guide-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.kwwd-guide-actions a{padding:7px 11px;border-radius:999px;background:rgba(199,146,85,.13);border:1px solid rgba(199,146,85,.35);color:#fff!important;font-size:12px;font-weight:800}
.kwwd-custom-tip{margin-top:15px;padding:16px;border-left:3px solid #c79255;background:rgba(199,146,85,.07);color:rgba(255,255,255,.8);line-height:1.65}
@media(max-width:720px){.kwwd-library-grid{grid-template-columns:1fr 1fr}.kwwd-guide-grid{grid-template-columns:1fr}.kwwd-guide-card{grid-template-columns:105px 1fr}.kwwd-guide-card img{width:105px}.kwwd-library-card img,.kwwd-other-icon{height:115px}.kwwd-library-body small{min-height:0}}
@media(max-width:390px){.kwwd-library-grid{grid-template-columns:1fr}}


/* v1.3 interaction and location fixes */
.kwwd-shell select{
  width:100%;min-height:54px;border:1px solid rgba(199,146,85,.34);border-radius:12px;
  background:#0a1012;color:#fff;padding:13px 42px 13px 14px;font:inherit;font-weight:700;
  appearance:auto;-webkit-text-fill-color:#fff;
}
.kwwd-inline-other{display:none!important}
.kwwd-inline-other.is-open{display:grid!important}
.kwwd-overview-card{
  width:100%;text-align:left;color:#fff;cursor:pointer;font:inherit;
  appearance:none;-webkit-appearance:none;
}
.kwwd-overview-card:hover,.kwwd-overview-card:focus{
  transform:translateY(-2px);border-color:rgba(233,189,118,.7);outline:none;
}
.kwwd-overview-card em{display:block;margin-top:5px;color:#e9bd76;font-size:11px;font-style:normal;font-weight:800}
.kwwd-share-actions button{font:inherit}
.kwwd-shell a,.kwwd-public a{text-decoration:none!important}
@media(max-width:720px){
  .kwwd-overview-card{min-height:84px}
  .kwwd-shell select{font-size:16px}
}


/* v1.4 three-day recommendation */
.kwwd-three-day-toggle{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:16px!important;margin:18px 0 22px!important;border:1px solid rgba(199,146,85,.34)!important;border-radius:18px!important;background:rgba(199,146,85,.08)!important;color:#fff!important}
.kwwd-three-day-toggle input{width:22px!important;height:22px!important;flex:0 0 22px!important;margin-top:2px!important}
.kwwd-three-day-toggle span{display:grid;gap:4px}.kwwd-three-day-toggle strong{color:#fff}.kwwd-three-day-toggle small{color:rgba(255,255,255,.66);line-height:1.45}
.kwwd-three-day-grid,.kwwd-public-three-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.kwwd-three-day-grid article,.kwwd-public-three-day-grid article{padding:19px;border:1px solid rgba(199,146,85,.28);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}
.kwwd-three-day-grid article>span,.kwwd-public-three-day-grid article>span{display:inline-block;margin-bottom:9px;color:#e9bd76;font-weight:900;font-size:12px;letter-spacing:2px;text-transform:uppercase}
.kwwd-three-day-grid h3,.kwwd-public-three-day-grid h3{margin:0 0 10px;color:#fff;font-family:Georgia,serif;font-size:22px;line-height:1.15}
.kwwd-three-day-grid p,.kwwd-public-three-day-grid p{margin:0 0 9px;color:rgba(255,255,255,.75);line-height:1.55;font-size:14px}
.kwwd-three-day-grid p:last-child,.kwwd-public-three-day-grid p:last-child{margin-bottom:0}
@media(max-width:760px){.kwwd-three-day-grid,.kwwd-public-three-day-grid{grid-template-columns:1fr}}


/* ===== V1.5 PUBLICATION + LIVE UPDATES ===== */
.kwwd-overview-card.is-disabled{
  opacity:.58;
  cursor:not-allowed;
}
.kwwd-public-link.is-disabled{
  opacity:.55;
}
.kwwd-public-link.is-disabled input,
.kwwd-public-link.is-disabled button{
  cursor:not-allowed!important;
}
.kwwd-email-list-card{margin-bottom:18px}
.kwwd-live-card{margin-bottom:18px}
.kwwd-update-check{
  display:flex!important;
  grid-template-columns:auto 1fr;
  align-items:flex-start;
  gap:10px;
  margin:18px 0!important;
  padding:15px;
  border-radius:16px;
  background:rgba(199,146,85,.08);
  border:1px solid rgba(199,146,85,.28);
}
.kwwd-update-check input{width:auto!important;margin-top:4px}
.kwwd-update-check span{display:block}
.kwwd-update-check strong{display:block;color:#fff}
.kwwd-update-check small{display:block;color:rgba(255,255,255,.66);margin-top:4px;line-height:1.45}
.kwwd-history-card{margin-top:18px}
.kwwd-empty-updates{color:rgba(255,255,255,.62)}
.kwwd-update-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:15px;
  align-items:start;
  padding:17px;
  margin:10px 0;
  border-radius:17px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.035);
}
.kwwd-update-row small{display:block;color:rgba(255,255,255,.5);margin-bottom:5px}
.kwwd-update-row strong{display:block;color:#fff;font-size:17px}
.kwwd-update-row p{margin:7px 0 0!important;color:rgba(255,255,255,.76)!important}
.kwwd-update-row.kwwd-update-info{border-left:4px solid #4fa8ff}
.kwwd-update-row.kwwd-update-reminder{border-left:4px solid #4fcb81}
.kwwd-update-row.kwwd-update-change{border-left:4px solid #f0a13d}
.kwwd-update-row.kwwd-update-urgent{border-left:4px solid #ef5350}
.kwwd-delete-update{
  border:1px solid rgba(239,83,80,.42);
  background:rgba(239,83,80,.1);
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  cursor:pointer;
}

.kwwd-live-updates-public{
  margin:22px 0;
  padding:25px 21px;
  border-radius:24px;
  background:linear-gradient(135deg,rgba(199,146,85,.11),rgba(255,255,255,.025));
  border:1px solid rgba(199,146,85,.4);
}
.kwwd-live-updates-public h2{font-family:Georgia,serif;color:#fff;font-size:30px;margin:0 0 16px}
.kwwd-live-updates-list{display:grid;gap:12px}
.kwwd-live-update-public{
  padding:18px;
  border-radius:18px;
  background:#091113;
  border:1px solid rgba(255,255,255,.13);
}
.kwwd-live-update-public.kwwd-update-info{border-left:5px solid #4fa8ff}
.kwwd-live-update-public.kwwd-update-reminder{border-left:5px solid #4fcb81}
.kwwd-live-update-public.kwwd-update-change{border-left:5px solid #f0a13d}
.kwwd-live-update-public.kwwd-update-urgent{border-left:5px solid #ef5350}
.kwwd-live-update-badge{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#e9bd76;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.kwwd-live-update-public h3{color:#fff;font-size:21px;margin:10px 0 7px}
.kwwd-live-update-public p{color:rgba(255,255,255,.8);line-height:1.6;margin:0 0 10px}
.kwwd-live-update-public small{color:rgba(255,255,255,.48)}

@media(max-width:720px){
  .kwwd-update-row{grid-template-columns:1fr}
  .kwwd-delete-update{justify-self:start}
}


/* ===== V2.0 RSVP + QR ===== */
.kwwd-qr-box{margin-top:18px;padding:20px;text-align:center;border:1px solid rgba(199,146,85,.32);border-radius:20px;background:rgba(255,255,255,.03)}
.kwwd-qr-box.is-disabled{opacity:.45}.kwwd-qr-box img,.kwwd-public-qr img{width:190px;max-width:100%;height:auto;border-radius:14px;background:#fff;padding:8px}.kwwd-qr-box p{color:rgba(255,255,255,.7)!important}
.kwwd-rsvp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.kwwd-rsvp-stats div{padding:16px;border:1px solid rgba(199,146,85,.26);border-radius:16px;background:rgba(255,255,255,.035);text-align:center}.kwwd-rsvp-stats small{display:block;color:rgba(255,255,255,.55)}.kwwd-rsvp-stats strong{display:block;color:#e9bd76;font-size:25px;margin-top:4px}
.kwwd-rsvp-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:16px;margin:10px 0;border-radius:17px;border:1px solid rgba(199,146,85,.24);background:rgba(255,255,255,.03)}.kwwd-rsvp-row small{color:rgba(255,255,255,.5)}.kwwd-rsvp-row strong{display:block;color:#fff;font-size:17px}.kwwd-rsvp-row p{margin:5px 0!important;color:rgba(255,255,255,.72)!important}.kwwd-delete-rsvp{border:1px solid rgba(239,83,80,.42);background:rgba(239,83,80,.1);color:#fff;border-radius:999px;padding:8px 12px;cursor:pointer;height:max-content}
.kwwd-public-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kwwd-public-form-grid label{display:grid;gap:6px;color:#e9bd76;font-weight:800}.kwwd-public-form-grid input,.kwwd-public-form-grid select,.kwwd-public-form-grid textarea{width:100%;border:1px solid rgba(199,146,85,.34);border-radius:12px;background:#081012;color:#fff;padding:12px 13px}.kwwd-public-full{grid-column:1/-1}.kwwd-public-submit{margin-top:15px;border:0;border-radius:999px;padding:14px 20px;background:linear-gradient(135deg,#a97038,#e9bd76);color:#221307;font-weight:900;cursor:pointer}.kwwd-public-qr{text-align:center}
@media(max-width:720px){.kwwd-rsvp-stats,.kwwd-public-form-grid{grid-template-columns:1fr}.kwwd-public-full{grid-column:auto}.kwwd-rsvp-row{grid-template-columns:1fr}}


/* ===== V2.1 PERSONAL WEDDING WEBSITE ===== */
.kwwd-website-extra{margin-top:18px}
.kwwd-subheading{
  margin:25px 0 14px;
  color:#fff;
  font-family:Georgia,serif;
  font-size:23px;
}
.kwwd-switch-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.kwwd-site-switch{
  display:flex!important;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  min-height:54px;
  margin:0!important;
  padding:13px 14px;
  border:1px solid rgba(199,146,85,.28);
  border-radius:15px;
  background:rgba(255,255,255,.035);
  color:#fff!important;
}
.kwwd-site-switch input{width:auto!important}
.kwwd-site-switch span{color:#fff}

.kwwd-wedding-site-hero{
  min-height:480px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background-size:cover!important;
  background-position:center!important;
  padding:55px 24px!important;
}
.kwwd-wedding-site-hero:not(.has-image){
  background:
    radial-gradient(circle at top,rgba(199,146,85,.24),transparent 45%),
    linear-gradient(145deg,#0a1618,#02090d)!important;
}
.kwwd-hero-content{max-width:760px;margin:0 auto;text-align:center}
.kwwd-wedding-site-hero h1{text-shadow:0 5px 28px rgba(0,0,0,.65)}
.kwwd-public-countdown{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  margin:17px 0 0;
  padding:12px 20px;
  border:1px solid rgba(233,189,118,.55);
  border-radius:18px;
  background:rgba(0,0,0,.38);
  backdrop-filter:blur(7px);
}
.kwwd-public-countdown strong{font-family:Georgia,serif;font-size:38px;color:#e9bd76;line-height:1}
.kwwd-public-countdown span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;margin-top:5px}
.kwwd-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.kwwd-gallery-grid a{text-decoration:none!important}
.kwwd-gallery-grid img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(199,146,85,.28);
  display:block;
}
.kwwd-video-button{
  display:inline-flex;
  margin-top:18px;
  padding:12px 19px;
  border-radius:999px;
  background:#c79255;
  color:#221307!important;
  font-weight:900;
  text-decoration:none!important;
}
.kwwd-gifts-section{text-align:center}
.kwwd-gift-details{
  margin:18px auto 0;
  max-width:620px;
  padding:16px 18px;
  border:1px dashed rgba(199,146,85,.55);
  border-radius:16px;
  background:rgba(199,146,85,.08);
  color:#fff;
  overflow-wrap:anywhere;
}
.kwwd-faq-list{display:grid;gap:10px}
.kwwd-faq-list details{
  border:1px solid rgba(199,146,85,.28);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.kwwd-faq-list summary{
  cursor:pointer;
  padding:15px 18px;
  color:#fff;
  font-weight:800;
}
.kwwd-faq-list details p{padding:0 18px 16px;margin:0!important}

@media(max-width:720px){
  .kwwd-switch-grid{grid-template-columns:1fr}
  .kwwd-wedding-site-hero{min-height:560px;padding:45px 18px!important}
  .kwwd-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* v2.2 Wedding Website Builder */
.kwwd-site-nav{position:sticky;top:0;z-index:20;display:flex;gap:10px;overflow-x:auto;padding:12px 18px;background:rgba(2,9,13,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(233,189,118,.18);scrollbar-width:none}.kwwd-site-nav::-webkit-scrollbar{display:none}.kwwd-site-nav a{flex:0 0 auto;color:#f7e2bd;text-decoration:none;border:1px solid rgba(233,189,118,.26);border-radius:999px;padding:9px 14px;font-size:13px}.kwwd-wedding-site-hero h1 span{color:#e9bd76}.kwwd-card-icon{font-size:28px;display:block;margin-bottom:12px}.kwwd-dress-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.kwwd-dress-options label{margin:0}.kwwd-dress-options input{position:absolute;opacity:0}.kwwd-dress-options span{display:block;padding:14px;border:1px solid rgba(200,145,79,.28);border-radius:14px;text-align:center;cursor:pointer}.kwwd-dress-options input:checked+span{border-color:#e9bd76;background:rgba(233,189,118,.12);box-shadow:0 0 0 2px rgba(233,189,118,.12)}.kwwd-dress-public{text-align:center}.kwwd-dress-public>img{width:min(100%,760px);max-height:680px;object-fit:cover;border-radius:22px;margin-top:22px}.kwwd-video-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.kwwd-gift-details p{padding:14px;border:1px solid rgba(233,189,118,.2);border-radius:14px}.kwwd-wedding-website{overflow-x:hidden}.kwwd-wedding-website .kwwd-public-section{scroll-margin-top:90px}
@media(max-width:700px){.kwwd-dress-options{grid-template-columns:repeat(2,minmax(0,1fr))}.kwwd-site-nav{top:0}.kwwd-wedding-site-hero h1{font-size:clamp(38px,12vw,64px)}}

/* v3 Guests Manager */
.kwwd-guest-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.kwwd-guest-stats>div{padding:18px;border:1px solid rgba(200,145,79,.28);border-radius:18px;background:rgba(255,255,255,.025)}.kwwd-guest-stats small{display:block;color:#aeb9b9}.kwwd-guest-stats strong{display:block;font-size:28px;margin-top:6px}.kwwd-add-guest-form{margin-bottom:16px}.kwwd-guests-list{display:grid;gap:12px}.kwwd-guest-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px;border:1px solid rgba(200,145,79,.25);border-radius:18px;background:#071214}.kwwd-guest-main{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;min-width:0}.kwwd-guest-main strong{width:100%}.kwwd-guest-main small{color:#aeb9b9;overflow-wrap:anywhere}.kwwd-guest-status{font-size:12px;padding:5px 9px;border-radius:999px}.kwwd-guest-status.is-pending{background:#3a321f;color:#f0c676}.kwwd-guest-status.is-yes{background:#173c31;color:#91e1bd}.kwwd-guest-status.is-no{background:#452727;color:#ffb0b0}.kwwd-guest-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.kwwd-guest-actions button,.kwwd-guest-actions a{appearance:none;border:1px solid rgba(200,145,79,.35);background:transparent;color:#f4d09a;padding:9px 11px;border-radius:10px;text-decoration:none;cursor:pointer}.kwwd-personal-greeting{display:inline-block;margin:12px 0 0;padding:10px 16px;border:1px solid rgba(233,189,118,.5);border-radius:999px;background:rgba(2,9,13,.45)}.kwwd-rsvp-existing{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:rgba(200,145,79,.1);border:1px solid rgba(200,145,79,.25)}
@media(max-width:700px){.kwwd-guest-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kwwd-guest-row{align-items:flex-start;flex-direction:column}.kwwd-guest-actions{justify-content:flex-start;width:100%}.kwwd-guest-actions>*{flex:1;text-align:center;min-width:120px}}

/* v3.1 fixes: uploads, custom selects, QR download, RSVP removal */
.kwwd-upload-help{display:block;margin-top:8px;color:#aeb9b9;font-size:13px}
.kwwd-upload-preview{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px;border:1px solid rgba(200,145,79,.25);border-radius:14px;background:rgba(255,255,255,.025)}
.kwwd-upload-preview img{width:84px;height:84px;object-fit:cover;border-radius:12px;display:block}
.kwwd-upload-preview button,.kwwd-qr-download,.kwwd-rsvp-remove{appearance:none;border:1px solid rgba(233,189,118,.4);background:rgba(233,189,118,.08);color:#f1c982;padding:10px 14px;border-radius:12px;font-weight:800;cursor:pointer}
.kwwd-qr-download{margin-top:10px}
.kwwd-rsvp-remove{display:block;margin-top:12px;background:transparent;color:#ffb0b0;border-color:rgba(255,120,120,.35)}
.kwwd-rsvp-remove[hidden]{display:none!important}
.kwwd-native-select-hidden{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.kwwd-custom-select{position:relative;width:100%;z-index:5}
.kwwd-custom-select-button{width:100%;min-height:56px;text-align:left;padding:0 48px 0 18px;border:1px solid rgba(200,145,79,.35);border-radius:16px;background:#071214;color:#fff;font:inherit;cursor:pointer;position:relative}
.kwwd-custom-select-button:after{content:'⌄';position:absolute;right:18px;top:50%;transform:translateY(-50%);color:#e9bd76;font-size:20px}
.kwwd-custom-select-button[aria-expanded="true"]:after{transform:translateY(-50%) rotate(180deg)}
.kwwd-custom-select-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:9999;max-height:320px;overflow:auto;padding:8px;border:1px solid rgba(233,189,118,.35);border-radius:16px;background:#081416;box-shadow:0 20px 50px rgba(0,0,0,.55)}
.kwwd-custom-select-menu[hidden]{display:none!important}
.kwwd-custom-select-option{display:block;width:100%;padding:14px 16px;border:0;border-bottom:1px solid rgba(255,255,255,.06);background:transparent;color:#fff;text-align:left;font:inherit;cursor:pointer;border-radius:10px}
.kwwd-custom-select-option:last-child{border-bottom:0}
.kwwd-custom-select-option:hover,.kwwd-custom-select-option.is-selected{background:rgba(233,189,118,.12);color:#f1c982}
.kwwd-custom-select-option:disabled{opacity:.45;cursor:not-allowed}
.kwwd-dashboard input[type="file"]{padding:12px!important;height:auto!important;line-height:1.4!important}
@media(max-width:700px){.kwwd-custom-select-menu{position:fixed;left:18px;right:18px;top:50%;transform:translateY(-50%);max-height:70vh}.kwwd-upload-preview{align-items:flex-start}.kwwd-upload-preview img{width:72px;height:72px}}

/* ===== v3.2 critical mobile/public fixes ===== */
.kwwd-file-picker{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;padding:12px!important;border:1px solid rgba(199,146,85,.34)!important;border-radius:14px!important;background:#081012!important;color:#fff!important;cursor:pointer!important}
.kwwd-file-picker input[type="file"]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none!important}
.kwwd-file-picker span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 14px!important;border-radius:10px!important;background:linear-gradient(135deg,#a97038,#e9bd76)!important;color:#221307!important;font-weight:900!important}
.kwwd-file-picker em{min-width:0!important;flex:1!important;color:rgba(255,255,255,.8)!important;font-style:normal!important;overflow-wrap:anywhere!important}
body .kwwd-public.kwwd-wedding-website{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:120px 16px 70px!important;background:#02090d!important;color:#fff!important;overflow-x:hidden!important}
body .kwwd-public.kwwd-wedding-website>*{width:min(980px,100%)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
body .kwwd-public h1,body .kwwd-public h2,body .kwwd-public h3,body .kwwd-public strong,body .kwwd-public label{color:#fff!important}
body .kwwd-public p,body .kwwd-public small,body .kwwd-public span{color:rgba(255,255,255,.76)!important}
body .kwwd-public .kwwd-kicker{color:#e9bd76!important;letter-spacing:.28em!important;text-transform:uppercase!important;font-weight:900!important}
body .kwwd-public .kwwd-site-nav{display:flex!important;gap:10px!important;overflow-x:auto!important;padding:12px 14px!important;background:#071013!important;border:1px solid rgba(199,146,85,.28)!important;border-radius:16px!important}
body .kwwd-public .kwwd-site-nav a{display:inline-flex!important;color:#f7e2bd!important;text-decoration:none!important;border:1px solid rgba(233,189,118,.28)!important;border-radius:999px!important;padding:10px 14px!important;background:rgba(233,189,118,.06)!important}
body .kwwd-public .kwwd-live-updates-public,body .kwwd-public .kwwd-public-section{margin-top:22px!important;margin-bottom:22px!important;padding:24px 22px!important;border:1px solid rgba(199,146,85,.30)!important;border-radius:24px!important;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015))!important}
body .kwwd-public .kwwd-live-update-public{padding:16px!important;margin:12px 0!important;border:1px solid rgba(199,146,85,.22)!important;border-radius:16px!important;background:#071013!important}
body .kwwd-public .kwwd-public-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
body .kwwd-public .kwwd-public-card{padding:20px!important;border:1px solid rgba(199,146,85,.28)!important;border-radius:20px!important;background:#061012!important}
body .kwwd-public .kwwd-public-form-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important}
body .kwwd-public .kwwd-public-form-grid label{display:grid!important;gap:7px!important;color:#e9bd76!important;font-weight:800!important}
body .kwwd-public .kwwd-public-form-grid input,body .kwwd-public .kwwd-public-form-grid select,body .kwwd-public .kwwd-public-form-grid textarea{display:block!important;width:100%!important;min-height:54px!important;padding:13px 14px!important;border:1px solid rgba(199,146,85,.34)!important;border-radius:14px!important;background:#081012!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;box-sizing:border-box!important}
body .kwwd-public .kwwd-public-form-grid textarea{min-height:120px!important;resize:vertical!important}
body .kwwd-public .kwwd-public-full{grid-column:1/-1!important}
body .kwwd-public .kwwd-public-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:14px 22px!important;border:0!important;border-radius:999px!important;background:linear-gradient(135deg,#a97038,#e9bd76)!important;color:#221307!important;font-weight:900!important;box-shadow:none!important}
body .kwwd-public .kwwd-public-actions{display:flex!important;gap:12px!important;justify-content:center!important;flex-wrap:wrap!important}
body .kwwd-public .kwwd-public-actions a,body .kwwd-public .kwwd-public-actions button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:48px!important;padding:12px 18px!important;border:1px solid rgba(199,146,85,.38)!important;border-radius:999px!important;background:#17150f!important;color:#fff!important;text-decoration:none!important;font-weight:800!important}
@media(max-width:700px){body .kwwd-public.kwwd-wedding-website{padding:105px 12px 60px!important}body .kwwd-public .kwwd-public-grid,body .kwwd-public .kwwd-public-form-grid{grid-template-columns:1fr!important}body .kwwd-public .kwwd-public-full{grid-column:auto!important}body .kwwd-public .kwwd-live-updates-public,body .kwwd-public .kwwd-public-section{padding:22px 18px!important;border-radius:22px!important}}

/* v3.3 RSVP confirmation */
.kwwd-rsvp-confirmation{padding:26px;border:1px solid rgba(233,189,118,.35);border-radius:24px;background:rgba(0,0,0,.22);text-align:left}
.kwwd-rsvp-confirmation .kwwd-rsvp-check{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;margin:0 0 16px;background:#dca555;color:#071011;font-size:32px;font-weight:900}
.kwwd-rsvp-confirmation h3{color:#fff;margin:0 0 18px;font-size:1.6rem}
.kwwd-rsvp-confirmation p{margin:9px 0;color:#d7d7d7}
.kwwd-rsvp-confirmation .kwwd-public-submit,.kwwd-rsvp-confirmation .kwwd-rsvp-remove{margin-top:18px}

/* ===== v3.4 guest list, autofill and public layout fixes ===== */
.kwwd-guest-search-label{display:grid!important;gap:8px!important;margin:0 0 14px!important;color:#e9bd76!important;font-weight:800!important}
.kwwd-guest-search-label input{width:100%!important;background:#081214!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(199,146,85,.34)!important;border-radius:14px!important;padding:14px 16px!important}
.kwwd-guests-list{max-height:620px!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding-right:6px!important;scrollbar-width:thin!important;scrollbar-color:#c79255 #071214!important}
.kwwd-guests-list::-webkit-scrollbar{width:8px}.kwwd-guests-list::-webkit-scrollbar-track{background:#071214;border-radius:20px}.kwwd-guests-list::-webkit-scrollbar-thumb{background:#c79255;border-radius:20px}
.kwwd-guest-row[hidden]{display:none!important}
.kwwd-empty-search{padding:18px!important;text-align:center!important;color:#aeb9b9!important}

.kwwd-shell input:-webkit-autofill,.kwwd-shell input:-webkit-autofill:hover,.kwwd-shell input:-webkit-autofill:focus,
.kwwd-public input:-webkit-autofill,.kwwd-public input:-webkit-autofill:hover,.kwwd-public input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #081214 inset!important;
  box-shadow:0 0 0 1000px #081214 inset!important;
  caret-color:#fff!important;
  transition:background-color 9999s ease-out 0s!important;
}
.kwwd-shell input[type="email"],.kwwd-shell input[type="tel"],.kwwd-public input[type="email"],.kwwd-public input[type="tel"]{background:#081214!important;color:#fff!important;-webkit-text-fill-color:#fff!important}

.kwwd-confirm-overlay{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}
.kwwd-confirm-overlay[hidden]{display:none!important}.kwwd-confirm-box{width:min(440px,100%);padding:26px;border:1px solid rgba(233,189,118,.42);border-radius:24px;background:#081214;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.65)}
.kwwd-confirm-box h3{margin:0 0 10px;font-family:Georgia,serif;font-size:28px;color:#fff}.kwwd-confirm-box p{margin:0 0 22px;line-height:1.6;color:rgba(255,255,255,.76)}
.kwwd-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kwwd-confirm-actions button{min-height:48px;border-radius:999px;font-weight:900;cursor:pointer}
.kwwd-confirm-cancel{border:1px solid rgba(233,189,118,.35);background:transparent;color:#fff}.kwwd-confirm-ok{border:0;background:linear-gradient(135deg,#a97038,#e9bd76);color:#221307}

body .kwwd-public .kwwd-site-nav{width:min(980px,100%)!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important}
body .kwwd-public .kwwd-site-nav>a{flex:0 0 auto!important;width:auto!important;min-width:0!important}
body .kwwd-public .kwwd-site-nav section,body .kwwd-public .kwwd-site-nav form{display:none!important}
body .kwwd-public #rsvp{display:block!important;width:min(980px,100%)!important;max-width:100%!important;overflow:hidden!important}
body .kwwd-public #kwwd-rsvp-form{display:block!important;width:100%!important;max-width:100%!important}
body .kwwd-public #kwwd-rsvp-form[hidden]{display:none!important}
body .kwwd-public .kwwd-public-form-grid>*{min-width:0!important}
body .kwwd-public .kwwd-public-form-grid input,body .kwwd-public .kwwd-public-form-grid select,body .kwwd-public .kwwd-public-form-grid textarea{max-width:100%!important}
@media(max-width:700px){.kwwd-guests-list{max-height:520px!important}.kwwd-confirm-actions{grid-template-columns:1fr}.kwwd-guest-actions>*{min-width:0!important}.kwwd-guest-row{width:100%!important}}

/* ===== V3.5 structured RSVP and scalable guest manager ===== */
.kwwd-stat-card{appearance:none;width:100%;text-align:left;padding:18px;border:1px solid rgba(200,145,79,.28);border-radius:18px;background:rgba(255,255,255,.025);color:#fff;cursor:pointer}
.kwwd-stat-card small{display:block;color:#aeb9b9}.kwwd-stat-card strong{display:block;font-size:28px;margin-top:6px;color:#fff}.kwwd-stat-card.is-active{border-color:#e9bd76;background:rgba(233,189,118,.10);box-shadow:0 0 0 1px rgba(233,189,118,.15) inset}
.kwwd-guest-group-panel{margin:0 0 20px;padding:16px;border:1px solid rgba(233,189,118,.32);border-radius:18px;background:#071214;max-height:300px;overflow:auto}.kwwd-guest-group-head{position:sticky;top:0;display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:12px;background:#071214}.kwwd-guest-group-head button{border:1px solid rgba(233,189,118,.3);border-radius:999px;background:transparent;color:#e9bd76;padding:7px 12px}.kwwd-group-name{padding:10px 2px;border-top:1px solid rgba(255,255,255,.08);color:#fff}
.kwwd-guest-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,360px)}.kwwd-guest-actions>*{min-width:0!important;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.kwwd-guest-actions .kwwd-delete-guest{grid-column:1/-1}
.kwwd-rsvp-event-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}.kwwd-rsvp-event-summary>div{padding:16px;border:1px solid rgba(233,189,118,.3);border-radius:16px;background:rgba(255,255,255,.03)}.kwwd-rsvp-event-summary small{display:block;color:#aeb9b9;margin-bottom:5px}.kwwd-rsvp-event-summary strong{color:#fff}
.kwwd-rsvp-first-step{padding:20px;border:1px solid rgba(233,189,118,.3);border-radius:20px;background:rgba(255,255,255,.025)}.kwwd-rsvp-first-step>p{margin:0 0 14px!important;color:#e9bd76!important;font-weight:900;font-size:20px}.kwwd-rsvp-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kwwd-rsvp-choice{appearance:none;border:1px solid rgba(233,189,118,.4);border-radius:16px;background:#091214;color:#fff;padding:16px;font-weight:900;font-size:16px;cursor:pointer}.kwwd-rsvp-choice.is-selected{background:linear-gradient(135deg,#a97038,#e9bd76);color:#211307;border-color:transparent}
.kwwd-rsvp-details,.kwwd-rsvp-no-details{margin-top:18px;padding:20px;border:1px solid rgba(233,189,118,.28);border-radius:20px;background:rgba(0,0,0,.18)}.kwwd-rsvp-details h3{margin:0 0 16px;color:#fff;font-family:Georgia,serif;font-size:25px}
@media(max-width:700px){.kwwd-guest-actions{grid-template-columns:1fr 1fr!important;width:100%}.kwwd-rsvp-event-summary,.kwwd-rsvp-choice-grid{grid-template-columns:1fr}.kwwd-stat-card{min-height:105px}}

/* ===== v3.6 visual and interaction fixes ===== */
.kwwd-stat-card,
.kwwd-dashboard button.kwwd-stat-card,
.kwwd-shell button.kwwd-stat-card{
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important;
  color:#fff!important;
  border:1px solid rgba(233,189,118,.28)!important;
  box-shadow:none!important;
  text-align:center!important;
}
.kwwd-stat-card small{color:#aeb9b9!important}
.kwwd-stat-card strong{color:#e9bd76!important}
.kwwd-stat-card.is-active{
  background:rgba(233,189,118,.10)!important;
  border-color:#e9bd76!important;
}
.kwwd-stat-card:focus,.kwwd-stat-card:hover{background:rgba(233,189,118,.08)!important;color:#fff!important}
body .kwwd-public .kwwd-site-nav{min-height:0!important;height:auto!important;padding:12px 18px!important}
body .kwwd-public .kwwd-site-nav:empty{display:none!important}
body .kwwd-public #rsvp{position:relative!important;display:block!important;width:min(980px,100%)!important;max-width:100%!important;margin-inline:auto!important}
@media(max-width:700px){
  .kwwd-stat-card{min-height:105px!important;padding:16px 10px!important}
  body .kwwd-public .kwwd-site-nav{padding:10px 12px!important}
}


/* ===== v3.7 exact fixes: clickable stats + public layout isolation ===== */
.kwwd-guest-stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.kwwd-guest-stats .kwwd-stat-card{
  appearance:none!important;-webkit-appearance:none!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  min-width:0!important;min-height:108px!important;padding:16px 10px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.05),rgba(255,255,255,.018))!important;
  border:1px solid rgba(233,189,118,.32)!important;border-radius:18px!important;
  color:#fff!important;box-shadow:none!important;cursor:pointer!important;user-select:none!important;
}
.kwwd-guest-stats .kwwd-stat-card small{display:block!important;color:#aeb9b9!important;font-size:15px!important;line-height:1.25!important}
.kwwd-guest-stats .kwwd-stat-card strong{display:block!important;color:#e9bd76!important;font-size:34px!important;line-height:1!important;margin-top:7px!important}
.kwwd-guest-stats .kwwd-stat-card.is-active{background:rgba(233,189,118,.12)!important;border-color:#e9bd76!important;box-shadow:0 0 0 2px rgba(233,189,118,.08)!important}
.kwwd-guest-group-panel{display:block;width:100%;margin:14px 0 22px;padding:16px;border:1px solid rgba(233,189,118,.3);border-radius:18px;background:#071214}
.kwwd-guest-group-panel[hidden]{display:none!important}

/* Prevent Astra/theme flex and grid rules from turning sections into columns. */
body .site-content:has(.kwwd-public),body .ast-container:has(.kwwd-public),body .content-area:has(.kwwd-public),body .site-main:has(.kwwd-public),
body .entry-content:has(.kwwd-public){display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
body .kwwd-public.kwwd-wedding-website{display:block!important;position:relative!important;float:none!important;clear:both!important;width:100vw!important;max-width:none!important;min-width:0!important;overflow-x:clip!important}
body .kwwd-public.kwwd-wedding-website> *{float:none!important;clear:both!important;width:min(980px,calc(100% - 24px))!important;max-width:980px!important;margin-left:auto!important;margin-right:auto!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important}
body .kwwd-public.kwwd-wedding-website>.kwwd-site-nav{display:flex!important;width:min(980px,calc(100% - 24px))!important;height:auto!important;min-height:0!important;margin-top:14px!important;margin-bottom:22px!important;padding:10px 12px!important;overflow-x:auto!important;overflow-y:hidden!important}
body .kwwd-public.kwwd-wedding-website>#rsvp{display:block!important;width:min(980px,calc(100% - 24px))!important;max-width:980px!important;min-width:0!important;margin:22px auto!important;padding:24px 22px!important;overflow:visible!important}
body .kwwd-public.kwwd-wedding-website>#rsvp form,body .kwwd-public.kwwd-wedding-website>#rsvp .kwwd-rsvp-event-summary,body .kwwd-public.kwwd-wedding-website>#rsvp .kwwd-rsvp-first-step{display:block;width:100%;max-width:100%;min-width:0}
@media(max-width:700px){
 body .kwwd-public.kwwd-wedding-website> *{width:calc(100% - 24px)!important;max-width:none!important}
 body .kwwd-public.kwwd-wedding-website>#rsvp{width:calc(100% - 24px)!important;padding:22px 18px!important}
 .kwwd-guest-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* ===== v3.8 recommendations + definitive mobile scroll fix ===== */
html:has(.kwwd-dashboard),body:has(.kwwd-dashboard){overflow-y:auto!important;overflow-x:hidden!important;height:auto!important;min-height:100%!important;touch-action:pan-y!important}
.kwwd-dashboard,.kwwd-dashboard form,.kwwd-dashboard .kwwd-tab,.kwwd-dashboard .kwwd-card,.kwwd-dashboard .kwwd-switch-grid{overflow:visible!important;touch-action:pan-y!important;overscroll-behavior-y:auto!important}
.kwwd-dashboard .kwwd-tabs{touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important;overscroll-behavior-y:auto!important}
.kwwd-dashboard .kwwd-site-switch{touch-action:pan-y!important}
.kwwd-recommendation-search-label{display:grid;gap:8px;margin-top:18px;color:#e9bd76;font-weight:800}
.kwwd-recommendation-search-label input{width:100%;padding:14px 16px;border:1px solid rgba(233,189,118,.32);border-radius:15px;background:#071214;color:#fff;-webkit-text-fill-color:#fff}
.kwwd-recommendation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.kwwd-recommendation-head h2{margin-bottom:0}
.kwwd-recommendation-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.kwwd-recommendation-tools button{appearance:none;border:1px solid rgba(233,189,118,.34);border-radius:999px;background:#071214;color:#f2d09c;padding:9px 13px;font-weight:800;cursor:pointer}
.kwwd-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kwwd-library-card{position:relative;display:grid!important;grid-template-columns:112px 1fr;min-height:150px;margin:0!important;padding:0!important;border:1px solid rgba(233,189,118,.27)!important;border-radius:19px!important;overflow:hidden;background:#061012!important;color:#fff!important;cursor:pointer;touch-action:pan-y!important}
.kwwd-library-card[hidden]{display:none!important}
.kwwd-library-card>input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.kwwd-library-card>img,.kwwd-library-placeholder{width:112px;height:100%;min-height:150px;object-fit:cover;background:linear-gradient(145deg,#162124,#090f11);display:grid;place-items:center;font-size:34px;color:#e9bd76}
.kwwd-library-content{display:flex;flex-direction:column;gap:7px;padding:17px 42px 17px 16px;min-width:0}
.kwwd-library-content strong{font-family:Georgia,serif;font-size:22px;color:#e9bd76}
.kwwd-library-content small{font-size:14px;line-height:1.5;color:#d1d7d7}
.kwwd-library-content em{margin-top:auto;font-size:12px;line-height:1.45;color:#8e9b9c;font-style:normal}
.kwwd-library-check{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(233,189,118,.38);border-radius:50%;background:#071214;color:transparent;font-weight:900}
.kwwd-library-card:has(input:checked){border-color:#e9bd76!important;box-shadow:0 0 0 2px rgba(233,189,118,.09) inset}
.kwwd-library-card:has(input:checked) .kwwd-library-check{background:linear-gradient(135deg,#ad7339,#e9bd76);color:#211307;border-color:transparent}
body .kwwd-public .kwwd-guide-card.has-no-image{display:block!important}
body .kwwd-public .kwwd-guide-card.has-no-image>div{padding:20px!important}
.kwwd-guide-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.kwwd-guide-links a{display:inline-flex;padding:8px 11px;border:1px solid rgba(233,189,118,.3);border-radius:999px;color:#e9bd76;text-decoration:none;font-weight:800;font-size:13px}
@media(max-width:700px){
 .kwwd-recommendation-head{display:grid}.kwwd-recommendation-tools{justify-content:flex-start}
 .kwwd-library-grid{grid-template-columns:1fr}
 .kwwd-library-card{grid-template-columns:100px 1fr;min-height:145px}
 .kwwd-library-card>img,.kwwd-library-placeholder{width:100px;min-height:145px}
 .kwwd-library-content{padding:15px 38px 15px 14px}
 .kwwd-library-content strong{font-size:20px}
}

/* ===== v3.9 branded icons + richer guest recommendations ===== */
.kwwd-brand-icon{width:26px;height:26px;object-fit:contain;display:inline-block;vertical-align:middle;flex:0 0 26px}
.kwwd-nav .kwwd-brand-icon{width:25px;height:25px}
.kwwd-site-switch>span,.kwwd-dress-options label>span{display:flex;align-items:center;gap:10px}
.kwwd-site-switch>span b,.kwwd-dress-options label>span b{font:inherit;color:inherit}
.kwwd-file-picker .kwwd-brand-icon{width:22px;height:22px;margin-right:7px}
.kwwd-kicker-with-icon{display:flex;align-items:center;gap:9px}
.kwwd-kicker-with-icon .kwwd-brand-icon{width:22px;height:22px}
.kwwd-guide-card-body{padding:22px;min-width:0}
.kwwd-guide-desc{margin:8px 0 8px}
.kwwd-place-details{display:grid;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(233,189,118,.18)}
.kwwd-place-details>div{display:grid;gap:3px}
.kwwd-place-details strong{color:#e9bd76;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
.kwwd-place-details span{color:rgba(255,255,255,.78);line-height:1.55;font-size:.94rem}
.kwwd-guide-links{margin-top:18px}
@media(max-width:640px){
 .kwwd-brand-icon{width:23px;height:23px;flex-basis:23px}
 .kwwd-guide-card-body{padding:18px}
 .kwwd-place-details strong{font-size:.76rem}
}

/* ===== v3.10 larger branded icons + distinct dress-code icons ===== */
.kwwd-brand-icon{
  width:44px !important;
  height:44px !important;
  flex:0 0 44px !important;
  object-fit:contain;
}
.kwwd-site-switch>span{
  gap:18px !important;
  min-height:82px;
  padding-top:14px !important;
  padding-bottom:14px !important;
}
.kwwd-site-switch>span .kwwd-brand-icon{
  width:46px !important;
  height:46px !important;
  flex-basis:46px !important;
}
.kwwd-dress-options label>span{
  gap:14px !important;
  min-height:92px;
  justify-content:flex-start;
  padding:18px !important;
}
.kwwd-dress-options label>span .kwwd-brand-icon{
  width:50px !important;
  height:50px !important;
  flex-basis:50px !important;
}
.kwwd-nav .kwwd-brand-icon{
  width:38px !important;
  height:38px !important;
  flex-basis:38px !important;
}
.kwwd-kicker-with-icon .kwwd-brand-icon,
.kwwd-file-picker .kwwd-brand-icon{
  width:34px !important;
  height:34px !important;
  flex-basis:34px !important;
}
@media(max-width:640px){
  .kwwd-brand-icon{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
  .kwwd-site-switch>span .kwwd-brand-icon{
    width:44px !important;
    height:44px !important;
    flex-basis:44px !important;
  }
  .kwwd-dress-options label>span{
    min-height:100px;
    gap:12px !important;
    padding:16px 13px !important;
  }
  .kwwd-dress-options label>span .kwwd-brand-icon{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }
}


/* ===== v3.11 exact icon visibility + RSVP always available ===== */
.kwwd-tabs button.is-active .kwwd-brand-icon,
.kwwd-site-switch input:checked + span .kwwd-brand-icon,
.kwwd-dress-options input:checked + span .kwwd-brand-icon{
  filter:brightness(0) saturate(100%) !important;
  opacity:.9 !important;
}
.kwwd-overview-icon-image{
  display:grid !important;
  place-items:center !important;
  overflow:hidden;
}
.kwwd-overview-icon-image .kwwd-brand-icon{
  width:42px !important;
  height:42px !important;
  flex-basis:42px !important;
}
.kwwd-tabs button.is-active[data-tab="guide"] .kwwd-brand-icon,
.kwwd-tabs button.is-active[data-tab="website"] .kwwd-brand-icon{
  filter:brightness(0) saturate(100%) !important;
}

/* ===== v3.15 Wedding Organizer ===== */
.kwwd-organizer-intro{overflow:hidden}
.kwwd-budget-target{display:block;max-width:360px;margin:22px 0}
.kwwd-budget-target>span{display:flex;align-items:center;gap:8px;margin-top:8px}
.kwwd-budget-target input{min-width:0;flex:1}
.kwwd-budget-target b{font-size:22px;color:#e9bd76}
.kwwd-budget-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}
.kwwd-budget-summary article{padding:18px 15px;border:1px solid rgba(233,189,118,.28);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));min-width:0}
.kwwd-budget-summary small{display:block;color:rgba(255,255,255,.62);font-weight:800;margin-bottom:8px}
.kwwd-budget-summary strong{display:block;color:#e9bd76;font-size:23px;line-height:1.1;overflow-wrap:anywhere}
.kwwd-progress-wrap{padding:18px;border:1px solid rgba(233,189,118,.25);border-radius:16px;background:#071013}
.kwwd-progress-wrap>div:first-child{display:flex;justify-content:space-between;gap:15px;margin-bottom:10px;font-weight:900}
.kwwd-progress-wrap small{display:block;margin-top:9px;color:rgba(255,255,255,.65)}
.kwwd-progress-track{height:11px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.kwwd-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a97038,#e9bd76);transition:width .25s ease}
.kwwd-organizer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.kwwd-organizer-card{border:1px solid rgba(233,189,118,.28);border-radius:20px;background:linear-gradient(180deg,#0b1518,#071013);padding:20px;min-width:0;box-shadow:0 14px 32px rgba(0,0,0,.26)}
.kwwd-organizer-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}
.kwwd-organizer-card>header>div{display:flex;align-items:center;gap:12px;min-width:0}
.kwwd-organizer-card>header .kwwd-brand-icon{width:42px!important;height:42px!important;flex-basis:42px!important}
.kwwd-organizer-card h3{margin:0;color:#fff;font-size:21px;line-height:1.15}
.kwwd-organizer-status-pill{display:inline-flex;align-items:center;min-height:27px;padding:5px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:10px;font-weight:900;color:#d8d1ca;white-space:nowrap}
.kwwd-organizer-card[data-status="requested"]{border-color:rgba(233,189,118,.52)}
.kwwd-organizer-card[data-status="requested"] .kwwd-organizer-status-pill{color:#e9bd76;border-color:rgba(233,189,118,.42);background:rgba(233,189,118,.07)}
.kwwd-organizer-card[data-status="talking"]{border-color:rgba(96,165,250,.5)}
.kwwd-organizer-card[data-status="talking"] .kwwd-organizer-status-pill{color:#93c5fd;border-color:rgba(96,165,250,.4);background:rgba(96,165,250,.08)}
.kwwd-organizer-card[data-status="booked"]{border-color:rgba(74,222,128,.52);box-shadow:0 0 0 1px rgba(74,222,128,.06) inset,0 14px 32px rgba(0,0,0,.26)}
.kwwd-organizer-card[data-status="booked"] .kwwd-organizer-status-pill{color:#86efac;border-color:rgba(74,222,128,.38);background:rgba(74,222,128,.08)}
.kwwd-organizer-card[data-status="cancelled"]{opacity:.72}
.kwwd-organizer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.kwwd-organizer-fields label{min-width:0}
.kwwd-organizer-fields .kwwd-full{grid-column:1/-1}
.kwwd-kw-booking{display:flex!important;align-items:center;gap:10px;padding:13px;border:1px solid rgba(233,189,118,.2);border-radius:13px;background:rgba(233,189,118,.04);cursor:pointer}
.kwwd-kw-booking input{width:22px!important;height:22px!important;min-width:22px;margin:0!important;accent-color:#e9bd76}
.kwwd-kw-booking span{color:#f0eae3;font-weight:800;line-height:1.35}
.kwwd-organizer-document{display:inline-flex;margin-top:10px;color:#e9bd76!important;font-weight:900;text-decoration:none!important}
@media(max-width:820px){.kwwd-budget-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kwwd-organizer-grid{grid-template-columns:1fr}}
@media(max-width:520px){.kwwd-budget-summary{grid-template-columns:1fr 1fr;gap:8px}.kwwd-budget-summary article{padding:14px 11px}.kwwd-budget-summary strong{font-size:18px}.kwwd-organizer-card{padding:17px 14px}.kwwd-organizer-card>header{display:grid}.kwwd-organizer-status-pill{justify-self:start}.kwwd-organizer-fields{grid-template-columns:1fr}.kwwd-organizer-fields .kwwd-full{grid-column:auto}}


/* ===== v3.16 Featured Organizer + Guest Accommodation ===== */
.kwwd-organizer-feature{width:100%;margin:24px 0 28px;padding:22px;border:1.5px solid rgba(233,189,118,.72);border-radius:22px;background:radial-gradient(circle at 10% 20%,rgba(233,189,118,.22),transparent 28%),linear-gradient(135deg,#11110d,#071013 62%,#02090d);display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:18px;align-items:center;text-align:left;color:#fff;box-shadow:0 0 30px rgba(200,145,79,.2),0 18px 40px rgba(0,0,0,.32);cursor:pointer}
.kwwd-organizer-feature:hover{transform:translateY(-1px);border-color:#e9bd76}
.kwwd-organizer-feature-icon{width:74px;height:74px;border:1px solid rgba(233,189,118,.35);border-radius:50%;display:grid;place-items:center;background:rgba(200,145,79,.08)}
.kwwd-organizer-feature-icon .kwwd-brand-icon{width:50px!important;height:50px!important;flex-basis:50px!important}
.kwwd-organizer-feature small{display:block;color:#e9bd76;font-size:10px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:4px}
.kwwd-organizer-feature strong{display:block;color:#fff;font-family:Georgia,serif;font-size:28px;line-height:1.08;margin-bottom:5px}
.kwwd-organizer-feature em{display:block;color:rgba(255,255,255,.72);font-style:normal;font-size:13px;line-height:1.45}
.kwwd-organizer-feature b{color:#1b1209;background:linear-gradient(135deg,#a97038,#e9bd76);padding:11px 16px;border-radius:10px;white-space:nowrap}
.kwwd-stay-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}
.kwwd-stay-stats article{padding:17px;border:1px solid rgba(233,189,118,.25);border-radius:15px;background:rgba(255,255,255,.025);text-align:center}
.kwwd-stay-stats small{display:block;color:rgba(255,255,255,.62);font-weight:800;margin-bottom:6px}.kwwd-stay-stats strong{color:#e9bd76;font-size:26px}
.kwwd-empty-state{padding:24px;border:1px dashed rgba(233,189,118,.32);border-radius:16px;text-align:center}.kwwd-empty-state strong,.kwwd-empty-state span{display:block}.kwwd-empty-state span{margin-top:7px;color:rgba(255,255,255,.66)}
.kwwd-stay-list{display:grid;gap:13px}.kwwd-stay-row{padding:18px;border:1px solid rgba(233,189,118,.24);border-radius:18px;background:#071013}.kwwd-stay-row header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:15px}.kwwd-stay-row header strong{display:block;font-size:19px}.kwwd-stay-row header small{display:block;color:rgba(255,255,255,.55);margin-top:4px}.kwwd-stay-row header>span{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid rgba(233,189,118,.3);color:#e9bd76}.kwwd-stay-row header>span.is-booked{color:#86efac;border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.07)}
.kwwd-stay-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px}.kwwd-stay-details p{margin:0;color:#eee;overflow-wrap:anywhere}.kwwd-stay-details b{display:block;color:rgba(255,255,255,.55);font-size:11px;margin-bottom:3px}.kwwd-stay-details a{color:#e9bd76!important}.kwwd-stay-notes{grid-column:1/-1}.kwwd-stay-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.kwwd-stay-actions a,.kwwd-stay-actions button{min-height:40px;padding:9px 14px;border:1px solid rgba(233,189,118,.32);border-radius:10px;background:transparent;color:#e9bd76!important;font-weight:900}.kwwd-stay-actions button{color:#f5a4a4!important;border-color:rgba(239,68,68,.28)}
.kwwd-stay-help-public{background:radial-gradient(circle at top right,rgba(200,145,79,.16),transparent 32%),#071013!important;border:1.5px solid rgba(233,189,118,.55)!important}.kwwd-stay-help-head{display:flex;align-items:center;gap:16px}.kwwd-stay-help-head>.kwwd-brand-icon{width:74px!important;height:74px!important;flex-basis:74px!important}.kwwd-stay-help-head h2{margin:0!important}.kwwd-stay-help-copy{color:#ddd6cf;font-size:16px;line-height:1.65}.kwwd-stay-event-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.kwwd-stay-event-summary>div{padding:14px;border:1px solid rgba(233,189,118,.26);border-radius:13px;background:rgba(0,0,0,.22)}.kwwd-stay-event-summary small,.kwwd-stay-event-summary strong{display:block}.kwwd-stay-event-summary small{color:rgba(255,255,255,.56);margin-bottom:5px}.kwwd-stay-event-summary strong{color:#e9bd76}.kwwd-public-form-grid label small{font-weight:400;color:rgba(255,255,255,.5)}#kwwd-accommodation-result{margin-top:13px;padding:0}#kwwd-accommodation-result.is-success,#kwwd-accommodation-result.is-error{padding:14px;border-radius:12px}#kwwd-accommodation-result.is-success{background:#113c27;border:1px solid #2d8c58;color:#fff}#kwwd-accommodation-result.is-error{background:#3b1519;border:1px solid #9e3945;color:#fff}
@media(max-width:700px){.kwwd-organizer-feature{grid-template-columns:62px minmax(0,1fr);padding:18px 15px;gap:13px}.kwwd-organizer-feature-icon{width:62px;height:62px}.kwwd-organizer-feature-icon .kwwd-brand-icon{width:42px!important;height:42px!important;flex-basis:42px!important}.kwwd-organizer-feature strong{font-size:23px}.kwwd-organizer-feature b{grid-column:1/-1;text-align:center}.kwwd-stay-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kwwd-stay-details{grid-template-columns:1fr}.kwwd-stay-notes{grid-column:auto}.kwwd-stay-event-summary{grid-template-columns:1fr}.kwwd-stay-help-head{align-items:flex-start}.kwwd-stay-help-head>.kwwd-brand-icon{width:58px!important;height:58px!important;flex-basis:58px!important}}


/* ===== v3.16.1 Partner dropdowns ===== */
.kwwd-partner-other{margin-top:9px!important}
.kwwd-partner-other[hidden]{display:none!important}


/* ===== v3.20 RSVP-first guest flow ===== */
body .kwwd-public.kwwd-wedding-website{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important}
body .kwwd-public.kwwd-wedding-website>.kwwd-public-hero{order:1}
body .kwwd-public.kwwd-wedding-website>.kwwd-site-nav{order:2}
body .kwwd-public.kwwd-wedding-website>#rsvp{order:3}
body .kwwd-public.kwwd-wedding-website>*:not(.kwwd-public-hero):not(.kwwd-site-nav):not(#rsvp){order:4}
body .kwwd-public.kwwd-wedding-website.kwwd-rsvp-locked>*:not(.kwwd-public-hero):not(.kwwd-site-nav):not(#rsvp){display:none!important}
body .kwwd-public.kwwd-wedding-website.kwwd-rsvp-locked>#rsvp{margin-top:22px!important}
.kwwd-stay-validation{margin:12px 0 0;padding:13px 15px;border:1px solid rgba(255,120,120,.45);border-radius:13px;background:rgba(120,20,20,.22);color:#ffd2d2;font-weight:800}


/* ===== v3.21 Accommodation search + quote modal ===== */
#kwwd-accommodation-search-message{margin-top:13px}
#kwwd-accommodation-search-message.is-success,#kwwd-accommodation-search-message.is-error,#kwwd-quote-result.is-success,#kwwd-quote-result.is-error{padding:13px 15px;border-radius:12px}
#kwwd-accommodation-search-message.is-success,#kwwd-quote-result.is-success{background:#113c27;border:1px solid #2d8c58;color:#fff}
#kwwd-accommodation-search-message.is-error,#kwwd-quote-result.is-error{background:#3b1519;border:1px solid #9e3945;color:#fff}
.kwwd-accommodation-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px;scroll-margin-top:20px}
.kwwd-accommodation-results[hidden]{display:none!important}
.kwwd-accommodation-card{min-width:0;overflow:hidden;border:1px solid rgba(233,189,118,.32);border-radius:20px;background:#071013;box-shadow:0 18px 36px rgba(0,0,0,.3)}
.kwwd-accommodation-photo{position:relative;height:190px;background:#111;overflow:hidden}
.kwwd-accommodation-photo img{width:100%;height:100%;object-fit:cover;display:block}
.kwwd-accommodation-photo>b{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.72);border:1px solid rgba(233,189,118,.55);color:#e9bd76;font-size:10px;text-transform:uppercase;letter-spacing:1px}
.kwwd-accommodation-placeholder{width:100%;height:100%;display:grid;place-items:center;color:#e9bd76;font-family:Georgia,serif;font-size:42px;background:radial-gradient(circle,rgba(200,145,79,.18),#071013)}
.kwwd-accommodation-card-body{padding:18px}
.kwwd-accommodation-card-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.kwwd-accommodation-card-head h3{margin:0 0 5px;color:#fff;font-size:22px;line-height:1.12}.kwwd-accommodation-card-head p{margin:0;color:rgba(255,255,255,.58);font-size:13px}
.kwwd-accommodation-card-head>strong{color:#e9bd76;text-align:right;white-space:nowrap;font-size:20px}.kwwd-accommodation-card-head>strong small{display:block;color:rgba(255,255,255,.5);font-size:10px;margin-top:2px}
.kwwd-accommodation-room,.kwwd-accommodation-total{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border:1px solid rgba(233,189,118,.18);border-radius:12px;background:rgba(255,255,255,.025)}
.kwwd-accommodation-room b,.kwwd-accommodation-total strong{color:#fff}.kwwd-accommodation-room span,.kwwd-accommodation-total small{color:rgba(255,255,255,.58)}
.kwwd-accommodation-amenities{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.kwwd-accommodation-amenities span{padding:5px 8px;border-radius:999px;background:rgba(233,189,118,.08);border:1px solid rgba(233,189,118,.2);color:#e9bd76;font-size:10px;font-weight:800}
.kwwd-accommodation-status{margin:0 0 13px;color:#cfc7bf;font-size:12px;font-weight:800}
.kwwd-request-quote{width:100%;min-height:46px;border:0;border-radius:11px;background:linear-gradient(135deg,#a97038,#e9bd76);color:#1b1209;font-weight:900;padding:12px 14px;cursor:pointer}
.kwwd-quote-modal[hidden]{display:none!important}.kwwd-quote-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:16px}.kwwd-quote-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(5px)}
.kwwd-quote-dialog{position:relative;z-index:2;width:min(620px,100%);max-height:92vh;overflow:auto;padding:28px 22px;border:1.5px solid rgba(233,189,118,.68);border-radius:23px;background:radial-gradient(circle at top right,rgba(200,145,79,.18),transparent 34%),#071013;box-shadow:0 28px 70px rgba(0,0,0,.55);color:#fff}
.kwwd-quote-dialog h2{margin:0 40px 10px 0;color:#fff;font-family:Georgia,serif;font-size:30px;line-height:1.1}.kwwd-quote-dialog>p:not(.kwwd-kicker){color:#d8d1ca;line-height:1.6}
.kwwd-quote-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid rgba(233,189,118,.32);border-radius:50%;background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.kwwd-quote-assurance{display:grid;gap:7px;margin:15px 0}.kwwd-quote-assurance span{position:relative;padding-left:24px;color:#ddd6cf;font-size:13px}.kwwd-quote-assurance span:before{content:'✓';position:absolute;left:0;color:#e9bd76;font-weight:900}
body.kwwd-modal-open{overflow:hidden!important}
@media(max-width:720px){.kwwd-accommodation-results{grid-template-columns:1fr}.kwwd-accommodation-photo{height:180px}.kwwd-accommodation-card-head{display:grid}.kwwd-accommodation-card-head>strong{text-align:left}.kwwd-quote-dialog{padding:25px 16px}.kwwd-quote-dialog h2{font-size:26px}}


/* ===== v3.21.1 Progressive guest journey ===== */
.kwwd-rsvp-selected-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;border:1px solid rgba(233,189,118,.32);border-radius:14px;background:rgba(233,189,118,.08)}
.kwwd-rsvp-selected-summary[hidden]{display:none!important}.kwwd-rsvp-selected-summary span{color:#fff;font-weight:900}.kwwd-rsvp-selected-summary button,.kwwd-secondary-action{appearance:none;border:1px solid rgba(233,189,118,.42);border-radius:11px;background:transparent;color:#e9bd76;padding:10px 14px;font-weight:850;cursor:pointer}
.kwwd-rsvp-next-actions{display:grid;gap:10px;margin:20px 0 12px}.kwwd-rsvp-next-actions .kwwd-public-submit{margin:0!important}
/* The personal guest page starts as a real wizard, not as all sections at once. */
body .kwwd-public.kwwd-progressive-guest.kwwd-rsvp-open:not(.kwwd-show-wedding-info)>*{display:none!important}
body .kwwd-public.kwwd-progressive-guest.kwwd-rsvp-open:not(.kwwd-show-wedding-info)>.kwwd-public-hero,
body .kwwd-public.kwwd-progressive-guest.kwwd-rsvp-open:not(.kwwd-show-wedding-info)>#rsvp{display:block!important}
body .kwwd-public.kwwd-progressive-guest.kwwd-rsvp-open.kwwd-show-stay:not(.kwwd-show-wedding-info)>#stay-help{display:block!important}
body .kwwd-public.kwwd-progressive-guest.kwwd-rsvp-open.kwwd-show-stay:not(.kwwd-show-wedding-info)>#kwwd-quote-modal:not([hidden]){display:grid!important}
body .kwwd-public.kwwd-progressive-guest.kwwd-show-wedding-info>*{display:block}
body .kwwd-public.kwwd-progressive-guest.kwwd-show-wedding-info>#kwwd-quote-modal[hidden]{display:none!important}
body .kwwd-public.kwwd-progressive-guest>#rsvp{order:2!important}
body .kwwd-public.kwwd-progressive-guest>.kwwd-site-nav{order:3!important}
body .kwwd-public.kwwd-progressive-guest>#stay-help{order:4!important}
@media(max-width:700px){.kwwd-rsvp-selected-summary{align-items:flex-start;flex-direction:column}.kwwd-rsvp-selected-summary button{width:100%}}

/* ===== v3.21.2 Universal progressive RSVP flow ===== */
/* Applies to personal and shared wedding links. Only the hero and RSVP are visible first. */
body .kwwd-public.kwwd-progressive-flow.kwwd-rsvp-open:not(.kwwd-show-wedding-info)>*{display:none!important}
body .kwwd-public.kwwd-progressive-flow.kwwd-rsvp-open:not(.kwwd-show-wedding-info)>.kwwd-public-hero,
body .kwwd-public.kwwd-progressive-flow.kwwd-rsvp-open:not(.kwwd-show-wedding-info)>#rsvp{display:block!important}
body .kwwd-public.kwwd-progressive-flow.kwwd-rsvp-open.kwwd-show-stay:not(.kwwd-show-wedding-info)>#stay-help{display:block!important}
body .kwwd-public.kwwd-progressive-flow.kwwd-rsvp-open.kwwd-show-stay:not(.kwwd-show-wedding-info)>#kwwd-quote-modal:not([hidden]){display:grid!important}
body .kwwd-public.kwwd-progressive-flow.kwwd-show-wedding-info>*{display:block}
body .kwwd-public.kwwd-progressive-flow.kwwd-show-wedding-info>#kwwd-quote-modal[hidden]{display:none!important}
body .kwwd-public.kwwd-progressive-flow>#rsvp{order:2!important}
body .kwwd-public.kwwd-progressive-flow>.kwwd-site-nav{order:3!important}
body .kwwd-public.kwwd-progressive-flow>#stay-help{order:4!important}
body .kwwd-public.kwwd-progressive-flow:not(.kwwd-show-stay):not(.kwwd-show-wedding-info)>#stay-help{display:none!important}
.kwwd-inline-rsvp-confirmation{margin-top:18px;padding:22px;border:1px solid rgba(233,189,118,.35);border-radius:20px;background:rgba(0,0,0,.22)}
.kwwd-inline-rsvp-confirmation h3{margin:0 0 9px;color:#fff;font-family:Georgia,serif;font-size:25px}
.kwwd-inline-rsvp-confirmation p{margin:0 0 16px;color:#d7d7d7}


/* ===== v3.21.5 Wedding info overview + PWA install ===== */
.kwwd-info-overview{background:radial-gradient(circle at top right,rgba(233,189,118,.15),transparent 34%),#071013!important;border:1.5px solid rgba(233,189,118,.48)!important}
.kwwd-info-intro{color:#d9d4ce;font-size:16px;line-height:1.65;margin:0 0 20px}
.kwwd-info-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:18px 0 22px}
.kwwd-info-overview-grid a{display:flex;flex-direction:column;gap:6px;min-height:92px;padding:16px;border:1px solid rgba(233,189,118,.28);border-radius:15px;background:rgba(0,0,0,.22);text-decoration:none!important}
.kwwd-info-overview-grid small{color:rgba(255,255,255,.58);font-size:13px}.kwwd-info-overview-grid strong{color:#fff;font-size:16px;line-height:1.35}
.kwwd-install-feature,.kwwd-install-app{cursor:pointer}.kwwd-install-feature{width:100%;min-height:52px;border:0;border-radius:13px;background:linear-gradient(135deg,#a97038,#e9bd76);color:#171008;font-weight:900;font-size:16px}
.kwwd-install-note{margin:10px 0 0!important;color:rgba(255,255,255,.62)!important;font-size:13px!important;text-align:center}.kwwd-install-app.is-ready{box-shadow:0 0 0 2px rgba(233,189,118,.25),0 10px 26px rgba(200,145,79,.28)}
.kwwd-install-help[hidden]{display:none!important}.kwwd-install-help{position:fixed;inset:0;z-index:999999;background:rgba(0,0,0,.78);display:grid;place-items:center;padding:20px}.kwwd-install-help-card{position:relative;width:min(430px,100%);padding:28px 22px 22px;border:1px solid rgba(233,189,118,.55);border-radius:22px;background:#071013;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.6)}.kwwd-install-help-card h3{font-family:Georgia,serif;font-size:27px;margin:0 34px 13px 0}.kwwd-install-help-card p{color:#d9d4ce;font-size:16px;line-height:1.65}.kwwd-install-close:first-child{position:absolute;right:13px;top:10px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:27px}.kwwd-install-help-card .kwwd-public-submit{width:100%;margin-top:12px}
body .kwwd-public.kwwd-progressive-flow.kwwd-show-wedding-info>#wedding-info-overview{display:block!important}
@media(max-width:520px){.kwwd-info-overview-grid{grid-template-columns:1fr}.kwwd-info-overview-grid a{min-height:78px}}

/* ===== v3.21.6 Selected wedding guide ===== */
.kwwd-selected-guide{margin:22px 0;padding:18px;border:1px solid rgba(233,189,118,.32);border-radius:18px;background:rgba(0,0,0,.18)}
.kwwd-selected-guide-title{margin:0 0 13px!important;color:#fff!important;font-weight:900;font-size:16px!important}
.kwwd-selected-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.kwwd-selected-guide-grid a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:13px 14px;border:1px solid rgba(233,189,118,.28);border-radius:13px;background:#071214;color:#fff!important;text-decoration:none!important;font-weight:850}
.kwwd-selected-guide-grid a span{color:#e9bd76;font-size:18px}
.kwwd-info-stay-link{display:flex;align-items:center;justify-content:center;min-height:50px;margin:16px 0 14px;border:1px solid rgba(233,189,118,.38);border-radius:13px;color:#e9bd76!important;text-decoration:none!important;font-weight:900}
@media(max-width:520px){.kwwd-selected-guide-grid{grid-template-columns:1fr}}


/* ===== v3.21.7 reliable selected guide ===== */
.kwwd-selected-guide-empty p:last-child{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.55}
body .kwwd-public.kwwd-progressive-flow.kwwd-show-wedding-info>.kwwd-recommendations-public{display:block!important}

.kwwd-library-autosave-state{margin-top:14px;padding:10px 14px;border:1px solid rgba(61,184,125,.45);border-radius:999px;background:rgba(25,120,76,.16);color:#9ee2bd;font-weight:800;text-align:center}.kwwd-library-autosave-state.is-error{border-color:rgba(210,80,80,.55);background:rgba(130,25,25,.18);color:#ffb4b4}

/* ===== v3.21.9 premium full-image recommendation cards ===== */
.kwwd-dashboard .kwwd-library-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.kwwd-dashboard .kwwd-library-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,#0d1719 0%,#061012 100%)!important;
  border:1px solid rgba(233,189,118,.28)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.kwwd-dashboard .kwwd-library-card>img,
.kwwd-dashboard .kwwd-library-placeholder{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  object-fit:cover!important;
  display:block!important;
  border-bottom:1px solid rgba(233,189,118,.18);
}
.kwwd-dashboard .kwwd-library-content{
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column;
  gap:10px;
  width:100%;
  padding:21px 20px 74px!important;
}
.kwwd-dashboard .kwwd-library-content strong{
  font-size:clamp(24px,3vw,31px)!important;
  line-height:1.04!important;
  color:#f0c47f!important;
}
.kwwd-dashboard .kwwd-library-content small{
  font-size:15px!important;
  line-height:1.55!important;
  color:#eef1f1!important;
}
.kwwd-dashboard .kwwd-library-content em{
  margin-top:auto!important;
  font-size:13px!important;
  color:#9aa6a7!important;
}
.kwwd-dashboard .kwwd-library-check{
  right:18px!important;
  top:auto!important;
  bottom:18px!important;
  width:auto!important;
  min-width:142px;
  height:44px!important;
  padding:0 18px;
  border-radius:999px!important;
  color:#f2d09c!important;
  font-size:0!important;
  background:#071214!important;
}
.kwwd-dashboard .kwwd-library-check::after{
  content:'Επιλογή';
  font-size:14px;
  font-weight:900;
}
.kwwd-dashboard .kwwd-library-card:has(input:checked){
  border-color:#e9bd76!important;
  box-shadow:0 0 0 2px rgba(233,189,118,.12) inset,0 18px 42px rgba(0,0,0,.28)!important;
}
.kwwd-dashboard .kwwd-library-card:has(input:checked)::after{
  content:'✓ Θα το δουν οι καλεσμένοι';
  position:absolute;
  left:16px;
  top:16px;
  z-index:2;
  padding:9px 13px;
  border-radius:999px;
  background:rgba(3,10,13,.88);
  border:1px solid rgba(233,189,118,.64);
  color:#f3cd8c;
  font-size:12px;
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.kwwd-dashboard .kwwd-library-card:has(input:checked) .kwwd-library-check{
  background:linear-gradient(135deg,#ad7339,#e9bd76)!important;
  color:#211307!important;
}
.kwwd-dashboard .kwwd-library-card:has(input:checked) .kwwd-library-check::after{
  content:'Επιλεγμένο ✓';
  color:#211307;
}

body .kwwd-public .kwwd-guide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
body .kwwd-public .kwwd-guide-card{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border-radius:26px!important;
  border:1px solid rgba(233,189,118,.30)!important;
  background:linear-gradient(180deg,#10191b 0%,#071012 100%)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.27);
}
body .kwwd-public .kwwd-guide-card>img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  min-height:0!important;
  object-fit:cover!important;
  display:block!important;
}
body .kwwd-public .kwwd-guide-card-body{
  padding:25px 24px 24px!important;
}
body .kwwd-public .kwwd-guide-card h3{
  font-size:clamp(29px,4vw,40px)!important;
  line-height:1.02!important;
  margin:0 0 12px!important;
  color:#f0c47f!important;
}
body .kwwd-public .kwwd-guide-desc{
  font-size:16px!important;
  line-height:1.62!important;
  color:#eef1f1!important;
}
body .kwwd-public .kwwd-guide-card small{
  display:block;
  margin-top:12px;
  color:#9ca8a9!important;
  font-size:13px!important;
}
body .kwwd-public .kwwd-guide-links a{
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:10px 15px!important;
}
@media(max-width:760px){
  .kwwd-dashboard .kwwd-library-grid,
  body .kwwd-public .kwwd-guide-grid{grid-template-columns:1fr!important}
  .kwwd-dashboard .kwwd-library-card>img,
  body .kwwd-public .kwwd-guide-card>img{aspect-ratio:16/10!important}
  .kwwd-dashboard .kwwd-library-content{padding:20px 18px 72px!important}
  body .kwwd-public .kwwd-guide-card-body{padding:22px 20px 21px!important}
}


/* ===== v3.22 quote trust copy + reliable action ===== */
.kwwd-card-price-note{margin:9px 2px 0!important;color:rgba(255,255,255,.68)!important;font-size:10.5px!important;line-height:1.35!important;text-align:center!important}
.kwwd-quote-privacy{margin:13px 0 4px!important;padding:12px 13px;border:1px solid rgba(233,189,118,.17);border-radius:12px;background:rgba(255,255,255,.025);color:#d8d1ca!important;font-size:11.5px!important;line-height:1.5!important}
.kwwd-quote-response-time{margin:8px 0 0!important;color:rgba(255,255,255,.62)!important;font-size:11px!important;text-align:center!important}
#kwwd-submit-quote{position:relative!important;z-index:5!important;width:100%!important;pointer-events:auto!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}
#kwwd-submit-quote:disabled{opacity:.68!important;cursor:wait!important}
.kwwd-quote-dialog form{position:relative;z-index:3}
.kwwd-quote-success-card{display:grid;gap:8px}.kwwd-quote-success-card strong{font-size:18px;color:#fff}.kwwd-quote-success-card p,.kwwd-quote-success-card small{margin:0;color:#e9e2da;line-height:1.55}.kwwd-quote-success-card b{color:#fff}
@media(max-width:720px){#kwwd-submit-quote{min-height:54px!important;font-size:14px!important}.kwwd-card-price-note{font-size:10px!important}}

/* ===== v4.0 Vendor quote foundation ===== */
.kwwd-organizer-card[data-status="booked_kw"],
.kwwd-organizer-card[data-status="booked_external"]{border-color:rgba(74,222,128,.52);box-shadow:0 0 0 1px rgba(74,222,128,.06) inset,0 14px 32px rgba(0,0,0,.26)}
.kwwd-organizer-card[data-status="booked_kw"] .kwwd-organizer-status-pill,
.kwwd-organizer-card[data-status="booked_external"] .kwwd-organizer-status-pill{color:#86efac;border-color:rgba(74,222,128,.38);background:rgba(74,222,128,.08)}
.kwwd-quote-action{grid-column:1/-1;padding:14px;border:1px solid rgba(200,145,79,.28);border-radius:14px;background:rgba(200,145,79,.055)}
.kwwd-quote-action small{display:block;margin-top:8px;color:#cfc8bf;line-height:1.45}
.kwwd-request-quote{width:100%;border:1px solid rgba(233,189,118,.68);border-radius:12px;background:linear-gradient(135deg,#c8914f,#e9bd76);color:#071013;font-weight:800;padding:12px 16px;cursor:pointer}
.kwwd-request-quote:hover{filter:brightness(1.06)}
.kwwd-request-quote:disabled{opacity:.65;cursor:wait}
.kwwd-quote-result{margin-top:8px;font-size:14px;font-weight:700}
.kwwd-quote-result.is-success{color:#86efac}
.kwwd-quote-result.is-error{color:#fca5a5}

/* ===== v4.6 Compact Wedding Organizer ===== */
.kwwd-organizer-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.kwwd-organizer-card{padding:0!important;overflow:hidden!important;border-radius:17px!important}
.kwwd-organizer-card>header{margin:0!important;display:block!important}
.kwwd-organizer-toggle{width:100%!important;min-height:82px!important;padding:14px 16px!important;border:0!important;background:transparent!important;color:#fff!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;text-align:left!important;cursor:pointer!important}
.kwwd-organizer-heading{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
.kwwd-organizer-heading>span{min-width:0!important}.kwwd-organizer-heading h3{font-size:18px!important;margin:0 0 6px!important}.kwwd-organizer-status-pill{font-style:normal!important;font-size:11px!important;padding:5px 9px!important}
.kwwd-organizer-chevron{font-size:25px!important;color:#e9bd76!important;transition:transform .2s ease!important}.kwwd-organizer-toggle[aria-expanded="true"] .kwwd-organizer-chevron{transform:rotate(180deg)!important}
.kwwd-organizer-fields{padding:4px 16px 18px!important;border-top:1px solid rgba(233,189,118,.16)!important}.kwwd-organizer-fields[hidden]{display:none!important}
.kwwd-service-info{padding:15px!important;border-radius:13px!important;background:rgba(233,189,118,.07)!important;border:1px solid rgba(233,189,118,.22)!important}.kwwd-service-info strong,.kwwd-service-info small{display:block!important}.kwwd-service-info small{margin-top:6px!important;color:rgba(255,255,255,.65)!important;line-height:1.5!important}
@media(max-width:760px){.kwwd-organizer-grid{grid-template-columns:1fr!important}.kwwd-organizer-toggle{min-height:76px!important}.kwwd-organizer-heading h3{font-size:18px!important}}

/* v4.11.1 — Free Wedding Planner conversion after quote requests */
.kwwd-quote-account-cta{margin-top:18px;padding:18px;border:1px solid rgba(233,189,118,.42);border-radius:16px;background:linear-gradient(145deg,rgba(200,145,79,.13),rgba(255,255,255,.025));color:#fff}.kwwd-quote-account-cta>strong{display:block;color:#e9bd76;font-size:18px;margin-bottom:7px}.kwwd-quote-account-cta p{margin:0 0 12px!important;color:rgba(255,255,255,.82)!important;line-height:1.55}.kwwd-quote-account-cta ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px;margin:12px 0 16px!important;padding:0!important;list-style:none}.kwwd-quote-account-cta li{color:rgba(255,255,255,.88);font-size:13px}.kwwd-quote-account-cta li::before{content:"✓";color:#e9bd76;font-weight:900;margin-right:7px}.kwwd-quote-account-actions{display:flex;flex-wrap:wrap;gap:9px}.kwwd-quote-account-actions a,.kwwd-quote-account-cta>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:10px;border:1px solid rgba(233,189,118,.44);color:#e9bd76!important;text-decoration:none!important;font-weight:900;font-size:13px}.kwwd-quote-account-actions a.primary,.kwwd-quote-account-cta>a{background:linear-gradient(135deg,#c8914f,#e9bd76);border:0;color:#171008!important}@media(max-width:640px){.kwwd-quote-account-cta ul{grid-template-columns:1fr}.kwwd-quote-account-actions{display:grid}.kwwd-quote-account-actions a,.kwwd-quote-account-cta>a{width:100%}}


/* ===== v4.19 Seating Planner ===== */
.kwwd-seating-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.kwwd-seating-heading .kwwd-secondary{flex:0 0 auto}
.kwwd-seating-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0}.kwwd-seating-stats article{padding:17px;border:1px solid rgba(200,145,79,.28);border-radius:17px;background:rgba(255,255,255,.025)}.kwwd-seating-stats small{display:block;color:#aeb9b9}.kwwd-seating-stats strong{display:block;margin-top:5px;color:#e9bd76;font-size:27px}
.kwwd-seating-toolbar{display:grid;grid-template-columns:2fr 1fr auto auto;gap:12px;align-items:end;padding:18px;border:1px solid rgba(200,145,79,.25);border-radius:18px;background:#071214;margin-bottom:22px}.kwwd-seating-toolbar label,.kwwd-table-tools label,.kwwd-party-card label{display:grid;gap:7px;color:#e9bd76;font-size:13px;font-weight:800}.kwwd-seating-toolbar input,.kwwd-table-card input,.kwwd-party-card select,.kwwd-seated-party select{width:100%;border:1px solid rgba(200,145,79,.35);border-radius:11px;background:#030b0d;color:#fff;padding:11px 12px}
.kwwd-seating-layout{display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.7fr);gap:20px}.kwwd-seating-unassigned-panel,.kwwd-seating-tables-panel{min-width:0}.kwwd-seating-section-title{margin-bottom:12px}.kwwd-seating-section-title h3{margin:0;color:#fff;font-family:Georgia,serif;font-size:25px}.kwwd-seating-section-title span{display:block;color:#9faeae;margin-top:5px;font-size:13px}
#kwwd-unassigned-parties,#kwwd-seating-tables{display:grid;gap:12px}.kwwd-party-card,.kwwd-seated-party{display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,.75fr);gap:12px;align-items:center;padding:14px;border:1px solid rgba(200,145,79,.24);border-radius:15px;background:#071214}.kwwd-party-card strong,.kwwd-seated-party strong{display:block;color:#fff}.kwwd-party-card span,.kwwd-seated-party span{display:block;color:#aeb9b9;margin-top:4px;font-size:12px}
.kwwd-table-card{border:1px solid rgba(200,145,79,.34);border-radius:20px;background:linear-gradient(180deg,#0a1518,#061012);overflow:hidden}.kwwd-table-card.is-over{border-color:#ef5350;box-shadow:0 0 0 1px rgba(239,83,80,.15)}.kwwd-table-card>header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 16px;border-bottom:1px solid rgba(200,145,79,.18)}.kwwd-table-card>header>div:first-child{min-width:0;flex:1}.kwwd-table-name{font-family:Georgia,serif!important;font-size:20px!important;font-weight:700}.kwwd-capacity{display:block;margin-top:6px;color:#aeb9b9;font-size:12px}.kwwd-capacity.is-over{color:#ff9b98;font-weight:900}.kwwd-table-tools{display:flex;align-items:end;gap:8px}.kwwd-table-tools input{width:78px}.kwwd-delete-table{border:1px solid rgba(239,83,80,.4);border-radius:10px;background:rgba(239,83,80,.08);color:#ffb0b0;padding:10px;cursor:pointer}.kwwd-table-guests{display:grid;gap:9px;padding:14px}.kwwd-seating-empty{padding:16px;border:1px dashed rgba(200,145,79,.25);border-radius:14px;color:#aeb9b9;text-align:center}.kwwd-seating-empty strong,.kwwd-seating-empty span{display:block}.kwwd-seating-empty-large{padding:34px 20px}.kwwd-seating-empty-large strong{color:#fff;font-size:18px;margin-bottom:7px}
@media(max-width:900px){.kwwd-seating-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.kwwd-seating-toolbar{grid-template-columns:1fr 1fr}.kwwd-seating-layout{grid-template-columns:1fr}.kwwd-seating-heading{flex-direction:column}.kwwd-seating-heading .kwwd-secondary{width:100%}}
@media(max-width:620px){.kwwd-seating-toolbar{grid-template-columns:1fr}.kwwd-seating-stats{grid-template-columns:1fr 1fr}.kwwd-party-card,.kwwd-seated-party{grid-template-columns:1fr}.kwwd-table-card>header{align-items:stretch;flex-direction:column}.kwwd-table-tools{justify-content:space-between}.kwwd-table-tools label{flex:1}.kwwd-table-tools input{width:100%}}

/* ===== v4.20 Wedding Planner App UI ===== */
.kwwd-planner-progress{margin:20px 0 18px;padding:24px;border:1px solid rgba(200,145,79,.38);border-radius:24px;background:radial-gradient(circle at 92% 0,rgba(233,189,118,.16),transparent 34%),linear-gradient(145deg,#0b1719,#061012);box-shadow:0 20px 48px rgba(0,0,0,.32)}
.kwwd-planner-progress-top{display:flex;justify-content:space-between;gap:22px;align-items:center}.kwwd-planner-progress h2{margin:0 0 7px;color:#fff;font-family:Georgia,serif;font-size:30px}.kwwd-planner-progress p{margin:0;color:rgba(255,255,255,.68)}.kwwd-planner-progress-top>strong{flex:0 0 auto;color:#f2c578;font-family:Georgia,serif;font-size:44px;line-height:1}
.kwwd-planner-progress-bar{height:12px;margin:20px 0 12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(200,145,79,.2)}.kwwd-planner-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#a97038,#e9bd76);box-shadow:0 0 18px rgba(233,189,118,.35)}
.kwwd-planner-progress-foot{display:flex;justify-content:space-between;gap:14px;color:rgba(255,255,255,.62);font-size:12.5px}
.kwwd-dashboard .kwwd-planner-menu{display:grid!important;grid-template-columns:1fr!important;gap:11px!important;overflow:visible!important;margin:0 0 20px!important;padding:0!important;touch-action:pan-y!important}
.kwwd-dashboard .kwwd-planner-menu button{width:100%!important;min-width:0!important;min-height:88px!important;display:grid!important;grid-template-columns:58px minmax(0,1fr) auto 24px!important;align-items:center!important;gap:14px!important;padding:14px 16px!important;border-radius:19px!important;text-align:left!important;white-space:normal!important;background:linear-gradient(145deg,#0a1518,#061012)!important;border:1px solid rgba(200,145,79,.28)!important;color:#fff!important;box-shadow:0 12px 30px rgba(0,0,0,.18)!important;transition:transform .2s ease,border-color .2s ease,background .2s ease!important}
.kwwd-dashboard .kwwd-planner-menu button:hover{transform:translateY(-1px);border-color:rgba(233,189,118,.52)!important}.kwwd-dashboard .kwwd-planner-menu button.is-active{background:linear-gradient(145deg,rgba(169,112,56,.42),#0b1518)!important;border-color:#d8a84f!important;color:#fff!important}
.kwwd-planner-menu-icon{width:54px;height:54px;display:grid!important;place-items:center!important;border-radius:16px;border:1px solid rgba(233,189,118,.35);background:rgba(200,145,79,.08);color:#e9bd76!important;font-size:25px!important;overflow:hidden}.kwwd-planner-menu-icon img,.kwwd-planner-menu-icon .kwwd-brand-icon{width:34px!important;height:34px!important;object-fit:contain!important;display:block!important}.kwwd-text-icon{font-size:23px;color:#e9bd76}
.kwwd-planner-menu-copy{display:block!important;min-width:0;color:#fff!important}.kwwd-planner-menu-copy strong{display:block;color:#fff;font-family:Georgia,serif;font-size:19px;line-height:1.2}.kwwd-planner-menu-copy small{display:block;margin-top:5px;color:rgba(255,255,255,.58);font-size:12.5px;line-height:1.4}
.kwwd-planner-menu-status{display:flex!important;align-items:center!important;gap:7px!important;color:rgba(255,255,255,.65)!important;font-size:11px!important}.kwwd-planner-menu-status i{width:10px;height:10px;border-radius:50%;background:#6f797b;box-shadow:0 0 0 4px rgba(111,121,123,.12)}.kwwd-planner-menu-status em{font-style:normal;white-space:nowrap}.kwwd-planner-menu button.is-progress .kwwd-planner-menu-status i{background:#e4a93d;box-shadow:0 0 0 4px rgba(228,169,61,.13)}.kwwd-planner-menu button.is-complete .kwwd-planner-menu-status i{background:#35c777;box-shadow:0 0 14px rgba(53,199,119,.58)}.kwwd-planner-menu button>b{color:#e9bd76;font-size:32px;font-weight:300;line-height:1}
@media(max-width:640px){.kwwd-planner-progress{padding:20px 17px;border-radius:21px}.kwwd-planner-progress-top{align-items:flex-start}.kwwd-planner-progress h2{font-size:25px}.kwwd-planner-progress-top>strong{font-size:36px}.kwwd-planner-progress-foot{display:grid;gap:5px}.kwwd-dashboard .kwwd-planner-menu{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important}.kwwd-dashboard .kwwd-planner-menu button{grid-template-columns:50px minmax(0,1fr) 20px!important;min-height:82px!important;padding:13px!important}.kwwd-planner-menu-icon{width:48px;height:48px;border-radius:14px}.kwwd-planner-menu-status{grid-column:2/3;margin-top:-2px}.kwwd-planner-menu-status em{white-space:normal}.kwwd-planner-menu button>b{grid-column:3;grid-row:1/3;align-self:center}.kwwd-planner-menu-copy strong{font-size:18px}}

/* ===== v4.20.2 Native-dialog removal + reliable seating save ===== */
.kwwd-save-seating{grid-column:1/-1;min-height:52px}.kwwd-save-seating:disabled{opacity:.65;cursor:wait}.kwwd-confirm-box{max-height:calc(100vh - 40px);overflow:auto}.kwwd-confirm-ok{box-shadow:0 10px 28px rgba(200,145,79,.25)}
@media(max-width:620px){.kwwd-save-seating{width:100%}.kwwd-confirm-overlay{padding:14px}.kwwd-confirm-box{padding:22px 18px;border-radius:20px}}


/* ===== v4.20.5 Compact accordion tables ===== */
.kwwd-table-accordion{overflow:hidden}
.kwwd-table-summary{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:0;background:transparent;color:#fff;text-align:left;cursor:pointer}
.kwwd-table-summary-main{min-width:0;display:flex;flex-direction:column;gap:5px}
.kwwd-table-summary-main strong{font-family:Georgia,serif;font-size:25px;line-height:1.15;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kwwd-table-summary-main small{margin:0;font-size:14px;color:#c6cece}
.kwwd-table-chevron{flex:0 0 auto;width:38px;height:38px;border:1px solid rgba(200,145,79,.34);border-radius:50%;display:grid;place-items:center;color:#e9bd76;font-size:25px;line-height:1;transition:transform .22s ease,background .22s ease}
.kwwd-table-card.is-open .kwwd-table-chevron{transform:rotate(180deg);background:rgba(200,145,79,.09)}
.kwwd-table-body{border-top:1px solid rgba(200,145,79,.18)}
.kwwd-table-body[hidden]{display:none!important}
.kwwd-table-editor{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(110px,.55fr) auto;gap:10px;align-items:end;padding:15px 16px;border-bottom:1px solid rgba(200,145,79,.14)}
.kwwd-table-editor label{display:grid;gap:7px;color:#e9bd76;font-size:13px;font-weight:800}
.kwwd-table-editor input{width:100%;border:1px solid rgba(200,145,79,.35);border-radius:11px;background:#030b0d;color:#fff;padding:11px 12px}
@media(max-width:620px){.kwwd-table-summary{padding:16px}.kwwd-table-summary-main strong{font-size:23px}.kwwd-table-editor{grid-template-columns:1fr 1fr}.kwwd-table-editor .kwwd-delete-table{grid-column:1/-1;width:100%}}

/* v4.21 architectural persistence */
#kwwd-dashboard-result{position:sticky;bottom:12px;z-index:50}


/* v5.0.2 mobile save diagnostics — visible only to administrators */
.kwwd-diagnostics-fab{position:fixed;right:14px;bottom:16px;z-index:99998;border:1px solid rgba(233,189,118,.7);border-radius:999px;background:linear-gradient(135deg,#c8914f,#e9bd76);color:#15100a!important;padding:11px 15px;font-weight:900;box-shadow:0 12px 35px rgba(0,0,0,.45);cursor:pointer}
.kwwd-diagnostics-modal[hidden]{display:none!important}.kwwd-diagnostics-modal{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.78);display:flex;align-items:flex-end;justify-content:center;padding:12px;backdrop-filter:blur(7px)}
.kwwd-diagnostics-dialog{width:min(100%,860px);max-height:92vh;overflow:auto;background:#061012;border:1px solid rgba(233,189,118,.55);border-radius:24px 24px 16px 16px;padding:20px;box-shadow:0 24px 80px rgba(0,0,0,.65);color:#fff}
.kwwd-diagnostics-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.kwwd-diagnostics-head h2{color:#fff!important;margin:0}.kwwd-diagnostics-head>button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(233,189,118,.45);background:#10191b;color:#fff;font-size:27px;cursor:pointer}
.kwwd-diagnostics-actions{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.kwwd-diagnostics-actions button{border:1px solid rgba(233,189,118,.42);border-radius:10px;background:rgba(200,145,79,.1);color:#fff;padding:11px 14px;font-weight:800;cursor:pointer}
#kwwd-diagnostics-output{width:100%;min-height:420px;resize:vertical;border:1px solid rgba(233,189,118,.3);border-radius:14px;background:#020708;color:#e9f0ef;padding:14px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto}
@media(max-width:640px){.kwwd-diagnostics-fab{right:10px;bottom:10px;font-size:12px;padding:10px 12px}.kwwd-diagnostics-modal{padding:0;align-items:stretch}.kwwd-diagnostics-dialog{max-height:100vh;border-radius:0;padding:16px}.kwwd-diagnostics-actions{display:grid;grid-template-columns:1fr}.kwwd-diagnostics-actions button{width:100%}#kwwd-diagnostics-output{min-height:52vh}}


/* v5.0.3 authoritative section save controls */
.kwwd-section-savebar{position:sticky;bottom:10px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 0;padding:12px 14px;border:1px solid rgba(200,145,79,.4);border-radius:14px;background:rgba(2,9,13,.96);box-shadow:0 12px 32px rgba(0,0,0,.38);backdrop-filter:blur(10px)}
.kwwd-section-savebar button{border:0;border-radius:10px;padding:11px 16px;background:linear-gradient(135deg,#c8914f,#e9bd76);color:#171009;font-weight:900;cursor:pointer}
.kwwd-section-save-state{color:#d9d4ce;font-size:13px;font-weight:800}.kwwd-section-save-state.is-saving{color:#e9bd76}.kwwd-section-save-state.is-success{color:#7ee2a8}.kwwd-section-save-state.is-error{color:#ff9d9d}
@media(max-width:640px){.kwwd-section-savebar{align-items:stretch;flex-direction:column}.kwwd-section-savebar button{width:100%}}

/* v5.1.0 native section save */
.kwwd-native-save-notice{margin:0 0 18px;padding:14px 16px;border-radius:14px;font-weight:900;text-align:center}.kwwd-native-save-notice.is-success{color:#bdf5d3;background:rgba(25,120,76,.2);border:1px solid rgba(61,184,125,.55)}.kwwd-native-save-notice.is-error{color:#ffd0d0;background:rgba(130,25,25,.2);border:1px solid rgba(210,80,80,.55)}


/* ===== v5.1.8.7 premium Media & Gallery editor ===== */
.kwwd-media-editor-block{display:grid!important;gap:12px!important;padding:22px!important;border:1px solid rgba(233,189,118,.26)!important;border-radius:20px!important;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012))!important}
.kwwd-media-editor-title{display:block!important;margin:0!important;color:#e9bd76!important;font-size:clamp(1.3rem,2.3vw,1.65rem)!important;line-height:1.2!important;font-weight:900!important;letter-spacing:.01em!important}
.kwwd-media-editor-block>small{display:block!important;margin:0!important;color:rgba(255,255,255,.7)!important;font-size:.94rem!important;line-height:1.55!important}
.kwwd-custom-upload{position:relative!important;display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important;width:100%!important;min-height:58px!important;margin-top:4px!important;padding:8px!important;border:1px solid rgba(233,189,118,.65)!important;border-radius:15px!important;background:#02090d!important;color:#fff!important;cursor:pointer!important;box-sizing:border-box!important;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease!important}
.kwwd-custom-upload:hover,.kwwd-custom-upload:focus-within{border-color:#e9bd76!important;background:#0b1012!important;box-shadow:0 0 0 3px rgba(233,189,118,.10)!important}
.kwwd-custom-upload input[type="file"]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;opacity:0!important;cursor:pointer!important;z-index:2!important}
.kwwd-custom-upload>span{position:relative!important;z-index:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;padding:10px 16px!important;border:1px solid #e9bd76!important;border-radius:11px!important;background:#02090d!important;color:#fff!important;font-weight:900!important;line-height:1.2!important;transition:background .2s ease,color .2s ease!important}
.kwwd-custom-upload:hover>span,.kwwd-custom-upload:focus-within>span{background:#e9bd76!important;color:#1d1308!important}
.kwwd-custom-upload>em{position:relative!important;z-index:1!important;min-width:0!important;flex:1 1 180px!important;padding-right:6px!important;color:rgba(255,255,255,.72)!important;font-style:normal!important;font-size:.9rem!important;line-height:1.35!important;overflow-wrap:anywhere!important}
@media(max-width:700px){.kwwd-media-editor-block{padding:18px 15px!important;border-radius:18px!important}.kwwd-custom-upload{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding:9px!important}.kwwd-custom-upload>span{width:100%!important;box-sizing:border-box!important}.kwwd-custom-upload>em{text-align:center!important;padding:0 4px 4px!important}}


/* ===== v5.1.8.9 Vendor Profile UI & locked taxonomy ===== */
.kwwd-profile-page .kwwd-profile-grid input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.kwwd-profile-page .kwwd-profile-grid textarea,
.kwwd-profile-page .kwwd-profile-grid select,
.kwwd-shell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.kwwd-shell textarea,
.kwwd-shell select{
  background:#0d191c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  caret-color:#fff!important;border:1px solid rgba(200,145,79,.48)!important;
  border-radius:12px!important;box-shadow:none!important;color-scheme:dark!important;
}
.kwwd-profile-page .kwwd-profile-grid input:focus,
.kwwd-profile-page .kwwd-profile-grid textarea:focus,
.kwwd-profile-page .kwwd-profile-grid select:focus,
.kwwd-profile-page .kwwd-profile-grid input:active,
.kwwd-profile-page .kwwd-profile-grid textarea:active,
.kwwd-profile-page .kwwd-profile-grid select:active,
.kwwd-shell input:focus,.kwwd-shell textarea:focus,.kwwd-shell select:focus{
  background:#0d191c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  border-color:#e9bd76!important;outline:none!important;box-shadow:0 0 0 3px rgba(233,189,118,.14)!important;
}
.kwwd-profile-page input:-webkit-autofill,
.kwwd-profile-page input:-webkit-autofill:hover,
.kwwd-profile-page input:-webkit-autofill:focus,
.kwwd-profile-page textarea:-webkit-autofill,
.kwwd-profile-page textarea:-webkit-autofill:hover,
.kwwd-profile-page textarea:-webkit-autofill:focus,
.kwwd-profile-page select:-webkit-autofill,
.kwwd-profile-page select:-webkit-autofill:hover,
.kwwd-profile-page select:-webkit-autofill:focus,
.kwwd-shell input:-webkit-autofill,
.kwwd-shell input:-webkit-autofill:hover,
.kwwd-shell input:-webkit-autofill:focus{
  -webkit-text-fill-color:#fff!important;caret-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #0d191c inset!important;
  box-shadow:0 0 0 1000px #0d191c inset!important;
  transition:background-color 99999s ease-out 0s!important;
  border-color:#e9bd76!important;
}
.kwwd-profile-page .kwwd-category-select{
  min-height:58px!important;height:auto!important;padding:15px 52px 15px 15px!important;
  line-height:1.45!important;white-space:normal!important;text-overflow:clip!important;
  background-position:right 16px center!important;background-size:14px auto!important;
}
.kwwd-locked-category{
  width:100%;min-height:58px;margin-top:7px;padding:15px 46px 15px 15px;
  display:flex;align-items:center;border:1px solid rgba(200,145,79,.44);border-radius:12px;
  background:#071114;color:#fff;font-weight:800;line-height:1.45;overflow-wrap:anywhere;
  position:relative;
}
.kwwd-locked-category:after{content:"🔒";position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:15px;opacity:.8}
.kwwd-custom-upload input[type="file"]{
  position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;
  opacity:0!important;pointer-events:none!important;
}
.kwwd-custom-upload>span{background:#02090d!important;border:1px solid #e9bd76!important;color:#fff!important}
.kwwd-custom-upload:hover>span,.kwwd-custom-upload:focus-within>span{background:#e9bd76!important;color:#1b1208!important}
@media(max-width:700px){
  .kwwd-profile-page .kwwd-category-select,.kwwd-locked-category{min-height:62px!important;font-size:16px!important;line-height:1.45!important}
  .kwwd-profile-page .kwwd-category-select{padding:16px 54px 16px 15px!important}
  .kwwd-custom-upload{width:100%!important;overflow:hidden!important}
}


/* ===== v5.1.8.10 single Profile Health + real custom media upload ===== */
.kwwd-upload-control{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  margin-top:4px!important;
  padding:10px!important;
  border:1px solid rgba(233,189,118,.62)!important;
  border-radius:15px!important;
  background:#02090d!important;
  box-sizing:border-box!important;
}
.kwwd-native-file-input{
  position:fixed!important;
  left:-10000px!important;
  top:auto!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  pointer-events:none!important;
}
.kwwd-upload-trigger{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 18px!important;
  border:1px solid #e9bd76!important;
  border-radius:12px!important;
  background:#02090d!important;
  color:#fff!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  cursor:pointer!important;
  user-select:none!important;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease!important;
}
.kwwd-upload-trigger:hover,
.kwwd-upload-trigger:focus,
.kwwd-upload-trigger:focus-visible{
  background:#e9bd76!important;
  color:#1b1208!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(233,189,118,.15)!important;
}
.kwwd-upload-trigger:active{transform:translateY(1px)!important}
.kwwd-upload-status{
  display:block!important;
  min-width:0!important;
  margin:0!important;
  color:rgba(255,255,255,.74)!important;
  font-style:normal!important;
  font-size:.92rem!important;
  line-height:1.4!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:700px){
  .kwwd-upload-control{grid-template-columns:1fr!important;gap:9px!important;padding:9px!important}
  .kwwd-upload-trigger{width:100%!important;box-sizing:border-box!important;min-height:50px!important}
  .kwwd-upload-status{text-align:center!important;padding:0 4px 3px!important}
}




/* ===== v5.1.8.13 vendor UI consolidated fix ===== */
.kwwd-profile-page .kwwd-upload-control input[type="file"],
.kwwd-profile-page input.kwwd-native-file-input[type="file"]{
  position:fixed!important;left:-10000px!important;top:0!important;width:1px!important;height:1px!important;
  min-width:1px!important;min-height:1px!important;opacity:0!important;overflow:hidden!important;
  clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;
  pointer-events:none!important;border:0!important;padding:0!important;margin:0!important;
  -webkit-appearance:none!important;appearance:none!important;
}
.kwwd-profile-page .kwwd-upload-control{background:#02090d!important;border:1px solid rgba(233,189,118,.62)!important}
.kwwd-profile-page .kwwd-upload-trigger{display:inline-flex!important;background:#02090d!important;border:1px solid #e9bd76!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-radius:12px!important}
.kwwd-profile-page .kwwd-upload-trigger span{color:#fff!important;-webkit-text-fill-color:#fff!important}
.kwwd-profile-page .kwwd-upload-trigger:hover,.kwwd-profile-page .kwwd-upload-trigger:focus-visible{background:#e9bd76!important;color:#171009!important;-webkit-text-fill-color:#171009!important}
.kwwd-profile-page .kwwd-upload-trigger:hover span,.kwwd-profile-page .kwwd-upload-trigger:focus-visible span{color:#171009!important;-webkit-text-fill-color:#171009!important}
body.kwwd-vendor-dashboard-active .site-content,body.kwwd-vendor-dashboard-active #content,body.kwwd-vendor-dashboard-active .ast-container,body.kwwd-vendor-dashboard-active .entry-content,body.kwwd-vendor-dashboard-active .site-main{padding-top:0!important;margin-top:0!important}
body.kwwd-vendor-dashboard-active .entry-header{display:none!important}

/* ===== v5.4.3 Guided RSVP UX + visible icons ===== */
.kwwd-tabs button.is-active .kwwd-brand-icon,
.kwwd-site-switch input:checked + span .kwwd-brand-icon,
.kwwd-dress-options input:checked + span .kwwd-brand-icon,
.kwwd-tabs button.is-active[data-tab="guide"] .kwwd-brand-icon,
.kwwd-tabs button.is-active[data-tab="website"] .kwwd-brand-icon{
  filter:none!important;
  opacity:1!important;
}
.kwwd-site-switch>span .kwwd-brand-icon,
.kwwd-planner-menu-icon .kwwd-brand-icon,
.kwwd-organizer-heading .kwwd-brand-icon{
  filter:none!important;
  opacity:1!important;
}
.kwwd-action-launcher{width:100%;margin:14px 0 4px}
.kwwd-action-panel{margin:16px 0;padding:18px;border:1px solid rgba(233,189,118,.46);border-radius:20px;background:radial-gradient(circle at top right,rgba(200,145,79,.13),transparent 34%),linear-gradient(145deg,#0b1719,#061012);box-shadow:0 18px 42px rgba(0,0,0,.28)}
.kwwd-action-panel[hidden]{display:none!important}.kwwd-action-panel.is-open{display:block}
.kwwd-action-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.kwwd-action-panel-head h3{margin:0;color:#fff;font-family:Georgia,serif;font-size:24px}.kwwd-action-panel-head button{width:40px;height:40px;border:1px solid rgba(233,189,118,.42);border-radius:50%;background:transparent;color:#e9bd76;font-size:25px;line-height:1;cursor:pointer}
.kwwd-action-panel-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.kwwd-action-panel-actions button{min-width:150px}
.kwwd-add-guest-form label small{display:block;margin-top:7px;color:rgba(255,255,255,.52);font-size:11.5px;line-height:1.4}
.kwwd-seating-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 12px}.kwwd-seating-quick-actions button{width:100%;min-height:52px}
.kwwd-save-seating{width:100%;margin:8px 0 18px}
.kwwd-guests-manager>.kwwd-help{max-width:620px}
@media(max-width:640px){
 .kwwd-action-panel{padding:16px 13px;border-radius:18px}
 .kwwd-action-panel-actions{display:grid;grid-template-columns:1fr}.kwwd-action-panel-actions button{width:100%;min-width:0}
 .kwwd-seating-quick-actions{grid-template-columns:1fr}
}

/* v5.5.9 — Premium Wedding Design Studio */
.kwwd-invitation-designer{position:relative;margin:22px 0 34px;padding:clamp(18px,3vw,32px);overflow:hidden;border:1px solid rgba(233,189,118,.24);border-radius:32px;background:radial-gradient(circle at 15% 0%,rgba(200,145,79,.14),transparent 32%),linear-gradient(145deg,#071012,#10191a 58%,#071012);box-shadow:0 28px 70px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.06)}
.kwwd-invitation-designer:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0 4%,rgba(233,189,118,.055) 4.2%,transparent 4.4% 95.6%,rgba(233,189,118,.055) 95.8%,transparent 96%)}
.kwwd-invitation-designer-head{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.kwwd-invitation-designer-head h3{margin:4px 0 7px;color:#fff;font-family:Georgia,serif;font-size:clamp(26px,4vw,42px);font-weight:500;letter-spacing:-.025em}.kwwd-invitation-designer-head p{max-width:690px;margin:0;color:#aeb8b6;line-height:1.65}.kwwd-invitation-designer .kwwd-kicker{color:#e9bd76;letter-spacing:.22em}.kwwd-invitation-guest-preview{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border:1px solid rgba(233,189,118,.42);border-radius:999px;background:rgba(255,255,255,.035);color:#f6dfb4!important;font-weight:800;text-decoration:none!important;white-space:nowrap;backdrop-filter:blur(12px);transition:.25s}.kwwd-invitation-guest-preview:hover{transform:translateY(-2px);border-color:#e9bd76;background:rgba(233,189,118,.1)}
.kwwd-design-stage{position:relative;display:grid;min-height:620px;margin:0 auto 24px;padding:30px 76px 24px;border:1px solid rgba(255,255,255,.07);border-radius:28px;place-items:center;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(233,189,118,.13),transparent 40%),linear-gradient(160deg,#0e1819,#050a0c 70%);transition:background .65s ease}
.kwwd-stage-ambient,.kwwd-stage-ambient i{position:absolute;inset:0}.kwwd-stage-ambient{z-index:-1;overflow:hidden}.kwwd-stage-ambient i{width:240px;height:240px;border-radius:50%;filter:blur(45px);opacity:.18;animation:kwwd-float 7s ease-in-out infinite}.kwwd-stage-ambient i:nth-child(1){inset:8% auto auto 7%;background:#d6b178}.kwwd-stage-ambient i:nth-child(2){inset:auto 8% 8% auto;background:#537d68;animation-delay:-2.5s}.kwwd-stage-ambient i:nth-child(3){inset:35% auto auto 60%;width:140px;height:140px;background:#b86570;animation-delay:-4.5s}@keyframes kwwd-float{50%{transform:translate3d(20px,-16px,0) scale(1.08)}}
.kwwd-stage-phone-wrap{position:relative;z-index:2;perspective:1400px}.kwwd-stage-phone{position:relative;width:min(315px,72vw);aspect-ratio:9/18.8;padding:9px;border:1px solid rgba(255,255,255,.25);border-radius:46px;background:linear-gradient(145deg,#31383b,#080b0d 42%,#3e4548);box-shadow:0 44px 80px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.07);transform:rotateY(-4deg) rotateX(2deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}.kwwd-design-stage:hover .kwwd-stage-phone{transform:rotateY(0) rotateX(0) translateY(-5px)}.kwwd-stage-speaker{position:absolute;z-index:8;top:18px;left:50%;width:92px;height:25px;border-radius:18px;background:#050708;transform:translateX(-50%);box-shadow:inset 0 -2px 5px rgba(255,255,255,.05)}.kwwd-stage-screen{position:relative;display:flex;height:100%;padding:52px 24px 26px;overflow:hidden;border-radius:38px;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f6f0e7;color:#785d3d;transition:background .55s,color .55s}.kwwd-stage-screen:before,.kwwd-stage-screen:after{content:"";position:absolute;pointer-events:none}.kwwd-stage-screen:before{inset:-15%;background:radial-gradient(circle at 15% 18%,rgba(218,188,139,.25),transparent 24%),radial-gradient(circle at 88% 82%,rgba(181,143,88,.22),transparent 23%);animation:kwwd-breathe 5s ease-in-out infinite}.kwwd-stage-screen:after{inset:0;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 45%)}@keyframes kwwd-breathe{50%{transform:scale(1.05);opacity:.75}}
.kwwd-stage-grain{position:absolute!important;inset:0;z-index:0!important;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.kwwd-stage-screen>*{position:relative;z-index:2}.kwwd-stage-eyebrow{font-size:9px;font-weight:700;letter-spacing:.32em;text-transform:uppercase}.kwwd-stage-monogram{display:flex;margin:22px 0 6px;align-items:center;gap:8px;font-family:Georgia,serif;font-size:14px}.kwwd-stage-monogram i{font-size:9px;font-style:normal}.kwwd-stage-screen h4{display:flex;margin:5px 0 16px;flex-direction:column;font-family:Georgia,serif;font-size:36px;font-weight:400;line-height:.92;letter-spacing:-.035em}.kwwd-stage-screen h4 b{margin:7px 0;font-size:18px;font-style:italic;font-weight:400}.kwwd-stage-divider{display:flex;width:150px;margin:0 0 15px;align-items:center;gap:8px}.kwwd-stage-divider i{height:1px;flex:1;background:currentColor;opacity:.45}.kwwd-stage-divider span{font-size:9px}.kwwd-stage-screen time{font-family:Georgia,serif;font-size:15px}.kwwd-stage-place{margin:7px 0 18px!important;font-size:9px;letter-spacing:.16em;text-transform:uppercase;opacity:.75}.kwwd-stage-countdown{display:flex;margin-bottom:22px;gap:9px}.kwwd-stage-countdown span{display:flex;min-width:54px;padding:8px 7px;border:1px solid currentColor;border-radius:10px;flex-direction:column;opacity:.9}.kwwd-stage-countdown b{font-size:14px}.kwwd-stage-countdown small{font-size:7px;letter-spacing:.06em;text-transform:uppercase}.kwwd-stage-rsvp{display:inline-flex;padding:11px 22px;border:1px solid currentColor;border-radius:999px;align-items:center;gap:15px;font-size:10px;font-weight:800;letter-spacing:.18em}.kwwd-stage-rsvp i{font-style:normal;transition:.2s}.kwwd-stage-rsvp:hover i{transform:translateX(4px)}.kwwd-stage-scroll{position:absolute!important;bottom:14px;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.45}.kwwd-stage-scroll i{width:1px;height:15px;background:currentColor;animation:kwwd-scroll 1.5s infinite}.kwwd-stage-scroll small{font-size:6px;letter-spacing:.14em;text-transform:uppercase}@keyframes kwwd-scroll{50%{transform:scaleY(.5);transform-origin:top}}
.kwwd-stage-reflection{position:absolute;left:9%;right:9%;bottom:-24px;height:38px;border-radius:50%;background:rgba(0,0,0,.48);filter:blur(14px)}.kwwd-stage-arrow{position:absolute;z-index:6;top:50%;display:grid;width:48px;height:48px;border:1px solid rgba(233,189,118,.32);border-radius:50%;place-items:center;background:rgba(8,14,15,.58);color:#f2d59f;font:300 34px/1 Georgia;cursor:pointer;backdrop-filter:blur(10px);transform:translateY(-50%);transition:.25s}.kwwd-stage-arrow:hover{border-color:#e9bd76;background:rgba(200,145,79,.18);transform:translateY(-50%) scale(1.06)}.kwwd-stage-prev{left:20px}.kwwd-stage-next{right:20px}.kwwd-stage-caption{position:absolute;left:24px;bottom:22px;display:flex;max-width:230px;flex-direction:column}.kwwd-stage-caption span{color:#a9b2b0;font-size:9px;letter-spacing:.18em;text-transform:uppercase}.kwwd-stage-caption strong{margin:4px 0;color:#fff;font:500 20px Georgia,serif}.kwwd-stage-caption small{color:#9ca6a4;line-height:1.45}
.kwwd-stage-olive{background:radial-gradient(circle at 50% 35%,rgba(179,203,169,.14),transparent 40%),linear-gradient(160deg,#0f2923,#06110f 70%)}.kwwd-stage-olive .kwwd-stage-screen{background:linear-gradient(160deg,#173f35,#2f6654);color:#f6efd9}.kwwd-stage-olive .kwwd-stage-screen:before{background:radial-gradient(circle at 8% 10%,rgba(183,202,164,.22),transparent 24%),radial-gradient(circle at 95% 90%,rgba(223,200,138,.2),transparent 25%)}.kwwd-stage-romantic .kwwd-stage-screen{background:linear-gradient(rgba(58,20,26,.48),rgba(58,20,26,.74)),var(--kwwd-couple-photo,linear-gradient(145deg,#b77e84,#5e2d38));background-size:cover;background-position:center;color:#fff}.kwwd-stage-romantic{background:radial-gradient(circle at 50% 34%,rgba(197,113,128,.18),transparent 40%),linear-gradient(160deg,#2d171c,#0b0708 70%)}.kwwd-stage-romantic .kwwd-stage-monogram{opacity:.85}.kwwd-stage-luxury{background:radial-gradient(circle at 50% 35%,rgba(233,189,118,.12),transparent 37%),linear-gradient(160deg,#17120d,#020303 72%)}.kwwd-stage-luxury .kwwd-stage-screen{background:radial-gradient(circle at 50% 12%,#403529,#111 48%,#030303);color:#e9bd76}.kwwd-stage-luxury .kwwd-stage-screen:before{background:linear-gradient(115deg,transparent 28%,rgba(255,221,159,.08) 48%,transparent 66%);animation:kwwd-lux-shine 5s infinite}@keyframes kwwd-lux-shine{0%,45%{transform:translateX(-60%)}75%,100%{transform:translateX(60%)}}
.kwwd-template-picker{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kwwd-template-card{appearance:none;display:grid;width:100%;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:18px;grid-template-columns:60px 1fr;gap:12px;background:rgba(255,255,255,.035);color:#fff;text-align:left;cursor:pointer;box-shadow:none;backdrop-filter:blur(12px);transition:.25s}.kwwd-template-card:hover{transform:translateY(-3px);border-color:rgba(233,189,118,.35);background:rgba(255,255,255,.06)}.kwwd-template-card.is-selected{border-color:#e9bd76;background:linear-gradient(145deg,rgba(200,145,79,.2),rgba(255,255,255,.045));box-shadow:0 12px 28px rgba(0,0,0,.18),inset 0 0 0 1px rgba(233,189,118,.13)}.kwwd-template-swatch{position:relative;display:grid;width:60px;height:78px;overflow:hidden;border-radius:12px;place-items:center;font-family:Georgia,serif;font-size:20px}.kwwd-template-swatch i,.kwwd-template-swatch em{position:absolute;inset:8px;border:1px solid currentColor;border-radius:7px;opacity:.25}.kwwd-template-swatch em{inset:auto 15px 12px;height:1px;border:0;background:currentColor}.kwwd-template-swatch-classic{background:#f4ede2;color:#866039}.kwwd-template-swatch-olive{background:linear-gradient(145deg,#173f35,#315f50);color:#f7eed7}.kwwd-template-swatch-romantic{background:linear-gradient(145deg,#b97d84,#542832);color:#fff}.kwwd-template-swatch-luxury{background:radial-gradient(circle at top,#493b2e,#090909 68%);color:#e9bd76}.kwwd-template-copy{display:flex;min-width:0;padding:4px 2px;flex-direction:column}.kwwd-template-copy b{color:#fff;font-size:14px;line-height:1.15}.kwwd-template-copy small{display:-webkit-box;margin:5px 0 8px;overflow:hidden;color:#9ea8a6;font-size:10px;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}.kwwd-template-copy em{margin-top:auto;color:#e9bd76;font-size:10px;font-style:normal;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.kwwd-template-save-state{min-height:24px;margin-top:13px;text-align:center;font-weight:800}.kwwd-template-save-state.is-saving{color:#e9bd76}.kwwd-template-save-state.is-success{color:#8fd5ad}.kwwd-template-save-state.is-error{color:#ff9d9d}.kwwd-design-stage.is-changing .kwwd-stage-phone{animation:kwwd-stage-change .48s cubic-bezier(.2,.8,.2,1)}@keyframes kwwd-stage-change{0%{opacity:.45;transform:translateY(12px) scale(.96) rotateY(-8deg)}100%{opacity:1;transform:translateY(0) scale(1) rotateY(-4deg)}}
@media(max-width:1050px){.kwwd-template-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.kwwd-design-stage{min-height:590px}.kwwd-stage-caption{display:none}}
@media(max-width:620px){.kwwd-invitation-designer{margin-inline:-10px;padding:18px 12px 20px;border-radius:24px}.kwwd-invitation-designer-head{align-items:stretch;flex-direction:column}.kwwd-invitation-designer-head h3{font-size:28px}.kwwd-invitation-guest-preview{width:100%}.kwwd-design-stage{min-height:555px;padding:22px 42px 18px;border-radius:22px}.kwwd-stage-phone{width:min(270px,76vw);border-radius:39px}.kwwd-stage-screen{padding:49px 18px 24px;border-radius:32px}.kwwd-stage-screen h4{font-size:31px}.kwwd-stage-arrow{width:38px;height:38px;font-size:28px}.kwwd-stage-prev{left:7px}.kwwd-stage-next{right:7px}.kwwd-template-picker{display:flex;margin:0 -4px;padding:4px 4px 8px;gap:9px;overflow-x:auto;scroll-snap-type:x mandatory}.kwwd-template-card{min-width:232px;scroll-snap-align:start}.kwwd-stage-countdown span{min-width:48px}.kwwd-stage-caption{display:none}}
@media(prefers-reduced-motion:reduce){.kwwd-stage-ambient i,.kwwd-stage-screen:before,.kwwd-stage-scroll i,.kwwd-design-stage.is-changing .kwwd-stage-phone{animation:none!important}.kwwd-stage-phone,.kwwd-template-card,.kwwd-stage-arrow{transition:none!important}}

/* v5.6.0 — four genuinely different invitation compositions */
.kwwd-stage-layout{position:relative;z-index:3;display:flex;width:100%;height:100%;min-height:100%;flex-direction:column;align-items:center;justify-content:center}.kwwd-stage-date-card small{display:none}.kwwd-stage-photo-panel,.kwwd-stage-ornament{position:absolute;pointer-events:none}.kwwd-stage-screen{isolation:isolate;overflow:hidden}
/* CLASSIC: editorial arch, centered typography, no photo */
.kwwd-stage-classic .kwwd-stage-screen{background:#f7f0e5;color:#76573a}.kwwd-stage-classic .kwwd-stage-screen:before{content:"";position:absolute;inset:22px 18px 28px;border:1px solid rgba(118,87,58,.36);border-radius:150px 150px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,.58),rgba(255,255,255,.08));box-shadow:inset 0 0 0 8px rgba(255,255,255,.28)}.kwwd-stage-classic .kwwd-stage-layout{padding:28px 28px 34px}.kwwd-stage-classic .kwwd-stage-eyebrow{margin-bottom:24px;color:#9a7b59;letter-spacing:.32em}.kwwd-stage-classic .kwwd-stage-monogram{display:flex}.kwwd-stage-classic .kwwd-stage-layout h4{font-size:38px;line-height:.9}.kwwd-stage-classic .kwwd-stage-date-card{margin-top:12px;text-align:center}.kwwd-stage-classic .kwwd-stage-date-card small{display:block;margin-bottom:5px;font:italic 11px Georgia,serif;text-transform:none;letter-spacing:.08em}.kwwd-stage-classic .kwwd-stage-countdown{display:none}.kwwd-stage-classic .kwwd-stage-rsvp{margin-top:22px;border:1px solid currentColor;background:transparent}.kwwd-stage-classic .kwwd-stage-ornament-a,.kwwd-stage-classic .kwwd-stage-ornament-b{z-index:2;width:42px;height:72px;border-top:1px solid rgba(118,87,58,.32);border-bottom:1px solid rgba(118,87,58,.32)}.kwwd-stage-classic .kwwd-stage-ornament-a{top:72px;left:8px;transform:rotate(-28deg)}.kwwd-stage-classic .kwwd-stage-ornament-b{right:8px;bottom:76px;transform:rotate(28deg)}
/* OLIVE: asymmetric Mediterranean editorial layout */
.kwwd-stage-olive .kwwd-stage-screen{background:linear-gradient(145deg,#0f3d32 0 62%,#e8dfc9 62% 100%);color:#f7efd9}.kwwd-stage-olive .kwwd-stage-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 110% 10%,rgba(211,226,191,.24),transparent 32%),radial-gradient(ellipse at -10% 92%,rgba(211,226,191,.17),transparent 34%)}.kwwd-stage-olive .kwwd-stage-layout{align-items:flex-start;justify-content:flex-start;padding:58px 30px 32px;text-align:left}.kwwd-stage-olive .kwwd-stage-eyebrow{margin-bottom:26px;color:#d8cba7}.kwwd-stage-olive .kwwd-stage-monogram{display:none}.kwwd-stage-olive .kwwd-stage-layout h4{align-items:flex-start;font-size:42px;line-height:.82;text-align:left}.kwwd-stage-olive .kwwd-stage-layout h4 b{margin:8px 0;font-size:14px}.kwwd-stage-olive .kwwd-stage-divider{justify-content:flex-start;width:72%;margin:20px 0 8px}.kwwd-stage-olive .kwwd-stage-date-card{text-align:left}.kwwd-stage-olive .kwwd-stage-date-card small{display:block;color:#d8cba7;font-size:8px;letter-spacing:.18em;text-transform:uppercase}.kwwd-stage-olive .kwwd-stage-countdown{position:absolute;right:18px;bottom:54px;display:grid;grid-template-columns:1fr;gap:4px;color:#163b32}.kwwd-stage-olive .kwwd-stage-countdown span{min-width:52px;padding:5px 7px;border-color:rgba(22,59,50,.22);background:rgba(255,255,255,.25)}.kwwd-stage-olive .kwwd-stage-rsvp{position:absolute;left:28px;bottom:34px;border-color:#e8dfc9;background:#e8dfc9;color:#163b32}.kwwd-stage-olive .kwwd-stage-ornament-a{z-index:2;top:-26px;right:-22px;width:110px;height:170px;border:2px solid rgba(229,221,195,.36);border-radius:80% 10% 80% 15%;transform:rotate(28deg)}.kwwd-stage-olive .kwwd-stage-ornament-b{z-index:2;right:40px;top:40px;width:48px;height:110px;border-left:1px solid rgba(229,221,195,.45);transform:rotate(42deg)}
/* ROMANTIC: full-bleed photo with floating glass card */
.kwwd-stage-romantic .kwwd-stage-screen{background:linear-gradient(180deg,rgba(28,8,14,.08),rgba(28,8,14,.78)),var(--kwwd-couple-photo,linear-gradient(145deg,#c08a92,#56313a));background-size:cover;background-position:center;color:#fff}.kwwd-stage-romantic .kwwd-stage-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(30,8,15,.18) 55%,rgba(30,8,15,.62))}.kwwd-stage-romantic .kwwd-stage-photo-panel{display:block;inset:0;background:inherit}.kwwd-stage-romantic .kwwd-stage-layout{justify-content:flex-end;padding:34px 22px 42px}.kwwd-stage-romantic .kwwd-stage-layout:before{content:"";position:absolute;left:14px;right:14px;bottom:22px;height:49%;border:1px solid rgba(255,255,255,.24);border-radius:26px;background:rgba(44,13,22,.38);box-shadow:0 18px 40px rgba(0,0,0,.28);backdrop-filter:blur(10px)}.kwwd-stage-romantic .kwwd-stage-eyebrow{position:absolute;top:26px;left:0;right:0;color:#fff}.kwwd-stage-romantic .kwwd-stage-monogram{display:none}.kwwd-stage-romantic .kwwd-stage-layout h4{z-index:2;font-size:38px;line-height:.92}.kwwd-stage-romantic .kwwd-stage-divider,.kwwd-stage-romantic .kwwd-stage-date-card,.kwwd-stage-romantic .kwwd-stage-countdown,.kwwd-stage-romantic .kwwd-stage-rsvp{z-index:2}.kwwd-stage-romantic .kwwd-stage-divider{margin:12px 0 7px}.kwwd-stage-romantic .kwwd-stage-date-card{font-style:italic}.kwwd-stage-romantic .kwwd-stage-countdown{margin-top:14px}.kwwd-stage-romantic .kwwd-stage-rsvp{margin-top:14px;border-color:#fff;background:#fff;color:#4c1826}
/* LUXURY: geometric black invitation, stacked names, gold ticket */
.kwwd-stage-luxury .kwwd-stage-screen{background:radial-gradient(circle at 50% -10%,#50402e,#101010 45%,#020202 100%);color:#e9bd76}.kwwd-stage-luxury .kwwd-stage-screen:before{content:"";position:absolute;inset:17px;border:1px solid rgba(233,189,118,.45);background:linear-gradient(135deg,transparent 48%,rgba(233,189,118,.05) 50%,transparent 52%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.kwwd-stage-luxury .kwwd-stage-screen:after{content:"";position:absolute;inset:26px;border:1px solid rgba(233,189,118,.15)}.kwwd-stage-luxury .kwwd-stage-layout{padding:38px 32px}.kwwd-stage-luxury .kwwd-stage-eyebrow{margin-bottom:30px;color:#bda06e}.kwwd-stage-luxury .kwwd-stage-monogram{display:flex;width:62px;height:62px;margin-bottom:25px;border:1px solid rgba(233,189,118,.5);border-radius:50%;align-items:center;justify-content:center;gap:3px}.kwwd-stage-luxury .kwwd-stage-monogram i{font-size:7px}.kwwd-stage-luxury .kwwd-stage-layout h4{font-size:36px;line-height:.78;text-transform:uppercase;letter-spacing:.06em}.kwwd-stage-luxury .kwwd-stage-layout h4 b{margin:11px 0;color:#8d744c;font:400 10px/1 sans-serif;letter-spacing:.28em}.kwwd-stage-luxury .kwwd-stage-divider{width:52%;margin:22px 0 13px}.kwwd-stage-luxury .kwwd-stage-date-card small{display:block;margin-bottom:4px;color:#8d744c;font-size:7px;letter-spacing:.28em;text-transform:uppercase}.kwwd-stage-luxury .kwwd-stage-countdown{display:none}.kwwd-stage-luxury .kwwd-stage-rsvp{margin-top:28px;padding:10px 28px;border:1px solid #e9bd76;border-radius:0;background:transparent;letter-spacing:.24em}.kwwd-stage-luxury .kwwd-stage-ornament-a,.kwwd-stage-luxury .kwwd-stage-ornament-b{z-index:2;width:30px;height:30px;border-color:#e9bd76}.kwwd-stage-luxury .kwwd-stage-ornament-a{top:16px;left:16px;border-top:2px solid;border-left:2px solid}.kwwd-stage-luxury .kwwd-stage-ornament-b{right:16px;bottom:16px;border-right:2px solid;border-bottom:2px solid}
/* Public invitation: four different page compositions, not palette swaps */
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero{margin:24px auto;max-width:980px;border:1px solid rgba(133,98,58,.24);border-radius:220px 220px 30px 30px;background-color:#f7f0e5!important;color:#76573a!important;box-shadow:0 26px 70px rgba(54,39,20,.12)}.kwwd-invitation-theme-classic .kwwd-wedding-site-hero:before{content:"";position:absolute;inset:22px;border:1px solid rgba(133,98,58,.23);border-radius:200px 200px 24px 24px}.kwwd-invitation-theme-classic .kwwd-hero-content{position:relative;z-index:2;max-width:720px}.kwwd-invitation-theme-classic .kwwd-public-countdown{border-radius:0;background:transparent;border-top:1px solid currentColor;border-bottom:1px solid currentColor}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero{align-items:flex-start;min-height:82vh;padding:11vh 9vw;background-color:#143d32!important;background-position:72% center!important;text-align:left}.kwwd-invitation-theme-olive .kwwd-wedding-site-hero:before{content:"";position:absolute;right:-8vw;bottom:-12vw;width:42vw;height:42vw;border:1px solid rgba(232,223,201,.25);border-radius:62% 18% 65% 12%;transform:rotate(28deg)}.kwwd-invitation-theme-olive .kwwd-hero-content{max-width:620px;margin:0}.kwwd-invitation-theme-olive .kwwd-hero-content h1{text-align:left}.kwwd-invitation-theme-olive .kwwd-public-countdown{max-width:260px;border-radius:0;background:#e8dfc9;color:#163b32}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero{min-height:94vh;align-items:flex-end;padding:0 5vw 5vw;background-position:center!important}.kwwd-invitation-theme-romantic .kwwd-hero-content{max-width:760px;padding:34px;border:1px solid rgba(255,255,255,.24);border-radius:30px;background:rgba(50,15,24,.42);box-shadow:0 24px 70px rgba(0,0,0,.3);backdrop-filter:blur(12px)}.kwwd-invitation-theme-romantic .kwwd-hero-content h1{font-style:italic}.kwwd-invitation-theme-romantic .kwwd-public-countdown{background:rgba(255,255,255,.14);backdrop-filter:blur(8px)}
.kwwd-invitation-theme-luxury{background:#050505;color:#e9bd76}.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero{min-height:92vh;margin:0;background-color:#080808!important;background-blend-mode:multiply}.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:before,.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:after{content:"";position:absolute;pointer-events:none}.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:before{inset:30px;border:1px solid rgba(233,189,118,.48)}.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:after{inset:43px;border:1px solid rgba(233,189,118,.14)}.kwwd-invitation-theme-luxury .kwwd-hero-content h1{text-transform:uppercase;letter-spacing:.08em}.kwwd-invitation-theme-luxury .kwwd-public-countdown{border:1px solid rgba(233,189,118,.4);border-radius:0;background:transparent;color:#e9bd76}.kwwd-invitation-theme-luxury .kwwd-public-section{border-color:rgba(233,189,118,.18);background:#0d0d0d;color:#f5e6c8}.kwwd-invitation-theme-luxury .kwwd-public-section h2{color:#e9bd76}
@media(max-width:620px){.kwwd-stage-classic .kwwd-stage-layout h4,.kwwd-stage-romantic .kwwd-stage-layout h4{font-size:34px}.kwwd-stage-olive .kwwd-stage-layout h4{font-size:38px}.kwwd-stage-luxury .kwwd-stage-layout h4{font-size:31px}.kwwd-invitation-theme-classic .kwwd-wedding-site-hero{margin:12px;border-radius:130px 130px 24px 24px}.kwwd-invitation-theme-olive .kwwd-wedding-site-hero{padding:10vh 24px}.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero{padding:16px}.kwwd-invitation-theme-romantic .kwwd-hero-content{padding:24px}.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:before{inset:14px}.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:after{inset:22px}}

/* ===== v5.6.1 image-led invitation collection ===== */
.kwwd-stage-screen{background-image:var(--kwwd-template-bg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.kwwd-stage-screen:before{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.08))!important}
.kwwd-template-swatch{background-image:var(--kwwd-card-bg)!important;background-size:cover!important;background-position:center!important}
.kwwd-template-swatch>i,.kwwd-template-swatch>b,.kwwd-template-swatch>em{display:none!important}
.kwwd-template-card{grid-template-columns:112px 1fr!important;min-height:158px!important}
.kwwd-template-swatch{width:112px!important;min-height:158px!important;border-radius:16px 0 0 16px!important;border:0!important}
.kwwd-template-copy small{font-size:12px!important;letter-spacing:.04em;color:rgba(255,255,255,.62)!important}
.kwwd-stage-layout{padding:58px 28px 40px!important;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.kwwd-stage-eyebrow{margin-bottom:22px!important}
.kwwd-stage-classic .kwwd-stage-screen,.kwwd-stage-olive .kwwd-stage-screen,.kwwd-stage-romantic .kwwd-stage-screen,.kwwd-stage-luxury .kwwd-stage-screen{color:#6f5439!important}
.kwwd-stage-olive .kwwd-stage-screen{color:#46513e!important}
.kwwd-stage-romantic .kwwd-stage-screen{color:#755f55!important}
.kwwd-stage-luxury .kwwd-stage-screen{color:#e9bd76!important}
.kwwd-stage-classic .kwwd-stage-screen:after,.kwwd-stage-olive .kwwd-stage-screen:after,.kwwd-stage-romantic .kwwd-stage-screen:after,.kwwd-stage-luxury .kwwd-stage-screen:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));pointer-events:none}
.kwwd-stage-ornament,.kwwd-stage-photo-panel{display:none!important}
.kwwd-stage-classic .kwwd-stage-screen:before,.kwwd-stage-olive .kwwd-stage-screen:before,.kwwd-stage-romantic .kwwd-stage-screen:before,.kwwd-stage-luxury .kwwd-stage-screen:before{inset:0!important;border:0!important;border-radius:0!important;clip-path:none!important}
.kwwd-stage-classic .kwwd-stage-layout,.kwwd-stage-olive .kwwd-stage-layout,.kwwd-stage-romantic .kwwd-stage-layout,.kwwd-stage-luxury .kwwd-stage-layout{align-items:center!important;justify-content:center!important;text-align:center!important}
.kwwd-stage-classic .kwwd-stage-layout h4,.kwwd-stage-olive .kwwd-stage-layout h4,.kwwd-stage-romantic .kwwd-stage-layout h4,.kwwd-stage-luxury .kwwd-stage-layout h4{text-align:center!important;align-items:center!important;text-transform:none!important;letter-spacing:0!important;font-size:38px!important;line-height:.9!important}
.kwwd-stage-classic .kwwd-stage-layout h4 b,.kwwd-stage-olive .kwwd-stage-layout h4 b,.kwwd-stage-romantic .kwwd-stage-layout h4 b,.kwwd-stage-luxury .kwwd-stage-layout h4 b{margin:8px 0!important;font-size:18px!important;letter-spacing:0!important}
.kwwd-stage-date-card{text-align:center!important}
.kwwd-stage-countdown{position:static!important;display:flex!important;grid-template-columns:none!important;margin-top:15px!important;color:inherit!important}
.kwwd-stage-rsvp{position:static!important;margin:19px 0 0!important;border:1px solid currentColor!important;background:rgba(255,255,255,.46)!important;color:inherit!important;backdrop-filter:blur(5px);border-radius:999px!important;padding:10px 24px!important;letter-spacing:.12em!important}
.kwwd-stage-luxury .kwwd-stage-rsvp{background:rgba(0,0,0,.28)!important}
.kwwd-stage-luxury .kwwd-stage-screen:before{background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.22))!important}
.kwwd-stage-luxury .kwwd-stage-layout{text-shadow:0 4px 20px rgba(0,0,0,.75)}
.kwwd-wedding-site-hero.has-template-background{background-image:linear-gradient(180deg,rgba(255,255,255,.03),rgba(0,0,0,.08)),var(--kwwd-template-bg)!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero,.kwwd-invitation-theme-olive .kwwd-wedding-site-hero,.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero,.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero{margin:0!important;max-width:none!important;min-height:94vh!important;border:0!important;border-radius:0!important;padding:8vh 24px!important;align-items:center!important;text-align:center!important;color:#6f5439!important;box-shadow:none!important}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero{color:#46513e!important}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero{color:#755f55!important}
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero{color:#e9bd76!important}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero:before,.kwwd-invitation-theme-olive .kwwd-wedding-site-hero:before,.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero:before,.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:before,.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero:after{display:none!important}
.kwwd-wedding-site-hero .kwwd-hero-content{max-width:720px!important;margin:auto!important;padding:32px 26px!important;border:0!important;border-radius:26px!important;background:rgba(255,255,255,.18)!important;box-shadow:0 18px 60px rgba(60,45,30,.12)!important;backdrop-filter:blur(3px)}
.kwwd-invitation-theme-luxury .kwwd-hero-content{background:rgba(0,0,0,.24)!important;box-shadow:0 18px 70px rgba(0,0,0,.35)!important}
.kwwd-wedding-site-hero h1{color:inherit!important;text-align:center!important;text-shadow:none!important}
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero h1{text-shadow:0 5px 28px rgba(0,0,0,.75)!important}
.kwwd-wedding-site-hero .kwwd-kicker,.kwwd-wedding-site-hero .kwwd-public-date{color:inherit!important}
.kwwd-wedding-site-hero .kwwd-public-countdown{display:inline-flex!important;margin:18px auto 0!important;border:1px solid currentColor!important;border-radius:999px!important;background:rgba(255,255,255,.28)!important;color:inherit!important;backdrop-filter:blur(5px)}
.kwwd-invitation-theme-luxury .kwwd-public-countdown{background:rgba(0,0,0,.22)!important}
@media(max-width:620px){.kwwd-template-card{min-width:260px!important;grid-template-columns:96px 1fr!important}.kwwd-template-swatch{width:96px!important;min-height:145px!important}.kwwd-stage-layout{padding:52px 22px 34px!important}.kwwd-stage-classic .kwwd-stage-layout h4,.kwwd-stage-olive .kwwd-stage-layout h4,.kwwd-stage-romantic .kwwd-stage-layout h4,.kwwd-stage-luxury .kwwd-stage-layout h4{font-size:34px!important}.kwwd-wedding-site-hero .kwwd-hero-content{padding:26px 18px!important}}


/* ===== v5.6.2 invitation readability and background corrections ===== */
/* Aegean Elegance: premium gold primary typography, dark location for contrast. */
.kwwd-stage-classic .kwwd-stage-eyebrow,
.kwwd-stage-classic .kwwd-stage-monogram,
.kwwd-stage-classic .kwwd-stage-layout h4,
.kwwd-stage-classic .kwwd-stage-divider,
.kwwd-stage-classic .kwwd-stage-date-card small,
.kwwd-stage-classic .kwwd-stage-date-card time,
.kwwd-stage-classic .kwwd-stage-rsvp{color:#b9822f!important}
.kwwd-stage-classic .kwwd-stage-place{color:#171717!important;opacity:1!important;text-shadow:none!important}

/* Olive Grove: location must remain readable on the pale background. */
.kwwd-stage-olive .kwwd-stage-place{color:#171717!important;opacity:1!important;text-shadow:none!important}

/* Sunset Romance: remove the mauve/grey glass shadow and every dark overlay. */
.kwwd-stage-romantic .kwwd-stage-screen{background-image:var(--kwwd-template-bg)!important}
.kwwd-stage-romantic .kwwd-stage-screen:before,
.kwwd-stage-romantic .kwwd-stage-screen:after,
.kwwd-stage-romantic .kwwd-stage-layout:before{display:none!important;content:none!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important}
.kwwd-stage-romantic .kwwd-stage-grain{display:none!important}

/* Public invitation equivalents. */
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-kicker,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-public-date{color:#b9822f!important}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-public-place,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-public-place{color:#171717!important;opacity:1!important;text-shadow:none!important}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero.has-template-background{background-image:var(--kwwd-template-bg)!important;background-blend-mode:normal!important}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-hero-content{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}

/* ===== v5.6.3 Black Tie typography and replacement-package fix ===== */
/* Black Tie preview: every invitation text element must use a readable warm gold. */
.kwwd-stage-luxury .kwwd-stage-eyebrow,
.kwwd-stage-luxury .kwwd-stage-monogram,
.kwwd-stage-luxury .kwwd-stage-layout h4,
.kwwd-stage-luxury .kwwd-stage-layout h4 span,
.kwwd-stage-luxury .kwwd-stage-layout h4 b,
.kwwd-stage-luxury .kwwd-stage-divider,
.kwwd-stage-luxury .kwwd-stage-date-card,
.kwwd-stage-luxury .kwwd-stage-date-card small,
.kwwd-stage-luxury .kwwd-stage-date-card time,
.kwwd-stage-luxury .kwwd-stage-place,
.kwwd-stage-luxury .kwwd-stage-countdown,
.kwwd-stage-luxury .kwwd-stage-countdown strong,
.kwwd-stage-luxury .kwwd-stage-countdown small,
.kwwd-stage-luxury .kwwd-stage-rsvp{color:#e9bd76!important;opacity:1!important}
.kwwd-stage-luxury .kwwd-stage-layout h4,
.kwwd-stage-luxury .kwwd-stage-layout h4 span,
.kwwd-stage-luxury .kwwd-stage-layout h4 b{text-shadow:0 3px 18px rgba(0,0,0,.72)!important}

/* Black Tie public invitation: match the preview and keep all hero copy gold. */
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero h1 span,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero .kwwd-kicker,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero .kwwd-public-date,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero .kwwd-public-place,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero .kwwd-public-countdown,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero .kwwd-public-countdown *{color:#e9bd76!important;opacity:1!important}

/* ===== v5.6.4 complete public invitation theming + visibility fixes ===== */
/* The selected invitation now controls the full guest-facing page, not only the hero. */
.kwwd-wedding-website{
  --kwwd-page-bg:#071012;
  --kwwd-card-bg:#0c1517;
  --kwwd-card-border:rgba(233,189,118,.22);
  --kwwd-page-text:#f7f1e7;
  --kwwd-page-muted:#b8b1a7;
  --kwwd-page-accent:#e9bd76;
  background:var(--kwwd-page-bg)!important;
  color:var(--kwwd-page-text)!important;
  transition:background-color .35s ease,color .35s ease;
}
.kwwd-wedding-website .kwwd-public-section,
.kwwd-wedding-website .kwwd-site-nav,
.kwwd-wedding-website .kwwd-info-overview,
.kwwd-wedding-website .kwwd-rsvp-event-summary>div,
.kwwd-wedding-website .kwwd-rsvp-first-step,
.kwwd-wedding-website .kwwd-rsvp-details,
.kwwd-wedding-website .kwwd-rsvp-no-details,
.kwwd-wedding-website .kwwd-rsvp-confirmation{
  background:var(--kwwd-card-bg)!important;
  border-color:var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website .kwwd-public-section h2,
.kwwd-wedding-website .kwwd-public-section h3,
.kwwd-wedding-website .kwwd-public-section strong,
.kwwd-wedding-website .kwwd-public-section label,
.kwwd-wedding-website .kwwd-rsvp-first-step>p{
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website .kwwd-public-section p,
.kwwd-wedding-website .kwwd-public-section small,
.kwwd-wedding-website .kwwd-info-intro{
  color:var(--kwwd-page-muted)!important;
}
.kwwd-wedding-website .kwwd-public-section>.kwwd-kicker,
.kwwd-wedding-website .kwwd-site-nav a{
  color:var(--kwwd-page-accent)!important;
}
.kwwd-wedding-website input,
.kwwd-wedding-website textarea,
.kwwd-wedding-website select,
.kwwd-wedding-website .kwwd-rsvp-choice,
.kwwd-wedding-website .kwwd-secondary-action{
  background:color-mix(in srgb,var(--kwwd-card-bg) 88%,white 12%)!important;
  border-color:var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website .kwwd-public-submit{
  background:linear-gradient(135deg,var(--kwwd-page-accent),color-mix(in srgb,var(--kwwd-page-accent) 72%,white 28%))!important;
  color:#17120a!important;
  border-color:transparent!important;
}

/* Aegean Elegance: full ivory experience with dark readable copy and gold accents. */
.kwwd-invitation-theme-classic{
  --kwwd-page-bg:#f7f1e7;
  --kwwd-card-bg:#fffaf2;
  --kwwd-card-border:rgba(169,121,51,.34);
  --kwwd-page-text:#29231d;
  --kwwd-page-muted:#6d6257;
  --kwwd-page-accent:#b9822f;
}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-hero-content{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero h1 span,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-kicker{
  color:#b9822f!important;
  text-shadow:0 1px 0 rgba(255,255,255,.65)!important;
}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-public-date,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-public-countdown,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-public-countdown *{
  color:#3a3027!important;
  opacity:1!important;
  text-shadow:none!important;
}
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-public-countdown{
  background:rgba(255,250,242,.82)!important;
  border-color:rgba(92,65,37,.55)!important;
  backdrop-filter:none!important;
}

/* Olive Grove: full warm ivory / olive guest page. */
.kwwd-invitation-theme-olive{
  --kwwd-page-bg:#f1eadb;
  --kwwd-card-bg:#fbf7ee;
  --kwwd-card-border:rgba(67,82,55,.30);
  --kwwd-page-text:#263122;
  --kwwd-page-muted:#68705f;
  --kwwd-page-accent:#68774f;
}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-hero-content{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero h1 span,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-kicker{
  color:#8a682f!important;
}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-public-date,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-public-place,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-public-countdown,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-public-countdown *{
  color:#20251d!important;
  opacity:1!important;
  text-shadow:none!important;
}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-public-countdown{
  background:rgba(250,247,238,.80)!important;
  border-color:rgba(48,60,40,.45)!important;
  backdrop-filter:none!important;
}

/* Sunset Romance: warm blush page; no hero veil or glass overlay. */
.kwwd-invitation-theme-romantic{
  --kwwd-page-bg:#f8eee9;
  --kwwd-card-bg:#fff8f4;
  --kwwd-card-border:rgba(153,97,82,.28);
  --kwwd-page-text:#3d2924;
  --kwwd-page-muted:#806c65;
  --kwwd-page-accent:#b87560;
}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-hero-content{
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero h1 span,
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-kicker{
  color:#9b5f4e!important;
  text-shadow:0 1px 10px rgba(255,255,255,.55)!important;
}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-public-date,
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-public-countdown,
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-public-countdown *{
  color:#3f2d27!important;
  opacity:1!important;
  text-shadow:none!important;
}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-public-countdown{
  background:rgba(255,248,244,.82)!important;
  border-color:rgba(94,59,50,.42)!important;
  backdrop-filter:none!important;
}

/* Black Tie remains a complete dark-and-gold experience. */
.kwwd-invitation-theme-luxury{
  --kwwd-page-bg:#040707;
  --kwwd-card-bg:#0b1112;
  --kwwd-card-border:rgba(233,189,118,.28);
  --kwwd-page-text:#f6ead1;
  --kwwd-page-muted:#b9aa8d;
  --kwwd-page-accent:#e9bd76;
}

/* Protect light invitations from inherited white text in the theme. */
.kwwd-invitation-theme-classic .kwwd-public-section *,
.kwwd-invitation-theme-olive .kwwd-public-section *,
.kwwd-invitation-theme-romantic .kwwd-public-section *{
  text-shadow:none;
}

@media(max-width:620px){
  .kwwd-wedding-website .kwwd-public-section{margin-left:14px!important;margin-right:14px!important}
  .kwwd-wedding-site-hero .kwwd-hero-content{padding:22px 14px!important}
  .kwwd-wedding-site-hero h1{font-size:clamp(44px,13vw,66px)!important;line-height:.94!important}
  .kwwd-wedding-site-hero .kwwd-public-countdown{max-width:100%!important;padding:18px 24px!important}
}


/* ===== v5.6.5 full-page theme coverage for every invitation ===== */
.kwwd-wedding-website{
  --kwwd-surface-soft:color-mix(in srgb,var(--kwwd-card-bg) 92%,var(--kwwd-page-bg) 8%);
  --kwwd-surface-raised:color-mix(in srgb,var(--kwwd-card-bg) 84%,white 16%);
  --kwwd-input-bg:color-mix(in srgb,var(--kwwd-card-bg) 90%,white 10%);
  --kwwd-button-text:#17120a;
  min-height:100vh;
}
.kwwd-wedding-website,
.kwwd-wedding-website .kwwd-live-updates-public,
.kwwd-wedding-website .kwwd-recommendations-public,
.kwwd-wedding-website .kwwd-wedding-gallery,
.kwwd-wedding-website .kwwd-faq-section,
.kwwd-wedding-website .kwwd-gifts-section,
.kwwd-wedding-website .kwwd-stay-help-public{
  background:var(--kwwd-page-bg)!important;
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website .kwwd-public-section,
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-live-update-public,
.kwwd-wedding-website .kwwd-guide-card,
.kwwd-wedding-website .kwwd-selected-guide,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-place-details,
.kwwd-wedding-website .kwwd-dress-public,
.kwwd-wedding-website .kwwd-gift-details,
.kwwd-wedding-website .kwwd-faq-list>*,
.kwwd-wedding-website .kwwd-stay-event-summary,
.kwwd-wedding-website .kwwd-accommodation-results>*,
.kwwd-wedding-website .kwwd-timeline>*,
.kwwd-wedding-website .kwwd-gallery-grid>*{
  background:var(--kwwd-card-bg)!important;
  border-color:var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
  box-shadow:0 16px 44px color-mix(in srgb,var(--kwwd-page-bg) 72%,transparent 28%)!important;
}
.kwwd-wedding-website h1,
.kwwd-wedding-website h2,
.kwwd-wedding-website h3,
.kwwd-wedding-website h4,
.kwwd-wedding-website strong,
.kwwd-wedding-website label,
.kwwd-wedding-website legend,
.kwwd-wedding-website .kwwd-selected-guide-title,
.kwwd-wedding-website .kwwd-guide-card-body{
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website p,
.kwwd-wedding-website small,
.kwwd-wedding-website li,
.kwwd-wedding-website .kwwd-guide-desc,
.kwwd-wedding-website .kwwd-install-note,
.kwwd-wedding-website .kwwd-quote-privacy,
.kwwd-wedding-website .kwwd-quote-response-time{
  color:var(--kwwd-page-muted)!important;
}
.kwwd-wedding-website .kwwd-kicker,
.kwwd-wedding-website .kwwd-kicker-with-icon,
.kwwd-wedding-website a:not(.kwwd-public-submit),
.kwwd-wedding-website .kwwd-guide-links a,
.kwwd-wedding-website .kwwd-selected-guide-grid a,
.kwwd-wedding-website .kwwd-info-stay-link,
.kwwd-wedding-website .kwwd-video-button{
  color:var(--kwwd-page-accent)!important;
}
.kwwd-wedding-website input,
.kwwd-wedding-website textarea,
.kwwd-wedding-website select,
.kwwd-wedding-website .kwwd-rsvp-choice,
.kwwd-wedding-website .kwwd-secondary-action,
.kwwd-wedding-website .kwwd-rsvp-selected-summary{
  background:var(--kwwd-input-bg)!important;
  border-color:var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website input::placeholder,
.kwwd-wedding-website textarea::placeholder{color:var(--kwwd-page-muted)!important;opacity:.82}
.kwwd-wedding-website .kwwd-rsvp-choice.is-selected,
.kwwd-wedding-website .kwwd-public-submit,
.kwwd-wedding-website .kwwd-install-feature,
.kwwd-wedding-website .kwwd-info-stay-link{
  background:linear-gradient(135deg,var(--kwwd-page-accent),color-mix(in srgb,var(--kwwd-page-accent) 70%,white 30%))!important;
  border-color:transparent!important;
  color:var(--kwwd-button-text)!important;
  -webkit-text-fill-color:var(--kwwd-button-text)!important;
}
.kwwd-wedding-website .kwwd-site-nav{
  background:var(--kwwd-surface-soft)!important;
  border-color:var(--kwwd-card-border)!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--kwwd-page-bg) 76%,transparent 24%)!important;
}
.kwwd-wedding-website .kwwd-rsvp-remove{color:#a9473f!important}

/* Each selection has a complete and independent visual system. */
.kwwd-invitation-theme-classic{
  --kwwd-page-bg:#f7f1e7;
  --kwwd-card-bg:#fffaf2;
  --kwwd-card-border:rgba(169,121,51,.34);
  --kwwd-page-text:#29231d;
  --kwwd-page-muted:#6d6257;
  --kwwd-page-accent:#b9822f;
  --kwwd-button-text:#21170d;
}
.kwwd-invitation-theme-olive{
  --kwwd-page-bg:#ece6d8;
  --kwwd-card-bg:#f8f4e9;
  --kwwd-card-border:rgba(73,91,61,.34);
  --kwwd-page-text:#263122;
  --kwwd-page-muted:#66705e;
  --kwwd-page-accent:#70805a;
  --kwwd-button-text:#10180d;
}
.kwwd-invitation-theme-romantic{
  --kwwd-page-bg:#f7e9e3;
  --kwwd-card-bg:#fff7f3;
  --kwwd-card-border:rgba(157,98,80,.30);
  --kwwd-page-text:#422c26;
  --kwwd-page-muted:#806a62;
  --kwwd-page-accent:#c17a64;
  --kwwd-button-text:#2b1712;
}
.kwwd-invitation-theme-luxury{
  --kwwd-page-bg:#030707;
  --kwwd-card-bg:#0a1011;
  --kwwd-card-border:rgba(233,189,118,.30);
  --kwwd-page-text:#f7ead0;
  --kwwd-page-muted:#b9aa8d;
  --kwwd-page-accent:#e9bd76;
  --kwwd-input-bg:#101718;
  --kwwd-button-text:#171008;
}
.kwwd-invitation-theme-luxury .kwwd-public-section,
.kwwd-invitation-theme-luxury .kwwd-public-card,
.kwwd-invitation-theme-luxury .kwwd-live-update-public,
.kwwd-invitation-theme-luxury .kwwd-guide-card,
.kwwd-invitation-theme-luxury .kwwd-selected-guide,
.kwwd-invitation-theme-luxury .kwwd-info-overview-grid>a{
  box-shadow:0 18px 55px rgba(0,0,0,.42)!important;
}


/* ===== v5.6.6 exact media replacements + preview contrast lock ===== */
/* Every Design Studio preview gets an explicit readable palette. No inherited theme text may override it. */
.kwwd-design-stage .kwwd-stage-screen,
.kwwd-design-stage .kwwd-stage-screen *{
  opacity:1!important;
}
.kwwd-design-stage .kwwd-stage-layout{
  text-shadow:none!important;
}

/* Aegean Elegance: warm gold typography; location and countdown labels dark. */
.kwwd-stage-classic .kwwd-stage-eyebrow,
.kwwd-stage-classic .kwwd-stage-monogram,
.kwwd-stage-classic .kwwd-stage-monogram *,
.kwwd-stage-classic .kwwd-stage-layout h4,
.kwwd-stage-classic .kwwd-stage-layout h4 *,
.kwwd-stage-classic .kwwd-stage-divider,
.kwwd-stage-classic .kwwd-stage-divider *,
.kwwd-stage-classic .kwwd-stage-date-card small,
.kwwd-stage-classic .kwwd-stage-date-card time,
.kwwd-stage-classic .kwwd-stage-rsvp,
.kwwd-stage-classic .kwwd-stage-rsvp *{
  color:#a96f20!important;
}
.kwwd-stage-classic .kwwd-stage-place,
.kwwd-stage-classic .kwwd-stage-countdown,
.kwwd-stage-classic .kwwd-stage-countdown *{
  color:#241d17!important;
}

/* Olive Grove: deep olive typography with black supporting copy. */
.kwwd-stage-olive .kwwd-stage-eyebrow,
.kwwd-stage-olive .kwwd-stage-monogram,
.kwwd-stage-olive .kwwd-stage-monogram *,
.kwwd-stage-olive .kwwd-stage-layout h4,
.kwwd-stage-olive .kwwd-stage-layout h4 *,
.kwwd-stage-olive .kwwd-stage-divider,
.kwwd-stage-olive .kwwd-stage-divider *,
.kwwd-stage-olive .kwwd-stage-date-card small,
.kwwd-stage-olive .kwwd-stage-date-card time,
.kwwd-stage-olive .kwwd-stage-rsvp,
.kwwd-stage-olive .kwwd-stage-rsvp *{
  color:#465437!important;
}
.kwwd-stage-olive .kwwd-stage-place,
.kwwd-stage-olive .kwwd-stage-countdown,
.kwwd-stage-olive .kwwd-stage-countdown *{
  color:#171a14!important;
}

/* Sunset Romance: warm terracotta typography, without any veil/overlay. */
.kwwd-stage-romantic .kwwd-stage-eyebrow,
.kwwd-stage-romantic .kwwd-stage-monogram,
.kwwd-stage-romantic .kwwd-stage-monogram *,
.kwwd-stage-romantic .kwwd-stage-layout h4,
.kwwd-stage-romantic .kwwd-stage-layout h4 *,
.kwwd-stage-romantic .kwwd-stage-divider,
.kwwd-stage-romantic .kwwd-stage-divider *,
.kwwd-stage-romantic .kwwd-stage-date-card small,
.kwwd-stage-romantic .kwwd-stage-date-card time,
.kwwd-stage-romantic .kwwd-stage-rsvp,
.kwwd-stage-romantic .kwwd-stage-rsvp *{
  color:#9b4f3c!important;
}
.kwwd-stage-romantic .kwwd-stage-place,
.kwwd-stage-romantic .kwwd-stage-countdown,
.kwwd-stage-romantic .kwwd-stage-countdown *{
  color:#2e201c!important;
}
.kwwd-stage-romantic .kwwd-stage-screen:before,
.kwwd-stage-romantic .kwwd-stage-screen:after,
.kwwd-stage-romantic .kwwd-stage-layout:before{
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

/* Black Tie: every visible item uses bright gold on the new gold_black background. */
.kwwd-stage-luxury .kwwd-stage-screen,
.kwwd-stage-luxury .kwwd-stage-screen *{
  color:#f0c56f!important;
  text-shadow:0 2px 12px rgba(0,0,0,.72)!important;
}
.kwwd-stage-luxury .kwwd-stage-countdown span,
.kwwd-stage-luxury .kwwd-stage-rsvp{
  border-color:rgba(240,197,111,.78)!important;
  background:rgba(0,0,0,.30)!important;
}

/* Public hero contrast follows the chosen template as well. */
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero h1 *,
.kwwd-invitation-theme-classic .kwwd-wedding-site-hero .kwwd-kicker{
  color:#a96f20!important;
}
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero h1 *,
.kwwd-invitation-theme-olive .kwwd-wedding-site-hero .kwwd-kicker{
  color:#465437!important;
}
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero h1,
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero h1 *,
.kwwd-invitation-theme-romantic .kwwd-wedding-site-hero .kwwd-kicker{
  color:#9b4f3c!important;
}
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero,
.kwwd-invitation-theme-luxury .kwwd-wedding-site-hero *{
  color:#f0c56f!important;
}

/* ===== v5.6.7 canonical invitation renderer: dashboard preview and public link share one visual language ===== */
.kwwd-public-template-shell{
  width:min(680px,calc(100% - 28px))!important;
  min-height:0!important;
  margin:28px auto 18px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:transparent!important;
  box-shadow:0 28px 70px rgba(0,0,0,.24)!important;
}
.kwwd-public-template-canvas{
  position:relative;
  width:100%;
  aspect-ratio:1290/2796;
  min-height:720px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:68px 42px 42px;
  background-image:var(--kwwd-template-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  color:var(--kwwd-page-accent);
}
.kwwd-public-template-canvas:before,
.kwwd-public-template-canvas:after{content:none!important;display:none!important}
.kwwd-public-stage-layout{
  position:relative;
  z-index:3;
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:4% 3%;
}
.kwwd-public-stage-layout h1{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  margin:10px 0 20px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(50px,10vw,92px)!important;
  font-weight:500!important;
  line-height:.91!important;
  letter-spacing:-.035em!important;
  text-align:center!important;
  max-width:100%!important;
}
.kwwd-public-stage-layout h1 b{margin:8px 0!important;font-size:.46em!important;font-style:italic!important;font-weight:400!important}
.kwwd-public-stage-layout .kwwd-stage-eyebrow{font-size:clamp(10px,2vw,15px)!important;letter-spacing:.28em!important}
.kwwd-public-stage-layout .kwwd-stage-monogram{font-size:clamp(15px,3vw,23px)!important;margin:25px 0 4px!important}
.kwwd-public-stage-layout .kwwd-stage-divider{width:min(280px,65%)!important;margin:0 0 22px!important}
.kwwd-public-stage-layout .kwwd-stage-date-card small{display:block;font:italic 500 clamp(16px,3vw,25px)/1.2 Georgia,serif!important;margin-bottom:8px}
.kwwd-public-stage-layout .kwwd-stage-date-card time{font:600 clamp(21px,4vw,34px)/1.2 Georgia,serif!important}
.kwwd-public-stage-layout .kwwd-stage-place{font-size:clamp(10px,2vw,15px)!important;margin:10px 0 24px!important;opacity:1!important}
.kwwd-public-template-countdown{display:flex!important;gap:12px!important;margin:0 0 28px!important}
.kwwd-public-template-countdown span{min-width:78px!important;padding:13px 10px!important;border-radius:16px!important;background:color-mix(in srgb,var(--kwwd-card-bg) 72%,transparent 28%)!important;backdrop-filter:blur(4px)}
.kwwd-public-template-countdown b{font-size:clamp(22px,4vw,34px)!important}
.kwwd-public-template-countdown small{font-size:10px!important;letter-spacing:.08em!important}
.kwwd-public-hero-rsvp{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:28px!important;min-width:190px!important;padding:16px 30px!important;border:1px solid currentColor!important;border-radius:999px!important;text-decoration:none!important;font-weight:800!important;letter-spacing:.14em!important}
.kwwd-public-template-shell .kwwd-personal-greeting,
.kwwd-public-template-shell .kwwd-public-welcome{margin:8px auto 18px!important;max-width:520px!important;font-size:clamp(15px,2.5vw,20px)!important;color:inherit!important}

/* Exact per-template hero palette. */
.kwwd-invitation-theme-classic .kwwd-public-template-canvas,
.kwwd-invitation-theme-classic .kwwd-public-template-canvas *{color:#a96f20!important;text-shadow:none!important}
.kwwd-invitation-theme-classic .kwwd-public-template-canvas .kwwd-stage-place,
.kwwd-invitation-theme-classic .kwwd-public-template-canvas .kwwd-stage-countdown,
.kwwd-invitation-theme-classic .kwwd-public-template-canvas .kwwd-stage-countdown *{color:#241d17!important}
.kwwd-invitation-theme-olive .kwwd-public-template-canvas,
.kwwd-invitation-theme-olive .kwwd-public-template-canvas *{color:#465437!important;text-shadow:none!important}
.kwwd-invitation-theme-olive .kwwd-public-template-canvas .kwwd-stage-place,
.kwwd-invitation-theme-olive .kwwd-public-template-canvas .kwwd-stage-countdown,
.kwwd-invitation-theme-olive .kwwd-public-template-canvas .kwwd-stage-countdown *{color:#171a14!important}
.kwwd-invitation-theme-romantic .kwwd-public-template-canvas,
.kwwd-invitation-theme-romantic .kwwd-public-template-canvas *{color:#9b4f3c!important;text-shadow:none!important}
.kwwd-invitation-theme-romantic .kwwd-public-template-canvas .kwwd-stage-place,
.kwwd-invitation-theme-romantic .kwwd-public-template-canvas .kwwd-stage-countdown,
.kwwd-invitation-theme-romantic .kwwd-public-template-canvas .kwwd-stage-countdown *{color:#2e201c!important}
.kwwd-invitation-theme-luxury .kwwd-public-template-canvas,
.kwwd-invitation-theme-luxury .kwwd-public-template-canvas *{color:#f0c56f!important;text-shadow:0 2px 12px rgba(0,0,0,.72)!important}
.kwwd-invitation-theme-luxury .kwwd-public-template-countdown span,
.kwwd-invitation-theme-luxury .kwwd-public-hero-rsvp{background:rgba(0,0,0,.34)!important;border-color:rgba(240,197,111,.80)!important}

/* RSVP and all following blocks are a continuation of the selected invitation, not a separate dark form. */
.kwwd-wedding-website #rsvp.kwwd-rsvp-public{
  width:min(680px,calc(100% - 28px))!important;
  margin:0 auto 30px!important;
  padding:34px!important;
  background:var(--kwwd-card-bg)!important;
  color:var(--kwwd-page-text)!important;
  border:1px solid var(--kwwd-card-border)!important;
  border-radius:28px!important;
  box-shadow:0 20px 54px color-mix(in srgb,var(--kwwd-page-bg) 70%,transparent 30%)!important;
}
.kwwd-wedding-website #rsvp h2,
.kwwd-wedding-website #rsvp h3,
.kwwd-wedding-website #rsvp p,
.kwwd-wedding-website #rsvp strong,
.kwwd-wedding-website #rsvp label{color:var(--kwwd-page-text)!important;text-shadow:none!important}
.kwwd-wedding-website #rsvp .kwwd-kicker{color:var(--kwwd-page-accent)!important}
.kwwd-wedding-website #rsvp small{color:var(--kwwd-page-muted)!important}
.kwwd-wedding-website #rsvp .kwwd-rsvp-event-summary>div,
.kwwd-wedding-website #rsvp .kwwd-rsvp-first-step,
.kwwd-wedding-website #rsvp .kwwd-rsvp-details,
.kwwd-wedding-website #rsvp .kwwd-rsvp-confirmation{
  background:var(--kwwd-input-bg)!important;
  border-color:var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
}
.kwwd-invitation-theme-classic #rsvp{--kwwd-input-bg:#fffdf8}
.kwwd-invitation-theme-olive #rsvp{--kwwd-input-bg:#f4f0e5}
.kwwd-invitation-theme-romantic #rsvp{--kwwd-input-bg:#fff2ec}
.kwwd-invitation-theme-luxury #rsvp{--kwwd-input-bg:#101718}

@media(max-width:620px){
  .kwwd-public-template-shell{width:calc(100% - 28px)!important;margin-top:16px!important;border-radius:0!important}
  .kwwd-public-template-canvas{min-height:0!important;aspect-ratio:9/18.6;padding:58px 22px 28px!important}
  .kwwd-public-stage-layout h1{font-size:clamp(48px,13vw,72px)!important}
  .kwwd-public-template-countdown span{min-width:68px!important;padding:11px 7px!important}
  .kwwd-wedding-website #rsvp.kwwd-rsvp-public{padding:25px 20px!important;border-radius:24px!important}
}

/* ===== v5.6.9 — full-bleed responsive invitation canvas =====
 * Every selected invitation must use the available mobile viewport instead of
 * appearing as a narrow poster surrounded by the page background.
 */
@media (max-width:760px){
  body .kwwd-public.kwwd-wedding-website{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:hidden!important;
  }
  body .kwwd-public .kwwd-public-template-shell{
    width:100vw!important;
    max-width:100vw!important;
    margin:0 calc(50% - 50vw) 18px!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  body .kwwd-public .kwwd-public-template-canvas{
    width:100vw!important;
    max-width:100vw!important;
    min-height:100svh!important;
    aspect-ratio:1290/2796!important;
    padding:clamp(46px,10vw,72px) clamp(18px,5vw,34px) clamp(28px,7vw,48px)!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
  /* A slight controlled zoom removes the empty decorative margins embedded
     in the artwork while preserving the focal area and all dynamic content. */
  body .kwwd-invitation-theme-classic .kwwd-public-template-canvas,
  body .kwwd-invitation-theme-olive .kwwd-public-template-canvas,
  body .kwwd-invitation-theme-romantic .kwwd-public-template-canvas{
    background-size:106% auto!important;
  }
  body .kwwd-invitation-theme-luxury .kwwd-public-template-canvas{
    background-size:114% auto!important;
  }
  body .kwwd-public .kwwd-public-stage-layout{
    width:100%!important;
    max-width:100%!important;
    padding:2% 1%!important;
  }
  body .kwwd-public .kwwd-public-stage-layout h1{
    max-width:96vw!important;
    overflow-wrap:break-word!important;
  }
  body .kwwd-public .kwwd-public-template-countdown{
    width:min(100%,390px)!important;
    justify-content:center!important;
    gap:clamp(7px,2.5vw,12px)!important;
  }
  body .kwwd-public .kwwd-public-template-countdown span{
    flex:1 1 0!important;
    min-width:0!important;
  }
}

/* ===== v5.7.1 — undistorted invitation artwork ===== */
@media (max-width:760px){
  body .kwwd-public .kwwd-public-template-canvas{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1290/2796!important;
    background-size:100% auto!important;
    background-position:center top!important;
  }
}

/* ===== v5.7.2 — coherent public wedding website design system ===== */
.kwwd-wedding-website{
  --kwwd-radius-xl:28px;
  --kwwd-radius-lg:22px;
  --kwwd-radius-md:16px;
  --kwwd-shadow-soft:0 18px 48px rgba(17,12,7,.10);
  --kwwd-section-gap:22px;
}

/* Keep the invitation composition truly centered and inside the viewport. */
.kwwd-public-template-canvas{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.kwwd-public-stage-layout{
  width:min(100%,560px)!important;
  margin:auto!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  transform:none!important;
}
.kwwd-public-stage-layout>*{max-width:100%!important}
.kwwd-public-stage-layout h1{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.kwwd-public-template-countdown{
  width:min(100%,390px)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.kwwd-public-template-countdown span{
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
.kwwd-public-template-shell .kwwd-personal-greeting,
.kwwd-public-template-shell .kwwd-public-welcome{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* One visual language for every section after the invitation. */
.kwwd-wedding-website .kwwd-public-section,
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-live-update-public,
.kwwd-wedding-website .kwwd-guide-card,
.kwwd-wedding-website .kwwd-selected-guide,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-faq-list details{
  background:var(--kwwd-card-bg)!important;
  border:1px solid var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
  box-shadow:var(--kwwd-shadow-soft)!important;
}
.kwwd-wedding-website .kwwd-public-section{
  width:min(680px,calc(100% - 28px))!important;
  margin:var(--kwwd-section-gap) auto!important;
  padding:clamp(24px,5vw,38px)!important;
  border-radius:var(--kwwd-radius-xl)!important;
  overflow:hidden!important;
}
.kwwd-wedding-website .kwwd-public-section h2,
.kwwd-wedding-website .kwwd-public-section h3,
.kwwd-wedding-website .kwwd-public-section h4,
.kwwd-wedding-website .kwwd-public-section p,
.kwwd-wedding-website .kwwd-public-section li,
.kwwd-wedding-website .kwwd-public-section label,
.kwwd-wedding-website .kwwd-public-section strong,
.kwwd-wedding-website .kwwd-public-section summary,
.kwwd-wedding-website .kwwd-guide-card h3,
.kwwd-wedding-website .kwwd-guide-card p,
.kwwd-wedding-website .kwwd-guide-card small,
.kwwd-wedding-website .kwwd-info-overview-grid strong,
.kwwd-wedding-website .kwwd-info-overview-grid small{
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  text-shadow:none!important;
  opacity:1!important;
}
.kwwd-wedding-website .kwwd-public-section>h2{
  margin:5px 0 18px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(30px,7vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.kwwd-wedding-website .kwwd-kicker,
.kwwd-wedding-website .kwwd-kicker *{
  color:var(--kwwd-page-accent)!important;
  -webkit-text-fill-color:var(--kwwd-page-accent)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.kwwd-wedding-website .kwwd-kicker{
  margin:0 0 8px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
}
.kwwd-wedding-website .kwwd-public-section>p:not(.kwwd-kicker){
  color:var(--kwwd-page-muted)!important;
  -webkit-text-fill-color:var(--kwwd-page-muted)!important;
  font-size:16px!important;
  line-height:1.7!important;
}

/* Inner cards must not become random white or black rectangles. */
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-gift-details>*,
.kwwd-wedding-website .kwwd-rsvp-event-summary>div,
.kwwd-wedding-website .kwwd-rsvp-first-step,
.kwwd-wedding-website .kwwd-rsvp-details,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-faq-list details{
  background:var(--kwwd-input-bg)!important;
  border-color:var(--kwwd-card-border)!important;
  border-radius:var(--kwwd-radius-lg)!important;
  box-shadow:none!important;
}
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-gift-details>*{
  padding:22px!important;
}
.kwwd-wedding-website .kwwd-gift-details{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.kwwd-wedding-website .kwwd-gift-details p,
.kwwd-wedding-website .kwwd-gift-details a{
  margin:0!important;
  overflow-wrap:anywhere!important;
}

/* Forms: consistent contrast, spacing and button treatment. */
.kwwd-wedding-website input,
.kwwd-wedding-website textarea,
.kwwd-wedding-website select,
.kwwd-wedding-website .kwwd-rsvp-choice,
.kwwd-wedding-website .kwwd-secondary-action{
  width:100%!important;
  min-height:54px!important;
  border:1px solid var(--kwwd-card-border)!important;
  border-radius:16px!important;
  background:var(--kwwd-input-bg)!important;
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  box-shadow:none!important;
}
.kwwd-wedding-website textarea{min-height:110px!important}
.kwwd-wedding-website .kwwd-public-submit,
.kwwd-wedding-website .kwwd-install-feature,
.kwwd-wedding-website .kwwd-info-stay-link,
.kwwd-wedding-website .kwwd-guide-links a,
.kwwd-wedding-website .kwwd-video-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:54px!important;
  padding:14px 24px!important;
  border-radius:999px!important;
  font-weight:800!important;
  text-decoration:none!important;
}

/* Guide cards: image and copy form one balanced card, no white content islands. */
.kwwd-wedding-website .kwwd-guide-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.kwwd-wedding-website .kwwd-guide-card{
  display:block!important;
  overflow:hidden!important;
  border-radius:var(--kwwd-radius-lg)!important;
}
.kwwd-wedding-website .kwwd-guide-card>img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
}
.kwwd-wedding-website .kwwd-guide-card-body,
.kwwd-wedding-website .kwwd-guide-card>div{
  padding:22px!important;
  background:transparent!important;
}
.kwwd-wedding-website .kwwd-guide-card h3{
  margin:0 0 10px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:clamp(26px,6vw,36px)!important;
  line-height:1.1!important;
  color:var(--kwwd-page-accent)!important;
  -webkit-text-fill-color:var(--kwwd-page-accent)!important;
}
.kwwd-wedding-website .kwwd-guide-card p,
.kwwd-wedding-website .kwwd-guide-card small{
  color:var(--kwwd-page-muted)!important;
  -webkit-text-fill-color:var(--kwwd-page-muted)!important;
  line-height:1.65!important;
}

/* Theme-specific input surfaces and stronger readable palettes. */
.kwwd-invitation-theme-classic{--kwwd-input-bg:#fffdf9;--kwwd-shadow-soft:0 18px 48px rgba(102,72,31,.10)}
.kwwd-invitation-theme-olive{--kwwd-input-bg:#f6f2e8;--kwwd-shadow-soft:0 18px 48px rgba(47,63,39,.11)}
.kwwd-invitation-theme-romantic{--kwwd-input-bg:#fff4ef;--kwwd-shadow-soft:0 18px 48px rgba(125,70,55,.11)}
.kwwd-invitation-theme-luxury{--kwwd-input-bg:#101718;--kwwd-shadow-soft:0 18px 55px rgba(0,0,0,.34)}

/* Explicitly defeat old global rules that made headings almost black on dark cards. */
.kwwd-invitation-theme-luxury .kwwd-public-section>h2,
.kwwd-invitation-theme-luxury .kwwd-public-section>h3,
.kwwd-invitation-theme-luxury .kwwd-public-card h3,
.kwwd-invitation-theme-luxury .kwwd-guide-card h3{
  color:#e9bd76!important;
  -webkit-text-fill-color:#e9bd76!important;
}
.kwwd-invitation-theme-luxury .kwwd-public-section p,
.kwwd-invitation-theme-luxury .kwwd-public-section label,
.kwwd-invitation-theme-luxury .kwwd-public-section li,
.kwwd-invitation-theme-luxury .kwwd-public-section summary,
.kwwd-invitation-theme-luxury .kwwd-public-section strong{
  color:#f7ead0!important;
  -webkit-text-fill-color:#f7ead0!important;
}
.kwwd-invitation-theme-luxury .kwwd-public-section>p:not(.kwwd-kicker),
.kwwd-invitation-theme-luxury .kwwd-guide-card p,
.kwwd-invitation-theme-luxury .kwwd-guide-card small{
  color:#c8b99d!important;
  -webkit-text-fill-color:#c8b99d!important;
}

@media(max-width:620px){
  .kwwd-public-stage-layout{width:100%!important;padding:0 10px!important}
  .kwwd-public-stage-layout h1{font-size:clamp(46px,12.7vw,70px)!important;line-height:.94!important}
  .kwwd-public-template-countdown{width:100%!important;gap:8px!important}
  .kwwd-public-template-countdown span{padding:11px 5px!important;border-radius:18px!important}
  .kwwd-wedding-website .kwwd-public-section{width:calc(100% - 24px)!important;padding:24px 20px!important;border-radius:24px!important}
  .kwwd-wedding-website .kwwd-public-grid{grid-template-columns:1fr!important}
  .kwwd-wedding-website .kwwd-info-overview-grid{grid-template-columns:1fr!important}
}


/* ===== v5.7.3 definitive public invitation contrast + cohesion fix ===== */
.kwwd-wedding-website{
  background:var(--kwwd-page-bg)!important;
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website .kwwd-public-section,
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-guide-card,
.kwwd-wedding-website .kwwd-selected-guide,
.kwwd-wedding-website .kwwd-stay-event-summary,
.kwwd-wedding-website .kwwd-gift-details>*,
.kwwd-wedding-website .kwwd-faq-list details,
.kwwd-wedding-website .kwwd-info-overview-grid>a{
  background:var(--kwwd-card-bg)!important;
  border:1px solid var(--kwwd-card-border)!important;
  color:var(--kwwd-page-text)!important;
  box-shadow:var(--kwwd-shadow-soft)!important;
}
.kwwd-wedding-website .kwwd-public-section>h2,
.kwwd-wedding-website .kwwd-public-section>h3,
.kwwd-wedding-website .kwwd-stay-help-head h2,
.kwwd-wedding-website .kwwd-guide-card h3,
.kwwd-wedding-website .kwwd-selected-guide-title,
.kwwd-wedding-website .kwwd-gifts-section h2,
.kwwd-wedding-website .kwwd-dress-public h2{
  color:var(--kwwd-page-accent)!important;
  -webkit-text-fill-color:var(--kwwd-page-accent)!important;
  opacity:1!important;
  text-shadow:none!important;
}
.kwwd-wedding-website .kwwd-kicker,
.kwwd-wedding-website .kwwd-stay-help-head .kwwd-kicker,
.kwwd-wedding-website .kwwd-recommendations-public .kwwd-kicker{
  color:var(--kwwd-page-accent)!important;
  -webkit-text-fill-color:var(--kwwd-page-accent)!important;
  opacity:1!important;
}
.kwwd-wedding-website .kwwd-public-section p,
.kwwd-wedding-website .kwwd-public-section li,
.kwwd-wedding-website .kwwd-public-section summary,
.kwwd-wedding-website .kwwd-public-section label,
.kwwd-wedding-website .kwwd-public-section small,
.kwwd-wedding-website .kwwd-public-section span,
.kwwd-wedding-website .kwwd-guide-desc,
.kwwd-wedding-website .kwwd-stay-help-copy{
  color:var(--kwwd-page-muted)!important;
  -webkit-text-fill-color:var(--kwwd-page-muted)!important;
  opacity:1!important;
}
.kwwd-wedding-website .kwwd-public-section strong,
.kwwd-wedding-website .kwwd-stay-event-summary strong,
.kwwd-wedding-website .kwwd-gift-details strong,
.kwwd-wedding-website .kwwd-public-form-grid label{
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  opacity:1!important;
}
.kwwd-wedding-website input,
.kwwd-wedding-website select,
.kwwd-wedding-website textarea{
  background:var(--kwwd-input-bg)!important;
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  border:1px solid var(--kwwd-card-border)!important;
  box-shadow:none!important;
}
.kwwd-wedding-website input::placeholder,
.kwwd-wedding-website textarea::placeholder{
  color:var(--kwwd-page-muted)!important;
  opacity:.88!important;
}
.kwwd-wedding-website .kwwd-public-submit,
.kwwd-wedding-website .kwwd-guide-links a,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-video-button{
  background:var(--kwwd-page-accent)!important;
  color:var(--kwwd-button-text)!important;
  -webkit-text-fill-color:var(--kwwd-button-text)!important;
  border-color:var(--kwwd-page-accent)!important;
}
.kwwd-wedding-website .kwwd-guide-card-body,
.kwwd-wedding-website .kwwd-guide-card>div,
.kwwd-wedding-website .kwwd-guide-card.has-no-image>div{
  background:transparent!important;
  color:var(--kwwd-page-text)!important;
}
.kwwd-wedding-website .kwwd-guide-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/10!important;
  object-fit:cover!important;
  display:block!important;
}
.kwwd-wedding-website .kwwd-gift-details p,
.kwwd-wedding-website .kwwd-gift-details a,
.kwwd-wedding-website .kwwd-stay-event-summary>div{
  background:var(--kwwd-input-bg)!important;
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  border-color:var(--kwwd-card-border)!important;
}
.kwwd-wedding-website .kwwd-stay-event-summary small,
.kwwd-wedding-website .kwwd-gift-details br+*,
.kwwd-wedding-website .kwwd-quote-response-time,
.kwwd-wedding-website .kwwd-quote-privacy{
  color:var(--kwwd-page-muted)!important;
  -webkit-text-fill-color:var(--kwwd-page-muted)!important;
}
/* Luxury must never inherit near-black text. */
.kwwd-invitation-theme-luxury .kwwd-public-section h2,
.kwwd-invitation-theme-luxury .kwwd-public-section h3,
.kwwd-invitation-theme-luxury .kwwd-public-section h4,
.kwwd-invitation-theme-luxury .kwwd-public-section .kwwd-kicker{
  color:#e9bd76!important;
  -webkit-text-fill-color:#e9bd76!important;
}
.kwwd-invitation-theme-luxury .kwwd-public-section p,
.kwwd-invitation-theme-luxury .kwwd-public-section li,
.kwwd-invitation-theme-luxury .kwwd-public-section label,
.kwwd-invitation-theme-luxury .kwwd-public-section summary,
.kwwd-invitation-theme-luxury .kwwd-public-section small{
  color:#d6c8ad!important;
  -webkit-text-fill-color:#d6c8ad!important;
}
.kwwd-invitation-theme-luxury .kwwd-public-section strong{
  color:#fff4dc!important;
  -webkit-text-fill-color:#fff4dc!important;
}
@media(max-width:620px){
  .kwwd-wedding-website .kwwd-public-section{
    width:calc(100% - 28px)!important;
    margin:18px auto!important;
    padding:24px 20px!important;
    border-radius:26px!important;
  }
  .kwwd-wedding-website .kwwd-public-section>h2{
    font-size:clamp(32px,9vw,46px)!important;
    line-height:1.08!important;
    margin:0 0 14px!important;
  }
  .kwwd-wedding-website .kwwd-public-section p,
  .kwwd-wedding-website .kwwd-public-section label,
  .kwwd-wedding-website .kwwd-public-section li{
    font-size:16px!important;
    line-height:1.6!important;
  }
  .kwwd-wedding-website .kwwd-public-form-grid{gap:16px!important}
  .kwwd-wedding-website .kwwd-public-form-grid label{font-size:15px!important}
  .kwwd-wedding-website input,
  .kwwd-wedding-website select,
  .kwwd-wedding-website textarea{min-height:58px!important;font-size:17px!important}
  .kwwd-wedding-website .kwwd-public-submit{width:100%!important;min-height:58px!important;font-size:17px!important}
  .kwwd-wedding-website .kwwd-guide-card{overflow:hidden!important;border-radius:24px!important}
}

/* ===== v5.7.4 targeted mobile contrast, guide details and hero centering ===== */
/* Black Tie: every form label and fixed summary label must remain readable. */
.kwwd-invitation-theme-luxury .kwwd-stay-help-head h2,
.kwwd-invitation-theme-luxury .kwwd-stay-help-head p,
.kwwd-invitation-theme-luxury .kwwd-public-form-grid label,
.kwwd-invitation-theme-luxury .kwwd-public-form-grid label > span,
.kwwd-invitation-theme-luxury .kwwd-accommodation-search label,
.kwwd-invitation-theme-luxury .kwwd-accommodation-search label > span,
.kwwd-invitation-theme-luxury .kwwd-stay-event-summary small,
.kwwd-invitation-theme-luxury .kwwd-stay-event-summary label,
.kwwd-invitation-theme-luxury .kwwd-stay-event-summary span,
.kwwd-invitation-theme-luxury .kwwd-stay-search-form label,
.kwwd-invitation-theme-luxury .kwwd-stay-search-form label > span {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
}
.kwwd-invitation-theme-luxury .kwwd-stay-help-head h2{
  font-weight:800!important;
}
.kwwd-invitation-theme-luxury .kwwd-stay-help-head p,
.kwwd-invitation-theme-luxury .kwwd-public-form-grid label,
.kwwd-invitation-theme-luxury .kwwd-accommodation-search label,
.kwwd-invitation-theme-luxury .kwwd-stay-search-form label{
  font-weight:500!important;
}

/* Restaurant / guide detail copy: no unrelated light banner. */
.kwwd-wedding-website .kwwd-place-details{
  display:grid!important;
  gap:15px!important;
  margin:20px 0 6px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.kwwd-wedding-website .kwwd-place-details > div{
  display:block!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.kwwd-wedding-website .kwwd-place-details strong{
  display:block!important;
  margin:0 0 5px!important;
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.025em!important;
}
.kwwd-wedding-website .kwwd-place-details span{
  display:block!important;
  color:var(--kwwd-page-text)!important;
  -webkit-text-fill-color:var(--kwwd-page-text)!important;
  font-size:16px!important;
  line-height:1.58!important;
  font-weight:400!important;
}
.kwwd-invitation-theme-luxury .kwwd-place-details strong,
.kwwd-invitation-theme-luxury .kwwd-place-details span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Public invitation: mathematically centered and contained on every viewport. */
.kwwd-wedding-website .kwwd-wedding-site-hero,
.kwwd-wedding-website .kwwd-public-stage,
.kwwd-wedding-website .kwwd-public-stage-layout,
.kwwd-wedding-website .kwwd-hero-content{
  box-sizing:border-box!important;
}
.kwwd-wedding-website .kwwd-public-stage-layout,
.kwwd-wedding-website .kwwd-hero-content{
  width:min(100%,760px)!important;
  max-width:760px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:18px!important;
  padding-right:18px!important;
  text-align:center!important;
  align-items:center!important;
  justify-content:center!important;
}
.kwwd-wedding-website .kwwd-public-stage-layout > *,
.kwwd-wedding-website .kwwd-hero-content > *{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.kwwd-wedding-website .kwwd-public-template-countdown,
.kwwd-wedding-website .kwwd-public-countdown{
  width:min(100%,560px)!important;
  max-width:560px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.kwwd-wedding-website .kwwd-public-template-countdown > *,
.kwwd-wedding-website .kwwd-public-countdown > *{
  min-width:0!important;
  box-sizing:border-box!important;
}

@media(max-width:620px){
  .kwwd-wedding-website .kwwd-public-stage-layout,
  .kwwd-wedding-website .kwwd-hero-content{
    width:100%!important;
    max-width:100%!important;
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .kwwd-wedding-website .kwwd-public-stage-layout h1,
  .kwwd-wedding-website .kwwd-hero-content h1{
    width:100%!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  .kwwd-wedding-website .kwwd-guide-card-body{
    padding:22px!important;
  }
  .kwwd-wedding-website .kwwd-place-details strong{font-size:13px!important}
  .kwwd-wedding-website .kwwd-place-details span{font-size:16px!important}
}

/* ===== v5.7.5 canonical public renderer — final cascade boundary =====
 * This block is intentionally last. All public sections derive from the active
 * invitation class on <main>; legacy dark-card rules may not override it.
 */
.kwwd-wedding-website.kwwd-invitation-theme-classic{
  --kw-final-page:#f7f1e8;--kw-final-card:#fffaf3;--kw-final-soft:#fffdf8;
  --kw-final-title:#a96f20;--kw-final-text:#2d261f;--kw-final-muted:#6f655a;
  --kw-final-border:rgba(169,111,32,.30);--kw-final-button:#c9913d;--kw-final-button-text:#21170d;
}
.kwwd-wedding-website.kwwd-invitation-theme-olive{
  --kw-final-page:#ebe6da;--kw-final-card:#f8f4e9;--kw-final-soft:#f3efe4;
  --kw-final-title:#465437;--kw-final-text:#273023;--kw-final-muted:#626b5b;
  --kw-final-border:rgba(70,84,55,.30);--kw-final-button:#71805d;--kw-final-button-text:#fff;
}
.kwwd-wedding-website.kwwd-invitation-theme-romantic{
  --kw-final-page:#f7e9e3;--kw-final-card:#fff7f3;--kw-final-soft:#fff1eb;
  --kw-final-title:#9b4f3c;--kw-final-text:#442d26;--kw-final-muted:#7d675f;
  --kw-final-border:rgba(155,79,60,.28);--kw-final-button:#c77f68;--kw-final-button-text:#fff;
}
.kwwd-wedding-website.kwwd-invitation-theme-luxury{
  --kw-final-page:#03090a;--kw-final-card:#091112;--kw-final-soft:#0f1819;
  --kw-final-title:#e9bd76;--kw-final-text:#fff;--kw-final-muted:#ddd3c0;
  --kw-final-border:rgba(233,189,118,.32);--kw-final-button:#d8a34d;--kw-final-button-text:#171008;
}

/* Full page and every content surface follow the selected template. */
body:has(.kwwd-wedding-website){overflow-x:hidden!important}
.kwwd-wedding-website{
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 34px!important;
  overflow-x:clip!important;background:var(--kw-final-page)!important;color:var(--kw-final-text)!important;
}
.kwwd-wedding-website .kwwd-public-section,
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-guide-card,
.kwwd-wedding-website .kwwd-selected-guide,
.kwwd-wedding-website .kwwd-stay-event-summary,
.kwwd-wedding-website .kwwd-faq-list details,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-brand-cta{
  background:var(--kw-final-card)!important;color:var(--kw-final-text)!important;
  border-color:var(--kw-final-border)!important;box-shadow:0 16px 42px rgba(0,0,0,.10)!important;
}
.kwwd-wedding-website .kwwd-public-section h1,
.kwwd-wedding-website .kwwd-public-section h2,
.kwwd-wedding-website .kwwd-public-section h3,
.kwwd-wedding-website .kwwd-public-section h4,
.kwwd-wedding-website .kwwd-guide-card h3,
.kwwd-wedding-website .kwwd-stay-help-head h2,
.kwwd-wedding-website .kwwd-kicker{
  color:var(--kw-final-title)!important;-webkit-text-fill-color:var(--kw-final-title)!important;
  opacity:1!important;text-shadow:none!important;
}
.kwwd-wedding-website .kwwd-public-section p,
.kwwd-wedding-website .kwwd-public-section li,
.kwwd-wedding-website .kwwd-public-section small,
.kwwd-wedding-website .kwwd-public-section summary,
.kwwd-wedding-website .kwwd-guide-card p,
.kwwd-wedding-website .kwwd-guide-card small,
.kwwd-wedding-website .kwwd-stay-help-copy{
  color:var(--kw-final-muted)!important;-webkit-text-fill-color:var(--kw-final-muted)!important;
  opacity:1!important;text-shadow:none!important;font-weight:400!important;
}
.kwwd-wedding-website .kwwd-public-section strong,
.kwwd-wedding-website .kwwd-public-section label,
.kwwd-wedding-website .kwwd-public-form-grid label,
.kwwd-wedding-website .kwwd-stay-event-summary strong{
  color:var(--kw-final-text)!important;-webkit-text-fill-color:var(--kw-final-text)!important;
  opacity:1!important;text-shadow:none!important;
}

/* Accommodation: labels must be plainly readable; date summary uses theme surface. */
.kwwd-wedding-website .kwwd-stay-help-public .kwwd-public-form-grid label{
  display:grid!important;gap:9px!important;font-weight:800!important;color:var(--kw-final-text)!important;
  -webkit-text-fill-color:var(--kw-final-text)!important;
}
.kwwd-wedding-website .kwwd-stay-event-summary>div{
  background:var(--kw-final-soft)!important;border:1px solid var(--kw-final-border)!important;
  color:var(--kw-final-text)!important;border-radius:20px!important;box-shadow:none!important;
}
.kwwd-wedding-website .kwwd-stay-event-summary small{
  color:var(--kw-final-muted)!important;-webkit-text-fill-color:var(--kw-final-muted)!important;font-weight:500!important;
}
.kwwd-wedding-website .kwwd-stay-event-summary strong{
  color:var(--kw-final-text)!important;-webkit-text-fill-color:var(--kw-final-text)!important;font-weight:800!important;
}
.kwwd-wedding-website input,
.kwwd-wedding-website select,
.kwwd-wedding-website textarea{
  background:var(--kw-final-soft)!important;color:var(--kw-final-text)!important;
  -webkit-text-fill-color:var(--kw-final-text)!important;border:1px solid var(--kw-final-border)!important;
}
.kwwd-wedding-website select option{color:#171717!important;background:#fff!important}

/* Black Tie explicit accessibility lock requested by the user. */
.kwwd-invitation-theme-luxury .kwwd-stay-help-public label,
.kwwd-invitation-theme-luxury .kwwd-stay-help-public .kwwd-public-form-grid label,
.kwwd-invitation-theme-luxury .kwwd-stay-help-public .kwwd-public-form-grid label small{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;opacity:1!important;
}
.kwwd-invitation-theme-luxury .kwwd-stay-event-summary small{
  color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;
}

/* Guide cards: no injected white banner. Titles bold white on Black Tie;
 * descriptions regular white. Other templates use their own palette.
 */
.kwwd-wedding-website .kwwd-place-details,
.kwwd-wedding-website .kwwd-place-details>div{
  display:grid!important;gap:5px!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
.kwwd-wedding-website .kwwd-place-details{gap:18px!important;margin:20px 0!important}
.kwwd-wedding-website .kwwd-place-details strong{
  display:block!important;color:var(--kw-final-text)!important;-webkit-text-fill-color:var(--kw-final-text)!important;
  font-weight:800!important;font-size:15px!important;line-height:1.35!important;text-transform:uppercase!important;
}
.kwwd-wedding-website .kwwd-place-details span{
  display:block!important;color:var(--kw-final-muted)!important;-webkit-text-fill-color:var(--kw-final-muted)!important;
  font-weight:400!important;font-size:17px!important;line-height:1.6!important;
}
.kwwd-invitation-theme-luxury .kwwd-place-details strong,
.kwwd-invitation-theme-luxury .kwwd-place-details span{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
.kwwd-invitation-theme-luxury .kwwd-place-details strong{font-weight:800!important}
.kwwd-invitation-theme-luxury .kwwd-place-details span{font-weight:400!important}

/* Buttons use the active palette. */
.kwwd-wedding-website .kwwd-public-submit,
.kwwd-wedding-website .kwwd-guide-links a,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-video-button,
.kwwd-wedding-website .kwwd-info-stay-link{
  background:var(--kw-final-button)!important;color:var(--kw-final-button-text)!important;
  -webkit-text-fill-color:var(--kw-final-button-text)!important;border-color:transparent!important;
}

/* Invitation canvas: true viewport centering, no right clipping and no inherited offsets. */
.kwwd-wedding-website .kwwd-public-template-shell{
  width:100%!important;max-width:100%!important;margin:0 auto 22px!important;padding:0!important;
  transform:none!important;left:auto!important;right:auto!important;overflow:hidden!important;
}
.kwwd-wedding-website .kwwd-public-template-canvas{
  width:100%!important;max-width:100%!important;margin:0 auto!important;box-sizing:border-box!important;
  background-position:center top!important;transform:none!important;
}
.kwwd-wedding-website .kwwd-public-stage-layout{
  width:100%!important;max-width:720px!important;margin:auto!important;padding-left:clamp(20px,6vw,52px)!important;
  padding-right:clamp(20px,6vw,52px)!important;box-sizing:border-box!important;transform:none!important;
}
.kwwd-wedding-website .kwwd-public-stage-layout h1{
  width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;
  text-align:center!important;overflow-wrap:normal!important;word-break:normal!important;
}
.kwwd-wedding-website .kwwd-public-template-countdown{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(100%,500px)!important;max-width:500px!important;margin-left:auto!important;margin-right:auto!important;
  gap:clamp(7px,2.2vw,14px)!important;box-sizing:border-box!important;
}
.kwwd-wedding-website .kwwd-public-template-countdown>span{min-width:0!important;width:auto!important;box-sizing:border-box!important}

@media(max-width:620px){
  .kwwd-wedding-website .kwwd-public-template-canvas{
    aspect-ratio:1290/2796!important;height:auto!important;min-height:0!important;
    padding:clamp(46px,9vw,62px) 0 clamp(26px,7vw,42px)!important;background-size:100% 100%!important;
  }
  .kwwd-wedding-website .kwwd-public-stage-layout{
    max-width:100%!important;padding-left:clamp(24px,8vw,44px)!important;padding-right:clamp(24px,8vw,44px)!important;
  }
  .kwwd-wedding-website .kwwd-public-stage-layout h1{
    font-size:clamp(46px,12vw,66px)!important;line-height:.96!important;letter-spacing:-.035em!important;
  }
  .kwwd-wedding-website .kwwd-public-template-countdown{width:100%!important;max-width:100%!important}
  .kwwd-wedding-website .kwwd-public-template-countdown>span{padding:11px 4px!important}
  .kwwd-wedding-website .kwwd-public-section{
    width:calc(100% - 28px)!important;max-width:760px!important;margin:18px auto!important;padding:24px 20px!important;
    box-sizing:border-box!important;
  }
}


/* ===== v5.7.6 canonical contrast + navigation + centering layer =====
 * One final source of truth for public theme contrast. This block is last by
 * design so legacy rules cannot recolor content after the active theme loads.
 */
.kwwd-wedding-website{
  --kw-public-heading:var(--kw-final-title);
  --kw-public-body:var(--kw-final-text);
  --kw-public-label:var(--kw-final-text);
  --kw-public-subtle:var(--kw-final-muted);
}

/* Black Tie: requested white content hierarchy on all dark sections. */
.kwwd-wedding-website.kwwd-invitation-theme-luxury{
  --kw-public-heading:#fff;
  --kw-public-body:#fff;
  --kw-public-label:#fff;
  --kw-public-subtle:rgba(255,255,255,.82);
}
.kwwd-invitation-theme-luxury .kwwd-public-section h1,
.kwwd-invitation-theme-luxury .kwwd-public-section h2,
.kwwd-invitation-theme-luxury .kwwd-public-section h3,
.kwwd-invitation-theme-luxury .kwwd-public-section h4,
.kwwd-invitation-theme-luxury .kwwd-guide-card h3,
.kwwd-invitation-theme-luxury .kwwd-stay-help-head h2,
.kwwd-invitation-theme-luxury .kwwd-place-details strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;opacity:1!important;
}
.kwwd-invitation-theme-luxury .kwwd-public-section p,
.kwwd-invitation-theme-luxury .kwwd-public-section li,
.kwwd-invitation-theme-luxury .kwwd-public-section small,
.kwwd-invitation-theme-luxury .kwwd-guide-card p,
.kwwd-invitation-theme-luxury .kwwd-guide-card small,
.kwwd-invitation-theme-luxury .kwwd-place-details span,
.kwwd-invitation-theme-luxury .kwwd-stay-help-copy{
  color:rgba(255,255,255,.84)!important;-webkit-text-fill-color:rgba(255,255,255,.84)!important;font-weight:400!important;opacity:1!important;
}
.kwwd-invitation-theme-luxury .kwwd-kicker{
  color:#e9bd76!important;-webkit-text-fill-color:#e9bd76!important;font-weight:900!important;
}
.kwwd-invitation-theme-luxury .kwwd-public-form-grid label,
.kwwd-invitation-theme-luxury .kwwd-public-form-grid label>small,
.kwwd-invitation-theme-luxury .kwwd-stay-help-public label,
.kwwd-invitation-theme-luxury .kwwd-stay-help-public label>small{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;opacity:1!important;
}
.kwwd-invitation-theme-luxury .kwwd-stay-event-summary small{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:500!important;
}
.kwwd-invitation-theme-luxury .kwwd-stay-event-summary strong{
  color:#171717!important;-webkit-text-fill-color:#171717!important;
}

/* Recommendation cards: semantic hierarchy, never a pale banner inside dark cards. */
.kwwd-wedding-website .kwwd-place-details,
.kwwd-wedding-website .kwwd-place-details>div{
  background:transparent!important;background-image:none!important;box-shadow:none!important;border:0!important;
}
.kwwd-invitation-theme-luxury .kwwd-guide-card h3,
.kwwd-invitation-theme-luxury .kwwd-place-details strong{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:800!important;
}
.kwwd-invitation-theme-luxury .kwwd-guide-card>div>p,
.kwwd-invitation-theme-luxury .kwwd-guide-card>div>small,
.kwwd-invitation-theme-luxury .kwwd-place-details span{
  color:#fff!important;-webkit-text-fill-color:#fff!important;font-weight:400!important;
}

/* Welcome badge: strong contrast on every template. */
.kwwd-wedding-website .kwwd-personal-greeting{
  width:min(100%,560px)!important;margin:18px auto!important;padding:14px 20px!important;border-radius:999px!important;
  text-align:center!important;font-weight:700!important;line-height:1.35!important;opacity:1!important;text-shadow:none!important;
}
.kwwd-invitation-theme-classic .kwwd-personal-greeting{
  background:rgba(45,38,31,.88)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(169,111,32,.35)!important;
}
.kwwd-invitation-theme-olive .kwwd-personal-greeting{
  background:rgba(39,48,35,.90)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(113,128,93,.45)!important;
}
.kwwd-invitation-theme-romantic .kwwd-personal-greeting{
  background:rgba(68,45,38,.88)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(199,127,104,.45)!important;
}
.kwwd-invitation-theme-luxury .kwwd-personal-greeting{
  background:rgba(0,0,0,.78)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(233,189,118,.52)!important;
}
.kwwd-wedding-website .kwwd-personal-greeting strong{color:inherit!important;-webkit-text-fill-color:inherit!important}

/* Bottom brand CTA must remain readable in all four themes. */
.kwwd-wedding-website .kwwd-brand-cta h2,
.kwwd-wedding-website .kwwd-brand-cta p{
  color:var(--kw-final-text)!important;-webkit-text-fill-color:var(--kw-final-text)!important;opacity:1!important;
}
.kwwd-invitation-theme-luxury .kwwd-brand-cta h2{color:#171717!important;-webkit-text-fill-color:#171717!important}
.kwwd-invitation-theme-luxury .kwwd-brand-cta p{color:#554c42!important;-webkit-text-fill-color:#554c42!important}

/* Exact mobile centering: hero, content column and all three countdown cells. */
.kwwd-wedding-website .kwwd-public-hero,
.kwwd-wedding-website .kwwd-public-template-shell,
.kwwd-wedding-website .kwwd-public-template-canvas{
  position:relative!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important;
}
.kwwd-wedding-website .kwwd-public-stage-layout{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
  width:100%!important;max-width:720px!important;margin:0 auto!important;box-sizing:border-box!important;text-align:center!important;
}
.kwwd-wedding-website .kwwd-stage-date-card,
.kwwd-wedding-website .kwwd-public-welcome,
.kwwd-wedding-website .kwwd-stage-rsvp{margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.kwwd-wedding-website .kwwd-public-template-countdown{
  flex:none!important;align-self:center!important;width:min(500px,calc(100% - 8px))!important;max-width:calc(100% - 8px)!important;
  margin-left:auto!important;margin-right:auto!important;transform:none!important;box-sizing:border-box!important;
}
.kwwd-wedding-website .kwwd-public-template-countdown>span{min-width:0!important;max-width:none!important;overflow:hidden!important}

@media(max-width:620px){
  .kwwd-wedding-website .kwwd-public-stage-layout{padding-left:22px!important;padding-right:22px!important}
  .kwwd-wedding-website .kwwd-public-template-countdown{width:calc(100% - 4px)!important;max-width:calc(100% - 4px)!important;gap:10px!important}
  .kwwd-wedding-website .kwwd-public-template-countdown>span{padding:12px 3px!important}
  .kwwd-wedding-website .kwwd-public-template-countdown b{font-size:clamp(25px,8vw,38px)!important}
  .kwwd-wedding-website .kwwd-public-template-countdown small{font-size:clamp(10px,2.8vw,13px)!important;white-space:nowrap!important}
}

/* ===== v5.7.7 exact contrast corrections =====
 * Final, explicit selectors for the Black Tie public website. These rules are
 * intentionally last so older legacy selectors cannot override them.
 */
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-place-details strong,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-place-details > div > strong{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  font-weight:800!important;
  text-shadow:none!important;
}
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-place-details span,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-place-details > div > span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  font-weight:400!important;
  text-shadow:none!important;
}

/* Accommodation labels: all field names and optional helper copy are white. */
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-stay-help-public form label,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-stay-help-public .kwwd-public-form-grid > label,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-stay-help-public .kwwd-public-form-grid > label > small{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-stay-help-public .kwwd-public-form-grid > label{
  font-weight:800!important;
}
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-stay-help-public .kwwd-public-form-grid > label > small{
  font-weight:400!important;
}

/* Bottom brand card: retain the gold button, change only its text to white. */
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-brand-cta > a,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-brand-cta a{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  font-weight:800!important;
  text-shadow:none!important;
}

/* Keep the recommendation card body hierarchy readable on the dark theme. */
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-guide-card .kwwd-guide-desc,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-guide-card-body > p,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-guide-card-body > small{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  font-weight:400!important;
}

/* ===== v5.7.8 canonical public contrast layer =====
 * These selectors target the actual public-guide markup, not theme guesses.
 * Dark public cards always use white semantic text, while light CTA cards keep
 * their light surface and use a white label only on the gold action button.
 */

/* Restaurant / guide detail hierarchy on every invitation theme. */
.kwwd-wedding-website .kwwd-guide-card .kwwd-place-details > div > strong {
  display:block !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  font-weight:800 !important;
  text-shadow:none !important;
}
.kwwd-wedding-website .kwwd-guide-card .kwwd-place-details > div > span {
  display:block !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  font-weight:400 !important;
  text-shadow:none !important;
}

/* Accommodation labels and helper copy on the dark accommodation card. */
.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label,
.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label > small,
.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form label {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label {
  font-weight:800 !important;
}
.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label > small {
  font-weight:400 !important;
}
.kwwd-wedding-website .kwwd-stay-help-public select,
.kwwd-wedding-website .kwwd-stay-help-public input,
.kwwd-wedding-website .kwwd-stay-help-public textarea {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
.kwwd-wedding-website .kwwd-stay-help-public select option {
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  background:#fff !important;
}

/* Bottom light brand card: keep its gold button, force only button text white. */
.kwwd-wedding-website .kwwd-brand-cta > a,
.kwwd-wedding-website .kwwd-brand-cta a {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  font-weight:800 !important;
  text-shadow:none !important;
}

/* Invitation canvas remains perfectly centered on narrow screens. */
.kwwd-wedding-website .kwwd-public-template-shell,
.kwwd-wedding-website .kwwd-public-template-canvas,
.kwwd-wedding-website .kwwd-public-stage-layout {
  margin-left:auto !important;
  margin-right:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  box-sizing:border-box !important;
}
.kwwd-wedding-website .kwwd-public-stage-layout {
  align-items:center !important;
  text-align:center !important;
}
.kwwd-wedding-website .kwwd-public-stage-layout > * {
  margin-left:auto !important;
  margin-right:auto !important;
}
@media (max-width:620px) {
  .kwwd-wedding-website .kwwd-public-template-shell,
  .kwwd-wedding-website .kwwd-public-template-canvas {
    width:100% !important;
    max-width:100% !important;
  }
  .kwwd-wedding-website .kwwd-public-stage-layout {
    width:100% !important;
    max-width:100% !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }
}

/* v5.7.12 — couple account deletion danger zone */
.kwwd-danger-zone{margin:28px 0 8px;padding:22px;border:1px solid rgba(214,76,76,.48);border-radius:18px;background:linear-gradient(180deg,rgba(130,24,24,.14),rgba(255,255,255,.018));}
.kwwd-danger-zone h2{margin:4px 0 8px;color:#fff;}
.kwwd-danger-zone p{color:#d9d4ce;line-height:1.55;}
.kwwd-delete-account-open,.kwwd-account-delete-submit{border:1px solid #d85a5a!important;background:#861f1f!important;color:#fff!important;border-radius:12px;padding:12px 18px;font-weight:900;cursor:pointer;text-decoration:none!important;}
.kwwd-account-delete-modal[hidden]{display:none!important;}
.kwwd-account-delete-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(0,0,0,.78);}
.kwwd-account-delete-dialog{position:relative;width:min(100%,480px);padding:26px;border:1px solid rgba(216,90,90,.66);border-radius:20px;background:#071013;box-shadow:0 24px 70px rgba(0,0,0,.65);}
.kwwd-account-delete-dialog h2{margin:0 36px 10px 0;color:#fff;}
.kwwd-account-delete-dialog p{color:#d9d4ce;line-height:1.55;}
.kwwd-account-delete-dialog label{display:block;margin:14px 0;color:#e9bd76;font-weight:800;}
.kwwd-account-delete-dialog input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid rgba(200,145,79,.42);border-radius:11px;background:#02090d;color:#fff;}
.kwwd-account-delete-close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:#fff;font-size:30px;line-height:1;cursor:pointer;}
.kwwd-account-delete-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;}
.kwwd-account-delete-cancel{border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer;}
@media(max-width:560px){.kwwd-account-delete-actions{flex-direction:column-reverse}.kwwd-account-delete-actions button{width:100%}}

/* v5.7.26 per-service explicit verified save */
.kwwd-organizer-savebar{margin-top:8px;padding-top:18px;border-top:1px solid rgba(200,145,79,.22);display:grid;gap:12px}.kwwd-organizer-savebar button{width:100%;min-height:58px;border:1px solid rgba(233,189,118,.72);border-radius:16px;background:linear-gradient(135deg,#c8914f,#efbd69);color:#17110a;font-weight:900;font-size:17px;cursor:pointer}.kwwd-organizer-savebar button:disabled{opacity:.65;cursor:wait}.kwwd-organizer-save-state{display:block;color:#a9a39b;font-size:14px;line-height:1.45}.kwwd-organizer-save-state.is-dirty{color:#e9bd76}.kwwd-organizer-save-state.is-saving{color:#e9bd76}.kwwd-organizer-save-state.is-success{color:#9ee2bd}.kwwd-organizer-save-state.is-error{color:#ff9f9f}

/* v5.7.26: save action must always be visible inside every expanded service card */
.kwwd-organizer-fields>.kwwd-organizer-savebar{display:grid!important;grid-column:1/-1!important;width:100%!important;margin:22px 0 4px!important;padding:18px 0 0!important;border-top:1px solid rgba(200,145,79,.30)!important}.kwwd-organizer-savebar .kwwd-save-organizer-service{display:block!important;width:100%!important;min-height:60px!important}

/* ===== v5.7.27 Organizer UI stabilization =====
   Keep the organizer isolated from global/theme form decorations. */
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-card,
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-card *{box-sizing:border-box!important}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 14px!important;
  padding:18px 18px 20px!important;
  overflow:visible!important;
}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields[hidden]{display:none!important}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  color:#e9bd76!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label::before,
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label::after{content:none!important;display:none!important}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label>select,
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label>input:not([type="checkbox"]):not([type="file"]),
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label>textarea{
  position:static!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  border:1px solid rgba(200,145,79,.42)!important;
  border-radius:15px!important;
  background:#0a1518!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label>select{
  min-height:58px!important;
  padding:0 48px 0 16px!important;
  appearance:auto!important;
  -webkit-appearance:menulist!important;
}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label>input:not([type="checkbox"]):not([type="file"]){min-height:56px!important;padding:12px 15px!important}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields>label>textarea{min-height:120px!important;padding:14px 15px!important;resize:vertical!important}
.kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields .kwwd-full{grid-column:1/-1!important}
.kwwd-tab[data-panel="organizer"] .kwwd-native-select-hidden{position:static!important;opacity:1!important;pointer-events:auto!important;width:100%!important;height:auto!important}
.kwwd-tab[data-panel="organizer"] .kwwd-custom-select{display:none!important}
.kwwd-tab[data-panel="organizer"] .kwwd-kw-booking{display:flex!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:12px!important;padding:15px 16px!important;border:1px solid rgba(233,189,118,.22)!important;border-radius:15px!important;background:rgba(233,189,118,.045)!important}
.kwwd-tab[data-panel="organizer"] .kwwd-kw-booking input[type="checkbox"]{position:static!important;width:24px!important;height:24px!important;min-width:24px!important;margin:0!important;opacity:1!important;visibility:visible!important;accent-color:#e9bd76!important}


.kwwd-tab[data-panel="organizer"] .kwwd-organizer-savebar{
  position:relative!important;
  z-index:8!important;
  display:grid!important;
  grid-column:1/-1!important;
  gap:10px!important;
  width:100%!important;
  margin:8px 0 0!important;
  padding:20px 0 0!important;
  border-top:1px solid rgba(200,145,79,.28)!important;
  background:transparent!important;
}
.kwwd-tab[data-panel="organizer"] .kwwd-save-organizer-service{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  min-height:62px!important;
  margin:0!important;
  border:1px solid rgba(233,189,118,.8)!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#c8914f,#efbd69)!important;
  color:#17110a!important;
  -webkit-text-fill-color:#17110a!important;
  font:900 17px/1.2 Arial,Helvetica,sans-serif!important;
}
@media(max-width:760px){
  .kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields{grid-template-columns:1fr!important;padding:16px 16px 18px!important;gap:18px!important}
  .kwwd-tab[data-panel="organizer"] .kwwd-organizer-fields .kwwd-full{grid-column:1!important}

}

/* v5.7.28 organizer cleanup */
.kwwd-organizer-card .kwwd-kw-booking{display:none!important}
.kwwd-multi-offers{margin-top:18px;border-top:1px solid rgba(200,145,79,.22);padding-top:18px}
.kwwd-multi-offers-head,.kwwd-offer-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.kwwd-add-offer,.kwwd-remove-offer,.kwwd-request-extra-quote{border:1px solid rgba(233,189,118,.48);background:rgba(200,145,79,.10);color:#e9bd76;border-radius:14px;padding:10px 14px;font-weight:800}
.kwwd-offer-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;padding:16px;border:1px solid rgba(200,145,79,.28);border-radius:18px;background:rgba(255,255,255,.018)}
.kwwd-offer-row-head,.kwwd-offer-row .kwwd-full,.kwwd-request-extra-quote,.kwwd-extra-quote-result{grid-column:1/-1}
.kwwd-offer-row label{display:flex;flex-direction:column;gap:8px;color:#e9bd76;font-weight:800}
.kwwd-offer-row input,.kwwd-offer-row select,.kwwd-offer-row textarea{width:100%;background:#081416;color:#fff;border:1px solid rgba(200,145,79,.38);border-radius:14px;padding:13px}
.kwwd-extra-quote-result.is-error{color:#ff9c9c}.kwwd-extra-quote-result.is-success{color:#b9e6c1}
@media(max-width:620px){.kwwd-offer-row{grid-template-columns:1fr}.kwwd-offer-row>*{grid-column:1/-1}}

/* v5.7.30 — global save confirmation, always visible above the dashboard. */
#kwwd-save-toast{position:fixed;left:50%;bottom:28px;z-index:2147483000;max-width:min(92vw,560px);transform:translate(-50%,24px);opacity:0;pointer-events:none;padding:14px 18px;border-radius:14px;font:800 14px/1.35 Arial,sans-serif;box-shadow:0 14px 42px rgba(0,0,0,.38);transition:opacity .18s ease,transform .18s ease;background:#071216;color:#fff;border:1px solid rgba(233,189,118,.45)}
#kwwd-save-toast.is-visible{opacity:1;transform:translate(-50%,0)}
#kwwd-save-toast.is-success{border-color:rgba(73,190,110,.62);background:#0b2716;color:#c8f6d3}
#kwwd-save-toast.is-error{border-color:rgba(231,90,90,.72);background:#331113;color:#ffd0d0}
@media(max-width:700px){#kwwd-save-toast{bottom:16px;width:calc(100vw - 28px);max-width:none;text-align:center}}

/* v5.7.34 explicit budget save */
.kwwd-budget-savebar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0 20px;padding:12px 14px;border:1px solid rgba(200,145,79,.28);border-radius:14px;background:rgba(255,255,255,.025)}
.kwwd-budget-savebar span{font-size:13px;color:#d9d4ce}.kwwd-budget-savebar button{min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid #c8914f;background:#c8914f;color:#071013;font-weight:800;cursor:pointer}

/* v5.7.35 managed-mode stabilization */
.kwwd-tab.is-managed-readonly .kwwd-organizer-fields input,.kwwd-tab.is-managed-readonly .kwwd-organizer-fields select,.kwwd-tab.is-managed-readonly .kwwd-organizer-fields textarea{opacity:.72!important;cursor:not-allowed!important}.kwwd-tab.is-managed-readonly .kwwd-organizer-savebar{display:none!important}.kwwd-tab.is-managed-readonly .kwwd-quote-action button,.kwwd-tab.is-managed-readonly .kwwd-multi-offers button{display:none!important}
\n/* 5.7.37 floral request experience */
.kwwd-floral-picker{grid-column:1/-1}.kwwd-floral-label{display:block;color:#f2c07b;font-weight:900;font-size:17px;margin-bottom:4px}.kwwd-floral-help{margin:0 0 12px;color:rgba(255,255,255,.68);font-size:13px}.kwwd-floral-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kwwd-floral-card{position:relative;overflow:hidden;border:1px solid rgba(215,165,106,.28);border-radius:16px;background:rgba(255,255,255,.04);cursor:pointer;transition:.2s}.kwwd-floral-card:hover{border-color:rgba(242,192,123,.7);transform:translateY(-1px)}.kwwd-floral-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;margin:0!important}.kwwd-floral-card>input{position:absolute!important;opacity:0!important;pointer-events:none;width:1px!important;height:1px!important}.kwwd-floral-card>span{display:block;padding:12px 13px}.kwwd-floral-card strong{display:block;color:#fff;font-size:14px}.kwwd-floral-card small{display:block;margin-top:5px;color:rgba(255,255,255,.6);font-weight:500;line-height:1.35}.kwwd-floral-card:has(input:checked){border-color:#f2c07b;box-shadow:0 0 0 2px rgba(242,192,123,.18);background:rgba(215,165,106,.12)}.kwwd-floral-card:has(input:checked):after{content:'✓';position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9bd76;color:#111;font-weight:900}.kwwd-seasonal-flowers{margin-top:14px;padding:17px;border:1px solid rgba(215,165,106,.38);border-radius:15px;background:linear-gradient(135deg,rgba(215,165,106,.11),rgba(255,255,255,.035));color:#fff}.kwwd-seasonal-flowers strong{display:block;color:#f2c07b;font-family:Georgia,serif;font-size:18px}.kwwd-seasonal-flowers p{margin:8px 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.5}.kwwd-seasonal-flowers div{font-weight:800;line-height:1.75}.kwwd-seasonal-flowers small{display:block;margin-top:10px;color:rgba(255,255,255,.55);line-height:1.45}.kwwd-style-cards .kwwd-floral-card img{aspect-ratio:4/3}@media(max-width:760px){.kwwd-floral-cards{grid-template-columns:1fr}.kwwd-floral-card img{aspect-ratio:16/9}}


/* ===== v5.7.40 planner hierarchy: primary action + organizer control center ===== */
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature{
  min-height:132px!important;
  grid-template-columns:68px minmax(0,1fr) auto!important;
  padding:20px 19px!important;
  border-width:1.5px!important;
  overflow:hidden!important;
  position:relative!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature>b{display:none!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature .kwwd-planner-menu-icon{
  width:62px!important;height:62px!important;border-radius:18px!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature .kwwd-planner-menu-copy strong{
  font-size:25px!important;line-height:1.08!important;margin-bottom:7px!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature .kwwd-planner-menu-copy small{
  max-width:620px!important;font-size:13.5px!important;line-height:1.5!important;color:rgba(255,255,255,.78)!important;
}
.kwwd-feature-eyebrow{display:block!important;margin:0 0 5px!important;color:#2a1908!important;font-style:normal!important;font-size:10px!important;font-weight:950!important;letter-spacing:1.7px!important;text-transform:uppercase!important}
.kwwd-feature-cta{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-top:12px!important;padding:9px 13px!important;border-radius:999px!important;font-size:12px!important;font-weight:900!important;line-height:1!important}
.kwwd-feature-cta i{font-style:normal!important;font-size:16px!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests{
  background:linear-gradient(135deg,#9c642f 0%,#d69a4b 42%,#efc775 100%)!important;
  border-color:#f3cf8a!important;
  box-shadow:0 18px 42px rgba(200,145,79,.28),inset 0 1px rgba(255,255,255,.25)!important;
  color:#171009!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-icon{
  background:rgba(20,12,5,.13)!important;border-color:rgba(42,25,8,.28)!important;color:#211307!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-text-icon,
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-copy strong{color:#171009!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-copy small{color:rgba(23,16,9,.78)!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-feature-cta{background:#171009!important;color:#f2c77e!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-status{color:rgba(23,16,9,.72)!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests.is-active{background:linear-gradient(135deg,#a86b32 0%,#dfa657 45%,#f3d18b 100%)!important;box-shadow:0 0 0 2px rgba(255,227,166,.38),0 18px 42px rgba(200,145,79,.34)!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--organizer{
  background:radial-gradient(circle at 8% 10%,rgba(233,189,118,.20),transparent 30%),linear-gradient(135deg,#17130d 0%,#0b1518 58%,#071013 100%)!important;
  border-color:rgba(233,189,118,.72)!important;
  box-shadow:0 15px 38px rgba(0,0,0,.27),inset 0 0 0 1px rgba(233,189,118,.06)!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--organizer .kwwd-feature-eyebrow{color:#e9bd76!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--organizer .kwwd-feature-cta{background:rgba(233,189,118,.12)!important;border:1px solid rgba(233,189,118,.38)!important;color:#f2c77e!important}
.kwwd-organizer-purpose{padding:14px 15px!important;border-left:3px solid #d9a64f!important;border-radius:0 12px 12px 0!important;background:rgba(200,145,79,.07)!important}
.kwwd-organizer-purpose strong{color:#f2c77e!important}
@media(max-width:640px){
  .kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature{grid-template-columns:56px minmax(0,1fr)!important;min-height:146px!important;padding:17px 15px!important;gap:13px!important}
  .kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature .kwwd-planner-menu-icon{width:54px!important;height:54px!important}
  .kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature .kwwd-planner-menu-copy strong{font-size:22px!important}
  .kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature .kwwd-planner-menu-status{grid-column:2!important;margin-top:8px!important}
}


/* ===== v5.7.42 private guest invitation authorization + presentation ===== */
.kwwd-private-invite-note,
.kwwd-private-invite-after{
  width:min(920px,calc(100% - 32px));
  margin:20px auto;
  border:1px solid rgba(233,189,118,.32);
  background:linear-gradient(145deg,rgba(11,27,29,.98),rgba(5,15,17,.98));
  border-radius:22px;
  box-shadow:0 18px 50px rgba(0,0,0,.24);
  color:#f7f4ee;
}
.kwwd-private-invite-note{display:flex;gap:15px;align-items:flex-start;padding:20px 22px}
.kwwd-private-invite-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#b97832,#edc477);color:#211307;font-size:18px;font-weight:900;box-shadow:0 8px 22px rgba(210,155,78,.22)}
.kwwd-private-invite-note strong,.kwwd-private-invite-after strong{display:block;font-family:Georgia,serif;font-size:20px;color:#f1c989;margin-bottom:6px}
.kwwd-private-invite-note p,.kwwd-private-invite-after p{margin:0!important;color:#cbd2d1!important;line-height:1.65;font-size:14px}
.kwwd-private-invite-after{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;margin-bottom:32px}
.kwwd-private-invite-after>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:rgba(72,201,151,.14);border:1px solid rgba(72,201,151,.32);color:#69ddb0;font-weight:900}
.kwwd-private-invite #rsvp.kwwd-rsvp-public{box-shadow:0 24px 70px rgba(0,0,0,.28)!important;border-color:rgba(233,189,118,.42)!important}
.kwwd-private-invite .kwwd-personal-greeting{background:rgba(3,13,15,.58)!important;box-shadow:0 10px 28px rgba(0,0,0,.16)}
@media(max-width:700px){
  .kwwd-private-invite-note,.kwwd-private-invite-after{width:calc(100% - 24px);border-radius:18px}
  .kwwd-private-invite-note{padding:17px 16px}
  .kwwd-private-invite-note strong,.kwwd-private-invite-after strong{font-size:18px}
}


/* ===== v5.7.44 dashboard visual hierarchy + home-only account controls ===== */
/* Public Wedding Website link is an important publication action, not a generic blue/status tile. */
.kwwd-dashboard .kwwd-overview-card--public-link{
  grid-column:1/-1!important;
  min-height:112px!important;
  background:radial-gradient(circle at 8% 18%,rgba(233,189,118,.16),transparent 34%),linear-gradient(135deg,#15130f 0%,#111a1c 58%,#081013 100%)!important;
  border:1.5px solid rgba(233,189,118,.68)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.26),inset 0 0 0 1px rgba(233,189,118,.05)!important;
}
.kwwd-dashboard .kwwd-overview-card--public-link .kwwd-overview-icon{
  background:rgba(233,189,118,.10)!important;
  border-color:rgba(233,189,118,.45)!important;
}
.kwwd-dashboard .kwwd-overview-card--public-link small{color:#e9bd76!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.kwwd-dashboard .kwwd-overview-card--public-link strong{color:#fff!important;font-size:22px!important}
.kwwd-dashboard .kwwd-overview-card--public-link em{color:#e9bd76!important;font-size:12px!important}
.kwwd-dashboard .kwwd-overview-card--public-link.is-disabled{opacity:.76!important}

/* Requests & offers: still a primary action, but with a restrained champagne/dark treatment. */
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests,
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests.is-active{
  background:radial-gradient(circle at 12% 15%,rgba(233,189,118,.18),transparent 34%),linear-gradient(135deg,#211b13 0%,#2e2519 52%,#3b2d1d 100%)!important;
  border-color:rgba(233,189,118,.72)!important;
  box-shadow:0 15px 38px rgba(0,0,0,.28),inset 0 0 0 1px rgba(233,189,118,.07)!important;
  color:#fff!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-icon{
  background:rgba(233,189,118,.10)!important;border-color:rgba(233,189,118,.42)!important;color:#e9bd76!important;
}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-text-icon,
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-copy strong{color:#fff!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-copy small{color:rgba(255,255,255,.74)!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-feature-eyebrow{color:#e9bd76!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-feature-cta{background:linear-gradient(135deg,#c8914f,#e9bd76)!important;color:#171009!important;border:0!important}
.kwwd-dashboard .kwwd-planner-menu button.kwwd-planner-feature--requests .kwwd-planner-menu-status{color:rgba(233,189,118,.85)!important}

/* Keep destructive account settings on the dashboard home/basic view only. */
.kwwd-danger-zone.kwwd-home-only{margin-top:28px!important}

/* Give the Personal Planner CTA and the managed-support banner visual breathing room. */
.kwwd-personal-planner-cta + .kwwd-managed-banner{margin-top:30px!important}
.kwwd-managed-banner{margin-bottom:24px!important}

/* FAQ switch must never depend on a missing/broken remote asset. */
.kwwd-site-switch img[alt="FAQ"]{object-fit:contain!important}

@media(max-width:720px){
  .kwwd-dashboard .kwwd-overview-card--public-link{min-height:104px!important}
  .kwwd-personal-planner-cta + .kwwd-managed-banner{margin-top:26px!important}
}

/* v5.7.45 focused dashboard polish */
.kwwd-account-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.kwwd-delete-account-open.kwwd-delete-account-head{display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:10px 14px!important;border:1px solid rgba(216,90,90,.38)!important;border-radius:999px!important;background:rgba(134,31,31,.12)!important;color:#d9a3a3!important;font-size:12px!important;font-weight:800!important;box-shadow:none!important}
.kwwd-delete-account-open.kwwd-delete-account-head:hover{background:rgba(134,31,31,.2)!important;border-color:rgba(216,90,90,.58)!important;color:#f1b6b6!important}
#kwwd-publish-toggle{background:linear-gradient(135deg,rgba(200,145,79,.28),rgba(233,189,118,.18))!important;border-color:rgba(233,189,118,.58)!important;color:#f1c989!important;box-shadow:0 8px 20px rgba(0,0,0,.14)!important}
#kwwd-publish-toggle:hover{background:linear-gradient(135deg,rgba(200,145,79,.38),rgba(233,189,118,.25))!important;border-color:rgba(233,189,118,.78)!important}
.kwwd-palette-colors-label{color:#e9bd76!important;font-size:11px!important;font-weight:900!important;letter-spacing:.02em!important}
.kwwd-palette-cards .kwwd-floral-card .kwwd-seasonal-flowers{margin:12px 0 2px!important;padding:13px 14px!important;border-radius:13px!important;background:linear-gradient(135deg,rgba(200,145,79,.13),rgba(255,255,255,.025))!important}
.kwwd-palette-cards .kwwd-floral-card .kwwd-seasonal-flowers strong{font-size:15px!important;line-height:1.35!important}
.kwwd-palette-cards .kwwd-floral-card .kwwd-seasonal-flowers p{font-size:12px!important;margin:6px 0!important}
.kwwd-palette-cards .kwwd-floral-card .kwwd-seasonal-flowers div{font-size:12px!important;line-height:1.65!important}
.kwwd-palette-cards .kwwd-floral-card .kwwd-seasonal-flowers small{font-size:10px!important;margin-top:7px!important}
@media(max-width:720px){.kwwd-account-head-actions{justify-content:flex-start;margin-top:12px}.kwwd-delete-account-open.kwwd-delete-account-head,.kwwd-logout{margin-top:0!important}}

/* v5.7.47 — Wedding Website editor breathing room between Dress Code and Gifts. */
.kwwd-tab[data-panel="website"] .kwwd-gifts-editor-card,
.kwwd-tab[data-panel="site"] .kwwd-gifts-editor-card,
.kwwd-gifts-editor-card{
  margin-top:32px!important;
}
@media(max-width:720px){
  .kwwd-gifts-editor-card{margin-top:26px!important;}
}

/* ===== v5.7.48 guest experience theme propagation =====
 * The invitation template is the canonical visual theme for the entire guest-facing
 * wedding experience, not just the invitation hero. These variables intentionally
 * sit at the end of the cascade and drive navigation, RSVP, guide cards, forms,
 * recommendations and secondary actions with accessible contrast per theme.
 */
.kwwd-wedding-website.kwwd-invitation-theme-classic{
  --kw-guest-page:#f4eee5;--kw-guest-card:#fffaf3;--kw-guest-card-2:#f8f0e4;
  --kw-guest-accent:#b87925;--kw-guest-accent-2:#d9ab66;--kw-guest-ink:#2d251e;
  --kw-guest-muted:#6d6257;--kw-guest-border:rgba(184,121,37,.30);--kw-guest-on-accent:#21170e;
}
.kwwd-wedding-website.kwwd-invitation-theme-olive{
  --kw-guest-page:#e9ebe1;--kw-guest-card:#f7f5ed;--kw-guest-card-2:#eef0e6;
  --kw-guest-accent:#5f704d;--kw-guest-accent-2:#93a07e;--kw-guest-ink:#263020;
  --kw-guest-muted:#65705d;--kw-guest-border:rgba(95,112,77,.32);--kw-guest-on-accent:#fff;
}
.kwwd-wedding-website.kwwd-invitation-theme-romantic{
  --kw-guest-page:#f6e8e3;--kw-guest-card:#fff8f5;--kw-guest-card-2:#fbeee8;
  --kw-guest-accent:#a65b4b;--kw-guest-accent-2:#d39583;--kw-guest-ink:#432d28;
  --kw-guest-muted:#7a655f;--kw-guest-border:rgba(166,91,75,.30);--kw-guest-on-accent:#fff;
}
.kwwd-wedding-website.kwwd-invitation-theme-luxury{
  --kw-guest-page:#030708;--kw-guest-card:#0a1011;--kw-guest-card-2:#111819;
  --kw-guest-accent:#d6ab61;--kw-guest-accent-2:#f0cb87;--kw-guest-ink:#fff;
  --kw-guest-muted:rgba(255,255,255,.76);--kw-guest-border:rgba(214,171,97,.34);--kw-guest-on-accent:#181008;
}

.kwwd-wedding-website{
  background:var(--kw-guest-page)!important;
  color:var(--kw-guest-ink)!important;
}
.kwwd-wedding-website .kwwd-site-nav{
  background:color-mix(in srgb,var(--kw-guest-card) 94%,transparent)!important;
  border-color:var(--kw-guest-border)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.08)!important;
}
.kwwd-wedding-website .kwwd-site-nav a{
  color:var(--kw-guest-accent)!important;
  border-color:var(--kw-guest-border)!important;
  background:var(--kw-guest-card-2)!important;
  font-weight:750!important;
}
.kwwd-wedding-website .kwwd-site-nav a:focus,
.kwwd-wedding-website .kwwd-site-nav a:hover{
  background:var(--kw-guest-accent)!important;color:var(--kw-guest-on-accent)!important;
}

.kwwd-wedding-website .kwwd-public-section,
.kwwd-wedding-website .kwwd-public-card,
.kwwd-wedding-website .kwwd-guide-card,
.kwwd-wedding-website .kwwd-selected-guide,
.kwwd-wedding-website .kwwd-stay-event-summary,
.kwwd-wedding-website .kwwd-faq-list details,
.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-private-invite-note,
.kwwd-wedding-website .kwwd-private-invite-after,
.kwwd-wedding-website .kwwd-rsvp-confirmation,
.kwwd-wedding-website .kwwd-rsvp-selected-summary,
.kwwd-wedding-website .kwwd-rsvp-first-step,
.kwwd-wedding-website .kwwd-rsvp-details,
.kwwd-wedding-website .kwwd-rsvp-no-details{
  background:var(--kw-guest-card)!important;
  color:var(--kw-guest-ink)!important;
  border-color:var(--kw-guest-border)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.08)!important;
}
.kwwd-wedding-website .kwwd-public-section h1,
.kwwd-wedding-website .kwwd-public-section h2,
.kwwd-wedding-website .kwwd-public-section h3,
.kwwd-wedding-website .kwwd-public-section h4,
.kwwd-wedding-website .kwwd-guide-card h3,
.kwwd-wedding-website .kwwd-stay-help-head h2,
.kwwd-wedding-website .kwwd-kicker,
.kwwd-wedding-website .kwwd-private-invite-note strong,
.kwwd-wedding-website .kwwd-rsvp-confirmation h3{
  color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;
}
.kwwd-wedding-website .kwwd-public-section p,
.kwwd-wedding-website .kwwd-public-section li,
.kwwd-wedding-website .kwwd-public-section small,
.kwwd-wedding-website .kwwd-public-section summary,
.kwwd-wedding-website .kwwd-guide-card p,
.kwwd-wedding-website .kwwd-guide-card small,
.kwwd-wedding-website .kwwd-stay-help-copy,
.kwwd-wedding-website .kwwd-private-invite-note p,
.kwwd-wedding-website .kwwd-private-invite-after p{
  color:var(--kw-guest-muted)!important;
  -webkit-text-fill-color:var(--kw-guest-muted)!important;
}
.kwwd-wedding-website .kwwd-public-section strong,
.kwwd-wedding-website .kwwd-public-section label,
.kwwd-wedding-website .kwwd-public-form-grid label,
.kwwd-wedding-website .kwwd-stay-event-summary strong,
.kwwd-wedding-website .kwwd-rsvp-confirmation p strong{
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
}

.kwwd-wedding-website .kwwd-info-overview-grid>a,
.kwwd-wedding-website .kwwd-rsvp-event-summary>div,
.kwwd-wedding-website .kwwd-stay-event-summary,
.kwwd-wedding-website .kwwd-gift-details p,
.kwwd-wedding-website .kwwd-place-details{
  background:var(--kw-guest-card-2)!important;
  border-color:var(--kw-guest-border)!important;
}
.kwwd-wedding-website .kwwd-info-overview-grid>a small,
.kwwd-wedding-website .kwwd-rsvp-event-summary small{
  color:var(--kw-guest-muted)!important;-webkit-text-fill-color:var(--kw-guest-muted)!important;
}
.kwwd-wedding-website .kwwd-info-overview-grid>a strong,
.kwwd-wedding-website .kwwd-rsvp-event-summary strong{
  color:var(--kw-guest-ink)!important;-webkit-text-fill-color:var(--kw-guest-ink)!important;
}

.kwwd-wedding-website .kwwd-public-form-grid input,
.kwwd-wedding-website .kwwd-public-form-grid select,
.kwwd-wedding-website .kwwd-public-form-grid textarea,
.kwwd-wedding-website .kwwd-accommodation-search input,
.kwwd-wedding-website .kwwd-accommodation-search select,
.kwwd-wedding-website .kwwd-stay-search-form input,
.kwwd-wedding-website .kwwd-stay-search-form select{
  background:var(--kw-guest-card-2)!important;
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
  border-color:var(--kw-guest-border)!important;
  caret-color:var(--kw-guest-accent)!important;
}
.kwwd-wedding-website .kwwd-public-form-grid input::placeholder,
.kwwd-wedding-website .kwwd-public-form-grid textarea::placeholder{
  color:var(--kw-guest-muted)!important;opacity:.82!important;
}

.kwwd-wedding-website .kwwd-public-submit,
.kwwd-wedding-website .kwwd-rsvp-choice.is-selected,
.kwwd-wedding-website .kwwd-brand-cta>a{
  background:linear-gradient(135deg,var(--kw-guest-accent),var(--kw-guest-accent-2))!important;
  color:var(--kw-guest-on-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-on-accent)!important;
  border-color:transparent!important;
}
.kwwd-wedding-website .kwwd-secondary-action,
.kwwd-wedding-website .kwwd-rsvp-choice,
.kwwd-wedding-website #kwwd-change-attendance,
.kwwd-wedding-website .kwwd-guide-card a,
.kwwd-wedding-website .kwwd-faq-list summary{
  background:var(--kw-guest-card-2)!important;
  color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;
  border-color:var(--kw-guest-border)!important;
}
.kwwd-wedding-website .kwwd-rsvp-choice.is-selected{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--kw-guest-accent) 18%,transparent)!important;
}
.kwwd-wedding-website .kwwd-rsvp-check,
.kwwd-wedding-website .kwwd-private-invite-icon{
  background:var(--kw-guest-accent)!important;color:var(--kw-guest-on-accent)!important;
}

/* Luxury/Black Tie uses white hierarchy on the dark guest surfaces; gold is accent only. */
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h1,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h2,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h3,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h4,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-guide-card h3,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-stay-help-head h2,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-rsvp-confirmation h3{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-kicker,
.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-site-nav a{
  color:var(--kw-guest-accent-2)!important;-webkit-text-fill-color:var(--kw-guest-accent-2)!important;
}

@media(max-width:700px){
  .kwwd-wedding-website .kwwd-public-section{margin-left:16px!important;margin-right:16px!important}
  .kwwd-wedding-website .kwwd-site-nav{padding-left:16px!important;padding-right:16px!important}
}

/* ===== v5.7.49 — editorial guest themes, full-cascade authority =====
 * The selected invitation is the visual authority for EVERY guest-facing surface.
 * These selectors intentionally match/exceed the legacy `body .kwwd-public ... !important`
 * rules so the old dashboard-dark skin cannot leak into light wedding themes.
 */
body .kwwd-public.kwwd-wedding-website{
  --kw-guest-shadow:0 18px 48px rgba(44,34,24,.10);
  --kw-guest-radius:28px;
  padding:120px 0 72px!important;
  color:var(--kw-guest-ink)!important;
  background:var(--kw-guest-page)!important;
  background-image:var(--kw-guest-page-art,none)!important;
  background-attachment:fixed!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-classic{
  --kw-guest-page:#f5efe6;--kw-guest-card:#fffaf3;--kw-guest-card-2:#f5ecdf;
  --kw-guest-accent:#ad7428;--kw-guest-accent-2:#d8ae70;--kw-guest-ink:#2c241d;
  --kw-guest-muted:#665b51;--kw-guest-border:rgba(173,116,40,.28);--kw-guest-on-accent:#24170a;
  --kw-guest-page-art:radial-gradient(circle at 8% 8%,rgba(188,151,94,.11),transparent 25%),radial-gradient(circle at 94% 34%,rgba(235,218,191,.45),transparent 28%),linear-gradient(180deg,#f8f3eb 0%,#f3ece2 100%);
  --kw-guest-shadow:0 20px 52px rgba(94,67,34,.10);--kw-guest-radius:30px;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-olive{
  --kw-guest-page:#e8eadf;--kw-guest-card:#f7f4e9;--kw-guest-card-2:#edf0e5;
  --kw-guest-accent:#536646;--kw-guest-accent-2:#9a9f78;--kw-guest-ink:#222d20;
  --kw-guest-muted:#586356;--kw-guest-border:rgba(83,102,70,.30);--kw-guest-on-accent:#fffdf6;
  --kw-guest-page-art:radial-gradient(ellipse at 10% 0%,rgba(107,128,91,.17),transparent 30%),radial-gradient(ellipse at 92% 60%,rgba(181,172,128,.18),transparent 26%),linear-gradient(180deg,#edf0e7 0%,#e4e7dc 100%);
  --kw-guest-shadow:0 20px 52px rgba(43,62,38,.10);--kw-guest-radius:24px;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-romantic{
  --kw-guest-page:#f6e9e4;--kw-guest-card:#fff8f5;--kw-guest-card-2:#f9ece7;
  --kw-guest-accent:#a75d50;--kw-guest-accent-2:#d59c8b;--kw-guest-ink:#412c27;
  --kw-guest-muted:#715f59;--kw-guest-border:rgba(167,93,80,.27);--kw-guest-on-accent:#fffaf7;
  --kw-guest-page-art:radial-gradient(circle at 15% 6%,rgba(209,156,143,.22),transparent 25%),radial-gradient(circle at 88% 46%,rgba(235,203,194,.36),transparent 30%),linear-gradient(180deg,#f9efeb 0%,#f4e5df 100%);
  --kw-guest-shadow:0 22px 56px rgba(102,60,50,.11);--kw-guest-radius:34px;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury{
  --kw-guest-page:#030606;--kw-guest-card:#0a0e0f;--kw-guest-card-2:#111718;
  --kw-guest-accent:#d7ad64;--kw-guest-accent-2:#f0cd8c;--kw-guest-ink:#fffaf0;
  --kw-guest-muted:#d0c4af;--kw-guest-border:rgba(215,173,100,.30);--kw-guest-on-accent:#181008;
  --kw-guest-page-art:radial-gradient(circle at 50% 0%,rgba(215,173,100,.10),transparent 28%),linear-gradient(180deg,#050909 0%,#020404 100%);
  --kw-guest-shadow:0 22px 64px rgba(0,0,0,.48);--kw-guest-radius:22px;
}

/* Core section surfaces: override old forced dark cards. */
body .kwwd-public.kwwd-wedding-website .kwwd-live-updates-public,
body .kwwd-public.kwwd-wedding-website .kwwd-public-section,
body .kwwd-public.kwwd-wedding-website .kwwd-public-card,
body .kwwd-public.kwwd-wedding-website .kwwd-guide-card,
body .kwwd-public.kwwd-wedding-website .kwwd-selected-guide,
body .kwwd-public.kwwd-wedding-website .kwwd-private-invite-note,
body .kwwd-public.kwwd-wedding-website .kwwd-private-invite-after,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-first-step,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-details,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-no-details,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-confirmation{
  background:var(--kw-guest-card)!important;
  background-image:none!important;
  color:var(--kw-guest-ink)!important;
  border:1px solid var(--kw-guest-border)!important;
  border-radius:var(--kw-guest-radius)!important;
  box-shadow:var(--kw-guest-shadow)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-live-update-public{
  background:var(--kw-guest-card-2)!important;color:var(--kw-guest-ink)!important;
  border-color:var(--kw-guest-border)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-site-nav{
  background:color-mix(in srgb,var(--kw-guest-card) 94%,transparent)!important;
  border-color:var(--kw-guest-border)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.08)!important;
  backdrop-filter:blur(18px)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-site-nav a{
  background:var(--kw-guest-card-2)!important;color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;border-color:var(--kw-guest-border)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-site-nav a:hover,
body .kwwd-public.kwwd-wedding-website .kwwd-site-nav a:focus{
  background:var(--kw-guest-accent)!important;color:var(--kw-guest-on-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-on-accent)!important;
}

/* Typography hierarchy and contrast. */
body .kwwd-public.kwwd-wedding-website .kwwd-public-section h1,
body .kwwd-public.kwwd-wedding-website .kwwd-public-section h2,
body .kwwd-public.kwwd-wedding-website .kwwd-public-section h3,
body .kwwd-public.kwwd-wedding-website .kwwd-public-section h4,
body .kwwd-public.kwwd-wedding-website .kwwd-guide-card h3,
body .kwwd-public.kwwd-wedding-website .kwwd-selected-guide h3{
  color:var(--kw-guest-accent)!important;-webkit-text-fill-color:var(--kw-guest-accent)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-public-section p,
body .kwwd-public.kwwd-wedding-website .kwwd-public-section li,
body .kwwd-public.kwwd-wedding-website .kwwd-guide-desc,
body .kwwd-public.kwwd-wedding-website .kwwd-guide-card small,
body .kwwd-public.kwwd-wedding-website .kwwd-info-intro,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-copy{
  color:var(--kw-guest-muted)!important;-webkit-text-fill-color:var(--kw-guest-muted)!important;opacity:1!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-public-section strong,
body .kwwd-public.kwwd-wedding-website .kwwd-public-section label,
body .kwwd-public.kwwd-wedding-website .kwwd-public-card strong,
body .kwwd-public.kwwd-wedding-website .kwwd-selected-guide strong{
  color:var(--kw-guest-ink)!important;-webkit-text-fill-color:var(--kw-guest-ink)!important;opacity:1!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-kicker,
body .kwwd-public.kwwd-wedding-website .kwwd-kicker *{
  color:var(--kw-guest-accent)!important;-webkit-text-fill-color:var(--kw-guest-accent)!important;opacity:1!important;
}

/* Recommendation/detail panels — specifically fixes pale panel + white text leakage. */
body .kwwd-public.kwwd-wedding-website .kwwd-place-details,
body .kwwd-public.kwwd-wedding-website .kwwd-gift-details p,
body .kwwd-public.kwwd-wedding-website .kwwd-info-overview-grid>a,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-event-summary>div,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-event-summary>div,
body .kwwd-public.kwwd-wedding-website .kwwd-faq-list details{
  background:var(--kw-guest-card-2)!important;color:var(--kw-guest-ink)!important;
  border-color:var(--kw-guest-border)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-place-details strong,
body .kwwd-public.kwwd-wedding-website .kwwd-place-details span,
body .kwwd-public.kwwd-wedding-website .kwwd-gift-details p,
body .kwwd-public.kwwd-wedding-website .kwwd-faq-list summary,
body .kwwd-public.kwwd-wedding-website .kwwd-faq-list details p{
  color:var(--kw-guest-ink)!important;-webkit-text-fill-color:var(--kw-guest-ink)!important;opacity:1!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-place-details strong{
  color:var(--kw-guest-accent)!important;-webkit-text-fill-color:var(--kw-guest-accent)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-guide-links a,
body .kwwd-public.kwwd-wedding-website .kwwd-public-card a,
body .kwwd-public.kwwd-wedding-website .kwwd-video-button{
  color:var(--kw-guest-accent)!important;-webkit-text-fill-color:var(--kw-guest-accent)!important;
}

/* Forms and actions inherit the wedding theme, not dashboard colors. */
body .kwwd-public.kwwd-wedding-website .kwwd-public-form-grid input,
body .kwwd-public.kwwd-wedding-website .kwwd-public-form-grid select,
body .kwwd-public.kwwd-wedding-website .kwwd-public-form-grid textarea,
body .kwwd-public.kwwd-wedding-website input[type="email"],
body .kwwd-public.kwwd-wedding-website input[type="tel"]{
  background:var(--kw-guest-card-2)!important;color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;border-color:var(--kw-guest-border)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-public-submit,
body .kwwd-public.kwwd-wedding-website .kwwd-brand-cta>a,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-choice.is-selected{
  background:linear-gradient(135deg,var(--kw-guest-accent),var(--kw-guest-accent-2))!important;
  color:var(--kw-guest-on-accent)!important;-webkit-text-fill-color:var(--kw-guest-on-accent)!important;
  border-color:transparent!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-secondary-action,
body .kwwd-public.kwwd-wedding-website .kwwd-rsvp-choice,
body .kwwd-public.kwwd-wedding-website #kwwd-change-attendance,
body .kwwd-public.kwwd-wedding-website .kwwd-public-actions a,
body .kwwd-public.kwwd-wedding-website .kwwd-public-actions button{
  background:var(--kw-guest-card-2)!important;color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;border-color:var(--kw-guest-border)!important;
}

/* Theme personalities: not just recolors. */
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-classic .kwwd-public-section{
  outline:1px solid rgba(255,255,255,.45);outline-offset:-7px;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-classic .kwwd-public-section h2{
  font-family:Georgia,"Times New Roman",serif!important;letter-spacing:-.02em!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-olive .kwwd-public-section{
  border-radius:24px 42px 24px 42px!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-olive .kwwd-public-section h2{
  color:#4d6041!important;-webkit-text-fill-color:#4d6041!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-olive .kwwd-guide-card img{
  filter:saturate(.90) contrast(.98) brightness(1.02);
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-romantic .kwwd-public-section{
  border-radius:36px!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-romantic .kwwd-public-section h2{
  font-family:Georgia,"Times New Roman",serif!important;font-style:italic!important;font-weight:600!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-romantic .kwwd-guide-card img{
  filter:saturate(.94) brightness(1.03);
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section{
  background:linear-gradient(145deg,#0b1011,#070a0b)!important;
  border-color:rgba(215,173,100,.28)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.015)!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h1,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h2,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section h3,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-guide-card h3{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-place-details,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-info-overview-grid>a,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-rsvp-event-summary>div{
  background:#101617!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-place-details span,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-public-section p,
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-guide-desc{
  color:#d6cbb8!important;-webkit-text-fill-color:#d6cbb8!important;
}

/* Shared image polish. */
body .kwwd-public.kwwd-wedding-website .kwwd-guide-card{overflow:hidden!important}
body .kwwd-public.kwwd-wedding-website .kwwd-guide-card img{
  display:block!important;width:100%!important;aspect-ratio:16/10!important;object-fit:cover!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-guide-card-body{padding:20px!important}

@media(max-width:700px){
  body .kwwd-public.kwwd-wedding-website{padding-left:0!important;padding-right:0!important}
  body .kwwd-public.kwwd-wedding-website .kwwd-public-section,
  body .kwwd-public.kwwd-wedding-website .kwwd-private-invite-note,
  body .kwwd-public.kwwd-wedding-website .kwwd-private-invite-after{margin-left:16px!important;margin-right:16px!important}
  body .kwwd-public.kwwd-wedding-website .kwwd-public-section{padding:26px 22px!important}
  body .kwwd-public.kwwd-wedding-website .kwwd-guide-card-body{padding:18px!important}
}


/* ===== v5.7.50 guest light-theme cleanup =====
 * Fixes duplicated native/custom selects, missing form labels, and legacy dark
 * guide CTA leakage. These are presentation-only rules; no data flow changes.
 */
body .kwwd-public.kwwd-wedding-website .kwwd-public-form-grid > label,
body .kwwd-public.kwwd-wedding-website .kwwd-public-form-grid > label > small,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-search-form > label,
body .kwwd-public.kwwd-wedding-website .kwwd-accommodation-search > label{
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
  opacity:1!important;
  font-weight:800!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-public-form-grid > label > small{
  color:var(--kw-guest-muted)!important;
  -webkit-text-fill-color:var(--kw-guest-muted)!important;
  font-weight:600!important;
}
/* If an old cached JS bundle has already customized a public select, the real
 * select stays truly hidden. This also prevents the duplicated value seen on Android. */
body .kwwd-public.kwwd-wedding-website select.kwwd-native-select-hidden{
  position:absolute!important;
  display:block!important;
  opacity:0!important;
  pointer-events:none!important;
  width:1px!important;
  min-width:1px!important;
  max-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
}
/* Current public pages use the native themed select; cached pages that still
 * contain the custom control receive the same palette instead of dashboard black. */
body .kwwd-public.kwwd-wedding-website .kwwd-custom-select-button{
  background:var(--kw-guest-card-2)!important;
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
  border-color:var(--kw-guest-border)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-custom-select-button:after{color:var(--kw-guest-accent)!important}
body .kwwd-public.kwwd-wedding-website .kwwd-custom-select-menu{
  background:var(--kw-guest-card)!important;
  border-color:var(--kw-guest-border)!important;
  box-shadow:var(--kw-guest-shadow)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-custom-select-option{
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
  border-color:var(--kw-guest-border)!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-custom-select-option:hover,
body .kwwd-public.kwwd-wedding-website .kwwd-custom-select-option.is-selected{
  background:var(--kw-guest-card-2)!important;
  color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;
}
/* The couple's curated guide must visually belong to the active invitation. */
body .kwwd-public.kwwd-wedding-website .kwwd-selected-guide-grid a{
  background:var(--kw-guest-card-2)!important;
  color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;
  border:1px solid var(--kw-guest-border)!important;
  box-shadow:none!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-selected-guide-grid a span{
  color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;
}
body .kwwd-public.kwwd-wedding-website.kwwd-invitation-theme-luxury .kwwd-selected-guide-grid a{
  background:#111718!important;
  color:#f0cd8c!important;
  -webkit-text-fill-color:#f0cd8c!important;
}
/* Gift link, when explicitly supplied, uses the same quiet secondary-card language. */
body .kwwd-public.kwwd-wedding-website .kwwd-gift-details > a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:64px!important;
  padding:16px 18px!important;
  border:1px solid var(--kw-guest-border)!important;
  border-radius:20px!important;
  background:var(--kw-guest-card-2)!important;
  color:var(--kw-guest-accent)!important;
  -webkit-text-fill-color:var(--kw-guest-accent)!important;
  text-decoration:none!important;
  font-weight:800!important;
}


/* ===== v5.7.51 accommodation public-form repair =====
 * The older v5.7.8 public contrast rule contains an ID selector and !important,
 * so generic theme rules cannot override its forced white labels on light themes.
 * Target the exact form with equal/higher specificity and use the active guest theme tokens.
 */
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label > small,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form label {
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
  opacity:1!important;
  text-shadow:none!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label {
  font-weight:800!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form .kwwd-public-form-grid > label > small {
  color:var(--kw-guest-muted)!important;
  -webkit-text-fill-color:var(--kw-guest-muted)!important;
  font-weight:600!important;
}
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form input,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form select,
body .kwwd-public.kwwd-wedding-website .kwwd-stay-help-public #kwwd-accommodation-search-form textarea {
  color:var(--kw-guest-ink)!important;
  -webkit-text-fill-color:var(--kw-guest-ink)!important;
  background:var(--kw-guest-card-2)!important;
  border-color:var(--kw-guest-border)!important;
}

/* ===== v5.7.55 Explicit quote routing: KW-assisted vs direct vendor ===== */
.kwwd-organizer-request-quote,.kwwd-organizer-request-extra-quote{width:100%;min-height:46px;border:0;border-radius:11px;background:linear-gradient(135deg,#a97038,#e9bd76);color:#1b1209;font-weight:900;padding:12px 14px;cursor:pointer}
.kwwd-quote-route-modal[hidden]{display:none!important}.kwwd-quote-route-modal{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;padding:16px}.kwwd-quote-route-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.86);backdrop-filter:blur(6px)}body.kwwd-quote-route-open{overflow:hidden!important}
.kwwd-quote-route-dialog{position:relative;z-index:2;width:min(880px,100%);max-height:92dvh;overflow:auto;padding:28px 22px;border:1.5px solid rgba(233,189,118,.68);border-radius:24px;background:radial-gradient(circle at top right,rgba(200,145,79,.16),transparent 34%),#071013;box-shadow:0 28px 80px rgba(0,0,0,.62);color:#fff}
.kwwd-quote-route-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:1px solid rgba(233,189,118,.32);border-radius:50%;background:transparent;color:#fff;font-size:25px;cursor:pointer}.kwwd-quote-route-dialog h2{margin:0 44px 8px 0;color:#fff;font:400 clamp(28px,5vw,40px)/1.15 Georgia,serif}.kwwd-quote-route-lead{margin:0 0 20px;color:#d8d1ca}.kwwd-quote-route-lead strong{color:#e9bd76}
.kwwd-quote-route-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.kwwd-route-card{position:relative;padding:21px;border:1px solid rgba(200,145,79,.3);border-radius:18px;background:rgba(255,255,255,.025)}.kwwd-route-card.is-kw{border-color:rgba(233,189,118,.66);background:linear-gradient(180deg,rgba(200,145,79,.12),rgba(255,255,255,.02))}.kwwd-route-badge{display:inline-flex;margin-bottom:11px;padding:6px 9px;border-radius:999px;background:#e9bd76;color:#171009;font-size:10px;font-weight:900;letter-spacing:1px}.kwwd-route-card h3{margin:0 0 9px;color:#fff;font:400 23px/1.25 Georgia,serif}.kwwd-route-card p,.kwwd-route-card li,.kwwd-route-card small{color:#d9d4ce;line-height:1.55}.kwwd-route-card ul{margin:14px 0 18px;padding-left:20px}.kwwd-route-card li{margin:6px 0}.kwwd-route-card small{display:block;margin-top:12px;font-size:12px}.kwwd-route-card small strong{color:#fff}
.kwwd-route-primary,.kwwd-route-secondary{width:100%;min-height:48px;border-radius:11px;padding:12px 14px;font-weight:900;cursor:pointer}.kwwd-route-primary{border:0;background:linear-gradient(135deg,#a97038,#e9bd76);color:#171009}.kwwd-route-secondary{border:1px solid rgba(233,189,118,.55);background:transparent;color:#fff}.kwwd-route-messenger-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.kwwd-route-messenger-actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:10px;color:#fff!important;text-decoration:none!important;font-weight:800}.kwwd-route-messenger-actions img{width:25px;height:25px;object-fit:contain}
.kwwd-direct-contact-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.kwwd-direct-contact-actions[hidden]{display:none!important}.kwwd-direct-contact-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 12px;border:1px solid rgba(233,189,118,.36);border-radius:10px;color:#fff!important;text-decoration:none!important;font-weight:800}.kwwd-route-result{margin-top:14px;padding:0}.kwwd-route-result.is-success,.kwwd-route-result.is-error{padding:12px 14px;border-radius:11px}.kwwd-route-result.is-success{background:#113c27;border:1px solid #2d8c58;color:#fff}.kwwd-route-result.is-error{background:#3b1519;border:1px solid #9e3945;color:#fff}
@media(max-width:720px){.kwwd-quote-route-dialog{padding:24px 15px}.kwwd-quote-route-grid{grid-template-columns:1fr}.kwwd-route-card{padding:18px}.kwwd-route-messenger-actions{grid-template-columns:1fr 1fr}}
