/*
 Theme Name:   LanzaWeb Child
 Theme URI:    https://lanzaweb.es
 Description:  Child theme para LanzaWeb. Design system Assembly. GeneratePress parent.
 Author:       Paul Cristobal
 Author URI:   https://paulcris.com
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  lanzaweb-child
*/

/* ==========================================================================
   DESIGN SYSTEM — Assembly (Assembly.com extraction)
   Colors, typography, buttons, cards, spacing
   ========================================================================== */

:root {
  /* Colors */
  --lw-text: #101010;
  --lw-bg: #FEFEFC;
  --lw-bg-alt: #FEFEFD;
  --lw-bg-secondary: #F6F6EF;
  --lw-bg-hover: #F2F2E8;
  --lw-bg-subtle: #F3F3F0;
  --lw-gray-light: #9F9F9F;
  --lw-gray-mid: #4F4F4F;
  --lw-dark: #242424;
  --lw-green: #22C55E;
  --lw-green-dark: #16A34A;
  --lw-blue: #1F4E79;
  --lw-border: #CFCFCF;
  --lw-border-hover: #9F9F9F;

  /* Spacing */
  --lw-radius-pill: 30px;
  --lw-radius-card: 16px;
  --lw-radius-sm: 8px;
  --lw-radius-xs: 6px;
  --lw-max-width: 1272px;

  /* Typography */
  --lw-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ==========================================================================
   GLOBAL RESET FOR LANZAWEB PAGES
   ========================================================================== */

body.lanzaweb-page {
  font-family: var(--lw-font);
  background: var(--lw-bg);
  color: var(--lw-text);
  font-size: 20px;
  line-height: 28px;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
}

body.lanzaweb-page * {
  box-sizing: border-box;
}

/* Typography scale */
body.lanzaweb-page h1 {
  font-size: 64px;
  line-height: 64px;
  font-weight: 600;
  letter-spacing: -0.03em;
  margin: 0 0 16px;
}

body.lanzaweb-page h2 {
  font-size: 48px;
  line-height: 48px;
  font-weight: 600;
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}

body.lanzaweb-page h3 {
  font-size: 32px;
  line-height: 36px;
  font-weight: 600;
  margin: 0 0 12px;
}

body.lanzaweb-page h4 {
  font-size: 22px;
  line-height: 28px;
  font-weight: 600;
  margin: 0 0 6px;
}

/* ==========================================================================
   BUTTONS — Assembly pill style
   ========================================================================== */

.lw-btn,
body.lanzaweb-page .bp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 2px 32px 0;
  border-radius: var(--lw-radius-pill);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
  text-decoration: none;
  font-family: var(--lw-font);
  background: var(--lw-text);
  color: var(--lw-bg-alt);
}

.lw-btn:hover,
body.lanzaweb-page .bp:hover {
  background: var(--lw-dark);
}

.lw-btn-secondary,
body.lanzaweb-page .bs {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 2px 32px 0;
  border-radius: var(--lw-radius-pill);
  font-size: 16px;
  font-weight: 600;
  line-height: 24px;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
  text-decoration: none;
  font-family: var(--lw-font);
  background: var(--lw-bg-secondary);
  color: var(--lw-text);
}

.lw-btn-secondary:hover,
body.lanzaweb-page .bs:hover {
  background: var(--lw-bg-hover);
}

.lw-btn-green,
body.lanzaweb-page .bg {
  background: var(--lw-green);
  color: #fff;
}

.lw-btn-green:hover,
body.lanzaweb-page .bg:hover {
  background: var(--lw-green-dark);
}

/* ==========================================================================
   CARDS — Assembly style (border, no shadow)
   ========================================================================== */

.lw-card {
  border: 1px solid var(--lw-border);
  border-radius: var(--lw-radius-card);
  padding: 28px 24px;
  transition: border-color 0.3s, background 0.3s;
}

.lw-card:hover {
  border-color: var(--lw-border-hover);
  background: var(--lw-bg-hover);
}

/* ==========================================================================
   CONTAINER
   ========================================================================== */

.lw-container {
  max-width: var(--lw-max-width);
  margin: 0 auto;
  padding: 0 24px;
}

/* ==========================================================================
   LABEL — uppercase small text
   ========================================================================== */

.lw-label {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.28px;
  margin-bottom: 14px;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */

@media (max-width: 900px) {
  body.lanzaweb-page h1 {
    font-size: 36px;
    line-height: 38px;
  }
  body.lanzaweb-page h2 {
    font-size: 32px;
    line-height: 34px;
  }
}
