:root {
  --soliso-yellow: #FFC629;
  --soliso-yellow-hover: #D69A00;
  --soliso-yellow-deep: #8A6200;
  --soliso-yellow-dark: #705000;
  --soliso-yellow-soft: #FFF3CC;
  --soliso-yellow-wash: #FFF9E8;
  --soliso-yellow-border: #F3DE97;
}

/* Soliso visual skin: appended after every Liso page stylesheet. */
:root {
  --brand-primary: var(--soliso-yellow);
  --primary: var(--soliso-yellow);
  --ring: var(--soliso-yellow);
  --lfg-liso: var(--soliso-yellow);
}

/* Yellow is used for filled brand controls; a dark label remains readable. */
.liso-rebuilt-action--primary,
.liso-static-cookie-actions .is-primary,
.liso-business-cta,
.liso-business-programme-action,
.liso-dealer-login-form button,
.liso-dealer-home button {
  color: #201a10 !important;
  background: var(--soliso-yellow) !important;
  border-color: var(--soliso-yellow) !important;
}
.liso-rebuilt-action--primary:hover,
.liso-rebuilt-action--primary:focus-visible,
.liso-static-cookie-actions .is-primary:hover,
.liso-static-cookie-actions .is-primary:focus-visible,
.liso-business-programme-action:hover,
.liso-business-programme-action:focus-visible,
.liso-dealer-login-form button:hover,
.liso-dealer-login-form button:focus-visible,
.liso-dealer-home button:hover,
.liso-dealer-home button:focus-visible {
  color: #201a10 !important;
  background: var(--soliso-yellow-hover) !important;
  border-color: var(--soliso-yellow-hover) !important;
}

/* Preserve the transparent hero contact button; use Soliso Yellow after scroll. */
.liso-nav:not(.is-home) .liso-reference-contact-button {
  color: #201a10 !important;
  background: var(--soliso-yellow) !important;
  border-color: var(--soliso-yellow) !important;
}
.liso-nav:not(.is-home) .liso-reference-contact-button:hover,
.liso-nav:not(.is-home) .liso-reference-contact-button:focus-visible {
  color: #201a10 !important;
  background: var(--soliso-yellow-hover) !important;
  border-color: var(--soliso-yellow-hover) !important;
}

.liso-home-production-strands,
.liso-products-hero > .liso-products-hero-strands {
  background-color: transparent;
}

