/* =========================================================
   Estilos específicos: Nosotros / Contacto / Blog / Tienda
   ========================================================= */

/* ---------- NOSOTROS ---------- */
.manifiesto{
  background: #fff;
  position:relative;
}
.manifiesto__marca{
  width:64px; height:64px; margin-bottom:1.5rem; opacity:.9;
}
.manifiesto blockquote{
  font-family: var(--f-titulo);
  font-weight:600;
  font-size: clamp(1.5rem, 3.6vw, 2.5rem);
  line-height:1.35;
  color: var(--verde-oscuro);
  margin: 0 0 1.6rem;
  max-width: 26ch;
}
.manifiesto blockquote span{ color: var(--dorado-oscuro); }
.manifiesto__firma{ font-family: var(--f-titulo); font-weight:600; color: var(--texto-suave); font-size:.95rem; }

.valores{ background: var(--crema); }
.valores__grid{ display:grid; gap:1.4rem; grid-template-columns:1fr; margin-top:2.6rem; }
@media(min-width:760px){ .valores__grid{ grid-template-columns: repeat(3,1fr); } }
.tarjeta-valor{
  background:#fff; border-radius: var(--radio-sm); padding: 2.2rem 1.8rem;
  box-shadow: var(--sombra-sm); transition: transform .4s var(--ease), box-shadow .4s var(--ease);
  border-top: 4px solid var(--dorado);
}
.tarjeta-valor:hover{ transform: translateY(-8px); box-shadow: var(--sombra-md); }
.tarjeta-valor svg{ width:36px; height:36px; color: var(--verde); margin-bottom:1.1rem; }
.tarjeta-valor h4{ margin-bottom:.6rem; }
.tarjeta-valor p{ font-size:.92rem; margin:0; }

