/*
Theme Name:   Alerlit Divi Child
Theme URI:    https://alerlitcacao.com
Description:  Tema hijo Divi — Alerlit Cacao. Sistema de diseño oficial basado en Brand Book.
Author:       Alerlit Cacao
Template:     Divi
Version:      1.0.0
Text Domain:  alerlit-child
*/

/* ─── FUENTES ─── */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&display=swap');

/* ═══════════════════════════════════════════
   BRAND TOKENS — Brand Book Alerlit Cacao
═══════════════════════════════════════════ */
:root {
  /* Paleta oficial */
  --al-cacao-dark:   #4B2E20;
  --al-tierra:       #8B5E3C;
  --al-hoja:         #516B3D;
  --al-suave:        #EADCC2;

  /* Extensiones funcionales */
  --al-cacao-deeper: #321C0F;
  --al-suave-mid:    #D9CCAF;
  --al-suave-dark:   #C4B394;
  --al-cream:        #FAF7F2;
  --al-ink:          #2A1608;
  --al-body:         #5C3D26;
  --al-body-inv:     rgba(234,220,194,.96);

  /* Tipografía */
  --al-serif: 'Cinzel', 'Times New Roman', serif;
  --al-sans:  'Montserrat', system-ui, sans-serif;

  /* Efectos */
  --al-shadow: 0 6px 24px rgba(75,46,32,.12);
}

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--al-sans) !important;
  background: var(--al-cream) !important;
  color: var(--al-ink) !important;
  -webkit-font-smoothing: antialiased;
}

a { text-decoration: none; }

/* ─── Anular estilos Divi que interfieren ─── */
#page-container .et_pb_module { margin-bottom: 0 !important; }
.et_pb_section { padding: 0 !important; }
.et_pb_row { max-width: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; }
.et_pb_column { padding: 0 !important; }
.et_pb_code_inner { display: block; }

/* ═══════════════════════════════════════════
   UTILIDADES
═══════════════════════════════════════════ */
.al-container         { max-width: 1200px; margin: 0 auto; padding: 0 52px; }
.al-container--narrow { max-width: 860px;  margin: 0 auto; padding: 0 52px; }

/* ─── Eyebrow ─── */
.al-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--al-sans); font-size: 9px; font-weight: 600;
  letter-spacing: .22em; text-transform: uppercase; color: var(--al-tierra);
  margin-bottom: 18px;
}
.al-eyebrow::before {
  content: ''; display: block; width: 20px; height: 1px; background: var(--al-tierra);
}
.al-eyebrow--light  { color: rgba(255,255,255,.85); }
.al-eyebrow--light::before  { background: rgba(255,255,255,.85); }
.al-eyebrow--hoja   { color: var(--al-hoja); }
.al-eyebrow--hoja::before   { background: var(--al-hoja); }

/* ─── Separador ─── */
.al-rule { width: 36px; height: 1px; background: var(--al-suave-dark); display: block; margin: 22px 0; }
.al-rule--light  { background: rgba(234,220,194,.3); }
.al-rule--center { margin-left: auto; margin-right: auto; }

