/* Focused QA pass: safe template copy, typography controls and common editor interactions. */
:root{
  --pv-font-elegant-serif:"Cormorant Garamond",Georgia,serif;
  --pv-font-modern-serif:Lora,Georgia,serif;
  --pv-font-classic-serif:"Libre Baskerville",Georgia,serif;
  --pv-font-artistic-serif:"Playfair Display",Georgia,serif;
  --pv-font-formal-classic:"EB Garamond",Georgia,serif;
  --pv-font-editorial:"Bodoni Moda",Didot,serif;
  --pv-font-clean-sans:Inter,"Segoe UI",sans-serif;
  --pv-font-modern-sans:Manrope,"Segoe UI",sans-serif;
  --pv-font-minimal:Montserrat,Arial,sans-serif;
  --pv-font-playful:Fredoka,"Trebuchet MS",sans-serif;
  --pv-font-romantic-script:Parisienne,"Segoe Script",cursive;
  --pv-font-classic-script:"Great Vibes","Segoe Script",cursive;
  --pv-font-elegant-script:Allura,"Segoe Script",cursive;
  --pv-font-handwritten:Caveat,"Segoe Print",cursive;
}

/* Every gallery card uses the same safe text box and wrapping rules. */
.lt-template-card__copy{max-width:90%;max-height:92%;overflow:hidden;contain:layout paint;box-sizing:border-box}
.lt-template-card__copy strong{width:100%;max-width:100%;overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance;line-height:1.02}
.lt-template-card__copy .lt-template-card__eyebrow,.lt-template-card__copy>small{max-width:100%;overflow-wrap:anywhere;line-height:1.35}
.lt-template-card.lt-layout--left .lt-template-card__copy,.lt-template-card.lt-layout--right .lt-template-card__copy{width:min(64%,90%)}
.lt-template-card.lt-layout--panel-left .lt-template-card__copy,.lt-template-card.lt-layout--panel-right .lt-template-card__copy{max-height:100%;width:min(64%,90%)}

