/* =========================================================
   LAYOUT CSS – JALOIN THEME
   Rakenne- ja layout-logiikka (ei typografiaa tai block-tyylejä)
   Kaikki custom-tyylit on rajattu wrapperiin .jaloin-site
   ========================================================= */

.jaloin-site {
    /* perustila – ei globaaleja layout-säätöjä tähän */
}

/* =========================================================
   HEADER & NAVIGATION
   ========================================================= */

/* Header kontti - keskitysrakenne */
.jaloin-site .header-navigation-layout-stretch-true .header-navigation {
    max-width: 1000px;
    margin-inline: auto;
}


/* Hover-korjaus valikoissa */
.jaloin-site .header-menu-container a,
.jaloin-site .menu-item-has-children,
.jaloin-site .header-navigation ul li a:not([href]) {
    cursor: pointer;
}

/* Alavalikon viiva yläreunaan */
.jaloin-site #site-navigation .sub-menu {
    margin-top: -2px;
    border-top: 2px solid var(--global-palette1);
}

/* Footer-menu pakotettuna näkyviin */
.jaloin-site #footer-menu {
    display: block;
}


/* =========================================================
   HERO AREA
   ========================================================= */

.jaloin-site .otsikkoalue {
    display: block;
    width: 100vw;
}

.jaloin-site .hero-container .entry-header {
	padding: 1.5rem;
}

.jaloin-site .page-excerpt {
    font-size: 1.15rem;
    line-height: 1.5;
    max-width: 760px;
    margin: 1rem auto 2rem;
    text-align: center;
	color: var(--global-palette9);)
}



/* =========================================================
   PAGINATION
   ========================================================= */

.jaloin-site .pagination .nav-links {
    text-align: center;
}

.jaloin-site .pagination .page-numbers {
    border: 1px solid var(--global-palette4);
    border-radius: 0;
}

.jaloin-site .pagination .page-numbers:hover {
    border-color: var(--global-palette1);
    background: transparent;
    color: var(--global-palette1);
}

.jaloin-site .pagination .current {
    border-color: var(--global-palette4);
    background: var(--global-palette7);
    color: var(--global-palette4);
}


/* =========================================================
   FOOTER
   ========================================================= */


.jaloin-site footer .kb-navigation {
	a {
		padding-left: 0;
	}
}

.jaloin-site .footer-widget-area img {
    max-width: 180px;
}

.jaloin-site .site-footer .site-footer-wrap .footer-social-wrap .social-button {
    margin-inline: 0.4em;
}


/* =========================================================
   JALOIN: Grid helpers (opt-in) 
   Käyttö: lisää Gutenbergin Lisäluokkiin esim. "jaloin-grid-3 gap-md"
   ========================================================= */

.jaloin-site .jaloin-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--global-xl-spacing);
}

.jaloin-site .jaloin-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--global-xl-spacing);
}

.jaloin-site .jaloin-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--global-xl-spacing);
}

.jaloin-site .jaloin-grid-auto {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--global-xl-spacing);
}

/* Keskitysapu esim. hero-sisällölle */
.jaloin-site .jaloin-grid-center {
  display: grid;
  place-items: center;
}

/* Gap-modifierit */
.jaloin-site .gap-sm { gap: var(--global-sm-spacing); }
.jaloin-site .gap-md { gap: var(--global-md-spacing); }
.jaloin-site .gap-lg { gap: var(--global-lg-spacing); }
.jaloin-site .gap-xl { gap: var(--global-xl-spacing); }

/* Media-koot */
@media (max-width: 1024px) {
  .jaloin-site .jaloin-grid-4 { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
  .jaloin-site .jaloin-grid-4,
  .jaloin-site .jaloin-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .jaloin-site .jaloin-grid-2 { grid-template-columns: 1fr; }
}


/* =========================================================
   404 PAGE
   ========================================================= */

.jaloin-site .error404 #secondary {
    display: none;
}

.jaloin-site .error404 .content-container {
    display: block;
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.jaloin-site .sr-only,
.jaloin-site .visuallyhidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}
