/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://hrvhoszig.hu
 Description:  GeneratePress Child Theme for Spirit Gödöllő
 Author:       Antigravity AI
 Author URI:   https://hrvhoszig.hu
 Template:     generatepress
 Version:      1.0.0
 Text Domain:  generatepress-child
*/

/* Alapvető CSS Változók és Színpaletta (Az Avada-ból másolva) */
:root {
    --spirit-primary: #8a1b41;      /* Burgundi / Magenta */
    --spirit-secondary: #1e2436;    /* Sötétkék / Szürke */
    --spirit-light-grey: #f7fafc;   /* Háttérszín */
    --spirit-border: #e2e8f0;       /* Határoló vonal */
    --spirit-text: #2d3748;
    --spirit-white: #ffffff;
    --spirit-gold-sand: #f2e3d5;    /* Homok szín az oktatókhoz */
}

/* Tipográfia */
body {
    font-family: 'Inter', sans-serif;
    color: var(--spirit-text);
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Cardo', Georgia, serif;
    color: var(--spirit-secondary);
}

/* --- FEJLÉC (HEADER) --- */
.site-header {
    background: transparent !important;
    position: absolute !important;
    width: 100% !important;
    left: 0 !important;
    top: 0 !important;
    border: none !important;
    padding: 20px 0 !important;
    z-index: 999;
}

/* Kijavítjuk a logó színezését, hogy a sötétkék logó aloldalakon is fehér és kontrasztos legyen a háttér előtt */
.site-logo img {
    filter: brightness(0) invert(1) !important;
}

.site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.site-main, 
.inside-article, 
.entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.inside-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    flex-wrap: nowrap !important;
}

.site-branding {
    display: none !important;
}

.header-image {
    max-width: 240px !important;
    height: auto !important;
    display: block !important;
}

.site-logo {
    max-width: 240px !important;
}

.main-navigation {
    background: transparent !important;
    box-shadow: none !important;
    flex-grow: 1 !important;
    display: flex !important;
    justify-content: flex-end !important;
}

.main-navigation ul {
    display: flex !important;
    flex-direction: row !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.main-navigation .main-nav ul li {
    float: none !important;
    display: inline-block !important;
}

.main-navigation .main-nav ul li a {
    color: #ffffff !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    padding: 10px 20px !important;
    transition: color 0.3s ease !important;
}

.main-navigation .main-nav ul li:hover > a, 
.main-navigation .main-nav ul li.current-menu-item > a {
    color: var(--spirit-primary) !important;
    background-color: transparent !important;
}

.entry-header {
    display: none !important;
}

/* --- BELSŐ OLDALI PAGE TITLE BAR (Avada 1:1) --- */
.spirit-page-title-bar {
    position: relative;
    min-height: 320px; /* Megnöveljük, hogy a fejléc kényelmesen ráférjen */
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 100px; /* Eltoljuk a címet lefelé a transzparens fejléc miatt */
}

.spirit-page-title-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(30, 36, 54, 0.3) 0%, rgba(30, 36, 54, 0.1) 100%);
}

.spirit-page-title-content {
    position: relative;
    z-index: 2;
    text-align: center;
    padding: 60px 20px;
}

.spirit-page-title {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: var(--spirit-white) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
    margin: 0 !important;
}

/* Breadcrumb navigációs sáv (burgundi) */
.spirit-breadcrumb-bar {
    background-color: var(--spirit-primary);
    padding: 10px 0;
    text-align: center;
}

.spirit-breadcrumb-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--spirit-white);
}

.spirit-breadcrumb-content a {
    color: var(--spirit-white) !important;
    text-decoration: none;
    opacity: 0.85;
    transition: opacity 0.3s ease;
}

.spirit-breadcrumb-content a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Belső oldalak entry-title elrejtése (a Page Title Bar-ban már megjelenik) */
body:not(.home) .entry-header {
    display: none !important;
}

/* --- HERO SZEKCIÓ --- */
.spirit-hero {
    min-height: 100vh;
    padding-top: 15% !important;
    padding-bottom: 5% !important;
    background-position: center top !important;
    background-size: cover !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.spirit-hero .wp-block-group {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex;
    flex-direction: column;
}

.spirit-hero-title-left {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 5rem !important;
    font-weight: 300 !important;
    color: #ffffff !important;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
    text-transform: lowercase;
    margin-bottom: 0 !important;
    text-align: left !important;
    line-height: 1.1 !important;
    width: 100% !important;
    display: block !important;
}

.spirit-hero-title-right {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 6rem !important;
    font-weight: 900 !important;
    color: var(--spirit-primary) !important;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
    text-transform: lowercase;
    margin-top: -15px !important;
    margin-bottom: 20px !important;
    text-align: right !important;
    line-height: 1.2 !important;
    width: 100% !important;
    display: block !important;
}

.spirit-hero-sub {
    color: #ffffff !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.8);
    text-transform: uppercase;
    margin-bottom: 30px !important;
    text-align: right !important;
    width: 100% !important;
}

.spirit-btn-primary a {
    background-color: var(--spirit-primary) !important;
    color: var(--spirit-white) !important;
    border-radius: 30px !important;
    padding: 15px 40px !important;
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase;
    border: none !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3) !important;
    transition: all 0.3s ease !important;
    text-decoration: none;
}

.spirit-btn-primary a:hover {
    background-color: var(--spirit-white) !important;
    color: var(--spirit-primary) !important;
    box-shadow: 0 6px 15px rgba(0,0,0,0.4) !important;
}

/* --- HULLÁM ELVÁLASZTÓK (WAVE DIVIDERS) --- */
.spirit-wave-divider {
    width: 100%;
    height: 60px;
    margin: 0;
    padding: 0;
    background-repeat: no-repeat;
    background-size: 100% 100%;
}

.spirit-wave-white-down {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0,100 C20,0 50,0 100,100 Z' fill='%23ffffff'/></svg>");
}

.spirit-wave-gold-down {
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0,100 C20,0 50,0 100,100 Z' fill='%23f2e3d5'/></svg>");
    transform: scaleY(-1);
}

.spirit-wave-purple-on-gold {
    background-color: #f2e3d5;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><path d='M0,100 C20,0 50,0 100,100 Z' fill='%238a1b41'/></svg>");
}

