/*
Theme Name: Tim
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 5.7
Version: 1.114
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tim
Tags: 
*/

input[type="date"] {
    appearance: none;         /* Remove default styling */
    -webkit-appearance: none; /* Safari-specific reset */
    background-color: white;
    font-size: var(--wp--preset--font-size--fluid-18) !important;
    padding: 14px 10px;
    border: 1px solid #D5D5D5;
    width: 100%;
    height: 50px;
    color: var(--wp--preset--color--blue) !important;
}

/* Optional: remove inner icon padding */
input[type="date"]::-webkit-datetime-edit {
    color: #333;
}

/* Optional: remove calendar icon */
input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0;
    display: none;
}

.wpcf7 select {
    background-color: white !important;
}

html {
    /* Adjust font size */
    font-size: 100%;
    -webkit-text-size-adjust: 100%;
    /* Font varient */
    font-variant-ligatures: none;
    -webkit-font-variant-ligatures: none;
    /* Smoothing */
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -webkit-font-smoothing: antialiased;
    text-shadow: rgba(0, 0, 0, .01) 0 0 1px;
}

summary::marker {
    display: none;
}

:where(.wp-site-blocks) > * {
    margin-block-start: 0px;
    margin-block-end: 0;
}

summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 18px;
    font-weight: 700;
}

summary::after {
    content: "+";
    padding: 11px 4px 14px 4px;
    border-radius: 40px;
    margin-left: 10px;
    font-size: 25px;
    color: #06192B;
    line-height: 0;
    font-weight: 400;
    box-shadow: 0px 1px 4px 0px #0000001A;
}

details[open] summary::after {
    content: "-";
    padding: 11px 6px 14px 7px;
    border-radius: 40px;
    margin-left: 10px;
    font-size: 25px;
    color: #06192B;
    line-height: 0;
    font-weight: 400;
    box-shadow: 0px 1px 4px 0px #0000001A;
}

.entry-content p {
    margin-top: 20px;
}

