/* 
 * 정치후원금센터 개선안 전용 스타일 (Modern Edition)
 * 기존 layout.css, main.css 등과 충돌하지 않도록 st- 접두어 사용
 */

:root {
    --st-primary-color: #5753a8;
    --st-primary-hover: #393682;
    --st-card-radius: 24px;
    --st-btn-radius: 60px;
    --st-grid-bg: linear-gradient(135deg, #2b2954 0%, #181730 100%);
    --st-input-focus: #5753a8;
}

.st-variant-1-theme {
    --st-primary-color: #5753a8;
    --st-primary-hover: #393682;
    --st-card-radius: 24px;
    --st-btn-radius: 60px;
    --st-grid-bg: linear-gradient(135deg, #2b2954 0%, #181730 100%);
    --st-input-focus: #5753a8;
}

.st-variant-2-theme {
    --st-primary-color: #6c390d;
    --st-primary-hover: #452508;
    --st-card-radius: 0px;
    --st-btn-radius: 0px;
    --st-grid-bg: linear-gradient(135deg, #1d1d1f 0%, #000 100%);
    --st-input-focus: #6c390d;
}


/* Slider Container */
.st-hero-slider {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
}

/* Scroll Reveal Animations */
.st-reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: opacity, transform;
}

.st-reveal.st-reveal-active {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Slide animations for Hero Slide */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.st-hero-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 2s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}

.st-hero-slide.active {
    opacity: 1;
    z-index: 1;
}

/* Hero Slide Backgrounds */
.st-hero-bg-1 {
    background: linear-gradient(135deg, rgba(0, 31, 63, 0.4) 0%, rgba(0, 0, 0, 0.2) 100%), url('../images/hero_slide1_v4.png') no-repeat !important;
}

.st-hero-bg-2 {
    background: linear-gradient(135deg, rgba(30, 30, 30, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%), url('../images/hero_slide2_v2.png') no-repeat !important;
}

.st-hero-bg-3 {
    background: linear-gradient(135deg, rgba(0, 50, 100, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%), url('../images/hero_slide3_v3.png') no-repeat !important;
}

.st-hero-bg-4 {
    background: linear-gradient(135deg, rgba(20, 20, 20, 0.5) 0%, rgba(0, 0, 0, 0.3) 100%), url('../images/hero_slide4_v3.png') no-repeat !important;
}

.mainRenewalHero {
    position: relative;
}

.st-modern-hero-inner {
    width: 100%;
    height: 100%;
    background-size: cover !important;
    background-position: center center !important;
    padding: 70px 20px 90px;
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Slider Dots */
.st-slider-dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 10;
}

.st-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    cursor: pointer;
    transition: all 0.3s;
}

.st-dot.active {
    background: #fff;
    width: 30px;
    border-radius: 10px;
}

.st-hero-title {
    font-size: 3.8rem;
    /* Larger title */
    font-weight: 900;
    margin-bottom: 25px;
    line-height: 1.1;
    letter-spacing: -2px;
    color: #fff !important;
    text-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
    animation: fadeInUp 1s ease-out;
}

.st-hero-desc {
    font-size: 1.4rem;
    font-weight: 500;
    opacity: 0.95;
    max-width: 900px;
    margin: 0 auto;
    line-height: 1.6;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    animation: fadeInUp 1.2s ease-out;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.st-hero-tag {
    display: inline-block;
    padding: 8px 20px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.st-service-grid {
    display: flex !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-top: 0 !important;
    padding: 0 20px !important;
    flex-wrap: wrap !important;
}

.st-service-card {
    background: #fff !important;
    padding: 30px 20px !important;
    border-radius: var(--st-card-radius) !important;
    width: 270px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
    text-align: center;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    border: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

.st-service-card:hover {
    transform: translateY(-10px);
    border-color: var(--st-primary-color) !important;
}

.st-card-icon {
    font-size: 3rem;
    display: block;
    margin-bottom: 15px;
}

.st-card-name {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1d1d1f;
    margin-bottom: 10px;
}

.st-card-info {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.5;
}

/* 기존 구조 보정 */
.mainVisualSet.st-visual-reset {
    padding: 0 !important;
    height: auto !important;
    background: none !important;
}

.st-service-section {
    position: relative;
    z-index: 10;
    isolation: isolate;
}

.mainServiceSet.st-service-reset {
    padding: 60px 0 !important;
    background: #fff !important;
    position: relative;
    z-index: 10;
}

/* 개선안 전용 버튼 */
.st-btn-mini {
    display: inline-block;
    padding: 9px 22px;
    background: transparent;
    color: #1d1d1f !important;
    border: 1.5px solid #1d1d1f;
    border-radius: 50px;
    font-size: 0.9rem;
    font-weight: 700;
    transition: all 0.2s ease;
    text-decoration: none;
    position: relative;
    z-index: 2;
    pointer-events: auto;
    cursor: pointer;
}

.st-btn-mini:hover,
.st-service-card:hover .st-btn-mini {
    background: #1d1d1f !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
}

/* Scoped Achromatic Shadow for Variant 2 */
.st-variant-2-theme .st-btn-mini:hover,
.st-variant-2-theme .st-service-card:hover .st-btn-mini {
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.st-variant-2-theme .st-btn-mini {
    color: #1d1d1f !important;
    border-color: #1d1d1f !important;
    border-radius: 0 !important;
}

.st-variant-2-theme .st-btn-mini:hover {
    background: #1d1d1f !important;
    color: #fff !important;
}

/* Adjust top padding to remove gap - Scoped for Variant 2 only */
.st-variant-2-theme #wrap.headerOn {
    padding-top: 0 !important;
}

/* Global header and header styling - Scoped for Variant 2 only */
.st-variant-2-theme .global.hide-small {
    background: #fff;
    border-bottom: 1px solid #eee;
}

/* SVG style inside buttons */
.st-btn-large svg {
    margin-right: 8px;
    vertical-align: middle;
}


/* Improvement 4: Funding UI */
.st-funding-section {
    padding: 80px 20px;
    background: #f8fafc;
}

.st-funding-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 30px;
    max-width: 1240px;
    margin: 40px auto 0;
}

.st-funding-card {
    background: #fff;
    padding: 30px;
    border-radius: 24px;
    border: 1px solid #e2e8f0;
    transition: all 0.3s ease;
}

.st-funding-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}

.st-funding-tag {
    display: inline-block;
    padding: 4px 12px;
    background: #fdf2f2;
    color: #6c390d;
    font-size: 0.8rem;
    font-weight: 700;
    border-radius: 6px;
    margin-bottom: 15px;
}

.st-progress-wrap {
    margin: 20px 0;
}

.st-progress-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    font-weight: 700;
}

.st-progress-bar {
    height: 12px;
    background: #edf2f7;
    border-radius: 10px;
    overflow: hidden;
}

.st-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #6c390d, #9e591d);
    border-radius: 10px;
    transition: width 1s ease-out;
}

/* Improvement 3: Social Proof Widget */
.st-trust-section {
    padding: 60px 20px;
    background: #fff;
    text-align: center;
    position: relative;
    z-index: 1;
}

.st-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    max-width: 1100px;
    margin: 50px auto 0;
    background: var(--st-grid-bg);
    padding: 60px;
    border-radius: 40px;
    color: #fff;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

.st-stat-value {
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.st-stat-label {
    font-size: 1.1rem;
    opacity: 0.8;
}

/* Improvement 5: Quick Donate CTA */
.st-cta-group {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
    flex-wrap: wrap;
    /* Allow wrapping on small screens */
}

.st-btn-large {
    padding: 12px 30px;
    font-size: 1.15rem;
    font-weight: 800;
    border-radius: var(--st-btn-radius);
    text-decoration: none !important;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap !important;
}

.st-btn-primary {
    background: var(--st-primary-color);
    color: #fff !important;
}

.st-btn-outline {
    border: 2px solid var(--st-primary-color);
    color: var(--st-primary-color) !important;
    background: #fff;
}

.st-btn-outline:hover {
    background: var(--st-primary-color);
    color: #fff !important;
}

.st-btn-full {
    width: 100% !important;
}

.st-btn-center {
    justify-content: center !important;
}

.st-btn-large:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.st-variant-2-theme .st-btn-large:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Improvement 6: Admin Info Section */
.st-admin-notice-area {
    background: #f1f5f9;
    padding: 60px 20px;
    border-top: 1px solid #e2e8f0;
}

.st-admin-inner {
    max-width: 1240px;
    margin: 0 auto;
}

.st-admin-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 30px;
    color: #334155;
    text-align: left;
}

.st-admin-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 20px;
}

.st-admin-card {
    background: #fff;
    padding: 20px 25px;
    border-radius: 12px;
    text-decoration: none;
    color: #5753a8;
    border: 1px solid #e2e8f0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.st-admin-card:hover {
    border-color: #6c390d;
    color: #6c390d;
}

.st-date {
    font-size: 0.85rem;
    color: #94a3b8;
}

/* Educational Guide Section */
/* ===== Educational Guide Section ===== */
.st-guide-section {
    padding: 60px 20px;
    background: #fff;
}

.st-guide-section-header {
    max-width: 1200px;
    margin: 0 auto 36px;
    text-align: center;
}

.st-guide-section-title {
    font-size: 1.85rem;
    font-weight: 800;
    color: #181730;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
}

.st-guide-section-subtitle {
    font-size: 1rem;
    color: #64748b;
    font-weight: 400;
}

.st-guide-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(480px, 1fr));
    gap: 28px;
    max-width: 1200px;
    margin: 0 auto;
}

.st-guide-card {
    background: #fff;
    padding: 36px 36px 40px;
    border-radius: var(--st-card-radius);
    border: 1px solid #e8edf5;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 0;
}

.st-guide-btn-wrap {
    border-top: 1px solid #e8edf5;
    padding-top: 22px;
    margin-top: 24px;
    text-align: center;
}

.st-guide-btn-solid {
    display: inline-block;
    width: fit-content;
    margin: 0 auto;
    padding: 13px 40px;
    background: var(--st-primary-color);
    color: #fff !important;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    border-radius: var(--st-btn-radius);
    text-decoration: none !important;
    transition: background 0.2s ease, transform 0.15s ease;
    letter-spacing: -0.2px;
}

.st-guide-btn-solid:hover {
    background: var(--st-primary-hover);
    text-decoration: none !important;
    transform: translateY(-1px);
}

.st-variant-2-theme .st-guide-btn-solid {
    background: #6c390d !important;
    border-radius: 0 !important;
}

.st-variant-2-theme .st-guide-btn-solid:hover {
    background: #512909 !important;
}

.st-guide-btn-solid * {
    text-decoration: none !important;
}

.st-guide-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: #181730;
    margin-bottom: 4px;
}

.st-guide-title-badge {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #5753a8;
    background: #e8f0fb;
    border-radius: 6px;
    padding: 3px 10px;
    margin-bottom: 14px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.st-guide-desc {
    font-size: 0.98rem;
    color: #5753a8;
    line-height: 1.7;
    margin-bottom: 28px;
    font-weight: 400;
}

.st-guide-desc strong {
    color: #181730;
    display: block;
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 6px;
}

/* Diagram Styling */
.st-diagram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px 0 8px;
    border-top: 1px solid #f0f4f8;
    overflow: visible;
}

.st-dia-node {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 2.5px solid #cecece;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-weight: 600;
    color: #475569;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
}

.st-dia-node-blue {
    background: #1d1d1f;
    border-color: #1d1d1f;
    color: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
}

.st-dia-arrow {
    flex: 1;
    height: 2px;
    background: #cbcbcb;
    position: relative;
    min-width: 28px;
    max-width: 70px;
    z-index: 1;
    overflow: visible;
    flex-shrink: 1;
}

.st-dia-arrow::after {
    content: '';
    position: absolute;
    right: -8px;
    top: -5px;
    width: 0;
    height: 0;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-left: 9px solid #cbcbcb;
}

.st-dia-label {
    font-size: 0.9rem;
    color: #bfbfbf;
    white-space: nowrap;
    font-weight: 500;
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
}

/* Association Search & Selection */
.st-assoc-section {
    padding: 60px 20px 70px;
    background: none;
    text-align: center;
}

.st-search-portal {
    max-width: 720px;
    margin: 0 auto 0;
    padding: 0 0 40px;
    background: none;
    border-radius: 0;
}

.st-assoc-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
    max-width: 1200px;
    margin: 36px auto 0;
    padding: 0 20px;
}

.st-search-title {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 12px;
    color: #181730;
    letter-spacing: -0.5px;
}

.st-search-subtitle {
    font-size: 1rem;
    color: #64748b;
    margin-bottom: 28px;
    font-weight: 400;
}

.st-search-wrapper {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #c7d5e8;
    border-radius: 14px;
    padding: 5px 5px 5px 20px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}

