/* Snapooshot lead form v3.0 */
.snp-lf{--g:#b8924a;--g2:#e8cf8a;--rose:#b97a63;--ink:#3f3128;--mut:#7a6c61;--line:#e7dccd;--bg:#fbf7f0;
  font-family:"DM Sans",Inter,system-ui,sans-serif;color:var(--ink);text-align:left;box-sizing:border-box;width:100%}
.snp-lf *{box-sizing:border-box}
.snp-lf__head{text-align:center;margin:0 0 18px}
.snp-lf__eyebrow{margin:0 0 6px;font:600 11px/1 "DM Sans",sans-serif;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--g)}
.snp-lf__title{margin:0;font:500 clamp(26px,4vw,34px)/1.1 "Cormorant Garamond",Georgia,serif;color:var(--ink)}
.snp-lf__title em{font-style:italic;color:var(--rose)}
.snp-lf__sub{margin:6px 0 0;font-size:14px;color:var(--mut)}
.snp-lf__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.snp-lf__f{display:flex;flex-direction:column;gap:6px;margin:0;position:relative}
.snp-lf__f--full{grid-column:1/-1}
.snp-lf__f>span:first-child{font:600 11px/1.2 "DM Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#5b4c41}
.snp-lf__f>span:first-child i{font-style:normal;font-weight:400;letter-spacing:.04em;text-transform:none;color:#9b8e83}
.snp-lf input,.snp-lf select,.snp-lf textarea{width:100%;margin:0;height:46px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg);
  font:400 15px/1.3 "DM Sans",Inter,sans-serif;color:var(--ink);box-shadow:none;outline:none;transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none}
.snp-lf select{background-image:linear-gradient(45deg,transparent 50%,#9b8e83 50%),linear-gradient(135deg,#9b8e83 50%,transparent 50%);
  background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
.snp-lf textarea{height:auto;min-height:84px;padding:12px 14px;resize:vertical}
.snp-lf ::placeholder{color:#b0a499}
.snp-lf input:focus,.snp-lf select:focus,.snp-lf textarea:focus{border-color:var(--g);background:#fff;box-shadow:0 0 0 4px rgba(184,146,74,.14)}
.snp-lf__tel{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:12px;background:var(--bg);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.snp-lf__tel b{display:flex;align-items:center;padding:0 10px 0 14px;font-weight:600;font-size:15px;color:#5b4c41;border-right:1px solid var(--line)}
.snp-lf__tel input{border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.snp-lf__tel:focus-within{border-color:var(--g);background:#fff;box-shadow:0 0 0 4px rgba(184,146,74,.14)}
.snp-lf__f.is-bad input,.snp-lf__f.is-bad select,.snp-lf__f.is-bad textarea,.snp-lf__f.is-bad .snp-lf__tel{border-color:#d0675a!important;background:#fff8f6}
.snp-lf__f.is-ok input,.snp-lf__f.is-ok select,.snp-lf__f.is-ok .snp-lf__tel{border-color:#9fb48a}
.snp-lf__msg{font:normal 12.5px/1.3 "DM Sans",sans-serif;color:#c0453a}
.snp-lf__f.is-ok .snp-lf__msg{display:none}
.snp-lf__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.snp-lf__btn{margin-top:16px;width:100%;height:52px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(120deg,#b97a63,#c98d74 50%,#b97a63);background-size:200% 100%;color:#fff;font:600 14px/1 "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;
  box-shadow:0 16px 30px -16px rgba(185,122,99,.8);transition:background-position .5s,transform .2s}
.snp-lf__btn:hover{background-position:100% 0;transform:translateY(-1px)}
.snp-lf__btn svg{width:20px;height:20px}
.snp-lf__btn.is-busy{opacity:.7;pointer-events:none}
.snp-lf__btn.is-busy span::after{content:"…"}
.snp-lf__note{margin:10px 0 0;text-align:center;font-size:12.5px;color:#9b8e83}
.snp-lf__err{margin:6px 0 0;text-align:center;font-size:13.5px;color:#c0453a;min-height:0}
@media (max-width:560px){.snp-lf__grid{grid-template-columns:1fr;gap:10px}.snp-lf input,.snp-lf select{height:44px;font-size:16px}.snp-lf__btn{height:50px}}

/* ---------- Popup Builder: responsive + luxury card ---------- */
.sgpb-popup-dialog-main-div-wrapper{max-width:94vw!important}
.sgpb-popup-dialog-main-div,[class*="sgpb-popup-dialog-main-div"]:not(.sgpb-popup-dialog-main-div-wrapper){
  width:min(560px,94vw)!important;max-width:94vw!important;max-height:92vh!important;height:auto!important;
  border-radius:22px!important;border:1px solid rgba(184,146,74,.35)!important;
  background:radial-gradient(400px 220px at 0% 0%,rgba(232,207,138,.25),transparent 70%),linear-gradient(180deg,#fffdf8,#f8f1e6)!important;
  box-shadow:0 40px 80px -30px rgba(46,36,29,.55)!important;padding:0!important;overflow:hidden!important}
[class*="sgpb-popup-builder-content"],.sgpb-main-html-content-wrapper{max-height:92vh!important;overflow:auto!important;padding:26px 24px 20px!important;background:transparent!important;box-sizing:border-box!important;width:100%!important;height:auto!important}
.sgpb-popup-overlay,[class*="sgpb-popup-overlay"]{background:rgba(29,22,18,.62)!important;backdrop-filter:blur(3px)}
.sgpb-popup-close-button-1,.sgpb-popup-close-button-2,.sgpb-popup-close-button-3,.sgpb-popup-close-button-4,.sgpb-popup-close-button-5,.sgpb-popup-close-button-6,[class*="sgpb-popup-close-button"]{
  top:12px!important;right:12px!important;width:30px!important;height:30px!important;z-index:5!important}
@media (max-width:560px){[class*="sgpb-popup-builder-content"],.sgpb-main-html-content-wrapper{padding:22px 16px 16px!important}
  .sgpb-popup-dialog-main-div,[class*="sgpb-popup-dialog-main-div"]:not(.sgpb-popup-dialog-main-div-wrapper){border-radius:18px!important}}

/* ---------- Success celebration ---------- */
.snp-cel{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background:rgba(29,22,18,0);overflow:hidden;transition:background .4s;font-family:"DM Sans",Inter,sans-serif}
.snp-cel.is-on{background:rgba(29,22,18,.55)}
.snp-cel__card{position:relative;z-index:3;width:min(440px,90vw);padding:34px 28px 26px;text-align:center;border-radius:24px;
  background:radial-gradient(300px 160px at 50% 0%,rgba(232,207,138,.35),transparent 70%),linear-gradient(180deg,#fffdf8,#f7efe2);
  border:1px solid rgba(184,146,74,.4);box-shadow:0 40px 90px -30px rgba(0,0,0,.6);transform:scale(.7);opacity:0;transition:transform .55s cubic-bezier(.2,1.4,.4,1),opacity .35s}
.snp-cel.is-on .snp-cel__card{transform:scale(1);opacity:1}
.snp-cel__ring{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#fff;
  background:linear-gradient(135deg,#c9a46a,#e8cf8a 50%,#b8924a);box-shadow:0 0 0 8px rgba(232,207,138,.25),0 12px 26px -10px rgba(184,146,74,.9);animation:snpPop .6s .25s both}
.snp-cel__card .snp-cel__eyebrow{margin:0 0 8px!important;font:600 11px/1 "DM Sans",sans-serif!important;letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:#b8924a!important}
.snp-cel__card h3{margin:0 0 8px;font:500 28px/1.15 "Cormorant Garamond",Georgia,serif;color:#3f3128}
.snp-cel__card p{margin:0;color:#6b5d52;font-size:15px;line-height:1.5}
.snp-cel__wa{margin-top:16px!important;font-size:13px!important;color:#8f9b7c!important;letter-spacing:.06em}
.snp-dots i{font-style:normal;animation:snpDot 1.2s infinite}.snp-dots i:nth-child(2){animation-delay:.2s}.snp-dots i:nth-child(3){animation-delay:.4s}
.snp-cel__btn{display:inline-block;margin-top:14px;padding:12px 22px;border-radius:999px;background:#25d366;color:#fff!important;font-weight:600;font-size:14px;text-decoration:none!important}
.snp-bal{position:absolute;bottom:-140px;z-index:2;width:calc(56px*var(--s));height:calc(70px*var(--s));animation:snpRise 3.6s ease-in forwards}
.snp-bal::before{content:"";position:absolute;inset:0;border-radius:50% 50% 48% 48%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.8) 0 8%,transparent 22%),var(--c);box-shadow:inset -6px -8px 14px rgba(0,0,0,.12)}
.snp-bal i{position:absolute;left:50%;top:100%;width:1px;height:60px;background:rgba(255,255,255,.6)}
.snp-spk{position:absolute;left:50%;top:50%;z-index:4;width:8px;height:8px;margin:-4px;background:#f6e3a6;
  clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:0;animation:snpBurst 1.1s ease-out forwards}
@keyframes snpRise{0%{transform:translateY(0) rotate(-4deg);opacity:1}50%{transform:translateY(-60vh) rotate(4deg)}85%{opacity:1}100%{transform:translateY(-120vh) rotate(-3deg);opacity:0}}
@keyframes snpBurst{0%{transform:translate(0,0) scale(.3);opacity:1}100%{transform:translate(var(--x),var(--y)) scale(1.2);opacity:0}}
@keyframes snpPop{0%{transform:scale(0)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes snpDot{0%,100%{opacity:.2}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.snp-bal,.snp-spk{display:none}}

/* contact page card already styled by snp.css; drop the old CF7 grid rules inside */
.snp-ct .snp-lf{margin-top:4px}
.snp-lf select:invalid{color:#b0a499}.snp-lf select option{color:#3f3128}
/* compact mobile: short fields side by side, smaller labels */
@media (max-width:560px){
  .snp-lf__grid{grid-template-columns:1fr 1fr;gap:9px 10px}
  .snp-lf__grid>.snp-lf__f:nth-child(1),.snp-lf__grid>.snp-lf__f:nth-child(2),.snp-lf__grid>.snp-lf__f:nth-child(3),.snp-lf__f--full{grid-column:1/-1}
  .snp-lf__grid>.snp-lf__f.snp-lf__f--full:nth-child(7){grid-column:auto}
  .snp-lf__f>span:first-child{font-size:10px;letter-spacing:.1em}
  .snp-lf input,.snp-lf select{height:42px;padding:0 11px;font-size:16px}
  .snp-lf select{padding-right:26px;background-position:calc(100% - 14px) 18px,calc(100% - 9px) 18px}
  .snp-lf textarea{min-height:64px}
  .snp-lf__head{margin-bottom:12px}.snp-lf__title{font-size:26px}.snp-lf__sub{font-size:13px}
  .snp-lf__btn{margin-top:12px;height:48px;font-size:12.5px;letter-spacing:.08em}
  .snp-lf__msg{font-size:11.5px}
}
