:root {
  --verde-principal: #00a316;
  --verde-oscuro: #007a10;
  --verde-medio: #00c41a;
  --verde-claro: #b8f0bf;
  --verde-palido: #e8f9ea;
  --crema: #faf6ef;
  --crema-oscuro: #f0e8d8;
  --dorado: #f5c842;
  --dorado-oscuro: #d4a017;
  --marron: #3d2006;
  --marron-medio: #6b3a10;
  --blanco: #ffffff;
  --gris-claro: #f5f5f5;
  --negro: #1a1a1a;
  --naranja-suave: #ff8c42;
  --baloo: 'Baloo Thambi 2', cursive;
  --poppins: 'Poppins', sans-serif;
  --alice: 'Alice', serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--poppins); background: var(--blanco); color: var(--negro); line-height: 1.6; }

/* PORTADA */
.portada {
  width: 100%; min-height: 100vh; background: var(--verde-principal);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  position: relative; overflow: hidden; page-break-after: always;
}
.portada::before { content:''; position:absolute; top:-100px; right:-100px; width:500px; height:500px; border-radius:50%; background:rgba(255,255,255,0.08); }
.portada::after { content:''; position:absolute; bottom:-120px; left:-80px; width:400px; height:400px; border-radius:50%; background:rgba(0,0,0,0.08); }
.portada-inner { text-align:center; z-index:2; padding:60px 40px; }
.portada h1 { font-family:var(--baloo); font-size:72px; font-weight:800; color:var(--blanco); letter-spacing:-2px; line-height:1; margin-bottom:12px; }
.portada-subtitle { font-family:var(--alice); font-size:22px; color:rgba(255,255,255,0.85); margin-bottom:8px; }
.portada-tag { font-family:var(--poppins); font-size:13px; font-weight:600; letter-spacing:4px; color:var(--dorado); text-transform:uppercase; margin-top:20px; }
.portada-year { position:absolute; bottom:40px; right:60px; font-family:var(--poppins); font-size:12px; color:rgba(255,255,255,0.5); letter-spacing:2px; }
.portada-logo-img { width:200px; height:200px; object-fit:contain; margin-bottom:20px; }

/* SECCIONES */
.seccion { padding:80px 80px; min-height:100vh; page-break-after:always; position:relative; }
.seccion-crema { background:var(--crema); }
.seccion-blanca { background:var(--blanco); }
.seccion-verde { background:var(--verde-principal); }
.seccion-verde-palido { background:var(--verde-palido); }
.seccion-marron { background:var(--marron); }
.seccion-numero { font-family:var(--baloo); font-size:120px; font-weight:800; color:rgba(0,163,22,0.07); position:absolute; top:40px; right:60px; line-height:1; pointer-events:none; }
.seccion-numero-light { color:rgba(255,255,255,0.07); }
.seccion-etiqueta { font-family:var(--poppins); font-size:11px; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--verde-principal); margin-bottom:12px; display:block; }
.seccion-etiqueta-light { color:var(--dorado); }
.seccion-titulo { font-family:var(--baloo); font-size:52px; font-weight:800; color:var(--marron); line-height:1.1; margin-bottom:16px; }
.seccion-titulo-light { color:var(--blanco); }
.seccion-desc { font-family:var(--alice); font-size:18px; color:var(--marron-medio); max-width:600px; line-height:1.8; }
.seccion-desc-light { color:rgba(255,255,255,0.8); }
.linea-divisor { width:60px; height:4px; background:var(--verde-principal); border-radius:2px; margin:24px 0; }
.linea-divisor-dorado { background:var(--dorado); }
.bg-pattern { position:absolute; inset:0; opacity:0.04; background-image:radial-gradient(circle,var(--verde-principal) 1px,transparent 1px); background-size:30px 30px; pointer-events:none; }