/* ═══════════════════════════════════════════
   BOTONES
═══════════════════════════════════════════ */
.al-btn {
  display: inline-flex; align-items: center; gap: 12px;
  font-family: var(--al-sans); font-size: 9px; font-weight: 600;
  letter-spacing: .2em; text-transform: uppercase;
  padding: 14px 30px; border: 1px solid; cursor: pointer;
  transition: all .25s; text-decoration: none; line-height: 1;
}
.al-btn-cacao         { background: var(--al-cacao-dark); color: var(--al-suave); border-color: var(--al-cacao-dark); }
.al-btn-cacao:hover   { background: var(--al-cacao-deeper); border-color: var(--al-cacao-deeper); color: var(--al-suave); }
.al-btn-hoja          { background: var(--al-hoja); color: var(--al-suave); border-color: var(--al-hoja); }
.al-btn-hoja:hover    { background: #3d5330; border-color: #3d5330; color: var(--al-suave); }
.al-btn-suave         { background: var(--al-suave); color: var(--al-cacao-dark); border-color: var(--al-suave); }
.al-btn-suave:hover   { background: var(--al-suave-mid); border-color: var(--al-suave-mid); color: var(--al-cacao-dark); }
.al-btn-outline-suave { background: transparent; color: var(--al-suave); border-color: rgba(234,220,194,.35); }
.al-btn-outline-suave:hover { border-color: var(--al-suave); background: rgba(234,220,194,.06); color: var(--al-suave); }

.al-btn-arrow {
  display: inline-block; width: 18px; height: 1px;
  background: currentColor; position: relative; vertical-align: middle;
  transition: width .25s; flex-shrink: 0;
}
.al-btn-arrow::after {
  content: ''; position: absolute; right: 0; top: -3px;
  width: 6px; height: 6px;
  border-right: 1px solid currentColor; border-top: 1px solid currentColor;
  transform: rotate(45deg);
}
.al-btn:hover .al-btn-arrow { width: 24px; }

/* ═══════════════════════════════════════════
   S1 — HERO SPLIT SCREEN
═══════════════════════════════════════════ */
.al-hero {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 100vh; position: relative;
}
.al-hero::after {
  content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(139,94,60,.35) 15%, rgba(139,94,60,.35) 85%, transparent);
  transform: translateX(-50%); z-index: 10; pointer-events: none;
}
.al-hero-tagline {
  position: absolute; top: 18px; left: 0; right: 0;
  text-align: center; z-index: 20; pointer-events: none;
}
.al-hero-tagline span {
  font-family: var(--al-sans); font-size: 8.5px; font-weight: 600;
  letter-spacing: .34em; text-transform: uppercase; color: rgba(255,255,255,.28);
  border: 1px solid rgba(255,255,255,.1); padding: 6px 18px; display: inline-block;
}

/* Panel B2C */
.al-hero-b2c {
  background-color: var(--al-suave);
  background-size: cover; background-position: center right;
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 64px 80px 80px; position: relative; overflow: hidden; min-height: 100vh;
}
.al-hero-b2c::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(234,220,194,.94) 0%, rgba(234,220,194,.80) 45%, rgba(234,220,194,.40) 100%);
}
.al-hero-b2c-content { position: relative; z-index: 1; }
.al-hero-b2c h1 {
  font-family: var(--al-serif); font-size: clamp(38px,4vw,60px);
  font-weight: 400; line-height: 1.15; color: var(--al-cacao-dark);
  letter-spacing: .02em; margin: 0 0 20px 0;
}
.al-hero-b2c h1 em { font-style: italic; color: var(--al-tierra); }
.al-hero-b2c .al-hero-body {
  font-family: var(--al-sans); font-size: 14px; font-weight: 300;
  line-height: 1.85; color: var(--al-body); max-width: 360px; margin: 0 0 40px 0;
}

/* Panel B2B */
.al-hero-b2b {
  background-color: var(--al-cacao-dark);
  background-size: cover; background-position: center right;
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 80px 80px 64px; position: relative; overflow: hidden; min-height: 100vh;
}
.al-hero-b2b::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to right, rgba(75,46,32,.92) 0%, rgba(75,46,32,.80) 45%, rgba(75,46,32,.45) 100%);
}
.al-hero-b2b-content { position: relative; z-index: 1; }
.al-hero-b2b h2 {
  font-family: var(--al-serif); font-size: clamp(38px,4vw,60px);
  font-weight: 400; line-height: 1.15; color: #FFFFFF;
  letter-spacing: .02em; margin: 0 0 20px 0;
}
.al-hero-b2b h2 em { font-style: italic; color: rgba(255,255,255,.65); }
.al-hero-b2b .al-hero-body {
  font-family: var(--al-sans); font-size: 14px; font-weight: 400;
  line-height: 1.85; color: rgba(255,255,255,.88); max-width: 360px; margin: 0 0 36px 0;
}
.al-data-row { display: flex; gap: 36px; margin-bottom: 40px; }
.al-data-item strong {
  display: block; font-family: var(--al-serif); font-size: 36px;
  font-weight: 400; color: #FFFFFF; line-height: 1; margin-bottom: 5px;
}
.al-data-item span {
  font-size: 9px; font-weight: 500; letter-spacing: .15em;
  text-transform: uppercase; color: rgba(255,255,255,.65);
}

