/* ============================================================
   silageplan-overrides.css
   Custom tweaks layered on top of the 1:1 Webflow stylesheet.
   Loaded AFTER webflow.css so equal/greater specificity wins.
   (webflow.css is regenerated by _port.py; this file is not.)
   ============================================================ */

/* ---- "What is the true cost of poor quality Silage?" : metric cards ----
   Layout: three metric cards on top, original chart full-width below. */
.section.cost .cost-midle.is-cards {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 48px;
}

.cost-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
}

.cost-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 34px 30px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  text-align: left;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.cost-card:hover {
  transform: translateY(-4px);
  border-color: rgba(244, 120, 55, 0.55);
}

.cost-card__tag {
  font-family: Archivo, sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #f47837;
}

.cost-card__value {
  font-family: Archivo, sans-serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 4vw, 3.25rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: #fffefc;
}

.cost-card__label {
  font-family: Archivo, sans-serif;
  font-size: 1rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.72);
  max-width: 24ch;
}

/* The "solution" card — inverted to orange so the tiny SilagePlan cost
   visually pops against the two loss figures. */
.cost-card--solution {
  background: #f47837;
  border-color: #f47837;
  box-shadow: 0 18px 40px -18px rgba(244, 120, 55, 0.6);
}
.cost-card--solution:hover {
  border-color: #ffffff;
  transform: translateY(-4px);
}
.cost-card--solution .cost-card__tag { color: #2a1a0a; }
.cost-card--solution .cost-card__value { color: #16140f; }
.cost-card--solution .cost-card__label { color: rgba(22, 20, 15, 0.82); }

/* Chart now spans full width beneath the cards. */
.section.cost .cost-midle.is-cards .chart-right {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.section.cost .cost-midle.is-cards .chart-right > img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .cost-cards { grid-template-columns: 1fr; }
  .section.cost .cost-midle.is-cards { gap: 32px; }
}

/* Navbar demo CTA (added: homepage nav had no conversion path). */
.nav-menu .nav-demo-cta {
  background: #f47837;
  color: #fff;
  border-radius: 8px;
  padding: 10px 20px;
  margin-left: 12px;
  font-weight: 600;
  text-transform: none;
}
.nav-menu .nav-demo-cta:hover { background: #d96628; color: #fff; }
/* In the menu the CTA follows the page links' alignment: centred (Webflow's
   auto margins on .w-nav-link), left-aligned below 480px. */
@media screen and (max-width: 1279px) {
  .nav-menu .nav-demo-cta {
    margin-left: auto;
    margin-top: 16px;
    display: inline-block;
    text-align: center;
  }
}

/* Navbar app links: "Log in" text link + outlined "Sign up" button, placed
   before the demo CTA. The 2px border plus 8px/18px padding gives the same
   box as the demo CTA's 10px/20px. */
.nav-menu .nav-login-link {
  text-transform: none;
}
.nav-menu .nav-signup-cta {
  color: #f47837;
  border: 2px solid #f47837;
  border-radius: 8px;
  padding: 8px 18px;
  font-weight: 600;
  text-transform: none;
}
.nav-menu .nav-signup-cta:hover { background: #f47837; color: #fff; }

/* Desktop (1280px+): eight items share one row with the two logos, so the
   gaps shrink and the three app actions sit closer together as a group. */
@media screen and (min-width: 1280px) {
  .nav-menu .links { grid-column-gap: 32px; column-gap: 32px; }
  .nav-menu .nav-signup-cta,
  .nav-menu .nav-demo-cta { margin-left: -16px; }
}
@media screen and (min-width: 1280px) and (max-width: 1365px) {
  .nav-menu .links { grid-column-gap: 20px; column-gap: 20px; }
  .nav-menu .nav-signup-cta,
  .nav-menu .nav-demo-cta { margin-left: -8px; }
}

/* The full nav only fits on one line from 1280px, so 992-1279px uses the
   hamburger menu too: Webflow's own <=991px nav rules (webflow.css), applied
   to that range. */
@media screen and (min-width: 992px) and (max-width: 1279px) {
  .w-nav[data-collapse="medium"] .w-nav-menu { display: none; }
  .w-nav[data-collapse="medium"] .w-nav-button { display: block; }
  .brand { z-index: 2; }
  .links {
    flex-flow: column;
    align-items: flex-start;
    padding-top: 100px;
  }
  .navbar {
    background-color: var(--bg-color);
    margin-top: 0;
    padding: 20px 16px;
    position: fixed;
    inset: 0% 0% auto;
  }
  .nav-menu {
    background-color: var(--bg-color);
    justify-content: space-between;
    align-items: stretch;
    height: 100vh;
  }
  .section.hero { margin-top: 150px; }
  .navbar-open { padding: 3px; }
  .navbar-close {
    padding: 3px;
    display: none;
  }
  .menu-button {
    background-color: var(--bg-color);
    padding: 0;
  }
  .menu-button.w--open { background-color: var(--bg-color); }
  .brands { margin-right: auto; }
}

/* Menu (below 1280px): stack the app actions as a tight group (16px apart)
   under the page links, and let the open menu scroll so short screens can
   reach every item (84px = the fixed navbar's height in hamburger mode). */
@media screen and (max-width: 1279px) {
  .nav-menu .nav-login-link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .nav-menu .nav-signup-cta {
    display: inline-block;
    text-align: center;
  }
  .nav-menu .nav-signup-cta,
  .nav-menu .nav-demo-cta { margin-top: -32px; }
  .w-nav-overlay .nav-menu {
    height: calc(100vh - 84px);
    height: calc(100dvh - 84px);
    overflow-y: auto;
  }
  .nav-menu .links { padding-bottom: 32px; }
}
@media screen and (max-width: 479px) {
  .nav-menu .nav-demo-cta { margin-left: 0; }
}
@media screen and (max-width: 767px) {
  .nav-menu .links {
    grid-row-gap: 40px;
    row-gap: 40px;
    padding-top: 72px;
  }
  .nav-menu .nav-signup-cta,
  .nav-menu .nav-demo-cta { margin-top: -24px; }
}

/* Video CTA slide inside the customer-quotes slider. */
.testimonials-slider-card.video-testimonial-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.video-testimonial-thumb {
  position: relative;
  width: 100%;
  max-width: 320px;
  aspect-ratio: 16 / 10;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 16px;
  background: #16140f;
}
.video-testimonial-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* Shorts hqdefault is pillarboxed; zoom to the central vertical strip. */
  transform: scale(1.95);
  transform-origin: 50% 32%;
}
.video-testimonial-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(244, 120, 55, 0.92);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
  padding-left: 5px;
}
.video-testimonial-card:hover .video-testimonial-play { background: #d96628; }
.video-testimonial-copy { margin-bottom: 12px; }

/* ---- Footer legal links ----
   Links to the app-hosted legal documents sit on their own centred row below
   the three Webflow footer columns, which are a fixed space-between layout
   with no room for extra links. */
.footer-legal-bar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 32px;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px 48px;
}
