@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); }

/* Search Wrapper - Ajax Search Pro styling (matches .site-search original design) */
/* MASTER CONTAINER - matches original form styling exactly */
.site-search-wrapper { 
  position:relative; 
  display:flex; 
  align-items:center; 
  height:52px;
  border:2px solid var(--brand-navy) !important; 
  border-radius:28px !important; 
  padding:0 56px 0 22px !important; 
  background:#fff !important; 
  flex:1;
}

/* Reset all nested containers to be transparent and flex */
.site-search-wrapper .asp_w_container,
.site-search-wrapper .asp_w_container_1,
.site-search-wrapper .asp_w_container_1_1 { 
  width: 100% !important; 
  height: 100% !important; 
  background:transparent !important; 
  border:none !important; 
  padding:0 !important; 
  margin:0 !important; 
  display:flex !important; 
  align-items:center !important; 
}

.site-search-wrapper .ajaxsearchpro,
.site-search-wrapper .asp_m,
.site-search-wrapper .asp_m_1,
.site-search-wrapper .asp_m_1_1 { 
  display:flex !important; 
  align-items:center !important; 
  height:100% !important; 
  background:transparent !important; 
  width:100% !important; 
  border:none !important; 
  padding:0 !important; 
  margin:0 !important; 
  flex:1;
}

.site-search-wrapper .probox { 
  display:flex !important; 
  align-items:center !important; 
  flex:1 !important; 
  height:100% !important; 
  background:transparent !important; 
  border:none !important; 
  padding:0 !important; 
  margin:0 !important; 
}

/* INPUT FIELD STYLING - Remove all pink/colored backgrounds */
.site-search-wrapper .proinput { 
  flex:1 !important; 
  height:100% !important; 
  display:flex !important; 
  align-items:center !important; 
  background:transparent !important; 
  border:none !important; 
  padding:0 !important; 
  margin:0 !important; 
}

.site-search-wrapper .proinput form { 
  flex:1 !important; 
  display:flex !important; 
  align-items:center !important; 
  height:100% !important; 
  background:transparent !important; 
  border:none !important; 
  padding:0 !important; 
  margin:0 !important; 
}

/* Remove all backgrounds from input elements - critical to eliminate pink */
.site-search-wrapper input[type="search"],
.site-search-wrapper input[type="text"],
.site-search-wrapper input { 
  flex:1 !important; 
  height:100% !important; 
  border:none !important; 
  font-size:16px !important; 
  color:var(--ink) !important; 
  background:transparent !important; 
  outline:none !important; 
  padding:0 8px !important; /* Add left/right padding so text isn't cut off */
  margin:0 !important; 
  box-shadow:none !important; 
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
}

.site-search-wrapper input[type="search"].orig { 
  display:block !important; 
  text-indent:6px !important;
}

/* Style placeholder text - darker and bigger to match site design */
.site-search-wrapper input[type="search"].orig::placeholder { 
  color:var(--ink) !important; 
  font-size:15px !important; 
  opacity:0.7 !important; 
}

.site-search-wrapper input[type="text"].autocomplete { 
  display:none !important; /* Hide autocomplete helper input */
}

.site-search-wrapper input::placeholder{ 
  color:var(--muted) !important; 
}

.site-search-wrapper input:focus { 
  outline:none !important; 
  background:transparent !important; 
  border:none !important; 
  box-shadow:none !important; 
}

/* SEARCH BUTTON - Match original magnifying glass styling */
.site-search-wrapper .promagnifier { 
  position:absolute !important; 
  right:8px !important; 
  top:50% !important;
  transform:translateY(-50%) !important;
  width:36px !important; 
  height:36px !important; 
  border:none !important; 
  background:transparent !important; 
  display:grid !important; 
  place-items:center !important; 
  cursor:pointer !important; 
  color:var(--brand-navy) !important; 
  padding:0 !important; 
  margin:0 !important; 
}

.site-search-wrapper .promagnifier:hover { 
  filter:brightness(.95) !important; 
}

.site-search-wrapper .promagnifier span.innericon { 
  display:flex !important; 
  align-items:center !important; 
  justify-content:center !important; 
  width:100% !important; 
  height:100% !important; 
}

.site-search-wrapper .promagnifier svg { 
  width:22px !important; 
  height:22px !important; 
  fill:var(--brand-navy) !important; 
}

.site-search-wrapper .promagnifier .asp_text_button,
.site-search-wrapper .promagnifier .hiddend { 
  display:none !important; /* Hide "Search" text label */
}

.site-search-wrapper .promagnifier .asp_clear {
  display:none !important;
}

/* HIDE Ajax Search Pro elements not in original design */
.site-search-wrapper .prosettings,
.site-search-wrapper .proclose,
.site-search-wrapper .proloading { 
  display:none !important; 
}

