/*
Theme Name: TRAGO — Hello Elementor Child
Theme URI: https://trago.shop
Description: Tema filho do Hello Elementor com o design system da trago (Porto & Douro).
Author: trago
Template: hello-elementor
Version: 1.0.0
Text Domain: trago-child
*/

:root {
  --trago-bg: #FFFFFF;
  --trago-fg: #100C0A;
  --trago-beige: #E3DBD5;
  --trago-muted: #F5EDE7;
  --trago-muted-fg: #524C47;
  --trago-accent: #472B1B;
  --trago-gold: #BC8E58;
  --trago-cream: #FAF7F2;
  --trago-serif: "Cormorant Garamond", Georgia, serif;
  --trago-sans: "Inter", system-ui, sans-serif;
  --trago-mono: "JetBrains Mono", ui-monospace, monospace;
  --trago-ease: cubic-bezier(0.16, 1, 0.3, 1);
}

body { background: var(--trago-bg); color: var(--trago-fg); font-family: var(--trago-sans); -webkit-font-smoothing: antialiased; }
h1,h2,h3,.trago-serif { font-family: var(--trago-serif); font-weight: 400; letter-spacing: -0.01em; }
h1 { line-height: 1.05; }
h2 { line-height: 1.15; }

/* Eyebrow / kicker — subtítulos em maiúsculas */
.trago-kicker {
  font-family: var(--trago-mono);
  font-size: 10px; text-transform: uppercase; letter-spacing: .22em;
  color: var(--trago-accent); display: block; margin-bottom: 1rem;
}
.trago-kicker--light { color: rgba(250,247,242,.6); }

/* Secções bege */
.trago-section--beige { background: var(--trago-beige); }
.trago-section--muted { background: var(--trago-muted); }
.trago-section--dark { background: var(--trago-fg); color: var(--trago-cream); }

/* Botões */
.trago-btn, .woocommerce a.button, .woocommerce button.button,
.woocommerce .button.alt, .woocommerce #respond input#submit {
  background: var(--trago-fg); color: var(--trago-cream);
  font-family: var(--trago-mono); font-size: 11px; text-transform: uppercase;
  letter-spacing: .25em; padding: 16px 32px; border-radius: 0; border: 0;
  transition: opacity .3s var(--trago-ease);
}
.trago-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { opacity: .88; color: var(--trago-cream); }

.trago-link-underline {
  font-family: var(--trago-mono); font-size: 10px; text-transform: uppercase;
  letter-spacing: .2em; border-bottom: 1px solid rgba(16,12,10,.25);
  padding-bottom: 4px; text-decoration: none; color: var(--trago-fg);
}
.trago-link-underline:hover { border-color: var(--trago-accent); color: var(--trago-accent); }

/* ---------- WooCommerce: grelha de produtos estilo editorial ---------- */
.woocommerce ul.products { display: grid; gap: 6rem 3rem; margin: 0; }
.woocommerce ul.products li.product { width: 100% !important; margin: 0 !important; float: none; text-align: left; }
.woocommerce ul.products li.product a img {
  aspect-ratio: 4/5; object-fit: cover; background: var(--trago-beige);
  margin-bottom: 1.5rem; border-radius: 0;
  transition: transform 1.2s var(--trago-ease);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--trago-serif) !important; font-size: 1.35rem !important;
  font-weight: 400 !important; padding: 0 !important;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title { font-style: italic; }
.woocommerce ul.products li.product .price {
  font-family: var(--trago-serif); font-style: italic; font-size: 1.1rem; color: var(--trago-fg);
}
.woocommerce ul.products li.product .trago-meta {
  font-family: var(--trago-mono); font-size: 9px; text-transform: uppercase;
  letter-spacing: .2em; color: var(--trago-muted-fg); margin-bottom: .35rem;
}
.woocommerce ul.products li.product .trago-partner { font-size: .75rem; color: var(--trago-muted-fg); margin-top: .25rem; }
.woocommerce ul.products li.product .button { display: none; } /* sem botão na grelha, estilo arquivo */

/* Página de produto */
.woocommerce div.product .product_title { font-family: var(--trago-serif); font-size: clamp(2rem,4vw,3.25rem); }
.woocommerce div.product p.price { font-family: var(--trago-serif); font-style: italic; font-size: 1.75rem; color: var(--trago-fg); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: var(--trago-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .2em;
}
.woocommerce span.onsale {
  background: var(--trago-gold); color: var(--trago-fg); border-radius: 0;
  font-family: var(--trago-mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
}

/* Filtros da loja (sidebar) */
.trago-filters .widget-title, .trago-filters h3 {
  font-family: var(--trago-mono); font-size: 10px; text-transform: uppercase;
  letter-spacing: .2em; color: var(--trago-muted-fg); margin-bottom: 1rem;
}
.trago-filters ul { list-style: none; margin: 0 0 2.5rem; padding: 0; }
.trago-filters ul li { padding: .35rem 0; font-size: .9rem; }
.trago-filters ul li a { color: var(--trago-fg); text-decoration: none; }
.trago-filters ul li a:hover { color: var(--trago-accent); }

/* Barra de anúncio + header */
.trago-topbar { background: var(--trago-fg); color: var(--trago-cream); }
.trago-topbar, .trago-topbar a {
  font-family: var(--trago-mono); font-size: 10px; text-transform: uppercase;
  letter-spacing: .25em; color: rgba(250,247,242,.8); text-decoration: none;
}
.trago-header { background: var(--trago-beige); position: sticky; top: 0; z-index: 99; }
.trago-header .elementor-nav-menu a {
  font-family: var(--trago-serif) !important; font-style: italic; font-size: 15px !important; color: var(--trago-fg);
}
/* Logo recortado (remove whitespace vertical do PNG) */
.trago-logo { height: 88px; overflow: hidden; display: flex; align-items: center; }
.trago-logo img { height: 200px; max-width: none; width: auto; object-fit: contain; }
@media (max-width: 767px) { .trago-logo { height: 64px; } .trago-logo img { height: 150px; } }

/* Footer */
.trago-footer { background: var(--trago-fg); color: var(--trago-cream); }
.trago-footer a { color: rgba(250,247,242,.75); text-decoration: none; }
.trago-footer a:hover { color: var(--trago-gold); }
.trago-footer .trago-logo img { filter: invert(1); }