/* INDICE */
.indice-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.indice-item { display:flex; align-items:center; gap:20px; padding:28px; background:var(--blanco); border-radius:16px; border-left:5px solid var(--verde-principal); box-shadow:0 4px 20px rgba(0,0,0,0.05); }
.indice-num { font-family:var(--baloo); font-size:36px; font-weight:800; color:var(--verde-principal); min-width:50px; line-height:1; }
.indice-texto h3 { font-family:var(--baloo); font-size:18px; font-weight:700; color:var(--marron); }
.indice-texto p { font-family:var(--poppins); font-size:12px; color:#888; margin-top:2px; }

/* LOGO GRID */
.logo-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:48px; }
.logo-card { border-radius:20px; padding:48px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; min-height:260px; }
.logo-card-blanca { background:var(--blanco); border:2px solid #eee; }
.logo-card-verde { background:var(--verde-principal); }
.logo-card-oscura { background:var(--marron); }
.logo-card-crema { background:var(--crema-oscuro); }
.logo-card label { font-family:var(--poppins); font-size:11px; font-weight:600; letter-spacing:3px; text-transform:uppercase; color:#aaa; }
.logo-card-verde label { color:rgba(255,255,255,0.6); }
.logo-card-oscura label { color:rgba(255,255,255,0.5); }
.logo-img-normal { width:220px; object-fit:contain; }
.logo-img-white { width:220px; object-fit:contain; }
.logo-img-white-on-dark { width:220px; object-fit:contain; }

/* USO LOGO */
.logo-uso { margin-top:48px; }
.logo-uso h3 { font-family:var(--baloo); font-size:28px; font-weight:700; color:var(--marron); margin-bottom:24px; }
.uso-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.uso-card { padding:24px; border-radius:16px; border:2px solid; }
.uso-correcto { border-color:var(--verde-principal); background:#f0fff2; }
.uso-incorrecto { border-color:#e53935; background:#fff5f5; }
.uso-badge { display:inline-flex; align-items:center; gap:6px; padding:4px 12px; border-radius:20px; font-family:var(--poppins); font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; margin-bottom:16px; }
.badge-correcto { background:var(--verde-principal); color:white; }
.badge-incorrecto { background:#e53935; color:white; }
.uso-card ul { list-style:none; padding:0; }
.uso-card ul li { font-family:var(--poppins); font-size:13px; color:var(--marron-medio); padding:5px 0; border-bottom:1px solid rgba(0,0,0,0.06); display:flex; align-items:flex-start; gap:8px; }
.uso-card ul li::before { content:'•'; color:var(--verde-principal); font-weight:bold; flex-shrink:0; }
.uso-incorrecto ul li::before { color:#e53935; }

/* ZONA EXCLUSION */
.zona-exclusion { margin-top:48px; display:flex; flex-direction:column; align-items:center; gap:16px; }
.zona-box { border:3px dashed var(--verde-principal); border-radius:20px; padding:40px 60px; position:relative; background:var(--verde-palido); }
.zona-medida { position:absolute; font-family:'Courier New',monospace; font-size:11px; color:var(--verde-oscuro); font-weight:bold; }
.zona-top { top:-16px; left:50%; transform:translateX(-50%); background:var(--verde-palido); padding:0 8px; }
.zona-bottom { bottom:-16px; left:50%; transform:translateX(-50%); background:var(--verde-palido); padding:0 8px; }
.zona-left { left:-20px; top:50%; transform:translateY(-50%); background:var(--verde-palido); padding:4px 6px; writing-mode:vertical-lr; }
.zona-right { right:-20px; top:50%; transform:translateY(-50%); background:var(--verde-palido); padding:4px 6px; writing-mode:vertical-lr; }

/* COLORES */
.color-principal-card { width:100%; height:200px; border-radius:24px; background:var(--verde-principal); display:flex; align-items:flex-end; padding:28px; margin-bottom:16px; position:relative; overflow:hidden; }
.color-principal-card::after { content:''; position:absolute; top:-40px; right:-40px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,0.1); }
.color-info { z-index:1; }
.color-nombre { font-family:var(--baloo); font-size:28px; font-weight:800; color:white; }
.color-hex { font-family:'Courier New',monospace; font-size:14px; color:rgba(255,255,255,0.7); margin-top:4px; display:block; }
.color-tag { position:absolute; top:24px; right:24px; font-family:var(--poppins); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.8); background:rgba(255,255,255,0.15); padding:6px 14px; border-radius:20px; }
.paleta-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:16px; }
.paleta-chip { border-radius:16px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,0.1); }
.paleta-color { height:120px; width:100%; }
.paleta-data { background:var(--blanco); padding:12px; }
.paleta-data-nombre { font-family:var(--baloo); font-size:13px; font-weight:700; color:var(--marron); display:block; }
.paleta-data-hex { font-family:'Courier New',monospace; font-size:11px; color:#888; display:block; margin-top:2px; }
.paleta-data-uso { font-family:var(--poppins); font-size:10px; color:#aaa; display:block; margin-top:4px; line-height:1.3; }
.paleta-secundaria-titulo { font-family:var(--baloo); font-size:24px; font-weight:700; color:var(--marron); margin:40px 0 20px; }

/* TIPOGRAFIA */
.tipo-seccion { margin-top:48px; display:flex; flex-direction:column; gap:40px; }
.tipo-card { padding:40px; border-radius:20px; border:2px solid #eee; background:var(--blanco); display:grid; grid-template-columns:1fr 2fr; gap:40px; align-items:start; }
.tipo-info h3 { font-family:var(--poppins); font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--verde-principal); margin-bottom:8px; }
.tipo-nombre { font-family:var(--baloo); font-size:22px; font-weight:800; color:var(--marron); display:block; margin-bottom:8px; }
.tipo-rol { display:inline-block; background:var(--verde-palido); color:var(--verde-oscuro); font-family:var(--poppins); font-size:11px; font-weight:600; padding:4px 12px; border-radius:20px; margin-bottom:12px; }
.tipo-desc { font-family:var(--poppins); font-size:12px; color:#888; line-height:1.6; }
.tipo-muestra { display:flex; flex-direction:column; gap:12px; }
.tipo-peso-chip { font-family:var(--poppins); font-size:12px; background:#f5f5f5; padding:4px 12px; border-radius:20px; color:#555; }
.tipo-pesos { display:flex; gap:20px; flex-wrap:wrap; margin-top:12px; }
.tipo-tabla { width:100%; border-collapse:collapse; margin-top:32px; }
.tipo-tabla th { background:var(--marron); color:white; padding:12px 16px; text-align:left; font-family:var(--poppins); font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; }
.tipo-tabla td { padding:14px 16px; font-family:var(--poppins); font-size:13px; color:var(--marron-medio); border-bottom:1px solid #f0f0f0; }
.tipo-tabla tr:nth-child(even) td { background:var(--crema); }
.tt-baloo { font-family:var(--baloo); }
.tt-poppins { font-family:var(--poppins); }
.tt-alice { font-family:var(--alice); }

/* VOZ */
.voz-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.voz-card { padding:36px; border-radius:20px; background:var(--blanco); box-shadow:0 4px 24px rgba(0,0,0,0.06); border-top:5px solid var(--verde-principal); }
.voz-icon { font-size:36px; margin-bottom:16px; display:block; }
.voz-card h3 { font-family:var(--baloo); font-size:22px; font-weight:700; color:var(--marron); margin-bottom:12px; }
.voz-card p { font-family:var(--poppins); font-size:13px; color:#666; line-height:1.7; }
.ejemplo-comparativa { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.ejemplo-card { padding:28px; border-radius:16px; }
.ejemplo-si { background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); }
.ejemplo-no { background:rgba(0,0,0,0.2); border:1px solid rgba(0,0,0,0.2); }
.ejemplo-badge { display:inline-block; padding:4px 14px; border-radius:20px; font-family:var(--poppins); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.badge-si { background:var(--dorado); color:var(--marron); }
.badge-no { background:rgba(255,255,255,0.2); color:rgba(255,255,255,0.7); }
.ejemplo-card p { font-family:var(--alice); font-size:15px; color:rgba(255,255,255,0.9); line-height:1.7; font-style:italic; }
.palabra-chip { padding:8px 20px; border-radius:30px; font-family:var(--poppins); font-size:13px; font-weight:600; background:rgba(255,255,255,0.15); color:white; border:1px solid rgba(255,255,255,0.25); }

/* CAMISETAS */
.camisetas-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px; }
.camiseta-card { border-radius:20px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,0.1); }
.camiseta-display { height:320px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.camiseta-label { padding:20px 24px; background:var(--blanco); }
.camiseta-label h4 { font-family:var(--baloo); font-size:18px; font-weight:700; color:var(--marron); }
.camiseta-label p { font-family:var(--poppins); font-size:12px; color:#888; margin-top:4px; }
.gradient-tierra { background:linear-gradient(135deg,#f5ede0,#e8d8c0); }

/* EMPAQUES */
.empaque-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:48px; }
.empaque-card { border-radius:24px; overflow:hidden; box-shadow:0 8px 32px rgba(0,0,0,0.08); background:white; }
.empaque-display { min-height:280px; display:flex; align-items:center; justify-content:center; padding:32px; gap:24px; }
.empaque-label { padding:20px 28px; border-top:1px solid #f0f0f0; }
.empaque-label h4 { font-family:var(--baloo); font-size:18px; font-weight:700; color:var(--marron); }
.empaque-label p { font-family:var(--poppins); font-size:12px; color:#888; margin-top:4px; line-height:1.6; }
.empaque-specs { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.empaque-spec-tag { background:var(--verde-palido); color:var(--verde-oscuro); font-family:var(--poppins); font-size:10px; font-weight:600; padding:4px 10px; border-radius:20px; }
.product-img { object-fit:contain; border-radius:12px; max-height:220px; }

/* MENU */
.menu-preview { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px; }
.menu-categoria { background:var(--blanco); border-radius:20px; padding:32px; box-shadow:0 4px 20px rgba(0,0,0,0.06); border-bottom:4px solid var(--verde-principal); }
.menu-cat-titulo { font-family:var(--baloo); font-size:20px; font-weight:700; color:var(--marron); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.menu-item { display:flex; justify-content:space-between; align-items:flex-start; padding:10px 0; border-bottom:1px dashed #eee; }
.menu-item:last-child { border-bottom:none; }
.menu-item-nombre { font-family:var(--poppins); font-size:13px; font-weight:600; color:var(--marron); }
.menu-item-desc { font-family:var(--poppins); font-size:11px; color:#999; margin-top:2px; }

/* CIERRE */
.cierre { background:var(--verde-principal); min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:80px 60px; position:relative; overflow:hidden; }
.cierre::before { content:''; position:absolute; top:-150px; right:-150px; width:500px; height:500px; border-radius:50%; background:rgba(255,255,255,0.06); }
.cierre::after { content:''; position:absolute; bottom:-100px; left:-100px; width:400px; height:400px; border-radius:50%; background:rgba(0,0,0,0.08); }
.cierre-content { z-index:2; }
.cierre h2 { font-family:var(--baloo); font-size:64px; font-weight:800; color:var(--blanco); line-height:1; margin-bottom:20px; }
.cierre-tagline { font-family:var(--alice); font-size:22px; color:rgba(255,255,255,0.8); font-style:italic; margin-bottom:48px; }
.cierre-contacto { display:flex; gap:40px; justify-content:center; margin-top:40px; }
.contacto-item { text-align:center; }
.contacto-item-icon { font-size:28px; display:block; margin-bottom:8px; }
.contacto-item h4 { font-family:var(--poppins); font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--dorado); margin-bottom:4px; }
.contacto-item p { font-family:var(--poppins); font-size:15px; color:rgba(255,255,255,0.9); }

/* ============================================
   UTILITY CLASSES (replacing inline style grids)
   ============================================ */

/* Section 01 - Identity 3-column grid */
.identidad-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px;
}
.identidad-card {
  background:rgba(255,255,255,0.12); border-radius:20px; padding:32px; border:1px solid rgba(255,255,255,0.2);
}
.identidad-card-icon { font-size:36px; display:block; margin-bottom:16px; }
.identidad-card h3 { font-family:var(--baloo); font-size:22px; font-weight:700; color:var(--dorado); margin-bottom:10px; }
.identidad-card p { font-family:var(--alice); font-size:14px; color:rgba(255,255,255,0.85); line-height:1.7; }

/* Personality box */
.personalidad-box {
  margin-top:40px; background:rgba(245,200,66,0.15); border-radius:20px; padding:36px; border:1px solid rgba(245,200,66,0.3);
}
.personalidad-box h3 { font-family:var(--baloo); font-size:28px; font-weight:700; color:var(--dorado); margin-bottom:12px; }
.personalidad-box p { font-family:var(--alice); font-size:17px; color:rgba(255,255,255,0.9); line-height:1.8; font-style:italic; }
.personalidad-chips { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
.personalidad-chip { background:rgba(255,255,255,0.15); color:white; padding:6px 18px; border-radius:20px; font-family:var(--poppins); font-size:12px; font-weight:600; }

/* Section 03 - Color combos 4-column grid */
.combos-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.combo-card { border-radius:20px; overflow:hidden; box-shadow:0 6px 24px rgba(0,0,0,0.1); }
.combo-card-label { background:white; padding:14px 20px; }
.combo-card-label-title { font-family:var(--poppins); font-size:11px; font-weight:700; color:var(--verde-oscuro); letter-spacing:1px; }
.combo-card-label-sub { font-family:var(--poppins); font-size:10px; color:#999; margin-top:2px; }

/* Section 06 - Fabrication specs 3-column grid */
.specs-grid {
  display:grid; grid-template-columns:1fr 1fr 1fr; gap:24px;
}

/* Section 07 - Photo guidelines 4-column grid */
.foto-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.foto-card {
  background:var(--verde-palido); border-radius:16px; padding:20px; text-align:center;
}
.foto-card-icon { font-size:28px; display:block; margin-bottom:8px; }
.foto-card h4 { font-family:var(--baloo); font-size:15px; font-weight:700; color:var(--marron); }
.foto-card p { font-family:var(--poppins); font-size:11px; color:#666; margin-top:4px; }

/* Section 08 - Products grid */
.productos-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:48px;
}
.producto-card {
  background:var(--blanco); border-radius:20px; padding:32px; box-shadow:0 4px 20px rgba(0,0,0,0.06); border-bottom:4px solid var(--verde-principal);
}
.producto-card-dorado { border-bottom-color:var(--dorado); }
.producto-card-naranja { border-bottom-color:var(--naranja-suave); }
.producto-card-full { grid-column:1/-1; }
.producto-cat-titulo { font-family:var(--baloo); font-size:20px; font-weight:700; color:var(--marron); margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.combos-inner-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }

/* Minimum sizes flex row */
.tamanos-flex { display:flex; gap:40px; align-items:flex-end; }
.tamano-item { text-align:center; }
.tamano-item p { font-family:var(--poppins); font-size:11px; color:#888; margin-top:8px; }
.tamano-item-warning p { color:#e53935; }

/* Palabras section */
.palabras-section { margin-top:40px; }
.palabras-section h3 { font-family:var(--baloo); font-size:24px; font-weight:700; color:var(--dorado); margin-bottom:16px; }
.palabras-wrap { display:flex; flex-wrap:wrap; gap:12px; }

/* Ejemplos section */
.ejemplos-section { margin-top:40px; }
.ejemplos-section h3 { font-family:var(--baloo); font-size:28px; font-weight:700; color:var(--blanco); margin-bottom:24px; }

/* Hashtags box */
.hashtags-box {
  margin-top:40px; background:rgba(255,255,255,0.12); border-radius:20px; padding:32px; border:1px solid rgba(255,255,255,0.2);
}
.hashtags-box h3 { font-family:var(--baloo); font-size:22px; font-weight:700; color:var(--dorado); margin-bottom:16px; }
.hashtags-wrap { display:flex; flex-wrap:wrap; gap:10px; }
.hashtag-chip { background:rgba(255,255,255,0.15); color:white; padding:8px 18px; border-radius:20px; font-family:var(--poppins); font-size:13px; font-weight:500; }
.hashtag-chip-featured { background:rgba(245,200,66,0.3); color:var(--dorado); padding:8px 18px; border-radius:20px; font-family:var(--poppins); font-size:13px; font-weight:700; border:1px solid rgba(245,200,66,0.4); }

/* Fabrication wrapper */
.fabricacion-box {
  margin-top:48px; background:white; border-radius:20px; padding:32px; box-shadow:0 4px 20px rgba(0,0,0,0.06);
}
.fabricacion-box h3 { font-family:var(--baloo); font-size:24px; font-weight:700; color:var(--marron); margin-bottom:20px; }

/* Photo lineamientos wrapper */
.foto-lineamientos {
  margin-top:40px; background:white; border-radius:20px; padding:36px; box-shadow:0 4px 20px rgba(0,0,0,0.06);
}
.foto-lineamientos h3 { font-family:var(--baloo); font-size:24px; font-weight:700; color:var(--marron); margin-bottom:20px; }

/* Responsive images */
img { max-width:100%; height:auto; }
svg { max-width:100%; height:auto; }

/* ============================================
   RESPONSIVE MEDIA QUERIES
   ============================================ */

@media (max-width: 768px) {
  /* Sections padding */
  .seccion { padding:24px 24px; }
  .cierre { padding:40px 24px; }

  /* Typography scaling */
  .portada h1 { font-size:40px; }
  .seccion-titulo { font-size:32px; }
  .seccion-numero { font-size:60px; top:20px; right:20px; }
  .cierre h2 { font-size:36px; }

  /* Portada adjustments */
  .portada-inner { padding:40px 20px; }
  .portada-logo-img { width:140px; height:140px; }
  .portada-subtitle { font-size:17px; }
  .portada-year { bottom:20px; right:20px; font-size:10px; }

  /* All 2-column grids to 1 column */
  .indice-grid,
  .logo-grid,
  .uso-grid,
  .voz-grid,
  .empaque-grid,
  .menu-preview,
  .ejemplo-comparativa,
  .productos-grid,
  .combos-inner-grid { grid-template-columns:1fr; }

  /* 3-column grids to 1 column */
  .camisetas-grid,
  .identidad-grid,
  .specs-grid { grid-template-columns:1fr; }

  /* 4-column grids to 1 column on small, 2 on medium */
  .combos-grid,
  .foto-grid { grid-template-columns:1fr; }

  /* 5-column palette grid */
  .paleta-grid { grid-template-columns:1fr 1fr; }

  /* Typography cards */
  .tipo-card { grid-template-columns:1fr; gap:20px; padding:24px; }

  /* Logo cards */
  .logo-card { padding:32px; min-height:200px; }

  /* Cierre contact */
  .cierre-contacto { flex-wrap:wrap; gap:24px; }

  /* Minimum sizes section */
  .tamanos-flex { flex-wrap:wrap; gap:20px; }

  /* Empaque display */
  .empaque-display { flex-direction:column; min-height:auto; padding:20px; }

  /* Zona exclusion */
  .zona-box { padding:24px 32px; }

  /* Table scroll */
  .tipo-tabla { display:block; overflow-x:auto; }

  /* Full-span cards still work */
  .producto-card-full { grid-column:auto; }
  .empaque-card[style*="grid-column"] { grid-column:auto !important; }
}

@media (max-width: 480px) {
  .paleta-grid { grid-template-columns:1fr; }
  .combos-grid { grid-template-columns:1fr; }
  .portada h1 { font-size:36px; }
  .seccion-titulo { font-size:28px; }
  .cierre h2 { font-size:30px; }
  .seccion-numero { font-size:48px; }
}