/* DROPDOWN/RESULTS STYLING - Match search bar design */
/* Style the results container dropdown */
#__original__ajaxsearchprores1_1,
.site-search-wrapper .asp_r,
.asp_r_1_1 { 
  border:2px solid var(--brand-navy) !important; 
  border-radius:6px !important; 
  background:#fff !important; 
  box-shadow:0 4px 6px rgba(0,0,0,0.1) !important; 
  margin-top:6px !important; 
  overflow:hidden !important; 
}

/* Style individual result items */
#__original__ajaxsearchprores1_1 .asp_r_item,
.site-search-wrapper .asp_r_item { 
  padding:12px 16px !important; 
  border-bottom:1px solid #f0f0f0 !important; 
  transition:background-color 0.2s ease !important; 
  cursor:pointer !important; 
}

#__original__ajaxsearchprores1_1 .asp_r_item:last-child,
.site-search-wrapper .asp_r_item:last-child { 
  border-bottom:none !important; 
}

#__original__ajaxsearchprores1_1 .asp_r_item:hover,
.site-search-wrapper .asp_r_item:hover { 
  background-color:#f9f9f9 !important; 
  color:var(--brand-navy) !important; 
}

/* Style result item title and text */
#__original__ajaxsearchprores1_1 .asp_r_item h3,
#__original__ajaxsearchprores1_1 .asp_r_item p,
.site-search-wrapper .asp_r_item h3,
.site-search-wrapper .asp_r_item p { 
  color:var(--ink) !important; 
  margin:0 !important; 
}

#__original__ajaxsearchprores1_1 .asp_r_item h3,
.site-search-wrapper .asp_r_item h3 { 
  font-weight:600 !important; 
  font-size:14px !important; 
  margin-bottom:4px !important; 
  color:var(--brand-navy) !important; 
}

#__original__ajaxsearchprores1_1 .asp_r_item p,
.site-search-wrapper .asp_r_item p { 
  font-size:13px !important; 
  color:var(--muted) !important; 
}

/* Style the no results message */
#__original__ajaxsearchprores1_1 .asp_r_no_results,
.site-search-wrapper .asp_r_no_results { 
  padding:16px !important; 
  text-align:center !important; 
  color:var(--muted) !important; 
  font-size:14px !important; 
}

/* 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; }

/* WooCommerce Block Components Button - Match .btn-account styling */
.wc-block-components-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: var(--brand-orange) !important;
  color: #fff !important;
  padding: 14px 18px;
  border: none !important;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: filter 0.15s;
  font-size: inherit;
  cursor: pointer;
}

.wc-block-components-button:hover {
  filter: brightness(0.95);
}

.wc-block-components-button:active,
.wc-block-components-button:focus {
  filter: brightness(0.9);
  outline: none;
}

.wc-block-components-button svg {
  width: 20px;
  height: 20px;
  fill: #fff;
  display: none; /* Hide default icon as requested */
}

.wc-block-components-button--secondary {
  background: var(--brand-navy) !important;
}

.wc-block-components-button--secondary:hover {
  filter: brightness(1.05);
}

/* WooCommerce Block Checkout Place Order Button - Red/Maroon Gradient */
.wc-block-components-checkout-place-order-button {
  width: 100%;
  padding: 14px 20px !important;
  background: linear-gradient(135deg, var(--brand-orange) 0%, var(--brand-orange) 100%) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: "Montserrat", sans-serif;
  display: block;
  text-decoration: none !important;
  text-align: center;
}

.wc-block-components-checkout-place-order-button:hover {
  background: linear-gradient(135deg, #123559, #123559) !important;
  text-decoration: none !important;
  border: none !important;
}

.wc-block-components-checkout-place-order-button:active,
.wc-block-components-checkout-place-order-button:focus {
  background: linear-gradient(135deg, #123559, #123559) !important;
  outline: none;
  border: none !important;
}

.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: #e06b2c;}
/* 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{
  display:block;
  width:100vw;
  max-width:100vw;
  margin-left:50%;
  transform:translateX(-50%);
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.map-embed iframe{ display:block; width:100%; height:clamp(220px,19vw,340px); border:0; }
.map-embed:focus-visible{ outline:3px solid var(--brand-orange); outline-offset:-3px; }
@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: flex-start;} .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); }

/* =============================================================
   Classic Checkout – Block-Style Redesign
   ============================================================= */

/* Hide the classic coupon toggle banner (sidebar has its own coupon) */
.woocommerce-checkout .woocommerce-form-coupon-toggle { display: none; }
.woocommerce-checkout .checkout_coupon { display: none !important; }

/* ── Layout: 2-column grid ── */
form.checkout.ppv-checkout-main {
  display: grid;
  grid-template-columns: 1fr 380px;
  column-gap: 40px;
  align-items: start;
}
form.checkout.ppv-checkout-main #customer_details { grid-column: 1; grid-row: 1; }
form.checkout.ppv-checkout-main h3#order_review_heading { display: none; }
/* Sidebar: review table spans both rows on the right */
form.checkout.ppv-checkout-main #order_review {
  grid-column: 2;
  grid-row: 1 / span 2;
  position: sticky;
  top: 80px;
  background: #fff;
  border: 1.5px solid #e5e9ee;
  border-radius: 10px;
  overflow: hidden;
  align-self: start;
}
/* Payment section lands in left column row 2 after JS moves it */
form.checkout.ppv-checkout-main > #payment {
  grid-column: 1;
  grid-row: 2;
}
/* Before JS runs, hide payment while it's still inside #order_review */
form.checkout.ppv-checkout-main #order_review #payment {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

