/* static/css/style.css */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");
/* 기본 폰트 사이즈를 키워 전체 비율을 확대 (기본값은 보통 16px) */
html {
    font-size: 17px; /* 필요에 따라 18px, 19px 등으로 숫자를 조절해 보세요 */
}

/* 바디 폰트의 기본 줄간격과 크기를 살짝 더 여유롭게 조정 */
body {
    font-size: 1.05rem; /* 기본 텍스트 크기를 5% 정도 추가로 키움 */
    line-height: 1.6;   /* 글자가 커진 만큼 줄간격도 늘려 가독성 확보 */
}

body {
    /* Pretendard를 1순위로 변경하여 모던한 느낌 강조 */
    font-family: 'Pretendard Variable', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    background-color: #ffffff; /* 배경을 순백색으로 변경하여 대비감 상승 */
    color: #1a1a1a;
    letter-spacing: -0.02em; /* 자간을 살짝 좁혀 한국어 가독성 향상 */
}

:root {
    --fcy-main-color: #f9bb0e;
    --fcy-dark-color: #1a1a1a;
    --border-color: #e5e5e5; /* 무신사 스타일의 연한 테두리 색상 */
}

/* 상단 강조 바 */
.navbar {
    border-bottom: 2px solid var(--fcy-dark-color) !important;
}

/* 로고 사이즈 최적화 */
.site-logo {
    height: 42px;
    width: auto;
    display: block;
}

.league-logo {
    height: 40px;
    width: auto;
    object-fit: contain;
    margin-bottom: 8px;
}

/* 상단 종목 선택 바 플랫 디자인 적용 */
.series-container {
    background-color: #ffffff;
    border-bottom: 1px solid var(--border-color); /* 하단선만 남김 */
    display: flex;
}

.series-item {
    flex: 1;
    padding: 16px 10px;
    text-align: center;
    text-decoration: none;
    color: #333;
    border-right: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: background-color 0.1s;
}

.series-item:last-child { border-right: none; }
.series-item:hover { background-color: #fafafa; }
.series-item h6 { font-weight: 700; font-size: 1rem; }
.series-item small { font-weight: 600; font-size: 0.75rem; color: #555; }

.series-item.disabled {
    opacity: 0.3;
    pointer-events: none;
    background-color: #fff;
}

/* 드롭다운 플랫화 */
.custom-dropdown .btn.dropdown-toggle {
    background-color: #fff;
    border: 1px solid var(--border-color);
    border-radius: 0; /* 각지게 변경 */
    padding: 6px 14px;
    font-weight: 600;
    font-size: 0.85rem;
}

.custom-dropdown .btn.dropdown-toggle:hover {
    border-color: #1a1a1a;
}

.custom-dropdown .dropdown-menu {
    border: 1px solid #1a1a1a;
    border-radius: 0;
    margin-top: -1px !important;
}

.custom-dropdown .dropdown-item:hover {
    background-color: #1a1a1a;
    color: #fff;
}

/* 리스트 아이템 플랫화 */
.standing-item .rank {
    min-width: 28px;
    font-size: 1.1rem;
    font-weight: 800;
    color: #1a1a1a;
}

.avatar-wrapper { width: 40px; height: 40px; }

/* 둥근 테두리 대신 각진 테두리 또는 미세한 곡률 적용 */
.driver-avatar, .team-logo-circle {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid var(--border-color);
    border-radius: 2px; /* 원형(50%)에서 사각형으로 변경 */
    background: #fff;
}

/* 버튼 각지게 변경 */
.btn-outline-dark, .btn-light {
    border-radius: 0 !important;
    border: 1px solid #1a1a1a;
}

/* 플랫 탭 버튼 스타일 (wec_home, wec_teams 공통) */
.flat-tab-btn {
    color: #1a1a1a !important;
    background-color: #ffffff !important;
    border: 1px solid #e5e5e5 !important;
    transition: all 0.2s ease;
}

.flat-tab-btn:hover {
    background-color: #f8f9fa !important;
}

/* 선택되었을 때 (active) */
.flat-tab-btn.active {
    color: #ffffff !important;
    background-color: #1a1a1a !important;
    border-color: #1a1a1a !important;
}

/* Footer 전용 스타일 */
.footer {
    font-family: 'Pretendard Variable', 'Noto Sans KR', sans-serif;
}

.disclaimer-title {
    font-size: 0.75rem;
    letter-spacing: 0.08rem;
}

.disclaimer-text {
    font-size: 0.75rem;
    font-weight: 300;
}

/* 링크 호버 시 밝아지는 애니메이션 효과 */
.hover-opacity-100:hover {
    opacity: 1 !important;
    color: #ffffff !important;
}
.transition-opacity {
    transition: all 0.2s ease-in-out;
}

/* 큰 화면(PC)에서만 세로 테두리 선 보이기 */
@media (min-width: 992px) {
    .border-start-lg {
        border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
    }
}

 .tracking-wider {
     letter-spacing: 0.1em;
 }

.terms-content h6 {
    letter-spacing: -0.02em;
}

.terms-content li {
    margin-bottom: 0.5rem;
}

.car-spec-container {
    background-color: #fdfdfd; /* 아주 옅은 배경색으로 공간을 분리 */
    border: 1px solid var(--border-color); /* 테두리를 얇게 쳐서 카드 안의 카드 느낌 */
    padding: 0.875rem 1rem;
    border-radius: 2px; /* 플랫 디자인 유지 */
}

.car-spec-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

/* 항목 사이의 구분선 (무신사에서 자주 쓰는 얇은 점선 스타일) */
.car-spec-row:not(:last-child) {
    margin-bottom: 0.6rem;
    padding-bottom: 0.6rem;
    border-bottom: 1px dashed #e0e0e0;
}

.car-spec-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #888888; /* 라벨은 회색으로 톤다운 */
    letter-spacing: -0.02em;
    flex-shrink: 0;
    margin-right: 1rem;
    padding-top: 2px; /* 텍스트 수직 정렬 미세 보정 */
}

.car-spec-value {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--fcy-dark-color); /* 값은 진한 검정으로 강조 */
    text-align: right;
    word-break: keep-all; /* 한국어 단어 단위로 줄바꿈 되도록 설정 */
    line-height: 1.35;
}