/* ═══════════════════════════════════════════
   S2 — TRUST STRIP
═══════════════════════════════════════════ */
.al-trust-strip {
  background: var(--al-cacao-deeper);
  border-top: 1px solid rgba(139,94,60,.3);
  border-bottom: 1px solid rgba(139,94,60,.2);
}
.al-trust-items { display: flex; align-items: stretch; max-width: 1440px; margin: 0 auto; }
.al-trust-item {
  flex: 1; padding: 22px 28px;
  display: flex; align-items: center; gap: 14px;
  border-right: 1px solid rgba(234,220,194,.07);
}
.al-trust-item:last-child { border-right: none; }
.al-trust-icon { width: 32px; height: 32px; flex-shrink: 0; opacity: .55; }
.al-trust-icon svg { width: 100%; height: 100%; }
.al-t-val {
  display: block; font-family: var(--al-serif); font-size: 14px;
  font-weight: 400; color: var(--al-suave); line-height: 1; margin-bottom: 3px;
}
.al-t-label {
  font-size: 8.5px; font-weight: 500; letter-spacing: .14em;
  text-transform: uppercase; color: rgba(234,220,194,.84);
}

/* ═══════════════════════════════════════════
   S3 — SECCIÓN B2C
═══════════════════════════════════════════ */
.al-section-b2c { background: var(--al-cream); padding: 120px 0; }
.al-section-b2c .al-layout {
  display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center;
}
.al-section-b2c h2 {
  font-family: var(--al-serif); font-size: clamp(32px,3.2vw,50px);
  font-weight: 400; line-height: 1.2; letter-spacing: .02em;
  color: var(--al-cacao-dark); margin: 0 0 18px 0;
}
.al-section-b2c h2 em { font-style: italic; color: var(--al-tierra); }
.al-section-b2c p {
  font-size: 14px; font-weight: 300; line-height: 1.85;
  color: var(--al-body); margin: 0 0 36px 0; max-width: 380px;
}

/* Product strip */
.al-product-strip {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--al-suave-dark); border: 1px solid var(--al-suave-dark);
}
.al-product-tile { background: var(--al-cream); padding: 24px 18px; display: flex; flex-direction: column; gap: 10px; }
.al-product-tile img { width: 100%; height: 130px; object-fit: contain; background: transparent; }
.al-product-tile h4 { font-family: var(--al-serif); font-size: 13px; font-weight: 400; color: var(--al-cacao-dark); line-height: 1.3; margin: 0; }
.al-product-price { font-family: var(--al-serif); font-size: 16px; font-weight: 400; color: var(--al-tierra); }
.al-product-sku { font-size: 9px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--al-suave-dark); }

/* Kit de inicio */
.al-kit-offer {
  margin-top: 32px; border: 1px solid rgba(75,46,32,.2);
  background: linear-gradient(135deg, var(--al-suave) 0%, rgba(234,220,194,.6) 100%);
  padding: 24px 22px;
}
.al-kit-label { font-size: 8px; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--al-hoja); margin-bottom: 8px; display: block; }
.al-kit-offer h4 { font-family: var(--al-serif); font-size: 17px; font-weight: 400; color: var(--al-cacao-dark); margin: 0 0 6px 0; }
.al-kit-items { font-size: 11px; font-weight: 300; color: var(--al-body); margin-bottom: 14px; line-height: 1.7; }
.al-kit-items span { color: var(--al-tierra); font-weight: 500; }
.al-kit-price-row { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.al-kit-price-new  { font-family: var(--al-serif); font-size: 26px; font-weight: 400; color: var(--al-cacao-dark); }
.al-kit-price-old  { font-size: 12px; font-weight: 300; color: var(--al-suave-dark); text-decoration: line-through; }
.al-kit-price-save { font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--al-hoja); background: rgba(81,107,61,.12); padding: 3px 8px; }
.al-kit-compare { font-size: 9.5px; font-weight: 400; color: var(--al-suave-dark); margin-top: 10px; line-height: 1.6; }
.al-kit-compare strong { color: var(--al-tierra); }

/* ═══════════════════════════════════════════
   S4 — SECCIÓN B2B
═══════════════════════════════════════════ */
.al-section-b2b { background: var(--al-cacao-dark); padding: 120px 0; }
.al-section-b2b .al-layout { display: grid; grid-template-columns: 5fr 4fr; gap: 96px; align-items: start; }
.al-section-b2b h2 {
  font-family: var(--al-serif); font-size: clamp(32px,3.2vw,50px);
  font-weight: 400; line-height: 1.15; letter-spacing: .02em;
  color: var(--al-suave); margin: 0 0 18px 0;
}
.al-section-b2b h2 em { font-style: italic; color: rgba(234,220,194,.72); }
.al-section-b2b .al-lead {
  font-size: 14px; font-weight: 300; line-height: 1.85;
  color: var(--al-body-inv); margin: 0 0 44px 0; max-width: 440px;
}

