/*
 * Identidade Visual — Loja Católico da Hora
 * Fonte única de verdade visual do frontend.
 */

:root{
  --cdh-primary:#2B96E8;
  --cdh-primary-dark:#0D5F9E;
  --cdh-primary-soft:#EAF6FF;
  --cdh-bg:#FFFFFF;
  --cdh-surface:#F7FBFE;
  --cdh-text:#111111;
  --cdh-muted:#667085;
  --cdh-border:#DCE8F2;
  --cdh-price:#0D5F9E;
  --cdh-old-price:#98A2B3;
  --cdh-discount-bg:#0D5F9E;
  --cdh-discount-text:#FFFFFF;
  --cdh-success:#168A4A;
  --cdh-radius:18px;
  --cdh-shadow:0 10px 30px rgba(13,95,158,.08);
  --cdh-font:"Poppins","Segoe UI",Arial,sans-serif;
}

html,body{background:var(--cdh-bg);color:var(--cdh-text)}
body.cdh-design-system,
body.cdh-design-system button,
body.cdh-design-system input,
body.cdh-design-system select,
body.cdh-design-system textarea,
body.cdh-design-system .elementor-widget,
body.cdh-design-system .elementor-widget *{
  font-family:var(--cdh-font)!important;
}

body.cdh-design-system h1,
body.cdh-design-system h2,
body.cdh-design-system h3,
body.cdh-design-system h4,
body.cdh-design-system h5,
body.cdh-design-system h6,
body.cdh-design-system .elementor-heading-title{
  font-family:var(--cdh-font)!important;
  color:var(--cdh-text);
  font-weight:800;
  letter-spacing:-.025em;
}

body.cdh-design-system p,
body.cdh-design-system li{color:var(--cdh-text)}
body.cdh-design-system a{color:var(--cdh-primary-dark)}
body.cdh-design-system a:hover{color:var(--cdh-primary)}

/* Elementor: referências globais */
body.cdh-design-system{
  --e-global-color-primary:var(--cdh-primary);
  --e-global-color-secondary:var(--cdh-primary-dark);
  --e-global-color-text:var(--cdh-text);
  --e-global-color-accent:var(--cdh-primary);
  --e-global-typography-primary-font-family:"Poppins";
  --e-global-typography-secondary-font-family:"Poppins";
  --e-global-typography-text-font-family:"Poppins";
  --e-global-typography-accent-font-family:"Poppins";
}

/* Botões oficiais */
.cdh-btn,
body.cdh-design-system .elementor-button,
body.cdh-design-system button.cdh-btn,
body.cdh-design-system input[type="submit"].cdh-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:12px 18px;
  border:1px solid var(--cdh-primary)!important;
  border-radius:14px!important;
  background:var(--cdh-primary)!important;
  color:#fff!important;
  font-weight:800!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:.18s ease;
}
.cdh-btn:hover,
body.cdh-design-system .elementor-button:hover{
  background:var(--cdh-primary-dark)!important;
  border-color:var(--cdh-primary-dark)!important;
  color:#fff!important;
  transform:translateY(-1px);
}
.cdh-btn-outline{
  background:#fff!important;
  color:var(--cdh-primary-dark)!important;
  border:1.5px solid var(--cdh-primary)!important;
}
.cdh-btn-outline:hover{background:var(--cdh-primary-soft)!important;color:var(--cdh-primary-dark)!important}

/* Cards e superfícies */
.cdh-card{
  background:#fff;
  border:1px solid var(--cdh-border);
  border-radius:var(--cdh-radius);
  box-shadow:var(--cdh-shadow);
}
.cdh-surface{background:var(--cdh-surface)}
.cdh-soft{background:var(--cdh-primary-soft)}
.cdh-muted{color:var(--cdh-muted)!important}

/* Preços */
.cdh-price,
.cdh-product-price,
.cdh-price-current{
  color:var(--cdh-price)!important;
  font-weight:800!important;
  letter-spacing:-.02em;
}
.cdh-old-price,
.cdh-price-old,
.cdh-regular-price-old{
  color:var(--cdh-old-price)!important;
  text-decoration:line-through;
  font-weight:500;
}
.cdh-installment{color:var(--cdh-muted)!important;font-size:.88em}

/* Oferta / desconto */
.cdh-discount-badge,
.cdh-sale-badge,
.cdh-offer-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:var(--cdh-discount-bg)!important;
  color:var(--cdh-discount-text)!important;
  border-radius:999px;
  padding:6px 10px;
  font-size:11px;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
}

/* Tipos e chips */
.cdh-chip,
.cdh-type-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--cdh-border);
  background:var(--cdh-primary-soft);
  color:var(--cdh-primary-dark)!important;
  font-size:11px;
  font-weight:800;
}

/* Formulários */
body.cdh-design-system input[type="text"],
body.cdh-design-system input[type="email"],
body.cdh-design-system input[type="tel"],
body.cdh-design-system input[type="number"],
body.cdh-design-system input[type="search"],
body.cdh-design-system input[type="password"],
body.cdh-design-system select,
body.cdh-design-system textarea{
  color:var(--cdh-text)!important;
  background:#fff!important;
  border:1px solid var(--cdh-border)!important;
  border-radius:12px!important;
  outline:none!important;
  box-shadow:none!important;
}
body.cdh-design-system input:focus,
body.cdh-design-system select:focus,
body.cdh-design-system textarea:focus{
  border-color:var(--cdh-primary)!important;
  box-shadow:0 0 0 3px rgba(43,150,232,.12)!important;
}

/* Mensagens */
.cdh-success{color:var(--cdh-success)!important}
.cdh-success-box{background:#ECFDF3;border:1px solid #B7E4C7;color:#166534;border-radius:14px;padding:12px 14px}

/* Utilidades para HTML/Elementor */
.cdh-text{color:var(--cdh-text)!important}
.cdh-blue{color:var(--cdh-primary)!important}
.cdh-blue-dark{color:var(--cdh-primary-dark)!important}
.cdh-bg-blue{background:var(--cdh-primary)!important;color:#fff!important}
.cdh-bg-soft{background:var(--cdh-primary-soft)!important}
.cdh-border{border-color:var(--cdh-border)!important}

@media (max-width:640px){
  .cdh-btn,
  body.cdh-design-system .elementor-button{min-height:46px}
}
