@charset "utf-8";

/* ===== Containers / Base ===== */
.container, .container-lg { margin:auto; max-width:100%; }
@media (min-width:1141px){ .container{ max-width:1140px; } }
@media (min-width:1920px){ .container{ max-width:1740px; } }
@media (max-width:1200px){ .container{ padding:0 20px; } }
.container-lg{padding: 0px clamp(20px, 4vw, 150px);}

:root{
  --brand-navy:#123559; --brand-orange:#E06B2C; --ink:#0e1a2b; --muted:#8aa0b6;
  --border:#d9e2ec; --bg:#fff; --drawer-w:min(50vw,420px);
}
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{ margin:0; background:#fff; -webkit-font-smoothing:antialiased; color:#3a3a3a; }
b,strong{ font-weight:700; } .stronger{ font-weight:900; }
.break-word{ word-wrap:break-word; }
.body-nav-locked{ overflow:hidden; }

/* ===== Header ===== */
.site-header{ background:var(--bg); border-bottom:1px solid var(--border); position:relative; }
.header-top{ padding:14px 0; }
.header-grid{ display:grid; grid-template-columns:220px 1fr auto; align-items:center; gap:124px; }
.site-logo img{ display:block; max-height:227px; width:auto; }

/* Search */
.site-search{ position:relative; display:flex; align-items:center; height:52px;
  border:2px solid var(--brand-navy); border-radius:28px; padding:0 56px 0 22px; background:#fff; }
.site-search input{ flex:1; height:100%; border:0; font-size:16px; color:var(--ink); background:transparent; outline:none; }
.site-search input::placeholder{ color:var(--muted); }
.site-search .search-btn{ position:absolute; right:8px; width:36px; height:36px; border:0; background:transparent; display:grid; place-items:center; cursor:pointer; }
.site-search .search-btn svg{ width:22px; height:22px; fill:var(--brand-navy); }

/* Actions */
.header-actions{ display:flex; align-items:center; gap:16px; }
.btn-account{ display:inline-flex; align-items:center; gap:10px; background:var(--brand-orange); color:#fff;
  padding:14px 18px; border-radius:4px; text-decoration:none; font-weight:600; letter-spacing:.02em; transition:filter .15s; }
.btn-account:hover{ filter:brightness(.95); }
.btn-account svg{ width:20px; height:20px; fill:#fff; }
.cart-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  color: #000;
  height:42px;
  border-radius:50%;
  text-decoration:none;
  border:1px solid var(--border);
  background:#fff;
  }
.cart-link svg{ width:22px; height:22px; fill:var(--brand-navy); }
.cart-count{ position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 6px; border-radius:10px;
  background:var(--brand-navy); color:#fff; font-size:12px; line-height:20px; text-align:center; font-weight:700; }

/* Desktop nav */
.main-nav{ border-bottom:1px solid var(--border); }
.menu{ display:flex; align-items:center; gap:28px; list-style:none; padding:12px 0; margin:0; justify-self:center; white-space:nowrap; }
.menu-item{ position:relative; }
.menu-item > a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-weight:400;
  font-size:18px;
  color:var(--brand-navy);
  text-decoration:none;
  padding:6px 0;
  transition:color .15s;
  }
.menu-item > a:hover{ color:var(--ink); }

/* chevron DESKTOP mantém seu desenho (leve) */
.menu-item.has-children > a::after{
  content:""; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-1px); display:inline-block; transition:transform .15s, color .15s;
}
.menu-item.has-children:hover > a{ color:var(--brand-orange); }
.menu-item.has-children:hover > a::after{ color:var(--brand-orange); }

/* Dropdown */
.menu-item .sub-menu{
  position:absolute;
  left:0;
  top:calc(100% + 1px);
  width:340px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:4px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  /* padding:8px 0; */
  z-index:30;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:opacity .18s, transform .18s, visibility .18s;
}
.menu-item:hover > .sub-menu, .menu-item:focus-within > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.sub-menu, .sub-menu li{ list-style:none; margin:0; padding:0; }
.sub-menu > li > a{
  display:block; padding:14px 18px; text-decoration:none; color:var(--brand-navy); font-size:16px;
  border-bottom:1px solid var(--border); white-space:normal; overflow-wrap:anywhere; word-break:break-word;
}
.sub-menu > li:last-child > a{ border-bottom:0; }
.sub-menu > li > a:hover{ background:#f5f7fa; color:#e06b2c }

/* Drawer trigger */
.nav-toggle{ display:none; width:38px; height:26px; border:0; background:transparent; cursor:pointer; position:relative; }
.nav-toggle .bar, .nav-toggle::before, .nav-toggle::after{
  content:""; position:absolute; left:0; right:0; height:3px; border-radius:3px; background:#111; transition:transform .2s, opacity .2s;
}
.nav-toggle .bar{ top:50%; transform:translateY(-50%); }
.nav-toggle::before{ top:0; } .nav-toggle::after{ bottom:0; }
.nav-toggle.is-active::before{ transform:translateY(11px) rotate(45deg); }
.nav-toggle.is-active::after{ transform:translateY(-11px) rotate(-45deg); }
.nav-toggle.is-active .bar{ opacity:0; }

/* Scrim */
.drawer-scrim{ position:fixed; inset:0; background:rgba(0,0,0,.4); opacity:0; visibility:hidden; transition:opacity .2s, visibility .2s; z-index:70; }
.drawer-scrim.show{ opacity:1; visibility:visible; }
@media (min-width:1025px){ .drawer-scrim{ display:none !important; } button.drawer-close{ display:none; } }

/* ===== Mobile header & drawer ===== */
@media (max-width:1024px){

  .header-top{ padding:10px 0; }
  .header-grid{ grid-template-columns:auto 1fr; gap:clamp(6px,2.8vw,16px); }
  .site-logo img{ max-height:clamp(48px,9vw,64px); }
  .header-actions{grid-column:2;justify-self:end;gap:clamp(8px,2.6vw,14px);}
  .btn-account{ padding:10px 12px; font-size:clamp(12px,1.8vw,14px); border-radius:6px; }
  .cart-link{ width:36px; height:36px; }
  .cart-count{ top:-5px; right:-5px; }
  .nav-toggle{ display:inline-flex; width:34px; height:24px; margin-left:2px; }
  .site-search{ grid-column:1 / -1; margin:12px 0 8px; height:46px; border-radius:20px; }

  /* Drawer panel */
  #site-drawer{
    position:fixed;
    inset:0 0 0 auto;
    height:calc(var(--vh,1vh) * 100);
    width:var(--drawer-w);
    max-width:90vw;
    background:#fff;
    border-left:1px solid var(--border);
    box-shadow:-8px 0 24px rgba(0,0,0,.08);
    transform:translateX(100%);
    transition:transform .22s ease;
    z-index:80;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  #site-drawer.is-open{ transform:translateX(0); }

  #site-drawer .container-lg{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;padding:calc(26px + env(safe-area-inset-top)) 8px calc(24px + env(safe-area-inset-bottom));gap:12px;overflow:hidden;margin: 0;}

  #site-drawer .menu{
    display:block;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    white-space:normal;
    margin-top: 56px;
  }

  #site-drawer .menu-item{ border-bottom:1px solid var(--border); overflow:hidden; max-width:100%; }

  /* Link + espaço para o chevron */
  #site-drawer .menu-item > a{
    display:flex; align-items:center; justify-content:space-between;
    width:100%; max-width:100%; min-width:0; white-space:normal; overflow-wrap:anywhere; word-break:break-word; hyphens:auto;
    padding:16px 14px; padding-right:calc(44px + env(safe-area-inset-right));
    font-size:19px; color:var(--brand-navy); line-height:1.35; position:relative; overflow:visible;
  }

  /* ::after só no mobile com Font Awesome 6 Pro */
  #site-drawer .menu-item.has-children > a::after{
    content:"\f054"; /* chevron-right */
    font:900 18px/1 "Font Awesome 6 Pro";
    position:absolute; right:calc(12px + env(safe-area-inset-right)); top:50%; transform:translateY(-50%);
    color:var(--brand-navy); border:0 !important; width:auto !important; height:auto !important;
  }
  #site-drawer .menu-item.open > a{ color:var(--brand-orange); }
  #site-drawer .menu-item.open > a::after{ content:"\f077"; color:var(--brand-orange); }

  #site-drawer .sub-menu{
    position:static;
    display:none;
    opacity:1;
    visibility:visible;
    transform:none;
    margin:10px 0 16px;
    padding:8px 0;
    border:1px solid var(--border);
    border-radius:8px;
    box-shadow:0 10px 28px rgba(0,0,0,.10);
    width: 100%;
  }
  #site-drawer .menu-item.open > .sub-menu{ display:block; }
  #site-drawer .sub-menu > li > a{
    padding:14px 16px; font-size:clamp(15px,2.6vw,18px); border-bottom:1px solid var(--border);
    white-space:normal; overflow-wrap:anywhere; word-break:break-word; line-height:1.35;
  }
  #site-drawer .sub-menu > li:last-child > a{ border-bottom:0; }

  .drawer-close{
    position:absolute;
    top: calc(env(safe-area-inset-top) + 30px);
    right:calc(env(safe-area-inset-right) + 10px);
    width:40px;
    height:40px;
    border:0;
    background:transparent;
  }
  .drawer-close::before, .drawer-close::after{ content:""; position:absolute; inset:19px 8px; height:2px; background:#111; }
  .drawer-close::before{ transform:rotate(45deg); } .drawer-close::after{ transform:rotate(-45deg); }

  html,body{ overflow-x:hidden; }
}

