/*
Theme Name: Pithagoreio odeio
Template:   hipno
Theme URI: https://1.envato.market/hipno-wp
Description: Pithagoreio odeio theme - A Hipno Child Theme
Author: Awaiken
Author URI: https://awaikenthemes.com/
Version: 1.0.1
Text Domain: pithagoreio-odeio
*/

/* Theme style: prevent image collapse, validator-friendly */
img[sizes="auto"] {
    inline-size: 100%; /* fallback for width */
    aspect-ratio: 2;   /* 3000 / 1500 = 2 */
}

.about-customer-content .elementor-counter-number-suffix {
    color: var(--e-global-color-text);
}


/* Restrict dropdown width and allow text wrapping */
.elementskit-menu-container .elementskit-navbar-nav .elementskit-dropdown.elementskit-submenu-panel {
    max-width: 280px;
    min-width: 250px;
    white-space: normal;
    word-wrap: break-word;
}

.elementskit-menu-container .elementskit-navbar-nav .elementskit-dropdown.elementskit-submenu-panel a.dropdown-item {
    display: block;
    white-space: normal;
}


.pith-header-logo img.ata-site-logo-img {
    max-height: 53px !important;
}

.page .sr-only,
.page .elementor .sr-only,
.elementor .sr-only,
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    border: 0;
}

/* Headings */
/* ==========================================================
   H2 – Page Content Headings
   ========================================================== */
