/* ================================================================
   FastObra Theme — OpenCart 3.x
   Framework: Bootstrap 3.x (responsivo)
   Fonte: Roboto
   ================================================================ */

/* BASE */
* { box-sizing: border-box; }
body {
  font-family: 'Outfit', sans-serif;
  background: #fff;
  color: #333;
  margin: 0;
  padding: 0;
}
a { color: #003d7a; text-decoration: none; }
a:hover, a:focus { color: #001f3f; text-decoration: none; }
img { max-width: 100%; }

/* ── HEADER ────────────────────────────────────────────────────── */
.fo-header {
  background: #fff;
  border-bottom: 2px solid #f0f0f0;
  padding: 10px 0;
}
.fo-header-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.fo-logo-col { display: flex; align-items: center; }
.fo-logo img { max-height: 50px; }
.fo-logo-text { font-size: 22px; font-weight: 900; color: #003d7a; }

/* Search */
.fo-search-col { padding: 0 10px; }
.fo-search .input-group { border: 2px solid #003d7a; border-radius: 4px; overflow: hidden; }
.fo-search-input {
  border: none;
  box-shadow: none;
  height: 38px;
  font-size: 13px;
}
.fo-search-btn {
  background: #003d7a;
  color: #fff;
  border: none;
  height: 38px;
  width: 44px;
  font-size: 15px;
}
.fo-search-btn:hover, .fo-search-btn:focus { background: #001f3f; }

/* Contact + WhatsApp */
.fo-contact-col {display: flex;gap: 10px;align-items: center;padding: 0 60px;}
.fo-contact-link, .fo-whatsapp-link {
  display: flex; align-items: center; gap: 6px; font-size: 11px;
  color: #333; border: 1px solid #ddd; border-radius: 4px;
  padding: 4px 8px; white-space: nowrap;
}
.fo-contact-link i, .fo-whatsapp-link i { font-size: 20px; color: #003d7a; }
.fo-contact-label { display: block; font-size: 9px; color: #888; }
.fo-contact-title { display: block; font-size: 10px; font-weight: 700; color: #003d7a; }

/* Entrar + Carrinho */
.fo-actions-col { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.fo-account-dropdown { position: relative; }
.fo-account-link {
  display: flex; align-items: center; gap: 4px; font-size: 12px;
  color: #333; border: 1px solid #ddd; border-radius: 4px; padding: 6px 10px;
  background: #fff; cursor: pointer;
}
.fo-account-link i { font-size: 18px; color: #003d7a; }
.fo-account-link:hover { background: #f9f9f9; }
.fo-account-panel {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 8px;
  width: 320px !important;
  max-width: calc(100vw - 2rem);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  display: none;
  z-index: 1000;
}
.fo-account-panel.active { display: block; }
.fo-auth-tabs {
  display: flex;
  border-bottom: 2px solid #e5e5e5;
}
.fo-auth-tab {
  flex: 1;
  padding: 12px;
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: all 0.3s;
}
.fo-auth-tab.active {
  color: #003d7a;
  border-bottom: 2px solid #003d7a;
  margin-bottom: -2px;
}
.fo-auth-content { padding: 16px; }
.fo-auth-form { display: none; }
.fo-auth-form.active { display: block; }
.fo-auth-form .form-group { margin-bottom: 12px; }
.fo-auth-form label {
  font-size: 11px;
  font-weight: 600;
  color: #333;
  display: block;
  margin-bottom: 4px;
}
.fo-auth-form .form-control {
  height: 36px;
  font-size: 13px;
  border-radius: 4px;
}
.fo-auth-link {
  text-align: center;
  font-size: 11px;
  color: #666;
  margin: 10px 0 0;
}
.fo-auth-link a { color: #003d7a; }
.fo-cart-widget { position: relative; }
.fo-cart-btn {
  background: #003d7a;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 18px;
  position: relative;
}
.fo-cart-btn:hover, .fo-cart-btn:focus, .open > .fo-cart-btn {
  background: #001f3f !important;
  color: #fff !important;
}
.fo-cart-count {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #ff6600;
  color: #fff;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fo-cart-dropdown { min-width: 320px; padding: 10px; border-radius: 4px; }
.fo-cart-thumb { width: 50px; height: 50px; object-fit: cover; }
.fo-btn-checkout { background: #28a745; color: #fff; border-color: #28a745; }
.fo-btn-checkout:hover { background: #218838; color: #fff; }

/* ── NAVEGAÇÃO ─────────────────────────────────────────────────── */
.fo-nav {
  background: #fff;
  border: none;
  border-radius: 0;
  margin-bottom: 0;
  min-height: 0;
  border-bottom: 1px solid #e5e5e5;
}
.fo-nav .container { position: relative; }
.fo-nav .navbar-header { display: none; }
.fo-menu { margin: 0; padding: 0; list-style: none; display: flex; }
.fo-menu > li { position: relative; }
.fo-menu > li > a {
  display: block;
  padding: 14px 18px;
  color: #333;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  position: relative;
  transition: color 0.3s ease;
}
.fo-menu > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: #003d7a;
  transition: width 0.3s ease, left 0.3s ease;
}
.fo-menu > li > a:hover::after,
.fo-menu > li.open > a::after,
.fo-menu > li.active > a::after {
  width: 100%;
  left: 0;
}
.fo-menu > li > a:hover,
.fo-menu > li.open > a,
.fo-menu > li.active > a {
  color: #003d7a;
  background: transparent;
}
.fo-menu .dropdown-menu {
  border-radius: 0;
  border: none;
  border-top: 2px solid #003d7a;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
}
.fo-menu .dropdown-menu > li > a {
  padding: 8px 16px;
  font-size: 13px;
  color: #333;
}
.fo-menu .dropdown-menu > li > a:hover { background: #f0f0f0; color: #003d7a; }
.fo-menu-mobile { display: none; }

.fo-nav .nav > li > a:focus,
.fo-nav .nav > li > a:active,
.fo-nav .navbar-nav > li > a:focus,
.fo-nav .navbar-nav > li > a:active {
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── PAGE GENERAL ──────────────────────────────────────────────── */
.fo-page { padding: 20px 0 40px; background: #fff; }
.fo-page-title {
  font-size: 24px;
  font-weight: 900;
  color: #003d7a;
  margin: 0 0 16px;
  border-bottom: 3px solid #003d7a;
  padding-bottom: 8px;
}
.fo-section-title {
  font-size: 20px;
  font-weight: 900;
  color: #003d7a;
  margin: 0 0 16px;
  border-bottom: 2px solid #003d7a;
  padding-bottom: 6px;
}
.fo-breadcrumb { background: transparent; padding: 8px 0; margin-bottom: 12px; font-size: 12px; }
.fo-breadcrumb a { color: #003d7a; }
.fo-breadcrumb a:hover { color: #001f3f; text-decoration: underline; }

/* ── BANNERS HOME (blocos HTML) ───────────────────────────────── */
.fo-banner-home { margin-bottom: 0; }
.fo-banner-home img { width: 100%; display: block; }

.fo-trust-strip { background: #f8f8f8; border-top: 2px solid #ff6600; border-bottom: 2px solid #ff6600; padding: 16px 0; }
.fo-trust-row { display: flex; align-items: center; justify-content: space-around; flex-wrap: wrap; }
.fo-trust-item { display: flex; align-items: center; gap: 10px; padding: 8px; }
.fo-trust-item i { font-size: 28px; color: #003d7a; }
.fo-trust-item strong { display: block; font-size: 12px; font-weight: 700; color: #003d7a; text-transform: uppercase; }
.fo-trust-item span { display: block; font-size: 11px; color: #666; }

/* ── PRODUCT CARDS ─────────────────────────────────────────────── */
.fo-products-section { padding: 30px 0; }
.fo-products-row { margin: 0 -8px; }
.fo-products-row::after {
  content: "";
  display: table;
  clear: both;
}
.fo-products-row > [class*="col-"] { 
  float: left; 
  box-sizing: border-box; 
}
.fo-product-card {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 16px;
  transition: box-shadow .2s;
}
.fo-product-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,.12); }
.fo-product-img-wrap {
  position: relative;
  background: #f9f9f9;
  aspect-ratio: 1;
  overflow: hidden;
}
.fo-product-img-wrap img { width: 100%; height: 100%; object-fit: contain; }
.fo-badge-discount {
  position: absolute;
  top: 8px;
  left: 8px;
  background: #d9534f;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 3px;
}
.fo-badge-pix {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #28a745;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 3px 6px;
  border-radius: 3px;
}
.fo-product-body { padding: 12px; text-align: center; }
.fo-product-brand { font-size: 11px; color: #003d7a; font-weight: 700; margin: 0 0 4px; text-transform: uppercase; }
.fo-product-name { font-size: 13px; font-weight: 500; margin: 0 0 8px; line-height: 1.3; min-height: 60px; }
.fo-product-name a { color: #333; }
.fo-product-name a:hover { color: #003d7a; }
.fo-product-price-old { font-size: 12px; color: #999; text-decoration: line-through; margin: 0; }
.fo-product-price { font-size: 22px; font-weight: 900; color: #003d7a; margin: 4px 0; }
.fo-pix-discount { font-size: 11px; color: #28a745; font-weight: 700; margin: 4px 0; }
.fo-installments { font-size: 11px; color: #666; margin: 0 0 10px; }
.fo-btn-comprar {
  background: #003d7a;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-weight: 700;
  font-size: 13px;
  padding: 10px 12px;
  text-transform: uppercase;
}
.fo-btn-comprar:hover, .fo-btn-comprar:focus, .fo-btn-comprar:active {
  background: #001f3f !important;
  color: #fff !important;
}

/* ── CATEGORY PAGE ─────────────────────────────────────────────── */
.fo-toolbar { padding: 12px 0; margin-bottom: 16px; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }
.fo-subcats { margin-bottom: 20px; }
.fo-subcat-link {
  display: block;
  padding: 8px 12px;
  background: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 13px;
  color: #333;
  margin-bottom: 8px;
}
.fo-subcat-link:hover { background: #003d7a; color: #fff; }
.fo-pagination { margin-top: 20px; }

/* ── PRODUCT PAGE ──────────────────────────────────────────────── */
.fo-product-main { margin-bottom: 30px; }

/* Gallery */
.fo-gallery { position: relative; }
.fo-badge-discount-large {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #d9534f;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  padding: 6px 12px;
  border-radius: 4px;
  z-index: 10;
}
.fo-badge-pix-large {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #28a745;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 4px;
  z-index: 10;
}
.fo-gallery-main {
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
  background: #f9f9f9;
  margin-bottom: 10px;
}
.fo-gallery-main img { width: 100%; }
.fo-img-zoom {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}
.fo-img-zoom:hover .fo-zoom-icon {
  opacity: 1;
}
.fo-zoom-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  background: rgba(0, 61, 122, 0.8);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 24px;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.fo-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.95);
  align-items: center;
  justify-content: center;
}
.fo-modal-content {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
  animation: fo-zoom-in 0.3s;
}
.fo-modal-close {
  position: absolute;
  top: 20px;
  right: 35px;
  color: #fff;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  transition: 0.3s;
}
.fo-modal-close:hover { color: #ccc; }
@keyframes fo-zoom-in {
  from { transform: scale(0.7); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}
.fo-thumbs { display: flex; align-items: center; gap: 6px; position: relative; }
.fo-thumb-prev, .fo-thumb-next {
  background: #003d7a;
  color: #fff;
  border: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
  flex-shrink: 0;
}
.fo-thumb-prev:hover, .fo-thumb-next:hover { background: #001f3f; }
.fo-thumbs-wrap { display: flex; gap: 6px; overflow-x: auto; flex: 1; }
.fo-thumb {
  display: block;
  width: 70px;
  height: 70px;
  border: 2px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}
.fo-thumb img { width: 100%; height: 100%; object-fit: cover; }
.fo-thumb.active, .fo-thumb:hover { border-color: #003d7a; }

/* Product info */
.fo-product-info { padding: 0 0 0 10px; }
.fo-product-title { font-size: 22px; font-weight: 900; color: #003d7a; margin: 0 0 12px; line-height: 1.3; }
.fo-product-meta { margin-bottom: 12px; }
.fo-ref { font-size: 12px; color: #888; margin: 0 0 4px; }
.fo-brand { font-size: 14px; color: #003d7a; font-weight: 700; margin: 0 0 6px; }
.fo-rating { display: flex; align-items: center; gap: 6px; color: #f5a623; font-size: 14px; }
.fo-review-link { font-size: 12px; color: #003d7a; margin-left: 4px; }

/* Price Box */
.fo-price-box {
  background: #f6f6f6;
  border: 2px solid #003d7a;
  border-radius: 6px;
  padding: 16px;
  margin: 0 0 16px;
  text-align: center;
}
.fo-price-was { font-size: 14px; color: #999; text-decoration: line-through; margin: 0 0 4px; }
.fo-price-main { font-size: 32px; font-weight: 900; color: #003d7a; margin: 0 0 8px; }
.fo-pix-price { font-size: 13px; color: #28a745; font-weight: 700; margin: 0 0 6px; }
.fo-installments-product { font-size: 12px; color: #666; margin: 0; }

/* Options */
.fo-options { margin-bottom: 16px; }

/* Qty + Add to Cart */
.fo-qty-section { margin-bottom: 16px; }
.fo-qty-section label { font-size: 13px; font-weight: 700; display: block; margin-bottom: 6px; }
.fo-qty-group {
  display: inline-flex;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}
.fo-qty-minus, .fo-qty-plus {
  background: #f0f0f0;
  border: none;
  width: 36px;
  height: 36px;
  cursor: pointer;
  color: #333;
}
.fo-qty-minus:hover, .fo-qty-plus:hover { background: #e0e0e0; }
.fo-qty-input {
  border: none;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  width: 50px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}
.fo-btn-add-to-cart {
  background: #003d7a;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-weight: 900;
  font-size: 14px;
  padding: 14px 24px;
  width: 100%;
  text-transform: uppercase;
}
.fo-btn-add-to-cart:hover, .fo-btn-add-to-cart:focus, .fo-btn-add-to-cart:active {
  background: #001f3f !important;
  color: #fff !important;
}
.fo-minimum { margin-top: 6px; font-size: 11px; color: #888; }

/* Tabs */
.fo-tabs-section { margin-bottom: 30px; }
.fo-tabs { border-bottom: 3px solid #003d7a; }
.fo-tabs > li > a {
  font-size: 14px;
  font-weight: 700;
  color: #666;
  text-transform: uppercase;
  border: none;
  border-radius: 0;
  padding: 12px 20px;
}
.fo-tabs > li.active > a,
.fo-tabs > li.active > a:hover,
.fo-tabs > li.active > a:focus {
  color: #003d7a;
  background: #fff;
  border: none;
  border-bottom: 3px solid #003d7a;
  margin-bottom: -3px;
}
.fo-tabs > li > a:hover { color: #003d7a; background: #f9f9f9; }
.fo-tab-content {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-top: none;
  padding: 24px;
  font-size: 14px;
  line-height: 1.8;
  color: #444;
}
.fo-specs-table { font-size: 13px; }
.fo-spec-label { font-weight: 700; color: #003d7a; width: 35%; background: #f6f6f6; }

/* Blocos Horizontais (imagem 04.jpg) */
.fo-horizontal-blocks { margin-bottom: 30px; }
.fo-hblock {
  background: #f6f6f6;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  padding: 20px;
  margin-bottom: 16px;
}
.fo-hblock h3 { font-size: 16px; font-weight: 900; color: #003d7a; margin: 0 0 10px; text-transform: uppercase; }
.fo-hblock p { font-size: 13px; color: #555; margin: 0; }

/* Related */
.fo-related { margin-bottom: 30px; }

/* ── CART ──────────────────────────────────────────────────────── */
.fo-cart-table thead th { background: #003d7a; color: #fff; font-size: 13px; }
.fo-cart-img { width: 60px; height: 60px; object-fit: cover; border-radius: 4px; }
.fo-order-summary {
  background: #f6f6f6;
  border: 2px solid #003d7a;
  border-radius: 6px;
  padding: 20px;
}
.fo-order-summary h3 { font-size: 16px; font-weight: 900; color: #003d7a; margin: 0 0 12px; }
.fo-total-row td { font-size: 18px; font-weight: 900; color: #003d7a; padding-top: 10px; }

/* ── CHECKOUT ──────────────────────────────────────────────────── */
.fo-checkout-step { background: #fff; border: 1px solid #e5e5e5; border-radius: 4px; margin-bottom: 12px; overflow: hidden; }
.fo-step-head {
  background: #003d7a;
  color: #fff;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}
.fo-step-num {
  width: 24px;
  height: 24px;
  background: #fff;
  color: #003d7a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
}
.fo-step-body { padding: 16px; }

/* ── CONTACT ───────────────────────────────────────────────────── */
.fo-contact-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: #f6f6f6;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  padding: 12px;
  margin-bottom: 12px;
}
.fo-contact-card i { font-size: 20px; color: #003d7a; width: 24px; text-align: center; }
.fo-contact-card h4 { font-size: 13px; font-weight: 700; margin: 0 0 4px; }
.fo-contact-card p { font-size: 12px; color: #555; margin: 0; }

/* ── INFO PAGE ─────────────────────────────────────────────────── */
.fo-info-content { background: #fff; padding: 20px; border: 1px solid #e5e5e5; border-radius: 4px; }

/* ── FOOTER ────────────────────────────────────────────────────── */
.fo-footer { background: #1a1a1a; color: #aaa; }
.fo-footer-main { padding: 40px 0 30px; }
.fo-footer h4 {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 16px;
  letter-spacing: 0.5px;
}
.fo-footer-list { padding: 0; }
.fo-footer-list li { margin-bottom: 8px; font-size: 12px; color: #aaa; }
.fo-footer-list a { color: #aaa; }
.fo-footer-list a:hover { color: #fff; }
.fo-payment-icons { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.fo-payment-icons img { width: 40px; height: 25px; object-fit: contain; background: #f0f0f0; border-radius: 3px; padding: 2px; }
.fo-certificates { display: flex; gap: 8px; margin-bottom: 20px; }
.fo-certificates img { height: 30px; }
.fo-atendimento-footer { margin-bottom: 20px; }
.fo-atendimento-footer h4 { margin-bottom: 8px; }
.fo-atendimento-footer p { font-size: 11px; color: #aaa; line-height: 1.6; margin: 0; }
.fo-social-footer { display: flex; gap: 10px; }
.fo-social-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: #ff6600;
  border-radius: 50%;
  color: #fff;
  font-size: 16px;
}
.fo-social-icon:hover { background: #e55500; color: #fff; }
.fo-footer-bottom { background: #111; padding: 16px 0; text-align: center; }
.fo-footer-bottom p { font-size: 11px; color: #666; margin: 0; }

/* ── RESPONSIVO ────────────────────────────────────────────────── */
@media (max-width: 991px) {
  .fo-trust-strip { display: none; }
}
@media (max-width: 768px) {
  /* Header responsivo */
  .fo-header-row { flex-direction: column; gap: 10px; }
  .fo-logo-col, .fo-search-col, .fo-actions-col { width: 100%; }
  .fo-contact-col { display: none; }
  .fo-search-col { order: 3; }
  .fo-actions-col { justify-content: space-between; }
  
  /* Account panel mobile */
  .fo-account-panel {
    right: 1rem;
    left: 1rem;
    width: auto;
  }

  /* Nav mobile */
  .fo-nav .navbar-header { display: block; }
  .fo-menu-mobile {
    display: block;
    background: #003d7a;
    color: #fff;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
  }
  .fo-menu { flex-direction: column; }
  .fo-menu > li { border-top: 1px solid #e5e5e5; }
  .fo-menu > li > a::after { display: none; }

  /* Product page */
  .fo-product-info { padding: 16px 0 0; }
  .fo-price-main { font-size: 26px; }

  /* Tabs mobile */
  .fo-tabs > li > a { padding: 10px 12px; font-size: 12px; }

  /* Gallery thumbs */
  .fo-thumb-prev, .fo-thumb-next { display: none; }
}
@media (max-width: 480px) {
  .fo-product-card .fo-product-body { padding: 10px; }
  .fo-product-price { font-size: 18px; }
  .fo-badge-discount, .fo-badge-pix { font-size: 9px; padding: 2px 5px; }
}

/* =========================================================
   COMPATIBILIDADE OPENCart SEARCH / CATEGORY / LISTAGEM
   Mantém o visual do tema modificado nos cards nativos
   ========================================================= */

.product-layout {
  margin-bottom: 18px;
}

.product-thumb {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 16px;
  transition: box-shadow .2s, transform .2s;
}

.product-thumb:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
}

.product-thumb .image {
  position: relative;
  background: #f9f9f9;
  text-align: center;
  padding: 12px;
}

.product-thumb .image a {
  display: block;
}

.product-thumb .image img {
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  height: auto;
}

/* LISTA */
@media (min-width: 768px) {
  .product-list .product-thumb .image {
    float: left;
    width: 250px;
    padding: 14px;
  }
}

/* GRADE */
.product-grid .product-thumb .image {
  float: none;
}

/* CAPTION */
.product-thumb .caption {
  padding: 12px;
  min-height: 205px;
}

.product-list .product-thumb .caption {
  margin-left: 250px;
  min-height: 0;
}

.product-thumb h4 {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.35;
}

.product-thumb h4 a {
  color: #333;
}

.product-thumb h4 a:hover {
  color: #003d7a;
}

.product-thumb .caption p {
  font-size: 12px;
  color: #666;
  line-height: 1.5;
}

/* PREÇOS no estilo do tema */
.product-thumb .price {
  font-size: 22px;
  font-weight: 900;
  color: #003d7a;
  margin: 4px 0;
}

.product-thumb .price-new {
  font-size: 22px;
  font-weight: 900;
  color: #003d7a;
}

.product-thumb .price-old {
  font-size: 12px;
  color: #999;
  text-decoration: line-through;
  margin-right: 6px;
  display: inline-block;
}

.product-thumb .price-tax {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: #666;
}

/* RATING */
.product-thumb .rating {
  padding-bottom: 8px;
}

.product-thumb .rating .fa,
.product-thumb .rating .fa-stack {
  color: #f5a623;
}

/* BOTÕES no visual do tema */
.product-thumb .button-group {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #e5e5e5;
  background: #fff;
  overflow: hidden;
}

.product-list .product-thumb .button-group {
  border-left: 1px solid #e5e5e5;
}

.product-thumb .button-group button {
  border: none;
  background: #f6f6f6;
  color: #333;
  font-weight: 700;
  text-align: center;
  min-height: 44px;
  transition: all .2s ease;
  float: none;
  line-height: normal;
  padding: 10px 8px;
}

.product-thumb .button-group button:first-child {
  width: 60%;
  background: #ff6600;
  color: #fff;
  text-transform: uppercase;
}

.product-thumb .button-group button:first-child:hover {
  background: #e55500;
  color: #fff;
}

.product-thumb .button-group button + button {
  width: 20%;
  border-left: 1px solid #e5e5e5;
}

.product-thumb .button-group button:not(:first-child):hover {
  background: #ececec;
  color: #003d7a;
}

/* AJUSTE DE GRID */
@media (min-width: 1200px) {
  #content .col-lg-2:nth-child(6n+1),
  #content .col-lg-3:nth-child(4n+1),
  #content .col-lg-4:nth-child(3n+1),
  #content .col-lg-6:nth-child(2n+1) {
    clear: left;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #content .col-md-2:nth-child(6n+1),
  #content .col-md-3:nth-child(4n+1),
  #content .col-md-4:nth-child(3n+1),
  #content .col-md-6:nth-child(2n+1) {
    clear: left;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  #content .col-sm-2:nth-child(6n+1),
  #content .col-sm-3:nth-child(4n+1),
  #content .col-sm-4:nth-child(3n+1),
  #content .col-sm-6:nth-child(2n+1) {
    clear: left;
  }
}

/* RESPONSIVO */
@media (max-width: 1200px) {
  .product-thumb .caption {
    min-height: 220px;
  }

  .product-thumb .button-group button,
  .product-thumb .button-group button + button {
    width: 33.3333%;
  }
}

@media (max-width: 767px) {
  .product-list .product-thumb .image {
    float: none;
    width: 100%;
    padding: 12px;
  }

  .product-list .product-thumb .caption {
    margin-left: 0;
    min-height: 0;
    padding: 12px;
  }

  .product-grid .product-thumb .caption,
  .product-thumb .caption {
    min-height: 0;
  }

  .product-list .product-thumb .button-group {
    border-left: none;
  }

  .product-thumb .button-group button,
  .product-thumb .button-group button + button,
  .product-thumb .button-group button:first-child {
    width: 33.3333%;
  }
}

.ajax-search-results{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  z-index:9999;
  background:#fff;
  border:1px solid #eee;
  box-shadow:0 8px 25px rgba(0,0,0,.12);
  display:none;
}

.ajax-search-list{
  list-style:none;
  margin:0;
  padding:0;
}

.ajax-search-item a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  text-decoration:none;
}

.ajax-search-item a:hover{
  background:#f6f6f6;
}

.ajax-search-thumb{
  width:50px;
}

.ajax-search-thumb img{
  max-width:100%;
}

.ajax-search-name{
  display:block;
  font-size:13px;
}

.ajax-search-price{
  font-size:12px;
  font-weight:bold;
}

.fo-contact-col {
  position: relative;
}

.fo-contact-dropdown {
  position: relative;
  display: inline-block;
}

.fo-contact-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: #1f1f1f;
  position: relative;
  padding: 8px 20px;
}

.fo-contact-link i {
  font-size: 34px;
  line-height: 1;
}

.fo-contact-label,
.fo-contact-title {
  display: block;
  line-height: 1.1;
}

.fo-contact-label {
  font-size: 15px;
  font-weight: 400;
}

.fo-contact-title {
  font-size: 15px;
  font-weight: 700;
}

.fo-contact-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 290px;
  padding-top: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: all 0.22s ease;
  z-index: 9999;
}

.fo-contact-box {
  background: #f6f6f6;
  border: 1px solid #e7e7e7;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
  padding: 26px 18px;
  text-align: left;
}

.fo-contact-box h4 {
  margin: 0 0 16px;
  font-size: 16px;
  font-weight: 700;
  color: #0047a8;
  text-transform: uppercase;
}

.fo-contact-box h4 + p,
.fo-contact-box p {
  margin: 0 0 14px;
  font-size: 15px;
  line-height: 1.55;
  color: #222;
}

.fo-contact-box p:last-child {
  margin-bottom: 0;
}

.fo-contact-box a {
  color: #222;
  text-decoration: none;
}

.fo-contact-box a:hover {
  color: #0047a8;
  text-decoration: none;
}

.fo-contact-dropdown:hover .fo-contact-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.fo-contact-dropdown:hover .fo-contact-link:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 4px;
  background: #0047a8;
}

.fo-contact-box:before {
  content: "";
  position: absolute;
  top: -8px;
  left: 28px;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #f6f6f6;
}

.fo-contact-menu .fo-contact-box {
  position: relative;
}

.fo-payment-texts {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.fo-payment-line {
  display: flex;
  align-items: center;
  gap: 10px;
}

.fo-payment-line i {
  min-width: 18px;
  text-align: center;
}

.fo-footer-list li,
.fo-payment-line span {
font-size:14px;
}

.fo-frete-clean{
margin-top:16px;
padding:16px;
border:1px solid #e6e6e6;
border-radius:10px;
background:#fff;
max-width:380px;
margin-bottom: 15px;
}

.fo-frete-title{
display:flex;
align-items:center;
gap:8px;
font-weight:600;
font-size:14px;
color:#333;
margin-bottom:6px;
}

.fo-frete-title i{
color:#333;
font-size:16px;
}

.fo-frete-desc{
font-size:13px;
color:#666;
margin-bottom:12px;
}

.fo-frete-form{
display:flex;
gap:8px;
}

.fo-frete-input{
flex:1;
height:40px;
border:1px solid #dcdcdc;
border-radius:6px;
padding:0 10px;
font-size:14px;
}

.fo-frete-btn{
height:40px;
padding:0 14px;
border:none;
background:#1f5fae;
color:#fff;
border-radius:6px;
font-weight:600;
font-size:13px;
cursor:pointer;
}

.fo-frete-btn:hover{
background:#184f90;
}

.fo-frete-result{
margin-top:12px;
font-size:13px;
}

.fo-product-meta{
display:flex;
flex-wrap:wrap;
gap:8px;
margin:10px 0 14px;
font-size:13px;
}

.fo-meta-tag{
display:inline-flex;
align-items:center;
padding:4px 10px;
background:#f5f5f5;
border-radius:6px;
color:#444;
}

.fo-meta-tag strong{
margin-right:4px;
font-weight:600;
color:#333;
}

.fo-meta-tag a{
color:#1f5fae;
text-decoration:none;
}

.fo-meta-tag a:hover{
text-decoration:underline;
}

.fo-meta-stock{
background:#e8f5e9;
color:#2e7d32;
font-weight:600;
}

#button-cart {
  position: relative;
  overflow: hidden;
}

#button-cart.is-loading {
  pointer-events: none;
  opacity: 0.95;
}

#button-cart.is-loading .btn-text {
  position: relative;
  z-index: 2;
}

#button-cart.is-loading::after {
  content: "";
  position: absolute;
  left: -35%;
  top: 0;
  width: 30%;
  height: 100%;
  background: rgba(255,255,255,0.22);
  transform: skewX(-20deg);
  animation: foBtnLoading 0.9s linear infinite;
}

@keyframes foBtnLoading {
  from { left: -35%; }
  to   { left: 120%; }
}

/* =========================================================
   REDESIGN 2026 - visual moderno / linha médico-hospitalar
   Paleta: #ED1D24 / #215274 / #51ACE4
   ========================================================= */
:root{
  --fo-red:#ed1d24;
  --fo-blue:#215274;
  --fo-blue-2:#2d6a93;
  --fo-sky:#51ace4;
  --fo-ink:#163246;
  --fo-text:#314454;
  --fo-muted:#6d8090;
  --fo-line:#d9e5ef;
  --fo-soft:#f4f9fc;
  --fo-white:#ffffff;
  --fo-radius:18px;
  --fo-shadow:0 16px 40px rgba(33,82,116,.12);
  --fo-shadow-sm:0 10px 24px rgba(33,82,116,.10);
}
body{background:linear-gradient(180deg,#f8fbfd 0%,#f3f8fb 100%);color:var(--fo-text);}
a{color:var(--fo-blue);} a:hover,a:focus{color:var(--fo-red);}
.container{position:relative;}

.fo-topbar{background:var(--fo-blue);color:#fff;font-size:12px;}
.fo-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0;}
.fo-topbar-left,.fo-topbar-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.fo-topbar span,.fo-topbar a{color:#eaf6fd;}
.fo-topbar i{color:var(--fo-sky);margin-right:6px;}

.fo-header{background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--fo-line);box-shadow:0 8px 30px rgba(33,82,116,.06);padding:18px 0;}
.fo-header-row{display:flex;align-items:center;flex-wrap:wrap;}
.fo-logo img{max-height:58px;}
.fo-logo-text{font-size:28px;font-weight:900;color:var(--fo-blue);letter-spacing:-.02em;}

.fo-search .input-group{border:1px solid var(--fo-line);border-radius:999px;overflow:hidden;background:#fff;box-shadow:var(--fo-shadow-sm);}
.fo-search-input{height:52px;font-size:14px;border:none;padding:0 20px;background:transparent;}
.fo-search-input::placeholder{color:#8ca0b0;}
.fo-search-btn{background:linear-gradient(135deg,var(--fo-red),#f3555b);color:#fff;border:none;height:52px;width:58px;font-size:17px;}
.fo-search-btn:hover,.fo-search-btn:focus{background:linear-gradient(135deg,#d8171d,var(--fo-red));}

.fo-contact-col{display:flex;justify-content:center;padding:0 10px;}
.fo-contact-link{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--fo-ink);border:1px solid var(--fo-line);border-radius:16px;padding:10px 14px;background:#fff;box-shadow:var(--fo-shadow-sm);}
.fo-contact-link i{font-size:20px;color:var(--fo-blue);}
.fo-contact-label{display:block;font-size:10px;color:var(--fo-muted);text-transform:uppercase;letter-spacing:.08em;}
.fo-contact-title{display:block;font-size:12px;font-weight:800;color:var(--fo-blue);}
.fo-contact-dropdown{position:relative;}
.fo-contact-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;z-index:1000;width:280px;background:#fff;border:1px solid var(--fo-line);border-radius:18px;box-shadow:var(--fo-shadow);padding:18px;}
.fo-contact-dropdown:hover .fo-contact-menu{display:block;}
.fo-contact-box h4{margin:0 0 10px;font-size:12px;font-weight:800;color:var(--fo-blue);letter-spacing:.08em;}
.fo-contact-box p{margin:0 0 8px;font-size:13px;color:var(--fo-text);}

.fo-actions-col{display:flex;gap:12px;align-items:center;justify-content:flex-end;}
.fo-account-link{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--fo-ink);border:1px solid var(--fo-line);border-radius:16px;padding:12px 16px;background:#fff;cursor:pointer;box-shadow:var(--fo-shadow-sm);}
.fo-account-link i{font-size:19px;color:var(--fo-blue);} 
.fo-account-link:hover{background:var(--fo-soft);}
.fo-account-panel{border:1px solid var(--fo-line);border-radius:22px;box-shadow:var(--fo-shadow);margin-top:12px;overflow:hidden;}
.fo-auth-tabs{border-bottom:1px solid var(--fo-line);background:var(--fo-soft);}
.fo-auth-tab{font-size:13px;font-weight:800;color:var(--fo-muted);}
.fo-auth-tab.active{color:var(--fo-blue);border-bottom:3px solid var(--fo-red);background:#fff;}
.fo-auth-content{padding:18px;}
.fo-auth-form .form-control{height:42px;border-radius:12px;border:1px solid var(--fo-line);box-shadow:none;}
.fo-auth-link a{color:var(--fo-blue);}

.fo-cart-btn{background:linear-gradient(135deg,var(--fo-blue),var(--fo-blue-2));border-radius:16px;padding:11px 15px;box-shadow:var(--fo-shadow-sm);}
.fo-cart-btn:hover,.fo-cart-btn:focus,.open>.fo-cart-btn{background:linear-gradient(135deg,#183f5b,var(--fo-blue)) !important;}
.fo-cart-count{background:var(--fo-red);width:20px;height:20px;font-size:10px;}
.fo-cart-dropdown{border-radius:18px;border:1px solid var(--fo-line);box-shadow:var(--fo-shadow);}

.fo-nav{background:transparent;border:none;margin:14px 0 0;border-bottom:none;}
.fo-nav .container{background:linear-gradient(135deg,var(--fo-blue),var(--fo-blue-2));border-radius:18px;box-shadow:var(--fo-shadow);}
.fo-menu{display:flex;flex-wrap:wrap;align-items:center;padding:0 8px;}
.fo-menu>li>a{padding:16px 18px;color:#fff;font-size:13px;font-weight:700;text-transform:none;letter-spacing:.01em;border-radius:12px;margin:8px 4px;}
.fo-menu>li>a::after{display:none;}
.fo-menu>li>a:hover,.fo-menu>li.open>a,.fo-menu>li.active>a{background:rgba(255,255,255,.14);color:#fff;}
.fo-menu .dropdown-menu{margin-top:8px;border:none;border-radius:18px;padding:10px 0;box-shadow:var(--fo-shadow);border-top:none;}
.fo-menu .dropdown-menu>li>a{padding:10px 16px;border-radius:10px;margin:0 8px;color:var(--fo-ink);}
.fo-menu .dropdown-menu>li>a:hover{background:var(--fo-soft);color:var(--fo-red);}
.fo-menu-home>a{background:rgba(255,255,255,.10);}

.fo-page{padding:28px 0 50px;background:transparent;}
.fo-page-title,.fo-section-title,.fo-product-title,.fo-brand,.fo-product-brand,.fo-price-main,.fo-product-price,.product-thumb .price,.product-thumb .price-new,.fo-order-summary h3,.fo-total-row td{color:var(--fo-blue);} 
.fo-page-title{font-size:30px;font-weight:900;border-bottom:none;padding-bottom:0;margin-bottom:20px;letter-spacing:-.03em;}
.fo-section-title{display:flex;align-items:center;gap:10px;font-size:28px;font-weight:900;border:none;margin:0 0 24px;padding-bottom:0;letter-spacing:-.03em;}
.fo-section-title:before{content:'';width:42px;height:5px;border-radius:999px;background:linear-gradient(90deg,var(--fo-red),var(--fo-sky));display:inline-block;}
.fo-breadcrumb{font-size:12px;color:var(--fo-muted);margin-bottom:20px;}
.fo-breadcrumb a{color:var(--fo-muted);} .fo-breadcrumb a:hover{color:var(--fo-red);text-decoration:none;}

.fo-trust-strip{background:transparent;border:none;padding:16px 0 8px;}
.fo-trust-row{display:flex;align-items:stretch;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.fo-trust-item{height:100%;display:flex;align-items:flex-start;gap:14px;padding:18px 18px;background:#fff;border:1px solid var(--fo-line);border-radius:20px;box-shadow:var(--fo-shadow-sm);}
.fo-trust-item i{font-size:22px;min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,var(--fo-soft),#eef7fd);color:var(--fo-red);}
.fo-trust-item strong{font-size:12px;font-weight:800;color:var(--fo-blue);letter-spacing:.04em;}
.fo-trust-item span{font-size:12px;color:var(--fo-muted);line-height:1.45;}

.fo-product-card,.product-thumb{background:#fff;height:500px;border:1px solid var(--fo-line);border-radius:24px;overflow:hidden;box-shadow:var(--fo-shadow-sm);transition:transform .25s ease, box-shadow .25s ease;}
.fo-product-card:hover,.product-thumb:hover{transform:translateY(-4px);box-shadow:var(--fo-shadow);}
.fo-product-img-wrap,.product-thumb .image{background:linear-gradient(180deg,#fff 0%,#f5fbff 100%);padding:14px;}
.fo-product-img-wrap img{transition:transform .3s ease;} .fo-product-card:hover .fo-product-img-wrap img{transform:scale(1.03);}
.fo-badge-discount,.fo-badge-discount-large{background:linear-gradient(135deg,var(--fo-red),#ff5f62);border-radius:999px;padding:6px 10px;font-size:11px;box-shadow:0 10px 20px rgba(237,29,36,.18);}
.fo-badge-pix,.fo-badge-pix-large{background:linear-gradient(135deg,var(--fo-sky),#3e99d0);border-radius:999px;padding:6px 10px;font-size:10px;box-shadow:0 10px 20px rgba(81,172,228,.18);}
.fo-product-body{padding:18px;text-align:left;}
.fo-product-brand{font-size:11px;letter-spacing:.08em;color:var(--fo-red);margin-bottom:6px;}
.fo-product-name{font-size:14px;font-weight:700;min-height:54px;margin-bottom:10px;}
.fo-product-name a,.product-thumb h4 a{color:var(--fo-ink);} .fo-product-name a:hover,.product-thumb h4 a:hover{color:var(--fo-red);}
.fo-product-price-old,.product-thumb .price-old{font-size:13px;}
.fo-product-price,.product-thumb .price,.product-thumb .price-new{font-size:28px;line-height:1.05;}
.fo-pix-discount{font-size:12px;color:#1e9b67;font-weight:700;}
.fo-installments,.product-thumb .price-tax{font-size:12px;color:var(--fo-muted);}
.fo-btn-comprar,.fo-btn-add-to-cart,.product-thumb .button-group button:first-child{background:linear-gradient(135deg,var(--fo-red),#ff5b61);color:#fff;border:none;border-radius:14px;font-weight:800;font-size:13px;padding:12px 16px;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 10px 22px rgba(237,29,36,.18);}
.fo-btn-comprar:hover,.fo-btn-comprar:focus,.fo-btn-comprar:active,.fo-btn-add-to-cart:hover,.fo-btn-add-to-cart:focus,.fo-btn-add-to-cart:active,.product-thumb .button-group button:first-child:hover{background:linear-gradient(135deg,#d8171d,var(--fo-red)) !important;color:#fff !important;}
.product-thumb .button-group{border-top:1px solid var(--fo-line);padding:10px;background:#fff;gap:8px;}
.product-thumb .button-group button{border-radius:12px;background:var(--fo-soft);}
.product-thumb .button-group button + button{border-left:none;}
.product-thumb .button-group button:not(:first-child):hover{background:#e8f3fb;color:var(--fo-blue);} 

.fo-toolbar{padding:16px 18px;margin-bottom:20px;border:1px solid var(--fo-line);border-radius:20px;background:#fff;box-shadow:var(--fo-shadow-sm);}
.fo-subcat-link{padding:12px 14px;background:#fff;border:1px solid var(--fo-line);border-radius:16px;font-size:13px;font-weight:700;color:var(--fo-ink);margin-bottom:10px;box-shadow:var(--fo-shadow-sm);}
.fo-subcat-link:hover{background:var(--fo-blue);border-color:var(--fo-blue);color:#fff;}

.fo-gallery-main,.fo-hblock,.fo-checkout-step,.fo-contact-card,.fo-info-content,.fo-order-summary,.fo-price-box{background:#fff;border:1px solid var(--fo-line);border-radius:24px;box-shadow:var(--fo-shadow-sm);} 
.fo-price-box{padding:22px;text-align:left;border:1px solid var(--fo-line);background:linear-gradient(180deg,#fff 0%,#f7fbfe 100%);}
.fo-price-main{font-size:40px;letter-spacing:-.03em;}
.fo-price-was{font-size:15px;}
.fo-pix-price{font-size:13px;color:#1e9b67;}
.fo-product-meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.fo-meta-tag{display:inline-flex;align-items:center;padding:8px 12px;background:#fff;border:1px solid var(--fo-line);border-radius:999px;font-size:12px;color:var(--fo-text);box-shadow:var(--fo-shadow-sm);}
.fo-meta-stock{background:#f1fbf6;border-color:#d5f0e0;}
.fo-qty-group{border:1px solid var(--fo-line);border-radius:14px;background:#fff;box-shadow:var(--fo-shadow-sm);}
.fo-qty-minus,.fo-qty-plus{background:var(--fo-soft);width:42px;height:42px;}
.fo-qty-input{width:56px;font-size:15px;}
.fo-tabs{border-bottom:none;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px;}
.fo-tabs>li{float:none;margin-bottom:0;}
.fo-tabs>li>a{font-size:13px;font-weight:800;color:var(--fo-muted);text-transform:none;border:1px solid var(--fo-line);border-radius:999px;padding:12px 16px;background:#fff;}
.fo-tabs>li.active>a,.fo-tabs>li.active>a:hover,.fo-tabs>li.active>a:focus{color:#fff;background:linear-gradient(135deg,var(--fo-blue),var(--fo-blue-2));border-color:transparent;margin-bottom:0;}
.fo-tabs>li>a:hover{color:var(--fo-blue);background:var(--fo-soft);}
.fo-tab-content{background:#fff;border:1px solid var(--fo-line);border-radius:24px;padding:28px;box-shadow:var(--fo-shadow-sm);}
.fo-spec-label{background:#f5fafe;color:var(--fo-blue);}

.fo-footer{margin-top:26px;background:linear-gradient(180deg,#18384f 0%,#112a3d 100%);color:#c6d4de;}
.fo-footer-main{padding:44px 0 34px;}
.fo-footer h4{font-size:13px;font-weight:800;color:#fff;margin-bottom:18px;letter-spacing:.08em;}
.fo-footer-text{font-size:13px;line-height:1.7;color:#d8e3ea;margin-bottom:14px;}
.fo-footer-list li{margin-bottom:10px;font-size:13px;color:#c6d4de;}
.fo-footer-list a{color:#e8f2f8;} .fo-footer-list a:hover{color:#fff;}
.fo-payment-icons{display:flex;flex-direction:column;gap:10px;}
.fo-payment-line{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:16px;}
.fo-payment-line i{font-size:18px;color:var(--fo-sky);margin-top:2px;}
.fo-social-icon{background:linear-gradient(135deg,var(--fo-red),#ff5a61);} .fo-social-icon:hover{background:linear-gradient(135deg,#d8171d,var(--fo-red));}
.fo-footer-bottom{background:rgba(0,0,0,.18);padding:16px 0;text-align:center;border-top:1px solid rgba(255,255,255,.07);}
.fo-footer-bottom p{font-size:12px;color:#dbe5ed;margin:0;}

.ajax-search-results{position:absolute;left:0;right:0;top:calc(100% + 10px);z-index:1000;background:#fff;border:1px solid var(--fo-line);border-radius:20px;box-shadow:var(--fo-shadow);overflow:hidden;display:none;}
.ajax-search-list{list-style:none;margin:0;padding:8px;}
.ajax-search-item a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;color:var(--fo-ink);}
.ajax-search-item a:hover{background:var(--fo-soft);}
.ajax-search-thumb{width:56px;height:56px;border-radius:14px;background:#f5fbff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;}
.ajax-search-thumb img{max-width:100%;max-height:100%;}
.ajax-search-info{display:flex;flex-direction:column;gap:4px;min-width:0;}
.ajax-search-name{font-size:13px;font-weight:700;line-height:1.35;}
.ajax-search-price{font-size:12px;font-weight:700;color:var(--fo-blue);}
.ajax-search-price .price-old{margin-left:6px;color:#97a9b7;text-decoration:line-through;font-weight:500;}
.ajax-search-empty{padding:18px;color:var(--fo-muted);font-size:13px;}

.fo-frete-clean{margin:18px 0;padding:18px;background:#fff;border:1px solid var(--fo-line);border-radius:20px;box-shadow:var(--fo-shadow-sm);}
.fo-frete-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;color:var(--fo-blue);margin-bottom:8px;}
.fo-frete-title i{color:var(--fo-red);}
.fo-frete-desc{font-size:13px;color:var(--fo-muted);margin-bottom:14px;}
.fo-frete-form{display:flex;gap:10px;flex-wrap:wrap;}
.fo-frete-input{flex:1 1 180px;height:44px;padding:0 14px;border:1px solid var(--fo-line);border-radius:14px;outline:none;}
.fo-frete-btn{height:44px;padding:0 18px;border:none;border-radius:14px;background:linear-gradient(135deg,var(--fo-blue),var(--fo-blue-2));color:#fff;font-weight:800;}
.fo-frete-result{margin-top:14px;}

@media (max-width: 991px){
  .fo-topbar-left span:nth-child(3){display:none;}
  .fo-trust-strip{display:block;}
  .fo-header-row{gap:12px;}
  .fo-logo-col,.fo-search-col,.fo-actions-col{width:100%;}
  .fo-actions-col{justify-content:space-between;}
  .fo-contact-col{display:none;}
}
@media (max-width: 768px){
  .fo-topbar{display:none;}
  .fo-header{padding:14px 0;}
  .fo-header-row{flex-direction:column;}
  .fo-logo-col,.fo-search-col,.fo-actions-col{width:100%;}
  .fo-search-input,.fo-search-btn{height:48px;}
  .fo-account-panel{right:0;left:0;width:auto;}
  .fo-nav{margin-top:12px;}
  .fo-nav .container{border-radius:16px;padding-left:0;padding-right:0;}
  .navbar-toggle{display:block;border:none;margin:10px 15px 10px auto;}
  .navbar-toggle .icon-bar{background:#fff;}
  .fo-menu-mobile{display:block;background:transparent;color:#fff;padding:16px;font-size:15px;font-weight:800;text-transform:none;}
  .fo-menu{flex-direction:column;align-items:stretch;padding:0 10px 10px;}
  .fo-menu>li>a{margin:4px 0;}
  .fo-page-title,.fo-section-title{font-size:24px;}
  .fo-product-body{padding:14px;}
  .fo-product-price,.product-thumb .price,.product-thumb .price-new{font-size:24px;}
  .fo-price-main{font-size:32px;}
  .fo-tabs{gap:8px;}
  .fo-tabs>li>a{padding:10px 14px;font-size:12px;}
  .fo-tab-content{padding:20px;}
  .fo-trust-row{gap:12px;}
  .fo-trust-item{border-radius:18px;padding:16px;}
  .fo-frete-form{flex-direction:column;}
  .fo-frete-btn,.fo-frete-input{width:100%;}
}
@media (max-width: 480px){
  .fo-product-name{min-height:48px;font-size:13px;}
  .fo-product-price,.product-thumb .price,.product-thumb .price-new{font-size:21px;}
  .fo-btn-comprar,.fo-btn-add-to-cart{font-size:12px;padding:11px 14px;}
  .fo-trust-item strong{font-size:11px;}
  .fo-trust-item span{font-size:11px;}
}


/* AJUSTES FINOS 2026-03-24 */
.fo-header,.fo-nav,.fo-page,.fo-footer{position:relative;}
.fo-header{z-index:40;}
.fo-nav{z-index:20;}
.fo-search,.fo-account-dropdown,.fo-contact-dropdown,.fo-cart-widget{position:relative;}

.fo-topbar{font-size:14px;}
.fo-topbar-inner{padding:12px 0;}
.fo-topbar span,.fo-topbar a{font-size:14px;font-weight:600;}

.fo-search .input-group,
.fo-contact-link,
.fo-account-link,
.fo-cart-btn{min-height:54px;}
.fo-contact-link,
.fo-account-link,
.fo-cart-btn{display:flex;align-items:center;justify-content:center;}
.fo-contact-col,.fo-actions-col{padding-top:0;padding-bottom:0;}
.fo-contact-col{justify-content:stretch;}
.fo-contact-dropdown,.fo-contact-link{width:100%;}
.fo-contact-link{padding:10px 16px;justify-content:center;}
.fo-account-link{min-width:108px;padding:10px 16px;}
.fo-cart-btn{min-width:58px;}

.fo-account-panel,
.fo-contact-menu,
.fo-cart-dropdown,
.ajax-search-results{z-index:99999 !important;}
.fo-account-panel,
.fo-contact-menu,
.fo-cart-dropdown{position:absolute;top:calc(100% + 10px);}
.fo-account-panel{right:0;left:auto;width:320px;background:#fff;display:none;}
.fo-contact-menu{left:0;right:auto;}
.fo-cart-dropdown{right:0;left:auto;min-width:360px;background:#fff;}
#cart.open .fo-cart-dropdown{display:block;}
.ajax-search-results{top:calc(100% + 12px);}

.fo-nav .container,
.fo-nav .navbar-collapse,
.fo-nav .collapse,
.fo-nav .navbar-nav,
.fo-menu,
.fo-menu > li,
.fo-header,
.fo-header .container,
.fo-header-row{overflow:visible !important;}

.fo-trust-row{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:flex-start;margin-left:-8px;margin-right:-8px;}
.fo-trust-row>[class*='col-']{display:flex;padding-left:8px;padding-right:8px;float:none;}
.fo-trust-item{width:100%;min-height:116px;}
.fo-trust-item strong{font-size:15px;line-height:1.15;}
.fo-trust-item span{font-size:15px;line-height:1.45;}

.fo-footer h4{font-size:16px;}
.fo-footer-text{font-size:17px;line-height:1.75;}
.fo-footer-list li{font-size:16px;line-height:1.7;}
.fo-payment-line{padding:14px 16px;}
.fo-payment-line span{font-size:16px;line-height:1.55;}
.fo-footer-bottom p{font-size:14px;}

.fo-badge-pix,.fo-badge-pix-large{font-size:11px;font-weight:800;letter-spacing:.02em;padding:7px 12px;}

.fo-price-box{margin-bottom:18px;}
.fo-buy-row{display:flex;align-items:flex-end;gap:16px;margin:6px 0 18px;}
.fo-qty-section{margin-bottom:0;min-width:154px;}
.fo-qty-section label{font-size:15px;margin-bottom:8px;color:var(--fo-blue);}
.fo-qty-group{height:56px;border-radius:16px;overflow:hidden;}
.fo-qty-minus,.fo-qty-plus{width:48px;height:56px;font-size:16px;}
.fo-qty-input{width:58px;height:56px;border:none;}
.fo-btn-add-to-cart{flex:1 1 auto;height:56px;border-radius:18px;font-size:17px;padding:0 22px;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 16px 34px rgba(237,29,36,.24);}
.fo-btn-add-to-cart .btn-text{display:block;}
.fo-btn-add-to-cart small{display:block;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:none;opacity:.92;}
.fo-frete-clean{margin-top:0;}

@media (max-width: 1199px){
  .fo-topbar{font-size:13px;}
  .fo-topbar span,.fo-topbar a{font-size:13px;}
  .fo-trust-item strong{font-size:14px;}
  .fo-trust-item span{font-size:14px;}
}
@media (max-width: 991px){
  .fo-actions-col{gap:10px;}
  .fo-contact-link,.fo-account-link,.fo-cart-btn{min-height:52px;}
  .fo-trust-row>[class*='col-']{width:50%;}
  .fo-buy-row{flex-direction:column;align-items:stretch;}
  .fo-qty-section{min-width:0;width:100%;}
  .fo-btn-add-to-cart{width:100%;}
}
@media (max-width: 768px){
  .fo-topbar{display:block;}
  .fo-topbar-left,.fo-topbar-right{gap:10px;}
  .fo-topbar span,.fo-topbar a{font-size:12px;}
  .fo-topbar-inner{padding:10px 0;}
  .fo-actions-col{width:100%;justify-content:space-between;}
  .fo-account-panel{left:0;right:0;width:auto;}
  .fo-cart-dropdown{left:auto;right:0;min-width:300px;max-width:92vw;}
  .ajax-search-results{left:0;right:0;}
  .fo-trust-row{margin-left:-6px;margin-right:-6px;}
  .fo-trust-row>[class*='col-']{width:100%;padding-left:6px;padding-right:6px;}
  .fo-trust-item{min-height:auto;}
  .fo-footer-text{font-size:16px;}
  .fo-footer-list li,.fo-payment-line span{font-size:15px;}
}

@media (max-width: 768px) {

  /* 1) MENU DEPARTAMENTOS */
  .fo-menu-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    font-size: 16px;
    line-height: 1.2;
  }

  .fo-menu-mobile .fa,
  .fo-menu-mobile i,
  .fo-menu-mobile .icon-bar,
  .fo-menu-mobile .hamburger,
  .fo-menu-mobile .menu-icon {
    margin: 0;
    flex-shrink: 0;
  }

  .fo-menu-mobile .fa-bars,
  .fo-menu-mobile .fa-navicon {
    font-size: 22px;
  }

  .fo-menu > li > a {
    padding: 14px 16px;
    font-size: 15px;
    line-height: 1.25;
  }

  /* 2) SELO SOBRE A IMAGEM DO PRODUTO */
  .fo-product-img-wrap,
  .product-thumb .image {
    position: relative;
    overflow: hidden;
  }

  .fo-badge-pix,
  .fo-badge-pix-large {
    top: 10px;
    left: 10px;
    right: 10px;
    width: auto;
    max-width: calc(100% - 20px);
    white-space: normal;
    text-align: center;
    font-size: 11px;
    line-height: 1.2;
    padding: 8px 10px;
    border-radius: 14px;
    word-break: break-word;
  }

  /* caso o badge grande esteja à direita no desktop */
  .fo-badge-pix-large {
    left: 10px;
    right: 10px;
  }

  /* 3) CARD DE PRODUTO MOBILE */
  .fo-product-card,
  .product-thumb {
    height: auto;
    min-height: 450px;
  }

  .fo-product-body,
  .product-thumb .caption {
    min-height: 0 !important;
  }

  /* 4) PÁGINA DO PRODUTO - COMPRA */
  .fo-buy-row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin: 10px 0 16px;
  }

  .fo-qty-section {
    width: 100%;
    min-width: 0;
  }

  .fo-qty-group {
    width: 100%;
    display: flex;
  }

  .fo-qty-minus,
  .fo-qty-plus {
    width: 52px;
    flex: 0 0 52px;
  }

  .fo-qty-input {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }

  .fo-btn-add-to-cart,
  #button-cart {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 54px;
    padding: 14px 16px;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    text-align: center;
    white-space: normal;
    line-height: 1.2;
  }

  .fo-btn-add-to-cart .btn-text,
  #button-cart .btn-text {
    display: block;
    font-size: 15px;
    line-height: 1.15;
  }

  .fo-btn-add-to-cart small,
  #button-cart small {
    display: block;
    font-size: 11px;
    line-height: 1.25;
    max-width: 100%;
    white-space: normal;
  }

  /* 5) CALCULADORA DE FRETE */
  .fo-frete-clean {
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    padding: 16px;
  }

  .fo-frete-title {
    font-size: 15px;
    line-height: 1.25;
  }

  .fo-frete-desc {
    font-size: 13px;
    line-height: 1.45;
  }

  .fo-frete-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .fo-frete-input,
  .fo-frete-btn {
    width: 100%;
    max-width: 100%;
    flex: none;
  }

  .fo-frete-input {
    height: 46px;
    min-width: 0;
  }

  .fo-frete-btn {
    height: 46px;
    padding: 0 14px;
  }

  /* 6) TABS ABAIXO DA PÁGINA DO PRODUTO */
  .fo-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .fo-tabs > li {
    width: auto;
    float: none;
  }

  .fo-tabs > li > a {
    font-size: 12px;
    padding: 10px 14px;
  }
}

@media (max-width: 480px) {

  .fo-menu-mobile {
    padding: 15px 16px;
    font-size: 15px;
  }

  .fo-menu-mobile .fa-bars,
  .fo-menu-mobile .fa-navicon {
    font-size: 20px;
  }

  .fo-badge-pix,
  .fo-badge-pix-large {
    font-size: 10px;
    padding: 7px 9px;
    border-radius: 12px;
  }

  .fo-btn-add-to-cart,
  #button-cart {
    padding: 13px 14px;
  }

  .fo-btn-add-to-cart .btn-text,
  #button-cart .btn-text {
    font-size: 14px;
  }

  .fo-btn-add-to-cart small,
  #button-cart small {
    font-size: 10px;
  }

  .fo-frete-clean {
    padding: 14px;
    border-radius: 16px;
  }
}