/* ── Remove WC col2-set float layout ── */
form.checkout.ppv-checkout-main #customer_details { display: block; }

/* ── Section headings ── */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--brand-navy);
  margin: 0 0 20px;
  padding: 0;
  border: none;
  font-family: "Montserrat", sans-serif;
}
.woocommerce-shipping-fields > h3 { margin-top: 28px; }
#ship-to-different-address {
  display: flex !important;
  align-items: center;
  gap: 10px;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-top: 28px !important;
}

/* ── Field labels ── */
form.checkout.ppv-checkout-main .form-row label {
  font-weight: 600;
  font-size: 13px;
  color: var(--ink);
  margin-bottom: 5px;
  display: block;
}
form.checkout.ppv-checkout-main .required { color: #c0392b; }

/* ── Input fields ── */
form.checkout.ppv-checkout-main input.input-text,
form.checkout.ppv-checkout-main select,
form.checkout.ppv-checkout-main textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #d0d5dd;
  border-radius: 6px;
  font-size: 15px;
  color: var(--ink);
  background: #fff;
  transition: border-color .18s, box-shadow .18s;
  outline: none;
  font-family: inherit;
}
form.checkout.ppv-checkout-main input.input-text:focus,
form.checkout.ppv-checkout-main select:focus,
form.checkout.ppv-checkout-main textarea:focus {
  border-color: var(--brand-navy);
  box-shadow: 0 0 0 3px rgba(18,53,89,.08);
}

/* ── Form row grid (first/last 50-50) ── */
form.checkout.ppv-checkout-main .form-row { margin-bottom: 16px; padding: 0; }
form.checkout.ppv-checkout-main .form-row-first {
  float: left; width: calc(50% - 8px); margin-right: 16px; clear: none;
}
form.checkout.ppv-checkout-main .form-row-last {
  float: right; width: calc(50% - 8px); clear: none;
}
form.checkout.ppv-checkout-main .form-row-wide { clear: both; width: 100%; }
form.checkout.ppv-checkout-main .woocommerce-billing-fields__field-wrapper::after,
form.checkout.ppv-checkout-main .woocommerce-shipping-fields__field-wrapper::after {
  content: ''; display: table; clear: both;
}

/* ── Payment section (left column, after JS moves it) ── */
form.checkout.ppv-checkout-main > #payment {
  background: transparent;
  border: none;
  padding: 0;
  border-radius: 0;
  margin-top: 8px;
}
form.checkout.ppv-checkout-main > #payment::before {
  content: "Payment options";
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: var(--brand-navy);
  margin-bottom: 16px;
  font-family: "Montserrat", sans-serif;
}
form.checkout.ppv-checkout-main > #payment .wc_payment_methods {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
form.checkout.ppv-checkout-main > #payment .wc_payment_methods li.payment_method {
  border: 1.5px solid #d0d5dd;
  border-radius: 8px;
  padding: 16px 20px;
  background: #fff;
}
form.checkout.ppv-checkout-main > #payment .wc_payment_methods li.payment_method:has(input:checked) {
  border-color: var(--brand-navy);
  background: rgba(18,53,89,.03);
}
form.checkout.ppv-checkout-main > #payment .wc_payment_methods li > label {
  font-weight: 600;
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  margin: 0;
}
form.checkout.ppv-checkout-main > #payment .payment_box {
  margin-top: 14px;
  padding: 0;
  background: transparent;
  border: none;
}
form.checkout.ppv-checkout-main > #payment .payment_box::before { display: none; }

/* ── Place order button ── */
form.checkout.ppv-checkout-main > #payment #place_order {
  display: block;
  width: 100%;
  padding: 15px 20px;
  background: linear-gradient(135deg, #d4342f 0%, #b81c23 100%);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .2s;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0.04em;
  margin-top: 20px;
}
form.checkout.ppv-checkout-main > #payment #place_order:hover { filter: brightness(1.1); }