/* --- DINAMIKUS AMELIA ÓRAREND SZEKCIÓ --- */
.spirit-timetable-section {
    padding: 60px 0;
    background-color: var(--spirit-white);
    text-align: center;
}

.spirit-timetable-title {
    font-size: 3rem;
    color: var(--spirit-primary);
    text-transform: lowercase;
    margin-bottom: 20px;
}

.spirit-timetable-alert-box {
    background-color: var(--spirit-primary);
    color: var(--spirit-white);
    max-width: 800px;
    margin: 0 auto 40px auto;
    padding: 25px;
    border-radius: 25px;
    box-shadow: 10px 10px 30px rgba(30, 36, 54, 0.25);
    text-align: center;
}

.spirit-timetable-alert-box h2 {
    color: var(--spirit-white) !important;
    font-size: 2rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    line-height: 1.3;
}

/* Szűrők és Navigáció */
.spirit-timetable-filters {
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.spirit-filter-btn {
    background: transparent;
    border: 2px solid var(--spirit-primary);
    color: var(--spirit-primary);
    padding: 10px 30px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.spirit-filter-btn.active, .spirit-filter-btn:hover {
    background: var(--spirit-primary);
    color: var(--spirit-white);
    box-shadow: 0 5px 15px rgba(138, 27, 65, 0.25);
    border-color: var(--spirit-primary);
}

.spirit-timetable-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

.spirit-nav-btn {
    background: var(--spirit-secondary);
    color: var(--spirit-white);
    border: none;
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.spirit-nav-btn:hover {
    background: var(--spirit-primary);
    transform: scale(1.05);
    box-shadow: 0 6px 12px rgba(138, 27, 65, 0.2);
}

.spirit-current-week-label {
    font-family: 'Cardo', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--spirit-secondary);
    letter-spacing: 1px;
}

/* Mobil Napválasztó Gombok (Csak mobilon látható) */
.spirit-mobile-day-selector {
    display: none;
    justify-content: flex-start;
    gap: 8px;
    margin-bottom: 25px;
    overflow-x: auto;
    padding: 0 10px 10px 10px;
    scrollbar-width: none;
}

.spirit-mobile-day-selector::-webkit-scrollbar {
    display: none;
}

.spirit-mobile-day-btn {
    background: #ffffff;
    border: 1px solid rgba(30, 36, 54, 0.08);
    color: var(--spirit-secondary);
    padding: 10px 18px;
    border-radius: 30px;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 700;
    min-width: 90px;
    transition: all 0.25s ease;
    flex-shrink: 0;
}

.spirit-mobile-day-btn.active {
    background: var(--spirit-primary);
    color: var(--spirit-white);
    border-color: var(--spirit-primary);
    box-shadow: 0 6px 15px rgba(138, 27, 65, 0.2);
}

/* Heti Grid (Rács) Órarend */
.spirit-grid-timetable {
    display: flex;
    max-width: 1400px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(30, 36, 54, 0.06);
    box-shadow: 0 15px 45px rgba(30, 36, 54, 0.03);
    padding: 20px;
    overflow-x: auto;
}

/* Fix bal oldali időtengely */
.spirit-grid-time-axis {
    width: 65px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

.spirit-axis-header {
    height: 60px; /* Egy magasságban van az oszlop fejlécekkel */
    border-bottom: 2px solid rgba(30, 36, 54, 0.06);
}

.spirit-axis-hours {
    position: relative;
    height: 1040px; /* 13 óra * 80px */
}

.spirit-axis-hour-label {
    height: 80px; /* 1 óra = 80px magasság */
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 600;
    color: #a0aec0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: 2px;
}

/* Napok oszlopai */
.spirit-grid-days-columns {
    display: flex;
    flex-grow: 1;
}

.spirit-grid-day-col {
    flex: 1;
    min-width: 150px;
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(30, 36, 54, 0.05);
}

.spirit-grid-day-col:first-child {
    border-left: none;
}

.spirit-grid-day-col.today-col {
    background: rgba(138, 27, 65, 0.02);
}

/* Oszlop fejléc stílusa */
.spirit-grid-col-header {
    height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid rgba(30, 36, 54, 0.06);
    padding-bottom: 8px;
}

.today-col .spirit-grid-col-header {
    border-bottom-color: var(--spirit-primary);
}

.grid-day-name {
    font-family: 'Cardo', Georgia, serif;
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--spirit-secondary);
    text-transform: uppercase;
}

.today-col .grid-day-name {
    color: var(--spirit-primary);
}

.grid-day-date {
    font-size: 0.8rem;
    color: #a0aec0;
    font-weight: 600;
    margin-top: 2px;
}

.today-col .grid-day-date {
    color: var(--spirit-primary);
}

/* Órák konténere (Grid) */
.spirit-grid-classes-container {
    position: relative;
    height: 1040px; /* 13 óra * 80px */
}

/* Finom vízszintes rácsvonalak háttere */
.spirit-grid-bg-lines {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.spirit-grid-bg-line {
    height: 80px;
    border-bottom: 1px solid rgba(30, 36, 54, 0.04);
    box-sizing: border-box;
}

/* Egyedi óra kártya */
.spirit-grid-class-card {
    position: absolute;
    z-index: 5;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(30, 36, 54, 0.04);
    border: 1px solid rgba(30, 36, 54, 0.05);
    border-left: 4px solid #718096;
    overflow: hidden;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.spirit-grid-class-card:hover {
    z-index: 10;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(30, 36, 54, 0.08);
}

.spirit-grid-class-card.room-nagyterem {
    border-left-color: var(--spirit-primary);
}

.spirit-grid-class-card.room-kisterem {
    border-left-color: #3182ce;
}

/* Kártya kattinthatóság link wrappere */
.spirit-grid-card-link-wrapper {
    text-decoration: none !important;
    color: inherit !important;
    display: block;
    height: 100%;
    width: 100%;
}

.spirit-grid-card-inner {
    padding: 10px 8px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 4px;
    box-sizing: border-box;
}

.spirit-grid-card-title {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 0.9rem !important; /* Kissé finomítottunk, hogy szűk helyen se lógjon ki */
    font-weight: 700 !important;
    color: var(--spirit-secondary) !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    text-transform: uppercase;
    word-wrap: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.spirit-grid-card-time {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--spirit-primary);
    margin-bottom: 2px;
}

.spirit-grid-card-meta {
    display: flex;
    flex-direction: column;
    gap: 1px;
    font-size: 0.75rem;
    color: #718096;
    margin-top: auto; /* Alulra igazítjuk az oktatót és termet */
    overflow: hidden;
}

.spirit-grid-card-meta .trainer {
    font-weight: 700;
    color: var(--spirit-secondary);
    text-decoration: underline; /* Jelzi a kattinthatóságot a profilra */
}

.spirit-grid-card-meta .room-label {
    font-size: 0.7rem;
    font-weight: 500;
    opacity: 0.85;
}

.spirit-grid-book-btn {
    background-color: var(--spirit-primary);
    color: var(--spirit-white);
    border: none;
    border-radius: 15px;
    padding: 4px 10px;
    font-size: 0.7rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    width: 100%;
    margin-top: 4px;
    box-shadow: 0 3px 8px rgba(138, 27, 65, 0.15);
}

.spirit-grid-book-btn:hover {
    background-color: var(--spirit-secondary);
}

/* Amelia Booking Modal */
.spirit-booking-modal {
    display: none;
    position: fixed;
    z-index: 100000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(30, 36, 54, 0.6);
    backdrop-filter: blur(5px);
}

.spirit-booking-modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 30px;
    border: none;
    width: 92%;
    max-width: 750px;
    border-radius: 20px; /* Szép lekerekített popup */
    box-shadow: 0 15px 45px rgba(30, 36, 54, 0.25);
    position: relative;
    animation: spiritModalAnim 0.3s ease-out;
}

@keyframes spiritModalAnim {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.spirit-booking-close {
    color: #aaa;
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    transition: color 0.2s;
    line-height: 1;
}

.spirit-booking-close:hover {
    color: var(--spirit-primary);
}

.spirit-loader {
    padding: 40px;
    font-size: 1.1rem;
    color: var(--spirit-secondary);
    font-weight: 600;
}

/* Mobil reszponzív nézet: Csak az aktív nap rácsa látszik, vízszintes napválasztóval */
@media (max-width: 960px) {
    .spirit-mobile-day-selector {
        display: flex;
    }
    
    .spirit-grid-days-columns {
        width: 100%;
    }
    
    .spirit-grid-day-col {
        display: none; /* Alapból elrejtjük a napokat */
        width: 100%;
        border-left: none;
    }
    
    .spirit-grid-day-col.active-mobile-col {
        display: flex; /* Csak az aktív nap látszik */
    }
    
    .spirit-grid-col-header {
        display: none; /* Mobilon a napválasztó gombok helyettesítik a fejlécet */
    }
    
    .spirit-grid-class-card {
        left: 2px;
        right: 2px;
    }
    
    .spirit-grid-card-inner {
        padding: 8px;
    }
    
    .spirit-grid-card-title {
        font-size: 0.9rem !important;
    }
}

/* --- OKTATÓK SZEKCIÓ --- */
.spirit-instructors-section {
    background-color: var(--spirit-gold-sand);
    padding: 60px 0 80px 0;
    text-align: center;
}

.spirit-instructors-grid,
.spirit-instructors-grid > div {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 30px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    flex-wrap: wrap !important;
}

.spirit-instructor-card {
    background: var(--spirit-white);
    border-radius: 12px;
    padding: 30px 20px;
    flex: 1 1 290px !important; /* Szélesség finomhangolás 310px maxhoz */
    max-width: 310px !important;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    text-align: center;
}

.spirit-instructor-img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 20px;
    border: 3px solid var(--spirit-primary);
}

/* --- BLOG SZEKCIÓ --- */
.spirit-blog-section {
    background-image: linear-gradient(0deg, var(--spirit-primary) 0%, rgba(138, 27, 65, 0.8) 100%), url('https://hrvhoszig.hu/wp-content/uploads/2022/09/blog-header-1.jpg');
    background-size: cover;
    background-position: center;
    padding: 80px 0;
    text-align: center;
}

.spirit-blog-grid,
.spirit-blog-grid > div {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    gap: 30px !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    flex-wrap: wrap !important;
}

.spirit-blog-card {
    background: rgba(30, 36, 54, 0.85);
    border-radius: 12px;
    overflow: hidden;
    flex: 1 1 290px !important; /* Szélesség finomhangolás 310px maxhoz */
    max-width: 310px !important;
    text-align: left;
    border: 1px solid rgba(255,255,255,0.1);
    transition: transform 0.3s ease;
}

.spirit-blog-card:hover {
    transform: translateY(-5px);
}

.spirit-blog-img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.spirit-blog-content {
    padding: 20px;
    color: var(--spirit-white);
}

.spirit-blog-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--spirit-white) !important;
    margin-bottom: 10px;
}

/* --- PRICING TABLE --- */
.spirit-pricing-table {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 30px 0;
    justify-content: center;
}

.spirit-pricing-column {
    background: var(--spirit-white);
    border: 1px solid var(--spirit-border);
    border-radius: 8px;
    padding: 24px;
    flex: 1 1 250px;
    max-width: 300px;
    text-align: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.spirit-pricing-column:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.spirit-pricing-header {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--spirit-primary);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.spirit-pricing-price {
    font-size: 2rem;
    font-weight: 800;
    color: var(--spirit-secondary);
    margin-bottom: 20px;
}

.spirit-pricing-price span {
    font-size: 1rem;
    font-weight: 400;
    color: #718096;
}

.spirit-pricing-features {
    list-style: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.spirit-pricing-features li {
    padding: 10px 0;
    border-bottom: 1px solid #edf2f7;
    font-size: 0.95rem;
}

.spirit-pricing-features li:last-child {
    border-bottom: none;
}

/* --- LÁBLÉC (FOOTER) --- */
.site-info {
    background-color: var(--spirit-secondary) !important;
    color: #a0aec0 !important;
    padding: 40px 0 20px 0 !important;
    border-top: 5px solid var(--spirit-primary) !important;
}

.inside-site-info {
    max-width: 100% !important;
    padding: 0 !important;
    display: block !important;
}

.inside-site-info .copyright-bar {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
}

.spirit-footer-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    flex-wrap: wrap;
    gap: 30px;
}

.spirit-footer-col {
    flex: 1 1 300px;
    text-align: center;
}

.spirit-footer-silhouette {
    max-height: 180px;
    opacity: 0.25;
    transition: opacity 0.3s ease;
}

.spirit-footer-silhouette:hover {
    opacity: 0.5;
}

.spirit-footer-middle {
    color: var(--spirit-white) !important;
}

.spirit-footer-middle p {
    color: #e2e8f0 !important;
    margin-bottom: 8px !important;
    font-size: 0.95rem !important;
}

.spirit-footer-logo {
    max-height: 60px;
    margin-bottom: 20px;
}

.spirit-footer-social {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 25px;
}

.spirit-footer-social a {
    color: var(--spirit-white) !important;
    font-size: 0.95rem !important;
    font-weight: 600;
    text-transform: lowercase;
    transition: color 0.3s ease;
    text-decoration: none;
    border-bottom: 1px dotted rgba(255,255,255,0.4);
}

.spirit-footer-social a:hover {
    color: var(--spirit-primary) !important;
    border-bottom-color: var(--spirit-primary);
}

.spirit-footer-copyright-bar {
    border-top: 1px solid rgba(255,255,255,0.1);
    margin-top: 40px;
    padding: 20px 20px 0 20px;
    text-align: center;
    font-size: 0.85rem;
    color: #718096 !important;
}

/* Reszponzív reszelések mobilon */
@media (max-width: 768px) {
    .site-header {
        position: relative !important;
        background: var(--spirit-secondary) !important;
        padding: 10px 0 !important;
    }
    .inside-header {
        flex-direction: column !important;
        gap: 15px !important;
    }
    .main-navigation {
        justify-content: center !important;
        width: 100% !important;
    }
    .main-navigation ul {
        flex-direction: column !important;
        align-items: center !important;
    }
    .spirit-hero {
        padding-top: 10% !important;
        min-height: 60vh;
    }
    .spirit-hero-title-left {
        font-size: 2.2rem !important;
        text-align: center !important;
    }
    .spirit-hero-title-right {
        font-size: 2.6rem !important;
        text-align: center !important;
        margin-top: 0px !important;
    }
    .spirit-hero-sub {
        text-align: center !important;
        font-size: 1rem !important;
    }
    .spirit-footer-container {
        flex-direction: column;
    }
    .spirit-footer-col {
        order: 2;
    }
    .spirit-footer-col:first-child, .spirit-footer-col:last-child {
        display: none;
    }
}

/* =========================================================================
   ONLINE JÓGA & BEJELENTKEZÉS STÍLUSOK (Spirit Gödöllő)
   ========================================================================= */

/* Bejelentkező Kártya (/belepes/) */
.spirit-login-container-card {
    background: #ffffff;
    max-width: 480px;
    margin: 60px auto;
    padding: 40px;
    border-radius: 20px;
    border: 1px solid rgba(30, 36, 54, 0.05);
    box-shadow: 0 15px 45px rgba(30, 36, 54, 0.06);
    text-align: left;
}

.spirit-login-title {
    font-family: 'Cardo', Georgia, serif;
    font-size: 2rem;
    font-weight: 700;
    color: var(--spirit-secondary);
    text-align: center;
    margin-bottom: 30px;
}

.spirit-login-error {
    background: #fff5f5;
    border-left: 4px solid #e53e3e;
    color: #c53030;
    padding: 12px 15px;
    margin-bottom: 20px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
}

.spirit-login-container-card form p {
    margin-bottom: 20px;
}

.spirit-login-container-card label {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--spirit-secondary);
    margin-bottom: 6px;
}

.spirit-login-container-card input[type="text"],
.spirit-login-container-card input[type="password"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    background: #fafbfe;
    font-size: 1rem;
    transition: all 0.2s ease;
}

.spirit-login-container-card input[type="text"]:focus,
.spirit-login-container-card input[type="password"]:focus {
    border-color: var(--spirit-primary);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(138, 27, 65, 0.05);
}

.spirit-login-container-card input[type="submit"] {
    width: 100%;
    background: var(--spirit-primary);
    color: #ffffff;
    border: none;
    border-radius: 30px;
    padding: 14px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.25s ease;
}

.spirit-login-container-card input[type="submit"]:hover {
    background: var(--spirit-secondary);
    box-shadow: 0 5px 15px rgba(30, 36, 54, 0.15);
}

.spirit-login-footer-links {
    text-align: center;
    margin-top: 25px;
}

.spirit-login-footer-links .lost-pass {
    color: #718096;
    font-size: 0.85rem;
    text-decoration: none;
    transition: color 0.2s;
}

.spirit-login-footer-links .lost-pass:hover {
    color: var(--spirit-primary);
}

.spirit-login-divider {
    border: none;
    border-top: 1px solid rgba(0,0,0,0.06);
    margin: 25px 0;
}

.no-account-text {
    font-weight: 600;
    color: var(--spirit-secondary);
    margin-bottom: 15px;
}

/* Zárt / Lakatolt Tartalom Kártyák */
.spirit-locked-container, .spirit-locked-page-box {
    background: #ffffff;
    max-width: 650px;
    margin: 80px auto;
    padding: 50px 40px;
    border-radius: 20px;
    border: 1px solid rgba(30, 36, 54, 0.05);
    box-shadow: 0 15px 45px rgba(30, 36, 54, 0.05);
    text-align: center;
}

.spirit-locked-icon {
    width: 70px;
    height: 70px;
    background: rgba(138, 27, 65, 0.05);
    color: var(--spirit-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px auto;
}

.spirit-locked-icon span {
    font-size: 32px;
    width: 32px;
    height: 32px;
}

.spirit-locked-title {
    font-family: 'Cardo', Georgia, serif;
    font-size: 1.8rem;
    color: var(--spirit-secondary);
    margin-bottom: 15px;
}

.spirit-locked-msg {
    color: #718096;
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 30px;
}

.spirit-locked-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

/* Egyedi Gombok a rendszerben */
.spirit-btn {
    display: inline-block;
    padding: 12px 30px;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 30px;
    cursor: pointer;
    text-decoration: none !important;
    transition: all 0.25s ease;
}

.spirit-btn-primary {
    background: var(--spirit-primary);
    color: #ffffff !important;
    box-shadow: 0 5px 15px rgba(138, 27, 65, 0.2);
}

.spirit-btn-primary:hover {
    background: var(--spirit-secondary);
    box-shadow: 0 5px 15px rgba(30, 36, 54, 0.2);
}

.spirit-btn-outline {
    background: transparent;
    border: 2px solid var(--spirit-primary);
    color: var(--spirit-primary) !important;
}

.spirit-btn-outline:hover {
    background: var(--spirit-primary);
    color: #ffffff !important;
}

/* Videótár Rácsos Megjelenítése */
.spirit-videotar-wrapper {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    text-align: center;
}

.spirit-videotar-main-title {
    font-family: 'Cardo', Georgia, serif;
    font-size: 2.2rem;
    margin-bottom: 30px;
    color: var(--spirit-secondary);
}

.spirit-videotar-filters {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.spirit-video-filter-btn {
    background: transparent;
    border: 2px solid var(--spirit-border);
    color: #718096;
    padding: 8px 22px;
    font-size: 0.85rem;
    font-weight: 700;
    border-radius: 30px;
    cursor: pointer;
    transition: all 0.25s ease;
}

.spirit-video-filter-btn.active, .spirit-video-filter-btn:hover {
    border-color: var(--spirit-primary);
    color: var(--spirit-primary);
    background: rgba(138, 27, 65, 0.03);
}

.spirit-video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
    text-align: left;
}

.spirit-video-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(30, 36, 54, 0.05);
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(30,36,54,0.02);
    transition: all 0.3s ease;
}

.spirit-video-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(30,36,54,0.06);
}

