/* Shinhan Metal Custom Styles (based on template_shinhan2) */

:root {
    --brand-navy: #0F172A;
    --brand-navy-hover: #1E293B;
    --brand-gold: #C5A059;
    --brand-gold-light: #FDFBF7;
    --brand-red: #ef4444;
    --brand-blue: #3b82f6;
    --brand-gray-bg: #F8FAFC;
    --brand-border: #F1F5F9;
}

/* 인터랙티브 마키 (Ticker) */
.ticker-wrap {
    width: 100%;
    overflow: hidden;
    background-color: #000000;
    white-space: nowrap;
    padding: 10px 0;
    position: relative;
    z-index: 60;
}
.ticker-content {
    display: inline-block;
    animation: ticker 35s linear infinite;
    font-size: 0.85rem;
    color: #f8f9fa;
    font-weight: 500;
}
.ticker-wrap:hover .ticker-content {
    animation-play-state: paused;
    cursor: pointer;
}
.ticker-content span { margin-right: 48px; }
.text-up { color: #f87171; font-weight: 700; }
.text-down { color: #60a5fa; font-weight: 700; }
@keyframes ticker {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* 상품 카드 - 모던 스타일 */
.product-card {
    background: #fff;
    border-radius: 1.5rem;
    border: 1px solid #e2e8f0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.product-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 20px 40px -15px rgba(0,0,0,0.08);
    transform: translateY(-4px);
}

/* GNB 네비게이션 부드러운 호버 */
.gnb-link { position: relative; opacity: 0.8; transition: opacity 0.2s; }
.gnb-link:hover { opacity: 1; }
.gnb-link::after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    bottom: -8px;
    left: 50%;
    background-color: #C5A059;
    border-radius: 50%;
    opacity: 0;
    transition: all 0.3s ease;
    transform: translateX(-50%) translateY(4px);
}
.gnb-link:hover::after {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* 토스트 알림 */
#toast {
    visibility: hidden;
    opacity: 0;
    position: fixed;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(8px);
    color: #fff;
    padding: 14px 32px;
    border-radius: 9999px;
    font-weight: 500;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 9999;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
#toast.show {
    visibility: visible;
    opacity: 1;
    bottom: 50px;
}

/* Tailwind rem calculation fix: Bootstrap/Amina sets html to 10px, which breaks Tailwind. 
   We reset it to 16px (100%) for proper rem scaling. */
html {
    font-size: 16px !important;
}

/* Amina / GnuBoard Compatibility with Tailwind Preflight Enabled */
#thema_wrapper {
    background: var(--brand-gray-bg);
    font-size: 16px; /* 본문 기본 크기 (기존 10px 환경에서의 보정) */
    line-height: 1.6;
    color: #334155;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/*#thema_wrapper h1 { font-size: 2.25rem; font-weight: 800; margin-bottom: 1rem; }
#thema_wrapper h2 { font-size: 1.875rem; font-weight: 700; margin-bottom: 0.875rem; }
#thema_wrapper h3 { font-size: 1.5rem; font-weight: 700; margin-bottom: 0.75rem; }
#thema_wrapper h4 { font-size: 1.25rem; font-weight: 600; margin-bottom: 0.5rem; }
#thema_wrapper h5 { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem; }
#thema_wrapper h6 { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; } */

#thema_wrapper a {
    text-decoration: none;
    color: inherit;
}

/* Bootstrap의 .container와 Tailwind의 max-w 연동을 위한 보정 */
.at-container {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

/* 폰트 뭉개짐 방지 (Noto Sans KR 최적화) */
#thema_wrapper {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Tailwind Colors for inline use */
.bg-brand-navy { background-color: var(--brand-navy); }
.text-brand-gold { color: var(--brand-gold); }
.border-brand-gold { border-color: var(--brand-gold); }
