/* ========================================
   PageSpeed Insights 최적화 CSS
   색상 대비 개선 (WCAG AA 기준 4.5:1)
   ======================================== */

/* ========================================
   버튼 색상 개선
   ======================================== */

/* Primary 버튼 - Shop Now, Buy Now, View All Products */
.btn-primary {
    background-color: #0056b3 !important;
    color: #ffffff !important;
    border-color: #0056b3 !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: #004494 !important;
    border-color: #004494 !important;
    color: #ffffff !important;
}

/* Secondary 버튼 */
.btn-secondary {
    background-color: #5a6268 !important;
    color: #ffffff !important;
    border-color: #5a6268 !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background-color: #484e53 !important;
    border-color: #484e53 !important;
    color: #ffffff !important;
}

/* Info 버튼 - Select Image */
.btn-info {
    background-color: #0c5460 !important;
    color: #ffffff !important;
    border-color: #0c5460 !important;
}

.btn-info:hover,
.btn-info:focus {
    background-color: #0a4651 !important;
    border-color: #0a4651 !important;
    color: #ffffff !important;
}

/* Success 버튼 - Enhance Image */
.btn-success {
    background-color: #1e7e34 !important;
    color: #ffffff !important;
    border-color: #1e7e34 !important;
}

.btn-success:hover,
.btn-success:focus {
    background-color: #1a6929 !important;
    border-color: #1a6929 !important;
    color: #ffffff !important;
}

/* Outline 버튼 */
.btn-outline {
    background-color: transparent !important;
    color: #0056b3 !important;
    border: 2px solid #0056b3 !important;
}

.btn-outline:hover,
.btn-outline:focus {
    background-color: #0056b3 !important;
    color: #ffffff !important;
}

/* ========================================
   배지 색상 개선
   ======================================== */

/* Best Seller 배지 */
.product-badge {
    background-color: #c62828 !important;
    color: #ffffff !important;
    font-weight: 600;
}

/* Bootstrap 배지 */
.badge-primary {
    background-color: #0056b3 !important;
    color: #ffffff !important;
    font-weight: 600;
}

.badge-warning {
    background-color: #c62828 !important;
    color: #ffffff !important;
}

/* ========================================
   텍스트 색상 개선
   ======================================== */

/* 제품 브랜드명 */
.product-brand {
    color: #212529 !important;
    font-weight: 600;
}

/* 평점 숫자 */
.rating-count {
    color: #212529 !important;
    font-weight: 500;
}

/* 일반 단락 텍스트 */
.products-section p,
.featured-section p,
.about-section p {
    color: #212529 !important;
}

/* Hero 섹션 텍스트 */
.hero p {
    color: #212529 !important;
}

/* Section 제목 */
h1, h2, h3, h4, h5, h6 {
    color: #212529 !important;
}

/* ========================================
   네비게이션 개선
   ======================================== */

/* Nav Links */
.nav-link {
    color: #212529 !important;
}

.nav-link:hover,
.nav-link:focus {
    color: #0056b3 !important;
}

.nav-link.active {
    color: #0056b3 !important;
    font-weight: 600;
    background-color: rgba(0, 86, 179, 0.1) !important;
}

/* Nav CTA Button */
.nav-cta {
    background-color: #0056b3 !important;
    color: #ffffff !important;
}

.nav-cta:hover,
.nav-cta:focus {
    background-color: #004494 !important;
    color: #ffffff !important;
}

/* ========================================
   Feature Items 개선
   ======================================== */

.feature-text h3,
.feature-text h4 {
    color: #212529 !important;
}

.about-feature-text h3,
.about-feature-text h4 {
    color: #212529 !important;
}

/* ========================================
   Footer 개선
   ======================================== */

footer {
    background-color: #212529 !important;
    color: #f8f9fa !important;
}

.footer-heading {
    color: #ffffff !important;
}

.footer-links a {
    color: #f8f9fa !important;
}

.footer-links a:hover,
.footer-links a:focus {
    color: #ffffff !important;
}

/* ========================================
   링크 색상 개선
   ======================================== */

a {
    color: #0056b3 !important;
}

a:hover,
a:focus {
    color: #004494 !important;
}

/* ========================================
   접근성: Focus States
   ======================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
.btn:focus-visible {
    outline: 3px solid #0056b3 !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 4px rgba(0, 86, 179, 0.2) !important;
}

/* ========================================
   Bootstrap Override
   ======================================== */

/* Primary 색상 재정의 */
.bg-primary {
    background-color: #0056b3 !important;
}

.text-primary {
    color: #0056b3 !important;
}

.border-primary {
    border-color: #0056b3 !important;
}

/* Info 색상 재정의 */
.bg-info {
    background-color: #0c5460 !important;
}

.text-info {
    color: #0c5460 !important;
}

/* ========================================
   Hero Brands 스타일링
   ======================================== */

.hero-brands {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    padding: 20px 0;
    margin-top: 30px;
}

