/* 눈누 폰트 적용: Gmarket Sans (부품이름/제조사용) */
@font-face {
    font-family: 'GmarketSansBold';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'GmarketSansMedium';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
/* 눈누 폰트 적용: 나눔스퀘어 네오 (본문/상세정보용) */
@font-face {
    font-family: 'NanumSquareNeo';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_11-01@1.0/NanumSquareNeo-Variable.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

:root {
    --font-name: 'GmarketSansBold', sans-serif;
    --font-brand: 'GmarketSansMedium', sans-serif;
    --font-specs: 'NanumSquareNeo', sans-serif;
    --accent-blue: #2563eb;
}

body {
    font-family: 'NanumSquareNeo', sans-serif;
    background-color: #f8fafc;
    background-image:
        radial-gradient(circle at 0% 0%, rgba(37, 99, 235, 0.03) 0%, transparent 30%),
        radial-gradient(circle at 100% 100%, rgba(37, 99, 235, 0.03) 0%, transparent 30%);
    background-attachment: fixed;
    overflow-x: hidden;
}

.comp-name { font-family: var(--font-name); }
.comp-brand { font-family: var(--font-brand); }
.comp-specs { font-family: var(--font-specs); }

.quote-tab {
    font-family: var(--font-brand);
}
.quote-tab-active {
    background-color: #0f172a;
    color: #fff;
    border-color: transparent;
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.25);
}
.quote-tab:not(.quote-tab-active):hover {
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.glass {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}

.fade-in {
    animation: fadeIn 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    opacity: 0;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.hover-lift {
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.08);
}

.details-container {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.expanded .details-container {
    max-height: 800px;
}

.chevron-icon {
    transition: transform 0.4s ease;
}

.expanded .chevron-icon {
    transform: rotate(180deg);
}

.lowest-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #3b82f6;
    border-radius: 9999px;
    padding: 0 10px;
    font-size: 10px;
    font-weight: 900;
    margin-right: 6px;
    color: #3b82f6;
    height: 20px;
}

/* 벚꽃 컨테이너 (낙하 담당) */
.sakura-wrapper {
    position: fixed;
    top: -50px;
    pointer-events: none;
    z-index: 1000;
    animation: sakura-fall linear forwards;
}

/* 벚꽃 내부 (흔들림 및 회전 담당) */
.sakura-inner {
    width: 100%;
    height: 100%;
    animation: sakura-sway ease-in-out infinite;
}

@keyframes sakura-fall {
    0% { transform: translateY(0); opacity: 0; }
    10% { opacity: 0.9; }
    90% { opacity: 0.9; }
    100% { transform: translateY(110vh); opacity: 0; }
}

@keyframes sakura-sway {
    0% { transform: translateX(0) rotateX(0) rotateY(0) rotateZ(0); }
    25% { transform: translateX(30px) rotateX(90deg) rotateY(45deg) rotateZ(20deg); }
    50% { transform: translateX(-20px) rotateX(180deg) rotateY(90deg) rotateZ(-10deg); }
    75% { transform: translateX(30px) rotateX(270deg) rotateY(45deg) rotateZ(20deg); }
    100% { transform: translateX(0) rotateX(360deg) rotateY(0) rotateZ(0); }
}

/* 인쇄 최적화 */
@media print {
    .no-print { display: none !important; }
    .sakura-wrapper { display: none !important; }
    body { background: white !important; padding: 0 !important; }
    .glass { border: 1px solid #ddd !important; backdrop-filter: none !important; break-inside: avoid; }
    .details-container { max-height: none !important; display: block !important; }
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
}