.arquetipo{ background: var(--verde-oscuro); color:#fff; overflow:hidden; position:relative; }
.arquetipo::before{
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(circle, rgba(255,255,255,.12) 1.5px, transparent 1.5px);
  background-size: 26px 26px; opacity:.5;
}
.arquetipo .contenedor{ position:relative; z-index:1; }
.arquetipo__grid{ display:grid; gap:2.2rem; grid-template-columns:1fr; margin-top:2.8rem; }
@media(min-width:760px){ .arquetipo__grid{ grid-template-columns: repeat(3,1fr); } }
.rasgo{ text-align:center; }
.rasgo__aro{
  width: 132px; height:132px; margin-inline:auto 1.2rem;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  position:relative;
  background: conic-gradient(var(--dorado) calc(var(--valor,40) * 1%), rgba(255,255,255,.12) 0);
}
.rasgo__aro::before{
  content:''; position:absolute; inset:10px; border-radius:50%; background: var(--verde-oscuro);
}
.rasgo__aro b{ position:relative; z-index:1; font-family:var(--f-titulo); font-size:1.5rem; }
.rasgo h4{ color:#fff; margin-bottom:.5rem; }
.rasgo p{ color: rgba(238,247,239,.7); font-size:.9rem; max-width:32ch; margin-inline:auto; }

.equipo-cta{
  background:#fff;
}
.equipo-cta__caja{
  background: var(--verde-claro);
  border-radius: var(--radio);
  padding: clamp(2.4rem,5vw,4rem);
  display:flex; flex-wrap:wrap; gap:2rem; align-items:center; justify-content:space-between;
}
.equipo-cta__caja h3{ color: var(--verde-oscuro); max-width:22ch; margin:0; }
.equipo-cta__caja p{ color: rgba(1,25,10,.65); max-width:40ch; }

/* ---------- CONTACTO ---------- */
.contacto{ background:#fff; }
.contacto__grid{
  display:grid; gap: 3rem;
  grid-template-columns:1fr;
}
@media(min-width:960px){ .contacto__grid{ grid-template-columns: .85fr 1.15fr; gap:4rem; } }

.info-contacto{ display:flex; flex-direction:column; gap:1.1rem; }
.tarjeta-contacto{
  display:flex; align-items:flex-start; gap:1rem;
  background: var(--crema);
  border-radius: var(--radio-sm);
  padding: 1.4rem 1.5rem;
  transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.tarjeta-contacto:hover{ transform: translateY(-4px); box-shadow: var(--sombra-sm); }
.tarjeta-contacto__icono{
  width:48px; height:48px; border-radius:50%; flex:none;
  display:flex; align-items:center; justify-content:center;
  background: var(--verde); color:#fff;
}
.tarjeta-contacto__icono svg{ width:22px; height:22px; }
.tarjeta-contacto--wa .tarjeta-contacto__icono{ background:#25D366; }
.tarjeta-contacto h4{ margin-bottom:.3rem; font-size:1.05rem; }
.tarjeta-contacto p{ margin:0; font-size:.9rem; }
.tarjeta-contacto a.enlace-directo{
  font-family: var(--f-titulo); font-weight:600; font-size:.88rem; color: var(--verde);
  display:inline-block; margin-top:.35rem;
}

.info-contacto__redes{ display:flex; gap:.7rem; margin-top:.6rem; }
.info-contacto__redes a{
  width:44px; height:44px; border-radius:50%; border:1.5px solid rgba(2,104,39,.18);
  display:flex; align-items:center; justify-content:center; color: var(--verde);
  transition: all .3s;
}
.info-contacto__redes a:hover{ background: var(--verde); color:#fff; border-color: var(--verde); }
.info-contacto__redes svg{ width:18px; height:18px; }

.formulario{
  background: var(--verde-oscuro);
  border-radius: var(--radio);
  padding: clamp(1.8rem,4vw,3rem);
  color:#fff;
  position:relative; overflow:hidden;
}
.formulario::before{
  content:''; position:absolute; inset:0;
  background-image: radial-gradient(circle, rgba(255,255,255,.1) 1.5px, transparent 1.5px);
  background-size: 24px 24px; opacity:.5; pointer-events:none;
}
.formulario > *{ position:relative; z-index:1; }
.formulario h3{ color:#fff; }
.formulario p.lead{ color: rgba(238,247,239,.7); }

.campo-grid{ display:grid; gap:1.1rem; grid-template-columns:1fr; margin-top:1.6rem; }
@media(min-width:620px){ .campo-grid{ grid-template-columns:1fr 1fr; } }
.campo{ display:flex; flex-direction:column; gap:.45rem; }
.campo--completo{ grid-column:1 / -1; }
.campo label{ font-size:.82rem; font-weight:500; color: rgba(238,247,239,.85); }
.campo input, .campo select, .campo textarea{
  background: rgba(255,255,255,.08);
  border: 1.5px solid rgba(255,255,255,.2);
  border-radius: 12px;
  padding: .85rem 1rem;
  color:#fff;
  transition: border-color .3s, background .3s;
}
.campo select option{ color: var(--texto); }
.campo input::placeholder, .campo textarea::placeholder{ color: rgba(238,247,239,.4); }
.campo input:focus, .campo select:focus, .campo textarea:focus{
  outline:none; border-color: var(--dorado); background: rgba(255,255,255,.12);
}
.campo textarea{ resize:vertical; min-height:110px; }
.formulario__pie{ display:flex; flex-wrap:wrap; align-items:center; gap:1rem; margin-top:1.6rem; }
.formulario__nota{ font-size:.78rem; color: rgba(238,247,239,.55); }
.formulario__estado{
  font-size:.85rem; font-family:var(--f-titulo); font-weight:600;
  display:none; align-items:center; gap:.5rem; color: var(--dorado);
}
.formulario__estado.mostrar{ display:flex; }

/* ---------- BLOG / TIENDA — próximamente ---------- */
.proximamente{
  background: var(--crema);
  min-height: 60vh;
  display:flex; align-items:center;
}
.proximamente__caja{
  max-width: 640px; margin-inline:auto; text-align:center;
}
.proximamente__icono{
  width: 92px; height:92px; margin-inline:auto 1.6rem;
  border-radius:50%; background: var(--verde-claro);
  display:flex; align-items:center; justify-content:center;
  color: var(--verde);
}
.proximamente__icono svg{ width:40px; height:40px; }
.proximamente__acciones{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:2rem; }

.avance-tienda{ display:grid; gap:1.4rem; grid-template-columns: repeat(2,1fr); margin-top:3rem; }
@media(min-width:700px){ .avance-tienda{ grid-template-columns: repeat(4,1fr); } }
.avance-tienda__item{
  background:#fff; border-radius: var(--radio-sm); padding: 1.6rem 1.2rem; text-align:center;
  box-shadow: var(--sombra-sm); opacity:.6;
}
.avance-tienda__item svg{ width:30px; height:30px; color: var(--dorado-oscuro); margin-bottom:.7rem; }
.avance-tienda__item span{ font-family:var(--f-titulo); font-weight:600; font-size:.85rem; display:block; }

/* ---------- Página blog interior (listado) ---------- */
.blog-hero-grid{ background:#fff; }
.blog-filtros{ display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:2.4rem; }
