/* ================================================================
   OAT wall & floor art — CSS de marca para WordPress + Elementor
   ================================================================
   ONDE COLAR:
   1) Aparência > Personalizar > CSS Adicional (Customizer) — cola o
      ficheiro inteiro. Aplica-se ao site todo, sempre.
      OU
   2) Um plugin "Simple Custom CSS" / "Code Snippets" (tipo CSS) —
      mesmo efeito, mais fácil de editar depois.

   COMO USAR AS CLASSES UTILITÁRIAS:
   Em qualquer secção, coluna, widget ou botão do Elementor, abre o
   painel Avançado > CSS Classes e escreve o nome da classe (sem o
   ponto). Ex.: no botão "Pedir Orçamento", CSS Classes = oat-btn-gold

   Este ficheiro NÃO precisa do Elementor Pro — funciona com o
   Elementor gratuito, porque só usa o campo "CSS Classes" que já
   existe na versão free, mais o Customizer nativo do WordPress.
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400&family=Jost:wght@300;400;500;600&display=swap');

/* ---------------------------------------------------------------
   1) TOKENS DE MARCA (cores, tipografia, espaçamento)
   --------------------------------------------------------------- */
:root{
  --oat-black:#0b0b0a;
  --oat-charcoal:#211f1d;
  --oat-charcoal-2:#2c2a27;
  --oat-ivory:#f4efe6;
  --oat-ivory-2:#e9e1d1;
  --oat-gold:#c8a24d;
  --oat-gold-light:#e6cd8a;
  --oat-gold-deep:#a3822f;
  --oat-line: rgba(200,162,77,0.28);
  --oat-serif: 'Cormorant Garamond', 'Times New Roman', serif;
  --oat-sans: 'Jost', 'Helvetica Neue', Arial, sans-serif;
  --oat-radius: 2px;
  --oat-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

/* ---------------------------------------------------------------
   2) TIPOGRAFIA GLOBAL DO SITE
   Aplica-se a todo o conteúdo (posts, páginas, produtos WooCommerce)
   --------------------------------------------------------------- */
body{
  background:var(--oat-ivory);
  color:var(--oat-charcoal);
  font-family:var(--oat-sans);
  font-weight:300;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6,
.elementor-heading-title{
  font-family:var(--oat-serif) !important;
  font-weight:500 !important;
  letter-spacing:0.02em;
  color:var(--oat-black);
}
a{ color:inherit; }

/* Legenda pequena maiúscula em dourado — usar em títulos de secção
   (ex.: "COLEÇÃO", "SOBRE A OAT"). Aplicar num widget de Texto acima
   do título, CSS Classes = oat-eyebrow */
.oat-eyebrow{
  font-family:var(--oat-sans);
  font-size:0.72rem;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--oat-gold-deep);
  display:block;
  margin-bottom:0.4em;
}
.oat-eyebrow.on-dark{ color:var(--oat-gold-light); }

/* ---------------------------------------------------------------
   3) BOTÕES
   Aplicar no botão do Elementor (widget "Botão"), Avançado > CSS
   Classes. Combinar com o estilo próprio do botão do Elementor
   desligado (ou deixar, estas regras têm !important onde precisa).
   --------------------------------------------------------------- */
.oat-btn, a.oat-btn, .oat-btn .elementor-button{
  display:inline-flex !important;align-items:center;justify-content:center;gap:10px;
  padding:15px 34px !important;
  border:1px solid var(--oat-black) !important;
  background:var(--oat-black) !important;
  color:var(--oat-ivory) !important;
  font-size:0.78rem !important;
  letter-spacing:0.18em !important;
  text-transform:uppercase !important;
  border-radius:var(--oat-radius) !important;
  transition:all .35s ease;
}
.oat-btn:hover, a.oat-btn:hover{ background:var(--oat-gold) !important;border-color:var(--oat-gold) !important;color:var(--oat-black) !important; }

.oat-btn-outline, a.oat-btn-outline{
  background:transparent !important;color:var(--oat-black) !important;border:1px solid var(--oat-black) !important;
}
.oat-btn-outline:hover, a.oat-btn-outline:hover{ background:var(--oat-black) !important;color:var(--oat-ivory) !important; }

.oat-btn-gold, a.oat-btn-gold{
  background:var(--oat-gold) !important;border:1px solid var(--oat-gold) !important;color:var(--oat-black) !important;
}
.oat-btn-gold:hover, a.oat-btn-gold:hover{ background:var(--oat-black) !important;color:var(--oat-gold) !important;border-color:var(--oat-black) !important; }

.oat-btn-ghost, a.oat-btn-ghost{
  background:transparent !important;border:1px solid rgba(244,239,230,0.6) !important;color:var(--oat-ivory) !important;
}
.oat-btn-ghost:hover, a.oat-btn-ghost:hover{ background:var(--oat-ivory) !important;color:var(--oat-black) !important; }

.oat-btn-small{ padding:10px 22px !important;font-size:0.7rem !important; }

/* ---------------------------------------------------------------
   4) FAIXAS DE COR (secções inteiras)
   Aplicar na SECÇÃO do Elementor (não na coluna), CSS Classes:
   oat-band-dark / oat-band-charcoal / oat-band-ivory2
   --------------------------------------------------------------- */
.oat-band-dark{ background:var(--oat-black) !important;color:var(--oat-ivory); }
.oat-band-dark h1,.oat-band-dark h2,.oat-band-dark h3,.oat-band-dark .elementor-heading-title{ color:var(--oat-ivory) !important; }
.oat-band-charcoal{ background:var(--oat-charcoal) !important;color:var(--oat-ivory-2); }
.oat-band-ivory2{ background:var(--oat-ivory-2) !important; }

/* Linha divisória dourada fina — widget "Divisor" ou uma secção vazia
   de 1px, CSS Classes = oat-divider-gold */
.oat-divider-gold{ height:1px !important;background:linear-gradient(90deg,transparent,var(--oat-gold),transparent) !important; }

/* ---------------------------------------------------------------
   5) CARTÕES DE PRODUTO / COLEÇÃO
   Aplicar na coluna ou no "widget de caixa" do Elementor que envolve
   uma imagem + título + preço, CSS Classes = oat-card
   --------------------------------------------------------------- */
.oat-card{
  background:#fff !important;border:1px solid rgba(33,31,29,0.08);
  transition:transform .35s ease, box-shadow .35s ease;
}
.oat-card:hover{ transform:translateY(-6px);box-shadow:var(--oat-shadow); }
.oat-price{ color:var(--oat-gold-deep) !important;font-family:var(--oat-serif) !important;font-size:1.3rem; }
.oat-tag{ font-size:0.68rem;letter-spacing:0.14em;text-transform:uppercase;color:#7a746a; }

/* Selo "encomenda mínima 1,5 m²", etc. — widget de Texto, CSS
   Classes = oat-badge */
.oat-badge{
  display:inline-block;margin-top:10px;font-size:0.72rem;color:var(--oat-gold-deep);
  background:rgba(200,162,77,0.12);padding:4px 10px;border-radius:20px;
}

/* ---------------------------------------------------------------
   6) CALCULADORA DE PREÇO (caixa em torno do shortcode [oat_calc])
   Aplicar na secção/coluna que envolve o shortcode, CSS Classes =
   oat-calc-box
   --------------------------------------------------------------- */
.oat-calc-box{
  background:var(--oat-ivory-2) !important;border:1px solid var(--oat-line);
  padding:32px !important;border-radius:var(--oat-radius);
}
.oat-calc-box .oat-calc-line{ display:flex;justify-content:space-between;font-size:0.9rem;padding:6px 0;color:var(--oat-charcoal-2); }
.oat-calc-box .oat-calc-total{
  font-family:var(--oat-serif);font-size:1.5rem;color:var(--oat-black);
  border-top:1px solid var(--oat-gold);margin-top:8px;padding-top:14px;
}
.oat-calc-box input[type=number]{
  width:100%;padding:13px 14px;border:1px solid rgba(33,31,29,0.25);background:#fff;
  font-size:0.95rem;color:var(--oat-charcoal);border-radius:var(--oat-radius);
}
.oat-calc-box input:focus{ outline:none;border-color:var(--oat-gold); }
.oat-calc-box label{ display:block;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--oat-charcoal);margin-bottom:8px; }

/* ---------------------------------------------------------------
   7) PALETA DE CORES (grelha de swatches, ex. na página do produto
   ou na ferramenta de personalização)
   Cada amostra é um <div> ou <span> com CSS Classes = oat-swatch e
   background-color definido inline/estilo próprio do Elementor.
   --------------------------------------------------------------- */
.oat-swatch{
  display:inline-block;width:38px;height:38px;border-radius:6px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,0.08);cursor:pointer;transition:transform .2s ease;
}
.oat-swatch:hover{ transform:scale(1.08); }
.oat-swatch.selected{ box-shadow:0 0 0 3px var(--oat-gold); }

