/* Reuses catalogue cards, modal controls and site tokens. All layout overrides are local.
   Overflow: names/features/prices/buttons wrap; form controls shrink in their columns. */
.winter-entry { margin: 1.25rem 0 2rem; }
.winter-entry p { margin: 0; font-size: 1.0526rem; line-height: 1.5; }
.winter-nav { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin-top: 1rem; }
.winter-nav .winter-link { font-size: 1.0526rem; }
.winter-selection { margin: 0 0 2.5rem; color: #000; scroll-margin-top: 7rem; }
.winter-selection__intro { margin-bottom: 1.5rem; }
.winter-selection h2, .winter-catalog-heading h2 { margin: 0 0 1rem; font-size: 2rem; font-weight: 500; line-height: 1.2; letter-spacing: -0.03em; }
.winter-selection p { font-size: 1.0526rem; line-height: 1.5; }
/* Two-dimensional catalogue grid keeps rows aligned; no CSS size math. */
.winter-selection__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.winter-card { display: flex; flex-direction: column; min-width: 0; }
.winter-card .winter-card__image { min-height: 0; height: 17rem; }
.winter-card__image img { width: 90%; height: 90%; object-fit: contain; }
.winter-card__body { display: flex; flex: 0 1 auto; flex-direction: column; gap: 0.75rem; padding-top: 1rem; min-width: 0; }
.winter-card .winter-card__title { min-height: 0; max-width: none; margin: 0; font-size: 1.5789rem; line-height: 1.18; }
.winter-card p { margin: 0; overflow-wrap: anywhere; }
.winter-card__offer { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.375rem 0.75rem; }
.winter-card .winter-card__status { font-size: 0.9211rem; line-height: 1.35; color: #39760c; font-weight: 500; }
.winter-card .winter-card__status--unavailable { color: #555; }
.winter-card .winter-card__price { flex: none; font-size: 1.9737rem; line-height: 1.2; }
.winter-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1rem; margin-top: 0.25rem; }
.winter-button { display: inline-flex; justify-content: center; align-items: center; gap: 0.5rem; min-height: 3.25rem; padding: 0.875rem 1.5rem; border: 1px solid transparent; border-radius: 0.625rem; background: var(--color-accent); color: var(--color-white); font: inherit; font-size: 1.0526rem; font-weight: 500; line-height: 1.25; text-align: center; white-space: normal; cursor: pointer; }
.winter-button:hover { background: #f17510; color: var(--color-white); }
.winter-button--secondary { background: #fff; border-color: var(--color-accent); color: #000; }
.winter-button:disabled { cursor: wait; opacity: 0.6; }
.winter-link { border: 0; padding: 0; background: none; color: #000; font: inherit; text-align: left; text-decoration: underline; text-underline-offset: 0.2em; line-height: 1.4; overflow-wrap: anywhere; cursor: pointer; }
.winter-link:hover { color: var(--color-accent); }
.winter-button:focus-visible, .winter-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 0.2rem; }
.winter-selection__additional { margin-top: 2rem; scroll-margin-top: 7rem; }
.winter-selection__more { display: flex; width: fit-content; margin: 1.5rem auto 0; }
.winter-selection__additional[hidden], .winter-selection__more[hidden] { display: none; }
/* Keep the existing cart/quantity behaviour within the seasonal card dimensions. */
.winter-card__actions .winter-card__cart, .winter-card__actions .cart-quantity-control { flex: 0 0 auto; min-width: 8.75rem; width: auto; min-height: 3.25rem; }
.winter-card__actions .winter-card__cart[hidden] { display: none; }
.winter-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 2rem; padding: 1.5rem; border-radius: 1.25rem; background: #fff; }
.winter-help h3 { margin: 0 0 0.5rem; font-size: 1.3158rem; line-height: 1.25; }
.winter-help p { margin: 0; }
.winter-catalog-heading { margin-bottom: 1.5rem; padding-top: 2rem; border-top: 1px solid rgba(0, 0, 0, 0.12); scroll-margin-top: 7rem; }
.winter-catalog-heading p { margin: 0; font-size: 1.0526rem; line-height: 1.5; }
.winter-catalog-heading .winter-catalog-heading__count { margin-top: 0.5rem; color: #555; }
/* Native dialog owns the overlay, focus containment and page inertness.
   Viewport-height exception: bound this scrollable modal to the visible viewport. */
.winter-modal { width: 40rem; max-width: 94%; max-height: 90dvh; margin: auto; padding: 2rem; overflow: auto; overscroll-behavior: contain; border: 0; border-radius: 1.25rem; background: #fff; color: #000; }
.winter-modal:not([open]) { display: none; }
.winter-modal::backdrop { background: rgba(0, 0, 0, 0.4); }
html.winter-modal-open { overflow: hidden; scrollbar-gutter: stable; }
html.winter-modal-open body { overflow: hidden; }
.winter-modal h2 { margin: 0 0 1rem; padding-right: 2.5rem; font-size: 1.75rem; font-weight: 500; line-height: 1.2; }
.winter-modal > p { margin: 0; font-size: 1.0526rem; line-height: 1.5; }
.winter-request__form { margin-top: 1.5rem; }
.winter-request__fields { display: flex; flex-wrap: wrap; gap: 1rem; }
.winter-request__field { display: flex; flex: 1 1 14rem; min-width: 0; flex-direction: column; gap: 0.5rem; font-size: 1.0526rem; line-height: 1.4; }
.winter-request__field--wide { flex-basis: 100%; }
.winter-modal .guide-modal__input { min-width: 0; font-size: 1.0526rem; min-height: 3.5rem; padding: 0.875rem 1rem; }
.winter-modal textarea { resize: vertical; }
.winter-request__consent { display: flex; align-items: flex-start; gap: 0.75rem; margin: 1.25rem 0; font-size: 0.9211rem; line-height: 1.5; }
.winter-request__consent input { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: 0.125rem; accent-color: var(--color-accent); }
.winter-request__status { margin: 1rem 0 0; font-size: 1.0526rem; line-height: 1.5; }
.winter-request__status:empty { display: none; }
.winter-request__status[data-state="error"] { color: #a32020; }
.winter-success__done { margin-top: 1.5rem; }
.winter-materials { margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(0, 0, 0, 0.12); }
.winter-materials > h2 { margin: 0 0 1.25rem; line-height: 1.25; scroll-margin-top: 7rem; }
.winter-materials .winter-materials__list { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; padding: 0; list-style: none; }
/* NetCat rich-text line conversion adds direct br children between list items. */
.winter-materials__list > br { display: none; }
.winter-materials__list li { display: flex; flex: 1 1 18rem; min-width: 0; flex-direction: column; gap: 0.75rem; margin: 0; padding: 1.25rem; border-radius: 1.25rem; background: #fff; }
.winter-materials__list a { color: var(--color-accent); font-weight: 500; line-height: 1.35; text-decoration: underline; text-underline-offset: 0.2em; }
.winter-materials__list p { margin: 0; font-size: 1.0526rem; line-height: 1.5; }

@media (min-width: 576px) and (max-width: 991.98px) {
  .winter-selection__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
  .winter-entry p, .winter-nav .winter-link, .winter-help p, .winter-catalog-heading p, .winter-materials__list p { font-size: 1.125rem; }
  .winter-selection__grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .winter-selection h2, .winter-catalog-heading h2 { font-size: 1.5rem; }
  .winter-card { flex-direction: row; align-items: flex-start; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid rgba(0, 0, 0, 0.12); }
  .winter-card .winter-card__image { flex: 0 0 8.5rem; width: 8.5rem; height: 8.5rem; }
  .winter-card__body { flex: 1; gap: 0.5rem; padding-top: 0; }
  .winter-card .winter-card__title { font-size: 1.25rem; line-height: 1.25; }
  .winter-card p { font-size: 1.0625rem; }
  .winter-card .winter-card__price { font-size: 1.5rem; }
  .winter-card .winter-card__status { font-size: 1rem; }
  .winter-card__actions .winter-card__cart, .winter-card__actions .cart-quantity-control { min-height: 2.75rem; }
  .winter-card__actions { align-items: flex-start; gap: 0.625rem; }
  .winter-card .winter-button { min-height: 2.75rem; padding: 0.625rem 1rem; font-size: 1.0625rem; }
  .winter-card .winter-link { font-size: 1.0625rem; }
  .winter-help { padding: 1.25rem; }
  .winter-help h3 { font-size: 1.25rem; }
  .winter-button { font-size: 1.125rem; }
  .winter-modal { padding: 1.5rem 1.25rem; }
  .winter-modal h2 { font-size: 1.5rem; }
  .winter-modal > p, .winter-request__field, .winter-request__status { font-size: 1.125rem; }
  .winter-modal .guide-modal__input { font-size: 1.25rem; }
  .winter-request__consent { font-size: 1.0625rem; }
  .winter-request__submit { width: 100%; }
}