.st-search-wrapper:focus-within {
    border-bottom-color: var(--st-primary-color) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1);
    transform: none;
}

.st-search-input {
    flex: 1;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: none !important;
    padding: 12px 10px;
    font-size: 1rem;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 10px 0 0 10px;
    color: #2b2954;
    font-weight: 400;
    background: transparent;
}

.st-search-btn {
    background: var(--st-primary-color);
    color: #fff;
    border: none;
    padding: 12px 28px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.st-search-btn:hover {
    background: var(--st-primary-hover);
}

/* Notice Section - Flat 3-Column Cards */
.st-notice-section {
    padding: 30px 20px;
    background: #f8fafc;
    border-bottom: 1px solid #e8edf5;
}

.st-notice-section-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.st-notice-section-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
    margin-bottom: 14px;
}

.st-notice-section-title {
    font-weight: 800;
    color: #181730;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
}

.st-notice-section-subtitle {
    font-size: 1rem;
    color: #64748b;
    font-weight: 400;
}

.st-notice-viewall {
    font-weight: 600;
    color: #5753a8;
    text-decoration: none;
    white-space: nowrap;
    transition: opacity 0.2s;
}

.st-notice-viewall:hover {
    opacity: 0.7;
    text-decoration: none;
}

.st-notice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1200px;
    margin: 0 auto;
}

.st-notice-card-item {
    background: #fff;
    border: 1px solid #e8edf5;
    border-radius: 16px;
    padding: 22px 24px;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: all 0.2s ease;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.st-notice-card-item:hover {
    border-color: rgba(87, 83, 168, 0.4);
    background-color: rgba(87, 83, 168, 0.02);
    box-shadow: 0 4px 20px rgba(87, 83, 168, 0.08);
    transform: translateY(-2px);
    text-decoration: none !important;
}

.st-notice-card-item * {
    text-decoration: none !important;
}

.st-notice-card-date {
    font-size: 0.78rem;
    color: #94a3b8;
    font-weight: 500;
}

.st-notice-label-tag {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    color: #5753a8;
    background: #e8f0fb;
    border-radius: 5px;
    padding: 2px 8px;
    width: fit-content;
}



/* FAQ Section Redesign (Reference Style) */
.st-faq-section {
    background: #f8fafc;
    padding: 30px 20px;
}

.st-faq-inner {
    max-width: 1200px;
    margin: 0 auto;
}

.st-faq-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    gap: 0;
}

.st-faq-main-title {
    font-weight: 800;
    color: #181730;
    margin: 0;
}

.st-faq-subtitle-wrap {
    margin-bottom: 14px;
}

.st-faq-subtitle {
    font-size: 1rem;
    color: #64748b;
    margin: 0;
}

.st-faq-more {
    color: #5753a8;
    text-decoration: none;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
    transition: opacity 0.2s;
}

.st-faq-more:hover {
    opacity: 0.7;
    text-decoration: none;
}

.st-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.st-faq-card {
    background: #fff;
    border-radius: 16px;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    text-decoration: none !important;
    transition: all 0.2s;
    border: 1px solid #e8edf5;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.st-faq-card:hover {
    border-color: rgba(87, 83, 168, 0.4);
    background-color: rgba(87, 83, 168, 0.02);
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(87, 83, 168, 0.08);
}

.st-faq-card:hover .st-faq-question {
    text-decoration: none !important;
}

.st-faq-q-icon {
    width: 44px;
    height: 44px;
    background: #fff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5753a8;
    font-weight: 800;
    font-size: 1.2rem;
}


/* Donation Guide Banner Redesign */
.st-guide-banner {
    background: #fff;
    margin: 0;
    padding: 60px 0;
    overflow: hidden;
    border-top: 1px solid #eef2f7;
    border-bottom: 1px solid #eef2f7;
}

.st-guide-banner-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 40px;
}

.st-guide-banner-content {
    width: 100%;
}

.st-guide-banner-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #181730;
    margin-bottom: 20px;
    line-height: 1.2;
}

.st-guide-banner-desc {
    font-size: 1.2rem;
    color: #64748b;
    margin-bottom: 35px;
    line-height: 1.6;
}

.st-guide-banner-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 15px;
    width: 100%;
}

.st-guide-btn {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
    padding: 18px 25px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 1.05rem;
    text-decoration: none;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    word-break: keep-all;
}

.st-guide-btn-primary {
    background: var(--st-primary-color);
    color: #fff;
}

.st-guide-btn-primary:hover {
    background: var(--st-primary-hover);
    transform: translateY(-2px);
    text-decoration: none !important;
}

.st-guide-btn-secondary {
    background: #fff;
    color: var(--st-primary-color);
    border: 2px solid var(--st-primary-color);
}

.st-guide-btn-secondary:hover {
    background: rgba(87, 83, 168, 0.05);
    /* Very light purple/blue instead of light blue */
    transform: translateY(-2px);
    text-decoration: none !important;
}

/* 추가 스타일 (인라인 스타일 이관) */
.st-trust-title {
    font-size: 2.5rem;
    font-weight: 800;
    color: #334155;
}

.st-trust-desc {
    color: #64748b;
    margin-top: 10px;
}

.st-card-icon svg {
    margin-bottom: 15px;
}

.st-btn-mini-margin {
    margin-top: 10px;
}

.st-hero-primary-blue {
    background: #5753a8 !important;
}

.st-guide-section-renewal {
    background: #f8fafc !important;
}

.st-dia-node-blue {
    border-color: #2d3748 !important;
}

.st-search-portal-renewal {
    margin-bottom: 0 !important;
    border-radius: 40px 40px 0 0 !important;
}

.st-assoc-card-active {
    background: #f0f7ff !important;
    border-color: #5753a8 !important;
}

.st-assoc-icon-active {
    color: #5753a8 !important;
}

.st-notice-inner-gap {
    gap: 20px !important;
}

.st-notice-label-no-border {
    border-right: none !important;
    padding-right: 0 !important;
}

.st-banner-report-highlight {
    color: #5753a8;
    border-bottom: 2px solid #5753a8;
}

.st-variant-2-theme .st-banner-report-highlight {
    color: #9e591d;
    border-bottom: 2px solid #9e591d;
}

.st-banner-icon-icon1 {
    background-image: url('../images/icon1.png');
}

.st-banner-icon-icon2 {
    background-image: url('../images/icon2.png');
}

.st-banner-icon-icon3 {
    background-image: url('../images/icon3.png');
}


.st-notice-date {
    font-size: 0.85rem;
    color: #94a3b8;
    margin-left: 16px;
    flex-shrink: 0;
}

.st-guide-banner-visual {
    flex: 1;
    max-width: 500px;
}

.st-guide-banner-visual img {
    width: 100%;
    border-radius: 30px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

/* Compact Association Card Grid */
.st-assoc-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    /* 5 columns */
    gap: 15px;
    max-width: 1200px;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .st-assoc-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .st-assoc-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.st-assoc-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 20px 15px;
    /* Symmetrical internal padding */
    text-align: center;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 120px;
    /* Fixed height for compactness */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.st-assoc-card:hover {
    background: #f8fafc;
    border-color: var(--st-primary-color);
    box-shadow: 0 10px 20px rgba(0, 78, 162, 0.08);
    transform: translateY(-3px);
}

.st-assoc-icon {
    margin-bottom: 12px;
    color: #64748b;
    transition: color 0.2s;
}

.st-assoc-card:hover .st-assoc-icon {
    color: var(--st-primary-color);
}

.st-assoc-type {
    font-size: 0.95rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 0;
    line-height: 1.3;
    word-break: keep-all;
}

.st-assoc-card:hover .st-assoc-type {
    color: var(--st-primary-color);
}

/* Image Link Banners (Side-by-Side Redesign) */
.st-banner-section {
    max-width: 1200px;
    margin: 40px auto 60px;
    padding: 0 20px;
}

.st-banner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.st-banner-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-decoration: none !important;
    border-radius: 24px;
    overflow: hidden;
    height: 125px;
    /* Taller height as requested */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
    position: relative;
    padding: 0 25px;
}

.st-banner-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
}

.st-banner-content {
    flex: 1;
    z-index: 2;
}

.st-banner-title {
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.4;
    word-break: keep-all;
    color: #181730;
}

.st-banner-icon-box {
    width: 85px;
    height: 85px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 15px;
    z-index: 2;
    mix-blend-mode: multiply;
    /* Fix awkward white backgrounds */
}

/* Specific Banner Colors - Professional Photo Backgrounds */
.st-banner-council {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.96) 45%, rgba(255, 255, 255, 0.7) 70%, rgba(255, 255, 255, 0) 100%), url('../images/banner_council_bg.png') center right / cover no-repeat;
    border: 1px solid #d0dce8;
}

.st-banner-guide {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.96) 45%, rgba(255, 255, 255, 0.7) 70%, rgba(255, 255, 255, 0) 100%), url('../images/banner_guide_bg.png') center right / cover no-repeat;
    border: 1px solid #d0dce8;
}

.st-banner-report {
    background: linear-gradient(to right, rgba(255, 255, 255, 0.96) 45%, rgba(255, 255, 255, 0.7) 70%, rgba(255, 255, 255, 0) 100%), url('../images/banner_report_bg.png') center right / cover no-repeat;
    border: 1px solid #d0dce8;
}


.st-banner-footer {
    display: none;
}

/* Dynamic TC_NTCN banners - neutral card look when no variant class present */
.st-banner-section[class*="st-banner-count-"] .st-banner-card:not(.st-banner-council):not(.st-banner-guide):not(.st-banner-report) {
    background: #f4f7fb;
    border: 1px solid #d0dce8;
    justify-content: center;
    text-align: center;
}

/* 1건: 가운데 정렬 (컨테이너 1/3 폭 = 카드 1개 폭) */
.st-banner-count-1 .st-banner-grid { grid-template-columns: repeat(3, 1fr); }
.st-banner-count-1 .st-banner-grid .st-banner-card { grid-column: 2 / 3; }
body.st-variant-2-theme .st-banner-count-1 .st-banner-grid { grid-template-columns: repeat(3, 1fr); }
body.st-variant-2-theme .st-banner-count-1 .st-banner-grid .st-banner-card { grid-column: 2 / 3; }

/* 2건: 5:5 */
.st-banner-count-2 .st-banner-grid { grid-template-columns: 1fr 1fr; }
body.st-variant-2-theme .st-banner-count-2 .st-banner-grid { grid-template-columns: 1fr 1fr; }

/* 4건 이상: carousel — 카드 CSS 자체는 3건 때와 동일. viewport/li 만 최소 조정 */
.st-banner-count-carousel {
    position: relative;
}
.st-banner-count-carousel .st-banner-viewport {
    width: 100%;
    overflow: hidden;
    padding: 20px 0;
    margin: -20px 0;
}
.st-banner-count-carousel .st-banner-carousel {
    margin: 0;
    padding: 0;
    list-style: none;
}
.st-banner-count-carousel .st-banner-carousel > li {
    float: left;
    list-style: none;
    margin-right: 20px;
}
.st-banner-count-carousel .st-banner-carousel > li .st-banner-card {
    width: 100%;
}
.st-banner-prev,
.st-banner-next {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    border: 1px solid #d0d0d0;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: background 0.2s, box-shadow 0.2s;
    z-index: 2;
}
.st-banner-prev { left: -4px; }
.st-banner-next { right: -4px; }
.st-banner-prev:hover,
.st-banner-next:hover {
    background: #f5f5f5;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
}
.st-banner-prev::before,
.st-banner-next::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 11px;
    border-top: 3px solid #555;
    border-right: 3px solid #555;
}
.st-banner-prev::before { transform: translate(-30%, -50%) rotate(-135deg); }
.st-banner-next::before { transform: translate(-70%, -50%) rotate(45deg); }
.st-banner-prev span,
.st-banner-next span {
    position: absolute;
    left: -9999px;
}

