/* 🎨 Bodrum Acı Ot Festivali - Ana Stil Dosyası */

:root {
    --primary-color: #1a4d2e;
    --secondary-color: #f8f9fa;
    --accent-color: #ff9f1c;
    --text-color: #2b2d42;
}

body {
    font-family: 'Outfit', sans-serif;
    color: var(--text-color);
    background-color: #fafafa;
}

h1, h2, h3, h4, h5, .display-1, .display-2, .display-3, .display-4 {
    font-family: 'Playfair Display', serif;
    color: var(--primary-color);
}

/* Navbar */
.navbar-custom {
    background-color: var(--primary-color) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    padding: 1rem 0;
    transition: all 0.3s ease;
}
.navbar-custom .navbar-brand {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 1.8rem;
    color: #fff !important;
    letter-spacing: 1px;
}
.navbar-custom .nav-link {
    color: rgba(255,255,255,0.85) !important;
    font-weight: 500;
    font-size: 1.05rem;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.navbar-custom .nav-link:hover, .navbar-custom .nav-link.active {
    color: var(--accent-color) !important;
    transform: translateY(-2px);
}

/* Cards & Animations */
.card-custom {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
    background: white;
}
.card-custom:hover {
    transform: translateY(-8px);
}
.card-custom:hover img {
    transform: scale(1.05);
}

/* Home Page Utilities */
.hover-scale { transition: transform 0.3s, box-shadow 0.3s; }
.hover-scale:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 15px 30px rgba(255,159,28,0.4) !important; color:#000 !important; }
.slider-nav-btn { width: 60px; height: 60px; transition: all 0.3s; background: rgba(0,0,0,0.2); backdrop-filter: blur(5px);}
.slider-nav-btn:hover { background: var(--bs-warning); border-color: var(--bs-warning) !important; color: #000 !important; transform: scale(1.1);}

@keyframes slideUpFade { 0% { opacity: 0; transform: translateY(40px); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes zoomInFade { 0% { opacity: 0; transform: scale(0.9); } 100% { opacity: 1; transform: scale(1); } }

.carousel-item.active .slider-title { animation: slideUpFade 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
.carousel-item.active .slider-desc { animation: slideUpFade 1.2s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; animation-delay: 0.3s; opacity: 0; }
.carousel-item.active .slider-btn { animation: zoomInFade 1s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; animation-delay: 0.6s; opacity: 0; }

.section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: var(--accent-color);
    border-radius: 2px;
}
.tracking-wide { letter-spacing: 2px; }
.tracking-wider { letter-spacing: 3px; }
.object-fit-cover { object-fit: cover; }
 
 /* 📞 İletişim Sayfası Stilleri - Modern Light v4 */
 .contact-section {
     background: #fdfdfd;
     padding: 80px 0;
     position: relative;
     overflow: hidden;
 }
 
 .contact-section::before {
     content: '';
     position: absolute;
     width: 1000px;
     height: 1000px;
     background: radial-gradient(circle, rgba(26, 77, 46, 0.03) 0%, rgba(255, 255, 255, 0) 70%);
     top: -20%;
     right: -10%;
     z-index: 0;
 }
 
 .glass-card-v4 {
     background: rgba(255, 255, 255, 0.8);
     backdrop-filter: blur(15px);
     -webkit-backdrop-filter: blur(15px);
     border: 1px solid rgba(255, 255, 255, 1);
     border-radius: 35px;
     padding: 3rem;
     box-shadow: 0 30px 60px -20px rgba(26, 77, 46, 0.1);
     position: relative;
     z-index: 2;
     transition: all 0.4s ease;
 }
 
 .glass-card-v4:hover {
     transform: translateY(-8px);
     box-shadow: 0 40px 80px -25px rgba(26, 77, 46, 0.15);
 }
 
 .hero-title-v4 {
     font-size: 4.5rem;
     font-weight: 800;
     color: var(--primary-color);
     letter-spacing: -2px;
     line-height: 1.1;
     margin-bottom: 2rem;
 }
 
 .v4-input {
     background: #f8fbf9 !important;
     border: 2px solid #eef5f0 !important;
     color: #1a4d2e !important;
     border-radius: 20px !important;
     padding: 1.2rem !important;
     transition: all 0.3s ease !important;
 }
 
 .v4-input:focus {
     background: #fff !important;
     border-color: var(--primary-color) !important;
     box-shadow: 0 10px 20px rgba(26, 77, 46, 0.05) !important;
 }
 
 .v4-label {
     color: #6c757d !important;
     padding-left: 1.2rem !important;
 }
 
 .v4-info-icon {
     width: 70px;
     height: 70px;
     background: #f0f7f2;
     border-radius: 22px;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.8rem;
     color: var(--primary-color);
     margin-right: 1.5rem;
     transition: all 0.4s ease;
 }
 
 .info-item-v4 {
     padding: 1.5rem;
     border-radius: 25px;
     transition: all 0.3s ease;
     cursor: pointer;
     border: 1px solid transparent;
 }
 
 .info-item-v4:hover {
     background: #fff;
     border: 1px solid #eef5f0;
     transform: translateX(10px);
 }
 
 .info-item-v4:hover .v4-info-icon {
     background: var(--primary-color);
     color: #fff;
     border-radius: 50%;
 }
 
 .btn-v4-send {
     height: 65px;
     background: var(--primary-color);
     color: #fff;
     border: none;
     border-radius: 20px;
     font-weight: 700;
     text-transform: uppercase;
     letter-spacing: 1px;
     transition: all 0.4s ease;
     box-shadow: 0 10px 25px rgba(26, 77, 46, 0.2);
 }
 
 .btn-v4-send:hover {
     background: var(--accent-color);
     color: #111;
     transform: scale(1.02);
     box-shadow: 0 15px 30px rgba(255, 159, 28, 0.3);
 }
 
 .v4-badge {
     padding: 8px 20px;
     background: rgba(26, 77, 46, 0.05);
     color: var(--primary-color);
     border-radius: 100px;
     font-weight: 700;
     font-size: 0.8rem;
     text-transform: uppercase;
     letter-spacing: 2px;
     display: inline-block;
     margin-bottom: 1.5rem;
 }
 
 .map-v4 {
     border-radius: 40px;
     overflow: hidden;
     border: 8px solid #fff;
     box-shadow: 0 20px 40px rgba(0,0,0,0.05);
 }
 
 .v4-soc-btn {
     width: 55px;
     height: 55px;
     background: #fff;
     border: 2px solid #f0f7f2;
     border-radius: 18px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: var(--primary-color);
     font-size: 1.3rem;
     transition: all 0.3s ease;
     text-decoration: none;
 }
 
 .v4-soc-btn:hover {
     background: var(--primary-color);
     color: #fff;
     border-color: var(--primary-color);
     transform: translateY(-5px);
 }


 /* 🖥️ Ana Sayfa Slider - Genel (Masaüstü) */
 #heroCarousel, 
 #heroCarousel .carousel-inner, 
 #heroCarousel .carousel-item {
     height: 100vh;
     min-height: 600px;
 }
 
 .carousel-item img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center center;
 }

 /* 📱 Ana Sayfa Slider Mobil Uyumluluk */
 @media (max-width: 768px) {
     #heroCarousel, 
     #heroCarousel .carousel-inner, 
     #heroCarousel .carousel-item {
         height: 450px !important; /* Gerçek cihazlarda en stabil duran sabit yükseklik */
         min-height: 450px;
         background-color: #000;
     }

     .carousel-item img {
         width: 100% !important;
         height: 100% !important;
         object-fit: cover !important;
         object-position: 50% 30% !important; /* Mobilde kafa kısımlarını (üstü) kurtarmak için odak noktasını hafif yukarı aldım */
     }

     #heroCarousel .container {
         padding-top: 0 !important;
         margin-top: 10px !important;
     }

     .slider-title {
         font-size: 1.8rem !important;
         line-height: 1.2 !important;
         margin-bottom: 0.8rem !important;
         padding: 0 10px;
     }

     .slider-desc {
         font-size: 0.9rem !important;
         line-height: 1.4 !important;
         margin-bottom: 1.2rem !important;
         padding: 0 20px;
         display: -webkit-box;
         -webkit-line-clamp: 2;
         line-clamp: 2;
         -webkit-box-orient: vertical;
         overflow: hidden;
     }
     
     .slider-btn .btn {
         padding: 8px 18px !important;
         font-size: 0.82rem !important;
         letter-spacing: 0.5px !important;
     }
     
     .slider-nav-btn {
         width: 45px;
         height: 45px;
     }
     
     .slider-nav-btn i {
         font-size: 1.2rem !important;
     }
 }
 
 @media (max-width: 480px) {
     .slider-title {
         font-size: 1.6rem !important;
     }
     .slider-desc {
         font-size: 0.85rem !important;
         -webkit-line-clamp: 2;
         line-clamp: 2;
     }
 }

 /* 📰 Haber Detay - Modern Editorial v4 */
 .news-header-v4 {
     background-color: #fff;
     margin-bottom: 2rem;
 }
 
 .v4-back-btn {
     color: var(--primary-color);
     text-decoration: none;
     font-weight: 600;
     font-size: 0.9rem;
     padding: 8px 16px;
     background: rgba(26, 77, 46, 0.05);
     border-radius: 50px;
     transition: all 0.3s ease;
 }
 
 .v4-back-btn:hover {
     background: var(--primary-color);
     color: #fff;
     transform: translateX(-5px);
 }
 
 .header-title-v4 {
     font-size: 3.5rem;
     font-weight: 800;
     color: var(--primary-color);
     letter-spacing: -1.5px;
     line-height: 1.1;
     max-width: 1000px;
     margin-left: auto;
     margin-right: auto;
 }
 
 .header-meta-v4 {
     font-weight: 500;
     color: #6c757d;
 }
 
 .meta-item {
     display: flex;
     align-items: center;
     font-size: 0.95rem;
 }
 
 .v4-image-wrapper {
     border-radius: 30px;
     overflow: hidden;
     background: #f0f0f0;
     border: 1px solid rgba(0,0,0,0.05);
 }
 
 .v4-image-wrapper img {
     transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
 }
 
 .v4-image-wrapper:hover img {
     transform: scale(1.03);
 }
 
 @media (max-width: 768px) {
     .header-title-v4 {
         font-size: 2.2rem;
         letter-spacing: -0.5px;
     }
     .header-meta-v4 {
         flex-direction: column;
         gap: 10px !important;
     }
 }