.elementor .elementor-element h2.elementor-heading-title {
    font-family: var(--e-global-typography-primary-font-family, "Inter"), sans-serif;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.25em;
    color: var(--e-global-color-primary, #262626);
    margin-top: 0;
    margin-bottom: 20px;
}

/* ==========================================================
   H3 – Section Subheadings
   ========================================================== */
.elementor .elementor-element h3.elementor-heading-title {
    font-family: var(--e-global-typography-primary-font-family, "Inter"), sans-serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.3em;
    color: var(--e-global-color-primary, #262626);
    margin-top: 0;
    margin-bottom: 14px;
}

/* =======================
   Tablet
   ======================= */
@media (max-width: 1024px) {
    /* H2 – Page Content Headings */
    .elementor .elementor-element h2.elementor-heading-title {
        font-size: 28px;
        line-height: 1.25em;
        margin-bottom: 16px;
    }
    
    /* H3 – Section Subheadings */
    .elementor .elementor-element h3.elementor-heading-title {
        font-size: 20px;
        line-height: 1.3em;
        margin-bottom: 12px;
    }
}

/* =======================
   Mobile
   ======================= */
@media (max-width: 767px) {
    /* H2 – Page Content Headings */
    .elementor .elementor-element h2.elementor-heading-title {
        font-size: 24px;
        line-height: 1.3em;
        margin-bottom: 14px;
    }
    
    /* H3 – Section Subheadings */
    .elementor .elementor-element h3.elementor-heading-title {
        font-size: 18px;
        line-height: 1.35em;
        margin-bottom: 10px;
    }
}


.elementor .elementor-element.section-title h3.elementor-heading-title {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.1em;
    letter-spacing: 0.3em;
    color: var(--e-global-color-accent);
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    position: relative;
}

.elementor .elementor-element.section-title.white-section-title h3.elementor-heading-title {
    color: var( --e-global-color-white, #FFFFFF );
}

/* ==================================================
   HOMEPAGE
   ================================================== */


/* --- ELEMENTSKIT BLOG WIDGET IMAGES --- */
/* Image wrapper controls layout now */
.home .elementor .our-blog-item .elementskit-entry-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f4f6f8;
	border-radius: 15px;
	overflow: hidden;
	min-height: 220px;
}

/* Disable theme crop */
.home .elementor .our-blog-item .elementskit-entry-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	aspect-ratio: auto;
	padding: 12px;
	border-radius: 20px;
	transition: transform 0.4s ease-in-out;
}


/* ==================================================
   HISTORY PAGE
   ================================================== */
/*
.pith-history-section.pith-history-section-3 > .e-con-inner {
    border: none;
    border-top-width: 1px;
    border-top-color: var(--e-global-color-accent);
    border-top-style: solid;
}
*/


/* ==================================================
   CONTACT PAGE
   ================================================== */

/* --- Email wrapping fix --- */
a.pith-anchor-wrap,
.contact-info-item.pith-contact-info-item-email .box-body a {
    display: inline-block;
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
}


/* ==================================================
   BLOG ARCHIVE / LISTING
   ================================================== */

/* ---------- Featured Image Layout ---------- */
.archive .post-featured-image figure,
.blog .post-featured-image figure {
	border-radius: 15px;
	overflow: hidden;
	background: #fdfdfd;
	display: flex;
	align-items: center;
	justify-content: center;
}

.archive .post-featured-image img,
.blog .post-featured-image img {
	width: 100%;
	height: 100%;
	max-height: 320px;
	object-fit: contain;
	aspect-ratio: auto;
	padding: 10px;
	border-radius: 20px;
}


/* ==================================================
   SINGLE POST PAGE
   ================================================== */

/* ---------- Header Background Fix ---------- */
.single-post .ekit-template-content-header {
    background: #1b1f24;
    background: linear-gradient(180deg, #161a1f 0%, #222831 100%);
    position: relative;
    z-index: 999;
    box-shadow: 0 2px 12px rgba(0,0,0,0.25);
}

.single-post .ekit-template-content-header a,
.single-post .ekit-template-content-header .menu-item a,
.single-post .ekit-template-content-header .elementskit-navbar-nav > li > a {
    color: #ffffff;
}


/* ---------- Hide Theme Hero ---------- */
.single-post .page-header {
    display: none;
}

/* ---------- Meta Information ---------- */
.single-post .pith-post-meta {
    font-size: 14px;
    color: #777;
    margin-bottom: 20px;
}

/* ---------- Featured Image Layout ---------- */
.single-post .pith-post-featured {
    margin: 20px 0 30px;
    border-radius: 14px;
    overflow: hidden;
}


.single-post .pith-post-content .post-single-image figure {
    aspect-ratio: 16 / 9;
	background: #f4f6f8;
	background: #fdfdfd;
	border-radius: 18px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
}

.single-post .pith-post-content .post-single-image img {
	width: 100%;
	height: auto;
	max-height: 620px;
	display: block;
	object-fit: contain;
	aspect-ratio: auto;
    border-radius: 0;
}

/* ---------- Typography ---------- */
.single-post .pith-post-title {
    font-size: 34px;
    line-height: 1.25;
    font-weight: 500;
    margin-bottom: 10px;
}

.single-post .pith-post-entry {
    font-size: 17px;
    line-height: 1.75;
}

@media (max-width: 767px) {
    .single-post .pith-post-title { font-size: 26px; }
    .single-post .pith-post-entry { font-size: 16px; line-height: 1.7; }
}


#pith_ucas_faq.elementor-widget-elementskit-accordion .elementskit-card-body.ekit-accordion--content ul {
    margin-top: 0;
    margin-bottom: 1rem;
    padding-left: 2rem;
}


/* ==================================================
   Spoudes Mousikis PAGE
   ================================================== */

.pith_spoudes_entry {
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
    border: 1px solid rgba(0,0,0,0.05);
    top: 0;
}

.pith_spoudes_entry:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0,0,0,0.1) !important;
    border-color: var(--e-global-color-accent);
}

.pith_spoudes_entry:hover h2.elementor-heading-title a {
    color: var(--e-global-color-accent) !important;
    transition: color 0.3s ease;
}

.pith_spoudes_entry .elementor-button-icon {
    transform: translateX(-15px);
    transition: transform 0.3s ease !important;
}

.pith_spoudes_entry:hover .elementor-button-icon {
    transform: translateX(0px);
}