/* Terms line */
.woocommerce-terms-and-conditions-wrapper {
  font-size: 13px;
  color: #666;
  margin-bottom: 12px;
}

/* ── Sidebar: Order Summary heading ── */
.ppv-review-heading {
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  padding: 18px 20px 16px;
  border-bottom: 1px solid #e5e9ee;
  font-family: "Montserrat", sans-serif;
  margin: 0;
}

/* ── Sidebar: review table → block layout ── */
.woocommerce-checkout-review-order-table {
  display: block;
  width: 100%;
  border: none;
  border-collapse: collapse;
}
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table tbody {
  display: block;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e9ee;
}
.woocommerce-checkout-review-order-table tbody.ppv-coupon-section {
  padding: 0;
  border-bottom: 1px solid #e5e9ee;
}
.woocommerce-checkout-review-order-table tbody tr.cart_item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}
.woocommerce-checkout-review-order-table tbody tr.cart_item td {
  border: none;
  padding: 0;
}
.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-name {
  flex: 1;
  min-width: 0;
}
.woocommerce-checkout-review-order-table tbody tr.cart_item td.product-total {
  font-weight: 700;
  font-size: 14px;
  color: var(--ink);
  white-space: nowrap;
  padding-top: 4px;
}

/* ── Product thumbnail in sidebar ── */
.ppv-review-item-inner { display: flex; align-items: flex-start; gap: 12px; }
.ppv-review-thumb-wrap {
  position: relative;
  flex-shrink: 0;
  width: 58px;
  height: 58px;
}
.ppv-review-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid #e5e9ee;
  display: block;
}
.ppv-review-qty-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 22px;
  height: 22px;
  background: #4a4a4a;
  color: #fff;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.ppv-review-item-text { flex: 1; min-width: 0; font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.35; }

/* ── Coupon accordion in sidebar ── */
.ppv-review-coupon-row > td {
  padding: 0 !important;
  border: none !important;
}
.ppv-review-coupon-row { display: block; }
.ppv-review-coupon-summary {
  padding: 13px 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  user-select: none;
}
.ppv-review-coupon-summary::-webkit-details-marker { display: none; }
.ppv-coupon-chevron { transition: transform .2s; flex-shrink: 0; }
.ppv-review-coupon-details[open] .ppv-coupon-chevron { transform: rotate(180deg); }
.ppv-review-coupon-body { padding: 0 16px 16px; display: flex; gap: 8px; }
.ppv-review-coupon-input {
  flex: 1;
  padding: 9px 13px;
  border: 1.5px solid #d0d5dd;
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  color: var(--ink);
  font-family: inherit;
}
.ppv-review-coupon-input:focus { border-color: var(--brand-navy); }
.ppv-review-coupon-btn {
  padding: 9px 18px;
  background: var(--brand-orange);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: filter .15s;
  font-family: inherit;
  white-space: nowrap;
}
.ppv-review-coupon-btn:hover { filter: brightness(1.1); }

/* ── Sidebar tfoot (totals) ── */
.woocommerce-checkout-review-order-table tfoot { display: block; padding: 12px 20px 16px; }
.woocommerce-checkout-review-order-table tfoot tr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 0;
  border-bottom: 1px solid #f0f2f5;
}
.woocommerce-checkout-review-order-table tfoot tr:last-child { border-bottom: none; }
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
  border: none;
  padding: 0;
  font-size: 14px;
  color: #555;
  font-weight: 400;
  background: none;
}
.woocommerce-checkout-review-order-table tfoot tr th { text-align: left; }
.woocommerce-checkout-review-order-table tfoot tr td { text-align: right; }
.woocommerce-checkout-review-order-table tfoot tr.order-total {
  border-top: 2px solid #d0d5dd;
  border-bottom: none;
  margin-top: 4px;
  padding-top: 12px;
}
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
  font-weight: 700;
  color: var(--ink);
  font-size: 16px;
}

/* ── Shipping method list (inside tfoot .order-shipping) ── */
.woocommerce-checkout-review-order-table tfoot tr.order-shipping {
  flex-direction: column;
  align-items: stretch;
  padding: 10px 0;
  border-bottom: 1px solid #f0f2f5;
}
.woocommerce-checkout-review-order-table tfoot tr.order-shipping th {
  margin-bottom: 10px;
  font-weight: 600;
  color: var(--ink);
  font-size: 14px;
}
.woocommerce-checkout-review-order-table tfoot tr.order-shipping td { text-align: left; }
#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
#shipping_method li {
  display: flex;
  align-items: center;
  border: 1.5px solid #d0d5dd;
  border-radius: 6px;
  padding: 10px 14px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