/* ? Kullanc Yorumlar - Modern Light v4 */
.testimonials-section { padding: 100px 0; background: #fff; position: relative; overflow: hidden; }
.testimonials-section::after { content: ''; position: absolute; width: 600px; height: 600px; background: radial-gradient(circle, rgba(255, 159, 28, 0.05) 0%, rgba(255, 255, 255, 0) 70%); bottom: -10%; left: -10%; z-index: 0; }
.comment-card-v4 { background: #fdfdfd; border: 1px solid #f0f7f2; border-radius: 30px; padding: 3rem; position: relative; transition: all 0.4s ease; height: 100%; box-shadow: 0 15px 40px rgba(0,0,0,0.02); }
.comment-card-v4:hover { background: #fff; transform: translateY(-10px); box-shadow: 0 30px 60px rgba(26, 77, 46, 0.08); border-color: #eef5f0; }
.quote-icon-v4 { position: absolute; top: 30px; right: 40px; font-size: 4rem; color: var(--primary-color); opacity: 0.1; line-height: 1; }
.user-avatar-v4 { width: 70px; height: 70px; border-radius: 20px; object-fit: cover; margin-bottom: 1.5rem; box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.comment-text-v4 { font-size: 1.15rem; color: #4a4a4a; line-height: 1.7; font-style: italic; margin-bottom: 2rem; position: relative; z-index: 1; }
.user-info-v4 h5 { margin-bottom: 0; font-size: 1.25rem; font-weight: 700; color: var(--primary-color); }
.user-info-v4 span { font-size: 0.9rem; color: var(--accent-color); font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
@media (max-width: 768px) { .comment-card-v4 { padding: 2rem; } .comment-text-v4 { font-size: 1.05rem; } }

/* ?? letiim Formu Hizalama Fix */
.form-floating > .v4-input { padding-top: 1.625rem !important; padding-bottom: 0.625rem !important; height: calc(3.5rem + 15px) !important; }
.form-floating > .v4-label { padding: 1rem 1.25rem !important; color: #6c757d !important; }
.form-floating > .v4-input:focus ~ .v4-label,
.form-floating > .v4-input:not(:placeholder-shown) ~ .v4-label { opacity: 0.8 !important; transform: scale(0.85) translateY(-0.7rem) translateX(0.15rem) !important; color: var(--primary-color) !important; font-weight: 700 !important; }

/* ?? letiim Formu Hizalama - Daha Agresif Fix */
.form-floating > .v4-input { padding-top: 2.225rem !important; padding-bottom: 0.825rem !important; height: calc(4.5rem + 10px) !important; line-height: 1.5 !important; }
.form-floating > .v4-label { transform: translateY(-0.35rem) !important; padding: 1.2rem 1.25rem !important; }
.form-floating > .v4-input:focus ~ .v4-label,
.form-floating > .v4-input:not(:placeholder-shown) ~ .v4-label { opacity: 1 !important; transform: scale(0.65) translateY(-1.3rem) translateX(0.15rem) !important; color: var(--primary-color) !important; font-weight: 800 !important; background: transparent !important; }
.form-floating > textarea.v4-input { height: 180px !important; padding-top: 2.5rem !important; }

/* ?? letiim Formu Hizalama - NHA KESN FX */
.form-floating > .v4-input { height: 75px !important; padding-top: 32px !important; padding-bottom: 10px !important; line-height: 1.5 !important; font-size: 1.1rem !important; }
.form-floating > .v4-label { padding: 18px 20px !important; transform: translateY(-3px) !important; color: #888 !important; }
.form-floating > .v4-input:focus ~ .v4-label,
.form-floating > .v4-input:not(:placeholder-shown) ~ .v4-label { opacity: 1 !important; transform: scale(0.65) translateY(-20px) translateX(0px) !important; color: var(--primary-color) !important; font-weight: 800 !important; background: transparent !important; }
.form-floating > textarea.v4-input { height: 180px !important; padding-top: 40px !important; }

/* ?? ??leti??im Formu Hizalama - N??HA?? KES??N F??X v4 (EN AGRES??F) */
.form-floating > .v4-input { height: 85px !important; padding-top: 42px !important; padding-bottom: 5px !important; line-height: 1 !important; font-size: 1.15rem !important; }
.form-floating > .v4-label { padding: 22px 20px !important; transform: translateY(-5px) !important; color: #999 !important; font-size: 1rem !important; }
.form-floating > .v4-input:focus ~ .v4-label,
.form-floating > .v4-input:not(:placeholder-shown) ~ .v4-label { opacity: 1 !important; transform: scale(0.6) translateY(-28px) translateX(0px) !important; color: var(--primary-color) !important; font-weight: 900 !important; background: transparent !important; }
.form-floating > textarea.v4-input { height: 200px !important; padding-top: 45px !important; line-height: 1.6 !important; }


/* ?? letiim Formu Hizalamas - Kesin ve Temiz zm */
.form-floating > .v4-input { height: 75px !important; padding-top: 1.8rem !important; padding-bottom: 0.4rem !important; line-height: 1.5 !important; font-size: 1.1rem !important; }
.form-floating > .v4-label { padding: 1.25rem 1.25rem !important; color: #888 !important; transition: all 0.2s !important; }
.form-floating > .v4-input:focus ~ .v4-label,
.form-floating > .v4-input:not(:placeholder-shown) ~ .v4-label { transform: scale(0.75) translateY(-0.85rem) translateX(0.15rem) !important; opacity: 1 !important; color: var(--primary-color) !important; font-weight: 700 !important; }
.form-floating > textarea.v4-input { height: 180px !important; padding-top: 2.5rem !important; }
