/* MIXED CSS PACK */
/* Template: herreriajose.com.ar/index.html */
/* Template mtime: 2025-11-11 17:35:07 */

/* external link (no embedded): https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css */
/* external link (no embedded): https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css */
/* external link (no embedded): https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap */

/* ===== INLINE <style> BLOCK #1 ===== */
:root {
      --brand: #0f172a;
      --accent: #f59e0b;
      --accent-dark: #d97706;
      --accent-light: #fef3c7;
      --muted: #6b7280;
      --bg: #ffffff;
      --card: #f8fafc;
      --gradient: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
      --shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
      --shadow-lg: 0 20px 50px -12px rgba(0, 0, 0, 0.25);
    }
    
    * {
      box-sizing: border-box;
    }
    
    html, body {
      overflow-x: hidden;
      background: var(--bg);
      font-family: 'Inter', sans-serif;
      scroll-behavior: smooth;
    }
    
    a {
      color: var(--brand);
      text-decoration: none;
      transition: all 0.3s ease;
    }
    
    .btn-accent {
      background: var(--gradient);
      border: none;
      color: #111;
      font-weight: 600;
      padding: 12px 24px;
      border-radius: 12px;
      transition: all 0.3s ease;
      box-shadow: 0 4px 6px -1px rgba(245, 158, 11, 0.3);
    }
    
    .btn-accent:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 15px -3px rgba(245, 158, 11, 0.4);
      color: #111;
    }
    
    .btn-outline-dark {
      border-radius: 12px;
      padding: 12px 24px;
      font-weight: 600;
      transition: all 0.3s ease;
    }
    
    .btn-outline-dark:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    }
    
    .brand {
      font-weight: 800;
      letter-spacing: .2px;
      background: var(--gradient);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    
    .shadow-soft {
      box-shadow: var(--shadow);
    }
    
    .shadow-large {
      box-shadow: var(--shadow-lg);
    }
    
    .section {
      padding: 100px 0;
    }
    
    .section-alt {
      padding: 100px 0;
      background: var(--card);
    }
    
    .section-title {
      font-weight: 800;
      letter-spacing: .2px;
      position: relative;
      display: inline-block;
      margin-bottom: 20px;
    }
    
    .section-title:after {
      content: '';
      position: absolute;
      bottom: -10px;
      left: 0;
      width: 60px;
      height: 4px;
      background: var(--gradient);
      border-radius: 2px;
    }
    
    .section-sub {
      color: var(--muted);
      max-width: 60ch;
      font-size: 1.1rem;
      line-height: 1.6;
    }
    
    /* Navbar */
    .navbar {
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(10px);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
      transition: all 0.3s ease;
      padding: 15px 0;
    }
    
    .navbar.scrolled {
      padding: 10px 0;
    }
    
    .navbar .nav-link {
      font-weight: 600;
      position: relative;
      margin: 0 8px;
      padding: 8px 12px !important;
      border-radius: 8px;
      transition: all 0.3s ease;
    }
    
    .navbar .nav-link:hover {
      background: var(--accent-light);
      color: var(--accent-dark);
    }
    
    .navbar .nav-link:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      width: 0;
      height: 2px;
      background: var(--gradient);
      transition: all 0.3s ease;
      transform: translateX(-50%);
    }
    
    .navbar .nav-link:hover:after {
      width: 80%;
    }
    
    /* Hero */
    #inicio {
      position: relative;
      overflow: hidden;
      background: linear-gradient(135deg, #fefefe 0%, #f8fafc 100%);
    }
    
    #inicio:before {
      content: '';
      position: absolute;
      top: -50%;
      right: -10%;
      width: 600px;
      height: 600px;
      border-radius: 50%;
      background: var(--accent-light);
      opacity: 0.5;
      z-index: 0;
    }
    
    #inicio .hero-wrap {
      display: grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 60px;
      align-items: center;
      position: relative;
      z-index: 1;
    }
    
    @media (max-width: 991.98px) {
      #inicio .hero-wrap {
        grid-template-columns: 1fr;
        gap: 40px;
      }
    }
    
    #hero-media {
      width: 100%;
      height: 100%;
      display: grid;
      place-items: center;
      border-radius: 20px;
      background: #111;
      padding: 15px;
      box-shadow: var(--shadow-lg);
      transform: perspective(1000px) rotateY(-5deg) rotateX(5deg);
      transition: all 0.5s ease;
    }
    
    #hero-media:hover {
      transform: perspective(1000px) rotateY(0) rotateX(0);
    }
    
    #hero-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 12px;
      background: #0b1220;
    }
    
    /* Servicios grid */
    .icon-card {
      background: #fff;
      border: 1px solid #eef2f7;
      border-radius: 20px;
      padding: 30px 25px;
      height: 100%;
      transition: all 0.4s ease;
      position: relative;
      overflow: hidden;
    }
    
    .icon-card:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 5px;
      background: var(--gradient);
      transform: scaleX(0);
      transition: transform 0.4s ease;
    }
    
    .icon-card:hover {
      transform: translateY(-10px);
      box-shadow: var(--shadow-lg);
    }
    
    .icon-card:hover:before {
      transform: scaleX(1);
    }
    
    .icon-wrap {
      width: 60px;
      height: 60px;
      border-radius: 16px;
      display: inline-grid;
      place-items: center;
      background: var(--gradient);
      color: #fff;
      font-size: 1.5rem;
      margin-bottom: 20px;
      box-shadow: 0 4px 10px rgba(245, 158, 11, 0.3);
    }
    
  
    
    /* FAQ */
    .accordion-button {
      background: #fff;
      border: none;
      padding: 20px;
      font-weight: 600;
      border-radius: 12px !important;
      box-shadow: none;
    }
    
    .accordion-button:not(.collapsed) {
      background: #fff;
      color: var(--accent-dark);
      box-shadow: var(--shadow);
    }
    
    .accordion-button:focus {
      box-shadow: none;
      border-color: rgba(0,0,0,.125);
    }
    
    .accordion-item {
      border: 1px solid #eef2f7;
      border-radius: 12px;
      overflow: hidden;
      margin-bottom: 15px;
      box-shadow: var(--shadow);
    }
    
    .accordion-body {
      padding: 20px;
    }
    
    /* Contacto */
    .contact-card {
      background: #fff;
      border: 1px solid #eef2f7;
      border-radius: 20px;
      padding: 30px;
      box-shadow: var(--shadow);
      transition: all 0.3s ease;
    }
    
    .contact-card:hover {
      transform: translateY(-5px);
      box-shadow: var(--shadow-lg);
    }
    
    .hp {
      position: absolute;
      left: -9999px;
      top: -9999px;
    }
    
    /* Footer */
    footer {
      background: var(--brand);
      color: #cbd5e1;
      position: relative;
      overflow: hidden;
    }
    
    footer:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 5px;
      background: var(--gradient);
    }
    
    footer a {
      color: #e5e7eb;
      text-decoration: none;
      transition: all 0.3s ease;
    }
    
    footer a:hover {
      color: var(--accent);
      text-decoration: none;
    }
    
    /* Animaciones personalizadas */
    @keyframes fadeInUp {
      from {
        opacity: 0;
        transform: translateY(30px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .fade-in-up {
      animation: fadeInUp 0.8s ease forwards;
    }
    
    .delay-1 {
      animation-delay: 0.2s;
    }
    
    .delay-2 {
      animation-delay: 0.4s;
    }
    
    .delay-3 {
      animation-delay: 0.6s;
    }
    
    /* Efectos de scroll suave */
    .scroll-reveal {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.8s ease;
    }
    
    .scroll-reveal.revealed {
      opacity: 1;
      transform: translateY(0);
    }
    
    /* Mejoras de formulario */
    .form-control {
      border-radius: 12px;
      padding: 12px 16px;
      border: 1px solid #e2e8f0;
      transition: all 0.3s ease;
    }
    
    .form-control:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
    }
    
    /* Badge de confianza */
    .trust-badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--accent-light);
      color: var(--accent-dark);
      padding: 8px 16px;
      border-radius: 50px;
      font-weight: 600;
      font-size: 0.9rem;
      margin: 5px 0;
    }
  
