/* Kankaanpää – kohdesivusto (Älylatu). Lisäykset design-järjestelmän kaupunki-teeman päälle.
   Vain uusia luokkia; kankaanpaa.css:n sääntöihin ei kosketa. */

/* Klassinen ryhmälohko lisää sisäkääreen: ruudukon solut ovat sen lapsia. */
.kp-ruudukko > .wp-block-group__inner-container,
.kp-kumppanit > .wp-block-group__inner-container { display: contents; }

/* Etusivun avaus: esittely ja ladun tiedot rinnakkain. */
.kp-avaus { align-items: start; gap: var(--kp-space-6); }
.kp-avaus h2 { margin-top: 0; }
.kp-ladun-tiedot {
  padding: var(--kp-space-5);
  background: var(--kp-savy);
  border-radius: var(--kp-radius-md);
  box-shadow: inset 4px 0 0 var(--kp-paa);
}
.kp-ladun-tiedot .kp-tiedot { margin: 0; font-size: 17px; line-height: 26px; }
@media (min-width: 768px) {
  .kp-avaus { grid-template-columns: 3fr 2fr; }
}

/* Kuvarivi: kolme kuvaa samankokoisina. */
.kp-kuvarivi figure { margin: 0; }
.kp-kuvarivi img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }

/* Kumppanien logot. */
.kp-kumppanit { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kp-space-4) var(--kp-space-6); margin: var(--kp-space-4) 0; }
.kp-kumppanit figure { margin: 0; }
.kp-kumppanit img { display: block; width: auto !important; height: 48px; border-radius: 0; }

/* Upotukset (kartta, Strava). */
.kp-sisalto iframe { display: block; width: 100%; max-width: 100%; border: 0; border-radius: var(--kp-radius-md); }

/* Palautelomake. */
.kp-palaute { max-width: 40rem; margin-top: var(--kp-space-4); }
.kp-palaute__ohje { font-size: 15px; }
.kp-palaute__kentta { display: flex; flex-direction: column; gap: var(--kp-space-1); margin: 0 0 var(--kp-space-4); }
.kp-palaute__kentta label { font: 700 17px/24px var(--kp-sans); }
.kp-palaute input,
.kp-palaute textarea {
  width: 100%; min-height: 48px; padding: 10px 14px;
  font: 18px/26px var(--kp-sans); color: var(--kp-musta);
  background: var(--kp-valkoinen);
  border: 1px solid var(--kp-musta); border-radius: var(--kp-radius-sm);
}
.kp-palaute input:focus-visible,
.kp-palaute textarea:focus-visible { outline: 2px solid var(--kp-musta); outline-offset: 2px; }
.kp-palaute [aria-invalid="true"] { border-width: 2px; border-color: var(--kp-ruskea); }
.kp-palaute__virhe { margin: 0; font-weight: 700; color: var(--kp-ruskea); }
.kp-palaute__tila { margin: 0 0 var(--kp-space-4); padding: var(--kp-space-3) var(--kp-space-4); border-radius: var(--kp-radius-md); background: var(--kp-vihrea, #91c848); color: var(--kp-musta); }
.kp-palaute__tila--virhe { background: var(--kp-ruskea-10); box-shadow: inset 4px 0 0 var(--kp-ruskea); }
.kp-palaute__tila p { margin: 0; }
.kp-palaute__piilo { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.kp-palaute button { cursor: pointer; border: 0; }

/* Alatunnisteen tavaramerkkimaininta. */
.kp-footer__ala-sisus span + span { font-size: 14px; }
.kp-avaus + .kp-kuvarivi { margin-top: var(--kp-space-7); }

/* Päävalikkorivi: kaupungin oranssi sävypinta design-järjestelmän oletusvihreän sijaan (valinta 21.10.2026). */
.kp-header__navirivi { background: var(--kp-oranssi-10); }