.spirit-video-card-link {
    text-decoration: none !important;
    color: inherit !important;
}

.spirit-video-card-image {
    height: 180px;
    background-size: cover;
    background-position: center center;
    position: relative;
}

.spirit-video-play-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(30, 36, 54, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.spirit-video-card:hover .spirit-video-play-overlay {
    opacity: 1;
}

.spirit-video-play-overlay span {
    font-size: 45px;
    width: 45px;
    height: 45px;
    color: #ffffff;
}

.spirit-video-card-content {
    padding: 20px;
}

.spirit-video-card-title {
    font-family: 'Cardo', Georgia, serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--spirit-secondary);
    margin-bottom: 8px;
    line-height: 1.3;
}

.spirit-video-card-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    color: #718096;
    font-weight: 600;
}

.spirit-video-card-meta .trainer {
    color: var(--spirit-primary);
}

/* Egyedi Lejátszó Oldal Layout */
.spirit-video-single-container {
    max-width: 1000px;
    margin: 50px auto;
    padding: 0 20px;
}

.spirit-video-player-wrapper {
    margin-bottom: 30px;
}

.spirit-video-meta-bar {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

.spirit-video-badge {
    font-size: 0.85rem;
    font-weight: 700;
    padding: 5px 15px;
    border-radius: 20px;
    background: rgba(30,36,54,0.04);
    color: var(--spirit-secondary);
}

.spirit-video-badge.duration {
    background: rgba(138, 27, 65, 0.05);
    color: var(--spirit-primary);
}

.spirit-video-description {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--spirit-text);
}