@media (max-width: 1024px) {
    .st-banner-grid {
        grid-template-columns: 1fr;
    }

    .st-banner-card {
        height: 110px;
    }

    /* 1건 variant: 모바일에서 가운데 정렬 대신 전체 폭 사용 */
    .st-banner-count-1 .st-banner-grid {
        grid-template-columns: 1fr;
    }
    .st-banner-count-1 .st-banner-grid .st-banner-card {
        grid-column: auto;
    }

    /* 2건 variant: 모바일에서 세로 1열 */
    .st-banner-count-2 .st-banner-grid {
        grid-template-columns: 1fr;
    }

    /* carousel 버튼 모바일 축소 */
    .st-banner-prev,
    .st-banner-next { width: 40px; height: 40px; }
    .st-banner-prev { left: 4px; }
    .st-banner-next { right: 4px; }
    .st-banner-prev::before,
    .st-banner-next::before {
        width: 9px; height: 9px;
        border-top-width: 2px; border-right-width: 2px;
    }

    /* 4건 이상 carousel: 모바일에서는 세로 방향으로 전환 */
    .st-banner-section.st-banner-count-carousel {
        padding: 64px 20px;
    }
    .st-variant-2-theme .st-banner-section.st-banner-count-carousel {
        padding: 64px 16px;
    }
    .st-banner-count-carousel .st-banner-viewport {
        padding: 0;
        margin: 0;
    }
    .st-banner-count-carousel .st-banner-carousel > li {
        float: none;
        display: block;
        margin-right: 0;
        margin-bottom: 14px;
        width: 100%;
    }

    .st-variant-2-theme .st-banner-count-carousel .st-banner-card {
        height: auto !important;
        min-height: 100px;
        padding: 24px 20px;
    }

    .st-variant-2-theme .st-banner-count-carousel .st-banner-title {
        font-size: 1.1rem;
        line-height: 1.35;
    }

    /* 버튼: 뷰포트 위/아래 중앙 배치 */
    .st-banner-count-carousel .st-banner-prev,
    .st-banner-count-carousel .st-banner-next {
        width: 48px;
        height: 48px;
        left: 50%;
        right: auto;
        top: auto;
        transform: translateX(-50%);
    }
    .st-banner-count-carousel .st-banner-prev { top: 0; }
    .st-banner-count-carousel .st-banner-next { bottom: 0; }

    /* 화살표: ▲ / ▼ 로 회전 */
    .st-banner-count-carousel .st-banner-prev::before {
        transform: translate(-50%, -20%) rotate(-45deg);
    }
    .st-banner-count-carousel .st-banner-next::before {
        transform: translate(-50%, -80%) rotate(135deg);
    }
}

/* Slider Navigation Controls */
.st-slider-controls {
    position: absolute;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    padding: 0 40px;
    z-index: 15;
    pointer-events: none;
}

.st-slider-prev,
.st-slider-next,
.st-slider-toggle {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    transition: all 0.2s ease;
    pointer-events: auto;
}

.st-slider-prev:hover,
.st-slider-next:hover,
.st-slider-toggle:hover {
    background: #fff;
    color: #5753a8;
    transform: scale(1.1);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

.st-slider-toggle {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    pointer-events: auto;
    margin-right: 15px;
    /* Space between toggle and dots */
}

.st-slider-toggle:hover {
    background: #fff;
    color: #5753a8;
    transform: scale(1.1);
}

.st-slider-toggle svg {
    width: 14px;
    height: 14px;
}

.st-slider-prev svg,
.st-slider-next svg {
    width: 24px;
    height: 24px;
}

/* Dots and Toggle Container */
.st-dots-container {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    z-index: 10;
}

/* Adjust old dots position */
.st-slider-dots {
    position: static;
    transform: none;
    bottom: auto;
    left: auto;
}

@media (max-width: 768px) {
    .st-slider-controls {
        padding: 0 15px;
    }

    .st-slider-prev,
    .st-slider-next {
        width: 45px;
        height: 45px;
        font-size: 1.2rem;
    }
}

/* Calculator Hero Variant (Variant 2) - Apple Achromatic Style */
.st-hero-calc {
    background: #f5f5f7;
    /* Apple Gray */
    padding: 40px 0;
    overflow: hidden;
    border-bottom: 1px solid #d2d2d7;
    position: relative;
    z-index: 5;
}

.st-hero-calc-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
    padding: 0 20px;
}

.st-hero-calc-left {
    flex: 1;
    text-align: left;
}

.st-hero-calc-badge {
    display: inline-block;
    padding: 4px 12px;
    background: #fff;
    color: #86868b;
    /* Apple Secondary Text */
    border: 1px solid #d2d2d7;
    border-radius: 0;
    font-weight: 600;
    font-size: 0.8rem;
    margin-bottom: 24px;
    letter-spacing: -0.2px;
    text-transform: uppercase;
}

.st-hero-calc-title {
    font-size: 3.2rem;
    font-weight: 700;
    color: #1d1d1f;
    /* Apple Dark */
    line-height: 1.1;
    margin-bottom: 24px;
    word-break: keep-all;
    letter-spacing: -1.5px;
}

.st-hero-calc-desc {
    font-size: 1.15rem;
    color: #4a5568;
    line-height: 1.6;
    margin-bottom: 40px;
}

.st-hero-calc-btns {
    display: flex;
    align-items: center;
    gap: 24px;
}

.st-hero-calc-secure {
    font-size: 0.95rem;
    color: #718096;
}

/* Calculator Card */
.st-variant-2-theme .st-calc-card {
    width: 480px;
    background: #fff;
    border-radius: var(--st-card-radius) !important;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    /* Softer shadow */
}

.st-calc-card-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #2d3748;
    margin-bottom: 30px;
    text-align: left;
}

.st-calc-label {
    color: #a0aec0;
    margin-bottom: 12px;
    text-align: left;
}

.st-calc-input-row {
    display: flex;
    align-items: baseline;
    border-bottom: 1.5px solid #1d1d1f;
    margin-bottom: 40px;
    padding: 10px 0;
    gap: 15px;
    transition: border-color 0.3s ease;
}

.st-calc-input-row:focus-within {
    border-bottom-color: #6c390d;
    /* Red point on focus */
}

.st-calc-input {
    flex: 1;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    /* Break global 30px height */
    min-height: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: textfield !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    /* Remove inset shadow */
    font-size: 3.5rem !important;
    /* Dramatic Apple-style typography */
    font-weight: 700 !important;
    color: #1d1d1f !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: normal !important;
    letter-spacing: -2px !important;
}

.st-calc-input::-webkit-outer-spin-button,
.st-calc-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.st-calc-unit {
    font-size: 1.6rem;
    color: #86868b;
    font-weight: 500;
    padding-bottom: 8px;
    /* Visual baseline correction */
}

.st-variant-2-theme .st-calc-result-box {
    background: #fbfbfd;
    border-radius: 0 !important;
    padding: 24px;
    margin-bottom: 20px;
}

.st-calc-result-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.st-calc-result-row:last-child {
    margin-bottom: 0;
}

.st-calc-res-label {
    color: #718096;
}

.st-calc-res-val {
    font-size: 1.15rem;
    font-weight: 600;
    color: #6c390d;
}

.st-calc-res-total {
    font-size: 1.8rem;
    font-weight: 700;
    color: #6c390d;
}

.st-calc-footnote {
    font-size: 0.8rem;
    color: #cbd5e0;
    line-height: 1.4;
    text-align: center;
}

/* Theme Variant 2 - Apple Achromatic */
.st-variant-2-theme {
    background: #fff;
}

.st-variant-2-theme .st-service-card {
    background: #fbfbfd;
    border-radius: var(--st-card-radius) !important;
    border: 1px solid #d2d2d7 !important;
}

.st-variant-2-theme .st-service-card:hover {
    border-color: #6c390d !important;
    background: #fff;
}

.st-variant-2-theme .st-card-icon {
    background: #f5f5f7;
    border-radius: 0 !important;
}

/* Primary Button for Variant 2 */
.st-variant-2-theme .st-btn-primary,
.st-hero-calc .st-btn-primary {
    background: var(--st-primary-color) !important;
    border-radius: var(--st-btn-radius) !important;
}

.st-variant-2-theme .st-btn-primary:hover,
.st-hero-calc .st-btn-primary:hover {
    background: var(--st-primary-hover) !important;
}

/* Trust Section Overrides */
.st-variant-2-theme .st-trust-title {
    color: #1d1d1f;
}

.st-variant-2-theme .st-stat-item {
    background: #fbfbfd;
    border-radius: 0 !important;
    border: 1px solid #d2d2d7 !important;
}

.st-variant-2-theme .st-stat-value {
    color: #6c390d;
}

/* Section 1: Benefit Grid Overhauls */
.st-variant-2-theme .st-benefit-section {
    padding: 100px 20px;
    background: #fff;
    border-bottom: 1px solid #f0f0f2;
}

.st-variant-2-theme .st-section-header {
    text-align: center;
    margin-bottom: 60px;
}

.st-variant-2-theme .st-section-badge {
    display: inline-block;
    padding: 6px 14px;
    background: #f5f5f7;
    color: #86868b;
    font-weight: 700;
    margin-bottom: 15px;
    letter-spacing: 0.05em;
}

.st-variant-2-theme .st-comparison-section .st-section-badge {
    background: #ffffff;
}

.st-variant-2-theme .st-section-main-title {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.2;
    color: #1d1d1f;
    letter-spacing: -0.02em;
}

.st-variant-2-theme .st-section-main-title strong {
    color: #6c390d;
}

.st-variant-2-theme .st-benefit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
}

.st-variant-2-theme .st-benefit-card {
    background: #fbfbfd;
    padding: 48px 36px;
    border: 1px solid #eef0f2;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    text-align: left;
    display: flex;
    flex-direction: column;
}

.st-variant-2-theme .st-benefit-card:hover {
    background: #fff;
    border-color: #6c390d;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
    transform: translateY(-8px);
}

.st-variant-2-theme .st-benefit-icon {
    font-size: 1.4rem;
    font-weight: 900;
    color: #6c390d;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 2px solid #6c390d;
}

.st-variant-2-theme .st-benefit-card-title {
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 18px;
    color: #1d1d1f;
}

.st-variant-2-theme .st-benefit-card-desc {
    font-size: 1rem;
    color: #424245;
    line-height: 1.6;
    word-break: keep-all;
}

/* Section 2: Comparison Grid (Support vs Deposit) */
.st-variant-2-theme .st-comparison-section {
    padding: 0 !important;
    background: #f5f5f7;
}

.st-variant-2-theme .st-comparison-grid {
    display: flex;
    flex-direction: row;
    gap: 30px;
    max-width: 1200px;
    margin: 40px auto 0;
}

.st-variant-2-theme .st-comp-card {
    flex: 1;
    background: #fff;
    padding: 30px;
    border-radius: 0 !important;
    border: 1px solid #eef0f2;
    text-align: center;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}

.st-variant-2-theme .st-comp-card-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 2px solid #1d1d1f;
    padding-bottom: 20px;
    margin-bottom: 30px;
}

.st-variant-2-theme .st-comp-card-body {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 20px;
    align-items: center;
}

.st-variant-2-theme .st-comp-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1d1d1f;
    margin: 0;
}

.st-variant-2-theme .st-comp-quote {
    margin-top: 0 !important;
    font-size: 1.05rem;
    font-weight: 700;
    color: #1d1d1f;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
}

.st-variant-2-theme .st-comp-desc {
    font-size: 1rem !important;
    color: #86868b;
    line-height: 1.5;
    margin: 0;
}

.st-variant-2-theme .st-comp-desc strong {
    color: #6c390d;
}

/* Simple Process Diagram Styling */
.st-variant-2-theme .st-comp-proc-simple {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 30px 0;
    justify-content: space-between;
}

.st-variant-2-theme .st-comp-proc-simple .st-node {
    flex: 0 0 auto;
    width: 90px;
    height: 90px;
    border: 1px solid #d2d2d7;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    background: #fff;
}

.st-variant-2-theme .st-comp-proc-simple .st-node-blue {
    background: #2c2c2e;
    color: #fff;
    border-color: #2c2c2e;
}

.st-variant-2-theme .st-comp-proc-simple .st-arrow {
    flex: 1;
    height: 2px;
    background: #d2d2d7;
    position: relative;
    margin: 0 10px;
}

.st-variant-2-theme .st-comp-proc-simple .st-arrow::after {
    content: '';
    position: absolute;
    right: -2px;
    top: -4px;
    border-left: 6px solid #d2d2d7;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}

.st-variant-2-theme .st-comp-proc-simple .st-arrow-label {
    position: absolute;
    top: -28px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 1rem;
    color: #86868b;
    white-space: nowrap;
}

.st-variant-2-theme .st-comp-card-footer {
    margin-top: auto;
    padding-top: 30px;
    border-top: 1px solid #eef0f2;
    display: flex;
    justify-content: center;
}

/* Process Diagram Styling */
.st-variant-2-theme .st-proc-diagram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 20px;
    background: #fcfcfd;
    height: 100%;
}

.st-variant-2-theme .st-proc-node {
    min-width: 120px;
    padding: 0 25px;
    height: 80px;
    white-space: nowrap;
    border-radius: 0 !important;
    border: 1px solid #d2d2d7;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem !important;
    font-weight: 700;
    color: #1d1d1f;
    background: #fff;
    text-align: center;
}

.st-variant-2-theme .st-proc-node.st-highlight {
    background: #fff !important;
    color: #6c390d;
    border: 3px solid #6c390d !important;
    min-width: 124px;
    padding: 0 10px;
    height: 84px;
    border-radius: 0 !important;
}