.service-note { line-height:1.2; }
.service-note i { font-size:1rem; }

/* ===== INLINE <style> BLOCK #2 ===== */
/* Contenedor flexible que NO recorta y limita el tamaño máximo visible */
      #quienes .auto-fit{
        display: flex;
        align-items: center;
        justify-content: center;
        background: #fff;
        border-radius: 1rem;
        box-shadow: 0 10px 30px rgba(0,0,0,.08);
        padding: .75rem;
        /* Limites para que no sea gigante pero sin recortar */
        max-height: min(60vh, 520px);
        /* Permitimos que si la imagen es más chica, el contenedor se achique */
        height: auto;
        overflow: visible; /* nada de recortes */
      }
      #quienes .auto-fit img{
        /* Mostrar la imagen tal cual, escalando hacia abajo si hace falta */
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;   /* por si hubiera dimensiones impuestas */
        object-position: center;
        display: block;
      }
  
      /* En móvil le damos un poquito más de alto si hace falta */
      @media (max-width: 575.98px){
        #quienes .auto-fit{ max-height: 50vh; }
      }
    
.service-note { line-height:1.2; }
.service-note i { font-size:1rem; }

/* ===== INLINE <style> BLOCK #3 ===== */
.gal-gallery .carousel{max-width:980px;margin-inline:auto;position:relative}
  .gal-frame{
    height: clamp(220px, 48vh, 440px);
    background:#fff;border-radius:16px;overflow:hidden;
    box-shadow:0 12px 28px rgba(0,0,0,.12);
    display:flex;align-items:center;justify-content:center;padding:8px
  }
  .gal-img{
    width:auto !important;max-width:100%;
    height:auto !important;max-height:100%;
    object-fit:contain !important;object-position:center;display:block;cursor:zoom-in
  }
  /* Controles circulares con más contraste */
  .gal-gallery .carousel-control-prev,
  .gal-gallery .carousel-control-next{
    z-index:20;width:50px;height:50px;top:50%;transform:translateY(-50%);
    opacity:1;background:rgba(0,0,0,.55);border-radius:50%;margin:0 12px
  }
  .gal-gallery .carousel-control-prev{left:0}
  .gal-gallery .carousel-control-next{right:0}
  .gal-gallery .gal-ctrl-icon{width:2.6rem;height:2.6rem;background-size:60% 60%}
  /* Indicadores: se sitúan fuera; agregamos espacio inferior para que no se corten */
  .gal-gallery .carousel-indicators{z-index:10;bottom:-50px}
  .gal-gallery .carousel-indicators button{
    width:10px;height:10px;border-radius:50%;
    background:rgba(0,0,0,.5);border:none
  }
  .gal-gallery .carousel-indicators button.active{background:#000}
  .gal-gallery{padding-bottom:56px} /* espacio para indicadores */
  
  /* Modal */
  #galLightbox .modal-content{background:#000}
  #galLightboxImg{max-height:86vh;width:100%;height:auto;object-fit:contain;background:#000}
  .gal-lightbox-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    border:0;width:44px;height:44px;border-radius:999px;
    background:rgba(255,255,255,.18);color:#fff;font-size:30px;line-height:44px;text-align:center;z-index:5;cursor:pointer
  }
  .gal-lightbox-nav:hover{background:rgba(255,255,255,.28)}
  .gal-lightbox-nav.gal-prev{left:10px}
  .gal-lightbox-nav.gal-next{right:10px}
  
  /* Pequeños ajustes móviles */
  @media (max-width: 575.98px){
    .gal-frame{height: clamp(200px, 40vh, 360px)}
  }
  