.spirit-video-wish {
    margin-top: 30px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--spirit-primary);
    font-family: 'Cardo', Georgia, serif;
}


/* =========================================================================
   SPIRIT GÖDÖLLŐ — ÓRAREND ÉS RESZPONZÍV STÍLUSOK VÉGLEGES VÁLTOZAT
   ========================================================================= */

/* Görgethető konténer a heti rácsnak */
.spirit-timetable-scroll-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(30, 36, 54, 0.03);
    background: #ffffff;
    margin-bottom: 30px;
}

.spirit-grid-timetable {
    min-width: 1400px; /* Biztosítja az oszlopok minimális szélességét zsúfoltság ellen */
    position: relative;
    box-sizing: border-box;
}

/* Balra igazított, sáv-alapú kártya tartalom */
.spirit-grid-class-card {
    position: absolute;
    z-index: 5;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(30, 36, 54, 0.04);
    border: 1px solid rgba(30, 36, 54, 0.05);
    border-left: 4px solid #718096;
    overflow: visible !important;
    min-height: 80px !important;
    cursor: pointer;
    transition: all 0.25s ease;
    box-sizing: border-box;
    display: block;
}

.spirit-grid-class-card:hover {
    z-index: 10;
    transform: translateY(-3px);
    box-shadow: 0 10px 30px rgba(138, 27, 65, 0.12);
    border-color: rgba(138, 27, 65, 0.25);
    border-left-width: 6px;
}

