/* YummY Food Technology — brand tokens */
:root {
  /* Cream / off-white backgrounds */
  --y-cream: #f7f2e8;
  --y-cream-2: #f1ead9;
  --y-cream-3: #e8dec7;

  /* Orange — primary action */
  --y-orange: #ed6b2e;
  --y-orange-soft: #f08a52;
  --y-orange-deep: #c5541e;

  /* Azul petróleo — dark surface */
  --y-petrol: #0f2733;
  --y-petrol-2: #163545;
  --y-petrol-3: #1f4456;

  /* Cinza azulado — neutral text on cream */
  --y-slate: #34495a;
  --y-slate-soft: #5b6e7f;
  --y-slate-mute: #8a98a4;

  --y-bege-claro: #fff8eb;
  --y-divider: rgba(15, 39, 51, 0.1);

  /* Accent dot/badge colors echoing the screenshot */
  --y-green: #2f8a5d;
  --y-red: #d8463a;
}

html, body { background: var(--y-cream); color: var(--y-petrol); }
body {
  font-family: 'Montserrat', -apple-system, system-ui, sans-serif;
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

/* Wordmark — used across variants */
.y-wordmark {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em;
  font-size: 22px;
  line-height: 1;
  color: var(--y-petrol);
}
.y-wordmark .ft {
  display: block;
  font-size: 8px;
  letter-spacing: 0.22em;
  font-weight: 600;
  color: var(--y-slate-soft);
  margin-top: 4px;
}

/* Buttons */
.y-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 22px; border-radius: 10px;
  font-family: inherit; font-weight: 600; font-size: 15px;
  border: 0; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.y-btn-orange { background: var(--y-orange); color: #fff; }
.y-btn-orange:hover { background: var(--y-orange-deep); }
.y-btn-petrol { background: var(--y-petrol); color: #fff; }
.y-btn-petrol:hover { background: var(--y-petrol-2); }
.y-btn-ghost { background: transparent; color: var(--y-petrol); border: 1.5px solid var(--y-petrol); }

/* Eyebrow / labels */
.y-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600; font-size: 11px;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--y-slate-soft);
}

/* Form */
.y-input {
  width: 100%;
  padding: 14px 16px;
  border-radius: 10px;
  border: 1.5px solid var(--y-divider);
  background: #fff;
  font-family: inherit; font-size: 15px;
  color: var(--y-petrol);
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.y-input:focus { border-color: var(--y-orange); box-shadow: 0 0 0 4px rgba(237,107,46,0.12); }
.y-input::placeholder { color: var(--y-slate-mute); }

/* ============================================================
   RESPONSIVE OVERRIDES
   Inline styles win in CSS specificity, so the mobile rules use
   !important on the layout properties that need to change.
   Hooks: data-r="<key>" on layout-defining elements.
   Use [data-r~="key"] to support space-separated multi-value attributes.
   ============================================================ */

/* Tablet (≤ 980px) — 2-column grids collapse to 1; 3-col → 2 */
@media (max-width: 980px) {
  [data-r~="container"] { padding-left: 32px !important; padding-right: 32px !important; }
  [data-r~="hero-grid"],
  [data-r~="wow-grid"],
  [data-r~="pricing-grid"],
  [data-r~="lead-grid"] {
    grid-template-columns: 1fr !important;
    gap: 48px !important;
  }
  [data-r~="features-grid"] { grid-template-columns: 1fr 1fr !important; }
  [data-r~="hero-h1"]  { font-size: 52px !important; }
  [data-r~="section-h2"] { font-size: 44px !important; }
  [data-r~="hero-mockup"] { max-width: 560px; margin: 0 auto; }
  [data-r~="hero"] { padding: 56px 32px !important; }
  [data-r~="section"] { padding: 80px 0 !important; }
}

/* Mobile (≤ 680px) — full stacking, hide nav links, shrink type */
@media (max-width: 680px) {
  [data-r~="container"] { padding-left: 20px !important; padding-right: 20px !important; }
  [data-r~="nav-row"]   { padding: 14px 20px !important; }
  [data-r~="nav-links"] > a:not(.y-btn) { display: none !important; }
  [data-r~="nav-links"] { gap: 12px !important; }
  [data-r~="nav-cta"]   { padding: 9px 14px !important; font-size: 12px !important; }

  [data-r~="hero"]      { padding: 32px 20px 56px !important; }
  [data-r~="hero-grid"] { gap: 36px !important; }
  [data-r~="hero-h1"]   { font-size: 38px !important; line-height: 1.02 !important; }
  [data-r~="hero-sub"]  { font-size: 16px !important; }
  [data-r~="hero-checks"] { gap: 14px 18px !important; font-size: 12px !important; }
  [data-r~="hero-mockup"] {
    transform: scale(0.85);
    transform-origin: top center;
    margin-bottom: -60px;
  }

  [data-r~="section"]   { padding: 64px 0 !important; }
  [data-r~="section-h2"] { font-size: 32px !important; line-height: 1.05 !important; }
  [data-r~="section-sub"] { font-size: 15px !important; }
  [data-r~="section-head"] { margin-bottom: 36px !important; }

  [data-r~="features-grid"] { grid-template-columns: 1fr !important; gap: 14px !important; }
  [data-r~="feature-card"]  { padding: 20px !important; min-height: 0 !important; }

  [data-r~="wow"]       { padding: 72px 0 !important; }
  [data-r~="wow-demo"]  { padding: 18px !important; border-radius: 18px !important; }
  [data-r~="wow-demo-grid"] { grid-template-columns: 1fr !important; gap: 12px !important; }
  [data-r~="wow-demo-arrow"] {
    top: auto !important; bottom: 50% !important; left: 50% !important;
    transform: translate(-50%, 50%) rotate(90deg) !important;
  }
  [data-r~="wow-stats"] { grid-template-columns: repeat(3, 1fr) !important; gap: 12px !important; }
  [data-r~="wow-stats"] > div > div:first-child { font-size: 26px !important; }

  [data-r~="pricing-grid"] { gap: 16px !important; }
  [data-r~="price-card"]   { padding: 28px !important; border-radius: 16px !important; }
  [data-r~="price-big"]    { font-size: 48px !important; }
  [data-r~="price-big-sm"] { font-size: 36px !important; }

  [data-r~="lead-form-card"] { padding: 24px !important; border-radius: 16px !important; }
  [data-r~="lead-two"]       { grid-template-columns: 1fr !important; }

  [data-r~="footer-row"] {
    flex-direction: column !important; align-items: flex-start !important;
    gap: 20px !important; text-align: left !important;
  }
  [data-r~="footer-right"] { text-align: left !important; }
}

/* Subtle striped placeholder for product imagery */
.y-placeholder {
  background-image: repeating-linear-gradient(
    135deg,
    var(--y-cream-2) 0 8px,
    var(--y-cream-3) 8px 16px
  );
  color: var(--y-slate-soft);
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: 0.05em;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
}
