/* ==========================================================================
   DAGANDA Home Template Styles
   ========================================================================== */

/* home.css inherited variables from base.css */


/* Typography & Components */
.section-title {
    font-size: var(--fs-2xl);
    font-weight: 800;
    color:#000;
    margin-bottom: 0.5rem;
}

.section-subtitle {
    font-size: var(--fs-base);
    color: var(--text-muted);
    margin-bottom: 2rem;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary);
    color: #fff;
    padding: 1rem 2rem;
    border-radius: var(--radius-md);
    font-weight: 700;
    font-size: var(--fs-base);
    transition: var(--transition);
    box-shadow: var(--shadow-blue);
    border: none;
    cursor: pointer;
}

/* Hero Section & Swiper */
.hero {
    position: relative;
    width: 100%;
    height:572px;
    background-color: var(--bg-pale);
}

.hero .swiper-container, .hero .mySwiper {
    width: 100%; height: 100%;
    z-index: 1;
}

.hero .swiper-slide {
    width: 100%; height: 100%;
    background-size: cover; background-position: center;
    background-repeat: no-repeat;
    display: flex; align-items: center;
}

/* Swiper Navigation Custom - Circular & Outside Container ✨ */
.swiper-button-next, .swiper-button-prev {
    width: 60px !important; height: 60px !important; /* 정사이즈 원형 */
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50% !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    z-index: 60;
}

.swiper-button-prev { 
    left: 30px !important; /* 화면 끝에서 30px */
}
.swiper-button-next { 
    right: 30px !important; 
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size: 22px !important;
    font-weight: 800;
    color: var(--brand-blue);
}

.swiper-button-next:hover, .swiper-button-prev:hover {
    background: var(--brand-blue);
    transform: scale(1.1);
}
.swiper-button-next:hover:after, .swiper-button-prev:hover:after {
    color: #fff;
}