.spirit-grid-class-card.room-nagyterem {
    border-left-color: var(--spirit-primary);
}

.spirit-grid-class-card.room-kisterem {
    border-left-color: #3182ce;
}

.spirit-grid-card-inner {
    padding: 8px 10px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: flex-start !important; /* Balra igazítás */
    text-align: left !important; /* Balra igazítás */
    gap: 3px !important;
    box-sizing: border-box !important;
}

/* Tipográfiai hierarchia */
.spirit-grid-card-time {
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    color: var(--spirit-primary) !important;
    margin-bottom: 2px !important;
    display: block !important;
}

.spirit-grid-card-title {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    color: var(--spirit-secondary) !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    display: block !important;
    -webkit-line-clamp: none !important;
}

.spirit-grid-card-meta {
    display: flex !important;
    flex-direction: column !important;
    gap: 1px !important;
    margin-top: auto !important; /* Alulra igazít */
    width: 100% !important;
}

.spirit-grid-card-meta .trainer {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    color: #2d3748 !important;
    text-decoration: none !important;
}

.spirit-grid-card-meta .room-label {
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    color: #718096 !important;
    opacity: 0.9 !important;
}

/* Lábléc social ikonok pseudo-elemeinek teljes letiltása az Avada ütközés ellen */
.spirit-footer-social a::before,
.spirit-footer-social a::after,
.spirit-footer-social a span::before,
.spirit-footer-social a span::after {
    display: none !important;
    content: "" !important;
}

.spirit-footer-social a {
    font-size: 0 !important;
    line-height: 0 !important;
}

.spirit-footer-social a svg {
    width: 24px !important;
    height: 24px !important;
    display: inline-block !important;
}


/* =========================================================================
   HÁZIREND PRÉMIUM DIZÁJN STÍLUSOK
   ========================================================================= */
