/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.1
 Text Domain:  woodmart
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700&family=Archivo+Black&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ==========================================================================
   Paleta e tipografia da Rei do Chinil aplicadas por cima das variaveis
   nativas do Woodmart (--wd- e --btn-). Todo o CSS estatico do tema ja
   consome essas variaveis (botoes, links, precos, titulos em loja, produto,
   carrinho, checkout, minha conta) - nao redefine nenhum seletor do tema,
   nao toca em nenhum template.
   ========================================================================== */
:root{
  --wd-primary-color: #10662f;
  --wd-primary-color-hover: #0d4d24;
  --wd-link-color: #10662f;
  --wd-link-color-hover: #0d4d24;

  --wd-text-font: 'Archivo', sans-serif;
  --wd-title-font: 'Archivo Black', 'Archivo', sans-serif;
  --wd-title-color: #0d4d24;

  --btn-accented-bgcolor: #ffc627;
  --btn-accented-bgcolor-hover: #ffd54a;
  --btn-accented-color: #16211a;
  --btn-accented-color-hover: #16211a;

  --btn-default-bgcolor: #0d4d24;
  --btn-default-bgcolor-hover: #10662f;
  --btn-default-color: #ffffff;
  --btn-default-color-hover: #ffffff;

  --wd-brd-radius: 0px;

  /* tokens proprios, usados so pela home (front-page.php) e pelo skin do rodape nativo */
  --rc-cream:#f6f4ee;
  --rc-ink:#16211a;
  --rc-green-dark:#0d4d24;
  --rc-green:#10662f;
  --rc-yellow:#ffc627;
  --rc-yellow-light:#ffd54a;
  --rc-border:#e2ded3;
  --rc-border-2:#ddd8cc;
  --rc-muted:#5f6a60;
  --rc-muted-2:#7c8479;
  --rc-muted-3:#8a9186;
  --rc-mint:#cfe3d3;
  --rc-mint-2:#e6f0e8;
  --rc-font: Archivo, Helvetica, Arial, sans-serif;
  --rc-font-black: 'Archivo Black', Archivo, sans-serif;
  --rc-font-mono: 'IBM Plex Mono', monospace;
}

/* Skin do rodape nativo (.wd-footer) fica no bloco tardio de functions.php
   (rc_theme_vars_override) - o CSS gerado do Theme Settings do Woodmart
   tambem define ".wd-footer{background:...}" e imprime depois deste
   arquivo, entao uma regra aqui perderia a cascata. */

/* ==========================================================================
   Home (front-page.php) - classes usadas so na pagina inicial.
   ========================================================================== */
.rc-wrap{ max-width:1360px; margin:0 auto; padding:0 32px; }
@media (max-width:782px){ .rc-wrap{ padding:0 16px; } }