/* Spec box */
.al-spec-box { border: 1px solid rgba(234,220,194,.1); margin-bottom: 24px; }
.al-spec-box-head { padding: 14px 20px; border-bottom: 1px solid rgba(234,220,194,.1); font-size: 8.5px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--al-tierra); font-family: var(--al-sans); }
.al-spec-row { display: flex; justify-content: space-between; align-items: baseline; padding: 13px 20px; border-bottom: 1px solid rgba(234,220,194,.05); font-size: 12px; }
.al-spec-row:last-child { border-bottom: none; }
.al-spec-label { color: rgba(234,220,194,.84); font-weight: 400; }
.al-spec-val { font-family: var(--al-serif); font-size: 17px; font-weight: 400; color: var(--al-suave); }
.al-spec-tag { display: inline-block; font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; background: rgba(81,107,61,.25); color: #a8c98a; padding: 2px 7px; margin-left: 8px; vertical-align: middle; }
.al-spec-box-footer { padding: 14px 20px; border-top: 1px solid rgba(234,220,194,.1); font-size: 10px; font-weight: 300; color: rgba(234,220,194,.35); line-height: 1.6; }
.al-spec-box-footer strong { color: rgba(234,220,194,.6); font-weight: 500; }

/* Muestra callout */
.al-muestra { border: 1px solid rgba(234,220,194,.15); background: rgba(234,220,194,.05); padding: 20px 22px; display: flex; align-items: flex-start; gap: 18px; margin-bottom: 0; }
.al-muestra-icon { width: 36px; height: 36px; flex-shrink: 0; border: 1px solid rgba(234,220,194,.2); display: flex; align-items: center; justify-content: center; }
.al-muestra-icon svg { width: 18px; height: 18px; stroke: var(--al-suave); fill: none; stroke-width: 1.5; }
.al-muestra-label { font-size: 8px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; color: var(--al-tierra); margin-bottom: 4px; display: block; }
.al-muestra h4 { font-family: var(--al-serif); font-size: 14px; font-weight: 400; color: var(--al-suave); margin: 0 0 4px 0; }
.al-muestra p { font-size: 11px; font-weight: 300; color: rgba(234,220,194,.5); line-height: 1.6; margin: 0; }

/* Pilares */
.al-pillar-list { list-style: none; padding: 0; margin: 20px 0 0 0; }
.al-pillar-item { display: flex; gap: 20px; align-items: flex-start; padding: 20px 0; border-top: 1px solid rgba(234,220,194,.07); }
.al-pillar-item:last-child { border-bottom: 1px solid rgba(234,220,194,.07); }
.al-pillar-num { font-family: var(--al-serif); font-size: 12px; color: var(--al-tierra); min-width: 20px; padding-top: 1px; }
.al-pillar-item h4 { font-family: var(--al-sans); font-size: 12px; font-weight: 600; color: var(--al-suave); margin: 0 0 4px 0; letter-spacing: .03em; }
.al-pillar-item p  { font-size: 11.5px; font-weight: 300; color: var(--al-body-inv); line-height: 1.65; margin: 0; }

/* ═══════════════════════════════════════════
   S5 — CATÁLOGO
═══════════════════════════════════════════ */
.al-section-catalog { background: var(--al-cream); padding: 120px 0; }
.al-catalog-head { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 60px; }
.al-catalog-head h2 { font-family: var(--al-serif); font-size: clamp(28px,2.8vw,44px); font-weight: 400; color: var(--al-cacao-dark); letter-spacing: .03em; margin: 0; }
.al-cat-link { font-size: 9px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--al-body); display: inline-flex; align-items: center; gap: 8px; transition: color .2s; text-decoration: none; }
.al-cat-link:hover { color: var(--al-cacao-dark); }
.al-catalog-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--al-suave-dark); border: 1px solid var(--al-suave-dark); }
.al-cat-tile { background: var(--al-cream); padding: 30px 22px 24px; display: flex; flex-direction: column; gap: 12px; transition: background .2s; text-decoration: none; }
.al-cat-tile:hover { background: var(--al-suave); }
.al-cat-thumb { width: 44px; height: 44px; border-radius: 50%; background: var(--al-suave-mid); flex-shrink: 0; }
.al-cat-tile h4 { font-family: var(--al-serif); font-size: 16px; font-weight: 400; color: var(--al-cacao-dark); line-height: 1.25; margin: 0; }
.al-cat-tile p { font-size: 11px; font-weight: 300; color: var(--al-body); line-height: 1.6; margin: 0; }
.al-cat-cta { font-size: 8.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--al-tierra); margin-top: auto; }

