/* REIS — Galeria. A loja como uma galeria de retratos: moldura com passe-partout e plaqueta
   sob cada vinho e cada região, cabeçalho centralizado. Só vale com body.reis-v2. */
.reis-v2 {
	--g-parede: #F5F2EA;
	--g-passe: #E2DDD0;
	--g-ouro: #8E7F53;
	--g-ouro-esc: #6B5F3C;
	--g-grafite: #16191C;
	--g-tinta: #2A2723;
	--g-suave: #6A6459;
	--g-fio: rgba(22, 25, 28, .16);
	--g-titulo: 'Merriweather', Georgia, serif;
	--g-texto: 'Roboto', system-ui, sans-serif;
}
body.reis-v2, .reis-v2 .site-main { background-color: var(--g-parede) !important; }

/* ---------- cabeçalho centralizado (desktop) ---------- */
/* O tema reserva 73px para o cabeçalho; o centralizado mede ~162px (logo + linha do menu). */
@media (min-width: 1000px) {
	body.reis-v2 { --header-height: 162px !important; }
	.reis-v2 #header [data-device="desktop"] .ct-sticky-container { height: 163px !important; }
}
.reis-v2 #header [data-row] { background-color: var(--g-parede) !important; }
.reis-v2 #header [data-device="desktop"] [data-row="middle"] { height: auto !important; }
.reis-v2 #header [data-device="desktop"] [data-row="middle"] > .ct-container-fluid {
	display: grid !important; grid-template-columns: 1fr auto 1fr; grid-template-areas: ". logo icones" "menu menu menu";
	align-items: center; max-width: 1180px; margin: 0 auto; padding-top: 18px; min-height: 0 !important;
}
.reis-v2 #header [data-device="desktop"] [data-row="middle"] [data-column="start"],
.reis-v2 #header [data-device="desktop"] [data-row="middle"] [data-column="start"] > [data-items] { display: contents !important; }
.reis-v2 #header [data-device="desktop"] .site-branding { grid-area: logo; justify-self: center; margin: 0 !important; }
.reis-v2 #header [data-device="desktop"] .site-branding, .reis-v2 #header [data-device="desktop"] .site-logo-container { height: auto !important; max-height: none !important; }
.reis-v2 #header [data-device="desktop"] .site-branding img { height: 72px !important; width: auto !important; max-height: none !important; }
/* preso no alto ao rolar: só a linha do menu, com os ícones à direita */
.reis-v2 #header [data-device="desktop"] [data-sticky*="yes"] .site-branding { display: none !important; }
.reis-v2 #header [data-device="desktop"] [data-sticky*="yes"] [data-row="middle"] > .ct-container-fluid { grid-template-areas: "menu menu icones"; padding-top: 0; }
.reis-v2 #header [data-device="desktop"] [data-sticky*="yes"] #header-menu-1 { margin: 0 !important; border: 0; }
.reis-v2 #header [data-device="desktop"] #header-menu-1 { grid-area: menu; justify-self: stretch; margin: 16px 0 0 !important; border-top: 1px solid var(--g-fio); border-bottom: 3px double var(--g-fio); height: auto !important; }
.reis-v2 #header [data-device="desktop"] #header-menu-1 > ul { justify-content: center !important; gap: 0 38px; height: auto !important; }
.reis-v2 #header [data-device="desktop"] #header-menu-1 > ul > li { flex: 0 0 auto !important; }
.reis-v2 #header [data-device="desktop"] #header-menu-1 > ul > li > a { height: auto !important; padding: 14px 0 !important; font-family: var(--g-texto); font-size: 15px !important; letter-spacing: .01em !important; text-transform: none !important; color: var(--g-tinta) !important; }
.reis-v2 #header [data-device="desktop"] #header-menu-1 > ul > li.current-menu-item > a { color: var(--g-ouro-esc) !important; }
.reis-v2 #header [data-device="desktop"] #header-menu-1 > ul > li > a::after { display: none !important; }
.reis-v2 #header [data-device="desktop"] [data-row="middle"] [data-column="end"] { grid-area: icones; justify-self: end; }
/* o cabeçalho transparente da página inicial vira cabeçalho normal */
.reis-v2 #header [data-transparent-row="yes"] { position: static !important; }
.reis-v2 [data-transparent] #header { position: relative !important; }
.reis-v2 #header [data-device="desktop"] [data-transparent-row="yes"] .ct-menu-link,
.reis-v2 #header [data-device="desktop"] [data-transparent-row="yes"] .ct-header-search,
.reis-v2 #header [data-device="desktop"] [data-transparent-row="yes"] [class*="ct-header"] svg { color: var(--g-tinta) !important; fill: currentColor !important; }

