/* ========================================================================
   IRON CONVENT
   ======================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Poppins:wght@300;400;500;600&display=swap');

:root {
    --luxury-gold: linear-gradient(135deg, #bf953f, #fcf6ba, #b38728, #fbf5b7, #aa771c);
    --gold-solid: #d4af37;
    --dark-bg: #000000;
    --card-bg: #141414;
    --white: #ffffff;
}

/*globalne*/
body {
    background-color: var(--dark-bg);
    color: var(--white);
    font-family: 'Poppins', sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Fix: zapobiega pływaniu strony na boki */
}

a, a:hover, a:focus, a:active, a:visited {
    text-decoration: none !important;
    color: inherit;
}

.gold-text {
    background: var(--luxury-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/*logo i branding*/
.ic-main-logo-img { height: 55px; width: auto; transition: transform 0.3s ease; }
.navbar-brand:hover .ic-main-logo-img { transform: scale(1.05); }
.logo_name {
    font-family: 'Montserrat', serif;
    font-size: 28px !important;
    font-weight: 900 !important;
    background: var(--luxury-gold);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}
.logo_name span {
    background: var(--luxury-gold) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/*navbar*/
.main-header { background: #000000 !important; border-bottom: 1px solid rgba(212, 175, 55, 0.2); }
.header-top { background: #000; border-bottom: 1px solid #111; font-size: 13px; padding: 5px 0; }
.header-lower { padding: 20px 0; }

.main-menu.navbar-nav { gap: 12px; }
.main-menu.navbar-nav li.nav-link a {
    color: var(--white) !important;
    font-weight: 500;
    font-size: 13px !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 22px !important;
    border-radius: 50px;
    border: 2px solid transparent !important;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.main-menu.navbar-nav li.nav-link:not(.current) a:hover {
    background: var(--luxury-gold) !important;
    color: #000000 !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(212, 175, 55, 0.3);
}
.main-menu.navbar-nav li.nav-link.current a {
    border: 2px solid var(--gold-solid) !important;
    color: var(--gold-solid) !important;
    background: transparent !important;
    font-weight: 700 !important;
}

/*przyciski*/
.ic-btn-primary, .ic-btn-outline {
    background: transparent !important;
    color: var(--white) !important;
    border: 2px solid var(--gold-solid) !important;
    border-radius: 50px !important;
    padding: 12px 30px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}
.ic-btn-primary:hover, .ic-btn-outline:hover {
    background: var(--luxury-gold) !important;
    color: #000000 !important;
    border-color: transparent !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(212, 175, 55, 0.4);
}

/*studio kursy*/
.ic-page-header { padding: 80px 0 40px; }

/*responsywnosc na podstronach*/
.ic-main-title { 
    font-family: 'Montserrat', serif; 
    font-size: clamp(2rem, 8vw, 3.5rem) !important; 
    line-height: 1.2;
    overflow-wrap: break-word;
}
.ic-main-title span { background: var(--luxury-gold); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.ic-course-card {
    background: var(--card-bg);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(212, 175, 55, 0.1);
    transition: all 0.4s ease;
}
.ic-course-card:hover { transform: translateY(-10px); border-color: var(--gold-solid); }

.ic-course-img { position: relative; height: 300px; overflow: hidden; }
.ic-course-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.ic-course-card:hover .ic-course-img img { transform: scale(1.1); }

.ic-course-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(0,0,0,0.6);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: 0.4s;
}
.ic-course-card:hover .ic-course-overlay { opacity: 1; }

.ic-course-info { padding: 25px; text-align: center; }
.ic-course-info h3 { font-family: 'Montserrat', serif; color: var(--gold-solid); margin: 0; }

.ic-check-list { list-style: none; padding: 0; }
.ic-check-list li { padding-left: 30px; position: relative; margin-bottom: 12px; }
.ic-check-list li::before {
    content: '\f00c'; font-family: 'FontAwesome'; position: absolute; left: 0; color: var(--gold-solid);
}

.ic-about-card {
    background: var(--card-bg);
    padding: 50px;
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,0.05);
    transition: 0.3s;
}
.ic-about-card:hover { border-color: rgba(212, 175, 55, 0.3); }

/*sekcje i dekoratory*/
.ic-decorator-line { width: 80px; height: 3px; background: var(--luxury-gold); margin: 20px 0; }

/*slider na hero*/
@media (min-width: 992px) {
    .ic-slider-img { height: 65vh !important; }
}
@media (max-width: 991px) {
    .ic-slider-img { height: 70vh; }
}

.ic-slider-img { width: 100%; object-fit: cover; filter: brightness(0.4); }
.ic-caption-glow { text-align: left !important; bottom: 25% !important; }

/*tytuł na sliderze*/
.ic-slide-title { 
    font-family: 'Montserrat', serif; 
    font-size: clamp(2.2rem, 10vw, 4rem) !important; 
    line-height: 1.1; 
    color: var(--white); 
    margin-bottom: 20px; 
}

/*footer */
.main-footer { border-top: 1px solid #222; background: #050505; padding: 60px 0 20px 0; }
.ic-social-icon { width: 22px; transition: 0.4s; }
.ic-social-icon:hover { transform: translateY(-3px) scale(1.1); }

/*responsywnosc na tel*/
@media (max-width: 991px) {
    .ic-about-card {
        padding: 30px 20px;
        margin-top: 20px;
    }
    .sticky-top {
        position: static !important;
        margin-top: 30px;
    }
}

@media (max-width: 767px) {
    .ic-page-header {
        text-align: center;
        padding: 40px 0;
    }
    .ic-decorator-line {
        margin: 15px auto !important;
    }
    .breadcrumb {
        justify-content: center;
    }
    .d-flex.gap-3 {
        flex-direction: column !important;
        gap: 15px !important;
    }
    .ic-btn-primary, .ic-btn-outline {
        width: 100%;
        padding: 15px 20px !important;
    }
    .ic-course-card {
        margin-bottom: 20px;
    }
    .ic-course-img {
        height: 250px;
    }
    .container {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 991px) {
    .navbar-collapse {
        background: #000;
        padding: 20px;
        border: 1px solid rgba(212, 175, 55, 0.2);
        margin-top: 15px;
        border-radius: 15px;
    }
    .main-menu.navbar-nav li.nav-link a {
        text-align: center;
        margin-bottom: 5px;
    }
}
