html {
  height: 100%;
  width: 100%;
}

body {
  font-family: 'Inter', sans-serif;
  background-color: rgba(255, 255, 255, 0.9) !important; /* Branco 90% opaco *
}

/* ===== NOVA IDENTIDADE VERDE ALLYCARS ===== */

/* Paleta de cores verde sofisticada */
:root {
    --primary-green: #059669;      /* Verde esmeralda principal */
    --dark-green: #047857;         /* Verde escuro sofisticado */
    --deep-green: #065f46;         /* Verde profundo */
    --light-green: #10b981;        /* Verde claro para hover */
    --gold: #b8860b;               /* Dourado (mantém para contraste) */
}

/* Fundo verde com gradiente sofisticado */
.navy-bg {
    /* Gradiente verde: claro → médio → escuro */
    --g1: #006354;
    --g2: #006354;
    --g3: #006354;
    --g4: #006354;
    --g5: #006354;

    color: #fff;
    background-color: var(--g3); /* fallback */
    background-image:
      /* Brilho sutil no topo */
      radial-gradient(ellipse 80% 50% at 50% 0%, rgba(16, 185, 129, 0.15) 0%, transparent 50%),
      /* Gradiente principal: claro no topo, escuro embaixo */
      linear-gradient(180deg, 
        var(--g1) 0%,      /* Verde claro no topo */
        var(--g2) 25%,     /* Transição suave */
        var(--g3) 50%,     /* Meio */
        var(--g4) 75%,     /* Escurecendo */
        var(--g5) 100%     /* Verde escuro no fundo */
      );
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.08),
      inset 0 -1px 0 rgba(0, 0, 0, 0.2),
      0 10px 30px rgba(0, 0, 0, 0.35);
}

/* Textos e elementos verde */
.navy-text {
    color: #065f46 !important; /* Verde escuro para textos */
}

.navy-border {
    border-color: #059669 !important;
}

.gold-bg {
    background-color: #b8860b !important; 
}
.gold-text {
    color: #b8860b !important; 
}
.gold-border {
    border-color: #b8860b !important;
}

/* Hover states verde */
.hover\:text-gold-500:hover {
    color: #10b981 !important;
}

/* Hero responsivo - acompanha o conteúdo */
.hero-image {
    background-image: 
        linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.3)), 
        url('assets/hero-car.webp'); /* ← Caminho relativo */
    background-size: cover;
    background-position: center;
    min-height: 450px;
    height: auto !important;
    padding-bottom: 40px !important;
}

/* Mobile - ajusta para conteúdo vertical */
@media (max-width: 768px) {
    .hero-image {
        min-height: 500px; /* Altura mínima maior no mobile */
        height: auto !important;
        padding-top: 30px !important;
        padding-bottom: 50px !important;
    }
}

/* Tablet */
@media (max-width: 1024px) and (min-width: 769px) {
    .hero-image {
        min-height: 400px;
        height: auto !important;
        padding-bottom: 40px !important;
    }
}

/* Surface sólida para modais - verde */
.navy-surface-solid {
    background: linear-gradient(180deg, rgba(6, 78, 59, 0.97), rgba(4, 120, 87, 0.95));
    backdrop-filter: blur(10px) saturate(120%);
    -webkit-backdrop-filter: blur(10px) saturate(120%);
    border: 1px solid rgba(16, 185, 129, 0.15);
    border-radius: 1rem;
    box-shadow:
      0 12px 36px rgba(0, 0, 0, 0.45),
      inset 0 0 0 1px rgba(16, 185, 129, 0.08);
}

/* Botões verdes com gradiente sutil */
button.gold-bg,
a.gold-bg,
.gold-bg {
    background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
    transition: all 0.3s ease;
}