/* X-small tweaks */
@media (max-width:480px){
  .btn-account span{ display:none; }
  .btn-account{ width:42px; padding:10px; justify-content:center; }
  #site-drawer .menu-item > a{ font-size:15px; }
  #site-drawer .sub-menu > li > a{ font-size:12px; }
}
@media (max-width:1024px){
  
   

  .header-grid{
    grid-template-columns: auto 1fr;                  
    grid-template-areas:
      "logo actions"
      "search search";
    align-items:center;
  }
  .site-logo{ grid-area:logo; }
  .header-actions{ grid-area:actions; justify-self:end; display:flex; align-items:center; gap:clamp(8px,2.6vw,14px); }
  .site-search{ grid-area:search; margin:12px 0 8px; } /* fica abaixo, full width */

    
}

/* ===== Botão padrão ===== */
.btn-layout{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 22px; border-radius:10px; border:1px solid var(--brand-orange);
  background:var(--brand-orange); color:#fff; font-weight:900; text-transform:uppercase; letter-spacing:.02em;
  text-decoration:none; transition:transform .06s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  will-change:transform;
}
.btn-layout:hover, .btn-layout:focus{ color:#fff; background:#133158; border-color:#133158; text-decoration:none; }

/* ===== Newsletter (acima do mapa) ===== */
.newsletter-cta{ padding:70px; background:#f3f4f6; border-block:1px solid var(--border); color:var(--brand-navy); }
.nl-wrap{ padding:36px 0 42px; text-align:center; }
.nl-title{margin:0 0 48px;font-weight:900;justify-self: center;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(20px,2.4vw,28px);}
.nl-form{ display:flex; justify-content:center; align-items:center; gap:14px; margin:8px auto 0; }
.nl-input{
  height:44px; width:100%; max-width:420px; border:1px solid var(--border); border-radius:6px; padding:0 12px;
  font-size:16px; color:var(--ink); background:#fff; outline:none;
}
.nl-input::placeholder{ color:#7a8a9a; }
.nl-input:focus{ border-color:var(--brand-navy); box-shadow:0 0 0 3px rgba(18,53,89,.12); }
.nl-form .btn-layout{ height:44px; padding:8px 16px; border-radius:8px; white-space:nowrap; }
.nl-msg{ margin-top:10px; font-weight:700; }
@media (max-width:640px){
  .newsletter-cta{ padding:70px 20px; }
  .nl-form{ flex-direction:column; gap:10px; width:min(520px,100%); }
  .nl-form .btn-layout{ width:100%; }
}
/* sr-only util */
.sr-only{ position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

/* ===== Map (full-bleed) ===== */
.map-section{ border-top:1px solid var(--border); background:#fff; }
.map-embed{ width:100vw; max-width:100vw; margin-left:50%; transform:translateX(-50%); overflow:hidden; }
.map-embed iframe{ display:block; width:100%; height:clamp(220px,19vw,340px); border:0; }
@supports (width:calc(100vw - env(safe-area-inset-left))){
  .map-embed{ width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right)); }
}

/* ===== Footer ===== */
.site-footer{background:#fff;color:var(--brand-navy);border-top:1px solid var(--border);padding:36px 0 0;font-family:'montserrat';overflow-x:clip;}
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:48px; align-items:start; }
.footer-logo img{ max-height:72px; width:auto; display:block; }
.contact-list{ list-style:none; padding:16px 0 0; margin:0; display:grid; gap:14px; }
.contact-list li{display:flex;gap:12px;font-size: 17px;color: #133058;align-items:flex-start;line-height:1.5;}
.contact-list i{color: #133058!important;margin-top:3px;width:18px;text-align:center;}
.contact-list a, .contact-list span{color: #133058;text-decoration:none;overflow-wrap:anywhere;word-break:break-word;}
.contact-list a:hover{ color:#e06b2c; }
.social{ display:flex; gap:12px; margin-top:18px; }
.social-btn{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  background: #133158;
  border-radius:6px;
  color: #FFF;
  text-decoration:none;
  transition:background .15s, color .15s, border-color .15s;
  }
.social-btn:hover{ background:var(--brand-orange); border-color:var(--brand-orange); color:#fff; }
.footer-title{margin: 6px 0 15px;font-weight:800;font-size: 19px;letter-spacing:.04em;text-transform:uppercase;color: #133158!important;}
.footer-links{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.footer-links a{color: #143058;font-size: 17px;text-decoration:none;}
.footer-links a:hover{ color:#e06b2c }
.footer-col--links{ position:relative; padding-left:40px; }
.footer-col--links::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--border); }
.footer-select select{ width:100%; height:38px; border:1px solid var(--border); border-radius:6px; padding:6px 10px; font:500 16px/1 'montserrat', sans-serif; color:var(--brand-navy); background:#fff; }
.footer-bottom{ border-top:1px solid var(--border); margin-top:36px; padding:14px 0; color:var(--brand-navy); font-size:14px; }
.footer-bottom p{ margin:0; }

@media (max-width:1024px){
  .footer-grid{ grid-template-columns:1fr; gap:18px; text-align:center; }
  .footer-col--links{ padding-left:0; } .footer-col--links::before{ display:none; }
  .footer-logo{ display:inline-block; }
  .contact-list{ justify-items:center; } .contact-list li{ justify-content:center; }
  .contact-list i{ margin-top:4px; }
  .social{ justify-content:center; flex-wrap:wrap; }
  .footer-title{ margin-top:12px; }
  .footer-select select{ max-width:420px; margin:0 auto; }
  .footer-bottom{ text-align:center; }
}
@media (max-width:480px){
  .site-footer .container-lg{ padding:0 16px; }
  .footer-grid{ gap:14px; }
  .footer-logo img{ max-height:60px; }
  .social-btn{ width:36px; height:36px; }
  .footer-select select{ font-size:15px; }
}
 .sr-only{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
  top: 0 !important;             
  left: 0 !important;
}

 
.nl-form, .newsletter-cta .nl-form{
  position: relative;
}

 /* =========================== Latest news  ======================== */
/* =========================================================== */
/* =========================================================== */

 
.latest-blogs{
  color: var(--brand-navy);
}
.latest-blogs .section-head.center{text-align:center;margin-bottom:22px;border-top: 1px solid #d9d9d9;}
header.section-head.center h2 {
    margin-top: 50px;
}
 
.lb-grid{
  display:grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
}
@media (max-width: 1280px){ .lb-grid{ grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 1024px){ .lb-grid{ grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 780px){  .lb-grid{ grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px){  .lb-grid{ grid-template-columns: 1fr; } }

/* card */
.lb-card{
  height: 90%;
  background:#fff;
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
  transition: box-shadow .18s ease, transform .08s ease;
}
.lb-card:hover{ box-shadow:0 8px 22px rgba(18,53,89,.10); transform: translateY(-1px); }

 
.lb-link{display:flex;flex-direction:column;height:100%;color:inherit;background: #F6F6F6;text-decoration:none;}

 
.lb-media{
  /* aspect-ratio: 16 / 9; */
  background: #f6f6f6;
  overflow:hidden;
  margin-bottom: 0;
}
.lb-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

 
.lb-body{
  border-top:1px solid var(--border);
  padding: 16px 14px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 170px;   
}
.lb-title{
  margin:0; text-align:center;
  font-weight:900; text-transform:uppercase;
  font-size: clamp(14px, 1.15vw, 18px);
  line-height:1.3; letter-spacing:.01em;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
  word-break: break-word;
}

 
.lb-card:focus-within{ outline:2px solid var(--brand-orange); outline-offset:2px; border-radius:10px; }

.footer-links
 .menu-item > a {
padding:0;
 }

 /* ===== Announcement Bar ===== */
.announcement-bar{
  background: #123559;
  color: #fff;
  text-align: center;
  font-size: 17px;
  font-weight: 500;
  padding: 16px 12px;
  position: relative;
  z-index: 20;
}

.announcement-bar p{
  margin: 5px;
  font-weight: 400;
  /* font-weight: bold; */
}