/* Soliso header: keeps the Liso navigation geometry with a durable products menu. */
.liso-nav-products { position: relative; display: inline-flex; align-items: center; }
/* Invisible bridge prevents a hover gap between the trigger and its menu. */
.liso-nav-products::after { position: absolute; z-index: 119; top: 100%; right: -.6rem; left: -.6rem; height: .95rem; content: ""; }
.liso-nav-products-trigger {
  display: inline-flex;
  gap: .34rem;
  align-items: center;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  font: 500 .875rem/1.2 "Inter", sans-serif;
  letter-spacing: 0;
  cursor: pointer;
}
.liso-nav-products-trigger svg { width: .85rem; height: .85rem; flex: 0 0 auto; }
.liso-nav.is-home .liso-nav-products-trigger { color: #fff; text-shadow: 0 1px 12px rgb(0 0 0 / 28%); }
.liso-nav:not(.is-home) .liso-nav-products-trigger { color: #292b23; }
.liso-nav:not(.is-home) .liso-nav-products-trigger:hover,
.liso-nav:not(.is-home) .liso-nav-products-trigger:focus-visible { color: var(--soliso-yellow-dark); }
.liso-nav-products-trigger:focus-visible { outline: 2px solid var(--soliso-yellow); outline-offset: 5px; }
.liso-nav-products-menu {
  position: absolute;
  z-index: 120;
  top: calc(100% + .9rem);
  left: 50%;
  display: grid;
  width: 13.5rem;
  padding: .45rem;
  visibility: hidden;
  background: #fff;
  border: 1px solid rgb(41 43 35 / 12%);
  border-radius: .5rem;
  box-shadow: 0 18px 42px rgb(29 27 22 / 18%);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -.35rem);
  transition: opacity 160ms cubic-bezier(.23, 1, .32, 1), transform 160ms cubic-bezier(.23, 1, .32, 1), visibility 160ms;
}
.liso-nav-products:hover .liso-nav-products-menu,
.liso-nav-products:focus-within .liso-nav-products-menu,
.liso-nav-products.is-open .liso-nav-products-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}
.liso-nav-products-menu a {
  display: flex;
  min-height: 2.55rem;
  align-items: center;
  padding: 0 .78rem;
  color: #292b23 !important;
  border-radius: .35rem;
  font: 500 .875rem/1.2 "Inter", sans-serif;
  text-decoration: none;
  text-shadow: none !important;
}
.liso-nav-products-menu a:hover,
.liso-nav-products-menu a:focus-visible { color: #292b23 !important; background: var(--soliso-yellow-soft); outline: none; }
.liso-nav-products-menu a:focus-visible { box-shadow: inset 0 0 0 2px var(--soliso-yellow); }
.liso-static-mobile-products { display: grid; margin: 0; border-bottom: 1px solid #ded9d0; }
.liso-static-mobile-products summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: 1rem;
  color: #292b23;
  cursor: pointer;
  font: 700 1.35rem/1.12 "DM Sans", sans-serif;
  letter-spacing: -.04em;
  list-style: none;
}
.liso-static-mobile-products summary::-webkit-details-marker { display: none; }
.liso-static-mobile-products summary::after { content: "+"; color: var(--soliso-yellow-dark); font: 400 1.55rem/1 "Inter", sans-serif; }
.liso-static-mobile-products[open] summary::after { content: "−"; }
.liso-static-mobile-products > div { display: grid; gap: .2rem; padding: 0 0 1rem .8rem; }
.liso-static-mobile-products a { padding: .55rem 0 !important; color: #555752 !important; border: 0 !important; font: 500 1rem/1.3 "Inter", sans-serif !important; letter-spacing: 0 !important; }
.liso-static-mobile-products a:hover,
.liso-static-mobile-products a:focus-visible { color: var(--soliso-yellow-dark) !important; }
@media (max-width: 1023px) { .liso-nav-products { display: none; } }

/* Homepage assortment: Soliso product imagery and six clear product groups. */
.liso-home-products-heading { display: block; max-width: 54rem; margin-inline: auto; text-align: center; }
.liso-home-products-heading > a { display: none; }
.liso-home-products-visual { height: clamp(18rem, 34vw, 29rem); }
.liso-home-products-visual img { object-position: center center; }
.liso-home-products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.liso-home-product-card { padding: 0; overflow: hidden; }
.liso-home-product-card-media { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #ebe7df; }
.liso-home-product-card-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 220ms cubic-bezier(.23, 1, .32, 1); }
.liso-home-product-card:hover .liso-home-product-card-media img,
.liso-home-product-card:focus-visible .liso-home-product-card-media img { transform: scale(1.035); }
.liso-home-product-card-copy { display: flex; min-height: 0; flex-direction: column; padding: 1.4rem 1.4rem 1.55rem; }
.liso-home-product-card-copy h3 { font-size: clamp(1.25rem, 1.7vw, 1.55rem); }
.liso-home-product-card-copy b { margin-top: 1.1rem; padding-top: 0; }
.liso-home-business-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.liso-business-faq { padding: 5.5rem 0; }
.liso-business-section-heading { max-width: 44rem; margin: 0 auto 3rem; text-align: center; }
.liso-business-section-heading h2 { margin: 0 0 1rem; color: #292b23; font: 600 clamp(2rem, 3vw, 3rem)/1.08 "DM Sans", sans-serif; letter-spacing: -.05em; }
.liso-business-section-heading p { margin: 0; color: #636159; font: 400 1.05rem/1.7 "Inter", sans-serif; }
.liso-business-faq-list { max-width: 52rem; margin: 0 auto; }
.liso-business-faq-list details { border-bottom: 1px solid oklch(.88 .005 80); }
.liso-business-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; cursor: pointer; color: #302f29; font: 600 1.05rem/1.3 "DM Sans", sans-serif; list-style: none; }
.liso-business-faq-list summary::-webkit-details-marker { display: none; }
.liso-business-faq-list summary::after { flex: none; content: "+"; color: var(--soliso-yellow-deep); font: 400 1.55rem/1 "Inter", sans-serif; }
.liso-business-faq-list details[open] summary::after { content: "−"; }
.liso-business-faq-list p { max-width: 47rem; margin: -.35rem 0 1.35rem; color: #636159; font: 400 .98rem/1.65 "Inter", sans-serif; }
@media (max-width: 767px) {
  .liso-home-products-heading { text-align: left; }
  .liso-home-products-visual { height: 16rem; }
  .liso-home-products-grid { grid-template-columns: 1fr; gap: 1rem; }
  .liso-home-product-card-copy { min-height: 0; padding: 1.3rem; }
}
