/* 1. Global Reset & Quiet Luxury Theme */
    /* Oculta o cursor nativo apenas se a classe .has-custom-cursor estiver ativa no desktop */
    @media (min-width: 1024px) {
      .has-custom-cursor,
      .has-custom-cursor * {
        cursor: none !important;
      }
    }

    html {
      scrollbar-gutter: stable;
    }

    body {
      font-family: 'Inter', sans-serif;
      overflow-x: clip;
      background-color: #050506;
      transition: background-color 0.5s ease;
    }

    /* Controle de Introdução (Exibição Inicial do Vídeo) */
    body.intro-active {
      overflow: hidden !important;
      height: 100vh;
    }
    
    body.intro-active #main-header,
    body.intro-active section:not(#hero),
    body.intro-active footer {
      opacity: 0 !important;
      pointer-events: none !important;
      visibility: hidden !important;
    }

    #main-header,
    section:not(#hero),
    footer {
      transition: opacity 1.5s cubic-bezier(0.16, 1, 0.3, 1), visibility 1.5s cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* Posicionamento do Carro na Hero */
    #hero-video,
    #cleaning-canvas {
      position: absolute;
      width: 100% !important;
      height: 120vh !important;
      top: -7vh !important;
      left: 0 !important;
      object-fit: cover !important;
      object-position: center center !important;
    }

    /* Rótulo "LIMPAR" no cursor personalizado */
    #custom-cursor-ring::after {
      content: 'LIMPAR';
      position: absolute;
      left: 50%;
      top: calc(100% + 8px);
      transform: translateX(-50%);
      font-family: 'Space Grotesk', sans-serif;
      font-size: 8px;
      font-weight: 600;
      color: #DA6815;
      letter-spacing: 0.25em;
      opacity: 0;
      transition: opacity 0.3s ease;
      pointer-events: none;
      white-space: nowrap;
      text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
    }

    /* Anel de cursor no modo de limpeza */
    #custom-cursor-ring.cursor-clean-mode {
      width: 54px !important;
      height: 54px !important;
      border-color: #DA6815 !important;
      background-color: rgba(218, 104, 21, 0.08) !important;
      box-shadow: 0 0 15px rgba(218, 104, 21, 0.2);
    }

    #custom-cursor-ring.cursor-clean-mode::after {
      opacity: 1;
    }

    /* Menu Estilo macOS Finder Tab (Pasta do Mac) */
    .mac-header-tab {
      background: rgba(18, 18, 20, 0.15);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border: 1px solid rgba(255, 255, 255, 0.05);
      border-top: none; /* Deixa colar no topo como uma aba */
      border-radius: 0 0 20px 20px;
      transition: background-color 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
                  backdrop-filter 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
                  border-color 0.8s cubic-bezier(0.16, 1, 0.3, 1), 
                  box-shadow 0.8s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
    }

    /* Versão Ao Rolar (Efeito Vidro Fosco Translúcido / Window Effect) */
    .mac-header-tab.scrolled {
      background: rgba(5, 5, 6, 0.45) !important;
      backdrop-filter: blur(24px) !important;
      -webkit-backdrop-filter: blur(24px) !important;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
    }

    .mac-dot {
      width: 9px;
      height: 9px;
      border-radius: 50%;
      display: inline-block;
    }

    .mac-dot-container {
      transition: all 0.5s cubic-bezier(0.16, 1, 0.3, 1);
      opacity: 1;
      width: auto;
    }

    /* Nova Tipografia de Luxo na Hero */
    .hero-title-main {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 2.0rem;
      line-height: 1.2;
      font-weight: 300;
      letter-spacing: 0.02em;
    }

    @media (min-width: 768px) {
      .hero-title-main {
        font-size: 3.2rem;
        letter-spacing: 0.04em;
      }
    }

    @media (min-width: 1024px) {
      .hero-title-main {
        font-size: 3.6rem;
        letter-spacing: 0.05em;
      }
    }

    /* Efeito de Sombra e Glow no Slogan Superior da Hero */
    .hero-slogan-main {
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.95), 0 0 20px rgba(218, 104, 21, 0.22);
    }

    /* Efeito de Gradiente Metálico Premium */
    .text-metallic-cobre {
      background: linear-gradient(135deg, #DA6815 0%, #FFFFFF 50%, #8E8E93 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
      filter: drop-shadow(0px 2px 6px rgba(0, 0, 0, 0.3));
    }

    /* Cursor Minimalista Dinâmico */
    #custom-cursor {
      width: 12px;
      height: 12px;
      background-color: #DA6815;
      border-radius: 50%;
      position: fixed;
      transform: translate(-50%, -50%);
      pointer-events: none;
      z-index: 10000;
      transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease;
      box-shadow: 0 0 10px rgba(218, 104, 21, 0.4);
    }

    /* Anel externo suave seguindo o cursor */
    #custom-cursor-ring {
      width: 32px;
      height: 32px;
      border: 1px solid rgba(218, 104, 21, 0.4);
      border-radius: 50%;
      position: fixed;
      transform: translate(-50%, -50%);
      pointer-events: none;
      z-index: 9999;
      transition: transform 0.08s ease-out;
    }

    /* Estados de expansão do cursor dinâmico */
    .cursor-expand {
      width: 48px !important;
      height: 48px !important;
      background-color: rgba(218, 104, 21, 0.1) !important;
      border-color: #DA6815 !important;
    }

    /* Painéis de Vidro (Glassmorphism) */
    .glass-panel {
      background: rgba(18, 18, 20, 0.65);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.04);
    }

    /* Transição de cores no manifesto */
    .word-span {
      transition: color 0.4s ease, transform 0.4s ease;
    }

    /* Ocultar barra de rolagem */
    .scrollbar-none::-webkit-scrollbar {
      display: none;
    }
    .scrollbar-none {
      -ms-overflow-style: none;
      scrollbar-width: none;
    }

    /* Animações e Efeitos */
    .btn-cobre-outline {
      border: 1px solid rgba(218, 104, 21, 0.35);
      background-color: transparent;
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .btn-cobre-outline:hover {
      border-color: #DA6815;
      background-color: rgba(218, 104, 21, 0.06);
      box-shadow: 0 0 15px rgba(218, 104, 21, 0.15);
    }

    /* Estilos do carro deslizante e hotspots */
    .anatomia-car-wrapper {
      position: relative;
      width: 100%;
      max-width: 900px;
      margin: 0 auto;
      will-change: transform;
      transform: translate3d(-100vw, 0, 0); /* Estado inicial fora da tela à esquerda */
      transition: transform 0.1s ease-out;
    }

    @media (max-width: 1023px) {
      #anatomia {
        min-height: 135vh !important; /* Aumenta o tamanho da seção no mobile para caber os textos e o carro */
      }
      .anatomia-car-wrapper {
        position: absolute;
        left: 50%;
        top: 46%;
        transform: translate3d(-50%, 40vh, 0) rotate(-90deg); /* Começa abaixo, rotacionado e centralizado horizontalmente */
        width: 200vw;
        max-width: 820px;
        margin: 0;
      }
    }

    .hotspot-point {
      position: absolute;
      transform: translate(-50%, -50%) scale(0.5);
      opacity: 0;
      pointer-events: none;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 30;
    }

    @media (max-width: 1023px) {
      .hotspot-point {
        transform: translate(-50%, -50%) scale(0.5) rotate(90deg);
      }
    }

    .car-centered .hotspot-point {
      opacity: 1;
      transform: translate(-50%, -50%) scale(1);
      pointer-events: auto;
    }

    @media (max-width: 1023px) {
      .car-centered .hotspot-point {
        transform: translate(-50%, -50%) scale(1) rotate(90deg);
      }
    }

    .hotspot-btn {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      border: 1px solid #DA6815;
      background-color: rgba(5, 5, 6, 0.9);
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 0 15px rgba(218, 104, 21, 0.4);
      cursor: pointer;
      position: relative;
      transition: background-color 0.3s, border-color 0.3s, transform 0.3s;
    }

    .hotspot-btn:hover {
      background-color: #DA6815;
      transform: scale(1.15);
    }

    .hotspot-btn:hover .hotspot-core {
      background-color: #050506;
    }

    .hotspot-core {
      width: 8px;
      height: 8px;
      background-color: #DA6815;
      border-radius: 50%;
      transition: background-color 0.3s;
    }

    .hotspot-ping {
      position: absolute;
      width: 100%;
      height: 100%;
      border-radius: 50%;
      border: 1px solid rgba(218, 104, 21, 0.4);
      animation: hotspot-ping 2s infinite ease-out;
      pointer-events: none;
    }

    @keyframes hotspot-ping {
      0% {
        transform: scale(1);
        opacity: 1;
      }
      100% {
        transform: scale(2.2);
        opacity: 0;
      }
    }

    /* Popover Moderno de Informação */
    .hotspot-popover {
      position: absolute;
      bottom: 45px;
      left: 50%;
      transform: translateX(-50%) translateY(10px) scale(0.95);
      width: 280px;
      background: rgba(18, 18, 20, 0.85);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 16px;
      padding: 16px;
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.8);
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 40;
    }

    .hotspot-popover.active {
      opacity: 1;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0) scale(1);
    }

    @media (max-width: 1023px) {
      .hotspot-popover {
        width: 240px !important; /* Compacto como antes */
      }
      
      /* Evita corte nos popovers da roda e traseira (que se posicionam na direita física da tela) */
      #popover-roda, #popover-traseira {
        left: auto !important;
        right: -30px !important;
        transform: translateX(0) translateY(10px) scale(0.95) !important;
      }
      #popover-roda.active, #popover-traseira.active {
        transform: translateX(0) translateY(0) scale(1) !important;
      }
    }

    /* Outlined text para marca d'água no rodapé */
    .footer-outline-text {
      color: transparent;
      -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.04);
    }

    /* Efeito de Feixe de Luz (Light Sweep) no Card de Contato */
    .card-light-sweep {
      position: relative;
      overflow: hidden;
    }
    .card-light-sweep::before {
      content: '';
      position: absolute;
      top: 0;
      left: -150%;
      width: 80%;
      height: 100%;
      background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.08) 50%,
        rgba(255, 255, 255, 0) 100%
      );
      transform: skewX(-20deg);
      pointer-events: none;
      z-index: 10;
      animation: light-sweep 8s infinite ease-in-out;
    }
    @keyframes light-sweep {
      0% {
        left: -150%;
      }
      20% {
        left: 150%;
      }
      100% {
        left: 150%;
      }
    }
    /* --- Estilos do Cockpit de Agendamento --- */
    @keyframes led-glow {
      0%, 100% {
        box-shadow: 0 0 12px rgba(218, 104, 21, 0.4), inset 0 0 8px rgba(218, 104, 21, 0.2);
        border-color: rgba(218, 104, 21, 0.4);
      }
      50% {
        box-shadow: 0 0 28px rgba(218, 104, 21, 0.85), inset 0 0 16px rgba(218, 104, 21, 0.6);
        border-color: rgba(218, 104, 21, 1);
      }
    }
    .engine-start-btn {
      position: relative;
      background: radial-gradient(circle, #201007 0%, #050506 100%);
      border: 2px solid rgba(218, 104, 21, 0.3);
      animation: led-glow 3s infinite ease-in-out;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    }
    .engine-start-btn:hover {
      transform: scale(1.05);
      border-color: #DA6815;
    }
    .engine-start-btn:active {
      transform: scale(0.95);
    }

    @keyframes cockpit-flicker {
      0% { opacity: 1; filter: brightness(1) blur(0px); }
      15% { opacity: 0.2; filter: brightness(0.4) blur(1px); }
      30% { opacity: 0.9; filter: brightness(1.3) blur(0px); }
      45% { opacity: 0.1; filter: brightness(0.2) blur(2px); }
      60% { opacity: 0.8; filter: brightness(1) blur(0px); }
      75% { opacity: 0.3; filter: brightness(0.5) blur(1px); }
      90% { opacity: 1; filter: brightness(1) blur(0px); }
    }
    .animate-flicker {
      animation: cockpit-flicker 0.8s ease-in-out;
    }

    @keyframes cockpit-shake {
      0%, 100% { transform: translateX(0); }
      20%, 60% { transform: translateX(-8px); }
      40%, 80% { transform: translateX(8px); }
    }
    .animate-shake {
      animation: cockpit-shake 0.4s ease-in-out;
    }

    .cockpit-input {
      background-color: #121214 !important;
      color: #FFFFFF !important;
      border: 1px solid rgba(255, 255, 255, 0.08) !important;
      border-radius: 8px !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }
    .cockpit-input:focus {
      border-color: #DA6815 !important;
      background-color: #18181b !important;
      box-shadow: 0 0 10px rgba(218, 104, 21, 0.2) !important;
      outline: none !important;
    }
    .cockpit-input::placeholder {
      color: #8E8E93 !important;
      opacity: 0.6 !important;
    }
    
    /* Corrige contraste e autofill nos inputs */
    input:-webkit-autofill,
    input:-webkit-autofill:hover, 
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
      -webkit-box-shadow: 0 0 0 30px #121214 inset !important;
      -webkit-text-fill-color: #FFFFFF !important;
      transition: background-color 5000s ease-in-out 0s;
    }
    
    /* Remove foco padrão do navegador */
    button:focus, select:focus, input:focus {
      outline: none !important;
    }

    /* Custom Scrollbar for HUD panels */
    ::-webkit-scrollbar {
      width: 4px;
      height: 4px;
    }
    ::-webkit-scrollbar-track {
      background: rgba(255, 255, 255, 0.01);
    }
    ::-webkit-scrollbar-thumb {
      background: rgba(218, 104, 21, 0.3);
      border-radius: 2px;
    }
    ::-webkit-scrollbar-thumb:hover {
      background: rgba(218, 104, 21, 0.6);
    }

    /* Estilo do Calendário Customizado */
    .cockpit-calendar-day {
      transition: all 0.2s ease;
    }
    .cockpit-calendar-day:hover:not(.disabled) {
      background-color: rgba(218, 104, 21, 0.2) !important;
      color: #FFFFFF !important;
    }
    .cockpit-calendar-day.selected {
      background-color: #DA6815 !important;
      color: #050506 !important;
      font-weight: bold !important;
      box-shadow: 0 0 12px rgba(218, 104, 21, 0.6) !important;
    }
    .cockpit-calendar-day.disabled {
      color: rgba(255, 255, 255, 0.08) !important;
      cursor: not-allowed !important;
      text-decoration: line-through !important;
    }

    /* Flutuação sutil do Voucher */
    @keyframes float-voucher {
      0%, 100% { transform: translateY(0) rotateX(1deg) rotateY(-1deg); }
      50% { transform: translateY(-8px) rotateX(-1deg) rotateY(1deg); }
    }
    .voucher-card {
      animation: float-voucher 5s ease-in-out infinite;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 40px rgba(218, 104, 21, 0.1);
    }

    /* Grid do Painel HUD */
    .hud-grid {
      background-image: 
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
      background-size: 20px 20px;
    }

    /* Rotação automática do painel interativo no portrait (mobile) */
    .popup-interactive-container {
      width: 100%;
      height: 100%;
      position: relative;
    }
    @media (max-width: 1023px) and (orientation: portrait) {
      .popup-interactive-container {
        transform: rotate(90deg);
        transform-origin: center center;
        width: 100vh !important;
        height: 100vw !important;
        position: absolute !important;
        left: 50% !important;
        top: 50% !important;
        margin-left: -50vh !important;
        margin-top: -50vw !important;
      }
    }
    @media (max-width: 1023px) and (orientation: portrait) {
      body.popup-active #clean-success-modal > div {
        transform: rotate(90deg) scale(0.95) !important;
      }
      body.popup-active #clean-success-modal.opacity-100 > div {
        transform: rotate(90deg) scale(1) !important;
      }
    }
    
    /* Carrossel de Serviços Infinito */
    .services-carousel-container {
      overflow: hidden;
      width: 100%;
      position: relative;
      padding: 45px 0;
    }
    .services-track {
      display: flex;
      width: max-content;
      animation: services-scroll 45s linear infinite;
    }
    .services-track:hover {
      animation-play-state: paused;
    }
    @keyframes services-scroll {
      0% { transform: translate3d(0, 0, 0); }
      100% { transform: translate3d(-50%, 0, 0); }
    }
    
    .service-card {
      position: relative;
      flex-shrink: 0;
      height: 250px;
      width: auto;
      margin: 0 12px;
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.05);
      background-color: #121214;
      transform-style: preserve-3d;
      perspective: 1000px;
      transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.15s ease-out;
      cursor: pointer;
    }
    
    .service-card:hover {
      border-color: #DA6815;
      box-shadow: 0 12px 30px rgba(218, 104, 21, 0.2);
    }

    .service-card-img {
      height: 100%;
      width: auto;
      display: block;
      object-fit: contain;
      pointer-events: none;
    }

    .service-card-overlay {
      position: absolute;
      inset: 0;
      background: rgba(5, 5, 6, 0.75);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 20px;
      text-align: center;
      opacity: 0;
      transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 10;
      transform: translateZ(40px) scale(0.9);
    }

    .service-card:hover .service-card-overlay {
      opacity: 1;
      transform: translateZ(40px) scale(1);
    }

    .service-card-title {
      font-family: 'Space Grotesk', sans-serif;
      font-size: 14px;
      font-weight: 600;
      color: #FFFFFF;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      line-height: 1.4;
      border-bottom: 1px solid rgba(218, 104, 21, 0.4);
      padding-bottom: 8px;
    }