/* ---------- elementos comuns ---------- */
.reisg-quadro { background: var(--g-passe); padding: 14px; box-shadow: 0 1px 0 rgba(22,25,28,.08), 0 14px 28px -18px rgba(22,25,28,.45); }
.reisg-tela { background: var(--g-grafite); outline: 1px solid rgba(22,25,28,.25); overflow: hidden; }
.reisg-tela img { width: 100%; height: 100%; object-fit: cover; display: block; }
.reisg-placa { display: block; text-align: center; margin-top: 14px; text-decoration: none !important; }
.reisg-quem { display: block; font-family: var(--g-texto); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--g-ouro-esc); font-weight: 500; }
.reisg-obra { display: block; font-family: var(--g-titulo) !important; font-weight: 400 !important; font-size: 17px !important; line-height: 1.35 !important; color: var(--g-grafite) !important; margin: 3px 0 0 !important; padding: 0 !important; }
.reisg-ficha { display: block; font-family: var(--g-titulo); font-style: italic; font-size: 14px; color: var(--g-suave); margin-top: 2px; }
.reisg-btn { display: inline-block; font: 500 15px/1 var(--g-texto); padding: 14px 24px; text-decoration: none !important; border: 1px solid var(--g-grafite); color: var(--g-grafite) !important; background: transparent; transition: background .15s ease, color .15s ease; }
.reisg-btn.cheio, .reisg-btn:hover { background: var(--g-grafite); color: #F5F2EA !important; }
.reisg-btn.claro { border-color: #E7E1D3; color: #E7E1D3 !important; }
.reisg-btn.claro:hover { background: #E7E1D3; color: var(--g-grafite) !important; }
.reisg-link { font-size: 15px; font-weight: 500; color: var(--g-ouro-esc) !important; text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }

/* ---------- página inicial ---------- */
.reis-home-galeria .hero-section, .reis-home-galeria .entry-header { display: none !important; }
.reis-home-galeria .site-main > [data-vertical-spacing] { padding-top: 0 !important; padding-bottom: 0 !important; }
.reisg-home { font-family: var(--g-texto); color: var(--g-tinta); }
.reisg-home h1, .reisg-home h2, .reisg-home h3 { font-family: var(--g-titulo); color: var(--g-grafite); text-wrap: balance; margin: 0; }
.reisg-home > section { max-width: 1180px; margin-left: auto !important; margin-right: auto !important; padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
.reisg-abertura { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 6vw, 88px); align-items: center; padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
.reisg-abertura h1 { font-size: clamp(34px, 5vw, 58px); line-height: 1.12; font-weight: 700; }
.reisg-abertura p { font-size: 18px; color: var(--g-suave); max-width: 34em; margin: 22px 0 30px; }
.reisg-acoes { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.reisg-abertura__quadro { margin: 0; justify-self: center; max-width: 440px; width: 100%; }
.reisg-abertura__quadro .reisg-quadro { transform: rotate(.6deg); }
.reisg-abertura__quadro .reisg-tela { aspect-ratio: 4 / 5; }
.reisg-legenda { text-align: center; margin-top: 14px; font-family: var(--g-titulo); font-style: italic; font-size: 14px; color: var(--g-suave); }
.reisg-sec { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(10px, 2vw, 20px); }
.reisg-sec-cab { display: flex; justify-content: space-between; align-items: end; gap: 12px 24px; flex-wrap: wrap; margin-bottom: 32px; border-bottom: 1px solid var(--g-fio); padding-bottom: 14px; }
.reisg-sec-cab h2 { font-size: clamp(26px, 3.2vw, 36px); }
.reisg-sec-cab p { margin: 6px 0 0; color: var(--g-suave); }
.reisg-sec-cab a { font-size: 14px; font-weight: 500; color: var(--g-ouro-esc) !important; }
.reisg-salas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.reisg-salas a { text-decoration: none !important; }
.reisg-salas .reisg-tela { aspect-ratio: 3 / 4; }
.reisg-salas .reisg-tela img { object-position: 58% 30%; }
.reisg-salas .reisg-quadro { transition: transform .25s ease; }
.reisg-salas a:hover .reisg-quadro { transform: translateY(-4px); }
.reisg-produtores { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--g-fio); }
.reisg-produtores li { border-bottom: 1px solid var(--g-fio); margin: 0; }
.reisg-produtores a { display: grid; gap: 2px; padding: 18px 16px 18px 0; text-decoration: none !important; }
.reisg-produtores b { font-family: var(--g-titulo); font-weight: 400; font-size: 17px; color: var(--g-grafite); }
.reisg-produtores span { font-family: var(--g-titulo); font-style: italic; font-size: 14px; color: var(--g-suave); }
.reisg-produtores a:hover b { color: var(--g-ouro-esc); }
.reisg-home > section.reisg-bordeaux { max-width: none; background: var(--g-grafite); color: #E7E1D3; margin-top: clamp(40px, 6vw, 72px) !important; }
.reisg-bordeaux__in { max-width: 1148px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(28px, 5vw, 64px); align-items: center; padding: clamp(44px, 6vw, 72px) 0; }
.reisg-bordeaux h2 { color: #F5F2EA !important; font-size: clamp(30px, 4vw, 46px); }
.reisg-bordeaux p { color: #BDB6A6; max-width: 30em; margin: 14px 0 26px; }
.reisg-bordeaux__img { aspect-ratio: 16 / 9; overflow: hidden; outline: 1px solid rgba(231,225,211,.2); outline-offset: 10px; }
.reisg-bordeaux__img img { width: 100%; height: 100%; object-fit: cover; }
.reisg-home > section.reisg-vantagens { max-width: none; background: var(--g-passe); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 40px max(16px, calc((100% - 1148px) / 2)); }
.reisg-vantagens h3 { font-size: 18px; margin-bottom: 6px !important; }
.reisg-vantagens p { margin: 0; color: var(--g-suave); font-size: 15px; }

.reisg-home > section.reisg-abertura { padding-top: clamp(40px, 5vw, 64px) !important; }

/* ---------- cartões de produto (catálogo, destaques, relacionados) ---------- */
.reis-v2 ul.products li.product { text-align: center; }
.reis-v2 ul.products li.product figure { background: var(--g-passe); padding: 10px; margin-bottom: 0 !important; box-shadow: 0 1px 0 rgba(22,25,28,.08), 0 14px 28px -18px rgba(22,25,28,.45); }
.reis-v2 ul.products li.product figure .ct-media-container { display: block; background: #F3F0EA; outline: 1px solid rgba(22,25,28,.18); aspect-ratio: 4 / 5; overflow: hidden; border-radius: 0 !important; }
.reis-v2 ul.products li.product figure img { width: 100% !important; height: 100% !important; aspect-ratio: auto !important; object-fit: cover; border-radius: 0 !important; }
.reis-v2 ul.products li.product .reisg-placa { margin-top: 14px; }
/* o tema escreve o nome comprido do cadastro por conta própria: a plaqueta substitui-o */
.reis-v2 ul.products li.product h2.woocommerce-loop-product__title { display: none !important; }
.reis-v2 ul.products li.product .ct-woo-card-actions { justify-content: center; }
.reis-v2 ul.products { row-gap: 40px !important; }

/* ---------- catálogo: sem barra lateral, filtros no alto ---------- */
.reis-v2.woocommerce-shop #sidebar, .reis-v2.tax-product_cat #sidebar, .reis-v2.post-type-archive-product #sidebar { display: none !important; }
.reis-v2.woocommerce-shop [data-sidebar], .reis-v2.tax-product_cat [data-sidebar], .reis-v2.post-type-archive-product [data-sidebar] { grid-template-columns: minmax(0, 1fr) !important; --sidebar-width: 0 !important; }
.reis-v2.woocommerce-shop .hero-section, .reis-v2.tax-product_cat .hero-section { display: none !important; }
.reisg-cat-topo { text-align: center; width: 100%; padding: 28px 0 8px; }
.reis-v2 .reisg-cat-h, .reis-v2 .reisg-titulo h1.product_title { display: block !important; visibility: visible !important; }
.reisg-cat-h { font-family: var(--g-titulo) !important; font-size: clamp(32px, 4vw, 46px) !important; color: var(--g-grafite) !important; margin: 0 !important; }
.reisg-filtros { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 22px 0 26px; }
.reisg-filtros a { font: 400 14px/1 var(--g-texto); padding: 10px 16px; border: 1px solid var(--g-fio); color: var(--g-tinta) !important; border-radius: 999px; text-decoration: none !important; }
.reisg-filtros a:hover { border-color: var(--g-grafite); }
.reisg-filtros a.on { background: var(--g-grafite); border-color: var(--g-grafite); color: #F5F2EA !important; }
.reisg-sep { width: 1px; background: var(--g-fio); margin: 0 6px; }
.reisg-faixa { background: var(--g-passe); color: var(--g-suave); font-size: 14px; padding: 12px 16px; margin: 0 0 30px; }
.reisg-faixa a { color: var(--g-ouro-esc) !important; font-weight: 500; }
.reis-v2 .woocommerce-result-count, .reis-v2 .woocommerce-ordering { font-family: var(--g-texto); font-size: 14px; }

/* ---------- produto ---------- */
.reis-v2.single-product .woocommerce-product-gallery { background: var(--g-passe); padding: 14px; box-shadow: 0 1px 0 rgba(22,25,28,.08), 0 14px 28px -18px rgba(22,25,28,.45); }
.reis-v2.single-product .woocommerce-product-gallery .ct-media-container { background: #F3F0EA; outline: 1px solid rgba(22,25,28,.18); border-radius: 0 !important; }
.reisg-titulo .reisg-quem { font-size: 13px; }
.reisg-titulo .product_title { font-family: var(--g-titulo) !important; font-weight: 700 !important; font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.2 !important; color: var(--g-grafite) !important; margin: 8px 0 0 !important; }
.reisg-ficha-prod { display: grid; grid-template-columns: max-content 1fr; gap: 10px 22px; margin: 24px 0; padding: 20px 0; border-top: 1px solid var(--g-fio); border-bottom: 1px solid var(--g-fio); font-size: 15px; }
.reisg-ficha-prod dt { color: var(--g-suave); font-family: var(--g-texto); font-weight: 400; margin: 0; }
.reisg-ficha-prod dd { margin: 0; color: var(--g-grafite); font-family: var(--g-titulo); }
.reis-v2.single-product .ccam-produto-cta { background: #fff !important; border: 1px solid var(--g-fio); outline: 1px solid var(--g-fio); outline-offset: -7px; border-radius: 0 !important; padding: 26px !important; }
.reis-v2.single-product .ccam-produto-botao { border-radius: 0 !important; }
.reis-v2.single-product .product_meta { display: none; }
.reis-v2.single-product .entry-summary .ct-product-divider { display: none !important; }

@media (max-width: 999px) {
	.reisg-abertura, .reisg-bordeaux__in { grid-template-columns: 1fr; }
	.reisg-salas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	.reisg-produtores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.reisg-home > section.reisg-vantagens { grid-template-columns: 1fr; }
	.reisg-abertura__quadro .reisg-quadro { transform: none; }
	.reisg-bordeaux__in { padding-left: 16px; padding-right: 16px; }
}
@media (max-width: 689px) {
	.reis-v2 ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 14px !important; row-gap: 28px !important; }
	.reis-v2 ul.products li.product figure { padding: 6px; }
	.reis-v2 ul.products .reisg-quem { font-size: 10px; letter-spacing: .08em; }
	.reis-v2 ul.products .reisg-ficha { font-size: 12px; }
	.reis-v2 ul.products .ccam-convite { font-size: 13px; }
}
@media (max-width: 520px) {
	.reisg-obra { font-size: 15px !important; }
	.reisg-sep { display: none; }
	.reisg-produtores a { padding-right: 10px; }
}
@media (prefers-reduced-motion: reduce) { .reisg-salas .reisg-quadro { transition: none; } }
