/* Estilos base complementares para reproduzir o projeto original */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

body{ font-family: 'Montserrat', sans-serif; scroll-behavior: smooth; }

/* Paleta */
:root{ --primary:#242e5f; --secondary:#eee422; --secondary-10: rgba(238,228,34,0.1); --secondary-20: rgba(238,228,34,0.2); --secondary-30: rgba(238,228,34,0.3); }

/* Utility color classes (semantic) */
.bg-primary{ background:var(--primary) !important; }
.text-primary{ color:var(--primary) !important; }
.border-primary{ border-color:var(--primary) !important; }

.bg-secondary{ background:var(--secondary) !important; }
.text-secondary{ color:var(--secondary) !important; }
.border-secondary{ border-color:var(--secondary) !important; }

.bg-secondary-10{ background:var(--secondary-10) !important; }
.bg-secondary-20{ background:var(--secondary-20) !important; }
.bg-secondary-30{ background:var(--secondary-30) !important; }
.border-secondary-30{ border-color:var(--secondary-30) !important; }

/* Header scrolled state */
#main-header.scrolled { background-color: rgba(36,46,95,0.95); backdrop-filter: blur(8px); padding-top: 0.5rem; padding-bottom: 0.5rem; box-shadow: 0 10px 30px rgba(0,0,0,0.25); }
#main-header { padding-top: 1.25rem; padding-bottom: 1.25rem; transition: all .25s ease; background: transparent; }
#main-header.scrolled { padding-top: 0.5rem; padding-bottom: 0.5rem; }

/* Fine-tune logo and header alignment */
.logo-anchor{ display:flex; align-items:center; margin-right:1rem; }
.site-logo-img{ display:flex; align-items:center; }
/* Use the logo's real dimensions, constrain only by max-height to fit header */
.site-logo-img img{ height:auto; width:auto; max-height:140px; object-fit:contain; display:block; }
.custom-logo{ height:auto !important; max-height:140px; }

/* Slightly reduce gap and increase vertical padding on menu links to match logo height */
.primary-menu{ display:flex; gap:2rem; align-items:center; }
.primary-menu a{ padding:0.8rem 0; }

/* Keep responsive behavior */
@media(max-width:1023px){
  #main-header { padding-top:1rem; padding-bottom:1rem; }
  .site-logo-img img, .custom-logo{ max-height:80px; }
  .logo-anchor{ margin-right:0.5rem; }
}

/* Logo size transitions (matches original sizes) */
.logo-large{ height: 7.25rem; transition: height .35s ease; }
.logo-small{ height: 3.75rem; transition: height .35s ease; }
.site-logo-img img, .custom-logo{ height: 7.25rem; width: auto; display: block; }
@media(min-width:768px){ .logo-large{ height:3rem; } .logo-small{ height:4rem; } .site-logo-img img{ height:8rem; } }

/* Primary menu normal layout */
.primary-menu{ display:flex; gap:2.5rem; align-items:center; }
.primary-menu a{ position:relative; padding:0.5rem 0; color: rgba(255,255,255,0.9); font-weight:800; display:inline-block; }
.primary-menu a::after{ content:''; position:absolute; left:50%; bottom:0; width:0; height:2px; background:var(--secondary); transition:left .3s ease, width .3s ease; transform:translateX(-50%); }
.primary-menu li:hover > a::after{ left:0; width:100%; transform:none; }
.primary-menu a:hover{ color:var(--secondary); }

/* Force SVG icons to inherit color so admin-pasted SVGs show correctly */
.about-icon svg, .about-icon g, .about-icon path, .about-icon circle, .about-icon rect { fill: currentColor !important; stroke: currentColor !important; }
.about-icon svg{ width:36px; height:36px; display:block; }

/* Phone button aligned to the right */
.header-phone{ margin-left: 1rem; }
.header-phone .btn-phone{ background:var(--secondary); color:var(--primary); padding:0.6rem 1.2rem; border-radius:999px; font-weight:900; box-shadow:0 10px 25px rgba(238,228,34,0.18); display:inline-block; }
#main-header.scrolled .header-phone .btn-phone{ background:var(--secondary); color:var(--primary); }

/* On mobile, keep menu normal flow and hide floating phone */
@media(max-width:1023px){ .primary-menu{ position:static; transform:none; gap:0.75rem; }
  .primary-menu a{ color: #fff; }
  .header-phone{ display:none; }
}

/* Ensure header sits above hero */
#main-header{ z-index:60; }



/* Hero tweaks */
.hero-title { font-size: 2.25rem; }
@media(min-width:768px){ .hero-title{ font-size:3.5rem; } }

/* Buttons */
.btn-primary{ background:var(--secondary); color:var(--primary); }
.btn-phone{ background:var(--primary); color:#fff; }

/* Footer logo */
.footer-logo svg{ height:64px; }

/* Shadows and radius consistent with original */
.rounded-xl{ border-radius:1rem; }
.rounded-2xl{ border-radius:1.5rem; }
.rounded-3xl{ border-radius:2rem; }

/* Slider transitions */
[data-slide]{ transition: opacity 1s ease, transform 1s ease; }

/* Modal */
.hero-modal{ display:none; }
.hero-modal.open{ display:flex; align-items:center; justify-content:center; }

img{ max-width: 100%; height: auto; }