.spirit-hazirend-wrapper {
    max-width: 1200px !important;
    margin: 40px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.spirit-hazirend-intro {
    background: #ffffff !important;
    padding: 35px 40px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(30, 36, 54, 0.03) !important;
    margin-bottom: 45px !important;
    border-left: 6px solid var(--spirit-primary) !important;
}

.spirit-hazirend-intro h3 {
    font-size: 2.2rem !important;
    color: var(--spirit-primary) !important;
    margin: 0 0 15px 0 !important;
    font-family: 'Cardo', Georgia, serif !important;
}

.spirit-hazirend-intro p {
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: #4a5568 !important;
    margin: 0 !important;
}

.spirit-hazirend-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 25px !important;
}

@media (max-width: 768px) {
    .spirit-hazirend-grid {
        grid-template-columns: 1fr !important;
    }
}

.spirit-hazirend-card {
    background: #ffffff !important;
    border-radius: 14px !important;
    padding: 25px 30px !important;
    box-shadow: 0 6px 20px rgba(30, 36, 54, 0.02) !important;
    border: 1px solid rgba(30, 36, 54, 0.04) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.spirit-hazirend-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(138, 27, 65, 0.06) !important;
    border-color: rgba(138, 27, 65, 0.15) !important;
}

.spirit-hazirend-card-header {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
}

.rule-number {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    background: rgba(138, 27, 65, 0.08) !important;
    color: var(--spirit-primary) !important;
    font-weight: 700 !important;
    font-size: 1.1rem !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.rule-title {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: var(--spirit-secondary) !important;
    margin: 0 !important;
}

.spirit-hazirend-card-body p {
    font-size: 0.96rem !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    margin: 0 !important;
}

.spirit-hazirend-footer {
    text-align: center !important;
    margin-top: 50px !important;
    padding: 20px !important;
}

.spirit-hazirend-footer h3 {
    font-size: 2.8rem !important;
    color: var(--spirit-primary) !important;
    font-family: 'Cardo', Georgia, serif !important;
    font-style: italic !important;
    margin: 0 !important;
}



/* =========================================================================
   HÁZIREND ÚJ PRÉMIUM DIZÁJN - JÓGA STÍLUS
   ========================================================================= */
.spirit-hazirend-premium {
    max-width: 1200px !important;
    margin: 60px auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.spirit-hazirend-hero {
    text-align: center !important;
    margin-bottom: 60px !important;
    background: #fdfbfb !important;
    background: linear-gradient(135deg, #fdfbfb 0%, #f7f3f3 100%) !important;
    padding: 50px 40px !important;
    border-radius: 24px !important;
    box-shadow: 0 15px 45px rgba(138, 27, 65, 0.03) !important;
    border: 1px solid rgba(138, 27, 65, 0.05) !important;
}

.spirit-hazirend-hero h2 {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 3rem !important;
    color: #8a1b41 !important;
    margin-bottom: 20px !important;
    font-weight: 400 !important;
}

.spirit-hazirend-subtitle {
    font-size: 1.15rem !important;
    line-height: 1.8 !important;
    color: #4a5568 !important;
    max-width: 850px !important;
    margin: 0 auto 30px auto !important;
}

.spirit-hazirend-alert {
    background: rgba(138, 27, 65, 0.05) !important;
    border-left: 4px solid #8a1b41 !important;
    padding: 15px 25px !important;
    border-radius: 8px !important;
    color: #8a1b41 !important;
    font-weight: 700 !important;
    font-size: 1.02rem !important;
    display: inline-block !important;
    max-width: 800px !important;
}

.spirit-hazirend-sections {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 35px !important;
}

@media (max-width: 900px) {
    .spirit-hazirend-sections {
        grid-template-columns: 1fr !important;
    }
}

.spirit-hazirend-section-card {
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 40px 35px !important;
    box-shadow: 0 10px 30px rgba(30, 36, 54, 0.02) !important;
    border: 1px solid rgba(30, 36, 54, 0.04) !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}

.spirit-hazirend-section-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 40px rgba(138, 27, 65, 0.08) !important;
    border-color: rgba(138, 27, 65, 0.1) !important;
}

.section-icon {
    font-size: 2.2rem !important;
    margin-bottom: 15px !important;
    display: inline-block !important;
}

.spirit-hazirend-section-card h3 {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 1.6rem !important;
    color: #1e2436 !important;
    margin-bottom: 25px !important;
    border-bottom: 1px solid #f7f3f3 !important;
    padding-bottom: 15px !important;
    font-weight: 700 !important;
}

.rule-item {
    display: flex !important;
    gap: 15px !important;
    margin-bottom: 20px !important;
    align-items: flex-start !important;
}

.rule-item:last-child {
    margin-bottom: 0 !important;
}

.rule-num {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    background: rgba(138, 27, 65, 0.06) !important;
    color: #8a1b41 !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
}

.rule-item p {
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    margin: 0 !important;
}

.rule-item p strong {
    color: #1e2436 !important;
}

.spirit-hazirend-footer-new {
    text-align: center !important;
    margin-top: 70px !important;
    padding: 30px !important;
    background: #fdfbfb !important;
    border-radius: 20px !important;
}

.spirit-hazirend-footer-new p {
    font-size: 1.25rem !important;
    color: #4a5568 !important;
    margin-bottom: 10px !important;
}

.spirit-signature {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 2.2rem !important;
    color: #8a1b41 !important;
    font-style: italic !important;
}


/* =========================================================================
   KAPCSOLAT PRÉMIUM DIZÁJN - JÓGA STÍLUS
   ========================================================================= */
.spirit-contact-wrapper {
    max-width: 1200px !important;
    margin: 60px auto !important;
    padding: 0 20px !important;
    display: grid !important;
    grid-template-columns: 1fr 1.2fr !important;
    gap: 50px !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    .spirit-contact-wrapper {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        margin: 30px auto !important;
    }
}

/* Bal oldal stílusai */
.spirit-contact-info-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

.spirit-contact-info-card h3 {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 2.8rem !important;
    color: #8a1b41 !important;
    margin-bottom: 20px !important;
    font-weight: 400 !important;
}

.spirit-contact-subtitle {
    font-size: 1.05rem !important;
    line-height: 1.7 !important;
    color: #4a5568 !important;
    margin-bottom: 40px !important;
}

.spirit-contact-info-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
}

.spirit-contact-item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 20px !important;
}

.spirit-contact-item .item-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    background: rgba(138, 27, 65, 0.06) !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