.st-variant-2-theme .st-proc-arrow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    color: #d2d2d7;
}

.st-variant-2-theme .st-proc-label {
    font-size: 1rem !important;
    color: #b0b0b5;
    font-weight: 500;
    white-space: nowrap;
    text-align: center;
}

.st-variant-2-theme .st-proc-arrow svg {
    width: 40px;
    height: 16px;
}

.st-variant-2-theme .st-proc-arrow-bi {
    gap: 15px;
}

.st-variant-2-theme .st-proc-arrow-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.st-variant-2-theme .st-arrow-reverse svg {
    transform: rotate(180deg);
}

.st-variant-2-theme .st-comp-btn {
    align-self: center;
    padding: 18px 48px;
    background: #6c390d !important;
    color: #fff;
    font-weight: 700;
    border-radius: 0 !important;
    text-decoration: none;
    transition: all 0.2s ease;
    font-size: 1rem;
    letter-spacing: -0.01em;
}

.st-variant-2-theme .st-comp-btn:hover {
    background: var(--st-primary-hover) !important;
    transform: none !important;
    box-shadow: none !important;
}

@media (max-width: 1024px) {
    .st-hero-calc-container {
        flex-direction: column;
        text-align: center;
        gap: 40px;
    }

    .st-hero-calc-left {
        text-align: center;
    }

    .st-hero-calc-btns {
        justify-content: center !important;
        display: flex !important;
        width: 100% !important;
    }

    .st-hero-calc-btns-col {
        align-items: center !important;
        width: 100% !important;
    }

    .st-hero-btn-group {
        justify-content: center !important;
        width: 100% !important;
        max-width: fit-content;
        margin: 0 auto;
    }

    .st-hero-calc-secure-mod {
        text-align: center !important;
        width: 100% !important;
    }

    .st-calc-card {
        width: 100%;
        max-width: 480px;
        margin: 0 auto;
    }
}

/* Navigation Safety for Variant 2 - Strictly Scoped */
body:has(.st-hero-calc) #header,
.st-variant-2-theme #header {
    z-index: 1000 !important;
    position: relative !important;
    background: #fff !important;
}

body:has(.st-hero-calc) .gnbBorder,
.st-variant-2-theme .gnbBorder {
    z-index: 1001 !important;
    background: #fff !important;
}

body:has(.st-hero-calc) .gnbBg,
.st-variant-2-theme .gnbBg {
    z-index: 999 !important;
}

/* Structural Overhaul Styles - Variant 2 - Strictly Scoped */
.st-variant-2-theme .st-section-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px 20px;
}

.st-variant-2-theme .st-benefit-section {
    background: #fff;
    border-bottom: 1px solid #f5f5f7;
}

.st-variant-2-theme .st-benefit-num {
    display: block;
    font-size: 1.2rem;
    font-weight: 700;
    color: #6c390d;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

.st-variant-2-theme .st-benefit-title {
    font-size: 3.5rem;
    font-weight: 800;
    color: #1d1d1f;
    line-height: 1.2;
    margin-bottom: 30px;
}

.st-variant-2-theme .st-benefit-desc {
    font-size: 1.25rem;
    color: #86868b;
    line-height: 1.6;
    margin-bottom: 50px;
    max-width: 600px;
}

.st-variant-2-theme .st-text-red {
    color: #6c390d;
}

.st-variant-2-theme .st-benefit-image-placeholder {
    width: 100%;
    height: 400px;
    background: #f5f5f7;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d2d2d7;
}

.st-variant-2-theme .st-placeholder-box {
    font-size: 2rem;
    font-weight: 800;
    color: #d2d2d7;
    letter-spacing: 5px;
}

.st-variant-2-theme .st-impact-section {
    background: #fbfbfd;
}

.st-variant-2-theme .st-impact-header {
    margin-bottom: 60px;
}

.st-variant-2-theme .st-impact-title {
    font-size: 3rem;
    font-weight: 800;
    color: #1d1d1f;
    line-height: 1.2;
}

.st-variant-2-theme .st-impact-wall {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 200px;
    gap: 20px;
}

.st-variant-2-theme .st-impact-card {
    background: #fff;
    padding: 30px;
    border: 1px solid #d2d2d7;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.st-variant-2-theme .st-impact-large {
    grid-column: span 2;
    grid-row: span 2;
    padding: 50px;
}

.st-variant-2-theme .st-impact-dark {
    background: #1d1d1f;
    color: #fff;
    border: none;
}

.st-variant-2-theme .st-impact-val {
    display: block;
    font-size: 2.5rem;
    font-weight: 800;
    margin-bottom: 10px;
}

.st-variant-2-theme .st-impact-large .st-impact-val {
    font-size: 5rem;
}

.st-variant-2-theme .st-impact-lab {
    font-size: 1rem;
    color: #86868b;
    font-weight: 600;
}

.st-variant-2-theme .st-impact-dark .st-impact-lab {
    color: rgba(255, 255, 255, 0.6);
}

.st-variant-2-theme .st-vertical-guide {
    background: #fff;
}

.st-variant-2-theme .st-guide-main-title {
    font-size: 2.5rem;
    font-weight: 800;
    text-align: center;
    margin-bottom: 80px;
}

.st-variant-2-theme .st-step-list {
    max-width: 800px;
    margin: 0 auto;
}

.st-variant-2-theme .st-step-item {
    display: flex;
    gap: 40px;
    margin-bottom: 80px;
    position: relative;
}

.st-variant-2-theme .st-step-item::after {
    content: '';
    position: absolute;
    left: 40px;
    top: 60px;
    bottom: -60px;
    width: 2px;
    background: #f5f5f7;
}

.st-variant-2-theme .st-step-item:last-child::after {
    display: none;
}

.st-variant-2-theme .st-step-marker {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    background: #fff;
    border: 2px solid #1d1d1f !important;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: 800;
    color: #1d1d1f;
    z-index: 2;
    border-radius: 0 !important;
}

.st-variant-2-theme .st-step-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 10px;
}

.st-variant-2-theme .st-step-desc {
    font-size: 1.1rem;
    color: #86868b;
    line-height: 1.6;
}

.st-variant-2-theme .st-cta-block {
    display: none;
    /* Replaced by Payment Methods */
}

/* Payment Methods Section - Apple Style Grid */
.st-variant-2-theme .st-pay-methods-section {
    background: #1d1d1f !important;
    padding: 80px 20px;
    border: none !important;
}

.st-variant-2-theme .st-pay-header {
    text-align: center;
    margin-bottom: 60px;
}

.st-variant-2-theme .st-pay-title {
    font-size: 2.22rem;
    font-weight: 800;
    color: #fff !important;
    letter-spacing: -0.03em;
}

.st-variant-2-theme .st-pay-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.st-variant-2-theme .st-pay-card {
    background: #2c2c2e !important;
    padding: 40px 30px;
    text-align: center;
    border: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 0 !important;
    min-height: 160px;
}

.st-variant-2-theme .st-pay-card:hover {
    background: #3a3a3c !important;
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4) !important;
}

.st-variant-2-theme .st-pay-card-title {
    color: #fff !important;
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 12px;
}

.st-variant-2-theme .st-pay-card-details {
    color: #86868b !important;
    font-size: 1rem;
    line-height: 1.5;
}

/* Redesigned above */


/* Board Section (Notice & FAQ Side-by-Side) */
.st-variant-2-theme .st-board-section {
    background: #fbfbfd;
    padding: 0 !important;
}

.st-variant-2-theme .st-board-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.st-variant-2-theme .st-board-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 30px;
    border-bottom: 2px solid #1d1d1f;
    padding-bottom: 12px;
}

.st-variant-2-theme .st-board-title {
    font-size: 1.8rem;
    font-weight: 800;
    color: #1d1d1f;
}

.st-variant-2-theme .st-board-more {
    font-size: 0.9rem;
    font-weight: 700;
    color: #6c390d;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Notice & FAQ Grids - Enforced Single Column */
.st-variant-2-theme .st-notice-grid,
.st-variant-2-theme .st-faq-grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 10px;
}

/* Compressed Cards - Common Base */
.st-variant-2-theme .st-notice-card-item,
.st-variant-2-theme .st-faq-card {
    background: #fff;
    padding: 14px 24px !important;
    border: 1px solid #eef0f2 !important;
    text-decoration: none;
    color: #1d1d1f;
    transition: all 0.2s;
    border-radius: 0 !important;
    display: flex !important;
    min-height: 84px !important;
    box-sizing: border-box !important;
}

.st-variant-2-theme .st-notice-card-item {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 8px !important;
}

.st-variant-2-theme .st-faq-card {
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px !important;
}

.st-variant-2-theme .st-notice-card-item:hover,
.st-variant-2-theme .st-faq-card:hover {
    border-color: #6c390d !important;
    background: #fff !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03) !important;
}

.st-variant-2-theme .st-notice-card-date {
    display: block;
    font-size: 0.8rem;
    color: #86868b;
    margin-bottom: 0 !important;
    white-space: nowrap;
}

.st-variant-2-theme .st-notice-card-title,
.st-variant-2-theme .st-faq-question {
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.5;
    word-break: keep-all;
    margin: 0 !important;
    text-align: left !important;
    flex: 1;
}

.st-variant-2-theme .st-faq-q-icon {
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem !important;
    font-weight: 900;
    color: #6c390d !important;
    margin-bottom: 0 !important;
    background: #fbfbfd !important;
    width: 32px !important;
    height: 32px !important;
    flex-shrink: 0;
    border: 1px solid #f0f0f2 !important;
}


.st-variant-2-theme .st-notice-label-tag {
    color: #6c390d !important;
    background: #fff !important;
    border: 1px solid #d2d2d7 !important;
    border-radius: 0 !important;
}

/* Banners - Scoped for Variant 2 */
.st-variant-2-theme .st-banner-section {
    background: #fff;
    padding: 80px 20px;
}

.st-variant-2-theme .st-banner-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.st-variant-2-theme .st-banner-card {
    height: 240px;
    background: #fbfbfd;
    border: 1px solid #d2d2d7 !important;
    padding: 40px;
    text-decoration: none;
    color: #1d1d1f;
    display: flex;
    align-items: center;
    transition: all 0.3s;
    border-radius: 0 !important;
}

.st-variant-2-theme .st-banner-card:hover {
    background: #fff;
    border-color: #6c390d !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05) !important;
}

.st-variant-2-theme .st-banner-title {
    font-size: 1.625rem;
    font-weight: 700;
    line-height: 1.3;
}

.st-variant-2-theme .st-banner-report-highlight {
    color: #6c390d;
}

.st-variant-2-theme .st-banner-section[class*="st-banner-count-"] .st-banner-card:not(.st-banner-council):not(.st-banner-guide):not(.st-banner-report) {
    background: #fbfbfd;
    border: 1px solid #d2d2d7 !important;
    border-radius: 0 !important;
    justify-content: center;
    text-align: center;
}

/* Guide Banner - Scoped for Variant 2 */
.st-variant-2-theme .st-guide-banner {
    background: #f5f5f7;
    padding: 100px 20px;
    margin-bottom: 40px;
}