.hero-brands .brand-item {
    width: 180px;
    height: auto;
    max-width: 100%;
    transition: transform 0.3s ease, opacity 0.3s ease;
    cursor: pointer;
    object-fit: contain;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

.hero-brands .brand-item:hover {
    transform: scale(1.08);
    opacity: 0.85;
    filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.15));
}

/* ========================================
   반응형 디자인
   ======================================== */

@media (max-width: 1200px) {
    .hero-brands .brand-item {
        width: 160px;
    }
    .hero-brands {
        gap: 25px;
    }
}

@media (max-width: 768px) {
    .hero-brands {
        gap: 20px;
        padding: 15px 0;
        margin-top: 20px;
    }
    .hero-brands .brand-item {
        width: 140px;
    }
}

@media (max-width: 480px) {
    .hero-brands {
        flex-direction: column;
        gap: 15px;
        padding: 10px 0;
    }
    .hero-brands .brand-item {
        width: 200px;
    }
}

/* ========================================
   애니메이션 (선택사항)
   ======================================== */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.hero-brands .brand-item {
    animation: fadeInUp 0.8s ease-out;
    animation-fill-mode: both;
}

.hero-brands .brand-item:nth-child(1) {
    animation-delay: 0.2s;
}

.hero-brands .brand-item:nth-child(2) {
    animation-delay: 0.4s;
}

.hero-brands .brand-item:nth-child(3) {
    animation-delay: 0.6s;
}

/* ========================================
   Owl Carousel 접근성 개선
   ======================================== */

/* 이전/다음 버튼 - owl-carousel이 자동 생성하는 버튼에만 적용 */
.testimonial-slider .owl-nav button.owl-prev,
.testimonial-slider .owl-nav button.owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    background-color: #0056b3 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50% !important;
    font-size: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    margin: 0 !important;
    padding: 0 !important;
}

.testimonial-slider .owl-nav button.owl-prev {
    left: -60px;
}

.testimonial-slider .owl-nav button.owl-next {
    right: -60px;
}

.testimonial-slider .owl-nav button.owl-prev:hover,
.testimonial-slider .owl-nav button.owl-next:hover,
.testimonial-slider .owl-nav button.owl-prev:focus,
.testimonial-slider .owl-nav button.owl-next:focus {
    background-color: #004494 !important;
    transform: translateY(-50%) scale(1.1);
}

/* Dot 네비게이션 */
.testimonial-slider .owl-dots {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 30px !important;
    padding: 10px 0;
}

.testimonial-slider .owl-dot {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.testimonial-slider .owl-dot span {
    width: 12px !important;
    height: 12px !important;
    background-color: #6c757d !important;
    border-radius: 50% !important;
    display: block !important;
    transition: all 0.3s ease;
}

.testimonial-slider .owl-dot.active span {
    width: 16px !important;
    height: 16px !important;
    background-color: #0056b3 !important;
}

.testimonial-slider .owl-dot:hover span,
.testimonial-slider .owl-dot:focus span {
    background-color: #0056b3 !important;
    transform: scale(1.2);
}

/* Testimonial 섹션 조정 */
.testimonials-section {
    position: relative;
    padding: 60px 0;
    overflow: visible;
}

.testimonial-slider {
    position: relative;
    padding: 0 80px;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .testimonial-slider {
        padding: 0 20px;
    }
    
    .testimonial-slider .owl-nav button.owl-prev {
        left: 10px;
    }
    
    .testimonial-slider .owl-nav button.owl-next {
        right: 10px;
    }
    
    .testimonial-slider .owl-nav button.owl-prev,
    .testimonial-slider .owl-nav button.owl-next {
        background-color: rgba(0, 86, 179, 0.9) !important;
    }
}

/* 접근성 */
.testimonial-slider .owl-nav button:focus-visible,
.testimonial-slider .owl-dot:focus-visible {
    outline: 3px solid #0056b3;
    outline-offset: 4px;
}

/* ========================================
   Testimonial 카드 개선
   ======================================== */

.testimonial-card {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.testimonial-text {
    color: #212529 !important;
}

.author-info h5,
.author-info strong {
    color: #212529 !important;
}

/* ========================================
   Form Elements 개선
   ======================================== */

input[type="file"]:focus-visible,
input[type="text"]:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 3px solid #0056b3 !important;
    outline-offset: 2px !important;
    border-color: #0056b3 !important;
}

/* ========================================
   Mobile Menu Button 개선
   ======================================== */

.mobile-menu-btn {
    background-color: transparent;
    border: 2px solid #0056b3;
    color: #0056b3;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.mobile-menu-btn:hover,
.mobile-menu-btn:focus {
    background-color: #0056b3;
    color: #ffffff;
}

/* ========================================
   Disclaimer 텍스트
   ======================================== */

.business-disclaimer small,
.app-disclaimer small,
.footer-notice-box small {
    color: #495057 !important;
}

/* ========================================
   Brand Logo 접근성
   ======================================== */

.brand-logo {
    color: #0056b3 !important;
    font-weight: 700;
    font-size: 1.5rem;
    text-decoration: none;
}

.brand-logo:hover,
.brand-logo:focus {
    color: #004494 !important;
}