/* Navigation and catalogue controls share the existing squared-off design. */
.c-products-nav { position:relative; display:flex; align-items:center; flex-shrink:0; }
.c-nav { min-width:0; }
.c-nav--left > .c-nav__link { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.c-products-nav__toggle { background:none; border:0; color:var(--on-dark-2); padding:8px 3px; cursor:pointer; }
.c-products-nav__menu { position:absolute; top:calc(100% - .15rem); left:50%; width:max-content; min-width:100%; max-width:230px; max-height:min(65vh,520px); overflow-y:auto; padding:4px 0; background:var(--green-700); border:0; opacity:0; visibility:hidden; transform:translate(-50%,-6px); transition:opacity .18s,transform .18s; }
.c-products-nav.is-open .c-products-nav__menu { opacity:1; visibility:visible; transform:translate(-50%,0); }
.c-products-nav__menu a { display:block; padding:9px 12px; color:var(--on-dark-2); font:600 11px/1.5 var(--font-display); letter-spacing:.1em; text-align:center; overflow-wrap:anywhere; }
.c-products-nav__menu a:hover, .c-products-nav__menu a:focus-visible { background:var(--green-500); color:white; }

/* Home information block */
.s-homeinfo { background:#f4f1eb; color:var(--green-900); border-block:1px solid rgba(0,45,43,.12); }
.s-homeinfo__intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(18rem,.65fr); gap:1rem clamp(2rem,7vw,8rem); align-items:end; margin-bottom:clamp(2rem,4vw,4rem); }
.s-homeinfo__intro .c-label { grid-column:1/-1; }
.s-homeinfo__intro h2 { max-width:19ch; font-size:clamp(2rem,4vw,4.75rem); line-height:.98; letter-spacing:-.045em; }
.s-homeinfo__intro>p:last-child { max-width:50ch; margin:0; color:var(--ink-2); line-height:1.75; }
.s-homeinfo__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid rgba(0,45,43,.2); }
.s-homeinfo__card { position:relative; min-height:18rem; padding:clamp(1.5rem,3vw,2.75rem); background:#fff; display:flex; flex-direction:column; }
.s-homeinfo__card+ .s-homeinfo__card { border-left:1px solid rgba(0,45,43,.2); }
.s-homeinfo__number { font:600 .68rem/1 var(--font-display); letter-spacing:.18em; color:var(--orange-700); }
.s-homeinfo__card h3 { margin:auto 0 1rem; max-width:16ch; font-size:clamp(1.25rem,2vw,1.7rem); line-height:1.12; }
.s-homeinfo__card p { margin:0; color:var(--ink-2); line-height:1.7; }

/* Home FAQ */
.s-homefaq { background:var(--green-900); color:var(--on-dark); }
.s-homefaq__layout { max-width:62rem; }
.s-homefaq__intro { margin:0 auto clamp(2rem,4vw,3.5rem); text-align:center; }
.s-homefaq__intro h2 { margin:0; color:var(--orange-500); font:600 clamp(.75rem,.68rem + .25vw,.95rem)/1.4 var(--font-display); letter-spacing:.28em; text-transform:uppercase; }
.s-homefaq__list { width:100%; border-top:1px solid var(--line-dark); }
.s-homefaq__item { border-bottom:1px solid var(--line-dark); }
.s-homefaq__question { width:100%; min-height:6rem; display:grid; grid-template-columns:1fr 2rem; gap:1.5rem; align-items:center; padding:1.5rem 0; border:0; background:none; color:#fff; text-align:left; cursor:pointer; font:600 clamp(1rem,1.5vw,1.3rem)/1.4 var(--font-display); }
.s-homefaq__question i { position:relative; width:1.5rem; height:1.5rem; }
.s-homefaq__question i::before,.s-homefaq__question i::after { content:""; position:absolute; left:50%; top:50%; width:1rem; height:1px; background:var(--orange-500); transform:translate(-50%,-50%); transition:transform .25s ease; }
.s-homefaq__question i::after { transform:translate(-50%,-50%) rotate(90deg); }
.s-homefaq__question[aria-expanded="true"] i::after { transform:translate(-50%,-50%) rotate(0); }
.s-homefaq__answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s ease; }
.s-homefaq__answer[data-open="true"] { grid-template-rows:1fr; }
.s-homefaq__answer>div { overflow:hidden; }
.s-homefaq__answer p { max-width:66ch; padding:0 3.5rem 2rem 0; margin:0; color:var(--on-dark-2); line-height:1.75; }

@media (max-width:780px) {
  .s-homeinfo__intro { grid-template-columns:1fr; }
  .s-homeinfo__intro .c-label { grid-column:auto; }
  .s-homeinfo__grid { grid-template-columns:1fr; }
  .s-homeinfo__card { min-height:13rem; }
  .s-homeinfo__card+ .s-homeinfo__card { border-left:0; border-top:1px solid rgba(0,45,43,.2); }
  .s-homefaq__question { min-height:5rem; }
}
.c-catalog-filters { display:flex; justify-content:center; flex-wrap:wrap; gap:0; margin:0 auto; padding:32px var(--gutter); max-width:1400px; }
.c-catalog-filters .c-catalog-filter { display:flex; align-items:center; justify-content:center; min-height:52px; flex:0 1 auto; padding:16px 25px; border:1px solid var(--ink); margin:-1px 0 0 -1px; background:transparent; color:var(--ink); font:600 12px/1.4 var(--font-display); letter-spacing:.1em; text-align:center; cursor:pointer; overflow-wrap:anywhere; max-width:100%; }
.c-catalog-filters .c-catalog-filter.is-active, .c-catalog-filters .c-catalog-filter:hover { color:var(--white); background:var(--ink); }
.s-category-intro { padding:0 var(--gutter) clamp(1.5rem,3vw,3rem); background:var(--paper); }
.s-category-intro__box { width:min(100%,62rem); margin:0 auto; color:var(--ink-2); font-size:clamp(.98rem,.94rem + .18vw,1.1rem); line-height:1.85; text-align:center; overflow-wrap:anywhere; }
.s-category-intro__box p { margin:0; }
.s-category-intro__box p + p { margin-top:1.15em; }
.c-menu__category-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:8px 0 20px; }
.c-menu__category-grid a { display:flex; align-items:center; min-height:48px; padding:12px; border:1px solid var(--line-dark); color:var(--on-dark-2); font:600 12px/1.5 var(--font-display); letter-spacing:.06em; overflow-wrap:anywhere; }
.c-menu__category-grid a:hover { background:var(--green-500); color:white; }
.c-menu { overflow-y:auto; overscroll-behavior:contain; }
.c-menu__category-group { list-style:none; }
.c-menu__category-grid [data-menu-link] { transition-delay:0s !important; }
.c-menu.is-open .c-menu__link { animation-delay:70ms; }
.c-form__status { position:static; width:auto; height:auto; clip:auto; white-space:normal; overflow:visible; padding:0; border:0; background:none; margin-top:16px; }
.c-form__status[hidden] { display:none; }
.c-form__status[data-state="ok"] { display:flex; align-items:center; gap:12px; width:fit-content; max-width:480px; padding:14px 18px; background:#edf5ef; color:var(--green-700); border-radius:4px; font-size:14px; line-height:1.6; outline:none; }
.c-form__status[data-state="ok"]::before { content:'✓'; flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--green-700); color:white; font-size:17px; }
.c-form__submit:disabled { opacity:.5; cursor:not-allowed; }
/* The sticky index has zero layout height; its numbers must not be clipped. */
html .c-bandindex { overflow:visible; max-height:none; }
.c-band__media .yasder-media-mobile { display:none; }
@media (max-width:767px) {
  .c-band__media .yasder-media-desktop { display:none; }
  .c-band__media .yasder-media-mobile { display:block; }
}
@media (min-width:1024px) and (max-width:1439px) {
  .c-nav { gap:clamp(6px,.7vw,10px); }
  .c-nav__link { font-size:clamp(10px,.83vw,12px); letter-spacing:.06em; }
}
@media (max-width:767px) {
  .c-catalog-filters { padding:24px var(--gutter); }
  .c-catalog-filters .c-catalog-filter { flex:1 0 calc(50% - 1px); max-width:calc(50% + 1px); padding:14px 10px; font-size:11px; letter-spacing:.05em; min-height:50px; }
  .s-category-intro { padding-bottom:1.5rem; }
  .s-category-intro__box { line-height:1.75; }
  .c-menu__list { padding-bottom:32px; }
}

/* About intro: keep long editorial copy centered beneath its heading. */
.s-about-intro > .l-container > .c-label { text-align:center; }
.s-about-intro__grid {
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:clamp(2rem,4vw,3.5rem);
  max-width:1100px;
  margin-inline:auto;
  text-align:center;
}
.s-about-intro h2 { max-width:18ch; text-align:center; }
.s-about-intro__copy {
  width:100%;
  max-width:900px;
  margin-inline:auto;
  padding-top:0;
  text-align:center;
}
.s-about-intro__copy p { max-width:none; }
@media (max-width:767px) {
  .s-about-intro__grid { gap:1.75rem; }
}
