/*!
Theme Name: Prespa Child
Template: prespa
Theme URI: https://nasiothemes.com/themes/prespa
Author: Atanas Yonkov
Author URI: https://nasiothemes.com/
Description: Prespa is a next-generation multi-purpose WordPress theme. It is perfect for a blog, portfolio website, digital agency, marketing, seo, consulting, sass application website, e-commerce shop as well as any type of corporate, finance and agency website. You will be surprised how many options this generous theme provides. At the same time, a serious effort has been made to optimize the theme for speed. No Jquery, Bootstrap, Font Awesome or any other third-party library to slow you down - it uses only core WordPress functions and clean html5/css3 tempates. With our beautiful block patterns, you will be able to get started in minutes. No coding skills needed. A lot of time and effort has been spent to optimize the theme for SEO and it uses Schema.org markup (microdata) to help you rank higher in the search results. The theme is also WCAG 2.2 (Level AA) compliant. It is highly customizable and easy to adapt to any design. All theme demos have been made with the Gutenberg editor, which means you do not have to install any additional plugins to use the theme. At the same time, the theme also fully supports the good old Classic editor. Effortless integrations with all the popular WordPress plugins, e.g. WooCommerce is also fully guaranteed. The theme is specifically designed to make your content stand out from the crowd and it is very well thought in terms of UX/UI. Protect your visitors' eyes by allowing them to switch between day and night mode (light and dark mode) with a single click. Oh, and just like with our other themes, updates will keep on coming, constantly improving the codebase and keeping it up to date to the modern web standards. Still not convinved? Check the theme demo at https://prespa-demo.nasiothemes.com/ Theme documentation: https://nasiothemes.com/prespa-theme-documentation/
Version: 1.7.8
Requires at least: 6.1
Tested up to: 7.0
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: prespa
Tags: blog, news, e-commerce, one-column, two-columns, three-columns, four-columns, grid-layout, right-sidebar, left-sidebar, block-patterns, wide-blocks, custom-colors, custom-header, custom-logo, custom-menu, featured-image-header, featured-images, footer-widgets, full-width-template, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

Prespa is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/**
 * This file is here to make WordPress happy. Do not modify.
 *
 * The actual stylesheets can be found in build folder but this
 * theme uses Webpack so they are preprocessed from assets/scss.
 *
 * If you want to add custom css to this theme, go to
 * Theme Customizer => Additional CSS tab
 */

img.custom-logo {
    width: 150px !important;
    height: 150px !important;
    object-fit: contain;
}

.container {
    max-width: 1180px;
    width: 100%;
    margin: 0 auto;
}

.entry-header {
    text-align: center;
    background-color: #F5F7FA;
    padding: 100px 0;
    margin-bottom: 40px;
}

.dark-mode .entry-header {
    background-color: transparent;
}

.page .entry-header .breadcrumbs {
    margin-top: 0 !important;
}

.site-wrapper {
    padding: 0 !important;
}

/* Parent flex container: stretch children to the tallest one */
.equal-height {
    align-items: stretch;
}

.equal-height .wp-block-column.is-vertically-aligned-center {
    align-self: stretch !important;
}

/* Override the per-column "center" alignment so each child fills full height */
.equal-height>.wp-block-column {
    align-self: stretch;
    height: 100%;
}

.wp-block-column.stretch {
    align-items: stretch !important;
}

.container-projects {
    padding-top: 3rem;
    padding-bottom: 4rem;
}

.listing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
}

/* Whole-card link in the post listing. */
.listing-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    text-decoration: none;
    background: #fff;
    border: 1px solid #eaecef;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.listing-card > article {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    margin: 0 !important;
}

.listing-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(16, 24, 40, 0.13);
    border-color: #d7dbe0;
}

.listing-card .post-thumbnail {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: #f0f2f5;
    margin: 0;
}

.listing-card .post-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
}

.listing-card:hover .post-thumbnail img {
    transform: scale(1.06);
}

.listing-card .text-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.5rem 1.5rem 1.75rem;
}

.listing-grid .entry-header {
    padding: 0 !important;
    margin: 0 0 0.65rem;
    background: transparent !important;
    text-align: left;
}

