/* ═══════════════════════════════════════════════════
   Shedlr Enhancements — animations, interactions, polish
   ═══════════════════════════════════════════════════ */

/* ── Scroll reveal animations ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
}

/* ── Hover lift on category cards ── */
.area-grid a{transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease}
.area-grid a:hover{transform:translateY(-6px)}
.area-grid a img{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.area-grid a:hover img{transform:scale(1.06)}

/* ── Trust card hover ── */
.trust-grid article{transition:transform .3s ease,box-shadow .3s ease}
.trust-grid article:hover{transform:translateY(-4px)}

/* ── Step card hover ── */
.steps article{transition:border-color .3s ease,transform .3s ease}
.steps article:hover{transform:translateY(-3px)}

/* ── Button micro-interactions ── */
.primary,.apply,.topbar-cta{transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}
.primary:hover,.apply:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(11,31,51,.18)}
.primary:active,.apply:active{transform:translateY(0)}

/* ── Stats counter animation ── */
.stat-counter{display:inline-block}

/* ── Social proof section ── */
.social-proof{background:#0b1f33;color:#fff;padding:80px 0}
.social-proof .section-head{text-align:center;margin-bottom:48px}
.social-proof .eyebrow{color:#d4af37}
.social-proof h2{color:#fff;font:700 38px 'Cormorant Garamond',serif;margin:8px 0 0}
.social-proof .section-head p{color:#c8cfd8;margin:12px 0 0;max-width:520px;margin-left:auto;margin-right:auto}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:860px){.testimonial-grid{grid-template-columns:1fr}}
.testimonial-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:32px 28px;border-radius:4px}
.testimonial-card .stars{color:#d4af37;font-size:16px;letter-spacing:2px;margin-bottom:16px}
.testimonial-card .quote{font:500 16px/1.6 'Inter',sans-serif;color:#e8edf2;margin:0 0 24px}
.testimonial-card .author{display:flex;align-items:center;gap:12px}
.testimonial-card .avatar{width:42px;height:42px;border-radius:50%;background:#d4af37;display:flex;align-items:center;justify-content:center;font:700 16px 'Inter',sans-serif;color:#0b1f33}
.testimonial-card .author-info strong{display:block;font-size:14px;font-weight:700;color:#fff}
.testimonial-card .author-info small{font-size:12px;color:#8993a0}

/* ── Price calculator ── */
.calculator-section{background:#f7f8fa;padding:72px 0}
.calculator-wrap{max-width:680px;margin:0 auto;background:#fff;border:1px solid #dfe3e7;box-shadow:0 18px 50px rgba(16,32,59,.08);padding:40px 36px}
.calc-header{text-align:center;margin-bottom:32px}
.calc-header h2{font:700 34px 'Cormorant Garamond',serif;margin:0 0 8px}
.calc-header p{color:#66717d;margin:0}
.calc-row{margin-bottom:24px}
.calc-row label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;color:#33404d}
.calc-row select{width:100%;padding:14px;border:1px solid #cfd6da;background:#fff;font:inherit;font-size:15px;cursor:pointer}
.calc-row select:focus{outline:2px solid #0b1f33;outline-offset:1px}
.calc-qty-display{display:flex;align-items:center;gap:16px}
.calc-qty-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:#e5e8eb;border-radius:3px;outline:none}
.calc-qty-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:#0b1f33;cursor:pointer;border:3px solid #d4af37}
.calc-qty-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:#0b1f33;cursor:pointer;border:3px solid #d4af37}
.calc-qty-number{font:700 32px 'Cormorant Garamond',serif;color:#0b1f33;min-width:60px;text-align:center}
.calc-result{margin-top:32px;padding:28px;background:#0b1f33;color:#fff;text-align:center;border-radius:4px}
.calc-result .calc-total{font:700 48px 'Cormorant Garamond',serif;color:#d4af37;line-height:1;margin:8px 0}
.calc-result .calc-per-lead{font-size:13px;color:#8993a0;text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.calc-result .calc-cta{display:inline-block;margin-top:20px;background:#d4af37;color:#0b1f33;padding:14px 32px;font-weight:800;text-decoration:none;border-radius:999px;font-size:15px;transition:transform .15s ease,filter .2s ease}
.calc-result .calc-cta:hover{transform:translateY(-1px);filter:brightness(1.08)}

/* ── Password visibility toggle ── */
.password-field{position:relative}
.password-field input{padding-right:44px}
.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;font-size:18px;color:#8993a0;padding:4px 8px;line-height:1}
.password-toggle:hover{color:#0b1f33}

/* ── Portal/auth background enhancement ── */
.auth-shell{position:relative;overflow:hidden}
.auth-shell::before{content:'';position:absolute;top:-50%;right:-30%;width:500px;height:500px;background:radial-gradient(circle,rgba(212,175,55,.06) 0%,transparent 70%);pointer-events:none}

/* ── FAQ smooth animation ── */
#faqList details{transition:border-color .2s ease}
#faqList details[open]{border-color:#d4af37}
#faqList details summary{transition:color .2s ease}
#faqList details summary:hover{color:#d4af37}

/* ── Footer link hover ── */
.footer-grid ul li a{transition:color .2s ease,padding-left .2s ease}
.footer-grid ul li a:hover{color:#d4af37;padding-left:4px}

/* ── Badge pulse ── */
.hero-image .badge{animation:badgeFloat 3s ease-in-out infinite}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* ── Topbar CTA refine ── */
.topbar-cta{transition:filter .2s ease,transform .15s ease}
.topbar-cta:hover{filter:brightness(1.1)}

/* ── Category label overlay improvement ── */
.area-grid a span{transition:background .3s ease;display:flex;flex-direction:column;align-items:center;gap:4px}
.area-grid a:hover span{background:rgba(212,175,55,.92)}

/* ── Category price badge ── */
.cat-price{font:700 13px 'Inter',sans-serif;background:rgba(255,255,255,.15);padding:3px 10px;border-radius:99px;display:inline-block;margin-top:2px;backdrop-filter:blur(4px)}
.cat-price-deal{background:#d4af37;color:#0b1f33;animation:dealPulse 2s ease-in-out infinite}
@keyframes dealPulse{0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,.6)}50%{box-shadow:0 0 0 6px rgba(212,175,55,0)}}

/* ── Live total on contact form ── */
.live-total{margin:20px 0;padding:20px 24px;background:#0b1f33;color:#fff;display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-radius:4px}
.live-total-label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;color:#8993a0}
.live-total-amount{font:700 36px 'Cormorant Garamond',serif;color:#d4af37;line-height:1}
.live-total-detail{font-size:13px;color:#c8cfd8;margin-left:auto}

/* ── Roll-up-our-sleeves prospecting band ── */
.prospecting-band{background:#0b1f33;color:#fff;padding:90px 0}
.prospecting-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.prospecting-copy h2{font:600 44px 'Cormorant Garamond',serif;color:#fff;margin:10px 0 20px;letter-spacing:-.03em;line-height:1.08}
.prospecting-copy h2 em{color:#d4af37;font-style:normal}
.prospecting-copy p{color:#c8cfd8;font-size:16px;line-height:1.7;max-width:520px}
.prospecting-points{display:flex;flex-direction:column;gap:22px}
.prospecting-points div{display:flex;gap:18px;align-items:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);padding:20px 22px;border-radius:4px}
.prospecting-points b{font:700 22px 'Cormorant Garamond',serif;color:#d4af37;flex:0 0 auto}
.prospecting-points span{color:#e8edf2;font-size:14.5px;line-height:1.6}
@media(max-width:860px){.prospecting-grid{grid-template-columns:1fr}.prospecting-copy h2{font-size:34px}}

/* ── Lead type cards (homepage) ── */
.leadtype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.leadtype-card{display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:36px 30px;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s ease,border-color .3s ease}
.leadtype-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);border-color:#d4af37}
.leadtype-icon{font-size:34px;margin-bottom:18px;display:block}
.leadtype-card h3{font:600 26px 'Cormorant Garamond',serif;color:#fff;margin:0 0 12px}
.leadtype-card p{color:#c8cfd8;font-size:14.5px;line-height:1.7;margin:0 0 22px;flex:1}
.leadtype-cta{color:#d4af37;font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:860px){.leadtype-grid{grid-template-columns:1fr}}

/* ── ZIP code availability checker ── */
.zip-check-block{margin:18px 0 8px;padding:22px;background:#f0f4f8;border:1px solid #dfe3e7;border-radius:4px}
.optional-tag{text-transform:none;letter-spacing:0;font-weight:500;color:#87909b;font-size:12px}
.zip-check-block label{margin-top:0!important}
.zip-check-row{display:flex;gap:10px}
.zip-check-row input{flex:1}
.zip-check-row button{flex:0 0 auto;background:#0b1f33;color:#fff;border:0;padding:0 22px;font-weight:800;font-size:13px;letter-spacing:.03em;cursor:pointer;border-radius:2px;white-space:nowrap}
.zip-check-row button:hover{background:#132a45}
.zip-check-row button:disabled{opacity:.65;cursor:default}
.zip-result{margin-top:14px;font-size:14px;font-weight:700;display:flex;align-items:center;gap:10px;min-height:20px}
.zip-result[hidden]{display:none}
.zip-result.checking{color:#66717d}
.zip-result.available{color:#1f7a4d}
.zip-result.info{color:#526070;font-weight:600}
.zip-spinner{width:14px;height:14px;border:2px solid #cfd6da;border-top-color:#0b1f33;border-radius:50%;display:inline-block;animation:zipSpin .7s linear infinite}
@keyframes zipSpin{to{transform:rotate(360deg)}}
.zip-check{color:#1f7a4d;font-size:16px}

/* ── Vertical / industry landing pages ── */
.claim-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:10px}
.claim-card{background:#fff;border:1px solid #dfe3e7;padding:32px 28px;border-radius:4px}
.claim-card .num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:#0b1f33;color:#d4af37;font:700 16px 'Inter',sans-serif;border-radius:50%;margin-bottom:18px}
.claim-card h3{font:700 19px 'Inter',sans-serif;margin:0 0 10px}
.claim-card p{color:#5f6975;font-size:14px;line-height:1.7;margin:0}

/* ── Stat block with text (non-numeric) value ── */
.stat-small{font-size:44px!important;white-space:nowrap}
@media(max-width:850px){.stat-small{font-size:34px!important}}
@media(max-width:560px){.stat-small{font-size:30px!important}}
.checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px 30px}
.checklist li{padding-left:30px;position:relative;font-size:15px;line-height:1.6;color:#33404d}
.checklist li:before{content:'✓';position:absolute;left:0;top:0;color:#1f7a4d;font-weight:800}
@media(max-width:760px){.claim-grid{grid-template-columns:1fr}.checklist{grid-template-columns:1fr}}

/* ── Logo image ── */
.brand-logo{height:38px;width:auto;display:inline-block;vertical-align:middle}
.footer-logo .brand-logo{height:32px;filter:brightness(0) invert(1)}
.brand-row .brand-logo{height:42px}
.portal-brand .brand-logo{height:40px}
.admin-brand .brand-logo{height:36px}
.admin-tag{font:700 13px 'Inter',sans-serif;color:#8993a0;margin-left:6px;vertical-align:middle}
