/* --- ძირითადი პარამეტრები --- */

html {

    scroll-behavior: smooth; 

}



* {

    margin: 0;

    padding: 0;

    box-sizing: border-box;

    font-family: 'BPG Arial', sans-serif;

}



/* --- ნავიგაცია --- */

.navbar {

    display: flex;

    justify-content: space-between;

    align-items: center;

    padding: 20px 5%;

    position: fixed;

    top: 0;

    left: 0;

    width: 100%;

    z-index: 1000;

    background-color: transparent;

    transition: background-color 0.4s ease, box-shadow 0.4s ease;

}



.navbar.scrolled {

    background-color: rgba(255, 255, 255, 0.98);

    box-shadow: 0 2px 15px rgba(0,0,0,0.08);

}



.logo h2 {

    color: #1a1a1a;

    font-weight: bold;

    font-size: 1.8rem;

}



.nav-links {

    display: flex;

    list-style: none;

    gap: 30px;

}



.nav-links a {

    text-decoration: none;

    color: #333;

    font-weight: 600;

    font-size: 0.95rem;

    transition: color 0.3s;

}



.nav-links a:hover {

    color: #9b51e0;

}



.header-actions {

    display: flex;

    gap: 10px;

}



.nav-btn-outline {

    background: transparent;

    border: 1px solid #333;

    color: #333;

    padding: 10px 20px;

    border-radius: 30px;

    cursor: pointer;

    font-weight: bold;

    transition: 0.3s;

}



.nav-btn-solid {

    background: #1a1a1a;

    border: 1px solid #1a1a1a;

    color: #fff;

    padding: 10px 20px;

    border-radius: 30px;

    cursor: pointer;

    font-weight: bold;

    transition: 0.3s;

}



