/* Soliso Verkooppunten — direct Liso VPS locations layout.
 * Orange-only accents are translated to Soliso Yellow. */
.liso-original-locations-shell { width: min(100% - 2rem, 1280px); margin: 0 auto; }
.liso-original-locations-hero,
.liso-original-locations-content,
.liso-original-locations-cta { font-family: "Inter", sans-serif; }

.liso-original-locations-hero { padding: 7rem 0 4rem; background: var(--soliso-yellow-wash); }
.liso-original-locations-eyebrow { display: inline-block; margin-bottom: 1rem; color: var(--soliso-yellow-deep); font-family: "Inter", sans-serif; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.liso-original-locations-hero h1 { margin: 0 0 1rem; color: #292b23; font-family: "DM Sans", sans-serif; font-size: 2.25rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.25; }
.liso-original-locations-hero p { max-width: 672px; margin: 0; color: #78808b; font-size: 1.125rem; line-height: 1.75; }
.liso-original-locations-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem; max-width: 448px; margin-top: 2rem; }
.liso-original-locations-search > label { display: flex; min-height: 48px; align-items: center; gap: .75rem; padding: 0 1rem; color: #929892; background: #fff; border: 1px solid #e1e3df; border-radius: .5rem; font-size: .875rem; }
.liso-original-locations-search > label:focus-within { border-color: var(--soliso-yellow-deep); box-shadow: 0 0 0 3px rgb(255 198 41 / 22%); }
.liso-original-locations-search input { width: 100%; min-width: 0; color: #292b23; background: transparent; border: 0; font: inherit; outline: 0; }
.liso-original-locations-search input::placeholder { color: #929892; opacity: 1; }
.liso-original-locations-search button { min-height: 48px; padding: 0 1rem; color: #292b23; background: var(--soliso-yellow); border: 0; border-radius: .5rem; font-family: "Inter", sans-serif; font-size: .875rem; font-weight: 600; cursor: pointer; transition: background-color .18s cubic-bezier(.23, 1, .32, 1), transform .16s cubic-bezier(.23, 1, .32, 1); }
.liso-original-locations-search button:hover,
.liso-original-locations-search button:focus-visible { background: var(--soliso-yellow-deep); }
.liso-original-locations-search button:active { transform: scale(.97); }

.liso-original-locations-content { padding: 3rem 0; background: #fff; }
.liso-original-locations-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.liso-original-locations-tabs button { min-height: 36px; padding: 0 1rem; color: #7e8480; background: #f3f3f1; border: 0; border-radius: .5rem; font: 500 .875rem/1 "Inter", sans-serif; }
.liso-original-locations-tabs button[aria-pressed="true"] { color: #292b23; background: var(--soliso-yellow); }
.liso-original-locations-info { display: flex; gap: .75rem; align-items: flex-start; padding: 1rem; margin-bottom: 1.5rem; color: rgb(44 93 145 / 80%); background: rgb(240 247 255 / 70%); border: 1px solid #d9eafd; border-radius: .75rem; }
.liso-original-locations-info > svg { flex: 0 0 auto; margin-top: .08rem; color: #4f86d5; }
.liso-original-locations-info strong { display: block; margin-bottom: .25rem; color: #315a85; font-size: .875rem; font-weight: 500; }
.liso-original-locations-info p { margin: 0; color: rgb(44 93 145 / 80%); font-size: .875rem; line-height: 1.5; }
.liso-original-locations-info a { color: var(--soliso-yellow-deep); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.liso-original-search-status { min-height: 1.25rem; margin: 0 0 1rem; color: #737a75; font: 400 .875rem/1.25rem "Inter", sans-serif; }
.liso-original-locations-grid { display: grid; gap: 2rem; }
.liso-original-map { min-height: 500px; overflow: hidden; background: #f0f1ed; border: 1px solid #deded9; border-radius: 1rem; }
.liso-original-map iframe { display: block; width: 100%; min-width: 100%; height: 500px; min-height: 500px; border: 0; }
.liso-original-dealer-list { display: grid; gap: .75rem; align-content: start; max-height: 500px; overflow-y: auto; padding-right: .25rem; }
.liso-original-dealer-card { display: grid; gap: 1rem; padding: 1rem; background: #fff; border: 1px solid #deded9; border-radius: .75rem; transition: border-color .2s cubic-bezier(.4, 0, .2, 1), background-color .2s cubic-bezier(.4, 0, .2, 1); }
.liso-original-dealer-card.is-showroom { background: #fff; border-color: #deded9; }
.liso-original-dealer-card:hover,
.liso-original-dealer-card:focus-within { background: var(--soliso-yellow-wash); border-color: rgb(255 198 41 / 48%); }
.liso-original-dealer-card-row { display: flex; gap: .75rem; align-items: flex-start; }
.liso-original-dealer-card-content { flex: 1 1 auto; min-width: 0; }
.liso-original-dealer-card h2 { margin: 0 0 .125rem; color: #292b23; font-family: "Inter", sans-serif; font-size: .875rem; font-weight: 600; line-height: 1.25rem; }
.liso-original-dealer-card p { margin: 0; color: #737a75; font-family: "Inter", sans-serif; font-size: .875rem; line-height: 1.25rem; }
.liso-original-dealer-card .liso-original-dealer-meta { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; color: #808480; font-family: "Inter", sans-serif; font-size: .75rem; line-height: 1.25rem; }
.liso-original-dealer-card .liso-original-dealer-meta span { display: inline-flex; gap: .32rem; align-items: center; }
.liso-original-dealer-card .liso-original-dealer-meta .liso-original-dealer-website a { display: inline-flex; gap: .2rem; align-items: center; margin: 0; color: #737a75; font-size: inherit; font-weight: 400; line-height: inherit; text-decoration: none; white-space: nowrap; }
.liso-original-dealer-card .liso-original-dealer-meta .liso-original-dealer-website a:hover,
.liso-original-dealer-card .liso-original-dealer-meta .liso-original-dealer-website a:focus-visible { color: var(--soliso-yellow-deep); }
.liso-original-dealer-card .liso-original-dealer-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .5rem; margin-bottom: 0; }
.liso-original-dealer-card .liso-original-dealer-badges span { display: inline-block; padding: .125rem .5rem; border-radius: 999px; font-family: "Inter", sans-serif; font-size: .625rem; font-weight: 700; letter-spacing: .05em; line-height: 1.25; text-transform: uppercase; }
.liso-original-dealer-card .liso-original-dealer-badges .is-store { color: #746009; background: var(--soliso-yellow-wash); }
.liso-original-dealer-card > .liso-original-dealer-card-row > .liso-original-dealer-card-content > a { display: inline-flex; gap: .5rem; align-items: center; margin-top: .75rem; color: var(--soliso-yellow-deep); font-family: "Inter", sans-serif; font-size: .875rem; font-weight: 600; text-decoration: none; }
.liso-original-dealer-card > .liso-original-dealer-card-row > .liso-original-dealer-card-content > a:hover,
.liso-original-dealer-card > .liso-original-dealer-card-row > .liso-original-dealer-card-content > a:focus-visible { color: #292b23; }
.liso-original-search-empty { padding: 1rem; color: #292b23; background: var(--soliso-yellow-wash); border: 1px solid rgb(255 198 41 / 18%); border-radius: .75rem; font-family: "Inter", sans-serif; }
.liso-original-search-empty strong { display: block; margin-bottom: .25rem; font-size: .875rem; line-height: 1.25rem; }
.liso-original-search-empty p { margin: 0; color: #737a75; font-size: .875rem; line-height: 1.5rem; }
.liso-original-search-empty button { padding: 0; margin-top: .75rem; color: var(--soliso-yellow-deep); background: transparent; border: 0; font: 600 .875rem/1.25rem "Inter", sans-serif; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }

.liso-original-locations-cta { padding: 4rem 0; background: var(--soliso-yellow-wash); }
.liso-original-locations-cta > div { display: grid; place-items: center; }
.liso-original-locations-cta > div > div { width: min(100%, 768px); padding: 2.5rem; text-align: center; background: #fff; border: 1px solid #e4e3df; border-radius: 1rem; box-shadow: none; }
.liso-original-locations-cta h2 { margin: 0 0 1rem; color: #292b23; font-family: "DM Sans", sans-serif; font-size: 1.5rem; font-weight: 700; letter-spacing: -.025em; line-height: 1.875rem; }
.liso-original-locations-cta p { max-width: 32rem; margin: 0 auto 2rem; color: #808285; font-size: 1rem; line-height: 1.625; }
.liso-original-locations-cta div div div { display: flex; flex-direction: column; gap: 1rem; justify-content: center; }
.liso-original-locations-cta a { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .5rem; padding: 0 1.5rem; color: #292b23; background: #fff; border: 1px solid #bfc1bb; border-radius: .5rem; font-family: "Inter", sans-serif; font-size: .875rem; font-weight: 600; text-decoration: none; transition: background-color .18s cubic-bezier(.23, 1, .32, 1), border-color .18s cubic-bezier(.23, 1, .32, 1), transform .16s cubic-bezier(.23, 1, .32, 1); }
.liso-original-locations-cta a:first-child { background: var(--soliso-yellow); border-color: var(--soliso-yellow); }
.liso-original-locations-cta a:hover,
.liso-original-locations-cta a:focus-visible { background: var(--soliso-yellow-deep); border-color: var(--soliso-yellow-deep); }
.liso-original-locations-cta a:active { transform: scale(.97); }
.liso-original-locations-cta a:last-child:hover,
.liso-original-locations-cta a:last-child:focus-visible { background: #f3f3f1; border-color: #bfc1bb; }

@media (min-width: 768px) {
  .liso-original-locations-shell { width: min(100% - 4rem, 1280px); }
  .liso-original-locations-hero h1 { font-size: 3rem; line-height: 1; }
  .liso-original-locations-cta > div > div { padding: 3.5rem; }
  .liso-original-locations-cta h2 { font-size: 1.875rem; line-height: 2.25rem; }
}
@media (min-width: 640px) {
  .liso-original-locations-cta div div div { flex-direction: row; }
}
@media (min-width: 1024px) {
  .liso-original-locations-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .liso-original-locations-grid > :first-child { grid-column: span 2 / span 2; }
}
@media (min-width: 1536px) {
  .liso-original-locations-shell { width: min(calc(100% - 4rem), 96rem); }
}
@media (max-width: 767px) {
  .liso-original-locations-hero { padding: 7rem 0 4rem; }
  .liso-original-locations-search { max-width: 100%; }
  .liso-original-locations-search button { padding: 0 .85rem; }
  .liso-original-locations-content { padding: 2rem 0 3rem; }
  .liso-original-map,
  .liso-original-map iframe { min-height: 350px !important; height: 350px !important; }
}