.info-media {
    width: 100%;
    aspect-ratio: 21 / 9;
    max-height: 420px;
    overflow: hidden;
    border: 1px solid #e5e5e5;
    background-color: #ffffff;
}

.info-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.info-logo-strip {
    border-top: 2px solid #1a1a1a;
    border-bottom: 1px solid #e5e5e5;
    background-color: #ffffff;
}

.info-logo-cell {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #e5e5e5;
    padding: 1.25rem;
}

.info-logo-cell:last-child {
    border-right: 0;
}

.info-logo-cell img {
    max-width: 100%;
    max-height: 82px;
    object-fit: contain;
}

.news-carousel {
    overflow: hidden;
}

.news-carousel-caption {
    display: block;
}

@media (max-width: 767.98px) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body {
        font-size: 0.98rem;
    }

    .brand-bar {
        padding: 14px 0 !important;
    }

    .brand-bar .container {
        max-width: 100%;
        gap: 0.75rem;
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }

    .site-logo {
        height: 32px;
        max-width: 52vw;
        object-fit: contain;
    }

    .header-nav {
        gap: 0.875rem !important;
        flex-shrink: 0;
    }

    .header-nav a {
        font-size: 0.78rem !important;
        white-space: nowrap;
    }

    .series-container {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .series-item {
        flex: 0 0 42vw;
        min-width: 128px !important;
        max-width: 170px;
        padding: 12px 8px;
    }

    .league-logo {
        height: 30px;
        max-width: 92px;
    }

    .series-item small {
        font-size: 0.68rem;
        line-height: 1.35;
        word-break: keep-all;
    }

    main.container {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        overflow-x: clip;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    main.container > .container,
    main.container .container.px-0 {
        max-width: 100%;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    main.container .container.px-0 .series-container {
        margin-left: -1rem;
        margin-right: -1rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    main.container .d-flex.align-items-center.mb-4.pb-2.border-bottom {
        flex-wrap: wrap;
        gap: 0.75rem;
        align-items: flex-start !important;
    }

    main.container h2.fs-4 {
        flex: 1 1 100%;
        min-width: 0;
        font-size: 1.35rem !important;
        line-height: 1.3;
        word-break: keep-all;
    }

    main.container .custom-dropdown {
        max-width: 100%;
    }

    main.container .custom-dropdown .btn.dropdown-toggle {
        max-width: calc(100vw - 2rem);
        white-space: normal;
        line-height: 1.25;
        text-align: left;
    }

    .news-carousel-inner {
        height: 360px !important;
    }

    .news-carousel-caption {
        left: 0;
        right: 0;
        padding: 4.5rem 1rem 1rem !important;
        text-align: left !important;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.7) 42%, transparent 100%) !important;
    }

    .news-carousel-title {
        font-size: 1rem !important;
        line-height: 1.35;
        margin-bottom: 0.35rem !important;
    }

    .news-carousel-summary {
        display: -webkit-box;
        overflow: hidden;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        font-size: 0.78rem;
        line-height: 1.45;
    }
}

@media (max-width: 420px) {
    .site-logo {
        height: 28px;
        max-width: 50vw;
    }

    .header-nav {
        gap: 0.65rem !important;
    }

    .header-nav a {
        font-size: 0.72rem !important;
    }

    .series-item {
        flex-basis: 46vw;
        min-width: 120px !important;
    }

    .news-carousel-inner {
        height: 330px !important;
    }
}
