/* ferdi-form.css — Check Your Date section styles (shared).
   Loaded by pages embedding the form. Requires .form-group/.form-input
   base styles (already in each page's Astro CSS bundle). */
/* LP v3 - one design system: 4pt spacing ladder, one card, one accent, section bands */
.lp-container{max-width:1120px;margin:0 auto;padding:0 24px}
.lp-section{padding:80px 0}
.lp-section--tight{padding:56px 0}
.lp-section--dark{background:#111111;color:#fff}
.lp-section--alt{background:#f7f5f1}
/* type scale: serif display (site's fp-serif) + body + small. Nothing else. */
.lp-h2{font-family:inherit;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15;margin:0 0 8px;font-weight:600}
.lp-sub{font-size:1rem;opacity:.65;margin:0 0 40px}
/* one card component, reused everywhere */
.lp-card{background:#fff;border:1px solid #e8e5df;border-radius:12px;padding:24px}
.lp-card h3{margin:0 0 8px;font-size:1.05rem}
.lp-card p{margin:0;font-size:.95rem;opacity:.7;line-height:1.5}
/* grids */
.lp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.lp-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
/* hero */
.lp-hero{display:grid;grid-template-columns:1fr 460px;gap:64px;align-items:start;padding:64px 0}
.lp-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.lp-chip{background:#f1ede6;border-radius:999px;padding:6px 14px;font-size:.85rem}
.lp-quote{margin:20px 0 0;padding:12px 0 12px 16px;border-left:3px solid #c9a962;font-size:.95rem;font-style:italic;opacity:.85}
.lp-quote blockquote{display:inline;margin:0}
.lp-quote figcaption{display:inline;font-style:normal;font-size:.8rem;opacity:.6;margin:0 0 0 6px}
/* form card = the one card, elevated */
.lp-formcard{background:#fff;border:1px solid #ece9e2;border-radius:12px;padding:28px;box-shadow:0 14px 34px rgba(17,17,17,.15)}
.lp-formcard h2{font-size:1.89rem;margin:0 0 4px}
.lp-progress{height:6px;background:#efece6;border-radius:3px;margin:14px 0 8px;overflow:hidden}
.lp-bar{height:100%;background:#111;border-radius:3px;transition:width .3s ease}
.lp-stepnote{font-size:.85rem;opacity:.6;margin:0 0 16px}
#lp-err{color:#c0392b!important;font-style:italic!important;font-size:.88rem;margin:0 0 12px}
.lp-step .form-group{margin-bottom:16px}
.lp-step[hidden]{display:none!important}
.form-group.lp-invalid input,.form-group.lp-invalid select,.form-group.lp-invalid textarea{border-color:#a33!important}
.lp-back{background:none;border:none;font:inherit;font-size:.88rem;opacity:.6;cursor:pointer;padding:12px 8px;text-decoration:underline}
.lp-next{width:100%;margin-top:8px}
.lp-scarcity{font-size:.82rem;opacity:.6;margin:12px 0 0}
#form-success{margin-top:16px;text-align:center}
.form-success .lp-success-pill{margin:0 auto}
.lp-step:not([hidden]){animation:lpStepIn .32s ease}
@keyframes lpStepIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.lp-step:not([hidden]){animation:none}}
.lp-party{display:inline-block;margin-left:10px;font-size:1.2rem;animation:lpPartyPop .7s cubic-bezier(.34,1.56,.64,1) .15s both}
@keyframes lpPartyPop{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.55) rotate(8deg);opacity:1}80%{transform:scale(.92) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}
@media (prefers-reduced-motion: reduce){.lp-party{animation:none}}
.lp-success-pill{display:inline-flex;align-items:center;background:#e7f3ea;color:#1e7a3f;border:1px solid #c4e3cc;border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:700;letter-spacing:.05em}
.lp-success-title{display:block;margin:12px 0 6px;font-size:1.05rem}
.lp-success-copy{margin:0;font-size:.92rem;opacity:.75;line-height:1.55}
.lp-back{display:block;margin:10px auto 0;text-align:center}
#form-error{margin-top:16px}
.form-input{font-size:16px!important}
/* dark band stats + final cta */
.lp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.lp-stats strong{display:block;font-size:1.5rem;margin-bottom:4px}
.lp-stats span{font-size:.85rem;opacity:.65}
.lp-cta{ text-align:center}
.lp-cta .areas{font-size:1rem;color:#fff;opacity:1;text-shadow:0 2px 14px rgba(0,0,0,.7),0 1px 3px rgba(0,0,0,.6);margin:16px auto 28px;max-width:640px}
@media(max-width:920px){
.lp-hero{grid-template-columns:1fr;gap:14px;padding:40px 0}
.lp-grid3,.lp-grid4{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
.lp-section{padding:48px 0}
.lp-grid3,.lp-grid4{grid-template-columns:1fr}
.lp-stats{grid-template-columns:1fr 1fr;gap:16px}
}
/* submit button matches the step buttons: full width */
#submit-btn{width:100%;margin-top:8px}
/* form ETA badge */
.lp-eta{display:block;font-size:.85rem;opacity:.5;margin:0 0 16px}
/* LP topbar removed - logo lives in the hero */
/* how-it-works photo background */
.lp-section--photo{position:relative;background:url('/images/events-montage.jpg') top/cover no-repeat;padding:96px 0 120px}
.lp-section--photo::before{content:'';position:absolute;inset:0;background:rgba(10,10,10,.45)}
.lp-section--photo .lp-container{position:relative;z-index:1}
/* inverted dots: white circle, black number */
.lp-dot{background:#fff;color:#111;border:2px solid rgba(255,255,255,.9);box-shadow:0 4px 18px rgba(0,0,0,.35)}
/* cards at 70% opacity over the photo */
.lp-section--photo .lp-card{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.65);backdrop-filter:blur(2px)}
/* timeline: elegant animated connector */
.lp-flow{position:relative;padding-top:8px}
.lp-flow-line{position:absolute;top:45px;left:16.6%;right:16.6%;height:2px;background:#e3ded4;overflow:hidden}
.lp-flow-line span{display:block;height:100%;background:#c9a962;transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.25,.6,.25,1)}
.lp-flow.inview .lp-flow-line span{transform:scaleX(1)}
.lp-flow-step{text-align:center;opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}
.lp-flow.inview .lp-flow-step{opacity:1;transform:none}
.lp-flow.inview .lp-flow-step:nth-child(2){transition-delay:.35s}
.lp-flow.inview .lp-flow-step:nth-child(3){transition-delay:.7s}
.lp-dot{width:48px;height:48px;border-radius:50%;background:#fff;color:#111;display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin:0 auto 20px;position:relative;z-index:1;border:2px solid #ffffff;box-shadow:0 4px 18px rgba(0,0,0,.35)}
.lp-cta{position:relative;background:url('/images/ferdi-3-wedding.jpg') top/cover no-repeat}
.lp-cta::before{content:'';position:absolute;inset:0;background:rgba(10,10,10,.55)}
.lp-cta .lp-container{position:relative;z-index:1}
#lp-testimonials .lp-grid3 .lp-card{box-shadow:0 10px 26px rgba(17,17,17,.09)}
.lp-contact{margin-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
/* clockwise shine around the form card - subtle gold sweep */
@property --lp-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.lp-formcard{position:relative}
.lp-formcard::before{content:"";position:absolute;inset:-2px;border-radius:14px;padding:2px;background:conic-gradient(from var(--lp-angle),transparent 0turn,transparent .72turn,rgba(201,169,98,.85) .9turn,rgba(255,247,233,.95) .94turn,transparent 1turn);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;animation:lpBorderSpin 6s linear infinite}
@keyframes lpBorderSpin{to{--lp-angle:360deg}}
@media (prefers-reduced-motion: reduce){.lp-formcard::before{animation:none;opacity:.4}}
.lp-c-icon{display:block;opacity:.55;margin:0 auto 8px}
@media(max-width:920px){
#lp-scarcity,#form-success .lp-success-title,#form-success .lp-success-copy{text-align:center}
.lp-contact > div{text-align:left}
.lp-contact .lp-c-icon{margin:0 0 8px}
}
.lp-stars{display:block;max-width:100%;height:auto}
.lp-stars-mobile{display:none;margin:1px auto}
@media(max-width:920px){
.footer-vogue .container{text-align:center}
.footer-vogue .footer-main-grid{display:block}
.footer-vogue .footer-brand-luxe img{margin:0 auto 10px}
.footer-vogue .footer-nav-grid{display:flex;flex-direction:column;gap:22px;align-items:center}
.footer-vogue .footer-col ul{list-style:none;padding:0;margin:0}
.footer-vogue .col-title{display:block;margin-bottom:8px}
}@media(max-width:920px){
.lp-hero > div:first-child > img{margin-left:auto;margin-right:auto}
.lp-hero .fp-label{display:block;text-align:center}
.lp-hero h1{text-align:center}
.lp-chips{margin-top:12px}
.lp-formcard{margin-top:3px;margin-bottom:72px}
}
@media(max-width:920px){
.lp-stars-desktop{display:none!important}
.lp-chips{flex-wrap:nowrap;justify-content:center}
.lp-chip{font-size:.66rem;padding:5px 9px;white-space:nowrap}
.lp-chips{gap:6px}
.lp-stars-mobile{display:block!important}
}
.lp-c-label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.5;margin-bottom:6px}
.lp-contact a{color:#111;text-decoration:none;border-bottom:1px solid #c9a962;padding-bottom:1px}
@media(max-width:920px){.lp-contact{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.lp-contact{grid-template-columns:1fr}}
.lp-btn-light{display:inline-block;background:#fff;color:#111;padding:18px 48px;border-radius:999px;text-decoration:none;font-size:1.1rem;font-weight:700;letter-spacing:.02em;border:1px solid #fff;transition:transform .25s ease,box-shadow .25s ease}
.lp-btn-light:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,255,255,.15)}
@media(max-width:920px){
.lp-section--photo{animation:lpPan 26s ease-in-out infinite alternate}
@keyframes lpPan{from{background-position:0% center}to{background-position:100% center}}
@media (prefers-reduced-motion: reduce){.lp-section--photo{animation:none}}
.lp-flow-line{display:none}
.lp-flow-step{display:flex;text-align:left;gap:16px;align-items:flex-start;margin-bottom:20px}
.lp-dot{margin:0;flex:0 0 40px;width:40px;height:40px;font-size:.95rem}
.lp-card{text-align:left}
}
/* strip legacy template padding on this page only */


/* ===== verbatim field styling ported from the event page ===== */
.contact-form .form-input{border-radius:12px!important}
.contact-form .form-submit{border-radius:999px!important}
.contact-form .form-label{font-weight:700!important;color:#0b0907!important}
.contact-form .form-input{border:1.5px solid #a89f92!important;background:#fff!important;color:#0b0907!important}
.contact-form .form-input::placeholder{color:#6f6558!important;opacity:1!important}
.contact-form .form-input:focus{border-color:#0b0907!important;box-shadow:0 0 0 3px rgba(11,9,7,.14)!important;outline:none!important}
.form-input{border:1px solid var(--color-border);transition:border-color .3s,box-shadow .3s}
.form-input:focus{border-color:var(--color-charcoal);outline:none;box-shadow:0 0 0 3px #1a1a1a0d}

/* labels + layout spacing (matching the event page rendering) */
.contact-form .form-label{font-family:Inter,sans-serif;font-size:.95rem;font-weight:700;color:#0b0907;letter-spacing:.02em}
.contact-form .form-group{display:grid;gap:.45rem}
.contact-form .form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.contact-form .form-row > .form-group{min-width:0}
.contact-form .form-group > .form-input,.contact-form .form-group > .form-select,.contact-form .form-group > .form-textarea{min-width:0;max-width:100%}

.contact-form .form-input,.contact-form .form-select,.contact-form .form-textarea{padding:.875rem 1rem;font-family:Inter,sans-serif;font-size:1rem}
.contact-form .form-select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M1 3l5 5 5-5' stroke='%230b0907' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}
.contact-form .form-textarea{min-height:110px;resize:vertical}
.contact-form .form-optional{font-weight:400;opacity:.55}