.listing-grid .text-wrapper .entry-title {
    margin: 0 !important;
    font-size: 1.35rem;
    line-height: 1.3;
    transition: color 0.25s ease;
}

.listing-card .entry-content {
    margin: 0;
    color: #5b6572;
    font-size: 0.98rem;
    line-height: 1.6;
}

.listing-card:hover .entry-title {
    color: #3a72d3;
}

/* Dark mode cards */
.dark-mode .listing-card {
    background: #2b2b2b;
    border-color: #3a3a3a;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.dark-mode .listing-card:hover {
    border-color: #4a4a4a;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
}

.dark-mode .listing-card .post-thumbnail {
    background: #333;
}

.dark-mode .listing-card .entry-content {
    color: #b8bcc2;
}

/* ------------------------------------------------------------------ *
 * Default blog / archive listing — card grid to match the
 * projects/open-calls listing. Scoped to .prespa-post-inner so the
 * single post view (rendered outside this wrapper) is unaffected.
 * ------------------------------------------------------------------ */
.prespa-post-inner {
    display: flex;
    flex-direction: column;
}

/* One post per row: thumbnail left, text right. */
.prespa-post-inner > article {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    max-height: 350px;
    margin: 0 0 2rem !important;
    padding: 0 !important;
    background: #fff;
    border: 1px solid #eaecef;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.prespa-post-inner > article:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(16, 24, 40, 0.13);
    border-color: #d7dbe0;
}

.prespa-post-inner .post-thumbnail {
    display: block;
    flex: 0 0 36%;
    max-width: 36%;
    overflow: hidden;
    background: #f0f2f5;
    margin: 0;
}

.prespa-post-inner .post-thumbnail img {
    width: 100%;
    height: 100%;
    min-height: 220px;
    object-fit: cover;
    transition: transform 0.5s ease-in-out;
}

.prespa-post-inner > article:hover .post-thumbnail img {
    transform: scale(1.05);
}

.prespa-post-inner .text-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 1.75rem 2rem;
}

.prespa-post-inner .entry-header {
    padding: 0 !important;
    margin: 0 0 0.65rem;
    background: transparent !important;
    text-align: left;
}

.prespa-post-inner .entry-title {
    margin: 0 0 0.4rem !important;
    font-size: 1.5rem;
    line-height: 1.3;
}

.prespa-post-inner .entry-title a {
    color: inherit;
    text-decoration: none;
    transition: color 0.25s ease;
}

.prespa-post-inner > article:hover .entry-title a {
    color: #3a72d3;
}

.prespa-post-inner .entry-content {
    margin: 0;
    color: #5b6572;
    font-size: 0.98rem;
    line-height: 1.6;
    /* Clamp the excerpt so the read-more link and the text-wrapper's bottom
       padding stay visible within the card's max-height. */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.prespa-post-inner .read-more-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    align-self: flex-start;
    margin-top: 1rem;
    padding: calc(0.667em + 2px) 1.6em;
    background: #3a72d3;
    border-radius: 3px;
    color: #fff;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.15;
    text-decoration: none;
    transition: filter 0.25s ease, gap 0.25s ease;
}

.prespa-post-inner .read-more-link:hover {
    color: #fff;
    filter: brightness(0.95);
    gap: 0.7rem;
}

.prespa-post-inner .entry-footer {
    margin-top: 1rem;
    padding-top: 1rem;
}

/* Dark mode blog cards */
.dark-mode .prespa-post-inner > article {
    background: #2b2b2b;
    border-color: #3a3a3a;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.dark-mode .prespa-post-inner > article:hover {
    border-color: #4a4a4a;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45);
}

.dark-mode .prespa-post-inner .read-more-link,
.dark-mode .prespa-post-inner .read-more-link:hover {
    color: #fff;
}

.dark-mode .prespa-post-inner .post-thumbnail {
    background: #333;
}

.dark-mode .prespa-post-inner .entry-content {
    color: #b8bcc2;
}

.wp-singular .hentry:nth-child(1) {
    margin-top: 0 !important;
}

