/*
Theme Name: Aluminum Windows UAE
Theme URI:
Author:
Description: Custom one-page landing site for Aluminum Windows UAE
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: alumwindows
*/

  @font-face{
    font-family: 'Gilroy';
    src: url(assets/fonts/gilroy-font/gilroy-font.woff) format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
  }
  :root{
    --red: #E8392F;
    --black: #14141a;
    --gray-bg: #f2f2f3;
    --gray-pill: #ececee;
    --gray-text: #6b6b70;
    --whatsapp: #25D366;
    --font-display: 'Times New Roman', Times, serif;
    --font-heading: 'Gilroy', -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-body: -apple-system, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  }
  *{ box-sizing: border-box; margin:0; padding:0; }
  html{ scroll-behavior: smooth; }
  html,body{ width:100%; overflow-x:hidden; }
  body{ font-family: var(--font-body); color: var(--black); background:#fff; }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }

  /* HEADER */
  header{
    display:flex; align-items:center; justify-content:space-between;
    padding: 22px 64px; border-bottom: 1px solid #ececec;
  }
  .logo{ display:flex; align-items:center; gap:10px; }
  .logo-svg{ height:42px; width:auto; display:block; }
  nav{ display:flex; align-items:center; gap:40px; }
  nav a{ font-size:13px; font-weight:600; letter-spacing:0.03em; white-space:nowrap; }
  nav a.our-work{
    font-family: var(--font-display); font-style: italic; font-weight:400; color: var(--red);
    border: 1px solid var(--red); border-radius: 999px; padding: 8px 22px; font-size:15px;
    text-transform: uppercase;
  }
  .search-icon{ width:20px; height:20px; flex-shrink:0; }

  /* HERO */
  .pills{ display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top: 24px; }
  .pill{ background: var(--gray-pill); color: #3a3a3f; font-size: 13px; font-weight:600; padding: 9px 18px; border-radius: 999px; white-space:nowrap; }

  .btn-row{ display:flex; flex-direction:column; gap:14px; width:fit-content; position:static; margin-top:32px; grid-column:1; }
  .btn-whatsapp{
    background: var(--whatsapp); color:#fff; border-radius: 999px; padding: 14px 30px;
    font-family: var(--font-display); font-style: italic; font-size: 16px; text-align:center;
  }

  @media (max-width: 900px){
    header{ padding: 18px 24px; } nav{ gap:18px; } nav a{ font-size:11px; }
    nav a.our-work{ padding:6px 14px; font-size:13px; }
    .pills{ justify-content:flex-start; }
    .btn-row{ position:static; transform:none; margin-top:24px; margin-left:auto; margin-right:auto; align-items:center; }
  }

  /* HERO V2 (concept) */
  .hero-v2{ padding: 100px 0 90px 0; background: var(--gray-bg); position:relative; overflow:hidden; }
  .hero-v2-content{ position:relative; z-index:2; max-width:50%; }
  .hero-v2-btns{ position:relative; z-index:2; margin-top:56px; }
  .hero-v2-badge{
    display:block; font-family: var(--font-display); font-style:italic; font-weight:400;
    color: var(--red); font-size: 22px; margin-bottom: 10px;
  }
  .hero-v2-content h1{
    font-family: var(--font-heading); font-weight:800; font-size: clamp(32px,4.2vw,52px);
    line-height:1.08; letter-spacing:-0.02em; color: var(--black); margin-bottom:20px;
  }
  .hero-v2-content .pills{ justify-content:flex-start; margin-bottom:20px; }
  .hero-v2-text{ font-size:18px; line-height:1.55; color: var(--gray-text); max-width:460px; margin-bottom:0; }
  .hero-v2-image{
    position:absolute; z-index:1; pointer-events:none;
    left:32%; right:0; bottom:0; height:600px;
  }
  .hero-v2-image img{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:contain; object-position:right bottom; display:block;
    filter: drop-shadow(0 24px 40px rgba(20,20,26,0.18));
  }
  .btn-outline-red{
    background:transparent; border:1px solid var(--red); color:var(--red); border-radius:999px; padding:16px 30px;
    font-family: var(--font-display); font-style:italic; font-size:17px; text-align:center; text-decoration:none; cursor:pointer;
  }

  @media (max-width: 900px){
    .hero-v2{ padding:56px 0; }
    .hero-v2-content{ text-align:center; max-width:100%; }
    .hero-v2-content .pills{ justify-content:center; }
    .hero-v2-text{ margin-left:auto; margin-right:auto; }
    .hero-v2-image{
      position:relative; left:auto; right:auto; top:auto; bottom:auto;
      height:260px; margin:28px 0; transform:none;
    }
    .hero-v2-image img{ object-position:center bottom; }
    .hero-v2-btns{
      display:flex; flex-direction:column; align-items:stretch;
      width:100%; max-width:320px; margin:0 auto;
    }
  }

  @media (max-width: 480px){
    header{ padding: 14px 16px; flex-wrap:wrap; row-gap:12px; }
    nav{ gap:14px; width:100%; justify-content:center; }
    nav a{ font-size:11px; white-space:nowrap; }
    nav a.our-work{ padding:5px 12px; font-size:11px; }
    .logo-svg{ height:34px; }
  }

  /* WHY US */
  .wrap{ max-width:1320px; margin:0 auto; padding: 0 64px; }
  .why-us-section{ padding: 100px 0 90px 0; position:relative; overflow:hidden; }
  .why-us-bg{
    position:absolute; top:120px; left:50%; transform:translateX(-50%);
    width:100%; max-width:1735px; pointer-events:none; z-index:0; opacity:0.9;
  }
  .why-us-bg img{ width:100%; height:auto; }
  .eyebrow-row{ text-align:center; position:relative; z-index:1; }
  .eyebrow{
    display:inline-block; border:1px solid #cfcfcf; color:var(--black);
    font-size:13px; font-weight:600; padding:8px 20px; border-radius:999px; margin-bottom:24px;
  }
  .why-us-heading{
    text-align:center; font-family: var(--font-heading); font-weight:800;
    font-size: clamp(30px, 4vw, 52px); line-height:1.1; letter-spacing:-0.02em;
    max-width:900px; margin:0 auto 24px auto; position:relative; z-index:1;
  }
  .why-us-sub{
    text-align:center; font-size:19px; color:var(--gray-text); line-height:1.5;
    max-width:640px; margin: 0 auto 56px auto; position:relative; z-index:1;
  }
  .why-grid{
    display:grid; grid-template-columns: repeat(4,1fr); gap:24px; position:relative; z-index:1;
  }
  .why-card{ background: var(--gray-bg); border-radius:18px; padding:28px; }
  .why-num{
    display:inline-block; background: var(--red); color:#fff; font-family: var(--font-display);
    font-style:italic; font-size:15px; font-weight:600; padding:6px 12px; border-radius:6px; margin-bottom:32px;
  }
  .why-card h3{ font-size:17px; font-weight:700; margin-bottom:10px; }
  .why-card p{ font-size:14px; color:var(--gray-text); line-height:1.5; }

  @media (max-width: 900px){
    .wrap{ padding: 0 24px; }
    .why-grid{ grid-template-columns: 1fr 1fr; }
    .why-us-bg{ display:none; }
  }
  @media (max-width: 560px){
    .why-grid{ grid-template-columns: 1fr; }
  }

  /* OUR TEAM */
  .team-section{ padding: 20px 0 100px 0; }
  .team-pills{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:48px; }
  .team-content{ display:grid; grid-template-columns: 1.6fr 1fr; gap:40px; align-items:stretch; }
  .team-photo{ border-radius:20px; overflow:hidden; }
  .team-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
  .team-facts{ display:flex; flex-direction:column; justify-content:space-between; }
  .team-fact h3{ font-size:22px; font-weight:700; margin-bottom:12px; }
  .team-fact p{ font-size:15px; color:var(--gray-text); line-height:1.6; }

  @media (max-width: 900px){
    .team-content{ grid-template-columns: 1fr; }
    .team-facts{ gap:32px; margin-top:8px; }
    .team-photo{ aspect-ratio: 4/3; }
  }

  /* OUR WORK */
  .work-section{ padding: 20px 0 100px 0; overflow:hidden; }
  .work-slider-wrap{
    position:relative; width:100vw; box-sizing:border-box;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
    padding:0 64px;
  }
  .work-slider-wrap .slider-row{ position:relative; gap:0; }
  .work-slider-wrap .work-slider{ width:100%; }
  .work-slider-wrap .slider-arrow{
    position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  }
  .work-slider-wrap .slider-arrow:first-child{ left:8px; }
  .work-slider-wrap .slider-arrow:last-child{ right:8px; }
  .work-slider{
    display:flex; gap:24px; overflow-x:auto; scroll-snap-type: x mandatory;
    scroll-behavior:smooth; padding-bottom:8px; padding-right:64px;
    -ms-overflow-style:none; scrollbar-width:none;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 80px), transparent 100%);
    mask-image: linear-gradient(to right, #000 calc(100% - 80px), transparent 100%);
  }
  .work-slider::-webkit-scrollbar{ display:none; }
  .work-card{
    flex: 0 0 270px; aspect-ratio: 3/4; border-radius:18px; position:relative;
    scroll-snap-align:start; overflow:hidden; display:flex; align-items:center; justify-content:center;
    background: linear-gradient(145deg, #e2e2e6, #c7c7cf);
  }
  .work-card svg.window-icon{ opacity:0.35; width:40%; height:40%; }
  .play-btn{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    width:60px; height:60px; border-radius:50%; background:var(--red); cursor:pointer;
    display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(0,0,0,0.15);
  }
  .work-dots{ display:flex; justify-content:center; gap:8px; margin-top:28px; }
  .work-dots .dot{ height:6px; border-radius:999px; background:#e2e2e6; }
  .work-dots .dot.active{ width:40px; background: var(--black); }
  .work-dots .dot:not(.active){ width:20px; }
  .slider-arrow{
    width:44px; height:44px; border-radius:50%; border:1px solid #e2e2e6;
    background:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer;
    flex-shrink:0; user-select:none;
  }
  .slider-arrow:hover{ background: var(--gray-bg); }
  .slider-row{ display:flex; align-items:center; gap:16px; }

  @media (max-width: 900px){
    .work-slider-wrap{ padding:0 24px; }
  }

  @media (max-width: 560px){
    .work-card{ flex-basis:220px; }
  }

  /* SERVICES */
  .services-section{ padding: 20px 0 100px 0; }
  .services-grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:24px; }
  .service-card{ border:1px solid #ececee; border-radius:18px; overflow:hidden; }
  .service-card .img{ aspect-ratio: 4/3; }
  .service-card .img img{ width:100%; height:100%; object-fit:cover; display:block; }
  .service-card .content{ padding:24px; background: var(--gray-bg); }
  .service-card h3{ font-size:18px; font-weight:700; margin-bottom:10px; }
  .service-card p{ font-size:14px; color:var(--gray-text); line-height:1.5; min-height:44px; margin-bottom:20px; }
  .price-btn{
    display:block; width:100%; text-align:center; border:1px solid var(--red); color:var(--red);
    border-radius:999px; padding:14px; font-family: var(--font-display); font-style:italic;
    font-size:15px; text-decoration:none; background:transparent; cursor:pointer;
  }

  @media (max-width: 900px){
    .services-grid{ grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 560px){
    .services-grid{ grid-template-columns: 1fr; }
  }

  /* OPENING SYSTEMS */
  .opening-section{ padding: 20px 0 100px 0; overflow:hidden; }
  .opening-slider{
    display:flex; gap:24px; overflow-x:auto; scroll-snap-type: x mandatory;
    scroll-behavior:smooth; padding-bottom:8px;
    -ms-overflow-style:none; scrollbar-width:none;
  }
  .opening-slider::-webkit-scrollbar{ display:none; }
  .opening-card{
    flex: 0 0 280px; scroll-snap-align:start; border-radius:18px; overflow:hidden;
  }
  .opening-card img{ width:100%; height:auto; display:block; }

  /* SOUNDPROOFING */
  .sound-section{ padding: 20px 0 100px 0; }
  .sound-headline{
    text-align:center; font-family: var(--font-heading); font-weight:800;
    font-size: clamp(28px, 3.6vw, 46px); margin-bottom: 24px;
  }
  .sound-sub{
    text-align:center; font-size:19px; line-height:1.6; color:var(--black);
    max-width:820px; margin: 0 auto 28px auto;
  }
  .sound-sub em{
    font-family: var(--font-display); font-style: italic; color: var(--red); font-weight:400;
  }
  .sound-compare-row{ text-align:center; margin-bottom:56px; }
  .sound-compare-bar{
    display:inline-block; background: var(--red); color:#fff; font-size:14px; font-weight:600;
    padding: 12px 28px; border-radius:999px;
  }
  .sound-grid3{
    display:grid; grid-template-columns: 1fr 1.1fr 1fr; gap:32px; align-items:start; margin-bottom:24px;
  }
  .sound-col{ display:flex; flex-direction:column; gap:56px; }
  .sound-col h3{ font-size:19px; font-weight:700; margin-bottom:10px; }
  .sound-col p{ font-size:14.5px; color:var(--gray-text); line-height:1.55; }
  .sound-photo{ border-radius:18px; overflow:hidden; }
  .sound-photo img{ width:100%; height:100%; object-fit:cover; display:block; }

  .sound-cards{ display:grid; grid-template-columns: 1fr 1fr; gap:24px; }
  .sound-cta-card{
    background: var(--gray-bg); border-radius:20px; padding:40px; display:flex;
    flex-direction:column; align-items:flex-start;
  }
  .sound-ear-icon{
    width:64px; height:64px; border-radius:50%; border:1.5px solid var(--red);
    display:flex; align-items:center; justify-content:center; margin-bottom:32px;
    align-self:center;
  }
  .sound-cta-card h4{ font-size:24px; font-weight:700; line-height:1.3; margin-bottom:32px; align-self:stretch; text-align:center; }
  .sound-btn-outline{
    display:block; align-self:stretch; box-sizing:border-box; border:1px solid var(--red); color:var(--red); border-radius:999px;
    padding:14px 26px; font-family: var(--font-display); font-style:italic; font-size:15px;
    text-decoration:none; text-align:center;
  }

  .sound-stat-card{ background: var(--gray-bg); border-radius:20px; padding:40px; }
  .sound-stat-card h4{ font-size:22px; font-weight:700; margin-bottom:12px; }
  .sound-stat-label{ font-size:15px; color:var(--gray-text); margin-bottom:6px; }
  .sound-big-num{
    font-family: var(--font-display); font-style:italic; color: var(--red);
    font-size:42px; margin-bottom:6px;
  }
  .sound-tested{ font-size:12.5px; color:var(--gray-text); margin-bottom:24px; padding-bottom:24px; border-bottom:1px solid #e2e2e6; }
  .sound-reduction-title{ font-size:17px; font-weight:700; margin-bottom:20px; }
  .sound-scale-labels{ display:flex; justify-content:space-between; font-size:12px; margin-bottom:6px; }
  .sound-scale-labels span small{ display:block; color:var(--gray-text); font-size:11px; font-weight:400; }
  .sound-slider-track{
    position:relative; height:2px; background:#d8d8dc; border-radius:2px; margin:14px 0 28px 0;
  }
  .sound-slider-dot{
    position:absolute; right:0; top:50%; transform:translate(50%,-50%);
    width:16px; height:16px; border-radius:50%; background: var(--red);
  }
  .sound-icon-row{ display:flex; justify-content:space-between; text-align:center; }
  .sound-icon-row div{ font-size:12px; color:var(--gray-text); }
  .sound-icon-row svg{ margin-bottom:6px; }

  @media (max-width: 900px){
    .sound-grid3{ grid-template-columns: 1fr; }
    .sound-col{ flex-direction:row; flex-wrap:wrap; gap:24px; }
    .sound-col > div{ flex:1 1 260px; }
    .sound-cards{ grid-template-columns: 1fr; }
  }

  /* REVIEWS */
  .reviews-section{ padding: 20px 0 100px 0; overflow:hidden; }
  .reviews-slider{
    display:flex; gap:24px; overflow-x:auto; scroll-snap-type: x mandatory;
    scroll-behavior:smooth; padding-bottom:8px;
    -ms-overflow-style:none; scrollbar-width:none;
  }
  .reviews-slider::-webkit-scrollbar{ display:none; }
  .review-card{ background: var(--gray-bg); border-radius:20px; padding:28px; flex: 0 0 380px; scroll-snap-align:start; }
  .review-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:22px; }
  .review-stars{ color:#f5c518; font-size:19px; letter-spacing:3px; }
  .google-logo{ font-size:20px; font-weight:700; font-family: Arial, sans-serif; }
  .google-logo .g1{ color:#4285F4; }
  .google-logo .o1{ color:#EA4335; }
  .google-logo .o2{ color:#FBBC05; }
  .google-logo .g2{ color:#4285F4; }
  .google-logo .l{ color:#34A853; }
  .google-logo .e{ color:#EA4335; }
  .review-card p{ font-size:15.5px; line-height:1.55; color:var(--black); margin-bottom:28px; }
  .review-bottom{ display:flex; justify-content:space-between; align-items:baseline; }
  .review-author{ font-size:15px; font-weight:700; }
  .review-loc{ font-size:14px; color:var(--gray-text); }

  @media (max-width: 560px){
    .review-card{ flex-basis:280px; }
  }

  /* REPAIR SERVICE */
  .repair-section{ padding: 20px 0 100px 0; }
  .repair-tags{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin: 40px 0 48px 0; }
  .repair-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:24px; margin-bottom:24px; }
  .repair-card{ background: var(--gray-bg); border-radius:18px; padding:28px; }
  .repair-num{
    display:inline-block; background: var(--red); color:#fff; font-family: var(--font-display);
    font-style:italic; font-size:15px; font-weight:600; padding:6px 12px; border-radius:6px; margin-bottom:32px;
  }
  .repair-card h3{ font-size:19px; font-weight:700; margin-bottom:14px; min-height:52px; }
  .repair-card p{ font-size:14px; color:var(--gray-text); line-height:1.55; }
  .repair-photos{ display:grid; grid-template-columns: 1fr 1fr; gap:24px; margin-bottom:24px; }
  .repair-photos img{ width:100%; height:100%; object-fit:cover; border-radius:18px; display:block; aspect-ratio: 4/3; }
  .repair-cta{
    display:block; text-align:center; border:1px solid var(--red); color:var(--red);
    border-radius:999px; padding:18px; font-family: var(--font-display); font-style:italic;
    font-size:17px; text-decoration:none;
  }

  @media (max-width: 900px){
    .repair-grid{ grid-template-columns: 1fr 1fr; }
    .repair-photos{ grid-template-columns: 1fr; }
  }
  @media (max-width: 560px){
    .repair-grid{ grid-template-columns: 1fr; }
  }

  /* HOW IT WORKS */
  .how-section{ padding: 20px 0 100px 0; }
  .how-grid{ display:grid; grid-template-columns: repeat(4,1fr); gap:32px; text-align:center; margin-top:64px; }
  .how-num{
    font-family: var(--font-display); font-style:italic; font-weight:400;
    font-size:34px; margin-bottom:22px; color:var(--black);
  }
  .how-step h3{ font-size:20px; font-weight:700; margin-bottom:12px; }
  .how-step p{ font-size:14.5px; color:var(--gray-text); line-height:1.5; }

  @media (max-width: 900px){
    .how-grid{ grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 560px){
    .how-grid{ grid-template-columns: 1fr; }
  }

  /* GALLERY SLIDER */
  .gallery-section{ padding: 20px 0 100px 0; overflow:hidden; }
  .gallery-slider{
    display:flex; gap:24px; overflow-x:auto; scroll-snap-type: x mandatory;
    scroll-behavior:smooth; padding-bottom:8px;
    -ms-overflow-style:none; scrollbar-width:none;
  }
  .gallery-slider::-webkit-scrollbar{ display:none; }
  .gallery-card{
    flex: 0 0 300px; aspect-ratio: 380/510; border-radius:18px; overflow:hidden;
    scroll-snap-align:start;
  }
  .gallery-card img{ width:100%; height:100%; object-fit:cover; display:block; }

  @media (max-width: 560px){
    .gallery-card{ flex-basis:220px; }
  }

  /* FINAL CTA */
  .final-cta-section{ padding: 20px 0 100px 0; }
  .final-cta{
    position:relative; background: var(--gray-bg); border-radius:24px;
    display:grid; grid-template-columns: 420px 1fr; align-items:center;
    overflow:visible; min-height:340px;
  }
  .final-cta-photo{ position:relative; height:100%; z-index:1; }
  .final-cta-photo img{
    position:absolute; left:0; bottom:0; width:100%; max-width:420px;
  }
  .final-cta-content{ position:relative; z-index:1; padding: 48px 56px 48px 40px; text-align:center; }
  .final-cta-content .eyebrow{ margin-bottom:20px; }
  .final-cta-content h2{ font-size: clamp(26px,3.2vw,40px); font-weight:800; line-height:1.15; margin-bottom:18px; }
  .final-cta-content .sub{ font-size:17px; color:var(--black); margin-bottom:28px; }
  .final-cta-btns{ display:flex; justify-content:center; gap:14px; flex-wrap:wrap; }
  .final-btn-whatsapp{
    background:#25D366; color:#fff; border-radius:999px; padding:14px 26px;
    font-family: var(--font-display); font-style:italic; font-size:16px; text-decoration:none;
  }
  .final-btn-direct{
    border:1px solid var(--red); color:var(--red); border-radius:999px; padding:14px 26px;
    font-family: var(--font-display); font-style:italic; font-size:16px; text-decoration:none;
    background:transparent; cursor:pointer;
  }

  @media (max-width: 900px){
    .final-cta{ grid-template-columns: 1fr; padding-top:60px; }
    .final-cta-photo{ display:none; }
    .final-cta-content{ padding: 24px 24px 40px 24px; }
  }

  /* CONTACT */
  .contact-section{ padding: 20px 0 0 0; }
  .contact-map{
    width:100%; aspect-ratio: 16/7; border:0; display:block; border-radius:20px;
    margin-top:40px; overflow:hidden;
  }
  .contact-map iframe{ width:100%; height:100%; display:block; border:0; }
  .contact-lower{
    display:grid; grid-template-columns: 1fr 1fr 420px; gap:24px;
    padding: 56px 0; align-items:stretch;
  }
  .contact-info-col{ display:flex; flex-direction:column; justify-content:space-between; }
  .contact-info-block{ display:flex; gap:14px; margin-bottom:36px; }
  .contact-info-block:last-child{ margin-bottom:0; }
  .contact-info-col:first-child .contact-info-block{ height:100%; margin-bottom:0; }
  .contact-icon{
    width:34px; height:34px; border-radius:50%; background: var(--red); color:#fff;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .contact-info-block h3{ font-size:19px; font-weight:700; margin-bottom:8px; }
  .contact-info-block p, .contact-info-block a{ font-size:14.5px; color:var(--gray-text); line-height:1.5; text-decoration:none; }
  .contact-address-list{ display:flex; flex-direction:column; justify-content:space-between; height:100%; }
  .contact-address-list p{ margin-bottom:0; }
  .contact-address-list a:hover{ color: var(--red); text-decoration:underline; }

  .contact-form{ background: var(--gray-bg); border-radius:20px; padding:12px; }

  .social-section{ padding: 20px 0 60px 0; }
  .social-section .wrap{ text-align:center; }
  .social-title{ font-size:17px; font-weight:700; margin-bottom:14px; }
  .social-links{ display:flex; justify-content:center; gap:22px; flex-wrap:wrap; }
  .social-links a{ color: var(--red); font-size:14.5px; font-weight:600; text-decoration:none; }
  .contact-form h3{ font-size:16px; font-weight:700; margin-bottom:8px; }
  .contact-form input, .contact-form textarea{
    width:100%; border:1px solid #dcdce0; border-radius:10px; padding:8px 12px; font-size:13px;
    margin-bottom:8px; font-family:inherit; background:#fff;
  }
  .phone-group{ display:flex; gap:8px; margin-bottom:8px; position:relative; }
  .phone-group .phone-number{ flex:1; margin-bottom:0; min-width:0; }

  .phone-code-wrap{ position:relative; flex:0 0 auto; }
  .phone-code-btn{
    display:flex; align-items:center; gap:4px; height:100%; border:1px solid #dcdce0; border-radius:10px;
    padding:8px 8px; font-size:12.5px; font-family:inherit; background:#fff; cursor:pointer; white-space:nowrap;
  }
  .phone-code-btn:hover{ background: var(--gray-bg); }
  .phone-code-caret{ font-size:9px; color:var(--gray-text); margin-left:2px; }
  .phone-code-list{
    display:none; position:fixed; z-index:9999; width:260px;
    background:#fff; border:1px solid #e2e2e6; border-radius:12px; box-shadow:0 12px 30px rgba(20,20,26,0.2);
    overflow:hidden;
  }
  .phone-code-wrap.open .phone-code-list{ display:block; }
  .phone-code-search{
    width:100%; box-sizing:border-box; border:0; border-bottom:1px solid #e2e2e6; padding:10px 12px;
    font-size:13px; font-family:inherit; outline:none;
  }
  .phone-code-options{ max-height:220px; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .phone-code-option{
    display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 12px;
    font-size:13px; cursor:pointer; white-space:nowrap;
  }
  .phone-code-option span:first-child{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .phone-code-option-code{ flex:0 0 auto; color:var(--gray-text); font-size:12px; }
  .phone-code-option:hover{ background: var(--gray-bg); }
  .consent{ display:flex; align-items:center; gap:8px; font-size:11.5px; color:#333; margin-bottom:8px; white-space:nowrap; }
  .consent input[type="checkbox"]{
    appearance:none; -webkit-appearance:none; -moz-appearance:none;
    box-sizing:border-box; width:16px !important; height:16px !important; min-width:16px; max-width:16px;
    padding:0; border:1.5px solid #c7c7cc; margin:0 !important;
    background:#fff; border-radius:4px; cursor:pointer; position:relative;
    display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .consent input[type="checkbox"]:checked{ background:var(--red); border-color:var(--red); }
  .consent input[type="checkbox"]::after{
    content:""; display:none; position:absolute; left:4px; top:1px; width:4px; height:8px;
    border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
  }
  .consent input[type="checkbox"]:checked::after{ display:block; }
  .btn-send{ width:100%; background: var(--red); color:#fff; border:none; border-radius:999px; padding:10px;
    font-family: var(--font-display); font-style:italic; font-size:14px; cursor:pointer; }

  @media (max-width: 900px){
    .contact-lower{ grid-template-columns: 1fr; padding: 40px 0; gap:32px; }
  }

  /* FOOTER */
  footer{
    border-top:1px solid var(--card-border); padding: 32px 0;
  }
  footer .wrap{ align-items:flex-end; }
  footer .logo, footer .foot-links{ align-self:flex-end; }
  footer .foot-links{ display:flex; gap:24px; flex-wrap:wrap; align-items:flex-end; }
  footer a{ text-decoration:none; font-size:12px; color:var(--gray-text); }
  @media (max-width: 560px){
    footer .wrap{ flex-direction:column; align-items:flex-start; }
  }

  /* POPUP / MODAL */
  .aw-modal-overlay{
    position:fixed; inset:0; background:rgba(20,20,26,0.6); z-index:9999;
    display:flex; align-items:center; justify-content:center; padding:20px;
    opacity:0; visibility:hidden; pointer-events:none;
    transition: opacity 0.28s ease, visibility 0s linear 0.28s;
  }
  .aw-modal-overlay.active{
    opacity:1; visibility:visible; pointer-events:auto;
    transition: opacity 0.28s ease, visibility 0s linear 0s;
  }
  .aw-modal{
    background:#fff; border-radius:20px; padding:32px; max-width:420px; width:100%;
    position:relative; max-height:90vh; overflow-y:auto;
    transform: translateY(16px) scale(0.96); opacity:0;
    transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.28s ease;
  }
  .aw-modal-overlay.active .aw-modal{ transform: translateY(0) scale(1); opacity:1; }
  .aw-modal.aw-modal-wide{ max-width:800px; }
  .aw-modal-close{
    position:absolute; top:14px; right:14px; width:32px; height:32px; border-radius:50%;
    border:1px solid #e2e2e6; background:#fff; font-size:18px; line-height:1; cursor:pointer; z-index:10;
  }
  .aw-modal-close:hover{ background: var(--gray-bg); }
  .aw-modal-video{ position:relative; width:100%; aspect-ratio:16/9; border-radius:12px; overflow:hidden; background: var(--gray-bg); }
  .aw-modal-video iframe, .aw-modal-video video{ position:absolute; inset:0; width:100%; height:100%; border:0; }
  .aw-modal .contact-form{ background:transparent; padding:0; }
  .aw-modal-insta{ display:flex; justify-content:center; min-height:200px; }
  .aw-modal-insta blockquote.instagram-media{ margin:0 !important; max-width:100% !important; min-width:280px !important; }

  /* SUCCESS POPUP */
  .aw-success-popup{ text-align:center; padding:12px 0; }
  .aw-success-icon{
    width:64px; height:64px; border-radius:50%; background:var(--red); color:#fff; font-size:28px;
    display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
  }
  .aw-success-popup h3{ font-family: var(--font-heading); font-weight:800; font-size:24px; margin-bottom:12px; color:var(--black); }
  .aw-success-popup p{ font-size:15px; color:var(--gray-text); line-height:1.5; margin-bottom:24px; }
  .aw-error-icon{ background: var(--black); }
  .aw-error-popup .aw-calc-btns{ justify-content:center; }
  .aw-error-popup .aw-calc-btns .btn-outline-red,
  .aw-error-popup .aw-calc-btns .btn-send{ flex:1 1 160px; width:auto; }

  /* CALC POPUP (Get a price / Get in touch / Book a Consultation / Request a repair) */
  .aw-modal.aw-modal-calc{ max-width:1000px; padding:0; border-radius:24px; overflow:hidden; background: var(--gray-bg); }
  .aw-calc-popup{ display:grid; grid-template-columns: 44% 1fr; min-height:520px; }
  .aw-calc-image{ position:relative; background: var(--gray-bg); overflow:hidden; }
  .aw-calc-image img{
    position:absolute; right:0; bottom:0; width:100%; height:100%;
    object-fit:contain; object-position:right bottom; display:block;
  }
  .aw-calc-content{ padding:56px 48px 40px; display:flex; flex-direction:column; justify-content:center; }
  .aw-calc-content h3{
    font-family: var(--font-heading); font-weight:800; font-size:clamp(28px,3.2vw,42px);
    text-align:center; margin-bottom:20px; color: var(--black);
  }
  .aw-calc-desc{ font-size:16px; line-height:1.55; text-align:center; color: var(--black); margin-bottom:32px; }
  .aw-calc-desc em{ font-family: var(--font-display); font-style:italic; }
  .aw-calc-content h4{ font-family: var(--font-heading); font-size:18px; font-weight:800; margin-bottom:14px; }
  .aw-btn-whatsapp-green{ background: var(--whatsapp) !important; }
  .aw-calc-btns{ display:flex; gap:12px; flex-wrap:wrap; }
  .aw-calc-btns .btn-send{ width:auto; flex:1 1 160px; }
  .aw-calc-btns .final-btn-direct{ flex:1 1 160px; }

  .sound-btn-outline.js-open-quote{ background:transparent; cursor:pointer; }
  .repair-cta.js-open-quote{ background:transparent; cursor:pointer; width:100%; }
  .btn-black.js-open-quote{ background:var(--black); border:none; cursor:pointer; }

  @media (max-width: 760px){
    .aw-modal.aw-modal-calc{ max-width:94vw; }
    .aw-calc-popup{ grid-template-columns:1fr; min-height:unset; }
    .aw-calc-image{ height:220px; }
    .aw-calc-content{ padding:32px 24px; }
  }
