/* vivint Products - Shared Responsive Styles */
*{scroll-behavior:smooth;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;margin:0;color:#1f2937;overflow-x:hidden}

/* Responsive Typography */
h1{font-size:clamp(1.75rem,5vw,3.5rem);line-height:1.15}
h2{font-size:clamp(1.5rem,4vw,2.5rem);line-height:1.2}
h3{font-size:clamp(1.125rem,3vw,1.5rem);line-height:1.3}

/* Top Feature Bar - responsive */
.feature-bar{padding:.625rem 1rem}
.feature-bar .feature-item{font-size:.8125rem;white-space:nowrap}
@media(max-width:480px){
  .feature-bar .feature-item{font-size:.75rem}
  .feature-bar{gap:.5rem!important}
}

/* Promo Strip */
.promo-strip{background:linear-gradient(90deg,#00d4aa,#00b894);padding:.75rem 1rem}
.promo-strip p:first-child{font-size:clamp(.9375rem,2.5vw,1.125rem)}
.promo-strip p:nth-child(2){font-size:clamp(.8125rem,2vw,.9375rem)}
.promo-strip p:last-child{font-size:.75rem}

/* Navigation */
.nav-container{height:4rem}
.nav-phone-btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
.mobile-menu-btn{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;padding:.5rem}
.mobile-menu-link{min-height:44px;display:flex;align-items:center;padding:.75rem 0}

/* Hero Sections */
.hero-section{padding:clamp(3rem,8vw,6rem) 1rem;min-height:auto}
@media(min-width:768px){.hero-section{min-height:500px}}
.hero-cta-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;font-size:clamp(.9375rem,2.5vw,1.125rem);white-space:normal;text-align:center}

/* Quote Form */
.quote-card{backdrop-filter:blur(20px)}
.quote-form-input{min-height:44px;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;width:100%;font-size:1rem;outline:none;transition:border-color .2s,box-shadow .2s}
.quote-form-input:focus{border-color:#00d4aa;box-shadow:0 0 0 3px rgba(0,212,170,.15)}
.quote-submit-btn{min-height:48px;width:100%;font-size:1.0625rem}

/* Feature Cards */
.feature-card{padding:clamp(1.25rem,4vw,2rem)}
.feature-card-icon{width:3.5rem;height:3.5rem;min-width:3.5rem}
.feature-learn-more{min-height:44px;display:inline-flex;align-items:center;padding:.5rem 0}

/* Grid Systems */
.grid-responsive-2{display:grid;grid-template-columns:1fr;gap:clamp(1rem,3vw,2rem)}
@media(min-width:640px){.grid-responsive-2{grid-template-columns:repeat(2,1fr)}}
.grid-responsive-3{display:grid;grid-template-columns:1fr;gap:clamp(1rem,3vw,2rem)}
@media(min-width:768px){.grid-responsive-3{grid-template-columns:repeat(3,1fr)}}
.grid-responsive-4{display:grid;grid-template-columns:1fr;gap:clamp(1rem,3vw,2rem)}
@media(min-width:640px){.grid-responsive-4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.grid-responsive-4{grid-template-columns:repeat(4,1fr)}}

/* Content Sections */
.content-section{padding:clamp(3rem,8vw,5rem) 1rem}
.content-grid{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,4rem)}
@media(min-width:768px){.content-grid{grid-template-columns:repeat(2,1fr)}}
.content-image{height:clamp(12rem,30vw,20rem);width:100%;object-fit:cover;border-radius:1rem}
.placeholder-image{height:clamp(12rem,30vw,20rem);display:flex;align-items:center;justify-content:center;border-radius:1rem}

/* Pricing Cards */
.pricing-card{transition:transform .3s ease,box-shadow .3s ease;padding:clamp(1.25rem,4vw,2rem)}
.pricing-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.pricing-badge{position:absolute;top:-1rem;left:50%;transform:translateX(-50%);white-space:nowrap}

/* Testimonials */
.testimonial-track{transition:transform .5s ease}
.testimonial-arrow{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;border-radius:9999px}

/* FAQ */
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer.open{max-height:600px}
.faq-toggle-btn{min-height:48px;display:flex;align-items:center;width:100%;padding:1rem 1.25rem}

/* Cookie Banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;box-shadow:0 -4px 20px rgba(0,0,0,.1);border-top:1px solid #e5e7eb;padding:1rem}
@media(min-width:768px){.cookie-banner{padding:1.5rem}}
.cookie-btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.875rem;border-radius:.5rem}

/* Buttons - universal touch targets */
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.9375rem;border-radius:9999px;cursor:pointer;border:none;transition:background-color .2s,transform .1s}
.btn:active{transform:scale(.97)}
.btn-primary{background:#00d4aa;color:#fff;font-weight:600}
.btn-primary:hover{background:#00b894}
.btn-secondary{background:rgba(255,255,255,.1);color:#fff;font-weight:600;border:1px solid rgba(255,255,255,.2)}
.btn-secondary:hover{background:rgba(255,255,255,.2)}
.btn-outline{background:#f3f4f6;color:#1a1a2e;font-weight:600}
.btn-outline:hover{background:#e5e7eb}

/* Images */
.responsive-img{max-width:100%;height:auto;display:block}

/* Utility */
.section-title{text-align:center;margin-bottom:.5rem}
.section-subtitle{text-align:center;color:#6b7280;margin-bottom:clamp(2rem,5vw,3rem)}
.text-balance{text-wrap:balance}

/* Smooth scroll offset for anchor links */
[id]{scroll-margin-top:5rem}

/* Prevent horizontal overflow */
img,svg,video,canvas{max-width:100%}

/* Mobile product grid fix */
.product-grid-mobile{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
@media(min-width:640px){.product-grid-mobile{grid-template-columns:repeat(4,1fr)}}
@media(min-width:1024px){.product-grid-mobile{grid-template-columns:repeat(7,1fr)}}
.product-grid-mobile .product-item:last-child:nth-child(odd){grid-column:1/-1;max-width:50%;margin:0 auto}
@media(min-width:640px){.product-grid-mobile .product-item:last-child:nth-child(odd){grid-column:auto;max-width:none;margin:0}}

/* Dropdown navigation */
.nav-dropdown{position:absolute;top:100%;left:0;margin-top:.5rem;width:12rem;background:#fff;border-radius:.5rem;box-shadow:0 10px 30px rgba(0,0,0,.12);border:1px solid #e5e7eb;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.nav-group:hover .nav-dropdown{opacity:1;visibility:visible}
.nav-dropdown a{display:block;padding:.75rem 1rem;font-size:.875rem;color:#374151;min-height:44px;display:flex;align-items:center}
.nav-dropdown a:hover{background:#f9fafb}

/* As Seen In logos */
.press-logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(1.5rem,4vw,3rem)}
.press-logo{font-size:clamp(1rem,2.5vw,1.5rem);font-weight:900;color:#1f2937;opacity:.6}

/* Resource cards */
.resource-card{display:flex;flex-direction:column;height:100%}
.resource-card-image{height:clamp(10rem,20vw,12rem);display:flex;align-items:center;justify-content:center;border-radius:.75rem .75rem 0 0}
@media(min-width:768px){.resource-card-horizontal{flex-direction:row}.resource-card-horizontal .resource-card-image{width:16rem;height:auto;border-radius:.75rem 0 0 .75rem}}

/* Camera product cards */
.camera-card-image{height:clamp(10rem,25vw,16rem);display:flex;align-items:center;justify-content:center;border-radius:1rem 1rem 0 0}

/* Why Choose icons */
.why-icon{width:4rem;height:4rem;min-width:4rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;margin:0 auto 1rem}

/* Payment plan items */
.payment-option{padding:clamp(1rem,3vw,1.5rem)}

/* Footer */
.footer-link{min-height:36px;display:flex;align-items:center}

/* Animation */
.animate-fade-in{animation:fadeIn .6s ease forwards}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* Print styles */
@media print{
  .cookie-banner,.promo-strip,.feature-bar,.call-now-fab{display:none}
  body{color:#000}
  a{text-decoration:underline}
}

/* Fixed Call Now Button */
.call-now-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:40;display:flex;align-items:center;gap:.5rem;background:#00d4aa;color:#fff;font-weight:700;font-size:.9375rem;padding:.875rem 1.25rem;border-radius:9999px;box-shadow:0 8px 30px rgba(0,212,170,.45);text-decoration:none;min-height:48px;transition:transform .2s,box-shadow .2s,background .2s;animation:fabPulse 2.5s ease-in-out infinite}
.call-now-fab:hover{background:#00b894;transform:scale(1.05);box-shadow:0 10px 35px rgba(0,212,170,.55);animation:none}
.call-now-fab:active{transform:scale(.97)}
.call-now-fab svg{width:1.25rem;height:1.25rem;flex-shrink:0}
.call-now-fab .fab-label{white-space:nowrap}
@media(max-width:480px){.call-now-fab{bottom:1rem;right:1rem;padding:.75rem 1rem;font-size:.875rem}}
@media(min-width:768px){.call-now-fab{bottom:2rem;right:2rem}}
@keyframes fabPulse{0%,100%{box-shadow:0 8px 30px rgba(0,212,170,.45)}50%{box-shadow:0 8px 30px rgba(0,212,170,.45),0 0 0 8px rgba(0,212,170,.12)}}