.wp-singular .post-thumbnail img {
    width:100%;
    object-fit: cover;
}
.page .post-thumbnail {
    margin-top:0 !important;
}
/* ------------------------------------------------------------------ *
 * Single listing view (projects / open_call).
 * ------------------------------------------------------------------ */
.single-listing-thumbnail {
    margin: -10px auto 2.5rem;
}

.single-listing-thumbnail img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 520px;
    object-fit: cover;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(16, 24, 40, 0.1);
}

.dark-mode .single-listing-thumbnail img {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

.single-post .entry-content,
.postid-listing .entry-content {
    line-height: 1.75;
}

/* Center the posted date / meta in the single post header. */
.single-post .entry-header .entry-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}

/* Single post: keep in-content images to a readable width instead of
   stretching the full content container. Blocks explicitly set to wide or
   full alignment (alignwide / alignfull) are intentionally left untouched. */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
}

.single-post .entry-content > img,
.single-post .entry-content p > img,
.single-post .entry-content figure:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) {
    display: block;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.single-post .entry-content figure:not(.alignwide):not(.alignfull):not(.alignleft):not(.alignright) img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}
/* Collapse to a single column on mobile. */
@media (max-width: 768px) {
    .listing-grid {
        grid-template-columns: 1fr;
    }

    /* Blog rows: stack thumbnail on top of the text. */
    .prespa-post-inner > article {
        flex-direction: column;
        max-height: none;
    }

    .prespa-post-inner .post-thumbnail {
        flex-basis: auto;
        max-width: 100%;
        aspect-ratio: 16 / 9;
    }

    .prespa-post-inner .post-thumbnail img {
        min-height: 0;
    }
}

@media (max-width: 1366px) {
    .entry-header {
        padding: 70px 0;
    }

    .container {
        padding: 0 20px;
    }
}

/* ------------------------------------------------------------------ *
 * Contact Form 7 — match the theme's form / button styling.
 * Scoped to .wpcf7-form so search/comment forms are unaffected.
 * ------------------------------------------------------------------ */
.wpcf7-form p {
    margin: 0 0 1.25rem;
}

.wpcf7-form label {
    display: block;
    width: 100%;
    font-weight: 600;
}

.wpcf7-form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 0.4rem;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100%;
    height: auto;
    padding: 0.7rem 0.9rem;
    border: 1px solid #ccc;
    border-radius: 3px;
    background: #fff;
    color: #404040;
    font-size: 0.95rem;
    line-height: 1.4;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
    border-color: #3a72d3;
    box-shadow: 0 0 0 2px rgba(58, 114, 211, 0.15);
    color: #111;
    outline: none;
}

.wpcf7-form textarea {
    min-height: 140px;
    resize: vertical;
}

/* Submit button — reuse the theme's blue button look. */
.wpcf7-form .wpcf7-submit {
    background: #3a72d3;
    border: 0;
    border-radius: 3px;
    color: #fff;
    padding: calc(0.667em + 2px) 1.8em;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.15;
    cursor: pointer;
    transition: filter 0.25s ease, opacity 0.25s ease;
}

.wpcf7-form .wpcf7-submit:hover {
    filter: brightness(0.95);
    opacity: 0.95;
}

.wpcf7-spinner {
    vertical-align: middle;
}

/* Validation + response messages. */
.wpcf7-form input.wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid {
    border-color: #dc3232;
}

.wpcf7-not-valid-tip {
    margin-top: 0.25rem;
    color: #dc3232;
    font-size: 0.85rem;
}

.wpcf7-response-output {
    margin: 1rem 0 0 !important;
    padding: 0.8rem 1rem;
    border-radius: 3px;
    font-size: 0.9rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border: 1px solid #dc3232;
    color: #dc3232;
}

.wpcf7 form.sent .wpcf7-response-output {
    border: 1px solid #46b450;
    color: #2e7d32;
}

/* Dark mode inputs. */
.dark-mode .wpcf7-form input[type="text"],
.dark-mode .wpcf7-form input[type="email"],
.dark-mode .wpcf7-form textarea {
    background: #404040;
    border-color: #555;
    color: #f9f9f9;
}