.st-variant-2-theme .st-guide-banner-inner {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.st-variant-2-theme .st-guide-banner-title {
    font-size: 2.8rem;
    font-weight: 800;
    margin-bottom: 25px;
}

.st-variant-2-theme .st-guide-banner-desc {
    font-size: 1.2rem;
    color: #86868b;
    margin-bottom: 50px;
    line-height: 1.6;
}

.st-variant-2-theme .st-guide-banner-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.st-variant-2-theme .st-guide-btn-group {
    display: flex;
    gap: 15px;
    flex-wrap: nowrap;
    justify-content: center;
}

.st-variant-2-theme .st-guide-btn {
    padding: 14px;
    white-space: nowrap;
    border-radius: 0 !important;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.st-variant-2-theme .st-guide-btn-primary {
    background: #1d1d1f;
    color: #fff;
}

.st-variant-2-theme .st-guide-btn-primary:hover {
    background: #000;
}

.st-variant-2-theme .st-guide-btn-secondary {
    color: #1d1d1f;
    border: 1px solid #d2d2d7;
}

.st-variant-2-theme .st-guide-btn-secondary:hover {
    border-color: #1d1d1f;
    background: #fff;
}

/* ==========================================================================
   Responsive Optimization for Renewal Package - main_renewal_1.html
   Breakpoints: 1024px (tablet), 768px (mobile), 480px (small mobile)
   ========================================================================== */

/* ===== 1024px: Tablet ===== */
@media (max-width: 1024px) {

    /* [Section 2] Service Cards - allow wrapping into 2 cols */
    .st-service-grid {
        flex-wrap: wrap !important;
        gap: 20px !important;
        padding: 0 20px !important;
        justify-content: center !important;
    }

    .st-service-card {
        width: calc(50% - 10px) !important;
        box-sizing: border-box;
        min-width: 200px;
    }

    /* [Section 3] Stats Grid - single column */
    .st-stats-grid {
        grid-template-columns: repeat(3, 1fr);
        padding: 40px 30px;
    }

    /* [Section 7] Guide Grid - single column */
    .st-guide-grid {
        grid-template-columns: 1fr;
    }

    /* [Section 8] Assoc Grid - 4 cols */
    .st-assoc-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }

    /* [Section 11] Banner Grid - single column */
    .st-banner-grid {
        grid-template-columns: 1fr !important;
    }

    .st-banner-card {
        height: 150px !important;
    }

    /* Hero slider height reduction */
    .st-hero-slider {
        height: 440px;
    }

    .st-hero-title {
        font-size: 2.8rem;
        letter-spacing: -0.5px;
    }
}

/* ===== 768px: Mobile ===== */
@media (max-width: 768px) {

    /* Global section padding reduction */
    .st-service-section,
    .st-trust-section,
    .st-guide-section,
    .st-assoc-section,
    .st-notice-section,
    .st-faq-section,
    .st-banner-section,
    .st-guide-banner {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* [Hero] Height and text size */
    .st-hero-slider {
        height: 420px;
    }

    .st-hero-title {
        font-size: 1.9rem;
        letter-spacing: -1px;
        margin-bottom: 14px;
        word-break: keep-all;
    }

    .st-hero-desc {
        font-size: 1rem;
        line-height: 1.5;
    }

    .st-hero-tag {
        font-size: 0.85rem;
        padding: 6px 14px;
    }

    /* Hide smaller subtitle text in hero on very small screens via clamp */
    .st-modern-hero-inner {
        padding: 40px 16px 60px;
    }

    /* [Hero] CTA buttons - stacked vertically */
    .st-cta-group {
        flex-direction: column !important;
        align-items: stretch;
        padding: 0 10px;
        gap: 10px;
        margin-top: 18px;
    }

    .st-cta-group .st-btn-large {
        width: 100%;
        box-sizing: border-box;
        font-size: 1rem;
        padding: 13px 20px;
        justify-content: center;
    }

    /* [Section 2] Service Cards - 1 column */
    .st-service-grid {
        flex-direction: column !important;
        gap: 16px !important;
        padding: 0 16px !important;
    }

    .st-service-card {
        width: 100% !important;
        box-sizing: border-box;
        padding: 30px 24px !important;
    }

    /* [Section 3] Stats Grid - single col, tighter */
    .st-stats-grid {
        grid-template-columns: 1fr !important;
        padding: 30px 24px;
        gap: 0;
        border-radius: 24px;
    }

    .st-stat-item {
        padding: 20px 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .st-stat-item:last-child {
        border-bottom: none;
    }

    .st-stat-value {
        font-size: 2.4rem;
    }

    .st-trust-title {
        font-size: 1.7rem;
    }

    /* [Section 7] Guide - Reversed order: diagram on top, desc below
       Plus node shape: rounded-rectangle instead of circle */
    .st-guide-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .st-guide-card {
        padding: 24px 20px;
    }

    /* Show the flow diagram first (reverse via order) */
    .st-guide-btn-wrap {
        order: 3;
    }

    .st-guide-desc {
        order: 1;
    }

    .st-diagram {
        order: 2;
        flex-direction: column;
        gap: 10px;
        padding: 20px 0 10px;
    }

    /* Rounded-rect nodes on mobile instead of circle */
    .st-dia-node {
        width: 100%;
        max-width: 180px;
        height: auto;
        min-height: 50px;
        border-radius: 12px !important;
        padding: 10px 16px;
        font-size: 0.9rem;
    }

    .st-dia-node-blue {
        border-radius: 12px !important;
    }

    /* Arrow becomes vertical line */
    .st-dia-arrow {
        width: 2px;
        height: 30px;
        min-height: 30px;
        min-width: 2px;
        max-width: 2px;
        margin: 0 auto;
    }

    .st-dia-arrow::after {
        right: auto;
        left: 50%;
        top: auto;
        bottom: -8px;
        transform: translateX(-50%);
        border-top: 8px solid #cbcbcb;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent;
        border-bottom: 0;
    }

    .st-dia-label {
        top: 50%;
        left: 16px;
        transform: translateY(-50%);
        font-size: 0.78rem;
        white-space: nowrap;
    }

    /* [Section 8] Association Cards - icon left + text right, compact. Bottom rows hidden on mobile */
    .st-assoc-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 0 !important;
        margin-top: 20px !important;
    }

    .st-assoc-card:nth-child(n+6) {
        display: none !important;
    }

    .st-assoc-card {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 12px 16px !important;
        gap: 12px;
        text-align: left !important;
        border-radius: 12px !important;
    }

    .st-assoc-icon {
        flex-shrink: 0;
        margin-bottom: 0 !important;
    }

    .st-assoc-icon svg {
        width: 24px !important;
        height: 24px !important;
    }

    .st-assoc-type {
        font-size: 0.9rem !important;
        text-align: left;
        margin-bottom: 0 !important;
    }

    /* [Section 9] Notice Grid - 1 column */
    .st-notice-grid {
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .st-notice-card-item {
        padding: 16px 18px;
    }

    /* [Section 10] FAQ Grid - 1 column */
    .st-faq-grid {
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .st-faq-card {
        padding: 14px 16px;
        gap: 12px;
    }

    .st-faq-question {
        font-size: 0.95rem;
        line-height: 1.5;
        word-break: keep-all;
    }

    .st-faq-q-icon {
        width: 36px !important;
        height: 36px !important;
        font-size: 1rem;
        flex-shrink: 0;
    }

    /* [Section 11] Banner - 1 column */
    .st-banner-grid {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .st-banner-card {
        height: auto;
        min-height: 80px;
        padding: 20px;
        border-radius: 16px !important;
    }

    .st-banner-title {
        font-size: 1rem;
    }

    .st-banner-section {
        margin: 20px auto 30px;
    }

    /* [Section 12] Guide Banner Actions - 1 button per row */
    .st-guide-banner-title {
        font-size: 1.6rem;
    }

    .st-guide-banner-desc {
        font-size: 1rem;
    }

    .st-guide-banner-actions {
        flex-direction: column !important;
        align-items: stretch;
        gap: 10px;
    }

    .st-variant-2-theme .st-guide-btn-group {
        flex-direction: column !important;
        align-items: stretch;
        gap: 10px;
    }

    .st-guide-btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        font-size: 0.95rem;
        padding: 15px 20px;
        justify-content: center;
        text-align: center;
        box-sizing: border-box;
        flex: none !important;
    }

    .st-variant-2-theme .st-guide-btn br {
        display: none;
    }

    /* Search Portal */
    .st-search-wrapper {
        flex-direction: column;
        padding: 10px;
        border-radius: 12px !important;
        gap: 8px;
        box-sizing: border-box;
    }

    .st-search-input {
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        padding: 10px 14px !important;
        font-size: 0.95rem;
        border-radius: 8px !important;
        text-align: left;
    }

    .st-search-btn {
        width: 100% !important;
        box-sizing: border-box !important;
        justify-content: center;
        border-radius: 8px !important;
        padding: 12px;
    }

    .st-search-title {
        font-size: 1.5rem;
    }

    .st-search-subtitle {
        font-size: 0.9rem;
    }

    /* Slider Controls */
    .st-slider-controls {
        padding: 0 10px;
    }

    .st-slider-prev,
    .st-slider-next {
        width: 40px;
        height: 40px;
    }
}

/* ===== 480px: Small Mobile - reduce outer padding, hide small text ===== */
@media (max-width: 480px) {

    /* Reduce horizontal padding for container sections */
    #container,
    #content {
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .st-service-section,
    .st-trust-section,
    .st-assoc-section,
    .st-notice-section,
    .st-faq-section,
    .st-banner-section {
        padding-left: 0;
        padding-right: 0;
    }

    .st-service-grid {
        padding: 0 12px !important;
    }

    .st-assoc-grid {
        padding: 0 12px !important;
    }

    .st-notice-section-inner,
    .st-faq-inner,
    .st-guide-banner-inner {
        padding: 0 12px;
    }

    .st-banner-section {
        padding: 0 12px;
    }

    /* Hero - hide the secondary description text; hero title size fluid */
    .st-hero-title {
        font-size: 1.55rem;
        letter-spacing: -0.5px;
    }

    .st-hero-desc {
        display: none;
    }

    .st-hero-slider {
        height: 360px;
    }

    .st-modern-hero-inner {
        padding: 30px 12px 50px;
    }

    /* Stats further squished */
    .st-trust-section {
        padding: 40px 12px;
    }

    .st-stats-grid {
        padding: 24px 16px;
        border-radius: 16px;
    }

    .st-stat-value {
        font-size: 2rem;
    }

    .st-trust-title {
        font-size: 1.5rem;
    }

    /* Guide Section */
    .st-guide-section {
        padding: 40px 12px;
    }

    .st-guide-banner {
        padding: 40px 12px;
    }

    .st-guide-banner-title {
        font-size: 1.4rem;
    }
}

/* ==========================================================================
   Responsive Optimization - Variant 2 (main_renewal_2.html)
   Breakpoints: 1024px | 768px | 480px
   ========================================================================== */

/* ===== 1280px: Narrow Desktop (Variant 2) ===== */
@media (max-width: 1280px) {

    /* Content area: minimize side margins */
    .st-variant-2-theme .st-section-inner {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}

/* ===== 1024px: Tablet (Variant 2 specific) ===== */
@media (max-width: 1024px) {

    /* Comparison Section: stack cards on tablet */
    .st-variant-2-theme .st-comparison-grid {
        flex-direction: column;
        gap: 20px;
    }

    .st-variant-2-theme .st-comp-proc-simple {
        margin: 20px 0;
    }

    /* Process diagram: vertical layout at tablet */
    .st-variant-2-theme .st-proc-diagram {
        flex-direction: column;
        gap: 10px;
        padding: 20px 0;
        height: auto;
    }

    .st-variant-2-theme .st-proc-node {
        width: 100%;
        height: auto;
        min-height: 52px;
        padding: 14px 16px;
        text-align: center;
        white-space: normal;
        word-break: keep-all;
    }

    .st-variant-2-theme .st-proc-node.st-highlight {
        width: 100%;
        height: auto;
        min-height: 56px;
        padding: 14px 16px;
    }

    .st-variant-2-theme .st-proc-arrow {
        flex-direction: column;
        height: auto;
        padding: 6px 0;
        gap: 4px;
    }

    .st-variant-2-theme .st-proc-arrow svg {
        transform: rotate(90deg);
        width: 16px;
        height: 32px;
        margin: 0 auto;
    }

    .st-variant-2-theme .st-proc-arrow-bi {
        flex-direction: row;
        gap: 24px;
        width: 100%;
        justify-content: center;
        padding: 4px 0;
    }

    .st-variant-2-theme .st-proc-arrow-item {
        flex-direction: column;
        align-items: center;
    }

    .st-variant-2-theme .st-proc-arrow-item svg {
        transform: rotate(90deg);
        width: 16px;
        height: 32px;
        margin: 4px 0;
    }

    .st-variant-2-theme .st-arrow-reverse svg {
        transform: rotate(270deg) !important;
    }

    .st-variant-2-theme .st-proc-label {
        white-space: normal;
        text-align: center;
        font-size: 0.88rem !important;
    }

    /* Hero Calc - stack vertically */
    .st-hero-calc-container {
        flex-direction: column;
        text-align: center;
        gap: 36px;
        padding: 0 20px;
    }

    .st-hero-calc-left {
        text-align: center;
    }

    .st-hero-calc-btns {
        justify-content: center;
    }

    .st-variant-2-theme .st-calc-card {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        box-sizing: border-box;
    }

    /* Benefit Grid - 1 column (vertical layout for tablet) */
    .st-variant-2-theme .st-benefit-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* Board Grid - single column */
    .st-variant-2-theme .st-board-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    /* Pay Grid - 2 columns */
    .st-variant-2-theme .st-pay-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Section inner padding */
    .st-variant-2-theme .st-section-inner {
        padding: 40px 20px;
    }

    /* Comparison section: card body stacks */
    .st-variant-2-theme .st-comp-card-body {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .st-variant-2-theme .st-comp-card-top {
        flex-wrap: wrap;
        gap: 14px;
    }
}

/* ===== 768px: Mobile (Variant 2 specific) ===== */
@media (max-width: 768px) {

    /* --- Hero Calc --- */
    .st-hero-calc {
        padding: 28px 0;
    }

    .st-hero-calc-container {
        gap: 24px;
        padding: 0 16px;
    }

    .st-hero-calc-title {
        font-size: 1.8rem;
        letter-spacing: -0.5px;
        margin-bottom: 16px;
        word-break: keep-all;
    }

    .st-hero-calc-desc {
        font-size: 1rem;
        margin-bottom: 24px;
    }

    .st-hero-calc-btns {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .st-hero-calc-btns .st-btn-large {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
        padding: 14px 20px;
        font-size: 1.05rem;
    }

    .st-hero-btn-group {
        flex-direction: column;
        width: 100%;
        gap: 10px;
    }

    .st-hero-calc-secure {
        display: block;
        text-align: center;
    }

    .st-variant-2-theme .st-calc-card {
        padding: 24px 20px;
        box-sizing: border-box;
    }

    .st-calc-input {
        font-size: 2.2rem !important;
    }

    .st-calc-card-title {
        font-size: 1.2rem;
        margin-bottom: 20px;
    }

    /* --- Benefit Section --- */
    .st-variant-2-theme .st-benefit-section {
        padding: 60px 0;
    }

    .st-variant-2-theme .st-section-inner {
        padding: 30px 16px;
    }

    .st-variant-2-theme .st-section-main-title {
        font-size: 1.7rem;
        word-break: keep-all;
    }

    .st-variant-2-theme .st-benefit-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .st-variant-2-theme .st-benefit-card {
        padding: 28px 24px;
    }

    .st-variant-2-theme .st-benefit-card-title {
        font-size: 1.1rem;
    }

    /* --- Comparison Section --- */
    .st-variant-2-theme .st-comparison-section {
        padding: 0 !important;
    }

    .st-variant-2-theme .st-comp-card {
        padding: 24px 16px;
    }

    .st-variant-2-theme .st-comp-title {
        font-size: 1.3rem;
    }

    .st-variant-2-theme .st-comp-card-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
        padding-bottom: 16px;
        margin-bottom: 20px;
    }

    .st-variant-2-theme .st-comp-btn {
        width: 100%;
        text-align: center;
        padding: 14px 24px;
        box-sizing: border-box;
    }

    .st-variant-2-theme .st-comp-card-body {
        grid-template-columns: 1fr;
    }

    /* Process diagram: vertical on mobile */
    .st-variant-2-theme .st-proc-diagram {
        flex-direction: column;
        gap: 10px;
        padding: 20px 0;
        height: auto;
    }

    .st-variant-2-theme .st-proc-node {
        width: 100%;
        height: auto;
        min-height: 52px;
        padding: 14px 16px;
        text-align: center;
        white-space: normal;
        word-break: keep-all;
        font-size: 1rem !important;
    }

    .st-variant-2-theme .st-proc-node.st-highlight {
        width: 100%;
        height: auto;
        min-height: 56px;
        padding: 14px 16px;
    }

    .st-variant-2-theme .st-proc-arrow {
        flex-direction: column;
        height: auto;
        padding: 6px 0;
        gap: 4px;
        color: #d2d2d7;
    }

    .st-variant-2-theme .st-proc-arrow svg {
        transform: rotate(90deg);
        width: 16px;
        height: 32px;
        margin: 0 auto;
    }

    .st-variant-2-theme .st-proc-arrow-bi {
        flex-direction: row;
        gap: 24px;
        width: 100%;
        justify-content: center;
        padding: 4px 0;
    }

    .st-variant-2-theme .st-proc-arrow-item {
        flex-direction: column;
        align-items: center;
    }

    .st-variant-2-theme .st-proc-arrow-item svg {
        transform: rotate(90deg);
        width: 16px;
        height: 32px;
        margin: 4px 0;
    }

    .st-variant-2-theme .st-arrow-reverse svg {
        transform: rotate(270deg) !important;
    }

    .st-variant-2-theme .st-proc-label {
        font-size: 0.82rem !important;
        white-space: normal;
        text-align: center;
    }

    /* --- Vertical Guide (Steps) --- */
    .st-variant-2-theme .st-vertical-guide {
        padding: 0;
    }

    .st-variant-2-theme .st-guide-main-title {
        font-size: 1.7rem;
        margin-bottom: 40px;
    }

    .st-variant-2-theme .st-step-list {
        max-width: 100%;
    }

    .st-variant-2-theme .st-step-item {
        flex-direction: column;
        gap: 16px;
        margin-bottom: 40px;
        align-items: center;
        text-align: center;
    }

    .st-variant-2-theme .st-step-item::after {
        display: none;
    }

    .st-variant-2-theme .st-step-marker {
        margin: 0 auto;
        width: 60px;
        height: 60px;
        font-size: 0.85rem;
    }

    .st-variant-2-theme .st-step-title {
        font-size: 1.3rem;
    }

    .st-variant-2-theme .st-step-desc {
        font-size: 1rem;
    }

    /* --- Payment Methods --- */
    .st-variant-2-theme .st-pay-methods-section {
        padding: 50px 16px;
    }

    .st-variant-2-theme .st-pay-title {
        font-size: 1.5rem;
        word-break: keep-all;
        line-height: 1.4;
    }

    .st-variant-2-theme .st-pay-header {
        margin-bottom: 36px;
    }

    .st-variant-2-theme .st-pay-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .st-variant-2-theme .st-pay-card {
        padding: 24px 16px;
        min-height: 120px;
    }

    .st-variant-2-theme .st-pay-card-title {
        font-size: 1.1rem;
    }

    .st-variant-2-theme .st-pay-card-details {
        font-size: 0.88rem;
    }

    /* --- Association Search (Variant 2) (Removed) --- */

    /* --- Board Section (Notice + FAQ) --- */
    .st-variant-2-theme .st-board-section .st-section-inner {
        padding: 30px 16px;
    }

    .st-variant-2-theme .st-board-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .st-variant-2-theme .st-board-title {
        font-size: 1.4rem;
    }

    .st-variant-2-theme .st-notice-card-item {
        padding: 14px 16px !important;
    }

    .st-variant-2-theme .st-faq-card {
        padding: 12px 14px !important;
        gap: 12px !important;
    }

    .st-variant-2-theme .st-notice-card-title,
    .st-variant-2-theme .st-faq-question {
        font-size: 0.9rem !important;
    }

    .st-variant-2-theme .st-faq-q-icon {
        width: 28px !important;
        height: 28px !important;
        font-size: 0.95rem !important;
    }

    /* --- Banner Section (Variant 2) --- */
    .st-variant-2-theme .st-banner-section {
        padding: 40px 16px;
    }

    .st-variant-2-theme .st-banner-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .st-variant-2-theme .st-banner-card {
        height: auto;
        min-height: 100px;
        padding: 24px 20px;
    }

    .st-variant-2-theme .st-banner-title {
        font-size: 1.1rem;
    }

    /* --- Guide Banner (Variant 2) --- */
    .st-variant-2-theme .st-guide-banner {
        padding: 50px 16px;
    }

    .st-variant-2-theme .st-guide-banner-title {
        font-size: 1.7rem;
        word-break: keep-all;
    }

    .st-variant-2-theme .st-guide-banner-desc {
        font-size: 1rem;
        margin-bottom: 32px;
    }

    .st-variant-2-theme .st-guide-banner-actions {
        flex-direction: column;
        gap: 10px;
    }

    .st-variant-2-theme .st-guide-btn {
        width: 100%;
        text-align: center;
        justify-content: center;
        box-sizing: border-box;
        padding: 14px 20px;
    }
}

/* ===== 480px: Small Mobile (Variant 2 specific) ===== */
@media (max-width: 480px) {

    /* Hero Calc: extreme compaction */
    .st-hero-calc {
        padding: 20px 0;
    }

    .st-hero-calc-container {
        padding: 0 12px;
        gap: 20px;
    }

    .st-hero-calc-title {
        font-size: 1.5rem;
    }

    .st-hero-calc-desc {
        font-size: 0.9rem;
        margin-bottom: 16px;
    }

    .st-variant-2-theme .st-calc-card {
        padding: 18px 14px;
    }

    .st-calc-input {
        font-size: 1.8rem !important;
    }

    .st-hero-calc-badge {
        font-size: 0.72rem;
        margin-bottom: 14px;
    }

    /* Payment Grid: 1 column on very small */
    .st-variant-2-theme .st-pay-grid {
        grid-template-columns: 1fr;
    }

    .st-variant-2-theme .st-pay-card {
        min-height: 80px;
        padding: 20px 16px;
    }

    /* All section inner padding minimized */
    .st-variant-2-theme .st-section-inner {
        padding: 24px 12px;
    }

    .st-variant-2-theme .st-assoc-section {
        padding: 40px 12px;
    }

    .st-variant-2-theme .st-benefit-section {
        padding: 40px 0;
    }

    .st-variant-2-theme .st-banner-section {
        padding: 30px 12px;
    }

    .st-variant-2-theme .st-guide-banner {
        padding: 36px 12px;
    }

    .st-variant-2-theme .st-guide-banner-title {
        font-size: 1.4rem;
    }

    .st-variant-2-theme .st-board-section .st-section-inner {
        padding: 24px 12px;
    }

    .st-variant-2-theme .st-comp-card {
        padding: 20px 12px;
    }

    .st-variant-2-theme .st-pay-methods-section {
        padding: 40px 12px;
    }

    .st-variant-2-theme .st-pay-title {
        font-size: 1.2rem;
    }
}

/* ===== Receipt Issuance Guide Section ===== */
.st-receipt-guide-section {
    padding: 70px 20px;
    background: #ffffff;
    max-width: 1200px;
    margin: 0 auto;
}

.st-receipt-guide-header {
    text-align: center;
    margin-bottom: 40px;
}

.st-receipt-guide-title {
    font-size: 1.85rem;
    font-weight: 800;
    color: #181730;
    letter-spacing: -0.5px;
    margin-bottom: 8px;
}

.st-receipt-guide-subtitle {
    font-size: 1rem;
    color: #64748b;
    font-weight: 400;
}

.st-receipt-flow-container {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1000px;
    margin: 0 auto 30px;
    background: #f8fafc;
    padding: 40px;
    border-radius: 20px;
    gap: 15px;
}

.st-receipt-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-height: 120px;
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);
    border: 2px solid #e8edf5;
    position: relative;
    text-align: center;
}

.st-step-split {
    flex-direction: column;
    gap: 10px;
    padding: 24px !important;
    border: 2px dashed #cbd5e1 !important;
    background: transparent !important;
    box-shadow: none !important;
    justify-content: space-between;
}

.st-split-box {
    width: 100%;
    padding: 12px 0;
    background: #fff;
    border: 2px solid #64748b;
    border-radius: 8px;
    font-weight: 700;
    color: #475569;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.st-step-badge {
    position: absolute;
    top: -12px;
    background: #e2e8f0;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 20px;
}

.st-step-icon {
    width: 60px;
    height: 60px;
    background: #f1f5f9;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    margin-bottom: 15px;
}

.st-step-final .st-step-icon {
    background: #475569;
    color: #fff;
}

.st-step-final {
    border-color: #475569;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.st-step-text {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    line-height: 1.4;
}

.st-receipt-arrow {
    color: #cbd5e1;
    font-size: 1.5rem;
    padding: 0 5px;
}

.st-receipt-notice {
    text-align: center;
    color: #64748b;
    font-size: 0.95rem;
    font-weight: 400;
    margin-bottom: 30px;
}

.st-receipt-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.st-receipt-actions .st-guide-btn-solid {
    margin: 0;
    background: #64748b !important;
}

.st-receipt-actions .st-guide-btn-solid:hover {
    background: #475569 !important;
}

.st-btn-secondary {
    background: #fff !important;
    color: #5753a8 !important;
    border: 2px solid #5753a8 !important;
}

.st-btn-secondary:hover {
    background: #f8fafc !important;
    color: #454285 !important;
    border-color: #454285 !important;
    text-decoration: none !important;
}

@media (max-width: 1024px) {
    .st-receipt-flow-container {
        flex-direction: column;
        padding: 30px 20px;
    }

    .st-receipt-step {
        width: 100%;
        min-height: auto;
    }

    .st-step-split {
        flex-direction: row;
        align-items: stretch;
    }

    .st-receipt-arrow {
        transform: rotate(90deg);
        margin: 15px 0;
    }

    .st-receipt-actions {
        flex-direction: column;
        align-items: center;
    }

    .st-receipt-actions .st-guide-btn-solid {
        width: 100%;
        max-width: 340px;
        box-sizing: border-box;
    }
}

/* ===== Top Alert Banner ===== */
.st-top-alert-banner {
    background: #334155;
    border-bottom: 1px solid #1e293b;
    padding: 12px 20px;
    position: relative;
    z-index: 9999;
    animation: slideDownBanner 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    transform: translateY(-100%);
}

@keyframes slideDownBanner {
    to {
        transform: translateY(0);
    }
}

.st-top-alert-inner {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    padding-right: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.st-top-alert-content {
    font-size: 0.95rem;
    color: #f8fafc;
    font-weight: 400;
    display: flex;
    align-items: center;
}

.st-top-alert-content strong {
    color: #ffffff;
    font-weight: 700;
    margin-right: 8px;
    background: #2b2954;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

@keyframes alertBlink {

    0%,
    100% {
        opacity: 1;
        color: #facc15;
    }

    50% {
        opacity: 0.5;
        color: #ffffff;
    }
}

.st-alert-blink {
    animation: alertBlink 1.5s infinite;
}

.st-top-alert-close {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.st-top-alert-close:hover {
    background: #5753a8;
    color: #ffffff;
}

@media (max-width: 1024px) {
    .st-top-alert-banner {
        padding: 10px 15px;
    }

    .st-top-alert-content {
        font-size: 0.85rem;
    }

    .st-alert-hide-mobile {
        display: none;
    }

    .st-top-alert-content strong {
        font-size: 0.75rem;
        padding: 2px 6px;
    }
}

@media (max-width: 768px) {
    .st-top-alert-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .st-top-alert-content strong {
        margin-right: 0;
    }
}

/* --- Inline Styles Extracted from main_renewal_2.html --- */
.st-global-bg {
    background-color: #f8f9fa !important;
}

.st-hero-calc-btns-col {
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
}

.st-hero-btn-group {
    display: flex;
    gap: 10px;
}

.st-btn-large-custom {
    justify-content: center;
    padding: 18px 30px;
}

.st-hero-calc-secure-mod {
    display: block;
    width: 100%;
    margin-top: 10px;
}

.st-calc-card-mod {
    box-sizing: border-box;
}

.st-calc-card-title-mod {
    margin-bottom: 10px;
    font-size: 1.5rem;
}

.st-search-subtitle-mod {
    text-align: left;
    margin-bottom: 30px;
}

.st-search-wrapper-mod {
    margin: 0;
    flex-direction: row !important;
    align-items: center;
    border-radius: 0 !important;
    box-shadow: none;
    border: 1px solid #d2d2d7;
    padding: 0;
}

.st-search-input-mod {
    border-radius: 0 !important;
    flex: 1;
}

.st-search-btn-mod {
    width: auto !important;
    border-radius: 0 !important;
    margin-right: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    padding: 10px 20px;
}

.st-search-btn-icon-mod {
    margin-right: 4px;
}

.st-sitemap-title {
    max-width: 1240px;
    position: relative;
    margin: 20px auto -10px;
    text-align: left;
    font-size: 20px;
    font-family: 'notokr-bold';
    color: rgb(68, 68, 68);
    font-weight: 400;
}

/* ===== Responsive Diagram Text Wrap ===== */
@media (max-width: 767px) {
    .st-variant-1-theme .st-dia-node br {
        display: none;
    }

    .st-variant-2-theme .st-proc-node br {
        display: none;
    }
}

/* ===== Variant 2: Search Info Box (Angular Design) ===== */
.st-alert-relocated {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    transform: none !important;
    width: 100% !important;
    z-index: 10;
    margin-bottom: 0;
}

.st-variant-2-theme .st-search-info-box {
    margin-top: 32px;
    background-color: #f1f5f9;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    border-radius: 0;
}

.st-variant-2-theme .st-search-info-text {
    font-size: 0.95rem;
    color: #475569;
    display: flex;
    align-items: flex-start;
    text-align: left;
    line-height: 1.4;
    gap: 8px;
    font-weight: 500;
}

.st-variant-2-theme .st-search-info-text svg {
    color: #64748b;
    flex-shrink: 0;
    margin-top: 2px;
}

.st-variant-2-theme .st-btn-link {
    font-size: 0.85rem;
    color: #1d1d1f;
    border: 1.5px solid #1d1d1f;
    padding: 6px 14px;
    text-decoration: none;
    background: transparent;
    transition: all 0.2s ease;
    border-radius: 0;
    /* Sharp corner constraint */
    font-weight: 700;
    white-space: nowrap;
}

.st-variant-2-theme .st-btn-link:hover {
    background: #1d1d1f;
    color: #ffffff;
}

@media (max-width: 768px) {
    .st-variant-2-theme .st-btn-link {
        width: 100%;
        text-align: center;
    }
}

/* ===== Mini Layer Popup (Security Notice) ===== */
.st-mini-layer-popup {
    position: fixed;
    top: 5px;
    right: 5px;
    width: 320px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    /* Variant 2 sharp corner design */
    border-radius: 0;
    overflow: hidden;
    animation: slideDownPop 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    transform: translateY(-100%);
    opacity: 0;
    transition: opacity 0.4s ease, transform 0.4s ease;
}

@keyframes slideDownPop {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.st-mini-layer-content {
    padding: 20px 18px;
}

.st-mini-layer-title {
    font-size: 1.1rem;
    font-weight: 800;
    color: #1d1d1f;
    margin-bottom: 16px;
    text-align: center;
}

.st-mini-layer-desc {
    color: #475569;
    line-height: 1.6;
    margin-bottom: 15px;
    word-break: keep-all;
}

.st-mini-layer-desc.highlight {
    font-weight: 700;
    color: #1d1d1f;
    margin-bottom: 0;
}

.st-mini-layer-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #4c4632;
    /* Dark gray for footer */
    padding: 12px 20px;
    color: #fff;
}

.st-mini-layer-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 0.85rem;
}

.st-mini-layer-checkbox input {
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #1d1d1f;
}

.st-mini-layer-close {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4px;
    transition: opacity 0.2s;
}

.st-mini-layer-close:hover {
    opacity: 0.8;
}

/* popup.nsu.css ID 셀렉터 오버라이드 */
#galleryPopup.st-mini-layer-popup,
#galleryPopup2.st-mini-layer-popup,
#galleryPopup3.st-mini-layer-popup,
#galleryPopup4.st-mini-layer-popup {
    position: fixed !important;
    top: 5px !important;
    right: 5px !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
}

/* 관리자 등록 레이어 팝업(T_POPNOTICE) — 내용에 맞춰 크기 자동(auto fit) */
.st-mini-layer-popup.st-popnotice {
    width: auto;
    min-width: 320px;
    max-width: min(600px, calc(100vw - 10px));
}

.st-mini-layer-popup.st-popnotice .st-mini-layer-content {
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}

.st-mini-layer-popup.st-popnotice .st-popnotice-body {
    margin-bottom: 0;
    overflow-wrap: break-word;
}

.st-mini-layer-popup.st-popnotice .st-popnotice-body img {
    max-width: 100%;
    height: auto;
}

.st-mini-layer-popup.st-popnotice .st-mini-layer-today {
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 0.85rem;
    padding: 4px 0;
}

.st-mini-layer-popup.st-popnotice .st-mini-layer-today:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .st-mini-layer-popup.st-popnotice {
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .st-mini-layer-popup.st-popnotice .st-mini-layer-content {
        max-height: 60vh;
    }
}

@media (max-width: 768px) {
    .st-mini-layer-popup {
        top: auto;
        bottom: 0;
        right: 0;
        width: 100%;
        animation: slideUpPop 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        transform: translateY(30px);
        border: none;
    }

    @keyframes slideUpPop {
        to {
            transform: translateY(0);
            opacity: 1;
        }
    }
}

/* ===== Admin Access Button (Header) ===== */
.st-admin-btn {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    margin-top: 20px !important;
    height: 60px !important;
    gap: 12px;
    padding: 8px 20px;
    border: 2px solid #eaeaef;
    text-decoration: none !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background: #f9f9fb;
    color: #1d1d1f !important;
    box-sizing: border-box;
    cursor: pointer;
}

.st-admin-btn:hover {
    background: #ffffff;
    border-color: #d1d1d6;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.st-admin-btn i,
.st-admin-btn svg {
    width: 18px;
    height: 18px;
    color: #929297;
    transition: all 0.3s ease;
}

.st-admin-btn:hover svg {
    color: #1d1d1f;
    transform: rotate(15deg);
}

.st-admin-btn-text {
    display: flex;
    flex-direction: column;
    text-align: left;
    line-height: 1.25;
}

.st-admin-btn-label {
    font-weight: 650;
    letter-spacing: -0.2px;
    color: #1d1d1f;
}

.st-admin-btn-sub {
    font-size: 0.8rem;
    opacity: 0.45;
    font-weight: 500;
}

/* ===== Hero Text Highlight (Variant 2) ===== */
.st-hero-highlight {
    display: inline-block;
    margin: 4px 2px;
    background: #1d1d1f;
    color: #fff;
    padding: 2px 12px;
    transition: all 0.3s ease;
}

.st-hero-highlight:hover {
    transform: rotate(0deg) scale(1.05);
    box-shadow: 8px 8px 0px rgba(0, 0, 0, 0.15);
}

/* Hero Buttons Desktop Adjustment (1024px - 1280px) */
@media (min-width: 1024px) and (max-width: 1280px) {
    .st-hero-btn-group {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .st-btn-large-custom {
        width: 200px;
    }

    /* Variant 2 Group Styling - Create boundaries for absolute overlay */
    .st-variant-2-theme .st-hero-btn-group-mod {
        position: relative;
        z-index: 1;
        row-gap: 0 !important;
        /* CRITICAL: close the flex gap to eliminate the vertical dead zone */
        /* The solid brown box wrapping both rows on hover. Triggered by either container or expanded buttons! */
    }

    .st-variant-2-theme .st-hero-btn-group-mod::before {
        content: '';
        position: absolute;
        top: -10px;
        left: -10px;
        right: -10px;
        bottom: -10px;
        background: transparent;
        z-index: -1;
        transition: background-color 0s ease;
        border-radius: 0;
        /* Strict Variant 2 sharp corner compliance */
    }

    .st-variant-2-theme .st-hero-btn-group-mod:has(.st-hero-history-container:hover, .st-history-expanded:hover)::before {
        background: var(--st-primary-color);
    }

    /* Row 1: Donate buttons. Lock physical dimensions during hover so layout never collapes */
    .st-variant-2-theme .st-hero-btn-group-mod:has(.st-hero-history-container:hover, .st-history-expanded:hover) .st-hero-donate-container {
        visibility: hidden !important;
        /* Hide visually but explicitly preserve actual layout space and width perfectly */
        max-width: none !important;
        /* Cancel generic 0 clamp */
        gap: 10px !important;
        pointer-events: none !important;
    }

    /* Row 2: History container. Stretch to 100% of Row 1's resolved width natively */
    .st-variant-2-theme .st-hero-history-container {
        width: 100% !important;
        margin-top: 0 !important;
        padding-top: 10px !important;
        /* Bridge Visual gap to Top Row */
        justify-content: flex-start !important;
        position: static !important;
        display: flex !important;
    }

    .st-variant-2-theme .st-hero-history-container:hover {
        background: transparent !important;
    }

    /* Main button instantly fills 100% width on hover. 0s transition prevents hitbox loss */
    .st-variant-2-theme .st-hero-btn-group-mod:has(.st-hero-history-container:hover, .st-history-expanded:hover) .st-history-main-btn {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        background: var(--st-primary-color) !important;
        border-color: var(--st-primary-color) !important;
        color: #ffffff !important;
        transition: width 0s, background-color 0s, border-color 0s, color 0s !important;
    }

    /* Expanded buttons absolutely overlay Row 1. Width locked to 100% of parent geometry naturally */
    .st-variant-2-theme .st-hero-history-container .st-history-expanded {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        gap: 10px !important;
        opacity: 0;
        pointer-events: none;
        padding: 0 !important;
        margin: 0 !important;
        padding-bottom: 20px !important;
        /* Deep hitbox overlap bridge to completely defeat any mouse falling through */
        align-items: flex-start !important;
        /* Locks button vertical height against padding overlap */
    }

    .st-variant-2-theme .st-hero-btn-group-mod:has(.st-hero-history-container:hover, .st-history-expanded:hover) .st-history-expanded {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    /* Expanded internal buttons flex horizontally perfectly sharing available 100% space */
    .st-variant-2-theme .st-history-expanded .st-btn-white-fill {
        width: auto !important;
        flex: 1 !important;
        /* Perfect flush right edge gap elimination */
        margin: 0 !important;
    }
}

/* Tablet Layout Adjustment (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .st-admin-btn {
        margin-top: 0px !important;
    }
}

/* --- Hero Button Hover Animation (Variant 2) --- */
.st-variant-2-theme .st-hero-btn-group-mod {
    display: flex;
    gap: 10px;
    align-items: center;
}

.st-variant-2-theme .st-hero-donate-container {
    display: flex;
    gap: 10px;
    align-items: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    max-width: 400px;
    opacity: 1;
    overflow: hidden;
    white-space: nowrap;
}

.st-variant-2-theme .st-hero-history-container {
    position: relative;
    display: flex;
    align-items: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.st-variant-2-theme .st-history-main-btn {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    overflow: hidden;
    white-space: nowrap;
}

.st-variant-2-theme .st-history-expanded {
    display: flex;
    gap: 10px;
    max-width: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
}

.st-variant-2-theme .st-history-expanded .st-btn-white-fill {
    background: #ffffff !important;
    color: var(--st-primary-color) !important;
    transition: all 0.2s ease;
}

/* Hover States for Desktop ( > 768px ) */
@media (min-width: 769px) {
    .st-variant-2-theme .st-history-expanded .st-btn-white-fill {
        padding: 12px 20px;
        font-size: 0.95rem;
        margin: 6px 0;
    }

    .st-variant-2-theme .st-history-expanded .st-btn-white-fill:hover {
        background: rgba(255, 255, 255, 0.85) !important;
        color: var(--st-primary-color) !important;
        transform: translateY(-1px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }

    .st-variant-2-theme .st-hero-btn-group-mod:has(.st-hero-history-container:hover) .st-hero-donate-container {
        max-width: 0;
        opacity: 0;
        gap: 0;
        margin: 0;
        padding: 0;
    }

    .st-variant-2-theme .st-hero-history-container:hover {
        background: var(--st-primary-color);
    }

    .st-variant-2-theme .st-hero-history-container:hover .st-history-main-btn {
        background: transparent !important;
        border-color: transparent !important;
        color: #ffffff !important;
    }

    .st-variant-2-theme .st-hero-history-container:hover .st-history-expanded {
        max-width: 400px;
        /* Matched perfectly to actual width to prevent flex container width spikes */
        opacity: 1;
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* Mobile State: <= 768px */
@media (max-width: 768px) {
    .st-variant-2-theme .st-hero-btn-group-mod {
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }

    .st-variant-2-theme .st-hero-donate-container {
        flex-direction: column;
        max-width: 100%;
        width: 100%;
        gap: 12px;
    }

    .st-variant-2-theme .st-history-main-btn {
        display: none !important;
    }

    .st-variant-2-theme .st-history-expanded {
        max-width: 100%;
        opacity: 1;
        flex-direction: column;
        width: 100%;
        gap: 12px;
        display: flex !important;
    }

    .st-variant-2-theme .st-hero-history-container {
        width: 100%;
    }

    .st-variant-2-theme .st-hero-history-container .st-btn-large-custom {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    .st-admin-btn {
        padding: 8px 16px;
        gap: 10px;
    }

    .st-admin-btn i,
    .st-admin-btn svg {
        width: 24px;
        height: 24px;
    }

    .st-admin-btn-label {
        font-size: 0.95rem;
    }

    .st-hero-highlight {
        border-width: 2px;
        padding: 1px 8px;
    }
}

/* ============================================
   Brown Theme Override — 파란색 → 갈색 변환
   Base: #6c390d / Hover: #452508
   ============================================ */

/* --- CSS Variables: 전역 primary를 갈색으로 --- */
:root {
    --st-primary-color: #6c390d;
    --st-primary-hover: #452508;
}
.st-variant-1-theme {
    --st-primary-color: #6c390d;
    --st-primary-hover: #452508;
}

/* --- layout.css 오버라이드 --- */

/* GNB 서브메뉴 hover */
.gnb>ul>li>ul>li a:focus,
.gnb>ul>li>ul>li a:active,
.gnb>ul>li>ul>li a:hover {
    color: #6c390d !important;
}

/* LNB(좌측 사이드바) 활성 메뉴 */
.lnb>ul>li>ul>li.on>a {
    color: #6c390d !important;
}

/* 모바일 메뉴 닫기 버튼 */
.menuButtonCloser {
    background: #6c390d !important;
}

/* --- sub.css 오버라이드 --- */

/* 페이지 제목 */
#hgroup h1 {
    color: #6c390d !important;
}

/* 컨텐츠 상단 보더 */
.contentData {
    border-top-color: #6c390d !important;
}

/* 페이징 활성/hover */
.paging ol li.current {
    color: #6c390d !important;
}
.paging ol li a:active,
.paging ol li a:hover {
    color: #6c390d !important;
}

/* FAQ 리스트 상단 보더 */
#faqList {
    border-top-color: #6c390d !important;
}

/* FAQ 답변 보더 */
#faqList dd .mt5 {
    border-color: #6c390d !important;
}

/* 게시글 상세 헤더 */
.view h2 {
    background: #6c390d !important;
}

/* 반전 버튼 파란색 */
.invertBlue {
    border-color: #6c390d !important;
    color: #6c390d !important;
}

/* --- cssFrm.css 오버라이드 --- */

/* 게시판 테이블 헤더 (thead만 — tbody th 회색은 유지) */
.bdList thead th {
    background: #6c390d !important;
}

/* 기본 버튼 (색상 유틸리티 클래스 .grey, .red 등은 !important로 자체 색상 유지) */
.btn,
.btn-block {
    background-color: #6c390d;
}
.btn:hover,
.btn-block:hover {
    background-color: #452508;
}

/* 유틸리티 클래스: .blue 배경 */
.blue,
.hover-blue:hover {
    background-color: #6c390d !important;
}

/* 갈색 텍스트 유틸리티 클래스 */
.text-brown,
.hover-text-brown:hover {
    color: #6c390d !important;
}

/* text-brown 중 strong이 아닌 텍스트 요소는 검정색 */
div.text-brown,
p.text-brown,
span.text-brown {
    color: #1d1d1f !important;
}

/* strong 태그 내부의 text-brown은 갈색 유지 */
strong.text-brown,
div.text-brown strong,
p.text-brown strong,
span.text-brown strong {
    color: #6c390d !important;
}

/* .sky 배경 */
.sky,
.hover-sky:hover {
    background-color: #6c390d !important;
}

/* .indigo 배경 */
.indigo,
.hover-indigo:hover {
    background-color: #6c390d !important;
}



/* border-blue 유틸리티 */
.border-blue {
    border-color: #6c390d !important;
}

/* input focus 상태 */
select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
    border-color: rgba(108, 57, 13, 0.8) !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,0.075), 0 0 8px rgba(108, 57, 13, 0.4) !important;
}

/* --- main.css 오버라이드 --- */

/* 팝업 레이어 상단 */
.popupLayerTop {
    background-color: #6c390d !important;
}

/* 메인 패턴 배경 */
.mainPattern01 {
    background: #452508 !important;
}

/* 메인 서비스 배지 */
.mainServiceSet .db1 {
    background-color: #6c390d !important;
}
.mainServiceSet .db2 {
    background-color: #8B5A2B !important;
}

/* 서비스 영역 .blue 배경 */
.serviceSet .blue {
    background: #6c390d !important;
}

/* --- common.css 오버라이드 --- */

/* 스킵 네비게이션 */
.skip a:active {
    background: #6c390d !important;
}



/* --- 이미지 오버라이드 --- */

/* LNB 좌측 메뉴 활성 배경 이미지 (파란색 → 갈색) */
.lnb>ul>li.on {
    background-image: url(/static/img/portal/common/lnbOnBg_brown.gif) !important;
}

/* 스크롤 시 상단 고정 메뉴 아이콘 (파란색 → 갈색) */
.headerOnMenu img,
.menuButton img {
    content: url(/static/img/portal/common/headerOnMenu_brown.png) !important;
}

/* 콘텐츠 h1 세로 막대 (파란색 → 갈색) */
.contentData h1 {
    background: url(/static/img/portal/common/h2_bg_brown.gif) no-repeat 0 6px !important;
}

/* 기부 후원금액 빠른선택 버튼 — 머스타드 */
.btn.amount-pick,
.btn.amount-pick:focus {
    color: #fff !important;
    background-color: #C8891F !important;
}
/* ============================================================
   Mega Menu – 기존 gnb 서브메뉴를 그대로 활용하여 전체 펼침
   gnbBorder height 슬라이딩으로 본문 밀림 없음 (position 변경 없음)
   메인 컬러: 브라운 계열 (정당색 배제)
   웹 접근성: 최소 16px 본문, 명도대비 4.5:1 이상, 키보드 지원
   ============================================================ */

/* --- gnbBorder 슬라이딩 애니메이션 --- */
.gnbBorder {
    overflow: hidden;
    transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.gnbBorder.st-mega-open {
    height: var(--st-mega-h, 340px) !important; /* mega-menu.js fitHeight()가 세팅, 없으면 340px (2026-09-14) */
    border-bottom: 2px solid #6B4226 !important;
    box-shadow: 0 8px 24px rgba(80, 40, 10, 0.10);
    background: #fff !important;
    position: relative;
    z-index: 1101 !important;
}

/* --- gnbSet: 메가 오픈 시 클리핑 해제 --- */
.gnbBorder.st-mega-open .gnbSet {
    height: var(--st-mega-h, 340px) !important;
    overflow: visible !important;
}

/* --- 1차-2차 메뉴 사이 구분선 (메뉴바 58px 하단에 정확히 위치) --- */
.gnbBorder.st-mega-open::after {
    content: '';
    position: absolute;
    left: 0;
    top: 58px;
    width: 100%;
    height: 1px;
    background: #999;
    z-index: 1102;
}

/* --- 모든 서브메뉴 동시 표시 --- */
.gnbBorder.st-mega-open .gnb > ul > li > ul {
    display: block !important;
    border-right-color: #e8e0d8 !important;
    min-height: 260px;
}

.gnbBorder.st-mega-open .gnb > ul > li:last-child > ul {
    border-right: none !important;
}

/* --- 서브메뉴 링크 스타일: 브라운 + 접근성 --- */
.gnbBorder.st-mega-open .gnb > ul > li > ul > li a {
    font-size: 16px !important;
    color: #333 !important;
    padding: 9px 15px !important;
    line-height: 1.6 !important;
    text-align: center !important;
    letter-spacing: -0.3px !important;
    border-radius: 4px;
    transition: color 0.15s, background-color 0.15s;
}

.gnbBorder.st-mega-open .gnb > ul > li > ul > li a:hover,
.gnbBorder.st-mega-open .gnb > ul > li > ul > li a:focus {
    color: #5C3317 !important;
    background-color: #FAF5F0 !important;
    text-decoration: underline !important;
}

.gnbBorder.st-mega-open .gnb > ul > li > ul > li a:focus-visible {
    outline: 2px solid #6B4226;
    outline-offset: 2px;
}

/* --- 1차 메뉴 호버 강조: 브라운 --- */
.gnb > ul > li.st-mega-hover > a {
    color: #5C3317 !important;
}

/* --- gnbBg 오버레이 (포인터 투과: 메뉴/본문 클릭 차단 방지) --- */
.gnbBg.st-mega-bg-show {
    display: block !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.18);
    z-index: 1050;
    opacity: 0;
    animation: stMegaFadeIn 0.3s ease forwards;
    pointer-events: none;
}

@keyframes stMegaFadeIn {
    to { opacity: 1; }
}

/* --- 태블릿/모바일 비활성 (layout.css 태블릿 경계 1019px와 통일, 2026-09-14) --- */
@media (max-width: 1019px) {
    .gnbBorder.st-mega-open {
        height: 58px !important;
        border-bottom-width: 1px !important;
        box-shadow: none !important;
    }
    .gnbBorder.st-mega-open .gnbSet {
        height: 59px !important;
        overflow: hidden !important;
    }
    .gnbBorder.st-mega-open .gnb > ul > li > ul {
        display: none !important;
    }
    .gnbBg.st-mega-bg-show {
        display: none !important;
    }
}

/* ===== Footer 관련 사이트 영역 ===== */
.f_menu .contentWith.st-footer-menu-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}
.f_menu .contentWith.st-footer-menu-row-centered {
    justify-content: center;
}
.f_menu .contentWith.st-footer-menu-row-centered > ul.st-footer-menu-list {
    justify-content: center;
}
.f_menu .contentWith.st-footer-menu-row > ul.st-footer-menu-list {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
}
.st-footer-sites {
    margin-left: auto;
}
.st-footer-site-select {
    min-width: 200px;
    height: 36px;
    padding: 0 32px 0 12px;
    border: 1px solid #c4cad4;
    border-radius: 4px;
    background-color: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='none' stroke='%23666' stroke-width='1.5' d='M1 1l4 4 4-4'/></svg>");
    background-repeat: no-repeat;
    background-position: right 10px center;
}
.st-footer-site-select:focus {
    outline: 2px solid #0d47a1;
    outline-offset: 1px;
}
@media (max-width: 768px) {
    .f_menu .contentWith.st-footer-menu-row { flex-direction: column; align-items: stretch; }
    .st-footer-sites { margin-left: 0; }
    .st-footer-site-select { width: 100%; }
}

.btn.amount-pick:hover {
    color: #fff !important;
    background-color: #A96F11 !important;
}