.spirit-contact-item .item-details h4 {
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: #1e2436 !important;
    margin: 0 0 5px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.spirit-contact-item .item-details p {
    font-size: 1.02rem !important;
    color: #4a5568 !important;
    margin: 0 !important;
}

.spirit-contact-item .item-details p a {
    color: #4a5568 !important;
    transition: color 0.2s ease !important;
}

.spirit-contact-item .item-details p a:hover {
    color: #8a1b41 !important;
}

/* Jobb oldal - Űrlap stílusai */
.spirit-contact-form-card {
    background: #ffffff !important;
    border-radius: 24px !important;
    padding: 45px !important;
    box-shadow: 0 15px 45px rgba(30, 36, 54, 0.03) !important;
    border: 1px solid rgba(30, 36, 54, 0.04) !important;
    box-sizing: border-box !important;
}

@media (max-width: 480px) {
    .spirit-contact-form-card {
        padding: 25px !important;
    }
}

.spirit-contact-form-card h3 {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 1.8rem !important;
    color: #1e2436 !important;
    margin-bottom: 30px !important;
    font-weight: 700 !important;
}

.form-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin-bottom: 20px !important;
}

.form-group label {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #1e2436 !important;
}

.form-group input,
.form-group textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fcfcfd !important;
    font-size: 1rem !important;
    color: #1e2436 !important;
    box-sizing: border-box !important;
    transition: all 0.25s ease !important;
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: #8a1b41 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(138, 27, 65, 0.06) !important;
    outline: none !important;
}

.spirit-contact-btn {
    width: 100% !important;
    background: #8a1b41 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 16px 30px !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 12px rgba(138, 27, 65, 0.2) !important;
}

.spirit-contact-btn:hover {
    background: #1e2436 !important;
    box-shadow: 0 6px 20px rgba(30, 36, 54, 0.2) !important;
    transform: translateY(-2px) !important;
}

/* Teljes szélességű Google Térkép */
.spirit-contact-map-full {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 60px !important;
    margin-bottom: -50px !important; /* Szorosan illeszkedik a footerhez */
    line-height: 0 !important;
}

.spirit-contact-map-full iframe {
    display: block !important;
    width: 100% !important;
}


/* =========================================================================
   BLOG PRÉMIUM DIZÁJN - JÓGA STÍLUS
   ========================================================================= */
.spirit-blog-layout {
    max-width: 1200px !important;
    margin: 60px auto !important;
    padding: 0 20px !important;
    display: grid !important;
    grid-template-columns: 1.8fr 1fr !important;
    gap: 40px !important;
    box-sizing: border-box !important;
}

@media (max-width: 960px) {
    .spirit-blog-layout {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
}

.spirit-blog-page-title {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 2.8rem !important;
    color: #8a1b41 !important;
    margin-bottom: 30px !important;
    font-weight: 400 !important;
}

/* Cikk grid */
.spirit-blog-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important;
}

@media (max-width: 640px) {
    .spirit-blog-grid {
        grid-template-columns: 1fr !important;
    }
}

.spirit-blog-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(30, 36, 54, 0.02) !important;
    border: 1px solid rgba(30, 36, 54, 0.04) !important;
    display: flex !important;
    flex-direction: column !important;
    transition: all 0.3s ease !important;
}

.spirit-blog-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 35px rgba(138, 27, 65, 0.07) !important;
    border-color: rgba(138, 27, 65, 0.08) !important;
}

.spirit-blog-card-image {
    height: 200px !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
}

.spirit-blog-card-link-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 2 !important;
}

.spirit-blog-card-content {
    padding: 25px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.spirit-blog-card-date {
    font-size: 0.85rem !important;
    color: #a0aec0 !important;
    margin-bottom: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.spirit-blog-card-content h3 {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 1.35rem !important;
    line-height: 1.4 !important;
    margin: 0 0 15px 0 !important;
}

.spirit-blog-card-content h3 a {
    color: #1e2436 !important;
    transition: color 0.2s ease !important;
}

.spirit-blog-card-content h3 a:hover {
    color: #8a1b41 !important;
}

.spirit-blog-card-content p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    margin: 0 0 20px 0 !important;
    flex-grow: 1 !important;
}

.spirit-blog-readmore {
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: #8a1b41 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: color 0.2s ease !important;
}

.spirit-blog-readmore:hover {
    color: #1e2436 !important;
}

/* Sidebar kártyák */
.spirit-blog-sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 30px !important;
}

.spirit-sidebar-card {
    background: #ffffff !important;
    border-radius: 20px !important;
    padding: 35px !important;
    box-shadow: 0 10px 30px rgba(30, 36, 54, 0.02) !important;
    border: 1px solid rgba(30, 36, 54, 0.04) !important;
}

.spirit-sidebar-card h3 {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 1.5rem !important;
    color: #8a1b41 !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
}