button.gold-bg:hover,
a.gold-bg:hover,
.gold-bg:hover {
    background: linear-gradient(135deg, #059669 0%, #047857 100%) !important;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
    transform: translateY(-2px);
}

/* Footer verde escuro */
footer#footer {
    background: linear-gradient(180deg, #006354 0%, #006354 50%, #006354 100%);
    box-shadow: inset 0 1px 0 rgba(16, 185, 129, 0.1);
}

/* Destaques e badges verde */
.bg-\[\#0e2a47\]\/5,
.text-\[\#0e2a47\],
.ring-\[\#0e2a47\]\/10 {
    background-color: rgba(5, 150, 105, 0.05) !important;
    color: #065f46 !important;
    --tw-ring-color: rgba(5, 150, 105, 0.1) !important;
}

/* Ícones e elementos de destaque */
.text-\[\#C6A25A\] {
    color: #10b981 !important; /* Verde para ícones */
}

/* Cards de benefícios */
.border-\[\#C6A25A\]\/20 {
    border-color: rgba(16, 185, 129, 0.2) !important;
}

.bg-\[\#C6A25A\]\/10 {
    background-color: rgba(16, 185, 129, 0.1) !important;
}

/* Animação de brilho verde */
@keyframes greenGlow {
    0%, 100% { 
        box-shadow: 0 0 20px rgba(16, 185, 129, 0.3),
                    inset 0 0 20px rgba(16, 185, 129, 0.1);
    }
    50% { 
        box-shadow: 0 0 30px rgba(16, 185, 129, 0.5),
                    inset 0 0 30px rgba(16, 185, 129, 0.2);
    }
}

/* Check burst verde (modal de confirmação) */
.check-burst {
    background: radial-gradient(circle at 30% 30%, #d1fae5 0, #10b981 20%, #065f46 70%);
    box-shadow: 0 8px 28px rgba(5, 150, 105, 0.4), 
                inset 0 0 0 2px rgba(255, 255, 255, 0.15);
}

/* Links e elementos interativos */
a.text-gray-400:hover {
    color: #10b981 !important;
}

/* Inputs com foco verde */
input:focus,
select:focus,
textarea:focus {
    border-color: #10b981 !important;
    ring-color: rgba(16, 185, 129, 0.3) !important;
}

/* Scrollbar verde */
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #10b981 0%, #059669 100%);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, #059669 0%, #047857 100%);
}

    .car-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    }
    .transition-all {
        transition: all 0.3s ease;
    }

    .animate-fade-in {
        animation: fadeIn 0.3s ease-out;
    }
    @keyframes fadeIn {
        from {opacity: 0; transform: scale(0.95);}
        to {opacity: 1; transform: scale(1);}
    }

    .animate-zoom { animation: zoomIn .22s ease-out }
    @keyframes zoomIn {
        from { opacity: 0; transform: translateY(6px) scale(.97) }
        to   { opacity: 1; transform: translateY(0)    scale(1) }
    }

      .card-image::after{
        content:"";
        position:absolute;inset:0;
        background:linear-gradient(to top, rgba(0,0,0,.25), rgba(0,0,0,0));
        pointer-events:none;
      }
      .skeleton {
        background: linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%);
        background-size: 400% 100%;
        animation: shimmer 1.4s ease infinite;
      }
      @keyframes shimmer {
        0% { background-position: 100% 0; }
        100%{ background-position: 0 0; }
      }

    .ios-scroll { -webkit-overflow-scrolling: touch; }
    .pt-safe { padding-top: max(1rem, env(safe-area-inset-top)); }

  /* Spinner + check animado */
  .loader {
    width: 52px; height: 52px;
    border: 3px solid rgba(255,255,255,.2);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 0.9s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }

  .check-burst {
    /* Tamanho responsivo (40–64px) */
    width: clamp(40px, 9vw, 64px);
    height: clamp(40px, 9vw, 64px);

    /* Não deixar “amassar” dentro do flex */
    flex-shrink: 0;
    min-width: clamp(40px, 9vw, 64px);
    min-height: clamp(40px, 9vw, 64px);

    /* Mantém círculo perfeito e visual */
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, #b3d7ff 0, #4ea1ff 20%, #0e2f50 70%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .35), inset 0 0 0 2px rgba(255, 255, 255, .12);
    animation: popIn .45s ease-out both;
  }

  /* Ícone escala junto (opcional) */
  .check-burst svg { width: 55%; height: 55%; }

  .addr-row .dropoff-col {
    display: none;
  }

  /* >= md: quando ativar "has-alt", divide 55% / 45% */
  @media (min-width: 768px) {
    .addr-row.has-alt .pickup-col {
      flex: 0 0 50%;
    }
    .addr-row.has-alt .dropoff-col {
      display: block;
      flex: 0 0 50%;
    }
  }

  /* < md: quando ativar "has-alt", mostra dropoff abaixo ocupando linha toda */
  @media (max-width: 767.98px) {
    .addr-row.has-alt .dropoff-col {
      display: block;
      flex: 1 1 100%;
    }
  }

.pac-container { z-index: 99999 !important; }

/* Garantir que dropdowns do Google Places apareçam */
[role="listbox"] {
  z-index: 99999 !important;
  position: absolute !important;
}

/* Container dos inputs com position relative */
.pickup-col, #dropoffCol {
  position: relative;
}

/* Ajustar altura do PlaceAutocompleteElement */
place-autocomplete-element {
  display: block !important;
  height: auto !important;
}

@media (max-width: 380px){
  #home-search .dayContainer {
    min-width: 261px;
  }
}

.car-card .card-image {
  object-fit: cover;
  object-position: center 25%;
}

/* ===== PÁGINAS DE INTEGRAÇÃO HQ ===== */

/* Container das páginas de booking */
main .hq-rental-software-integration {
    min-height: 60vh;
}

/* Breadcrumb */
main .container > div a[href*="index.html"] {
    display: inline-flex;
    align-items: center;
    font-size: 0.875rem;
    transition: all 0.2s;
}

/* ===== TRANSIÇÕES SPA ALLYCARS + HQ ===== */

#home, #vehicles-section {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#home.hidden, #vehicles-section.hidden {
    display: none;
}

/* Botão voltar estilizado */
button[onclick*="backToSearch"] {
    font-weight: 500;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    transition: all 0.2s;
}

button[onclick*="backToSearch"]:hover {
    background-color: #f3f4f6;
    transform: translateX(-4px);
}

/* Container HQ com altura mínima */
#vehicles-section .hq-rental-software-integration {
    min-height: 60vh;
}

/* Animação de entrada */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#vehicles-section:not(.hidden) {
    animation: fadeInUp 0.4s ease-out;
}

main .container > div a[href*="index.html"]:hover {
    transform: translateX(-4px);
}


/* ===== TRANSIÇÕES SPA ALLYCARS + HQ ===== */

#home, #vehicles-section, #testimonials-section {
    transition: opacity 0.3s ease;
}

#home.hidden, #vehicles-section.hidden, #testimonials-section.hidden {
    display: none !important;
}

/* Botão voltar */
button[onclick*="backToSearch"] {
    font-weight: 500;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    transition: all 0.2s;
    background-color: #f3f4f6;
}

button[onclick*="backToSearch"]:hover {
    background-color: #e5e7eb;
    transform: translateX(-4px);
}