.service-note { line-height:1.2; }
.service-note i { font-size:1rem; }

/* ===== INLINE <style> BLOCK #4 ===== */
:root{
    --wa:#25D366; --wa-dark:#128C7E; --wa-darker:#075E54;
    --dark-bg:#0b0f18; --darker-bg:#0a1324;
    --light-text:#ffffff; --muted-text:rgba(255,255,255,.7);
  }
  .wa-float{ position:fixed; right:18px; bottom:18px; z-index:9999; font-family:inherit; }
  .wa-btn{
    background:linear-gradient(135deg,var(--wa),var(--wa-dark));
    color:#fff; border:0; width:60px; height:60px; border-radius:50%;
    display:grid; place-items:center; box-shadow:0 10px 30px rgba(0,0,0,.25);
    cursor:pointer; transition:transform .3s, box-shadow .3s, background .3s; position:relative; overflow:hidden;
  }
  .wa-btn::after{ content:""; position:absolute; inset:0;
    background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.18), rgba(255,255,255,0) 70%);
    opacity:0; transition:opacity .3s;
  }
  .wa-btn:hover{ transform:translateY(-3px) scale(1.05); box-shadow:0 14px 36px rgba(0,0,0,.35); }
  .wa-btn:hover::after{ opacity:1; }

  .wa-card{
    position:absolute; right:0; bottom:74px; width:min(360px,92vw);
    background:var(--dark-bg); color:var(--light-text); border-radius:18px; overflow:hidden;
    box-shadow:0 18px 60px rgba(0,0,0,.5); border:1px solid rgba(255,255,255,.08);
    transform:translateY(10px); opacity:0; transition:transform .3s, opacity .3s;
  }
  .wa-card[aria-modal="true"]{ transform:translateY(0); opacity:1; }
  .wa-head{ display:flex; align-items:center; gap:12px; padding:14px;
    background:linear-gradient(180deg,#0d162c,var(--darker-bg)); border-bottom:1px solid rgba(255,255,255,.06);
  }
  .wa-avatar{ width:40px; height:40px; border-radius:8px; background:#0e1a33;
    display:grid; place-items:center; border:1px solid rgba(255,255,255,.08); overflow:hidden; }
  .wa-title{ font-weight:700; font-size:1.05rem; }
  .wa-status{ font-size:.85rem; color:var(--muted-text); display:flex; align-items:center; gap:6px; }
  .wa-status::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--wa); }
  .wa-close{ margin-left:auto; background:transparent; color:#fff; border:0; font-size:24px; cursor:pointer; opacity:.7;
    width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; transition:.2s; }
  .wa-close:hover{ opacity:1; background:rgba(255,255,255,.1); }

  .wa-body{ padding:12px 14px; max-height:40vh; overflow:auto; background:var(--dark-bg);
    display:flex; flex-direction:column; gap:8px; }
  .wa-bubble{ max-width:88%; padding:10px 12px; border-radius:14px; line-height:1.35; box-shadow:0 4px 14px rgba(0,0,0,.25); animation:fadeIn .25s ease; }
  @keyframes fadeIn{ from{opacity:0; transform:translateY(5px)} to{opacity:1; transform:none} }
  .wa-bot{ background:#0c1428; border:1px solid rgba(255,255,255,.06); align-self:flex-start; border-bottom-left-radius:4px; }
  .wa-user{ background:var(--wa-darker); align-self:flex-end; border-bottom-right-radius:4px; }

  .wa-compose{ display:grid; grid-template-columns:1fr auto; gap:8px; padding:10px; background:var(--dark-bg); border-top:1px solid rgba(255,255,255,.08); }
  .wa-compose textarea{
    resize:none; border-radius:12px; padding:10px 12px; border:1px solid rgba(255,255,255,.12);
    background:#0a1324; color:#fff; outline:none; min-height:44px; font-family:inherit; transition:.2s;
  }
  .wa-compose textarea:focus{ border-color:var(--wa); box-shadow:0 0 0 2px rgba(37,211,102,.15); }
  .wa-send{ background:var(--wa); color:#0b1220; border:0; border-radius:12px; padding:0 16px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; }
  .wa-send:hover{ background:var(--wa-dark); transform:scale(1.05); }

  @media (max-width:480px){
    .wa-float{ right:12px; bottom:12px; }
    .wa-card{ width:calc(100vw - 24px); right:0; }
  }

.service-note { line-height:1.2; }
.service-note i { font-size:1rem; }