/* The saved-state indicator is status copy, not a second Save button. */
.pv-save-state{position:relative;padding:7px 4px 7px 17px;background:transparent!important;color:#4c655c!important;border-radius:0}
.pv-save-state:before{content:"";position:absolute;left:2px;top:50%;width:8px;height:8px;border-radius:50%;background:#4b9b6c;transform:translateY(-50%)}
.pv-save-state.is-dirty:before{background:#d79627}.pv-save-state.is-saving:before{background:#4f7fa9;animation:pvPulse 1s infinite}.pv-save-state.is-error:before{background:#b84336}
@keyframes pvPulse{50%{opacity:.35}}

/* Per-block typography toolbar. */
.pv-preview-tools{position:relative;overflow:visible;flex-wrap:wrap}
.pv-preview-tools>div{position:relative;align-items:center;flex-wrap:wrap}
.pv-preview-tools button{min-height:32px;white-space:nowrap}
.pv-preview-tools button:disabled{cursor:not-allowed;opacity:.42}
.pv-type-button{display:inline-flex;align-items:center;gap:7px;padding-inline:11px!important}.pv-type-button:after{content:"▾";font-size:10px}
.pv-font-menu{position:absolute;z-index:90;right:0;top:calc(100% + 9px);width:min(300px,84vw);max-height:min(70vh,520px);overflow-y:auto;padding:10px;border:1px solid rgba(27,62,52,.18);border-radius:14px;background:#fff;color:#183c33;box-shadow:0 18px 48px rgba(22,39,33,.2)}
.pv-font-menu[hidden]{display:none}.pv-font-menu button{display:flex;width:100%;align-items:center;justify-content:space-between;margin:2px 0;padding:10px 12px;border:0;border-radius:9px;background:transparent;color:#183c33;text-align:left}.pv-font-menu button:hover,.pv-font-menu button:focus-visible{background:#edf3ef;outline:2px solid #75a190;outline-offset:-2px}
.pv-font-menu button[data-font-choice="elegant-serif"]{font-family:var(--pv-font-elegant-serif)}.pv-font-menu button[data-font-choice="modern-serif"]{font-family:var(--pv-font-modern-serif)}.pv-font-menu button[data-font-choice="classic-serif"]{font-family:var(--pv-font-classic-serif)}.pv-font-menu button[data-font-choice="artistic-serif"]{font-family:var(--pv-font-artistic-serif)}.pv-font-menu button[data-font-choice="formal-classic"]{font-family:var(--pv-font-formal-classic)}.pv-font-menu button[data-font-choice="editorial"]{font-family:var(--pv-font-editorial)}.pv-font-menu button[data-font-choice="clean-sans"]{font-family:var(--pv-font-clean-sans)}.pv-font-menu button[data-font-choice="modern-sans"]{font-family:var(--pv-font-modern-sans)}.pv-font-menu button[data-font-choice="minimal"]{font-family:var(--pv-font-minimal)}.pv-font-menu button[data-font-choice="playful"]{font-family:var(--pv-font-playful)}.pv-font-menu button[data-font-choice="romantic-script"]{font-family:var(--pv-font-romantic-script)}.pv-font-menu button[data-font-choice="classic-script"]{font-family:var(--pv-font-classic-script)}.pv-font-menu button[data-font-choice="elegant-script"]{font-family:var(--pv-font-elegant-script)}.pv-font-menu button[data-font-choice="handwritten"]{font-family:var(--pv-font-handwritten)}

/* Common panel/text interaction system used by every template. */
.pv-design-panel{box-sizing:border-box;min-width:26%;min-height:24%;max-width:96%;max-height:96%;overflow:visible!important}
.lt-invitation.pv-invitation .pv-design-panel{inset:auto!important;right:auto!important;bottom:auto!important;left:calc(var(--panel-x)*1%)!important;top:calc(var(--panel-y)*1%)!important;width:calc(var(--panel-w)*1%)!important;height:calc(var(--panel-h)*1%)!important;min-width:26%!important;min-height:24%!important;max-width:96%!important;max-height:96%!important;transform:none!important}
.pv-design-element{box-sizing:border-box;font-family:var(--el-family,var(--pv-font-elegant-serif))!important;font-size:var(--el-render-font,calc(var(--el-font)*1px))!important;max-width:100%;max-height:100%;overflow:hidden;overflow-wrap:anywhere;word-break:normal;hyphens:auto;text-wrap:balance}
.pv-design-venue{font-family:var(--el-family,var(--pv-font-clean-sans))!important}
.is-editable .pv-design-panel{cursor:default}.is-editable .pv-design-element{cursor:grab}.is-editable .pv-design-element.is-interacting,.pv-panel-grip:active{cursor:grabbing}
.pv-panel-grip{display:none;position:absolute;z-index:30;left:50%;top:-18px;min-width:120px;height:28px;align-items:center;justify-content:center;transform:translateX(-50%);border:2px solid #fff;border-radius:99px;background:#1675d1;color:#fff;font:700 10px/1 var(--pv-font-clean-sans);letter-spacing:.04em;box-shadow:0 4px 12px rgba(22,117,209,.3);cursor:grab;user-select:none;touch-action:none}
.pv-design-panel.is-selected>.pv-panel-grip{display:flex}.pv-design-panel.is-selected{outline-width:3px!important}
.pv-resize-handle{width:17px;height:17px;border-radius:50%;touch-action:none}.pv-resize-handle--se{right:-8px;bottom:-8px;cursor:nwse-resize}.pv-resize-handle--e{right:-9px;top:50%;bottom:auto;transform:translateY(-50%);cursor:ew-resize}.pv-resize-handle--s{left:50%;right:auto;bottom:-9px;transform:translateX(-50%);cursor:ns-resize}
.pv-design-element>.pv-resize-handle--e,.pv-design-element>.pv-resize-handle--s{display:none!important}
.pv-design-panel>.pv-drag-label{display:none!important}

/* Friendly phone help and accessible guest-language explanation. */
.pv-phone-help{display:block;margin-top:6px;color:#607069;font-size:12px;font-weight:400;line-height:1.35}
.pv-label-with-info{display:inline-flex;align-items:center;gap:6px}.pv-info-wrap{position:relative;display:inline-flex}.pv-info-button{display:inline-grid;width:20px;height:20px;place-items:center;padding:0;border:1px solid #a7b6b0;border-radius:50%;background:#fff;color:#315d50;font:800 12px/1 var(--pv-font-clean-sans);cursor:help}.pv-info-button:focus-visible{outline:3px solid rgba(22,117,209,.3);outline-offset:2px}.pv-info-tip{position:absolute;z-index:110;left:50%;bottom:calc(100% + 9px);width:250px;padding:11px 13px;transform:translateX(-50%);border-radius:10px;background:#173d33;color:#fff;font:500 12px/1.45 var(--pv-font-clean-sans);box-shadow:0 12px 28px rgba(17,45,37,.24)}.pv-info-tip:after{content:"";position:absolute;left:50%;top:100%;border:6px solid transparent;border-top-color:#173d33;transform:translateX(-50%)}

/* Logged-in header keeps public navigation and remains usable on mobile. */
.pv-dashboard__header .lt-shell{gap:22px}.pv-dashboard__header nav{margin-left:auto}.pv-dashboard__header .lt-lang{flex:0 0 auto}.pv-dashboard__menu{display:none;width:42px;height:42px;border:1px solid var(--pv-line);border-radius:50%;background:#fff;color:#173d33;font-size:0}.pv-dashboard__menu:before,.pv-dashboard__menu:after{content:"";display:block;width:18px;height:2px;margin:5px auto;background:currentColor;transition:transform .2s}.pv-dashboard__menu[aria-expanded="true"]:before{transform:translateY(3.5px) rotate(45deg)}.pv-dashboard__menu[aria-expanded="true"]:after{transform:translateY(-3.5px) rotate(-45deg)}

@media(max-width:900px){
  .pv-dashboard__menu{display:block;order:4}.pv-dashboard__header .lt-lang{margin-left:auto}.pv-dashboard__header nav{display:none;position:absolute;left:14px;right:14px;top:70px;margin:0;padding:14px;border:1px solid var(--pv-line);border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(20,42,35,.16)}.pv-dashboard__header nav.is-open{display:grid;gap:2px}.pv-dashboard__header nav a{display:block!important;padding:11px 12px;border-radius:9px}.pv-dashboard__header nav a:hover{background:#eef3ef}
  .pv-preview-tools>span{width:100%}.pv-font-menu{right:auto;left:0}
}
@media(max-width:520px){.pv-save-state{display:none}.pv-info-tip{left:auto;right:-20px;transform:none}.pv-info-tip:after{left:auto;right:24px}.pv-panel-grip{min-width:105px}}