#shipping_method li:has(input:checked) {
  border-color: var(--brand-navy);
  background: rgba(18,53,89,.04);
}
#shipping_method li label {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
}
#shipping_method li input[type="radio"] {
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--brand-navy);
  width: 16px;
  height: 16px;
  cursor: pointer;
}
#shipping_method li label .woocommerce-Price-amount { margin-left: auto; font-weight: 700; }

/* ── Responsive: stack on mobile ── */
@media (max-width: 960px) {
  form.checkout.ppv-checkout-main {
    grid-template-columns: 1fr;
  }
  form.checkout.ppv-checkout-main #customer_details { grid-row: 2; }
  form.checkout.ppv-checkout-main #order_review { grid-column: 1; grid-row: 1; position: static; }
  form.checkout.ppv-checkout-main > #payment { grid-column: 1; grid-row: 3; }
}

.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;
  flex-direction:column;
  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;
  width:100%;
}
.lb-excerpt{
  margin:12px 0 0 0;
  padding-top:12px;
  border-top:1px solid var(--border);
  font-size:13px;
  line-height:1.5;
  color:#666;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.lb-body:has(.lb-excerpt) {
  justify-content:flex-start;
}
.lb-body:has(.lb-excerpt) .lb-title {
  margin-bottom:auto;
}

 
.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; */
}

/********************** CUSTOM CSS FROM WP ADMIN (DO NOT EDIT) **********************/
h2.wp-block-heading.has-text-align-center {
    margin-bottom: 20px;
}

h2.wp-block-heading {
    margin-bottom: 20px;
}

.product-title a {
font-size:18px;
}

.shop-hero {
  grid-template-columns: 1fr 1fr;
}

.product-media {
    height: 356px;
}
.product-price {
 
  margin-bottom: 0;
}
.product-body {
  margin-bottom: 20px;
}

.product-card-actions {
    align-self: center;
}

/* =====================================================
      MOBILE — v2
   Adicione ao FINAL do global.css ou no CSS Adicional.
    
   ===================================================== */


/* ==============================================
   A) OVERFLOW GLOBAL — só impede scroll horizontal
   ============================================== */

html, body {
  overflow-x: hidden;
}


/* ==============================================
   B) HEADER — Tablet (≤1024px)
   ============================================== */

@media (max-width: 1024px) {

  .header-grid {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "logo   actions"
      "search search";
    gap: 8px 12px;
    align-items: center;
  }

  .site-logo        { grid-area: logo; }
  .header-actions   { grid-area: actions; justify-self: end; }

  .site-search,
  .site-search-wrapper {
    grid-area: search;
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    margin: 8px 0 6px;
  }
}


/* ==============================================
   C) HEADER — Telefones (≤480px)
   Substitui o antigo bloco de 462px
   ============================================== */

@media (max-width: 480px) {

  .header-top {
    padding: 8px 0;
  }

  .header-grid {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "logo   actions"
      "search search";
    gap: 6px 8px;
  }

  .site-logo img {
    max-height: 40px;
    width: auto;
  }

  .header-actions {
    gap: 8px;
  }

  .btn-account {
    padding: 8px;
    width: 36px;
    height: 36px;
    justify-content: center;
    border-radius: 6px;
  }
  .btn-account span { display: none; }
  .btn-account i    { font-size: 15px; }

  .cart-link {
    width: 34px;
    height: 34px;
  }
  .cart-count {
    top: -4px;
    right: -4px;
    min-width: 17px;
    height: 17px;
    line-height: 17px;
    font-size: 10px;
    padding: 0 4px;
  }

  .nav-toggle {
    display: inline-flex;
    width: 28px;
    height: 20px;
    flex-shrink: 0;
  }

  .site-search,
  .site-search-wrapper {
    height: 40px;
    border-radius: 20px;
  }

  .announcement-bar {
    font-size: 12px;
    padding: 8px 10px;
  }
  .announcement-bar p {
    margin: 2px;
    line-height: 1.3;
  }
}


/* ==============================================
   D) DRAWER — Telefones (≤480px)
   ============================================== */

@media (max-width: 480px) {

  #site-drawer {
    width: min(85vw, 320px);
  }

  #site-drawer .menu {
    margin-top: 48px;
  }

  #site-drawer .menu-item > a {
    font-size: 15px;
    padding: 13px 12px;
    padding-right: calc(36px + env(safe-area-inset-right));
  }

  #site-drawer .menu-item.has-children > a::after {
    font-size: 14px;
    right: calc(10px + env(safe-area-inset-right));
  }

  #site-drawer .sub-menu > li > a {
    font-size: 13px;
    padding: 11px 14px;
  }

  .drawer-close {
    top: calc(env(safe-area-inset-top) + 14px);
    right: calc(env(safe-area-inset-right) + 8px);
    width: 36px;
    height: 36px;
  }
}