/* ═══════════════════════════════════════════
   S6 — TESTIMONIOS
═══════════════════════════════════════════ */
.al-section-testimonials { background: var(--al-cacao-deeper); padding: 120px 0; }
.al-testimonials-head { text-align: center; margin-bottom: 72px; }
.al-testimonials-head h2 { font-family: var(--al-serif); font-size: clamp(28px,2.8vw,44px); font-weight: 400; color: var(--al-suave); letter-spacing: .04em; margin: 0 0 10px 0; }
.al-testimonials-head .al-sub { font-size: 12px; font-weight: 400; color: rgba(234,220,194,.84); letter-spacing: .06em; }
.al-testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(234,220,194,.06); border: 1px solid rgba(234,220,194,.06); }
.al-testimonial { background: var(--al-cacao-deeper); padding: 48px 36px; }
.al-audience-tag { display: inline-block; font-size: 8.5px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--al-tierra); margin-bottom: 24px; }
.al-testimonial blockquote { font-family: var(--al-serif); font-size: clamp(17px,1.8vw,21px); font-weight: 400; font-style: italic; line-height: 1.6; color: var(--al-suave); margin: 0 0 32px 0; border: none; padding: 0; }
.al-t-author { display: flex; align-items: center; gap: 16px; }
.al-t-avatar { width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(234,220,194,.1); flex-shrink: 0; background: rgba(234,220,194,.07); }
.al-t-name { font-size: 11px; font-weight: 600; color: var(--al-suave); margin-bottom: 3px; letter-spacing: .04em; }
.al-t-role { font-size: 10px; color: rgba(234,220,194,.84); }

/* ═══════════════════════════════════════════
   S7 — VALORES DE MARCA
═══════════════════════════════════════════ */
.al-section-valores { background: var(--al-suave); padding: 100px 0; border-top: 1px solid var(--al-suave-dark); }
.al-valores-head { text-align: center; margin-bottom: 72px; }
.al-valores-head h2 { font-family: var(--al-serif); font-size: clamp(28px,2.8vw,42px); font-weight: 400; color: var(--al-cacao-dark); letter-spacing: .04em; margin: 0; }
.al-valores-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--al-suave-dark); border: 1px solid var(--al-suave-dark); }
.al-valor-tile { background: var(--al-suave); padding: 44px 28px; text-align: center; }
.al-valor-icon { width: 52px; height: 52px; border-radius: 50%; border: 1px solid var(--al-suave-dark); margin: 0 auto 24px; display: flex; align-items: center; justify-content: center; }
.al-valor-icon svg { width: 24px; height: 24px; stroke: var(--al-tierra); fill: none; stroke-width: 1.5; }
.al-valor-tile h4 { font-family: var(--al-serif); font-size: 16px; font-weight: 400; color: var(--al-cacao-dark); margin: 0 0 10px 0; letter-spacing: .05em; }
.al-valor-tile p { font-size: 12px; font-weight: 300; line-height: 1.7; color: var(--al-body); margin: 0; }