.page-numbers {
    font-size: 24px;
    width: 56px;
    height: 56px;
    background-color: #2D3355;
    color: white;
    background-color: white;
    color: #2D3355;
    border:1px solid #2D335533;
    display: inline-flex;
    align-items: center;
    border-radius: 28px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.page-numbers.current {
    background-color: #2D3355;
    color: white;
    border:1px solid #2D3355;
}

.wp-block-query-pagination-next {
    font-size: 18px;
    color: #2D3355;
    font-weight: 600;
    margin-left: 35px !important;
    display: inline-flex;
}

.wp-block-query-pagination-previous {
    font-size: 18px;
    color: #2D3355;
    font-weight: 600;
    margin-right: 35px !important;
    display: inline-flex;
}

.usluge-gastro {
    pointer-events: none !important;

}

.usluge-gastro .esab__headings {
    pointer-events: visible !important;

}

.wp-block-esab-accordion.usluge-gastro  .esab__disabled {
    cursor: not-allowed;
    opacity: 1 !important;
    pointer-events: none;
}

.usluge-gastro .esab__icon {
    display: none !important;
}


.usluge-ginekologija {
    pointer-events: none !important;

}

.usluge-ginekologija .esab__headings {
    pointer-events: visible !important;

}

.wp-block-esab-accordion.usluge-ginekologija  .esab__disabled {
    cursor: not-allowed;
    opacity: 1 !important;
    pointer-events: none;
}

.usluge-ginekologija .esab__icon {
    display: none !important;
}

details p {
    font-size: 16px;
    font-weight: 400;
}

@media (min-width: 821px) and (max-width: 1024px) {

    .wp-block-media-text.stack-on-tablet-landscape {
        grid-template-columns: 100% !important; 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__content,
    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media {
        grid-column: 1; 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__content:first-child,
    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media:first-child {
        grid-row: 1; 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__content:last-child,
    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media:last-child {
        grid-row: 2; 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media {
        background-image: none !important;
        height: 100%;
        margin-left: calc(-1 * var(--wp--custom--gap--horizontal) / 2);
        margin-right: calc(-1 * var(--wp--custom--gap--horizontal) / 2);
        overflow: hidden; 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media img {
        height: auto !important;
        margin: 0 !important;
        position: static !important;
        width: 100% !important; 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media:first-child {
        margin-top: calc(-1 * var(--wp--custom--gap--horizontal) / 2); 
    }

    .wp-block-media-text.stack-on-tablet-landscape .wp-block-media-text__media:last-child {
        margin-bottom: calc(-1 * var(--wp--custom--gap--horizontal) / 2); 
    } 

}

@media (min-width: 768px) and (max-width: 1024px) {

    .wp-block-post-template .has-post-thumbnail .stack-on-tablet-portrait > .wp-block-column:first-child,
    .wp-block-query-loop .has-post-thumbnail .stack-on-tablet-portrait > .wp-block-column:first-child {
        flex-basis: 50%;
    }

    .wp-block-post-template .has-post-thumbnail .stack-on-tablet-portrait > .wp-block-column + .wp-block-column,
    .wp-block-query-loop .has-post-thumbnail .stack-on-tablet-portrait > .wp-block-column + .wp-block-column {
        flex-basis: 60%;
    }

}

@media (min-width: 768px) and (max-width: 1024px) {

    .tablet-60 {
        flex-basis: 60% !important;
    }

}


@media (min-width: 601px) and (max-width: 1024px) and (hover: none) {

    .wp-block-columns.stack-on-tablet-landscape:not(.is-not-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }

    .wp-block-columns.stack-on-tablet-landscape:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
    }

}

@media (min-width: 601px) and (max-width: 820px) and (hover: none) {

    .wp-block-columns.stack-on-tablet-portrait:not(.is-not-stacked-on-mobile) {
        flex-wrap: wrap !important; 
    }

    .wp-block-columns.stack-on-tablet-portrait:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important; 
    }

}

@media (max-width: 767px) {
    .hide-on-mobile {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1025px) {
    .hide-on-tablet {
        display: none !important;
    }
}

@media (min-width: 1025px) {
    .hide-on-desktop {
        display: none !important;
    }
}

.wpcf7 input.wpcf7-text {
    font-size: var(--wp--preset--font-size--fluid-18) !important;
    padding: 18px;
    border-bottom: 1px solid #D5D5D5;
    width: 100%;
    color: var(--wp--preset--color--blue) !important;
    margin-top: 10px;
    box-sizing: border-box;
}

.wpcf7 textarea {
    font-size: var(--wp--preset--font-size--fluid-18) !important;
    padding: 18px;
    border: 1px solid #D5D5D5;
    width: 100%;
    color: var(--wp--preset--color--blue) !important;
    margin-top: 10px;
    box-sizing: border-box;
}

.wpcf7 input.wpcf7-submit {
    transition: var(--wp--custom--transition);
    font-size: var(--wp--preset--font-size--fluid-18) !important;
    background-color: #ED5E2A;
    border: 1px solid #ED5E2A;
    color: #FFFFFF;
    padding: 18px 25px;
    border-radius: 50px;
    font-weight: 400;
    float: right;
}

.wpcf7 input.wpcf7-submit:hover {
    transition: var(--wp--custom--transition);
    background-color: #FFF;
    border: 1px solid #ED5E2A;
    color: #ED5E2A;
}

.wpcf7 label {
    color: var(--wp--preset--color--blue) !important;
}


@media (max-width: 767px) {

    .text-left-mobile {
        text-align: left;
    }

    .slider-arrows-pagination {
        scale: .8;
    }

    .swiper-button-prev-custom, .swiper-button-next-custom {
        /*        display: none;*/
        
    }
    
}

@media (max-width: 1200px) {

    /*.pretraga-modal .primary-wrapper {
        margin-top: 80px;
    }*/

}

.swiper-wrapper {
    position: relative;
}


.swiper-button-disabled {
    opacity: .5 !important;
}

.swiper-1 .swiper-slide {
    margin-block-start: 0px !important;
    box-shadow: gba(0, 0, 0, 0.2) 0px 4px 6px -4px !important;
}

.swiper-2 {
    position: relative;
}

.swiper-2 .swiper-slide {
    width: 100% !important;
    display: flex;
    align-items: end;
}

.swiper-2 .swiper-horizontal>.swiper-pagination-bullets, .swiper-2 .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-2 .swiper-pagination-custom, .swiper-2 .swiper-pagination-fraction {
    bottom: 25px !important;
}

.swiper-2 .swiper-pagination-bullet-active {
    background: #ED5E2A !important;
}

@media (min-width: 1641px) {
    .swiper-button-next-custom {
        position: absolute !important;
        right: -70px !important;
        top: calc( 50% - 26px ) !important;
    }

    .swiper-button-prev-custom {
        position: absolute !important;
        left: -70px !important;
        top: calc( 50% - 26px ) !important;
    }
}

@media (max-width: 1200px) {

    .primary-wrapper {
        padding-top: 20px !important;
        padding-right: 20px !important;
        padding-bottom: 20px !important;
        padding-left: 20px !important;
    }

    .sub-wrapper {
        padding-top: 32px !important;
        padding-right: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
    }

    .inner-container {
        border-radius: 0 !important;
        margin-top: 16px !important;
        padding-top: 32px !important;
        padding-right: 20px !important;
        padding-bottom: 20px !important;
        padding-left: 20px !important;
    }

    .title-wrapper {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .wp-container-core-post-template-is-layout-1 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--wp--preset--spacing--32);
    }

}

body.modal-open {
  overflow: hidden;
  height: 100vh;
}

.swiper-wrapper {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
}

.modal-close:hover {
    cursor: pointer;
}

.usluge-modal, .eksperti-modal, .cenovnik-modal, .pretraga-modal, .navigacija-modal, .kontakt-modal {
    display: none;
    position: fixed;
    top: 0;
    z-index: 9999;
    width: 100%;
    right: 100px;
    min-height: 100vh;
}

.modal-right {
    overflow: hidden;
    height: calc(100vh - 151px);
    overflow-y: scroll;
}

.modal-left {
    height: calc(100vh - 151px);
}

.usluge-modal.open, .eksperti-modal.open, .cenovnik-modal.open, .pretraga-modal.open, .navigacija-modal.open, .kontakt-modal.open {
    display: block;
}

.open-usluge-modal:hover, .open-eksperti-modal:hover, .open-cenovnik-modal:hover, .open-pretraga-modal:hover {
    cursor: pointer;
}

.height-100 {
    height: 100%;
}

.justify-content-space-between {
    justify-content: space-between !important;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    background-color: #fff;
    border: 1px solid #00000026;
    border-radius: 12px;
    padding: 12px;
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container, .wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
    min-width: 280px;
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container a.wp-block-navigation-item__content:hover {
    text-decoration: underline;
}

.wp-block-navigation .wp-block-navigation-item.has-child {
    height: 50px;
}

a.esab__heading_txt p:empty {
    display: none !important;
}

.esab__headings > p {
    display: none !important;
}

a {
    text-decoration: none !important;
}

.single-post .entry-content a {
    text-decoration: underline !important;
}

/*/*.entry-content a:hover {
    text-decoration: underline;
}

.single-post a {
    text-decoration: underline !important;
    color: var(--wp--preset--color--blue) !important;
}


@media (min-width: 600px) {
    .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display: none;
    }
}*/

.wpcf7 input.wpcf7-text, .wpcf7 select, .wpcf7-date date {
    height: 50px;
}

.wpcf7 input.wpcf7-text {
    font-size: 18px !important;
    padding: 14px 0px;
    border: none;
    border-bottom: 1px solid #2D335533;
    width: 100%;
    color: #2D3355 !important;
    margin-top: 10px;
    box-sizing: border-box;
}

.wpcf7 textarea, .wpcf7 select, .wpcf7-date  {
    font-size: 18px !important;
    padding: 14px 10px;
    border: 1px solid #2D335533;
    width: 100%;
    color: #2D3355 !important;
    margin-top: 10px;
    box-sizing: border-box;
}

.wpcf7 label {
    color: color: #2D3355 !important;
    font-size: 18px !important;
}

.wpcf7 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* SVG background image */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2212%22%20viewBox%3D%220%200%2012%2012%22%3E%3Ctitle%3Edown-arrow%3C%2Ftitle%3E%3Cg%20fill%3D%22%23000000%22%3E%3Cpath%20d%3D%22M10.293%2C3.293%2C6%2C7.586%2C1.707%2C3.293A1%2C1%2C0%2C0%2C0%2C.293%2C4.707l5%2C5a1%2C1%2C0%2C0%2C0%2C1.414%2C0l5-5a1%2C1%2C0%2C1%2C0-1.414-1.414Z%22%20fill%3D%22%23000000%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    background-size: .6em;
    background-position: calc(100% - .7em) center;
    background-repeat: no-repeat;
}

.nase-usluge .usluga > .wp-block-group:hover {
    border-color: #1e385426;
    border-width: 1px;
    background-color: #FFFFFF !important;
    cursor: pointer;
    box-shadow: 0px 1px 2px 0px #0000001A;
    transition: .2s;
}

.usluge-modal-inner .esab__heading_tag {
    display: flex;
    align-items: center;
}

.usluge-ortopedija .esab__heading_tag:before {
    content: url('assets/images/sicon-ortopedija.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-bio .esab__heading_tag:before {
    content: url('assets/images/sicon-bio.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-fizikalna .esab__heading_tag:before {
    content: url('assets/images/sicon-fizikalna.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-gastro .esab__heading_tag:before {
    content: url('assets/images/sicon-gastro.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-ginekologija .esab__heading_tag:before {
    content: url('assets/images/sicon-ginekologija.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-kicma .esab__heading_tag:before {
    content: url('assets/images/sicon-kicma.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-neuro .esab__heading_tag:before {
    content: url('assets/images/sicon-neuro.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-plasticna .esab__heading_tag:before {
    content: url('assets/images/sicon-plasticna.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-radiologija .esab__heading_tag:before {
    content: url('assets/images/sicon-radiologija.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-urologija .esab__heading_tag:before {
    content: url('assets/images/sicon-urologija.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-laboratorija .esab__heading_tag:before {
    content: url('assets/images/sicon-pregledi.svg');
    height: 24px;
    margin-right: 15px;
}

.usluge-opstah .esab__heading_tag:before {
    content: url('assets/images/sicon-opstah.svg');
    height: 24px;
    margin-right: 15px;
}

.nested-accordion .esab__heading_tag:before {
    content:'' !important;
    margin-right: 0px;
}

@media (max-width: 600px) {
    .modal-right {
        overflow: hidden;
        height: auto !important; 
        overflow-y: inherit !important;
        border-radius: 4px !important;
    }
    .usluge-modal, .eksperti-modal, .cenovnik-modal, .pretraga-modal, .navigacija-modal, .kontakt-modal {
        height: 1px;
        overflow-y: scroll;
    }
    .wp-container-core-post-template-is-layout-e3cf02f6 {
        grid-template-columns: auto auto !important;
        gap: 24px !important;
    }
    .wp-container-core-post-template-is-layout-e3cf02f6 h2 {
        font-size: 14px !important;
    }
    .wp-container-core-post-template-is-layout-e3cf02f6 time {
        font-size: 12px !important;
    }
    .similar-projecs-section {
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important; 
        gap: var(--wp--preset--spacing--24);
    }
    .wp-block-navigation__container.has-fluid-18-font-size a span {
        font-size: 38px !important;
    }

    .kategorije-projekata {
        flex-direction: column !important;
        align-content: flex-start !important;
        align-items: flex-start !important;
        gap: 10px;
        width: 100%;
    }

    .kategorije-projekata.wp-block-navigation .wp-block-navigation-item {
        border-bottom: 1px solid #d5d6dd;
        width: 100%;
    }

    .kategorije-projekata-wrapper {
        border: none !important;
    }

}

@media (max-width: 1050px) {

    .home-video-logo .wp-block-cover .wp-block-cover__image-background, 
    .home-video-logo .wp-block-cover video.wp-block-cover__video-background, 
    .home-video-logo .wp-block-cover-image .wp-block-cover__image-background, 
    .home-video-logo .wp-block-cover-image video.wp-block-cover__video-background {
        object-fit: contain !important;
    }

    .home-video-logo .wp-block-cover {
        min-height: 60vw !important;
    }

}

/*.wp-block-button__link {
  position: relative;
  display: inline-block;
  overflow: hidden;
  font-size: 0; 
  line-height: 1.2;
  height: 1.2em; 
  vertical-align: middle;
  text-align: center;
}


.wp-block-button__link::before {
  content: attr(title);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: var(--wp--preset--font-size--fluid-22, 1.2rem); 
  line-height: 1.2;
  white-space: nowrap;
  text-align: center;
  color: inherit;
  transform: translateY(0%);
  transition: transform 0.3s ease;
}


.wp-block-button__link::after {
  content: attr(title);
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  font-size: var(--wp--preset--font-size--fluid-22, 1.2rem);
  line-height: 1.2;
  white-space: nowrap;
  text-align: center;
  color: inherit;
  transform: translateY(0%);
  transition: transform 0.3s ease;
}


.wp-block-button__link:hover::before {
  transform: translateY(-100%);
}
.wp-block-button__link:hover::after {
  transform: translateY(-100%);
}*/

.marquee img {
    scale: 0.7;
}

.marquee-inner.animate {
    animation-duration: 200s !important;
}


/* === Swiper Layout === */
.swiper {
  margin: 40px auto;
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-right: 0 !important;
  margin-right: 0 !important;
}

.swiper-wrapper {
  display: flex;
  align-items: center;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box;
  margin-right: 0 !important;
  width: max-content !important; /* fix for last-slide spacing */
}

.mySwiper .swiper-slide {
  width: auto !important;
  flex-shrink: 0;
  margin-right: 20px;
  padding: 0 !important;
  border: none !important;
  box-sizing: border-box;
}

.mySwiper .swiper-slide:last-child {
  margin-right: 0 !important;
}

.mySwiper .swiper-slide img {
  height: 370px;
  width: auto;
  max-width: none;
  object-fit: contain;
  display: block;
  border: none;
}

/* Optional utility */
.position-relative {
  position: relative !important;
}

/* === Swiper Scrollbar === */
.swiper-scrollbar {
  background: #D5D6DD !important;
  height: 7px !important;
  margin-top: 10px !important;
  border-radius: 0 !important;
}

.swiper-scrollbar-drag {
  background: #2D3355 !important;
  border-radius: 0 !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  left: 0 !important;
  width: 100% !important;
}

/* === Swiper Custom Navigation Buttons === */
.swiper-button-next-custom,
.swiper-button-prev-custom {
  position: inherit !important;
  top: auto !important;
}

.swiper-button-next-custom {
  right: auto !important;
}

.swiper-button-prev-custom {
  left: auto !important;
}

/* === Lightbox === */
#custom-lightbox {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  flex-direction: column;
}

.lightbox-inner {
  text-align: center;
  max-width: 90%;
}

#lightbox-img {
  max-width: 100%;
  max-height: 80vh;
  margin-bottom: 20px;
  border: none;
}

#lightbox-caption {
  color: #fff;
  font-size: 18px;
  font-family: sans-serif;
}

.close-lightbox {
  position: absolute;
  top: 20px;
  right: 30px;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}

/* Wrap each box in this class if possible via selector */
.wp-block-group.has-background {
  position: relative;
  overflow: hidden;
}

/* Overlay that hides the background image by covering it */
.nase-usluge .wp-block-group.has-background::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--wp--preset--color--background, #2d3355); /* or use black */
  z-index: 2;
  transition: opacity 0.4s ease;
  opacity: 1;
  pointer-events: none;
}

/* Reveal the background image on hover */
.nase-usluge .wp-block-group.has-background:hover::before {
  opacity: 0;
}

/* Ensure all content stays above the overlay */
.nase-usluge .wp-block-group.has-background > * {
  position: relative;
  z-index: 3;
}

.post-type-archive-project ul.wp-block-navigation__container li a:not(header *),
.tax-project_category ul.wp-block-navigation__container li a:not(header *) {
    color: #D5D6DD !important;
    transition: all 0.2s ease;
}

.post-type-archive-project ul.wp-block-navigation__container li a:hover:not(header *),
.tax-project_category ul.wp-block-navigation__container li a:hover:not(header *) {
    color: #2D3355 !important;
}

.post-type-archive-project ul.wp-block-navigation__container li.current-menu-item a:not(header *),
.tax-project_category ul.wp-block-navigation__container li.current-menu-item a:not(header *) {
    color: #2D3355 !important;
}

.kv-chip {
    transition: all 0.2s ease;
}

.kv-chip:hover {
    background: #e3e6eb !important;
}

.swiper-button-prev-custom,
.swiper-button-next-custom {
  cursor: pointer;
}

.swiper-button-prev-custom img,
.swiper-button-next-custom img {
  transition: transform 0.2s ease;
}

.swiper-button-prev-custom:hover img {
  transform: translateX(-4px);
}

.swiper-button-next-custom:hover img {
  transform: translateX(4px);
}

.wp-block-query-pagination a.page-numbers,
.wp-block-query-pagination a.wp-block-query-pagination-next,
.wp-block-query-pagination a.wp-block-query-pagination-previous {
  transition: all 0.2s ease;
  cursor: pointer;
}

.wp-block-query-pagination a.page-numbers:hover {
  color: #2D3355;
  background-color: #f2f2f5;
  transform: translateY(-2px);
}

.wp-block-query-pagination a.wp-block-query-pagination-next:hover,
.wp-block-query-pagination a.wp-block-query-pagination-previous:hover {
  color: #2D3355;
  transform: translateY(-2px);
}

.wp-block-query-pagination .page-numbers.current {
  font-weight: 600;
  color: white;
  cursor: default;
}

.wpcf7 input.wpcf7-submit {
    transition: var(--wp--custom--transition);
    font-size: var(--wp--preset--font-size--fluid-18) !important;
    background-color: #2D3355;
    
    color: #FFFFFF;
    padding: 18px 25px;
    border-radius: 50px;
    font-weight: 400;
    float: right;
    border-style: none;
    border-width: 1px;
    border-radius: 0px;
    border: none !important;
    padding-top: var(--wp--preset--spacing--24);
    padding-bottom: var(--wp--preset--spacing--24);
    width: 100%;
    font-size: var(--wp--preset--font-size--fluid-22) !important;
    font-family: var(--wp--preset--font-family--inter) !important;
    max-width: 500px;
}

.wpcf7 input.wpcf7-submit:hover {
    background-color: #2D3355;
    border: none !important;
    color: #FFFFFF;
    opacity: .7;
    cursor: pointer;
}

.wpcf7 form .wpcf7-response-output {
    margin: 0 !important;
    padding: 1em 1em !important;
    border: none;
    background: #e9eaef;
    color: var(--wp--preset--color--blue) !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #ffffff;
    background: #e9eaef;
}

.wpcf7-not-valid-tip {
    color: #dc3232;
    font-size: 1em;
    font-weight: normal;
    display: block;
    margin-top: 10px;
}

.wp-block-button .wp-block-button__link.wp-element-button:hover {
    opacity: .7 !important;
}

.swiper-slide .wp-block-post-featured-image img,
li.wp-block-post.type-project .wp-block-post-featured-image img {
  transition: all 0.2s ease;
}

.swiper-slide:hover .wp-block-post-featured-image img,
li.wp-block-post.type-project:hover .wp-block-post-featured-image img {
  transform: translateY(-3px);
}


/* Base underline reveal effect */
p a:not(.kv-trp-switch),
a.wp-block-navigation-item__content {
  position: relative;
  display: inline-block;   /* make the box wrap both lines */
  text-decoration: none;   /* remove browser underline */
  line-height: 1.4; 
}

p a:not(.kv-trp-switch)::after,
a.wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;              /* underline thickness */
  background: currentColor; /* uses text color */
  transition: width 0.3s ease;
}

p a:not(.kv-trp-switch):hover::after,
a.wp-block-navigation-item__content:hover::after {
  width: 100%;
}

h2 a {
    transition: all 0.2s ease;
}

h2 a:hover {
    opacity: .7;
}

.wp-embed-responsive .wp-has-aspect-ratio iframe {
    bottom: 0;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.wp-block-embed {
    overflow-wrap: break-word;
}

.wp-block-embed__wrapper {
    position: relative;
}

.wp-block-embed iframe {
    max-width: 100%;
}

/* Use WP's wrapper as the aspect box */
.wp-block-embed.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
}

/* Create the 16:9 box */
.wp-block-embed.wp-block-embed-youtube .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 56.25%; /* 16:9 */
}

/* Absolutely fill the box */
.wp-block-embed.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important; /* override height:auto from theme resets */
  display: block;
  border: 0;
}

/* Safety: remove rogue max-widths/heights from generic rules */
figure.wp-block-embed,
figure.wp-block-embed .wp-block-embed__wrapper {
  max-width: 100% !important;
}