/* ============================================================
   Las Vegas Wallpaper Installer — Luxury Wallcoverings
   Burnt Walnut #1E0F09 / Carmine #A31E3A / Soft Porcelain #F2EEE7
   Fonts: DM Serif Display (headings) + Lato (body)
   ============================================================ */

/* ---------- RESET & BASE ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Lato',sans-serif;font-size:16px;line-height:1.7;color:#FBF8F2;background:#1E0F09}
img{max-width:100%;height:auto;display:block}
a{color:#FBF8F2;text-decoration:none;transition:color .25s ease}
a:hover{color:#A31E3A}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:'DM Serif Display',serif;font-weight:400;line-height:1.25;color:#FBF8F2}
h1{font-size:clamp(2rem,5vw,3.2rem);margin-bottom:.6em}
h2{font-size:clamp(1.5rem,3.5vw,2.2rem);margin-bottom:.5em}
h3{font-size:clamp(1.15rem,2.5vw,1.5rem);margin-bottom:.4em}
p{margin-bottom:1em}

/* ---------- UTILITY ---------- */
.container{width:92%;max-width:1200px;margin:0 auto}
.content-section{padding:64px 0}
.content-section > .container,
.content-section > section{padding-inline:clamp(14px,2vw,28px)}
.content-section + .content-section{padding-top:clamp(24px,3vw,40px)}
.section-light{background:#F2EEE7;color:#2A1F1B}
.section-light h1,.section-light h2,.section-light h3{color:#2A1F1B}
.section-light a{color:#A31E3A}
.section-light a:hover{color:#1E0F09}
.text-center{text-align:center}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;height:56px;padding:0 36px;font-family:'Lato',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:none;border-radius:11px;cursor:pointer;transition:all .3s ease}
.btn-primary{background:#A31E3A;color:#FBF8F2;box-shadow:0 4px 18px rgba(163,30,58,.35)}
.btn-primary:hover{background:#8a1830;color:#FBF8F2;box-shadow:0 6px 24px rgba(163,30,58,.5);transform:translateY(-2px)}
.btn-outline{background:transparent;color:#FBF8F2;border:2px solid #A31E3A}
.btn-outline:hover{background:#A31E3A;color:#FBF8F2}

/* ---------- TOP BAR ---------- */
.top-bar{background:#0F0603;padding:8px 0;font-size:.85rem;border-bottom:1px solid rgba(251,248,242,.08)}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.top-bar a{color:#FBF8F2;opacity:.85}
.top-bar a:hover{opacity:1;color:#A31E3A}
.top-bar-left{display:flex;gap:20px;align-items:center}
.top-bar-right{font-size:.82rem;opacity:.7}

/* ---------- HEADER / NAV ---------- */
.site-header{background:#1E0F09;padding:14px 0;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(251,248,242,.06);backdrop-filter:blur(10px)}
.site-header .container{display:flex;align-items:center;justify-content:space-between}
.logo{font-family:'DM Serif Display',serif;font-size:1.55rem;color:#FBF8F2;white-space:nowrap}
.logo span{color:#A31E3A}
.main-nav{display:flex;align-items:center;gap:4px}
.main-nav>li{position:relative}
.main-nav>li>a,.main-nav>li>button{display:flex;align-items:center;gap:4px;padding:10px 16px;font-family:'Lato',sans-serif;font-size:.95rem;font-weight:600;color:#FBF8F2;background:none;border:none;cursor:pointer;transition:color .25s ease;white-space:nowrap}
.main-nav>li>a:hover,.main-nav>li>button:hover{color:#A31E3A}
.main-nav>li>a.active{color:#A31E3A}
.nav-arrow{font-size:.65rem;transition:transform .3s ease}

/* Dropdown */
.dropdown{position:absolute;top:100%;left:0;min-width:240px;background:#0F0603;border:1px solid rgba(251,248,242,.08);border-radius:10px;padding:8px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .3s ease;z-index:100;box-shadow:0 12px 36px rgba(0,0,0,.5)}
.has-dropdown:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:10px 20px;font-size:.9rem;color:#FBF8F2;transition:all .2s ease}
.dropdown a:hover{background:rgba(163,30,58,.15);color:#A31E3A;padding-left:26px}

/* Mobile toggle */
.mobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.mobile-toggle span{display:block;width:26px;height:2.5px;background:#FBF8F2;border-radius:2px;transition:all .3s ease}

/* ---------- MOBILE NAV ---------- */
.mobile-nav{position:fixed;top:0;right:-100%;width:70%;max-width:420px;height:100vh;background:#0F0603;z-index:2000;padding:24px;overflow-y:auto;transition:right .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.mobile-nav.open{right:0}
.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-shrink:0}
.mobile-nav-close{background:none;border:none;color:#FBF8F2;font-size:1.8rem;cursor:pointer;padding:8px;flex-shrink:0}
.mobile-nav-links{display:flex;flex-direction:column;gap:2px}
.mobile-nav-links>a{padding:14px 16px;font-size:1.05rem;font-weight:600;color:#FBF8F2;border-radius:8px;transition:background .2s ease}
.mobile-nav-links>a:hover{background:rgba(163,30,58,.15)}
.mobile-dropdown-toggle{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:1.05rem;font-weight:600;color:#FBF8F2;background:none;border:none;cursor:pointer;width:100%;border-radius:8px;transition:background .2s ease;font-family:'Lato',sans-serif}
.mobile-dropdown-toggle:hover{background:rgba(163,30,58,.15)}
.mobile-dropdown-content{display:none;padding-left:16px}
.mobile-dropdown-content.open{display:flex;flex-direction:column;gap:2px}
.mobile-dropdown-content a{padding:10px 16px;font-size:.95rem;color:rgba(251,248,242,.8);border-radius:6px;transition:all .2s ease}
.mobile-dropdown-content a:hover{color:#A31E3A;background:rgba(163,30,58,.1)}
.mobile-overlay{position:fixed;inset:0;background:rgba(15,6,3,.7);z-index:1999;opacity:0;visibility:hidden;transition:all .3s ease}
.mobile-overlay.open{opacity:1;visibility:visible}

/* Hide scrollbar on mobile nav */
.mobile-nav::-webkit-scrollbar{display:none}
.mobile-nav{-ms-overflow-style:none;scrollbar-width:none}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:85vh;display:flex;align-items:center;background-size:cover;background-position:center;background-repeat:no-repeat}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,6,3,.88) 0%,rgba(30,15,9,.7) 50%,rgba(15,6,3,.85) 100%)}
.hero .container{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero-content h1{font-size:clamp(2.2rem,5.5vw,3.6rem);margin-bottom:.4em}
.hero-content p{font-size:1.15rem;opacity:.9;margin-bottom:1.5em;max-width:540px}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:1.5em}
.hero-trust{display:flex;gap:24px;flex-wrap:wrap;font-size:.9rem;opacity:.75}
.hero-trust span{display:flex;align-items:center;gap:6px}

/* ---------- HERO FORM (anti-error rule #1) ---------- */
.feedback-form-container{background:rgba(15,6,3,.85);border:1px solid rgba(251,248,242,.1);border-radius:14px;padding:32px 28px;backdrop-filter:blur(8px)}
.feedback-form-container h3{text-align:center;margin-bottom:20px;font-family:'DM Serif Display',serif;font-size:1.4rem;color:#FBF8F2}
.form-row{display:flex;gap:14px;margin-bottom:14px}
.form-group{flex:1;min-width:0;width:100%;max-width:100%}
.form-group input,.form-group textarea{width:100%;max-width:100%;min-width:0;padding:14px 16px;font-family:'Lato',sans-serif;font-size:.95rem;background:rgba(251,248,242,.06);border:1px solid rgba(251,248,242,.12);border-radius:8px;color:#FBF8F2;transition:border-color .25s ease;outline:none}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(251,248,242,.45)}
.form-group input:focus,.form-group textarea:focus{border-color:#A31E3A}
.form-group textarea{min-height:100px;resize:vertical}
.form-submit{text-align:center;margin-top:8px}
.submit-btn{display:inline-flex;align-items:center;justify-content:center;height:54px;padding:0 40px;font-family:'Lato',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#A31E3A;color:#FBF8F2;border:none;border-radius:11px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 18px rgba(163,30,58,.35)}
.submit-btn:hover{background:#8a1830;box-shadow:0 6px 24px rgba(163,30,58,.5);transform:translateY(-2px)}
#form-success{text-align:center;padding:24px;color:#A31E3A;font-weight:600;font-size:1.05rem}

/* ---------- BREADCRUMB ---------- */
.breadcrumb{padding:14px 0;font-size:.85rem;opacity:.65}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.breadcrumb a:hover{color:#A31E3A;opacity:1}

/* ---------- SERVICES CARDS ---------- */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}
.service-card{background:rgba(251,248,242,.04);border:1px solid rgba(251,248,242,.08);border-radius:14px;overflow:hidden;transition:all .35s ease;display:flex;flex-direction:column;height:100%}
.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.3);border-color:rgba(163,30,58,.3)}
.service-card img{width:100%;height:220px;object-fit:cover}
.service-card-body{padding:24px;display:flex;flex-direction:column;flex:1}
.service-card-body h3{margin-bottom:.4em}
.service-card-body p{font-size:.92rem;opacity:.8;margin-bottom:1em}
.service-card-body a{color:#A31E3A;font-weight:600;font-size:.9rem;margin-top:auto}
.service-card-body a:hover{text-decoration:underline}

/* ---------- SERVICE PAGE LAYOUT (anti-error rule #2) ---------- */
.service-hero-img{width:100%;max-height:480px;object-fit:cover;border-radius:14px;margin-bottom:36px}
.service-content{max-width:860px;margin:0 auto}
.service-content h2{margin-top:2em;color:#A31E3A}
.service-content h3{margin-top:1.5em}
.service-content p{font-size:1.02rem;line-height:1.8}
.section-light .service-content h2{color:#A31E3A}

/* ---------- AREA PAGE ---------- */
.area-hero{position:relative;padding:80px 0 60px;text-align:center;background-size:cover;background-position:center}
.area-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,6,3,.85),rgba(30,15,9,.75))}
.area-hero .container{position:relative;z-index:2}
.area-hero h1{margin-bottom:.3em}
.area-hero p{font-size:1.1rem;opacity:.85;max-width:640px;margin:0 auto}
.area-content-img{width:100%;max-height:440px;object-fit:cover;border-radius:14px;margin:32px 0}
.neighborhoods{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 32px}
.neighborhoods span{background:rgba(163,30,58,.12);color:#A31E3A;padding:6px 16px;border-radius:20px;font-size:.88rem;font-weight:600}
.nearby-areas{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 32px}
.nearby-areas a{background:rgba(251,248,242,.06);border:1px solid rgba(251,248,242,.1);padding:8px 20px;border-radius:20px;font-size:.88rem;transition:all .25s ease}
.nearby-areas a:hover{background:#A31E3A;border-color:#A31E3A;color:#FBF8F2}

/* ---------- SERVICE AREAS GRID ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.area-card{background:rgba(251,248,242,.04);border:1px solid rgba(251,248,242,.08);border-radius:12px;padding:28px 24px;transition:all .35s ease}
.area-card:hover{transform:translateY(-4px);border-color:rgba(163,30,58,.3);box-shadow:0 12px 32px rgba(0,0,0,.25)}
.area-card h3{margin-bottom:.3em;font-size:1.15rem}
.area-card p{font-size:.88rem;opacity:.7;margin-bottom:.8em}
.area-card a{color:#A31E3A;font-weight:600;font-size:.88rem}

/* ---------- TESTIMONIALS ---------- */
.testimonials-section{padding:56px 0}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:28px}
.testimonial-item{background:rgba(251,248,242,.04);border:1px solid rgba(251,248,242,.08);border-radius:12px;padding:28px;position:relative}
.testimonial-item::before{content:'\201C';position:absolute;top:12px;left:18px;font-size:3rem;color:rgba(163,30,58,.25);font-family:Georgia,serif;line-height:1}
.testimonial-item p{font-size:.95rem;line-height:1.7;padding-top:24px}
.testimonial-author{font-weight:700;color:#A31E3A;font-size:.88rem;margin-top:12px}
.section-light .testimonial-item{background:#fff;border-color:rgba(42,31,27,.08)}
.section-light .testimonial-item::before{color:rgba(163,30,58,.2)}

/* ---------- FAQ ACCORDION ---------- */
.faq-list{max-width:820px;margin:0 auto}
.faq-item{border:1px solid rgba(251,248,242,.08);border-radius:10px;margin-bottom:12px;overflow:hidden;transition:border-color .3s ease}
.faq-item:hover{border-color:rgba(163,30,58,.2)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:none;border:none;width:100%;font-family:'Lato',sans-serif;font-size:1.02rem;font-weight:600;color:#FBF8F2;cursor:pointer;text-align:left;transition:color .25s ease}
.faq-question:hover{color:#A31E3A}
.faq-question .faq-icon{font-size:1.3rem;transition:transform .3s ease;flex-shrink:0;margin-left:16px}
.faq-item.open .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer-inner{padding:0 24px 20px;font-size:.95rem;line-height:1.75;opacity:.85}
.section-light .faq-item{border-color:rgba(42,31,27,.1)}
.section-light .faq-question{color:#2A1F1B}

/* ---------- CONTACT PAGE (anti-error rule #3) ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.contact-left .feedback-form-container{margin-top:16px;background:rgba(15,6,3,.9);box-shadow:0 8px 32px rgba(0,0,0,.3)}
.contact-info{margin-top:32px}
.contact-info-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.contact-info-icon{width:44px;height:44px;background:rgba(163,30,58,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#A31E3A;font-size:1.2rem}
.contact-info-text h4{font-size:.95rem;margin-bottom:2px;font-family:'Lato',sans-serif;font-weight:700}
.contact-info-text p{font-size:.9rem;opacity:.8;margin-bottom:0}
.contact-map{border-radius:14px;overflow:hidden;height:100%;min-height:480px}
.contact-map iframe{width:100%;height:100%;min-height:480px;border:0}

/* ---------- ABOUT ---------- */
.about-img{width:100%;max-height:440px;object-fit:cover;border-radius:14px;margin:28px 0}
.about-content{max-width:860px;margin:0 auto}
.about-content h2{color:#A31E3A;margin-top:2em}

/* ---------- MAP SECTION (Home) ---------- */
.map-section{padding:56px 0}
.map-section iframe{width:100%;height:400px;border:0;border-radius:14px}

/* ---------- CTA SECTION ---------- */
.cta-section{padding:56px 0;text-align:center}
.cta-section h2{margin-bottom:.4em}
.cta-section p{opacity:.8;margin-bottom:1.5em;max-width:600px;margin-left:auto;margin-right:auto}
.cta-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* ---------- FOOTER ---------- */
.site-footer{background:#0F0603;padding:56px 0 0;border-top:1px solid rgba(251,248,242,.06)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
.footer-col h4{font-family:'DM Serif Display',serif;font-size:1.1rem;margin-bottom:16px;color:#FBF8F2}
.footer-col p{font-size:.88rem;opacity:.7;line-height:1.7}
.footer-col a{display:block;padding:4px 0;font-size:.88rem;opacity:.7;transition:all .25s ease}
.footer-col a:hover{opacity:1;color:#A31E3A;padding-left:4px}
.footer-bottom{border-top:1px solid rgba(251,248,242,.06);padding:20px 0;text-align:center;font-size:.82rem;opacity:.5}

/* ---------- STICKY QUOTE BUTTON ---------- */
.sticky-quote{position:fixed;bottom:28px;right:28px;z-index:900}
.sticky-quote .btn{box-shadow:0 6px 28px rgba(163,30,58,.45);font-size:.9rem;padding:0 28px;height:52px}

/* ---------- MODAL ---------- */
.modal-overlay{position:fixed;inset:0;background:rgba(15,6,3,.8);z-index:3000;opacity:0;visibility:hidden;transition:all .35s ease;display:flex;align-items:center;justify-content:center}
.modal-overlay.open{opacity:1;visibility:visible}
.modal-content{background:#1E0F09;border:1px solid rgba(251,248,242,.1);border-radius:16px;padding:36px 32px;max-width:520px;width:92%;max-height:90vh;overflow-y:auto;position:relative}
.modal-close{position:absolute;top:14px;right:18px;background:none;border:none;color:#FBF8F2;font-size:1.8rem;cursor:pointer;padding:4px;line-height:1;transition:color .25s ease}
.modal-close:hover{color:#A31E3A}
.modal-content .feedback-form-container{background:transparent;border:none;padding:0;backdrop-filter:none}

/* ---------- RESPONSIVE ---------- */
@media(max-width:1024px){
  .hero .container{grid-template-columns:1fr}
  .hero-content{text-align:center}
  .hero-content p{margin-left:auto;margin-right:auto}
  .hero-cta{justify-content:center}
  .hero-trust{justify-content:center}
  .footer-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  body{font-size:17px;line-height:1.8}
  h1{font-size:clamp(2.3rem,10vw,3rem)}
  h2{font-size:clamp(1.9rem,7vw,2.35rem)}
  h3{font-size:clamp(1.35rem,5.5vw,1.7rem)}
  p{font-size:1.04rem}
  .content-section{padding:72px 0}
  .content-section > .container,
  .content-section > section{padding-inline:20px}
  .top-bar{display:none}
  .main-nav{display:none}
  .mobile-toggle{display:flex}
  .mobile-nav{width:min(86vw,420px);padding:28px 22px}
  .mobile-nav-links>a,
  .mobile-dropdown-toggle{padding:16px 18px;font-size:1.12rem}
  .mobile-dropdown-content a{padding:12px 18px;font-size:1rem}
  .hero{min-height:auto;padding:40px 0 24px}
  .hero .container{gap:32px}
  .hero-content h1{font-size:clamp(2.5rem,10vw,3.4rem)}
  .hero-content p{font-size:1.16rem;line-height:1.85}
  .hero-cta{gap:14px}
  .hero-trust{gap:14px 18px;font-size:1rem}
  .feedback-form-container{padding:28px 22px}
  .feedback-form-container h3{font-size:1.65rem}
  .footer-grid{grid-template-columns:1fr}
  .form-row{flex-direction:column;gap:14px}
  .form-group input,.form-group textarea{padding:16px 18px;font-size:1rem}
  .btn,.submit-btn{width:100%;min-height:58px;padding:0 24px;font-size:1rem}
  .service-card-body{padding:26px 22px}
  .service-card-body p,
  .testimonial-item p,
  .faq-answer-inner,
  .contact-info-text p,
  .footer-col p,
  .footer-col a{font-size:1rem}
  .faq-question{padding:22px 20px;font-size:1.08rem}
  .sticky-quote{bottom:16px;right:50%;transform:translateX(50%)}
  .areas-grid{grid-template-columns:1fr 1fr}
  .testimonial-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  body{font-size:18px}
  .container{width:94%}
  .content-section{padding:64px 0}
  .content-section > .container,
  .content-section > section{padding-inline:18px}
  .areas-grid{grid-template-columns:1fr}
  .logo{font-size:1.7rem}
  .hero{padding-top:32px}
  .hero-content h1{font-size:clamp(2.25rem,11vw,2.8rem)}
  .hero-content p{font-size:1.1rem}
  .hero-trust{font-size:.98rem}
  .feedback-form-container{padding:24px 18px}
  .feedback-form-container h3{font-size:1.5rem}
  .btn,.submit-btn{font-size:.98rem}
  .service-card-body h3{font-size:1.45rem}
  .service-card-body a,
  .area-card p,
  .area-card a,
  .testimonial-author,
  .contact-info-text h4{font-size:.98rem}
  .top-bar .container{flex-direction:column;text-align:center}
}