.nav-btn-outline:hover { background: #333; color: #fff; }

.nav-btn-solid:hover { background: #333; }



/* --- 1. მთავარი სექცია (Hero) --- */

.hero {

    height: 100vh; 

    background-color: #e6ddd0; 

    background-image: url('main.jpg'); 

    background-size: cover;

    background-position: center 15%; 

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 0 10%;

    position: relative;

    overflow: hidden;

}



.hero::before {

    content: '';

    position: absolute;

    top: 0; left: 0; width: 100%; height: 100%;

    background: linear-gradient(to right, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0) 60%);

    z-index: 1;

}



.hero-content {

    position: relative;

    z-index: 2;

    max-width: 650px;

    margin-top: 50px;

}



.subtitle {

    color: #eee;

    margin-bottom: 20px;

    font-size: 14px;

    letter-spacing: 1px;

}



.hero h1 {

    font-size: 5.5rem; 

    color: white;

    line-height: 1.05; 

    margin-bottom: 25px;

    text-shadow: 2px 2px 10px rgba(0,0,0,0.3);

}



.description {

    color: #f8f8f8;

    font-size: 1.3rem;

    margin-bottom: 40px;

    line-height: 1.6;

    text-shadow: 1px 1px 5px rgba(0,0,0,0.5);

}



.hero-buttons { display: flex; gap: 15px; }

.primary-btn { background: #fff; color: #1a1a1a; border: none; padding: 15px 30px; border-radius: 30px; font-weight: bold; cursor: pointer; transition: 0.3s;}

.primary-btn:hover { background: #f0f0f0; transform: scale(1.05); }

.secondary-btn { background: transparent; color: #fff; border: 1px solid #fff; padding: 15px 30px; border-radius: 30px; font-weight: bold; cursor: pointer; transition: 0.3s;}

.secondary-btn:hover { background: rgba(255,255,255,0.1); }



/* --- 2. ჩვენ შესახებ სექცია --- */

.about-section {

    display: flex;

    align-items: center;

    justify-content: space-between;

    padding: 100px 10%;

    background-color: #fdfcfb; 

    gap: 80px; 

}



.about-image-wrapper {

    position: relative;

    width: 45%;

}



.about-image-wrapper img {

    width: 100%;

    border-radius: 20px;

    display: block;

}



.image-card {

    position: absolute;

    bottom: -20px;

    left: -20px;

    background: #fff;

    padding: 25px;

    border-radius: 15px;

    box-shadow: 0 15px 35px rgba(0,0,0,0.08);

    max-width: 260px;

}



.image-card h4 { font-size: 0.95rem; color: #1a1a1a; margin-bottom: 8px; line-height: 1.4; }

.image-card p { font-size: 0.8rem; color: #888; line-height: 1.5; }



.about-text-wrapper { width: 50%; }



.section-subtitle {

    color: #888;

    font-size: 14px;

    margin-bottom: 15px;

    letter-spacing: 1px;

    font-weight: bold;

}



.about-text-wrapper h2 {

    font-size: 3.5rem;

    color: #1a1a1a;

    line-height: 1.1;

    margin-bottom: 25px;

}



.about-description { font-size: 1.25rem; color: #444; line-height: 1.6; margin-bottom: 20px; }

.about-sub-description { font-size: 1rem; color: #666; line-height: 1.6; margin-bottom: 30px; }



.about-tags { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 40px; }

.tag {

    padding: 10px 20px;

    border: 1px solid #e0e0e0;

    border-radius: 30px;

    font-size: 0.85rem;

    color: #555;

    background: transparent;

    transition: 0.3s;

}

.tag:hover { border-color: #1a1a1a; color: #1a1a1a; }



.about-quote { border-left: 4px solid #dba632; padding-left: 20px; }

.about-quote p { font-size: 1.1rem; color: #1a1a1a; font-weight: 600; line-height: 1.6; }



/* --- 3. საფეხურების სექცია --- */

.stages-section {

    padding: 100px 10%;

    background-color: #f6f4ed; 

}



.stages-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 60px; }

.stages-title { width: 45%; }

.stages-title h2 { font-size: 3.5rem; color: #1a1a1a; line-height: 1.1; }

.stages-intro { width: 45%; padding-top: 30px; }

.stages-intro p { font-size: 1.25rem; color: #444; line-height: 1.6; }



.stages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }

.stage-card { background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.05); display: flex; flex-direction: column; }



.stage-image { height: 260px; width: 100%; overflow: hidden; }

.stage-image img {

    width: 100%; height: 100%;

    object-fit: cover; 

    object-position: center; 

    transition: transform 0.4s ease;

}



.stage-card:hover .stage-image img { transform: scale(1.05); }

.stage-content { padding: 30px; flex-grow: 1; }



.class-level { color: #888; font-size: 0.85rem; font-weight: bold; letter-spacing: 1px; margin-bottom: 15px; }

.stage-content h3 { font-size: 2rem; color: #1a1a1a; margin-bottom: 5px; }



.stage-theme { font-weight: bold; font-size: 1rem; margin-bottom: 15px; }

.stage-theme.sun { color: #d69e2e; }    

.stage-theme.flower { color: #805ad5; } 

.stage-theme.heart { color: #e53e3e; }  

.stage-desc { color: #666; line-height: 1.6; font-size: 0.95rem; }



.stage-card:nth-child(2) .stage-image img { object-position: center bottom; }

.stage-card:nth-child(3) .stage-image img { object-position: center 20%; }



/* --- 4. გალერეის სექცია (Masonry) --- */

.gallery-section {

    padding: 100px 10%;

    background-color: #fcfcfc;

}



.gallery-header { margin-bottom: 50px; }

.gallery-header h2 { font-size: 4.5rem; color: #1a1a1a; line-height: 1.1; letter-spacing: -1px; }



.gallery-grid {

    column-count: 3; 

    column-gap: 30px; 

}



.gallery-img {

    width: 100%;

    border-radius: 20px;

    margin-bottom: 30px; 

    display: block;

    break-inside: avoid;

    box-shadow: 0 5px 20px rgba(0,0,0,0.05); 

    transition: transform 0.4s ease, box-shadow 0.4s ease;

}



.gallery-img:hover {

    transform: translateY(-8px);

    box-shadow: 0 15px 30px rgba(0,0,0,0.12);

}



/* --- 5. რატომ GMUS სექცია --- */

.why-section { padding: 100px 10%; background-color: #fff; }

.why-header { margin-bottom: 50px; }

.why-header h2 { font-size: 2.5rem; color: #1a1a1a; margin-bottom: 40px;}

.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border-radius: 20px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); overflow: hidden;}

.feature-card { padding: 40px; border: 1px solid #eee; transition: background 0.3s; }

.feature-card:hover { background: #faf9f7; }

.icon-number { display: flex; justify-content: space-between; margin-bottom: 20px; font-size: 1.5rem; }

.number { color: #ccc; font-size: 14px; font-weight: bold; }

.feature-card h3 { font-size: 1.2rem; margin-bottom: 15px; color: #222; }

.feature-card p { color: #666; font-size: 0.95rem; line-height: 1.6; }



/* --- 6. კონტაქტის სექცია --- */

.contact-section {

    padding: 100px 10%;

    background-color: #fcfcfc;

}



.contact-container {

    display: flex;

    gap: 30px;

    max-width: 1200px;

    margin: 0 auto;

}



.map-wrapper {

    width: 50%;

    position: relative;

    border-radius: 20px;

    overflow: hidden;

    min-height: 450px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.05);

    background: #e5e3df; 

}



.map-wrapper iframe {

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 100%;

    object-fit: cover;

    filter: grayscale(20%) contrast(90%); 

}



.map-btn {

    position: absolute;

    bottom: 30px;

    left: 30px;

    background: #1a1a1a;

    color: #fff;

    padding: 14px 28px;

    border-radius: 30px;

    text-decoration: none;

    font-weight: bold;

    font-size: 0.95rem;

    transition: background 0.3s, transform 0.3s;

    z-index: 2;

    box-shadow: 0 5px 15px rgba(0,0,0,0.2);

}



.map-btn:hover {

    background: #333;

    transform: translateY(-3px);

}



.contact-card {

    width: 50%;

    background: #fff;

    padding: 50px;

    border-radius: 20px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.05);

    border: 1px solid #eee;

}



.contact-card h2 {

    font-size: 3rem;

    color: #1a1a1a;

    margin-bottom: 40px;

    letter-spacing: -1px;

}



.contact-item {

    display: flex;

    align-items: flex-start;

    gap: 20px;

    padding: 20px 0;

    border-bottom: 1px solid #f0f0f0; 

}



.contact-item:last-child {

    border-bottom: none;

    padding-bottom: 0;

}



.contact-icon { font-size: 1.2rem; margin-top: 5px; opacity: 0.6; }

.contact-text .label { display: block; color: #999; font-size: 0.75rem; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }

.contact-text p { color: #1a1a1a; font-size: 1.05rem; font-weight: 500; }



/* --- 7. ბოლო CTA სექცია (აქ ჩაისვა final.jpg) --- */

.cta-section {

    background-color: #1a1a1a;

    /* სურათზე დადებულია ძალიან მსუბუქი მუქი ფილტრი, რომ თეთრმა ტექსტმა არ შეირიოს უკანა წარწერებში */

    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('final.jpg');

    background-size: cover;

    background-position: center;

    color: #fff;

    text-align: center;

    padding: 140px 10%;

    position: relative;

}



.cta-section h2 {

    font-size: 4rem;

    margin-bottom: 20px;

    letter-spacing: -1px;

}



.cta-section p {

    font-size: 1.2rem;

    color: #eee;

    line-height: 1.6;

    margin-bottom: 40px;

}



.cta-btn {

    background: #fff;

    color: #1a1a1a;

    padding: 15px 35px;

    font-size: 1.1rem;

}



/* --- 8. ფუტერი (Footer) --- */

.footer {

    background-color: #fdfcfb;

    padding: 80px 10% 30px;

}



.footer-container {

    display: flex;

    justify-content: space-between;

    flex-wrap: wrap;

    gap: 40px;

    margin-bottom: 60px;

}



.footer-logo-col {

    max-width: 300px;

}



.footer-logo-col h2 {

    color: #1a1a1a;

    font-size: 2rem;

    margin-bottom: 15px;

}



.footer-logo-col p {

    color: #666;

    font-size: 0.9rem;

    line-height: 1.6;

}



.footer-links-col h4 {

    color: #999;

    font-size: 0.8rem;

    text-transform: uppercase;

    letter-spacing: 1px;

    margin-bottom: 20px;

}



.footer-links-col ul {

    list-style: none;

}



.footer-links-col ul li {

    margin-bottom: 12px;

    color: #333;

    font-size: 0.95rem;

}



.footer-links-col ul li a {

    color: #333;

    text-decoration: none;

    transition: color 0.3s;

}



.footer-links-col ul li a:hover {

    color: #9b51e0;

}



.footer-bottom {

    text-align: center;

    padding-top: 30px;

    border-top: 1px solid #eaeaea;

    color: #999;

    font-size: 0.85rem;

}



/* --- ანიმაციები --- */

.fade-in { opacity: 0; transform: translateY(30px); transition: opacity 0.8s ease, transform 0.8s ease; }

.fade-in.appear { opacity: 1; transform: translateY(0); }

.hero-shapes { width: 350px; z-index: 2; animation: floating 4s ease-in-out infinite; filter: drop-shadow(0 10px 15px rgba(0,0,0,0.3)); }

@keyframes floating { 0% { transform: translateY(0px); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0px); } }



/* --- რესპონსივი პატარა ეკრანებისთვის --- */

@media (max-width: 1000px) {

    .about-section { flex-direction: column; gap: 60px; }

    .about-image-wrapper, .about-text-wrapper { width: 100%; }

    .about-text-wrapper h2 { font-size: 2.5rem; }

    .image-card { left: 20px; bottom: -30px; }

    .stages-header { flex-direction: column; gap: 30px; }

    .stages-title, .stages-intro { width: 100%; }

    .stages-intro { padding-top: 0; }

    .stages-grid { grid-template-columns: repeat(2, 1fr); }

    .gallery-grid { column-count: 2; }

    .gallery-header h2 { font-size: 3.5rem; }

    .features-grid { grid-template-columns: repeat(2, 1fr); }

    .contact-container { flex-direction: column; }

    .map-wrapper, .contact-card { width: 100%; }

    .map-wrapper { height: 400px; }

    .footer-container { flex-direction: column; gap: 40px; }

}



@media (max-width: 600px) {

    .hero h1 { font-size: 3rem; }

    .stages-grid { grid-template-columns: 1fr; }

    .gallery-grid { column-count: 1; }

    .gallery-header h2 { font-size: 2.5rem; }

    .features-grid { grid-template-columns: 1fr; }

    .contact-card { padding: 30px; }

    .contact-card h2 { font-size: 2.2rem; }

    .cta-section h2 { font-size: 2.5rem; }

}