/* ---------------------------------------------------------------
   8) PASSOS NUMERADOS ("Como Funciona a Encomenda")
   Widget de Ícone do Elementor com número em vez de ícone, ou um
   widget de Texto circular, CSS Classes = oat-step-num
   --------------------------------------------------------------- */
.oat-step-num{
  width:52px;height:52px;border:1px solid var(--oat-gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;
  font-family:var(--oat-serif);font-size:1.3rem;color:var(--oat-gold-deep);
}

/* ---------------------------------------------------------------
   9) CABEÇALHO / MENU (se estiver a usar o construtor de cabeçalho
   do Elementor — nota: precisa do Elementor Pro para cabeçalho
   personalizado. Sem Pro, usar o menu nativo do WordPress e aplicar
   este bloco ao "Personalizar > Cabeçalho" do tema, ou ao widget de
   Menu de Navegação com CSS Classes = oat-nav)
   --------------------------------------------------------------- */
.oat-header-dark{
  background:rgba(11,11,10,0.92) !important;backdrop-filter:blur(10px);
  border-bottom:1px solid var(--oat-line);
}
.oat-nav a, .oat-header-dark .elementor-nav-menu--main a{
  color:var(--oat-ivory) !important;font-size:0.76rem;letter-spacing:0.14em;text-transform:uppercase;
}
.oat-nav a:hover, .oat-header-dark .elementor-nav-menu--main a:hover{ color:var(--oat-gold) !important; }

/* Logótipo em texto (caso não uses um ficheiro de imagem): widget de
   Texto com CSS Classes = oat-logo-text */
.oat-logo-text{
  font-family:var(--oat-serif) !important;font-size:2.1rem !important;font-weight:600 !important;
  letter-spacing:0.06em;
  background:linear-gradient(180deg,#f3dfa0 0%,#c8a24d 45%,#8a6a24 55%,#e6cd8a 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent !important;
  display:inline-block;line-height:1;
}

/* ---------------------------------------------------------------
   10) BOTÃO FLUTUANTE DE WHATSAPP
   Criar com um widget de Ícone Flutuante do Elementor (Pro) OU com
   um widget de HTML: <a href="https://wa.me/351900000000" class="oat-wa-float">💬</a>
   --------------------------------------------------------------- */
.oat-wa-float{
  position:fixed !important;right:24px;bottom:24px;z-index:9999;
  width:58px;height:58px;border-radius:50%;background:#25D366 !important;color:#fff !important;
  display:flex;align-items:center;justify-content:center;font-size:1.7rem;
  box-shadow:0 10px 30px rgba(0,0,0,0.35);transition:transform .3s;text-decoration:none;
}
.oat-wa-float:hover{ transform:scale(1.08); }

/* ---------------------------------------------------------------
   11) WOOCOMMERCE — lojas, produto, carrinho, checkout
   Estas regras aplicam-se automaticamente (não precisam de CSS
   Classes) para que a loja siga a identidade OAT sem configurar
   widget a widget.
   --------------------------------------------------------------- */
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price, .woocommerce div.product span.price{
  color:var(--oat-gold-deep) !important;font-family:var(--oat-serif) !important;
}
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3{
  font-family:var(--oat-serif) !important;color:var(--oat-black) !important;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.add_to_cart_button{
  background:var(--oat-black) !important;color:var(--oat-ivory) !important;
  border:1px solid var(--oat-black) !important;border-radius:var(--oat-radius) !important;
  font-size:0.78rem !important;letter-spacing:0.14em;text-transform:uppercase;
  padding:14px 28px !important;transition:all .3s ease;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--oat-gold) !important;color:var(--oat-black) !important;border-color:var(--oat-gold) !important;
}
.woocommerce a.added_to_cart{ color:var(--oat-gold-deep) !important; }
.woocommerce span.onsale{
  background:var(--oat-gold) !important;color:var(--oat-black) !important;font-family:var(--oat-sans);
}
.woocommerce div.product form.cart .variations select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-checkout input.input-text, .woocommerce-checkout select{
  border:1px solid rgba(33,31,29,0.25) !important;border-radius:var(--oat-radius) !important;
  padding:12px 14px !important;
}
.woocommerce div.product form.cart .variations select:focus,
.woocommerce form .form-row input.input-text:focus{ outline:none;border-color:var(--oat-gold) !important; }
.woocommerce nav.woocommerce-breadcrumb{
  font-size:0.75rem;letter-spacing:0.08em;text-transform:uppercase;color:#8a8378;
}
.woocommerce nav.woocommerce-breadcrumb a{ color:var(--oat-gold-deep) !important; }
.woocommerce-message, .woocommerce-info{
  border-top-color:var(--oat-gold) !important;
}
.woocommerce-message::before, .woocommerce-info::before{ color:var(--oat-gold-deep) !important; }

/* Miniaturas da loja — usar a mesma sombra/hover dos cartões OAT */
.woocommerce ul.products li.product{ transition:transform .35s ease; }
.woocommerce ul.products li.product:hover{ transform:translateY(-6px); }

/* ---------------------------------------------------------------
   12) UTILITÁRIOS GERAIS
   --------------------------------------------------------------- */
.oat-text-center{ text-align:center !important; }
.oat-muted{ color:#8a8378 !important; }
.oat-max-640{ max-width:640px;margin-left:auto;margin-right:auto; }

/* ================================================================
   13) LAYOUT PARTILHADO DAS PÁGINAS (Editor Clássico + HTML)
   Classes usadas pelas páginas construídas em HTML puro (sem
   Elementor), para não repetir CSS em cada página.
   ================================================================ */
.oatw-header{background:var(--oat-black);border-bottom:1px solid var(--oat-line);}
.oatw-header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;max-width:1280px;margin:0 auto;flex-wrap:wrap;gap:14px;}
.oatw-nav{display:flex;flex-wrap:wrap;gap:20px;}
.oatw-nav a{color:var(--oat-ivory);font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;}
.oatw-nav a:hover{color:var(--oat-gold);}
.oatw-hero{background:var(--oat-black);color:var(--oat-ivory);text-align:center;padding:100px 24px;}
.oatw-hero h1{font-size:2.6rem;margin:0.2em 0;color:var(--oat-ivory);}
.oatw-hero em{color:var(--oat-gold-light);font-style:italic;}
.oatw-hero p.lead{max-width:640px;margin:20px auto 30px;color:#d8d2c4;font-size:1.03rem;}
.oatw-section{padding:76px 24px;}
.oatw-head{text-align:center;max-width:680px;margin:0 auto 40px;}
.oatw-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;max-width:1280px;margin:0 auto;}
.oatw-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1280px;margin:0 auto;}
.oatw-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1280px;margin:0 auto;}
.oatw-center{text-align:center;max-width:1280px;margin:0 auto;}
.oatw-swatch{aspect-ratio:1;border-radius:2px;background:linear-gradient(135deg,var(--tex-a,#c8a24d),var(--tex-b,#211f1d));position:relative;overflow:hidden;display:block;}
.oatw-swatch .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent);color:#fff;padding:16px;}
.oatw-swatch .cap .n{font-family:var(--oat-serif);font-size:1.1rem;}
.oatw-swatch .cap .m{font-size:0.68rem;opacity:.85;text-transform:uppercase;letter-spacing:.08em;}
.oatw-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;max-width:1280px;margin:0 auto;text-align:center;}
.oatw-footer{background:var(--oat-charcoal);color:#c9c4b8;padding:60px 24px 28px;}
.oatw-footer h4{color:var(--oat-ivory);font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;margin:0 0 14px;font-family:var(--oat-sans);font-weight:500;}
.oatw-footer a{color:#c9c4b8;display:block;text-decoration:none;font-size:0.86rem;margin-bottom:8px;}
.oatw-footer a:hover{color:var(--oat-gold-light);}
.oatw-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;max-width:1280px;margin:0 auto;}
.oatw-footer-bottom{max-width:1280px;margin:36px auto 0;padding-top:22px;border-top:1px solid rgba(244,239,230,0.08);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:0.74rem;color:#8a8378;}
.oatw-color-chip{text-align:center;}
.oatw-color-chip .sw{width:100%;aspect-ratio:1;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);}
.oatw-color-chip .code{display:block;font-size:0.65rem;letter-spacing:.05em;color:#8a8378;margin-top:6px;}
.oatw-card-link{text-decoration:none;color:inherit;display:block;}
.oatw-card-body{padding:18px;}
.oatw-designer-body{padding:16px 4px;}
.oatw-designer-body h3{color:#f4efe6;margin:8px 0 4px;}
.oatw-tag-gold{color:#c9a24d;}
.oatw-muted-light{color:#c9c4b8;font-size:0.85rem;}
.oatw-wa-link{color:var(--oat-gold-deep);}
.oatw-faq{border-bottom:1px solid rgba(33,31,29,0.12);padding:18px 0;}
.oatw-faq summary{cursor:pointer;font-family:var(--oat-serif);font-size:1.15rem;color:var(--oat-black);list-style:none;}
.oatw-faq summary::-webkit-details-marker{display:none;}
.oatw-faq summary::after{content:'+';float:right;color:var(--oat-gold-deep);font-size:1.3rem;}
.oatw-faq[open] summary::after{content:'\2212';}
.oatw-faq p{color:#5c584f;margin-top:12px;}
.oatw-form input,.oatw-form select,.oatw-form textarea{width:100%;padding:13px 14px;border:1px solid rgba(33,31,29,0.25);background:#fff;font-size:0.92rem;color:var(--oat-charcoal);border-radius:var(--oat-radius);font-family:var(--oat-sans);}
.oatw-form label{display:block;font-size:0.7rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--oat-charcoal);margin-bottom:8px;}
.oatw-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.oatw-form textarea{min-height:120px;resize:vertical;}
.oatw-field{margin-bottom:18px;}
@media (max-width:900px){
  .oatw-grid-2,.oatw-grid-3,.oatw-grid-4,.oatw-footer-grid,.oatw-steps,.oatw-form .row{grid-template-columns:1fr;}
  .oatw-nav{justify-content:center;}
}
