:root {
  --verde-escuro: #16332B;
  --dourado: #D4AF37;
  --bege: #FBF8F3;
  --branco: #FFFFFF;
  --texto: #1A1F2B;
}

body {
  background: var(--bege);
  font-family: 'Poppins', sans-serif;
  margin: 0;
  color: var(--texto);
}

/* TOPO */
.topo-giorgina {
  background: var(--verde-escuro);
  color: var(--branco);
  font-size: 0.85rem;
  padding: 8px 0;
  border-bottom: 2px solid var(--dourado);
}
.topo-giorgina .topo-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  text-transform: uppercase;
}

/* LOGO */
.brand-giorgina {
  background: var(--verde-escuro);
  text-align: center;
  padding: 14px 12px;
}
.brand-giorgina .brand {
  font-family: "Playfair Display", serif;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--dourado);
  font-size: 28px;
  text-decoration: none;
}

/* MENU */
.nav-giorgina {
  background: var(--bege);
  border-bottom: 1px solid #e6e1d8;
}
.nav-giorgina .nav-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.nav-giorgina .nav-list {
  display: flex;
  gap: 36px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-giorgina .nav-link {
  position: relative;
  font-family: "Playfair Display", serif;
  color: var(--texto);
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .8px;
  font-size: 15px;
}
.nav-giorgina .nav-link::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--dourado);
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.nav-giorgina .nav-link:hover::after {
  transform: scaleX(1);
}

/* BANNER */
.section-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 60px 8%;
  background: var(--bege);
}
.section-banner .texto {
  flex: 1;
}
.section-banner .texto h2 {
  font-family: "Playfair Display", serif;
  font-size: 42px;
  color: var(--verde-escuro);
  margin-bottom: 15px;
}
.section-banner .texto p {
  max-width: 400px;
  font-size: 16px;
  color: #555;
}
.section-banner .texto a {
  display: inline-block;
  margin-top: 25px;
  border: 2px solid var(--dourado);
  padding: 12px 26px;
  border-radius: 40px;
  color: var(--verde-escuro);
  font-weight: 600;
  text-decoration: none;
}
.section-banner .imagem img {
  width: 360px;
  border-radius: 10px;
}

/* PRODUTOS */
.section-destaque {
  text-align: center;
  padding: 60px 8%;
}
.section-destaque h3 {
  font-family: "Playfair Display", serif;
  font-size: 28px;
  color: var(--verde-escuro);
  margin-bottom: 40px;
}
.produtos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
}
.produto-card {
  background: var(--branco);
  border-radius: 12px;
  box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  padding: 15px;
  transition: transform 0.2s ease;
}
.produto-card:hover {
  transform: translateY(-5px);
}
.produto-card img {
  width: 100%;
  border-radius: 8px;
}
.produto-card h4 {
  font-size: 16px;
  margin: 10px 0 6px;
  color: var(--texto);
}
.produto-card p {
  color: var(--verde-escuro);
  font-weight: bold;
}

/* RODAPÉ */
.footer-premium {
  background: var(--verde-escuro);
  color: var(--branco);
  text-align: center;
  padding: 40px 0 20px;
  border-top: 3px solid var(--dourado);
}
.footer-premium p {
  margin: 6px 0;
}
.footer-premium hr {
  width: 60px;
  border: 1px solid var(--dourado);
  margin: 20px auto;
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .section-banner {
    flex-direction: column;
    text-align: center;
  }
  .section-banner .imagem {
    margin-top: 30px;
  }
  .nav-giorgina .nav-list {
    display: none;
    flex-direction: column;
    background: var(--branco);
    padding: 10px;
    border-radius: 10px;
    position: absolute;
    top: 50px;
    left: 0; right: 0;
  }
  .nav-giorgina .nav-list.open { display: flex; }
  .nav-giorgina .nav-toggle {
    display: block;
    position: absolute;
    left: 10px;
    top: 10px;
    background: transparent;
    border: none;
    font-size: 24px;
  }
}