.spirit-newsletter-card {
    background: #fdfbfb !important;
    background: linear-gradient(135deg, #fdfbfb 0%, #f7f3f3 100%) !important;
    border: 1px solid rgba(138, 27, 65, 0.05) !important;
}

.spirit-newsletter-card p {
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
    margin-bottom: 25px !important;
}

.spirit-newsletter-form {
    display: flex !important;
    flex-direction: column !important;
    gap: 15px !important;
}

.spirit-newsletter-form input {
    width: 100% !important;
    padding: 12px 15px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    font-size: 0.95rem !important;
    box-sizing: border-box !important;
}

.spirit-newsletter-form button {
    background: #8a1b41 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 25px !important;
    padding: 12px 25px !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
}

.spirit-newsletter-form button:hover {
    background: #1e2436 !important;
}

/* Kundalini esemény kártya */
.spirit-sidebar-event-img {
    height: 160px !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 12px !important;
    margin-bottom: 20px !important;
}

.spirit-sidebar-card h4 {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    color: #1e2436 !important;
    margin: 0 0 10px 0 !important;
}

.spirit-sidebar-card .event-date {
    font-size: 0.9rem !important;
    color: #8a1b41 !important;
    font-weight: 700 !important;
    margin: 0 !important;
}

/* Sidebar gomb */
.spirit-sidebar-btn {
    display: block !important;
    text-align: center !important;
    background: #8a1b41 !important;
    color: #ffffff !important;
    padding: 12px 25px !important;
    border-radius: 25px !important;
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.25s ease !important;
}

.spirit-sidebar-btn:hover {
    background: #1e2436 !important;
    color: #ffffff !important;
}


/* =========================================================================
   1700PX GLOBÁLIS SZÉLESSÉG ÉS PREMIUM BLOG FINOMHANGOLÁS
   ========================================================================= */
/* Felszabadítjuk az összes aloldalt és a belső konténereket 1700px szélességre */
.spirit-hazirend-premium,
.spirit-contact-wrapper,
.spirit-blog-layout {
    max-width: 1700px !important;
    margin: 60px auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

@media (max-width: 1200px) {
    .spirit-hazirend-premium,
    .spirit-contact-wrapper,
    .spirit-blog-layout {
        padding: 0 20px !important;
    }
}

/* Új 3-oszlopos elrendezés a blogcikkeknek a 1700px-es tágas térben */
.spirit-blog-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 35px !important;
}

@media (max-width: 1300px) {
    .spirit-blog-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 768px) {
    .spirit-blog-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Elegánsabb Blog Kártyák */
.spirit-blog-card {
    background: #ffffff !important;
    border-radius: 20px !important;
    border: 1px solid rgba(138, 27, 65, 0.05) !important;
    box-shadow: 0 12px 35px rgba(30, 36, 54, 0.02) !important;
}

.spirit-blog-card-content h3 {
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}

.spirit-blog-readmore {
    display: inline-block !important;
    background: rgba(138, 27, 65, 0.05) !important;
    color: #8a1b41 !important;
    padding: 8px 18px !important;
    border-radius: 20px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    transition: all 0.25s ease !important;
    margin-top: 10px !important;
    text-align: center !important;
}

.spirit-blog-readmore:hover {
    background: #8a1b41 !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* =========================================================================
   EGYEDI BLOGCIKK BELSŐ OLDAL (SINGLE POST) DIZÁJN
   ========================================================================= */
.single-post .site-main {
    max-width: 100% !important;
    width: 100% !important;
}

.single-post #primary {
    max-width: 1200px !important; /* Olvashatósági korlát a belső cikknek */
    margin: 60px auto !important;
    padding: 0 20px !important;
}

.single-post .entry-header {
    text-align: center !important;
    margin-bottom: 40px !important;
}

.single-post .entry-title {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 3.2rem !important;
    color: #8a1b41 !important;
    line-height: 1.25 !important;
    margin-bottom: 20px !important;
}

.single-post .entry-meta {
    font-size: 0.95rem !important;
    color: #a0aec0 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.single-post .featured-image {
    margin-bottom: 50px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 50px rgba(30, 36, 54, 0.08) !important;
}

.single-post .entry-content {
    font-size: 1.15rem !important;
    line-height: 1.9 !important;
    color: #2d3748 !important;
    font-family: 'Inter', system-ui, sans-serif !important;
}

.single-post .entry-content p {
    margin-bottom: 30px !important;
}

/* Első betű kiemelés (drop cap) a cikk kezdetén */
.single-post .entry-content > p:first-of-type::first-letter {
    font-family: 'Cardo', Georgia, serif !important;
    font-size: 4.5rem !important;
    float: left !important;
    line-height: 1 !important;
    margin-right: 15px !important;
    margin-top: 5px !important;
    color: #8a1b41 !important;
    font-weight: 700 !important;
}

/* Drop-cap selector fix */
.single-post .entry-content > p:first-of-type::first-letter,
.single-post .entry-content .post-content > p:first-of-type::first-letter { font-family: 'Cardo', Georgia, serif !important; font-size: 4.5rem !important; float: left !important; line-height: 1 !important; margin-right: 15px !important; margin-top: 5px !important; color: #8a1b41 !important; font-weight: 700 !important; }

/* =========================================================================
   KIZÁRÓLAG ALOLDALAKRA KORLÁTOZOTT PRÉMIUM SZÉLESSÉG
   ========================================================================= */
/* Csak a belső aloldalakon tágítjuk a fő burkolót */
.page:not(.home) #page.grid-container,
.single-post #page.grid-container {
    max-width: 100% !important;
    width: 100% !important;
}

.page:not(.home) .site-content,
.page:not(.home) #content,
.page:not(.home) .site-main,
.page:not(.home) article,
.page:not(.home) .inside-article,
.single-post .site-content,
.single-post #content,
.single-post .site-main,
.single-post article,
.single-post .inside-article {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important; /* Megakadályozza a flex szétcsúszást */
}

/* Belső konténerek szélességének beállítása 1700px-re az aloldalakon */
.page:not(.home) .spirit-hazirend-premium,
.page:not(.home) .spirit-contact-wrapper,
.page:not(.home) .spirit-blog-layout {
    max-width: 1700px !important;
    margin: 60px auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

@media (max-width: 1200px) {
    .page:not(.home) .spirit-hazirend-premium,
    .page:not(.home) .spirit-contact-wrapper,
    .page:not(.home) .spirit-blog-layout {
        padding: 0 20px !important;
    }
}


/* =========================================================================
   STABIL PRÉMIUM ELRENDEZÉS - FŐOLDAL ÉS ALOLDALAK EGYÜTTES JAVÍTÁSA
   ========================================================================= */
/* Felszabadítjuk a fő grid burkolót a 1200px-es GeneratePress korlát alól mind a Főoldalon, mind az Aloldalakon */
#page.grid-container {
    max-width: 100% !important;
    width: 100% !important;
}

/* Biztosítjuk, hogy a szekciók függőlegesen egymás alá rendeződjenek (Block elrendezés) a Főoldalon és az Aloldalakon is */
.site-content,
#content,
.site-main,
article,
.inside-article {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important; /* Stack sections vertically - MEGGÁTOLJA A VÍZSZINTES ÖSSZEOMLÁST! */
}

/* Kezdőlapi centrált Spirit konténer */
.spirit-container,
.spirit-hero-content {
    max-width: 1700px !important;
    margin: 0 auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Belső aloldalak (Házirend, Kapcsolat, Blog) 1700px széles konténerigazítása */
.spirit-hazirend-premium,
.spirit-contact-wrapper,
.spirit-blog-layout {
    max-width: 1700px !important;
    margin: 60px auto !important;
    padding: 0 40px !important;
    box-sizing: border-box !important;
}

@media (max-width: 1200px) {
    .spirit-hazirend-premium,
    .spirit-contact-wrapper,
    .spirit-blog-layout {
        padding: 0 20px !important;
    }
}
