/* ==========================================================================
   Main Stylesheet: sivuston layoout-muotoilut pääasiassa
   ========================================================================== */

   /* Reset and base styles */
html,
body {
    margin: 0;
    padding: 0;
    height: 100%;
}
/* sivun taustaväri ja asetuksia */
body {
    background-color: #f1fafe;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ==========================================================================
   Layout
   ========================================================================== */

.container {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

main {
    padding: 0 0 40px 0;
    width: 100%;
    margin: 0;
}
.page .fullwidth-content {
    padding-bottom: 40px;
}
.home .fullwidth-content {
    padding-top: 0;
    padding-bottom: 40px;
}

footer {
    background-color: #2b2b2a;
    padding: 0;
    margin: 0;
    width: 100%;
    flex: 0 0 auto;
}

/* Alatunnisten kolme kolumnia */
.site-footer .footer-main {
    display: flex;
    background-image: url('../img/footer-tausta.webp');
    background-size: cover;
    background-position: center;
    padding: 2em 0;
    height: 150px;
    align-content: center;
    flex-wrap: wrap;
}
.site-footer .footer-columns {
    display: flex;
    gap: 30px;
    align-items: center;
}

.site-footer .footer-column {
    flex: 1 1 0;
    padding: 0 10px;
}

.site-footer .footer-column .widget {
    margin-bottom: 20px;
}

/* Subfooter */
.site-footer .subfooter {
    background-color: #2f3a40;
    border-top: 1px solid #8f3b46;
}

.site-footer .subfooter .subfooter-inner {
    padding: 12px 0;
}
.site-footer .subfooter .subfooter-text {
    margin: 0;
}

/* Alatunnisteen linkit */
.site-footer a {
    font-size: 1.8rem;
    color: #f1fafe;
}
/*Alatunnisteen logo*/
.footer-col-1 img {
    width: 400px;
}
.footer-column.footer-col-2 {
    text-align: center;
}
.footer-column.footer-col-3 {
    text-align: right;
}
/*Alatunnisteen menuvalikko*/
ul#menu-alatunniste {
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
    padding: 0 5% 0 0;
    margin: 0;
}

/* Responsiivisuus */
@media (max-width: 768px) {  
    .site-footer .footer-main {
        flex-direction: column;
        height: auto;
        padding: 2em 0;
    }
    .site-footer .footer-columns {
        flex-direction: column;
        gap: 20px;
    }
    .footer-column.footer-col-3 {
        text-align: center;
    }
}

/* ==========================================================================
   Navigaatio eli menuvalikon muotoilut
   ========================================================================== */

header {
    background-color: #f1fafe;
    width: 100%;
    margin: 0;
    padding: 15px 0;
}

.site-header {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin: 0;
}

.header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 100%;
    width: 30%;
    max-width: 250px;
    margin: 0;
    padding: 0 20px;
}

.site-branding {
    width: auto;
    height: 100%;
    flex: 1;
}

.site-branding h1 {
    margin: 0;
}

.site-branding a {
    color: #113238;
    text-decoration: none;
}

.site-branding a:hover {
    color: #d6b04c;
}

.site-description {
    margin: 0;
    color: #2f3a40;
    font-size: 0.9em;
}

/* Päänavigaatio ylätunnisteessa */
.site-navigation {
    display: flex;
    justify-content: left;
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0 2%;
}

.site-navigation ul {
    list-style: none;
    display: flex;
    gap: 0;
    margin: 0;
    padding: 5px 0 0 0;
    flex-wrap: wrap;
    justify-content: center;
}

.site-navigation li {
    margin: 0;
    padding: 0;
}

.site-navigation a {
    display: block;
    padding: 1rem;
    text-decoration: none;
    transition: all 0.3s ease;
    font-weight: 500;
    border-bottom: 3px solid transparent;
}

.site-navigation a:hover {
    color: #F8972C;
    text-decoration: none;
}

.site-navigation li.current-menu-item > a {
    color: #106232;
    border-bottom-color: #d6b04c;
    border-bottom-width: 3px;
}