/* ==============================================
   E) HERO SWIPER — Telefones (≤480px)
   ============================================== */

@media (max-width: 480px) {

  .hero-wrap {
    margin: 12px 0 0;
  }

  .hero-swiper {
    --hero-h: 480px;
    border-radius: 8px;
  }

  .hero-swiper .swiper-pagination {
    margin: 16px 0 4px;
  }
}


/* ==============================================
   F) SEÇÕES — ESPAÇOS BRANCOS (≤640px apenas)
   
   Estas regras SÓ se aplicam em mobile pequeno.
   Acima de 640px tudo fica como o tema define.
   ============================================== */

@media (max-width: 640px) {

  /* Reduzir padding dentro dos landing blocks */
  .landing-block.design-padding-normal {
    padding-top: 20px;
    padding-bottom: 20px;
  }

  .landing-block.design-padding-spacious {
    padding-top: 28px;
    padding-bottom: 28px;
  }

  /* Reduzir margin entre seções */
  .landing-block.design-margin-small {
    margin-top: 6px;
    margin-bottom: 6px;
  }

  /* Padding interno dos containers das seções */
  .landing-block .container-fluid > .container.w-100 {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* --- Best Sellers --- */
  .landing-block-best-sellers-home h2,
  .landing-block-best-sellers-home .landing-block-heading {
    font-size: 22px;
    margin-bottom: 16px;
  }

  .product-card .product-media {
    height: clamp(340px, 55vw, 360px);
    min-height: 340px;
  }

  .product-title {
    height: auto;
    min-height: 60px;
    padding: 12px 10px 14px;
    font-size: 14px;
  }

  .product-price {
    padding: 0 10px 8px;
    font-size: 18px;
    text-align: center;
  }

  .product-card-actions {
    padding: 0 10px 14px;
    text-align: center;
  }

  .btn-add-to-cart {
    font-size: 14px;
    padding: 8px 14px;
    width: 100%;
  }

  /* --- Health Goals --- */
  .health-goals {
    padding: 16px 0 20px;
  }

  .health-goals .section-title {
    font-size: 22px;
    margin-bottom: 16px;
  }

  .goals-grid {
    gap: 10px;
  }

  .goal-media {
    padding: 18px 8px;
  }

  .goal-media img {
    width: clamp(50px, 14vw, 90px);
  }

  .goal-label {
    min-height: 46px;
    padding: 8px 6px;
    font-size: 11px;
  }

  /* --- Shop by Products --- */
  .shop-products .section-head.center {
    margin-bottom: 16px;
  }

  h2#shop-products-title {
    margin-bottom: 16px;
    font-size: 22px;
  }

  .sp-grid {
    gap: 14px;
  }

  .sp-media {
    aspect-ratio: 16 / 10;
    padding: 12px 8px;
  }

  .sp-caption {
    min-height: 46px;
    padding: 10px 8px;
  }

  /* --- Signature Pak Banner --- */
  .landing-block-signature-paks {
    padding-top: 4px;
    padding-bottom: 4px;
  }

  /* --- Value Prop / Shop with us --- */
  .vp-wrap {
    padding: 0 10px;
  }

  .vp-title {
    font-size: clamp(22px, 5.5vw, 32px);
    padding-top: 20px;
    margin-bottom: 8px;
  }

  .vp-sub {
    font-size: 14px;
    margin-bottom: 16px;
  }

  .vp-sub br {
    display: none;
  }

  /* --- Latest Blogs --- */
  header.section-head.center h2 {
    margin-top: 20px;
    font-size: 22px;
  }

  .latest-blogs .section-head.center {
    margin-bottom: 12px;
  }

  .lb-card {
    height: auto;
  }

  .lb-body {
    min-height: 70px;
    padding: 12px 10px 14px;
  }

  .lb-title {
    font-size: 14px;
  }

  /* --- Why Hotze --- */
  .landing-block-why-hotze .cat-title {
    font-size: 22px;
    margin-bottom: 12px;
  }

  .landing-block-why-hotze .cat-intro {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .landing-block-why-hotze .cat-intro p {
    margin-bottom: 0.5em;
  }

  .landing-block-why-hotze .cat-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .landing-block-why-hotze .cat-media img {
    width: 100%;
    height: auto;
    max-height: 260px;
    object-fit: cover;
    border-radius: 8px;
  }

  .landing-block-why-hotze .cat-posttext {
    font-size: 14px;
    margin-top: 12px;
  }

  /* --- Reviews --- */
  .reviews-box {
    padding: 16px 0 0;
  }

  /* --- H2 geral dentro de landing blocks --- */
  .landing-block h2 {
    margin-bottom: 16px;
  }
}


/* ==============================================
   G) NEWSLETTER & MAP — Telefones (≤480px)
   ============================================== */

@media (max-width: 480px) {

  .newsletter-cta {
    padding: 28px 16px;
  }

  .nl-title {
    font-size: 18px;
    margin-bottom: 16px;
  }

  .nl-form {
    flex-direction: column;
    gap: 10px;
  }

  .nl-input {
    height: 42px;
    max-width: 100%;
  }

  .nl-form .btn-layout {
    width: 100%;
    height: 42px;
  }

  .map-embed iframe {
    height: 200px;
  }
}


/* ==============================================
   H) FOOTER — Telefones (≤480px)
   ============================================== */

@media (max-width: 480px) {

  .site-footer {
    padding: 20px 0 0;
  }

  .footer-grid {
    gap: 18px;
  }

  .footer-logo img {
    max-height: 48px;
  }

  .contact-list li {
    font-size: 14px;
  }

  .footer-title {
    font-size: 16px;
    margin: 8px 0 8px;
  }

  .footer-links a {
    font-size: 14px;
  }

  .footer-bottom {
    margin-top: 18px;
    padding: 12px 0;
    font-size: 12px;
  }
}



/* 1. Parent Alignment: Ensure the containers (Slides or Grid Items) are Flex */
.product-block-swiper .swiper-slide,
.products-grid > * { 
    display: flex;
    height: auto; /* Required for the card to know it can stretch */
}

/* 2. Global Card Logic: Force the card to fill the height */
.product-card {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    width: 100%;
    /* Add a background or border here if not already defined 
       to see the equal heights immediately */
}

/* 3. Global Title Logic: Keep titles consistent (2 lines) */
.product-title {
    min-height: 3em; 
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 10px;
}

/* 4. Global Footer Logic: The "Magic Bullet" */
/* This pushes everything in the footer area to the absolute bottom of the card */
.card-footer-area { 
    margin-top: auto !important; 
    padding-top: 15px;
}

/* ==============================================
   I) SWIPER NAVIGATION — MOBILE (≤768px)
   ============================================== */

@media (max-width: 768px) {

  .product-block-swiper {
    overflow: hidden;
  }
}

/* ==============================================
   J) SWIPER SLIDES — Desktop fixed width (420px)
   ============================================== */
@media (min-width: 1025px) {
  .product-block-swiper .swiper-slide {
    width: 420px;
  }
}

/* ===== Containers / Base ===== */
/* Substitua o bloco original por este */

.container, .container-lg {
  margin: auto;
  width: 100%;
  max-width: 1920px;
}

.container {
  padding: 0 clamp(20px, 2vw, 60px);
}

.container-lg {
  padding: 0 80px;
}
@media (max-width: 1280px) { .container-lg { padding: 0 60px; } }
@media (max-width: 1024px) { .container-lg { padding: 0 40px; } }
@media (max-width: 768px)  { .container-lg { padding: 0 24px; } }
@media (max-width: 480px)  { .container-lg { padding: 0 16px; } }
.btn-layout{
  
  border: 1px solid #123559;
  background: #123559;
  color:#fff;
   
}
.btn-layout:hover, .btn-layout:focus{ color:#fff; background:var(--brand-orange); border-color:var(--brand-orange); text-decoration:none; }

.btn-add-to-cart{
  color: #fff;
  background-color: #123559;
}
.btn-add-to-cart:hover{background-color: #e06b2c;text-decoration:none;}

.btn-account{  background:#123559; }

.btn-account:hover{  background:#e06b2c; }

.gform_wrapper .gform_footer input.button,
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_page_footer input.button,
.gform_wrapper .gform_page_footer input[type=submit] {
   
  border: 1px solid #123559;
   
  background: var(--main-color, #123559);
}

/* Hide Google Maps iframe, show static image instead */
.map-section .map-embed iframe {
  display: none;
}

.map-section .map-embed {
  position: relative;
  cursor: pointer;
}

.map-section .map-embed::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 13%;
  background: url("/wp-content/uploads/2026/04/footer-map.png") center/cover no-repeat;
}

/* ===================================================================================
   ====================== START: SUBSCRIPTION BOX STYLES =============================
   ===================================================================================
   Subscription dropdown UI — custom replacement for the APFS (All Products For
   Subscriptions) native select element on product cards and the single product page.

   MOVED HERE from global.css (was mistakenly edited when interior.css was disabled).
   interior.css is permanently disabled — do NOT place styles there.
   ===================================================================================
*/

/* NOTE: The .product-card overflow fix is in pages.css (overflow:visible on .product-card,
   overflow:hidden on .product-media to clip images). Do NOT add overflow:hidden on
   .product-card here — it would clip the subscription dropdown menu. */

.wcsatt-options-dropdown {
  position: relative;
  margin: 8px 0;
  max-width: 300px;
}

.wcsatt-dropdown-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  font-size: 15px;
  color: #133058;
  transition: all 0.2s ease;
}
.pd-actions .wcsatt-dropdown-toggle {
  height: 50px;
}

.wcsatt-dropdown-toggle:hover {
  border-color: #133058;
  background: #f9f9f9;
}

.wcsatt-dropdown-toggle:focus {
  outline: 2px solid #133058;
  outline-offset: 2px;
}

.wcsatt-dropdown-toggle[aria-expanded="true"] {
  border-color: #133058;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.wcsatt-selected-option {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  text-align: left;
}

.wcsatt-icon-check {
  color: #4caf50;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.wcsatt-icon-recurring {
  color: #ff9800;
  flex-shrink: 0;
  margin-left: auto;
  width: 30px;
  height: 30px;
}

.wcsatt-icon-chevron {
  color: #666;
  flex-shrink: 0;
  transition: transform 0.2s ease;
  width: 18px;
  height: 18px;
}

.wcsatt-dropdown-toggle[aria-expanded="true"] .wcsatt-icon-chevron {
  transform: rotate(180deg);
}

.wcsatt-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: auto;          /* allow menu to grow wider than the toggle */
  /* min-width: 100%;   */
  max-width: 260px;    /* at least as wide as the toggle */
  width: max-content;   /* grow to fit the longest option — no text wrapping */
  background: #fff;
  border: 1px solid #133058;
  border-top: none;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1000;        /* float above all card/page content */
  max-height: 300px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
}



.wcsatt-dropdown-item {
  padding: 12px 14px;
  cursor: pointer;
  transition: background 0.15s ease;
  border-bottom: 1px solid #f0f0f0;
  max-width: 260px; /* prevent extremely long options from making the menu too wide */
}
.product-card.product-card-2 .wcsatt-dropdown-menu, .product-card.product-card-3 .wcsatt-dropdown-menu,.pd-actions .wcsatt-dropdown-menu{
  min-width: 100%; 
}
.product-card.product-card-2 .wcsatt-dropdown-menu .wcsatt-dropdown-item, .product-card.product-card-3 .wcsatt-dropdown-menu .wcsatt-dropdown-item, .pd-actions .wcsatt-dropdown-menu .wcsatt-dropdown-item {
  min-width: 100%; 
}

.wcsatt-dropdown-item:last-child {
  border-bottom: none;
}

.wcsatt-dropdown-item:hover {
  background: #f5f8fa;
}

.wcsatt-dropdown-item.selected {
  background: #e8f4f8;
}

.wcsatt-dropdown-item.selected:hover {
  background: #d9eef5;
}

.wcsatt-option-content {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #133058;
  text-align: left;
  white-space: nowrap; /* keep option text on one line, like native <select> */
}

.wcsatt-dropdown-item .wcsatt-icon-check {
  opacity: 0;
  transition: opacity 0.15s ease;
}

.wcsatt-dropdown-item.selected .wcsatt-icon-check {
  opacity: 1;
}

.wcsatt-option-text {
  flex: 1;
  text-align: left;
}

.wcsatt-hidden-radio {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Loading state */
.wcsatt-options-dropdown.loading .wcsatt-dropdown-toggle {
  opacity: 0.6;
  pointer-events: none;
}

/* Mobile adjustments */
@media (max-width: 660px) {
  .wcsatt-options-dropdown {
    max-width: 100%;
  }

  .wcsatt-dropdown-toggle,
  .wcsatt-option-content {
    font-size: 14px;
  }
}

/* Override APFS plugin CSS that hides the one-time option inside grouped wrappers.
   The APFS plugin's woocommerce.css sets:
     .wcsatt-options-wrapper-grouped li.one-time-option { display: none }
   We want "one time" always visible as the first option in our custom dropdown. */
.wcsatt-options-dropdown .wcsatt-dropdown-item.one-time-option {
  display: flex !important;
}

/* ===================================================================================
   ======================= END: SUBSCRIPTION BOX STYLES ==============================
   =================================================================================== */
/* free shipping message on cart and checkout page */
.shipping-notice-box {
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
    font-size: 0.95em;
}
.shipping-notice-box.success {
    background-color: #e6fffa;
    border: 1px solid #38b2ac;
    color: #234e52;
}
.pd-subscription-note {
    margin-top: 10px;
    font-size: 0.9em;
    color: #E06B2C;
}