/* — machine picker — */
.rc-picker{ background:#fff; border-bottom:1px solid var(--rc-border); }
.rc-picker-inner{ padding:26px 32px 30px; border-top:5px solid var(--rc-yellow); }
.rc-picker-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:18px; }
.rc-picker-head h2{ font-size:27px; letter-spacing:-.03em; margin:0 0 5px; color:var(--rc-green-dark); font-family:var(--rc-font-black); }
.rc-picker-head p{ margin:0; font-size:14px; color:var(--rc-muted); max-width:64ch; }
.rc-picker-head a{ font-family:var(--rc-font-mono); font-size:12px; letter-spacing:.14em; border-bottom:2px solid var(--rc-yellow); padding-bottom:3px; white-space:nowrap; color:var(--rc-ink); text-decoration:none; }
.rc-picker-grid{ display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:12px; }
.rc-picker-grid label{ display:flex; flex-direction:column; gap:7px; }
.rc-picker-grid .rc-field-label{ font-family:var(--rc-font-mono); font-size:10px; letter-spacing:.16em; color:var(--rc-muted-3); }
.rc-picker-grid select{ height:56px; padding:0 16px; border:1px solid var(--rc-border-2); background:var(--rc-cream); font-family:var(--rc-font); font-size:15px; font-weight:600; color:var(--rc-ink); cursor:pointer; }
.rc-picker-submit{ display:flex; flex-direction:column; gap:7px; }
.rc-picker-submit .rc-field-label{ color:transparent; }
.rc-picker-btn{ height:56px; padding:0 40px; background:var(--rc-green-dark); color:#fff; border:0; font-family:var(--rc-font); font-weight:700; font-size:14px; letter-spacing:.12em; text-transform:uppercase; cursor:pointer; }
.rc-picker-btn:hover{ background:var(--rc-green); }
@media (max-width:900px){ .rc-picker-grid{ grid-template-columns:1fr 1fr; } }

/* — hero — */
.rc-hero{ background:var(--rc-green-dark); }
.rc-hero-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); align-items:stretch; }
.rc-hero-copy{ padding:44px 48px 44px 0; display:flex; flex-direction:column; justify-content:center; gap:20px; min-width:0; }
.rc-hero-kicker{ font-family:var(--rc-font-mono); font-size:11px; letter-spacing:.22em; color:var(--rc-yellow-light); }
.rc-hero h1{ font-size:clamp(34px,4.4vw,56px); line-height:.95; letter-spacing:-.035em; margin:0; color:#fff; font-family:var(--rc-font-black); }
.rc-hero-copy > p{ margin:0; max-width:46ch; font-size:17px; line-height:1.55; color:var(--rc-mint); }
.rc-hero-actions{ display:flex; gap:12px; align-items:center; flex-wrap:wrap; }
.rc-btn-yellow{ background:var(--rc-yellow); color:var(--rc-ink); padding:18px 32px; font-weight:700; font-size:14px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.rc-btn-yellow:hover{ background:var(--rc-yellow-light); color:var(--rc-ink); }
.rc-btn-outline{ border:1px solid #4b8760; color:#fff; padding:18px 28px; font-weight:700; font-size:14px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.rc-btn-outline:hover{ border-color:var(--rc-yellow); color:var(--rc-yellow-light); }
.rc-hero-media{ display:grid; grid-template-rows:minmax(0,1fr) minmax(0,1fr); gap:8px; padding:32px 0; height:clamp(320px,46vw,min(640px,74vh)); align-self:center; }
.rc-hero-media img{ width:100%; height:100%; min-height:0; object-fit:cover; display:block; }

/* — badges — */
.rc-badges{ display:grid; grid-template-columns:repeat(3,1fr); background:var(--rc-yellow); }
.rc-badge{ padding:24px 30px; display:flex; gap:14px; align-items:center; border-right:1px solid rgba(22,33,26,.18); }
.rc-badge:last-child{ border-right:0; }
.rc-badge-num{ font-family:var(--rc-font-black); font-size:15px; color:var(--rc-green-dark); }
.rc-badge strong{ display:block; font-size:15px; }
.rc-badge span.rc-badge-sub{ font-size:13px; color:#5a5327; }
@media (max-width:700px){ .rc-badges{ grid-template-columns:1fr; } .rc-badge{ border-right:0; border-bottom:1px solid rgba(22,33,26,.18); } }

/* — section heads — */
.rc-section{ padding:64px 32px 0; }
.rc-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; flex-wrap:wrap; }
.rc-section-head h2{ font-size:32px; letter-spacing:-.03em; margin:0; color:var(--rc-green-dark); font-family:var(--rc-font-black); }
.rc-section-head a{ font-family:var(--rc-font-mono); font-size:12px; letter-spacing:.14em; color:var(--rc-ink); text-decoration:none; }

/* — brand strip — */
.rc-brands{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; }
.rc-brand-card{ background:#fff; border:1px solid var(--rc-border); padding:24px 20px 20px; display:flex; flex-direction:column; gap:40px; color:var(--rc-ink); text-decoration:none; }
.rc-brand-card:hover{ border-color:var(--rc-green-dark); background:#fffdf5; }
.rc-brand-count{ font-family:var(--rc-font-mono); font-size:11px; letter-spacing:.14em; color:var(--rc-muted-3); }
.rc-brand-name{ font-family:var(--rc-font-black); font-size:21px; letter-spacing:-.02em; line-height:1.05; color:var(--rc-green-dark); }

/* — product cards — */
.rc-products{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:14px; }
.rc-card{ background:#fff; border:1px solid var(--rc-border); display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.rc-card:hover{ border-color:var(--rc-green-dark); box-shadow:0 10px 28px rgba(13,77,36,.1); }
.rc-card-media{ position:relative; aspect-ratio:1/1; background:#fff; padding:14px; }
.rc-card-media img{ width:100%; height:100%; object-fit:contain; display:block; }
.rc-card-tag{ position:absolute; top:0; left:0; background:var(--rc-green-dark); color:var(--rc-yellow-light); font-family:var(--rc-font-mono); font-size:10px; letter-spacing:.14em; padding:7px 11px; }
.rc-card-tag.rc-card-tag-sale{ background:var(--rc-yellow); color:var(--rc-ink); }
.rc-card-body{ padding:18px; display:flex; flex-direction:column; gap:10px; flex:1; border-top:1px solid #efece3; }
.rc-card-brand{ font-family:var(--rc-font-mono); font-size:10px; letter-spacing:.16em; color:var(--rc-muted-3); }
.rc-card-title{ margin:0; font-size:15px; line-height:1.35; font-weight:600; flex:1; }
.rc-card-price{ display:flex; flex-direction:column; gap:2px; }
.rc-card-price .rc-was{ font-size:13px; color:#a0a69c; text-decoration:line-through; }
.rc-card-price strong{ font-family:var(--rc-font-black); font-size:24px; letter-spacing:-.02em; color:var(--rc-green-dark); }
.rc-card-cta{ margin-top:4px; text-align:center; border:1px solid var(--rc-green-dark); color:var(--rc-green-dark); padding:13px; font-weight:700; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.rc-card:hover .rc-card-cta{ background:var(--rc-green-dark); color:#fff; }
.rc-card-cta.rc-card-cta-sale{ background:var(--rc-yellow); color:var(--rc-ink); border-color:var(--rc-yellow); }
.rc-card:hover .rc-card-cta.rc-card-cta-sale{ background:var(--rc-yellow-light); color:var(--rc-ink); }

/* ==========================================================================
   Produto agrupado - resumo ao vivo (topo) e barra flutuante de checkout.
   ========================================================================== */
.rc-grouped-summary{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.rc-grouped-summary-sep{ color:var(--rc-border-2); }
.rc-grouped-summary-label{ font-size:14px; font-weight:600; color:var(--rc-muted); }

.rc-grouped-instruction{
	margin:2px 0 20px; padding:10px 14px;
	background:rgba(16,102,47,.06);
	border-left:3px solid var(--rc-green-dark);
	border-radius:4px;
	font-size:13px; line-height:1.5; color:var(--rc-ink);
}
.rc-grouped-instruction strong{ color:var(--rc-green-dark); font-weight:700; }

.rc-grouped-float-bar{
	position:fixed; left:0; right:0; bottom:0; z-index:9999;
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	background:var(--rc-green-dark); color:#fff; padding:14px 24px;
	box-shadow:0 -6px 20px rgba(13,77,36,.22);
	transform:translateY(100%); opacity:0; pointer-events:none;
	transition:transform .25s ease, opacity .25s ease;
}
.rc-grouped-float-bar--visible{ transform:translateY(0); opacity:1; pointer-events:auto; }
.rc-grouped-float-info{ display:flex; align-items:center; gap:10px; font-size:15px; flex-wrap:wrap; }
.rc-grouped-float-total,
.rc-grouped-float-total .woocommerce-Price-amount,
.rc-grouped-float-total bdi{ font-family:var(--rc-font-black); font-size:19px; color:var(--rc-yellow-light) !important; }
.rc-grouped-float-sep{ color:rgba(255,255,255,.4); }
.rc-grouped-float-btn{
	background:var(--rc-yellow); color:var(--rc-ink); padding:13px 26px;
	font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase;
	text-decoration:none; white-space:nowrap;
}
.rc-grouped-float-btn:hover{ background:var(--rc-yellow-light); color:var(--rc-ink); }
@media (max-width:600px){
	.rc-grouped-float-bar{ flex-direction:column; align-items:stretch; text-align:center; }
	.rc-grouped-float-info{ justify-content:center; }
}

/* — story banner — */
.rc-story{ position:relative; min-height:440px; display:grid; }
.rc-story img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.rc-story::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,77,36,.96) 0%,rgba(13,77,36,.78) 48%,rgba(13,77,36,.12) 100%); }
.rc-story-copy{ position:relative; z-index:1; justify-self:start; padding:52px; display:flex; flex-direction:column; gap:20px; max-width:600px; }
.rc-story-copy h2{ font-size:44px; line-height:1; letter-spacing:-.035em; margin:0; color:#fff; font-family:var(--rc-font-black); }
.rc-story-copy p{ margin:0; font-size:16px; line-height:1.55; color:var(--rc-mint); }
.rc-story-cta{ display:inline-flex; align-items:center; gap:14px; color:#fff; font-weight:700; font-size:14px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; }
.rc-story-cta span{ width:52px; height:52px; border-radius:50%; background:var(--rc-yellow); color:var(--rc-ink); display:grid; place-items:center; font-size:15px; }

/* ==========================================================================
   Upload de logo do cliente no carrinho (personalizacao).
   ========================================================================== */
.rc-logo-upload-intro{ margin-bottom:18px; }

.rc-logo-toggle{ display:flex; gap:20px; flex-wrap:wrap; margin:0 0 16px; font-size:13px; }
.rc-logo-toggle label{ display:flex; align-items:center; gap:6px; cursor:pointer; }

.rc-logo-field{ margin-bottom:14px; }
.rc-logo-field--per-item{ margin-top:10px; margin-bottom:0; }

.rc-logo-dropzone{ max-width:360px; }
.rc-logo-dropzone-area{
	display:flex; flex-direction:column; align-items:center; gap:8px;
	padding:22px 16px; text-align:center; cursor:pointer;
	border:2px dashed var(--rc-border-2); border-radius:6px;
	background:var(--rc-cream); transition:border-color .15s ease, background .15s ease;
}
.rc-logo-dropzone-area:hover,
.rc-logo-dropzone-area--over{ border-color:var(--rc-green-dark); background:rgba(16,102,47,.06); }
.rc-logo-dropzone-icon{ font-size:20px; color:var(--rc-green-dark); }
.rc-logo-dropzone-text{ font-size:13px; color:var(--rc-muted); }
.rc-logo-dropzone-input{
	position:absolute; width:1px; height:1px; padding:0; margin:-1px;
	overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.rc-logo-dropzone--uploading .rc-logo-dropzone-area{ opacity:.6; pointer-events:none; }

.rc-logo-preview{ display:flex; align-items:center; gap:10px; margin-top:10px; padding:8px 10px; background:#fff; border:1px solid var(--rc-border); border-radius:6px; }
.rc-logo-preview-thumb{ width:40px; height:40px; object-fit:cover; border-radius:4px; }
.rc-logo-preview-icon{ font-size:22px; }
.rc-logo-preview-name{ flex:1; font-size:12px; color:var(--rc-ink); word-break:break-all; }
.rc-logo-remove{ background:none; border:0; color:#b3261e; font-size:12px; font-weight:600; cursor:pointer; text-decoration:underline; }

.rc-logo-error{ margin:8px 0 0; font-size:12px; color:#b3261e; }

@media (max-width:600px){
	.rc-logo-dropzone{ max-width:none; }
	.rc-logo-toggle{ flex-direction:column; gap:10px; }
}