/* Dropdown submenu styles */
.site-navigation .menu-item-has-children > a::after {
    content: '▼';
    font-size: 0.7em;
    margin-left: 8px;
    display: inline-block;
    transition: transform 0.3s ease;
}

.site-navigation .menu-item-has-children > a.dropdown-toggle.active::after {
    transform: rotate(180deg);
}

.site-navigation .sub-menu {
    position: absolute;
    z-index: 9999;
    min-width: 120px;
    display: none;
    list-style: none;
    margin: 0;
    padding: 1rem 0.5rem;
    background-color: #5d9d9d;
    flex-direction: column;
    border-radius: 10px;
}

.site-navigation .sub-menu.active {
    display: flex;
}

.site-navigation .sub-menu a {
    padding: 0.3rem 1.7rem;
    border-bottom: none;
    color: #2f3a40;
}

.site-navigation .sub-menu a:hover {
    color: #d6b04c;
    border-left-color: #d6b04c;
}

/* Desktop hover - show submenu on parent hover */
@media (min-width: 769px) {
    .site-navigation .menu-item-has-children:hover > .sub-menu {
        display: flex;
    }

    .site-navigation .menu-item-has-children:hover > a::after {
        transform: rotate(180deg);
    }
}

/* "Hampirilaisvalikon muotoilu" */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 50px;
    height: 50px;
    position: relative;
    z-index: 1001;
}

.hamburger {
    display: block;
    width: 25px;
    height: 20px;
    position: relative;
}

.hamburger span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #8f3b46;
    margin-bottom: 4px;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.hamburger span:last-child {
    margin-bottom: 0;
}

.menu-toggle.active .hamburger span:nth-child(1) {
    transform: translateY(11px) rotate(45deg);
}

.menu-toggle.active .hamburger span:nth-child(2) {
    opacity: 0;
}

.menu-toggle.active .hamburger span:nth-child(3) {
    transform: translateY(-11px) rotate(-45deg);
}

/* Mobiilivalikon asetukset */
@media (max-width: 768px) {
    .header-wrapper {
        width: 50%;
        justify-content: space-between;
    }

    .menu-toggle {
        display: block;
        position: absolute;
        right: 0;
    }
    /*Poistetaan taustaväri, joka periytyy Elementorin asetuksista painikkeisiin */
    button.menu-toggle {
    background: none!important;
    box-shadow: none !important;
}
    .site-branding {
        flex: 1;
    }

    .site-branding h1 {
        font-size: 1.5em;
    }

    .site-description {
        font-size: 0.8em;
    }

    .site-navigation {
        position: fixed;
        top: 0;
        right: -65%;
        width: 60%;
        height: 100vh;
        background-color: #c0c6a5eb;
        border-left: 3px ridge #30723d;
        box-shadow: -2px 0 8px #00000026;
        z-index: 1000;
        transition: right 0.3s ease;
        flex-direction: column;
        justify-content: flex-start;
        padding-top: 20px;
        overflow-y: auto;
        max-width: none;
        margin: 0;
    }

    .site-navigation.active {
        right: 0;
    }

    .site-navigation ul {
        flex-direction: column;
        width: 100%;
        gap: 0;
    }

    .site-navigation li {
        width: 100%;
    }

    .site-navigation a {
        padding: 15px 20px;
        border-bottom: 1px solid #eee;
        border-right: 4px solid transparent;
    }

    /* Mobile dropdown styles */
    .site-navigation .menu-item-has-children > a::after {
        content: '▼';
        font-size: 0.7em;
        margin-left: 8px;
        display: inline-block;
        transition: transform 0.3s ease;
    }

    .site-navigation .menu-item-has-children > a.dropdown-toggle.active::after {
        transform: rotate(180deg);
    }

    .site-navigation .sub-menu {
        display: none;
        list-style: none;
        margin: 0;
        padding: 5% 0;
        background-color: #f7f1df;
        flex-direction: column;
        width: 100%;
    }

    .site-navigation .sub-menu.active {
        display: flex;
    }

    .site-navigation a {
        color: #106232;
    }
    .site-navigation .sub-menu a {
        padding: 0 5%;
        color: #106232;
        font-size: 2rem;
    }

    nav ul {
        flex-direction: column;
        gap: 0;
    }

    nav a {
        display: block;
        padding: 12px;
        border-left: 3px solid transparent;
    }
    
}