/* ===== Correções visuais do produto ===== */
.main-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
  background: #fcf9f7;
  border-radius: 16px;
}

.product-view .title-product h1 {
  font-size: 26px;
  font-weight: 700;
  color: #222;
  margin: 16px 0 8px;
}

.product-view .price {
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
}

.product-view .rating .fa {
  color: #d4af37;
}

#content {
  background: #fff;
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
}

/* Ajuste do cálculo de frete e quantidade */
#cep, #qtd {
  height: 36px;
  border-radius: 6px;
  border: 1px solid #ccc;
  padding: 4px 8px;
}

/* Botão “Add ao Carrinho” */
.btn.btn-mega {
  background: #d4af37;
  color: #fff;
  font-weight: 600;
  border-radius: 8px;
  border: none;
  transition: background 0.2s;
}
.btn.btn-mega:hover {
  background: #b9972b;
}

/* ===== CONTAINER / GRID ===== */
.main-container { max-width:1200px; margin:0 auto; padding:32px 20px; }
#content { background:#fff; border-radius:16px; padding:28px; box-shadow:0 2px 8px rgba(0,0,0,.05); }
.breadcrumb{display:none}

/* ===== COLUNA ESQUERDA (categorias + recentes) ===== */
.content-aside { padding-right:20px; }
.module.category-style .modtitle { font:700 18px/1.2 'Inter',system-ui; color:#0f2e28; margin:0 0 12px; }
.box-category ul{ list-style:none; margin:0; padding:0; }
.box-category > ul > li{ padding:10px 12px; border:1px solid #eee; border-radius:10px; margin-bottom:8px; background:#faf8f6; }
.box-category a{ color:#1f1f1f; text-decoration:none; }
.box-category a:hover{ color:#0f2e28; text-decoration:underline; }
.box-category .button-view{ float:right; color:#788; cursor:pointer; }
.content-aside .product-simple .modtitle span{ font-weight:700; }
.item-image img{ width:100%; height:72px; object-fit:cover; border-radius:8px; }

/* ===== GALERIA / TÍTULO / PREÇO ===== */
.large-image img{ width:100%; height:420px; object-fit:cover; border-radius:14px; }
.product-view .title-product h1{ font:700 26px/1.25 'Inter',system-ui; color:#233; margin:16px 0 8px; }
.product_page_price .price-new{ font:700 22px/1 'Inter'; color:#1a1a1a; }
.product_page_price .price-old{ color:#888; text-decoration:line-through; margin-left:8px; }
.rating .fa{ color:#D4AF37; }

/* ===== FORM / AÇÕES ===== */
#cep,#qtd{ height:38px; border-radius:8px; border:1px solid #d9d9d9; padding:6px 10px; }
.btn.btn-mega{ background:#D4AF37; color:#fff; font-weight:700; border:none; border-radius:10px; padding:10px 16px; }
.btn.btn-mega:hover{ background:#b9972b; }

/* ===== “OUTROS PRODUTOS” — CARD + CARROSSEL ===== */
.related.titleLine{ margin-top:28px; }
.related .modtitle{ font:700 20px/1.2 'Inter'; color:#0f2e28; margin-bottom:14px; }
.rel-strip{ position:relative; }
.rel-track{
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding-bottom:6px; -webkit-overflow-scrolling:touch;
}
.rel-card{
  flex:0 0 220px; scroll-snap-align:start; background:#fff; border:1px solid #eee; border-radius:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.04); overflow:hidden;
}
.rel-card .rel-img{ width:100%; height:180px; object-fit:cover; display:block; }
.rel-card .rel-body{ padding:10px 12px; }
.rel-card .rel-name{ font:600 14px/1.2 'Inter'; color:#222; margin:4px 0 6px; height:34px; overflow:hidden; }
.rel-card .rel-price{ font:700 16px 'Inter'; color:#1a1a1a; }
.rel-card .rel-old{ font:13px 'Inter'; color:#888; text-decoration:line-through; margin-left:8px; }

/* setinhas (opcional) */
.rel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:36px; height:36px; border:0;
  border-radius:50%; background:#0f2e28; color:#fff; opacity:.9; cursor:pointer;
}
.rel-arrow:hover{ opacity:1 }
.rel-prev{ left:-6px } .rel-next{ right:-6px }

/* RESPONSIVO */
@media (max-width:992px){
  .large-image img{ height:360px; }
  #content{ padding:20px; }
}
@media (max-width:768px){
  .content-aside{ display:none; }
  .large-image img{ height:300px; }
  .rel-card{ flex-basis:180px; }
}

/* ======== CORREÇÃO GERAL DE LAYOUT ======== */
.products-list,
.so-filter-gird,
.extraslider-inner,
.item {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
  width: 100%;
}

.product-layout,
.product-item-container {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  border-radius: 12px !important;
  overflow: hidden;
  transition: 0.2s ease all;
}

.product-layout:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}

.product-image-container {
  height: 260px !important;
  overflow: hidden;
}

.product-image-container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-layout .caption {
  padding: 12px 14px;
}

.product-layout .caption h4 a {
  color: #1a1f2b !important;
  font-weight: 700;
  text-decoration: none;
}

.product-layout .caption h4 a:hover {
  color: #D4AF37 !important;
}

.product-layout .price {
  margin-top: 6px;
}

.product-layout .price-new {
  font-weight: 800;
  color: #1a1f2b;
}

.product-layout .price-old {
  margin-left: 8px;
  color: #777;
  text-decoration: line-through;
}

.product-layout .rating .fa {
  color: #D4AF37 !important;
}

@media (max-width: 480px) {
  .product-image-container { height: 200px !important; }
}

/* ===== Cards & Grid base (corrige tema antigo) ===== */
.products-list,
.so-filter-gird,
.extraslider-inner,
.item {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
  width: 100%;
}

.product-layout,
.product-item-container {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #eee !important;
  border-radius: 12px !important;
  overflow: hidden;
  transition: .2s ease all;
}

.product-layout:hover { box-shadow: 0 6px 20px rgba(0,0,0,.08); }

.product-image-container { height: 260px !important; overflow: hidden; }
.product-image-container img { width: 100%; height: 100%; object-fit: cover; }

.product-layout .caption { padding: 12px 14px; }
.product-layout .caption h4 a { color:#1a1f2b !important; font-weight:700; text-decoration:none; }
.product-layout .caption h4 a:hover { color:#D4AF37 !important; }
.product-layout .price { margin-top: 6px; }
.product-layout .price-new { font-weight:800; color:#1a1f2b; }
.product-layout .price-old { margin-left:8px; color:#777; text-decoration:line-through; }
.product-layout .rating .fa { color:#D4AF37 !important; }

@media (max-width: 480px){
  .product-image-container { height: 200px !important; }
}

/* ===== Related slider ===== */
.related { position: relative; margin-top: 28px; }
.related .modtitle { margin-bottom: 14px; }

.related-slider{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(220px, 1fr);
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 6px 2px 10px;
  -webkit-overflow-scrolling: touch;
}
.related-slider::-webkit-scrollbar{ height:8px; }
.related-slider::-webkit-scrollbar-thumb{ background:#c9c9c9; border-radius:4px; }

.related-card{
  scroll-snap-align: start;
  background:#fff;
  border:1px solid #eee;
  border-radius:12px;
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
}

.related-thumb{ display:block; height:220px; overflow:hidden; }
.related-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.badge-off{
  position:absolute; top:10px; left:10px;
  background:#D4AF37; color:#1a1f2b; font-weight:800;
  font-size:12px; padding:4px 8px; border-radius:999px;
}

.related-info{ padding:12px; display:flex; flex-direction:column; gap:8px; }
.related-title{ margin:0; font-size:15px; line-height:1.3; }
.related-title a{ color:#1a1f2b; text-decoration:none; }
.related-title a:hover{ color:#0f3a34; }

.related-stars .fa{ color:#D4AF37; margin-right:2px; }

.related-price .price-new{ font-weight:800; color:#1a1f2b; }
.related-price .price-old{ margin-left:8px; color:#777; text-decoration:line-through; }

.btn-giorgina{
  margin-top:4px;
  background:#0f2f2a; color:#fff !important; border:none;
  padding:8px 10px; border-radius:10px; text-align:center;
  font-weight:600; display:inline-block; text-decoration:none;
}
.btn-giorgina:hover{ filter:brightness(1.05); }

/* setas */
.rel-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:40px; height:40px; border-radius:50%;
  border:1px solid #ddd; background:#fff;
  box-shadow:0 4px 10px rgba(0,0,0,.08);
  font-size:22px; line-height:38px; text-align:center; 
  cursor:pointer; user-select:none;
}
.rel-nav.prev{ left:-6px; }
.rel-nav.next{ right:-6px; }

@media (max-width: 640px){
  .rel-nav{ display:none; }
}

/* ===== Neutraliza estilos antigos do tema que “esticam” os placeholders ===== */
.extraslider .item,
.releate-products,
.yt-content-slider.products-list {
  all: unset !important;
  display: contents !important;
}

/* ===== Nomes longos não quebram layout ===== */
.rel-name,
.product-layout .caption h4 a {
  display: -webkit-box;
  -webkit-line-clamp: 2;  /* 2 linhas */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ===== Grid das páginas de categoria/listagem ===== */
.products-category .products-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

/* força os cards herdados do tema a cooperarem */
.products-category .product-layout { width: auto !important; }

/* ===== “Produtos Recentes” (sidebar) – thumbs padronizadas ===== */
.module.product-simple .item-image img {
  width: 100%; height: 120px; object-fit: cover; display: block;
  border-radius: 8px;
}

/* ===== Botões “Grid/List” do tema antigo – compatibilidade ===== */
.list-view .btn.btn-default.grid.active,
.list-view .btn.btn-default.list.active { background:#1a1f2b; color:#fff; border-color:#1a1f2b; }
.list-view .btn.btn-default { border-radius: 8px; }

/* modo lista = 1 por linha sem quebrar o card */
.list .products-list,
.list .so-filter-gird { grid-template-columns: 1fr !important; }

/* ===== Imagens dentro da descrição do produto (tab Descrição) ===== */
.tab-content img { max-width: 100% !important; height: auto !important; }

/* ====== Accordion de Categorias (limpo e responsivo) ====== */
.cat-accordion { display: grid; gap: 10px; }
.cat-item { border: 1px solid #eee; border-radius: 10px; background: #fff; overflow: hidden; }
.cat-item.no-children .cat-row { padding-right: 14px; }

.cat-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 12px 14px;
}

.cat-link {
  color: #1A1F2B;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.2;
}
.cat-link:hover { color: #D4AF37; }

.cat-toggle {
  width: 28px; height: 28px;
  border-radius: 8px;
  border: 1px solid #e3e3e3;
  background: #fafafa;
  cursor: pointer;
  display: grid; place-items: center;
  font-size: 16px; line-height: 1;
}
.cat-toggle:hover { background: #f0f0f0; }
.cat-toggle[aria-expanded="true"] .cat-toggle-icon { transform: rotate(45deg); } /* + vira × */

.cat-sub { padding: 0 14px 12px 14px; display: grid; gap: 8px; }
.cat-sub li { list-style: none; }
.cat-sub a { color: #444; text-decoration: none; font-size: 14px; }
.cat-sub a:hover { color: #1A1F2B; text-decoration: underline; }

.cat-empty { padding: 8px 0; color: #777; }

/* mobile: mantém compacto */
@media (max-width: 768px){
  .cat-row { padding: 12px; }
  .cat-sub { padding: 0 12px 12px 12px; }
}