﻿* {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Poppins', sans-serif;
      background: #ffffff;
      color: #2b2b2b;
      overflow-x: hidden;
    }

    /* FONDO BLANCO GENERAL */
    .bg-gradient {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #ffffff;
      z-index: -2;
    }

    /* MASCOTAS ANIMADAS EN EL FONDO */
    .floating-pets { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
    .floating-face { position:absolute; display:block; width:88px; height:88px; object-fit:contain; font-size:50px; opacity:.88; filter:drop-shadow(0 4px 8px rgba(75,55,35,.10)); animation:faceFloat 7s ease-in-out infinite; }
    .face-dog { top:7%; left:4%; } .face-cat { top:35%; right:4%; animation-delay:-2s; }
    .face-hamster { top:69%; left:5%; animation-delay:-4s; } .face-bird { top:18%; right:17%; animation-delay:-5s; }
    .face-parrot { top:56%; right:23%; width:52px; height:52px; font-size:36px; animation-delay:-1s; }
    .face-dog-two { top:61%; right:7%; width:76px; height:76px; animation-delay:-3s; }
    .face-cat-two { top:12%; left:36%; width:72px; height:72px; animation-delay:-6s; }
    .face-cat-three { top:40%; left:34%; width:66px; height:66px; animation-delay:-4s; }
    .face-hamster-two { top:87%; left:39%; width:76px; height:76px; animation-delay:-2s; }
    .face-bird-two { top:47%; left:24%; width:58px; height:58px; animation-delay:-5s; }
    .face-dog-three { top:7%; right:6%; width:78px; height:78px; animation-delay:-3s; }
    .face-chick { width:60px; height:60px; font-size:42px; }
    .chick-one { top:24%; left:47%; animation-delay:-1s; }
    .chick-two { top:74%; right:30%; animation-delay:-4s; }
    .chick-three { top:42%; right:38%; animation-delay:-2s; }
    .chick-four { top:90%; right:4%; animation-delay:-5s; }
    .floating-paw { position:absolute; color:#f2a16b; opacity:.30; font-size:30px; animation:pawFloat 6s ease-in-out infinite; }
    .paw-one { top:25%; left:13%; font-size:24px; } .paw-two { top:48%; left:15%; font-size:36px; animation-delay:-2s; }
    .paw-three { top:76%; left:20%; font-size:27px; animation-delay:-4s; } .paw-four { top:30%; right:12%; font-size:34px; animation-delay:-1s; }
    .paw-five { top:63%; right:18%; font-size:24px; animation-delay:-3s; } .paw-six { bottom:9%; right:6%; font-size:38px; animation-delay:-5s; }
    .paw-seven { top:13%; left:23%; font-size:22px; animation-delay:-2.5s; } .paw-eight { top:88%; right:39%; font-size:24px; animation-delay:-1.5s; }
    .paw-nine { top:52%; right:31%; font-size:21px; animation-delay:-4.5s; } .paw-ten { top:39%; left:34%; font-size:25px; animation-delay:-3.5s; }
    .paw-eleven { top:8%; left:58%; font-size:23px; animation-delay:-1s; }
    .paw-twelve { top:18%; left:73%; font-size:30px; animation-delay:-4s; }
    .paw-thirteen { top:35%; left:8%; font-size:29px; animation-delay:-2s; }
    .paw-fourteen { top:45%; right:7%; font-size:26px; animation-delay:-5s; }
    .paw-fifteen { top:57%; left:46%; font-size:22px; animation-delay:-3s; }
    .paw-sixteen { top:68%; right:43%; font-size:32px; animation-delay:-1.5s; }
    .paw-seventeen { top:82%; left:12%; font-size:25px; animation-delay:-4.5s; }
    .paw-eighteen { top:91%; left:66%; font-size:28px; animation-delay:-2.5s; }
    .paw-nineteen { top:4%; left:85%; font-size:21px; animation-delay:-3.5s; }
    .paw-twenty { top:31%; left:56%; font-size:24px; animation-delay:-5.5s; }
    @keyframes faceFloat { 0%,100% { transform:translateY(0) rotate(-7deg); } 50% { transform:translateY(-17px) rotate(7deg); } }
    @keyframes pawFloat { 0%,100% { transform:translateY(0) rotate(-10deg); } 50% { transform:translateY(-12px) rotate(10deg); } }
    @media (prefers-reduced-motion: reduce) { .floating-face, .floating-paw { animation:none !important; } }

    /* HUELLAS FLOTANTES DE FONDO */
    .paw {
      position: fixed;
      animation: floatPaw 10s infinite ease-in-out;
      z-index: 0;
      pointer-events: none;
    }
    .paw-dark { color: rgba(0, 0, 0, 0.08); }
    .paw-orange { color: rgba(216, 67, 21, 0.12); }

    .paw-1 { font-size: 60px; top: 12%; left: 8%; animation-delay: 0s; transform: rotate(-15deg); }
    .paw-2 { font-size: 90px; top: 50%; left: 3%; animation-delay: -3s; transform: rotate(20deg); }
    .paw-3 { font-size: 70px; top: 20%; right: 10%; animation-delay: -5s; transform: rotate(10deg); }
    .paw-4 { font-size: 100px; bottom: 15%; right: 8%; animation-delay: -2s; transform: rotate(-25deg); }

    @keyframes floatPaw {
      0%, 100% { transform: translateY(0) scale(1) rotate(0deg); }
      50% { transform: translateY(-30px) scale(1.08) rotate(8deg); }
    }

    /* BARRA DE NAVEGACIÓN (NAVBAR) CON TONOS NARANJADOS */
    header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 50px;
      background: rgba(216, 67, 21, 0.95);
      backdrop-filter: blur(12px);
      z-index: 1000;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .nav-logo {
      display: flex;
      align-items: center;
      gap: 12px;
      text-decoration: none;
      color: #ffffff;
      font-weight: 700;
      font-size: 20px;
    }

    .nav-logo img {
      width: 45px;
      height: 45px;
      object-fit: contain;
    }

    .nav-menu {
      display: flex;
      align-items: center;
      gap: 30px;
      list-style: none;
    }

    .nav-link {
      color: rgba(255, 255, 255, 0.95);
      text-decoration: none;
      font-weight: 600;
      font-size: 15px;
      transition: color 0.3s ease;
    }

    .nav-link:hover {
      color: #f4f6f8;
    }

    .nav-btn-highlight {
      background: #ffffff;
      color: #d84315 !important;
      padding: 12px 26px;
      border-radius: 30px;
      font-weight: 700;
      font-size: 15px;
      text-decoration: none;
      box-shadow: 0 6px 20px rgba(216, 67, 21, 0.3);
      transition: all 0.3s ease;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      cursor: pointer;
      border: none;
    }

    .nav-btn-highlight:hover {
      transform: translateY(-3px) scale(1.03);
      box-shadow: 0 10px 25px rgba(216, 67, 21, 0.45);
      background: #f4f6f8;
    }

    /* SECCIÓN HERO */
    .hero {
      min-height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 140px 50px 80px 50px;
      background: rgba(255, 253, 251, .32);
      position: relative;
      z-index: 1;
    }

    .hero-container {
      max-width: 1380px;
      width: 100%;
      display: grid;
      grid-template-columns: 1.12fr .88fr;
      gap: 40px;
      align-items: center;
    }

    .hero-text {
      text-align: left;
    }

    .logo-hero {
      display: block;
      max-width: 180px;
      width: 100%;
      height: auto;
      margin-bottom: 15px;
      margin-left: auto;
      margin-right: auto;
      filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.1));
    }

    .hero h1 {
      font-size: 42px;
      font-weight: 800;
      margin-bottom: 18px;
      color: #1f242b;
      line-height: 1.2;
    }

    .hero h1 span {
      color: #d84315;
    }

    .hero p {
      font-size: 17px;
      line-height: 1.7;
      margin-bottom: 30px;
      color: #555555;
    }

    /* CONTENEDOR DE LA IMAGEN ÚNICA CON MULTIMASCOTAS AGRUPADAS */
    .hero-banner-pets-wrapper {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .pets-banner-card {
      width: 100%;
      max-width: 700px;
      background: transparent;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      overflow: hidden;
      position: relative;
    }

    .pets-banner-card img {
      width: 100%;
      height: 500px;
      object-fit: contain;
      display: block;
      transition: transform 0.4s ease;
      object-position: center;
    }

    .pets-banner-card:hover img {
      transform: scale(1.02);
    }

    .badge-pets {
      position: absolute;
      bottom: 15px;
      left: 50%;
      transform: translateX(-50%);
      background: #ffffff;
      padding: 10px 22px;
      border-radius: 50px;
      box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
      display: flex;
      align-items: center;
      gap: 10px;
      font-weight: 700;
      color: #d84315;
      font-size: 14px;
      white-space: nowrap;
    }

    .badge-pets i {
      font-size: 18px;
      color: #ffa726;
    }

    .btn-main {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 18px 36px;
      background: linear-gradient(135deg, #ff7543 0%, #d84315 100%);
      color: #ffffff;
      font-size: 18px;
      font-weight: 700;
      text-decoration: none;
      border-radius: 50px;
      box-shadow: 0 10px 25px rgba(216, 67, 21, 0.3);
      transition: all 0.3s ease;
      cursor: pointer;
      border: none;
      margin-bottom: 25px;
    }

    .btn-main:hover {
      transform: translateY(-4px) scale(1.02);
      box-shadow: 0 15px 30px rgba(216, 67, 21, 0.45);
      background: linear-gradient(135deg, #d84315 0%, #bf360c 100%);
    }

    /* REDES SOCIALES DEBAJO DEL BOTÓN CON COLORES OFICIALES */
    .hero-social {
      display: flex;
      align-items: center;
      gap: 16px;
    }

    .hero-social span {
      font-size: 14px;
      font-weight: 600;
      color: #666666;
    }

    .social-icons-brand {
      display: flex;
      gap: 12px;
    }

    .social-btn {
      width: 44px;
      height: 44px;
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      color: #ffffff;
      font-size: 20px;
      text-decoration: none;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .social-btn:hover {
      transform: translateY(-4px) scale(1.1);
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
    }

    .social-btn.instagram {
      background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aebe6 90%);
    }

    .social-btn.facebook {
      background: #1877f2;
    }

    .social-btn.whatsapp {
      background: #25d366;
    }

    .social-btn.tiktok {
      background: #010101;
      border: 1px solid #222;
    }

    /* SECCIÓN DE SERVICIOS */
    .services-section {
      padding: 100px 20px 80px 20px;
      background: linear-gradient(145deg, rgba(238,248,243,.48), rgba(248,252,249,.48));
      text-align: center;
      border-top: 5px solid #81b29a;
      position: relative;
      z-index: 1;
    }

    .services-section h2 {
      font-size: 34px;
      font-weight: 700;
      margin-bottom: 50px;
      color: #1f242b;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 30px;
      max-width: 1100px;
      margin: 0 auto;
    }

    .service-card {
      background: #ffffff;
      border: 1px solid rgba(0, 0, 0, 0.06);
      padding: 40px 30px;
      border-radius: 24px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
      transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .service-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 18px 35px rgba(216, 67, 21, 0.12);
      border-color: rgba(216, 67, 21, 0.3);
    }

    .service-card i {
      font-size: 45px;
      color: #d84315;
      margin-bottom: 20px;
    }

    .service-card h3 {
      font-size: 20px;
      margin-bottom: 15px;
      font-weight: 700;
      color: #1f242b;
    }

    .service-card p {
      font-size: 14px;
      color: #666666;
      line-height: 1.6;
    }

    /* SECCIÓN DE PREGUNTAS FRECUENTES */
    .faq-section {
      padding: 100px 20px 80px 20px;
      background: linear-gradient(145deg, rgba(242,240,251,.48), rgba(251,250,255,.48));
      text-align: center;
      border-top: 5px solid #a99bd3;
      position: relative;
      z-index: 1;
    }

    .faq-section h2 {
      font-size: 34px;
      font-weight: 700;
      margin-bottom: 40px;
      color: #1f242b;
    }

    .faq-container {
      max-width: 800px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 16px;
      text-align: left;
    }

    details.faq-item {
      background: #f9fafb;
      border: 1px solid rgba(0, 0, 0, 0.08);
      border-radius: 16px;
      overflow: hidden;
      transition: all 0.3s ease;
    }

    details.faq-item[open] {
      background: #ffffff;
      border-color: #d84315;
      box-shadow: 0 8px 25px rgba(216, 67, 21, 0.1);
    }

    summary.faq-header {
      padding: 20px 24px;
      font-size: 17px;
      font-weight: 600;
      color: #1f242b;
      cursor: pointer;
      list-style: none;
      display: flex;
      justify-content: space-between;
      align-items: center;
      user-select: none;
    }

    summary.faq-header::-webkit-details-marker {
      display: none;
    }

    .faq-header-title {
      display: flex;
      align-items: center;
      gap: 12px;
    }

    .faq-header-title i {
      color: #d84315;
      font-size: 18px;
    }

    .faq-icon-arrow {
      color: #888888;
      font-size: 16px;
      transition: transform 0.3s ease;
    }

    details[open] .faq-icon-arrow {
      transform: rotate(180deg);
      color: #d84315;
    }

    .faq-content {
      padding: 0 24px 20px 54px;
      font-size: 14px;
      color: #555555;
      line-height: 1.6;
      border-top: 1px solid rgba(0, 0, 0, 0.05);
      margin-top: 5px;
      padding-top: 15px;
    }

    /* PANTALLA DE CARGA */
    .loading-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: linear-gradient(135deg, #ffffff 0%, #f4f6f8 100%);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease;
    }

    .loading-overlay.active {
      opacity: 1;
      pointer-events: all;
    }

    .loading-logo {
      width: 120px;
      height: auto;
      margin-bottom: 25px;
      filter: drop-shadow(0 6px 12px rgba(216, 67, 21, 0.2));
    }

    .paws-loader {
      display: flex;
      gap: 18px;
      margin-bottom: 25px;
    }

    .paws-loader i {
      font-size: 32px;
      color: #d84315;
      animation: pawBounce 1.2s infinite ease-in-out;
    }

    .paws-loader i:nth-child(1) { animation-delay: 0s; }
    .paws-loader i:nth-child(2) { animation-delay: 0.2s; color: #ff7543; }
    .paws-loader i:nth-child(3) { animation-delay: 0.4s; }

    @keyframes pawBounce {
      0%, 100% { transform: translateY(0) scale(1); opacity: 0.4; }
      50% { transform: translateY(-18px) scale(1.25); opacity: 1; filter: drop-shadow(0 8px 12px rgba(216, 67, 21, 0.4)); }
    }

    .loading-text {
      font-size: 18px;
      font-weight: 700;
      color: #1f242b;
      letter-spacing: 0.5px;
    }

    .loading-subtext {
      font-size: 13px;
      color: #777777;
      margin-top: 6px;
    }

    /* FOOTER */
    footer {
      background: #1f242b;
      padding: 40px 20px;
      text-align: center;
      color: rgba(255, 255, 255, 0.7);
      font-size: 14px;
    }

    footer p {
      margin-bottom: 10px;
    }

    /* RESPONSIVO */
    @media (max-width: 992px) {
      .hero-container {
        grid-template-columns: 1fr;
        text-align: center;
      }
      .pets-banner-card img { height: 420px; }
      .hero-text {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
      }
      .hero-social {
        justify-content: center;
      }
    }

    @media (max-width: 768px) {
      header { padding: 15px 20px; }
      .nav-menu { gap: 15px; }
      .nav-link { display: none; }
      .hero h1 { font-size: 32px; }
      .faq-content { padding-left: 24px; }
      .pets-banner-card img { height: 330px; }
      .floating-face { width:64px; height:64px; font-size:38px; }
      .floating-paw { font-size:20px !important; }
    }