/* ==========================================================================
   Sisältöalueen muotoilut
   ========================================================================== */

.post-meta {
    color: #666;
    font-size: 0.9em;
    font-style: italic;
    margin-bottom: 10px;
}

.post-content {
    padding: 0 3%;
}


/* ==========================================================================
   Responsiivisuus
   ========================================================================== */

@media (max-width: 1024px) {
    .site-navigation ul {
        gap: 10px;
    }

    .site-navigation a {
        padding: 12px 15px;
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 1.8em;
    }

    h2 {
        font-size: 1.5em;
    }
}

/* 
==========================================================================
Yksittäisen artikkelin muotoilut
========================================================================== 
*/

/* Post layout: content 75%, sidebar 25% */
    .post-layout {
        display: flex;
        gap: 0;
        width: 100%;
        justify-content: space-between;
    }

    .single-post .post-content-wrapper {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
    }

    .post-sidebar-wrapper {
        flex: 0 0 25%;
        padding: 40px 20px;
        background-color: #f9f9f9;
    }
.single .entry-header {
    padding: 0 3%;
}
/* Post navigation section */
    .post-navigation-section {
        padding: 40px 20px;
        border-top: 1px solid #eee;
        background-color: #f0f0f0;
    }

    .custom-post-navigation {
        display: flex;
        justify-content: space-between;
        gap: 20%;
        max-width: 100%;
        margin: 0 auto;
    }

    .nav-post {
        flex: 1;
        background: #fff;
        border-radius: 8px;
        overflow: hidden;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .nav-post:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    }

    .nav-link {
        display: flex;
        text-decoration: none;
        color: inherit;
        height: 100%;
    }

    .nav-thumbnail {
        width: 120px;
        background-size: cover;
        background-position: center;
        flex-shrink: 0;
    }

    .nav-content {
        padding: 20px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .nav-direction {
        font-size: 14px;
        color: #666;
        margin-bottom: 8px;
        font-weight: 500;
    }

    .nav-title {
        font-size: 18px;
        margin: 0;
        line-height: 1.3;
        color: #333;
    }

    .nav-title:hover {
        color: #3b4890;
    }

/* Mobile: hide sidebar and stack layout */
    @media (max-width: 768px) {
        .post-layout {
            flex-direction: column;
        }

        .post-content-wrapper {
            flex: 1;
            padding: 20px 15px;
        }

        .post-sidebar-wrapper {
            display: none;
        }

        .post-navigation-section {
            padding: 20px 15px;
        }

        .custom-post-navigation {
            flex-direction: column;
            gap: 15px;
        }

        .nav-post {
            width: 100%;
        }

        .nav-link {
            flex-direction: column;
        }

        .nav-thumbnail {
            width: 100%;
            height: 150px;
        }

        .nav-content {
            padding: 15px;
            text-align: center;
        }
    }

    /* PAINIKKEET OLETUSMUOTOILUT */
    .elementor-button, .button {
    display: flex!important;
    min-width: 180px;
    border-radius: 2.5rem!important;
    height: 5rem;
    justify-content: center;
    align-items: center;
    background-color: #3b4890!important;
}

/* Yksittäisen sivun oletuskuva subheaderin taustalla ja lohkon muotoilut */
.page .subheader {
    display: flex;
    height: 600px;
    align-items: center;
    background-color: #000;
    background-size: cover;
    background-position: left top;
}
.page-template-page-matala-subheader .subheader {
    height: 500px;
}

/*sivupalkin asetteluja*/
form.wp-block-search__button-outside.wp-block-search__text-button.wp-block-search {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
}
.wp-block-search__inside-wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: center;
    flex-wrap: wrap;
}
button.wp-block-search__button.wp-element-button {
    font-family: "Alegreya Sans", sans-serif;
    height: 30px;
    width: 60px;
    border-radius: 0 15px 15px 0;
    background-color: #3b4890;
    color: #f1fafe;
}