/* ═══════════════════════════════════════════
   S8 — CERTIFICACIONES
═══════════════════════════════════════════ */
.al-section-certs { background: var(--al-cream); border-top: 1px solid var(--al-suave-dark); border-bottom: 1px solid var(--al-suave-dark); padding: 72px 0; }
.al-certs-layout { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 60px; }
.al-certs-copy h3 { font-family: var(--al-serif); font-size: 26px; font-weight: 400; color: var(--al-cacao-dark); margin: 0 0 12px 0; line-height: 1.3; letter-spacing: .03em; }
.al-certs-copy p { font-size: 13px; font-weight: 300; line-height: 1.8; color: var(--al-body); max-width: 280px; margin: 0; }
.al-certs-divider { width: 1px; height: 80px; background: var(--al-suave-dark); }
.al-cert-badges { display: flex; align-items: center; gap: 40px; flex-wrap: wrap; justify-content: flex-end; }
.al-cert-badge { text-align: center; }
.al-badge-img { width: 68px; height: 68px; margin: 0 auto 10px; background: var(--al-suave); border: 1px solid var(--al-suave-dark); display: flex; align-items: center; justify-content: center; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: var(--al-body); font-family: var(--al-sans); }
.al-cert-badge span { font-size: 9px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--al-body); }

/* ═══════════════════════════════════════════
   S9 — CTA FINAL
═══════════════════════════════════════════ */
.al-section-final { background: var(--al-tierra); padding: 120px 0; text-align: center; position: relative; overflow: hidden; }
.al-section-final::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 25% 50%, rgba(75,46,32,.25) 0%, transparent 60%),
              radial-gradient(ellipse at 75% 50%, rgba(75,46,32,.2) 0%, transparent 55%);
}
.al-section-final-inner { position: relative; z-index: 1; max-width: 860px; margin: 0 auto; padding: 0 52px; }
.al-section-final h2 { font-family: var(--al-serif); font-size: clamp(32px,3.5vw,54px); font-weight: 400; color: var(--al-suave); line-height: 1.15; letter-spacing: .03em; margin: 0 0 16px 0; }
.al-section-final h2 em { font-style: italic; color: rgba(234,220,194,.84); }
.al-section-final p { font-size: 14px; font-weight: 300; line-height: 1.8; color: rgba(234,220,194,.65); margin: 0 auto 52px; max-width: 460px; }
.al-final-ctas { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }

/* ═══════════════════════════════════════════
   WHATSAPP FLOTANTE
═══════════════════════════════════════════ */
.al-wa-float {
  position: fixed; bottom: 28px; right: 28px; z-index: 9999;
  display: flex; align-items: center; gap: 10px;
  background: #25D366; color: #fff; text-decoration: none;
  padding: 12px 20px 12px 14px;
  box-shadow: 0 4px 20px rgba(37,211,102,.35);
  transition: transform .2s, box-shadow .2s;
  font-family: var(--al-sans); font-size: 11px; font-weight: 600; letter-spacing: .06em;
}
.al-wa-float:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(37,211,102,.45); color: #fff; }
.al-wa-float svg { width: 22px; height: 22px; flex-shrink: 0; }

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  .al-hero { grid-template-columns: 1fr; }
  .al-hero::after { display: none; }
  .al-hero-b2c { padding: 80px 44px; min-height: 60vh; }
  .al-hero-b2b { padding: 80px 44px; min-height: 60vh; }
  .al-section-b2c .al-layout,
  .al-section-b2b .al-layout { grid-template-columns: 1fr; gap: 52px; }
  .al-valores-grid { grid-template-columns: repeat(2, 1fr); }
  .al-catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .al-testimonials-grid { grid-template-columns: 1fr; }
  .al-certs-layout { grid-template-columns: 1fr; text-align: center; }
  .al-certs-divider { width: 60px; height: 1px; margin: 0 auto; }
  .al-cert-badges { justify-content: center; }
}

@media (max-width: 767px) {
  .al-container, .al-container--narrow, .al-section-final-inner { padding: 0 24px; }
  .al-section-b2c, .al-section-b2b, .al-section-catalog,
  .al-section-testimonials, .al-section-valores,
  .al-section-final { padding: 80px 0; }
  .al-trust-items { flex-direction: column; }
  .al-trust-item { border-right: none; border-bottom: 1px solid rgba(234,220,194,.07); }
  .al-trust-item:last-child { border-bottom: none; }
  .al-product-strip { grid-template-columns: 1fr; }
  .al-valores-grid { grid-template-columns: 1fr; }
  .al-catalog-grid { grid-template-columns: 1fr; }
  .al-final-ctas { flex-direction: column; align-items: center; }
  .al-final-ctas .al-btn { width: 100%; max-width: 320px; justify-content: center; }
  .al-wa-float { padding: 14px; border-radius: 50%; bottom: 20px; right: 20px; }
  .al-wa-label { display: none; }
}
