/* Match the existing circular invitation without changing site container widths. */
.ltspfm-open { cursor: pointer; }
.ltspfm-home-badge { appearance: none; display: block; position: absolute; z-index: 10; top: auto; right: 24px; bottom: 24px; width: 220px; height: 220px; min-width: 0; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; line-height: 0; filter: drop-shadow(0 12px 16px #0008); transition: transform .2s; }
.ltspfm-home-pair > .atp-home-badge { top: 24px; right: 24px; }
.ltspfm-home-badge img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.ltspfm-home-badge:hover { background: transparent; transform: translateY(-3px); }
.ltspfm-home-badge:focus-visible, .ltspfm-widget-card button:focus-visible, .ltspfm-shortcode:focus-visible { outline: 3px solid #edcf80; outline-offset: 5px; }
.ltspfm-widget-card { box-sizing: border-box; text-align: center; padding: 25px 18px 24px; border: 1px solid #c8a55d; border-radius: 20px; background: radial-gradient(ellipse at 50% 25%,#22443f 0,#112c2c 55%,#0c1d24 100%); box-shadow: 0 12px 30px #08101b25; color: #f4eee3; }
.ltspfm-widget-eyebrow { display: block; font: 700 10px/1.6 system-ui,sans-serif; letter-spacing: 2px; color: #dec183; }
.ltspfm-widget-logo, .ltspfm-shortcode { appearance: none; display: block; width: min(220px,100%); height: auto; min-height: 0; min-width: 0; padding: 0; margin: 15px auto 10px; line-height: 0; border: 0 !important; border-radius: 50%; background: none !important; box-shadow: none; }
.ltspfm-widget-logo img, .ltspfm-shortcode img { display: block; width: 100%; height: auto; filter: drop-shadow(0 8px 10px #0005); }
.ltspfm-widget-card p { font: 15px/1.7 system-ui,sans-serif; color: #f4eee3 !important; margin: 12px 0 18px; }
.ltspfm-widget-card .ltspfm-widget-link { appearance: none; display: inline-block; min-width: 0; min-height: 0; padding: 4px 0; margin: 0; border: 0; border-bottom: 1px solid #c8a55d; border-radius: 0; background: transparent; box-shadow: none; color: #f5dfaa !important; text-decoration: none; text-transform: none; font: 700 14px/1.5 system-ui,sans-serif; letter-spacing: normal; }
.ltspfm-widget-link:hover { color: #fff4d9 !important; }
.ltspfm-dialog, .ltspfm-dialog * { box-sizing: border-box; }
.ltspfm-dialog { --ltspfm-emerald: #075548; --ltspfm-dark: #073d35; --ltspfm-gold: #d4b260; --ltspfm-cream: #fffdf6; width: min(680px,calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 0; margin: auto; border: 1px solid #b99542; border-radius: 20px; background: var(--ltspfm-cream); box-shadow: 0 24px 90px #0009; overflow: auto; color: #173c35; font: 400 15px/1.6 Arial,Helvetica,sans-serif; }
.ltspfm-dialog:not([open]) { display: none !important; }
.ltspfm-dialog::backdrop { background: rgb(5 14 24 / 78%); backdrop-filter: blur(3px); }
.ltspfm-dialog-header { position: relative; display: flex; align-items: center; gap: 20px; padding: 28px 64px 26px 28px; border-bottom: 1px solid #c6a758; background: radial-gradient(ellipse at 25% 0,#147361 0,#075548 45%,#062f2d 100%); }
.ltspfm-dialog-emblem { display: block; flex: 0 0 94px; width: 94px; height: 94px; margin: 0; object-fit: contain; filter: drop-shadow(0 6px 10px #0005); }
.ltspfm-eyebrow { display: block; margin-bottom: 4px; color: #ead394; font: 700 10px/1.6 Arial,Helvetica,sans-serif; letter-spacing: 2px; }
.ltspfm-dialog .ltspfm-dialog-header h2 { margin: 0; padding: 0; color: #fff5db; font: 400 35px/1.15 Georgia,'Times New Roman',serif; letter-spacing: -.4px; }
.ltspfm-dialog .ltspfm-dialog-header p { margin: 9px 0 0; padding: 0; color: #f3eedc; font: 400 15px/1.5 Arial,Helvetica,sans-serif; }
.ltspfm-dialog .ltspfm-close { appearance: none; position: absolute; top: 17px; right: 17px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; min-width: 40px; min-height: 40px; margin: 0; padding: 0; border: 1px solid #e8d69a66; border-radius: 50%; background: #ffffff0d; color: #f9edca; box-shadow: none; font: 400 28px/1 Arial,Helvetica,sans-serif; cursor: pointer; }
.ltspfm-dialog .ltspfm-close:hover { background: #ffffff21; }
.ltspfm-dialog-content { padding: 27px 30px 22px; }
.ltspfm-dialog .ltspfm-form { display: grid; min-width: 0; gap: 18px; margin: 0; padding: 0; }
.ltspfm-contact-fields { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 16px; }
.ltspfm-dialog .ltspfm-field { display: grid; min-width: 0; gap: 7px; margin: 0; padding: 0; color: #214b40; font: 600 13px/1.5 Arial,Helvetica,sans-serif; }
.ltspfm-dialog input:not([type=checkbox]), .ltspfm-dialog textarea { appearance: none; display: block; width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 11px 13px; border: 1px solid #9aac9e; border-radius: 8px; background: #fff; color: #19392f; box-shadow: inset 0 1px 3px #123a2810; font: 400 15px/1.5 Arial,Helvetica,sans-serif; }
.ltspfm-dialog textarea { min-height: 144px; resize: vertical; }
.ltspfm-dialog textarea::placeholder { color: #64766c; opacity: 1; }
.ltspfm-dialog input:focus-visible, .ltspfm-dialog textarea:focus-visible, .ltspfm-dialog button:focus-visible { outline: 3px solid #b78b2f; outline-offset: 3px; }
.ltspfm-dialog .ltspfm-privacy { margin: 0; padding: 12px 14px; border-left: 3px solid #b9a15e; border-radius: 0 7px 7px 0; background: #edf3ed; color: #3c5849; font: 400 12px/1.6 Arial,Helvetica,sans-serif; }
.ltspfm-dialog .ltspfm-consent { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; color: #345044; font: 400 12px/1.6 Arial,Helvetica,sans-serif; }
.ltspfm-dialog .ltspfm-consent input { appearance: auto; flex: 0 0 17px; width: 17px; height: 17px; min-width: 17px; min-height: 17px; margin: 2px 0 0; accent-color: #075548; }
.ltspfm-honey { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.ltspfm-dialog .ltspfm-form-status { margin: 0; color: #42634f; font: 400 12px/1.6 Arial,Helvetica,sans-serif; overflow-wrap: anywhere; }
.ltspfm-dialog .ltspfm-form-status.is-error { color: #a6261d; font-weight: 700; }
.ltspfm-dialog .ltspfm-submit, .ltspfm-dialog .ltspfm-retry { appearance: none; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; margin: 0; padding: 12px 22px; border: 1px solid #b99542; border-radius: 9px; background: linear-gradient(180deg,#0c6b59,#064c41); color: #fff3cc; box-shadow: inset 0 1px 0 #ffffff20,0 5px 12px #123b251a; font: 600 14px/1.5 Arial,Helvetica,sans-serif; cursor: pointer; text-transform: none; letter-spacing: normal; }
.ltspfm-dialog .ltspfm-submit:hover, .ltspfm-dialog .ltspfm-retry:hover { background: linear-gradient(180deg,#13816b,#075b4b); }
.ltspfm-dialog .ltspfm-submit:disabled { opacity: .55; cursor: wait; }
.ltspfm-dialog .ltspfm-retry { justify-self: start; min-height: 42px; padding: 8px 14px; background: #edf2ea; color: #1f5544; box-shadow: none; }
.ltspfm-dialog .ltspfm-retry:hover { background: #e0eadd; }
.ltspfm-dialog [hidden] { display: none !important; }
.ltspfm-dialog .ltspfm-dialog-footer { margin: 24px 0 0; padding: 15px 0 0; border-top: 1px solid #d7dfd0; color: #6a776a; text-align: center; font: 400 10px/1.6 Arial,Helvetica,sans-serif; letter-spacing: .3px; }
.ltspfm-success { padding: 5px 0 4px; text-align: center; }
.ltspfm-success-check { display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; margin: 0 auto 17px; border: 1px solid #bba05d; border-radius: 50%; background: #e6efe4; color: #0a654e; font: 400 28px/1 Arial,Helvetica,sans-serif; }
.ltspfm-dialog .ltspfm-success h3 { margin: 0 0 13px; color: #124c3c; font: 400 28px/1.2 Georgia,'Times New Roman',serif; }
.ltspfm-dialog .ltspfm-success p { margin: 0 0 22px; color: #46604d; font: 400 14px/1.7 Arial,Helvetica,sans-serif; }
@media(max-width:1100px) {
    .ltspfm-home-pair > .atp-home-badge { position: relative; top: auto; right: auto; margin: 24px auto 0; }
    .ltspfm-home-badge { position: relative; top: auto; right: auto; bottom: auto; margin: 16px auto 0; }
}
@media(max-width:1000px) { .ltspfm-home-badge { width: 180px; height: 180px; } }
@media(max-width:760px) { .ltspfm-home-badge { width: 160px; height: 160px; } }
@media(max-width:480px) {
    .ltspfm-home-badge { width: 145px; height: 145px; }
    .ltspfm-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-radius: 15px; }
    .ltspfm-dialog-header { gap: 13px; padding: 23px 50px 22px 18px; }
    .ltspfm-dialog-emblem { flex-basis: 64px; width: 64px; height: 64px; }
    .ltspfm-dialog .ltspfm-dialog-header h2 { font-size: 29px; }
    .ltspfm-dialog .ltspfm-dialog-header p { font-size: 13px; }
    .ltspfm-eyebrow { font-size: 8px; letter-spacing: 1.5px; }
    .ltspfm-dialog .ltspfm-close { top: 12px; right: 12px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; font-size: 25px; }
    .ltspfm-dialog-content { padding: 23px 20px 19px; }
    .ltspfm-contact-fields { grid-template-columns: minmax(0,1fr); gap: 17px; }
    .ltspfm-dialog input:not([type=checkbox]), .ltspfm-dialog textarea { font-size: 16px; }
}
@media(prefers-reduced-motion:reduce) { .ltspfm-home-badge { transition: none; transform: none !important; } }