/* =========================================================================
    Sivun subheaderin sliderin muotoilut (Etusivu-slider)
    ========================================================================== */

.subheader-slider,
.custom-slider-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slider * {
  box-sizing: border-box;
}

/* Slider-kontti */
.slider {
  position: relative;
  width: 100%;
  height: 800px;
  overflow: hidden;
  display: block;
  z-index: 1;
}

/* Jokainen slide täyttää sliderin */
.slide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease;
  pointer-events: none;
}

.slide.active {
  opacity: 1;
  z-index: 2;
  pointer-events: auto;
}

/* Taustakuvat */
.image1,
.image2 {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Ensimmäinen kuva näkyy heti */
.image1 {
  opacity: 1;
}



/* Toinen kuva fadeaa päälle */
.image2 {
  opacity: 0;
  animation: fadeIn 2s ease forwards 2s;
}



@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Tekstialue */

.text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  opacity: 0;
  transform: translateY(20px);
  animation: textFade 1s ease forwards;
  animation-delay: 5s;
}

@keyframes textFade {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.elementor-kit-35 p:last-child {
    margin-bottom: 0;
}
p {
    margin-block-end: 0!important;
}

/* =========================================================================
    Sivun subheaderin sliderin muotoilut (koulu-slider)
    ========================================================================== */

.slider-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
.koulu-slider-text {
    flex-direction: row;
    justify-content: center;
    text-align: left;
}
.text-left {  
    display: block;
    position: absolute;
    bottom: 40px;
    padding-left: 3%;
}

.koulu-slider-text .text-block{
    padding-right: 2%;
}
/* --- Kuva: reveal-animaatio --- */

.image-block img {
  width: 200px;
  height: auto;
  opacity: 0;
  transform: translateY(20px) scale(0.95);
  filter: blur(6px);
  animation: reveal 0.8s ease-out forwards;
}

@keyframes reveal {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* --- Tekstit: fade sisään 1s viiveellä --- */

.text-block h2 {
  opacity: 0;
  animation: fadeIn 0.8s ease-out forwards;
  animation-delay: 1s; /* ilmestyy kuvan jälkeen */
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Jos haluat eri viiveet kahdelle tekstille */
.text-block h2:nth-child(1) { animation-delay: 1s; }
.text-block h2:nth-child(2) { animation-delay: 1.3s; }

/* NUOLI-INDIKAATTORI */
/* Nuoli sliderin päälle */
.scroll-indicator {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
}

/* Nuolen ulkoasu */
.scroll-indicator .arrow {
  display: block;
  width: 24px;
  height: 24px;
  border-bottom: 4px solid white;
  border-right: 4px solid white;
  transform: rotate(45deg);
  animation: bounce 1.8s infinite ease-in-out;
  opacity: 0.8;
}

/* Animaatio */
@keyframes bounce {
  0%   { transform: translateY(0) rotate(45deg); }
  50%  { transform: translateY(10px) rotate(45deg); }
  100% { transform: translateY(0) rotate(45deg); }
}

/*Elementorin lightboxin header-osan painikkeiden muotoileminen ja asemointi jeader-osaan*/
.elementor-lightbox {
    --lightbox-ui-color: #0c0d0e!important;
    --lightbox-ui-color-hover: #0c0d0e!important;
    --lightbox-text-color: var(--lightbox-ui-color)!important;
    --lightbox-header-icons-size: 30px!important;
    --lightbox-navigation-icons-size: 35px!important;
}
.elementor-slideshow__header {
    flex-direction: row!important;
    padding-inline-start: 1em!important;
}
.slider-background-grey {
    background-color: #29292e;
}

/* =========================================================================
    Yksittäisen artikkelin subheaderin sliderin muotoilut (esim. alikulkutunneli-slider)
    ========================================================================== */

.single .slider {
    height: 550px;
}

body.single-post {
    background-color: #d8e2d9;
}
/* =========================================================================
    Yhteistyökumppanit-sivulle lisättäviä toimintoja elementtien muotoilut
    ========================================================================== */

.popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.popup-content {
    display: flex;
    flex-direction: column;
    background: white;
    padding: 2rem;
    width: 50%;
    min-width: 360px;
    border-radius: 8px;
    text-align: center;
    align-content: center;
    flex-wrap: wrap;
}
.popup-content img {
    height: auto;
    width: 60%;
    margin: auto;
}
.partnerit-listaus {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.partnerit-listaus li {
    font-family: "Almendra", serif;
    cursor: pointer;
    padding: 0.3rem 0;
}

/*========================================================================
    Taksonomiasivujen muotoilut: category.php ja tag.php templatet
    ========================================================================== */

header.taxonomy-header {
    display: flex;
    width: 100%;
    height: 600px;
    align-items: center;
    text-align: center;
    background-image: url('../img/subheader-defaultimg.webp');
    background-size: cover;
    background-position: 67% 50%;
    justify-content: center;
}
.archive .taxonomy-description {
    display: block;
    padding: 10px 3% 10px 3%;
    background-color: #c0c6a5;
    border-radius: 0 0 100px 100px;
}
.archive .taxonomy-content, .blog .taxonomy-content {
    width: 100%;
}
.archive-posts {
    padding-top: 1rem;
}
.archive .article-card, .blog .article-card {
    display: flex;
    height: 300px;
    margin: 40px 4%;
    border: 2px solid #81674f;
    background-color: #d8e2d9;
    border-radius: 15px;
}
.archive header.entry-header, .blog header.entry-header {
    display: flex;
    width: 40%;
    height: 100%;
    max-width: 700px;
    padding: 0;
    flex-direction: column;
    justify-content: center;
    background-color: #00000000;
}
.archive header.entry-header .post-thumbnail, .blog header.entry-header .post-thumbnail {
    height: 100%;
    padding: 0;
    background-size: cover;
    background-position: 50% 50%;
    border-radius: 13px 0 0 13px;
}
.archive .article-card .post-content, .blog .article-card .post-content {
    width: 60%;
    padding: 3%;
}
/*Artikkelien sivulla header on asetettu ennen sisällön ympäröivää art-row-lohkoa, joten flex ja sisältö ja sivupalkki vierekkäin sivulle*/
.blog .art-row, .archive .art-row {
    display: flex;
    flex-direction: row;
    gap: 0;
}
.blog main.col-main, .archive main.col-main {
    flex: 0 0 73%;
}
.blog aside.col-sidebar, .archive aside.col-sidebar {
    flex: 0 0 24%;
    padding-top: 4rem;
}

@media (max-width: 768px) {
    .blog .art-row, .archive .art-row {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.blog main.col-main, .blog aside.col-sidebar, .archive main.col-main, .archive aside.col-sidebar {
    flex: 0 0 100%;
}
.blog aside.col-sidebar, .archive aside.col-sidebar {
    padding: 0 3% 0 3%;
}
}
@media (max-width: 768px) {
    .archive .taxonomy-description {
        padding: 10px 8% 10px 8%;
        border-radius: 0 0 40px 40px;
    }
    .archive .article-card .post-content, .blog .article-card .post-content {
    width: 94%;
    }
    .archive .article-card, .blog .article-card {
        flex-direction: column;
        height: auto;
    }
    .archive header.entry-header .post-thumbnail, .blog header.entry-header .post-thumbnail {
        border-radius: 13px 13px 0 0;
    }
    .archive header.entry-header, .blog header.entry-header {
        width: 100%;
        height: 300px;
        margin-bottom: 10px;
    }
    .article-card .post-content {
    width: 92%;
    padding: 4%;
    }
    .slider {
        height: 500px;
    }
    .gallery .gallery-item {
    width: 50%!important;
    }
}
/*Navigointi artikkelien sivulla sekä taksonomiasivuilla*/

.nav-links {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background-color: #d8e2d9;
    width: 86%;
    margin: auto;
    padding: 2rem;
    border: 2px ridge #81674f;
    border-radius: 2rem;
}
a.next.page-numbers {
    display: block;
    padding: 0.3rem 1.5rem 0.3rem 1rem;
    background-color: #30723d;
    border: 1px solid #765325;
    border-radius: 1rem 3rem 3rem 1rem;
    color: #d8e2d9;
}
a.prev.page-numbers {
    display: block;
    padding: 0.3rem 1rem 0.3rem 1.5rem;
    background-color: #30723d;
    border: 1px solid #765325;
    border-radius: 3rem 1rem 1rem 3rem;
    color: #d8e2d9;
}
a.page-numbers {
    color: #30723d;
    font-size: 2rem;
    font-weight: 400;
    margin-left: 0.2rem;
    margin-right: 0.2rem;
}
span.page-numbers.current {
    display: block;
    padding: 0.3rem 0.1rem;
    color: #30723d;
    font-size: 2.1rem;
    font-weight: 600;
}
/* Kohdistetaan gallerian kuviin */
.gallery .gallery-item img {
    /* Pakotetaan kuva tiettyyn kuvasuhteeseen, esim. 1:1 eli neliö */
    aspect-ratio: 1 / 1;
    
    /* Määritetään leveys 100 prosenttiin kääreestään */
    width: 100%;
    height: auto;
    
    /* Taikasana: täyttää alueen ja rajaa ylimääräiset pois vääristämättä kuvaa */
    object-fit: cover;
    
    /* Valinnainen: jos haluat keskittää rajauksen */
    object-position: center;
}
.gallery .gallery-item img:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}
.gallery .gallery-icon { overflow: hidden; } /* Pitää zoomauksen raamien sisällä */

/* Poistetaan mahdolliset kiinteät marginaalit tai korkeudet, jotka voivat sotkea */
.gallery .gallery-item {
    margin-bottom: 20px;
}

/* =========================================================================
    Elementorin lightboxin muotoilut
    ========================================================================== */
    header.elementor-slideshow__header.elementor-lightbox-prevent-close {
    background-color: #000000ab;
}
svg.e-font-icon-svg {
    fill: #d6bdbd !important;
}
.elementor-icon-list-icon svg.e-font-icon-svg {
    fill: #30723d !important;
}

/*Elementor tietosuojaselostelaatikot*/
.elementor-widget-n-accordion .e-n-accordion-item-title {
    background-color: #c0c6a5;
}
/* =========================================================================
    Yhteydenottolomakkeen muotoilut
    ========================================================================== */
.wpcf7-form .wpcf7-form-control {
    border: 2px solid #30723d; 
    border-radius: 8px;
    padding: 10px; 
    font-size: 2.4rem;
    width: 80%;
    margin: 10pxauto;
    box-sizing: border-box;
}
.wpcf7-form-control.wpcf7-checkbox.rules {
    border: none;
}
.wpcf7-form .wpcf7-submit {
    background-color: #30723d;
    color: #d8e2d9;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 2.4rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.wpcf7-form .wpcf7-submit:hover {
    background-color: #2b2b2a;
}
.wpcf7-form .wpcf7-response-output.wpcf7-validation-errors {
    color: #d9534f; /* Punainen virheviesteille */
}
.wpcf7-form .wpcf7-response-output.wpcf7-mail-sent-ok {
    color: #5cb85c; /* Vihreä onnistumisviesteille */
}
/* Vastausviestit */
.wpcf7-form .wpcf7-response-output {
    padding: 5rem 10rem!important;
    position: absolute;
    z-index: 9999;
    bottom: 25%;
    left: 50%;
    width: 50%;
    transform: translatex(-70%);
    font-size: 2.4rem;
    background-color: #5cb85c;
    border-radius: 3rem;
    border: 2px solid #2b2b2a!important;
}

/* =========================================================================
    Privacy policy -sivun muotoilut
    ========================================================================== */

.privacy-policy .subheader {
    display: none;
}

/* =========================================================================
    Metatietojen lohkon muotoilut yksittäinen artikkeli-sivulla
    ========================================================================== */
.single-post .entry-header {
    display: block;
    position: relative;
    padding: 1rem 3%;
    top: 0;
    background-color: #c0c6a5;
}

/* =========================================================================
    404-sivun muotoilut (Paljon muotoiluja on myös teematiedostossa 404.php, 
    mutta tässä vielä muutama)
    ========================================================================== */

.error404 .searchform {
    margin-left: 20px;
}