.slide-content {
    position: relative; z-index: 10;
    max-width: var(--cont); width: 100%; margin: 0 auto; padding: 0 20px;
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* [Theme 1] Compact Reference Layout (Screenshot 1 Match) ✨ */
.hero-staggered-wrap.theme-grid-1 {
    position: relative;
    max-width: var(--cont);
    margin: -60px auto 0; /* 히어로 쪽으로 더 타이트하게 */
    display: grid;
    grid-template-columns: 420px 1fr; /* 폼 너비 레퍼런스급으로 조정 */
    gap: 30px;
    padding: 0 24px;
    z-index: 50;
    align-items: start;
}
.hide-md{background:#fff}
.events-section {
    background: #f8fafc;
}
.theme-grid-1 .hero-quick-form {
    background: #fff;
    padding: 25px 30px; 
    border-radius: 20px;
    box-shadow: 0 30px 60px rgba(15, 23, 42, 0.15);
    border: 1px solid rgba(0,0,0,0.03);
}

.theme-grid-1 .form-title {
    font-size: 20px; font-weight: 700; color: var(--text-main); text-align: center;
    margin-bottom: 25px !important;
}

.dgd-form-row-flex {
    display: flex; align-items: center; margin-bottom: 15px;
}

.dgd-form-row-flex .dgd-form-label {
    width: 70px; margin: 0; font-size: 14px; font-weight: 700; color: var(--text-main);
}

.dgd-form-row-flex .dgd-form-control { flex: 1; }

.dgd-form-row-flex .dgd-form-input {
    padding: 10px 15px; border: 1px solid var(--border); border-radius: 8px;
    background: #fff; font-size: 14px;
}

/* Privacy Agreements Styles */
.dgd-privacy-wrap { margin: 20px 0; border-top: 1px solid var(--border-light); padding-top: 15px; }
.dgd-checkbox-item { 
    display: flex; align-items: center; margin-bottom: 8px; cursor: pointer;
    font-size: 13px; color: var(--text-muted);
}
.dgd-checkbox-item input { margin-right: 10px; width: 16px; height: 16px; accent-color: var(--secondary); }
.dgd-checkbox-item b { color: var(--secondary); font-weight: 700; margin-right: 4px; }
.dgd-checkbox-item a { color: #94A3B8; text-decoration: underline; margin-left: auto; font-size: 12px; }

/* Form Actions (Dual Buttons) */
.dgd-form-actions { display: flex; flex-direction: column; gap: 10px; }

.dgd-btn-primary-rect {
    width: 100%; padding: 15px; background: #0056FF; color: #fff; border: none;
    border-radius: 10px; font-size: 16px; font-weight: 700; cursor: pointer;
    transition: all 0.2s;
}

.dgd-btn-call {
    width: 100%; padding: 15px; background: #EBF2FF; color: #1E293B; border: none;
    border-radius: 10px; font-size: 16px; font-weight: 700; cursor: pointer;
    text-align: center; display: flex; align-items: center; justify-content: center;
    gap: 10px; text-decoration: none;
}
.dgd-btn-call i { font-size: 20px; color: #0056FF; }

.theme-grid-1 .hero-grid-preview {
    display: block;
}
.theme-grid-1 .hero-grid-preview .dgd-service-list-wrapper {
    margin: 0;
}
.theme-grid-1 .hero-grid-preview .dgd-service-item {
    min-height: 140px;
    margin-bottom: 0;
}
.theme-grid-1 .hero-grid-preview .item-inner {
    padding: 20px;
}

.theme-grid-1 .service-card {
    background: #fff;
    border-radius: 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
    padding: 15px;
    min-height: 140px;
    text-align: center;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.service-card h4 {
    font-size:1.15rem;
    margin-top: 0;
    margin-bottom: 14px;
}
.theme-grid-1 .service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

/* [Theme 2] Alternative Layout Prototype (Experimental) 🧪 */
.hero-staggered-wrap.theme-grid-2 {
    position: relative;
    max-width: var(--cont);
    margin: -80px auto 0;
    display: flex;
    flex-direction: column; /* 세로 배치로 변경 테스트 */
    gap: 40px;
    padding: 0 24px;
    z-index: 50;
}

.theme-grid-2 .hero-quick-form {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto; /* 가로형 폼 프로토타입 */
    gap: 15px;
    align-items: end;
    background: #fff;
    padding: 25px;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.theme-grid-2 .hero-grid-preview {
    display: grid;
    grid-template-columns: repeat(6, 1fr); /* 하단 가로 일렬 배치 */
    gap: 15px;
}

/* Header fix */
header { z-index: 1000 !important; position: relative; }

/* B2B Premium Form Style Inheritance (From template-partnership-b2b.php) */
.dgd-form-group { margin-bottom: 24px; text-align: left; }
.dgd-form-label { display: block; font-size: 14px; font-weight: 700; color: #334155; margin-bottom: 8px; }
.dgd-form-label span { color: #E5242A; }
.dgd-form-input, .dgd-form-select {
    width: 100%; padding: 16px; border: 1px solid #CBD5E1; border-radius: 12px;
    font-size: 16px; font-family: inherit; background-color: #F8FAFC; transition: all 0.2s; outline: none;
    box-sizing: border-box;
}
.dgd-form-input:focus, .dgd-form-select:focus {
    border-color: var(--secondary); background-color: #FFFFFF; box-shadow: 0 0 0 3px rgba(0, 86, 255, 0.1);
}

.dgd-btn-submit {
    display: inline-block; width: 100%; padding: 18px;
    background-color: var(--secondary); color: #FFFFFF; border: none; border-radius: 12px;
    font-size: 18px; font-weight: 800; cursor: pointer; transition: all 0.3s;
    text-align: center; margin-top: 16px;
    box-shadow: 0 4px 12px rgba(0, 86, 255, 0.2);
}
.dgd-btn-submit:hover { background-color: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 10px 15px rgba(0,86,255,0.2); }

/* Trust Video Banner Section ✨ */
.trust-video-banner {
    position: relative;
    height: 480px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
}

.video-bg-container {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: #000;
}

.bg-youtube-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw; /* 16:9 비율 */
    min-height: 100vh;
    min-width: 177.77vh; /* 16:9 비율 */
    transform: translate(-50%, -50%);
    pointer-events: none; /* 클릭 방지 */
}

.video-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(135deg, rgba(0, 86, 255, 0.8) 0%, rgba(0, 43, 128, 0.85) 100%);
    z-index: 1;
}

.relative-z { position: relative; z-index: 10; width: 100%; }

.trust-title {
    font-size: 44px; font-weight: 900; color: #fff;
    line-height: 1.3; margin-bottom: 25px; letter-spacing: -1px;
}

.trust-desc {
    font-size: 18px; color: rgba(255, 255, 255, 0.8);
    line-height: 1.7; margin-bottom: 40px;
}

.trust-cta-group {
    display: flex; justify-content: center; gap: 20px;
}

.btn-trust-white {
    background: #fff; color: var(--secondary); font-size: 16px; font-weight: 800;
    padding: 18px 45px; border-radius: 50px; text-decoration: none;
    display: inline-flex; align-items: center; gap: 10px;
    transition: all 0.3s;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.btn-trust-white:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    background: var(--brand-dark); color: #fff;
}

@media (max-width: 768px) {
    .trust-video-banner { height: auto; padding: 100px 20px; }
    .trust-title { font-size: 30px; }
    .trust-cta-group { flex-direction: column; }
}

/* Partnership Split Section (Bottom) ✨ */
.partnership-split-section {
    display: flex;
    height: 500px;
    width: 100%;
    overflow: hidden;
}

.split-side {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
    padding: 0 80px;
    cursor: pointer;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.split-side.left {
    background: url('https://images.unsplash.com/photo-1517524008410-b4a165d47812?auto=format&fit=crop&q=80&w=1200') center/cover no-repeat;
}

.split-side.right {
    background: url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?auto=format&fit=crop&q=80&w=1200') center/cover no-repeat;
}

.split-overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
    transition: all 0.4s;
}
.split-side.left .split-overlay { background: rgba(15, 23, 42, 0.7); }
.split-side.right .split-overlay { background: rgba(0, 86, 255, 0.75); }

.split-content {
    position: relative; z-index: 10;
    color: #fff;
}

.split-tag {
    display: block; font-size: 14px; font-weight: 800; letter-spacing: 2px;
    margin-bottom: 15px; opacity: 0.8;
}

.split-title {
    font-size: 42px; font-weight: 900; margin-bottom: 20px;
    line-height: 1.2;
}

.split-desc {
    font-size: 18px; line-height: 1.6; opacity: 0.9;
    margin-bottom: 40px;
}

.split-btn {
    width: 60px; height: 60px; border-radius: 50%;
    border: 1px solid rgba(255,255,255,0.4);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; transition: all 0.3s;
}

/* Hover Effects */
.split-side:hover { flex: 1.2; }
.split-side:hover .split-overlay { opacity: 0.4; }
.split-side.left:hover .split-overlay { background: rgba(15, 23, 42, 0.4); }
.split-side.right:hover .split-overlay { background: rgba(0, 86, 255, 0.4); }

.split-side:hover .split-btn {
    background: #fff; color: #0056FF; border-color: #fff;
    transform: translateX(10px);
}

@media (max-width: 992px) {
    .partnership-split-section { flex-direction: column; height: auto; }
    .split-side { padding: 80px 40px; height: 400px; }
    .split-title { font-size: 32px; }
}
/* Event Swiper Carousel Styles ✨ (Bleed Right Effect) */
.events-section {
    padding: 100px 0;
    background: #f8fafc;
    overflow: hidden;
    position: relative; /* 마스킹 기준 */
}

/* 좌측부분만 안보이게 마스킹 처리 */
.events-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: calc((100% - 1280px) / 2 + 24px); /* 컨테이너 시작점까지 */
    height: 100%;
    background: #f8fafc; /* 섹션 배경색과 동일 */
    z-index: 20; /* 슬라이드보다 위로 */
}

@media (max-width: 1320px) {
    .events-section::before { width: 24px; } /* 모바일/태블릿 대응 */
}

.section-header-flex {
    position: relative; z-index: 30; /* 마스크보다 위로 */
    display: flex; justify-content: space-between; align-items: flex-end;
    margin-bottom: 40px;
}

.eventSwiper {
    padding-bottom: 60px !important;
    position: relative;
    overflow: visible !important; /* 우측으로 뚫려 보이게 */
}

.event-card {
    background: #fff; border-radius: 20px; overflow: hidden;
    box-shadow: 0 10px 20px rgba(0,0,0,0.05);
    cursor: pointer; transition: all 0.3s;
    height: 100%;
}
.event-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

.event-thumb {
    position: relative; aspect-ratio: 16/10; overflow: hidden;
}
.event-thumb img { width: 100%; height: 100%; object-fit: cover; }

.event-badge {
    position: absolute; top: 15px; left: 15px;
    background: #0B2860; color: #fff; font-size: 11px; font-weight: 900;
    padding: 4px 10px; border-radius: 4px; z-index: 5;
}

.event-info { padding: 25px; }
.event-title { 
    font-size: 18px; font-weight: 800; color: var(--text-main); 
    line-height: 1.4; margin-bottom: 15px;
    height: 50px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.event-date { font-size: 14px; color: var(--text-muted); display: flex; align-items: center; gap: 6px; }

/* Event Navigation Arrows */
.event-nav-next, .event-nav-prev {
    position: absolute; top: 35%; width: 44px; height: 44px;
    background: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1); cursor: pointer; z-index: 10;
    transition: all 0.3s; color: #334155; font-size: 20px;
}
.event-nav-next { right: -22px; }
.event-nav-prev { left: -22px; }
.event-nav-next:hover, .event-nav-prev:hover { background: #0056FF; color: #fff; }

/* Car News (Notice) Section - Magazine Layout ✨ */
.news-section {
    padding: 100px 0;
    background: #fff;
}

.news-magazine-wrap {
    display: flex;
    gap: 40px;
}

/* Left: Main Post */
.news-main {
    flex: 1.2;
    cursor: pointer;
}
.news-main-thumb {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 25px;
    aspect-ratio: 16 / 9;
}
.news-main-thumb img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.5s ease;
}
.news-main-cat {
    position: absolute; top: 20px; left: 20px;
    background: #0056FF; color: #fff; font-size: 13px; font-weight: 800;
    padding: 6px 12px; border-radius: 4px;
}
.news-main-title {
    font-size: 28px; font-weight: 800; color: var(--text-main);
    margin-bottom: 15px; line-height: 1.3;
}
.news-main-excerpt {
    font-size: 16px; color: var(--text-muted); line-height: 1.6;
    margin-bottom: 20px;
}

/* Right: List Posts */
.news-list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.news-list-item {
    display: flex;
    gap: 20px;
    align-items: center;
    cursor: pointer;
    padding-bottom: 25px;
    border-bottom: 1px solid #F1F5F9;
}
.news-list-item:last-child { border-bottom: none; }

.news-item-thumb {
    width: 120px;
    height: 85px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
}
.news-item-thumb img { width: 100%; height: 100%; object-fit: cover; }

.news-item-content { flex: 1; }
.news-item-title {
    font-size: 16px; font-weight: 700; color: #334155;
    margin-bottom: 8px; line-height: 1.4;
}

.news-date { font-size: 14px; color: #94A3B8; }

/* Hover Effects */
.news-main:hover .news-main-thumb img { transform: scale(1.05); }
.news-main:hover .news-main-title { color: #0056FF; }
.news-list-item:hover .news-item-title { color: #0056FF; }

@media (max-width: 992px) {
    .news-magazine-wrap { flex-direction: column; }
    .news-main-title { font-size: 24px; }
}

@media (max-width: 1024px) {
    .hero { height: 450px; }
    .hero-staggered-wrap { 
        position: relative; bottom: 0; transform: none; left: 0;
        grid-template-columns: 1fr; margin-top: -100px;
    }
    .hero-grid-preview .service-card:nth-child(even) { margin-top: 0; }
}

/* Quick Service Grid */
.service-hub { background: #fff; }

.service-card {
    background: #f8fafc;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: 35px 25px;
    text-align: center;
    transition: var(--transition);
    cursor: pointer;
}

.service-card:hover {
    transform: translateY(-5px);
    border-color: var(--primary);
    box-shadow: var(--shadow-md);
    background: #fff;
}

.service-icon {
    width: 64px; height: 64px; margin: 0 auto 20px;
    background: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; color: var(--primary);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
}

.service-card:hover .service-icon {
    background: var(--primary); color: #fff;
}

/* Events Section */
.events-section { background: #f8fafc; }

.event-card {
    background: #fff; border-radius: var(--radius-sm);
    overflow: hidden; box-shadow: var(--shadow-sm);
    transition: var(--transition); cursor: pointer;
}

.event-card:hover {
    transform: translateY(-5px); box-shadow: var(--shadow-lg);
}

.event-img { width: 100%; height: 200px; position: relative; }
.event-img img { width: 100%; height: 100%; object-fit: cover; }

.event-tag {
    position: absolute; top: 16px; left: 16px;
    background: var(--danger); color: #fff;
    padding: 4px 12px; border-radius: 4px;
    font-size: 11px; font-weight: 700;
}

.event-info { padding: 25px; }

/* Trust Banner */
.trust-banner { background: var(--dark); color: #fff; text-align: center; }

.trust-item h3 { color: var(--primary-light); }
.trust-item p { opacity: 0.8; }

/* Simplified Media Queries */
@media (max-width: 768px) {
    .hero { height: auto; min-height: 400px; padding-bottom: 80px; }
    .slide-content { padding: 60px 0; text-align: center; }
    
    .hero-quick-form-wrapper { position: relative; bottom: 0; margin-top: -60px; }
    .hero-quick-form { padding: 30px 20px; }
    
    .event-img { height: 180px; }
}
