/* Homepage control and rhythm system, derived from the approved Corporate page.
   Scope is intentionally narrow: hero, card and section artwork stay untouched. */
body#angroos-site .site-shell main.home-main {
  --home-section-gap: 36px;
  --home-heading-content-gap: 18px;
  --home-control-height: 40px;
  --home-field-height: 40px;
  --home-arrow-size: 40px;
  --home-control-padding: 18px;
  --home-control-font-size: 11px;
  --home-control-font-weight: 600;
}

/* Maximum edge roundness for single-line Homepage controls and standard CTAs.
   Multiline fields and content cards intentionally keep their own geometry. */
body#angroos-site .site-shell main.home-main :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  select,
  .angroos-select-trigger,
  .angroos-date-trigger,
  a.button,
  button.button,
  .section-header-action,
  .occasion-calendar-link
) {
  border-radius: 999px !important;
}

/* Homepage vertical rhythm, promoted from the approved Corporate cadence.
   The hero keeps its independently approved relationship with order tracking;
   every following top-level section uses one visible outer gap. */
body#angroos-site .site-shell main.home-main > :is(
  [data-home-section],
  .home-brand-section,
  .home-planning-window
):not([data-home-section="hero"]):not([data-home-section="tracking"]) {
  margin-top: var(--home-section-gap) !important;
  margin-bottom: 0 !important;
}

/* Heading blocks use one consistent distance to their own section content.
   Editorial split panels retain their intentionally composed internal layout. */
body#angroos-site .site-shell main.home-main :is(
  .section-title,
  .category-section-head
),
body#angroos-site .site-shell main.home-main > .home-planning-window > header,
body#angroos-site .site-shell main.home-main > .home-new-experiences .home-experience-heading,
body#angroos-site .site-shell main.home-main > .seo-intro-section .seo-intro-heading,
body#angroos-site .site-shell main.home-main > .home-brand-section .brand-section-heading,
body#angroos-site .site-shell main.home-main > .client-section > h2:not(#home-track-order-title) {
  margin-bottom: var(--home-heading-content-gap) !important;
}

/* The FAQ grid owns this relationship itself: 12px on mobile and a
   side-by-side column gap on desktop, matching the Corporate FAQ. */
body#angroos-site .site-shell main.home-main > .home-faq-section > section > header {
  margin-bottom: 0 !important;
}

/* These three blocks form one corporate-trust story. Match the compact
   hero-to-order relationship inside the group, while keeping the standard
   section rhythm before the introduction and after the CTA. */
body#angroos-site#angroos-site .site-shell main.home-main > .client-section,
body#angroos-site#angroos-site .site-shell main.home-main > .corporate-strip {
  margin-top: 14px !important;
}

@media (max-width: 720px) {
  body#angroos-site#angroos-site .site-shell main.home-main > .client-section,
  body#angroos-site#angroos-site .site-shell main.home-main > .corporate-strip {
    margin-top: 9px !important;
  }
}

/* Editorial CTA buttons only. Product-card controls and the hero remain untouched. */
body#angroos-site .site-shell main.home-main :is(
  .season-copy,
  .hamper-copy,
  .garden-home-copy,
  .corporate-strip
) > :is(a.button, button.button) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: auto !important;
  min-height: var(--home-control-height) !important;
  height: var(--home-control-height) !important;
  padding: 0 var(--home-control-padding) !important;
  border-radius: 999px !important;
  font-family: var(--font-geist), Arial, sans-serif !important;
  font-size: var(--home-control-font-size) !important;
  font-weight: var(--home-control-font-weight) !important;
  line-height: 1 !important;
}

body#angroos-site .site-shell main.home-main :is(
  .season-copy,
  .hamper-copy,
  .garden-home-copy,
  .corporate-strip
) > :is(a.button, button.button) :is(svg, .direction-arrow) {
  width: 14px !important;
  height: 14px !important;
}

/* Section actions use the same compact label and icon proportions. */
body#angroos-site .site-shell main.home-main :is(
  .section-header-action,
  .occasion-calendar-link
) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  gap: 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #15140f !important;
  font-family: var(--font-geist), Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transform: none !important;
}

body#angroos-site .site-shell main.home-main :is(
  .section-header-action,
  .occasion-calendar-link
) .icon-arrow {
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(94, 79, 55, .22) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .48) !important;
  color: #15140f !important;
}

body#angroos-site .site-shell main.home-main :is(
  .section-header-action,
  .occasion-calendar-link
) .direction-arrow {
  width: 14px !important;
  height: 14px !important;
}

/* One field language for the Homepage's order-tracking control. */
body#angroos-site .site-shell main.home-main .home-track-order :is(input, form button) {
  box-sizing: border-box !important;
  min-height: var(--home-field-height) !important;
  height: var(--home-field-height) !important;
  max-height: var(--home-field-height) !important;
  border-radius: 999px !important;
  font-family: var(--font-geist), Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body#angroos-site .site-shell main.home-main .home-track-order form button {
  padding: 0 var(--home-control-padding) !important;
  font-weight: var(--home-control-font-weight) !important;
}

body#angroos-site .site-shell main.home-main .home-track-order form button :is(svg, .direction-arrow) {
  width: 14px !important;
  height: 14px !important;
}

/* Circular browsing controls match the Corporate 40/32 system. */
body#angroos-site .site-shell main.home-main :is(
  .garden-home-carousel-head .carousel-buttons,
  .section-title .carousel-buttons
) > button,
body#angroos-site .site-shell main.home-main button.mini-gift-next {
  box-sizing: border-box !important;
  display: inline-grid !important;
  place-items: center !important;
  flex: 0 0 var(--home-arrow-size) !important;
  width: var(--home-arrow-size) !important;
  min-width: var(--home-arrow-size) !important;
  height: var(--home-arrow-size) !important;
  min-height: var(--home-arrow-size) !important;
  max-height: var(--home-arrow-size) !important;
  padding: 0 !important;
  border-radius: 50% !important;
}

body#angroos-site .site-shell main.home-main :is(
  .garden-home-carousel-head .carousel-buttons,
  .section-title .carousel-buttons
) > button :is(svg, .direction-arrow),
body#angroos-site .site-shell main.home-main button.mini-gift-next :is(svg, .direction-arrow) {
  width: 14px !important;
  height: 14px !important;
}

@media (max-width: 720px) {
  body#angroos-site .site-shell main.home-main {
    --home-section-gap: 24px;
    --home-heading-content-gap: 12px;
    --home-control-height: 30px;
    --home-field-height: 34px;
    --home-arrow-size: 32px;
    --home-control-padding: 14px;
    --home-control-font-weight: 500;
  }

  body#angroos-site .site-shell main.home-main :is(
    .section-header-action,
    .occasion-calendar-link
  ) {
    min-height: 32px !important;
    height: 32px !important;
    gap: 8px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    transform: none !important;
  }

  body#angroos-site .site-shell main.home-main :is(
    .section-header-action,
    .occasion-calendar-link
  ) .icon-arrow {
    flex-basis: 32px !important;
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
  }

  body#angroos-site .site-shell main.home-main :is(
    .section-header-action,
    .occasion-calendar-link
  ) .direction-arrow {
    width: 12px !important;
    height: 12px !important;
  }

  body#angroos-site .site-shell main.home-main .home-track-order :is(input, form button) {
    border-radius: 999px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }

  /* Homepage legacy rules are intentionally specific; repeat the approved
     mobile values at route scope so every targeted control resolves equally. */
  body#angroos-site#angroos-site > .site-shell.site-shell main.home-main.home-main :is(
    .season-copy,
    .hamper-copy,
    .garden-home-copy,
    .corporate-strip
  ) > :is(a.button, button.button) {
    min-height: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
    padding: 0 13px !important;
    font-size: 10px !important;
    font-weight: 500 !important;
  }

  body#angroos-site .site-shell main.home-main > section.season-section[data-home-section="season"] > div.season-copy > a.button.button-dark,
  body#angroos-site .site-shell main.home-main > section.garden-home-showcase[data-home-section="garden"] div.garden-home-copy > a.button.button-dark {
    min-height: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
    padding: 0 13px !important;
    font-size: 10px !important;
    font-weight: 500 !important;
  }

  body#angroos-site#angroos-site .site-shell main.home-main > section.season-section[data-home-section="season"] > div.season-copy > a.button.button-dark {
    font-size: 11px !important;
  }

  /* These two CTAs also receive late global 40px minimums. Repeat their exact
     route paths at higher specificity so the compact mobile contract wins. */
  body#angroos-site#angroos-site#angroos-site div.site-shell.site-shell > main.home-main.home-main > section.hamper-banner.hamper-showcase.ai-hamper-showcase[data-home-section="hamper"] > div.hamper-copy > a.button.button-light[href],
  body#angroos-site#angroos-site#angroos-site div.site-shell.site-shell > main.home-main.home-main > section.corporate-strip[data-home-section="corporate"] > a.button.button-dark[href] {
    box-sizing: border-box !important;
    min-height: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
    padding: 0 13px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
  }

  body#angroos-site#angroos-site > .site-shell.site-shell main.home-main.home-main .home-track-order :is(input, form button) {
    min-height: 34px !important;
    height: 34px !important;
    max-height: 34px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
  }

  body#angroos-site#angroos-site > .site-shell.site-shell main.home-main.home-main :is(
    .garden-home-carousel-head .carousel-buttons,
    .section-title .carousel-buttons
  ) > button,
  body#angroos-site#angroos-site > .site-shell.site-shell main.home-main.home-main button.mini-gift-next {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
  }

  body#angroos-site#angroos-site > .site-shell.site-shell main.home-main.home-main button.mini-gift-next {
    display: none !important;
  }
}
