/*
Theme Name: Gana Model Theme
Theme URI: https://ganamodel.co.kr
Description: Custom theme for Gana Model Agency
Author: Gana Model
Version: 1.5
Text Domain: ganamodel
*/

/* Reset & Base */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#222;background:#fff;line-height:1.6;overflow-x:hidden;}
a{text-decoration:none;color:inherit;transition:color .3s ease;}
img{max-width:100%;height:auto;display:block;}

/* HEADER */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:25px 50px;display:flex;justify-content:space-between;align-items:center;transition:background .3s,padding .3s;}
.site-header.scrolled{background:rgba(20,20,20,.97);padding:15px 20px 15px 20px;box-shadow:0 1px 10px rgba(0,0,0,.2);}
.site-header.header-dark .site-logo,.site-header.header-dark .nav-link{color:#fff;}
.site-header.scrolled .site-logo,.site-header.scrolled .nav-link{color:#fff!important;}
.site-logo{font-size:28px;font-weight:800;letter-spacing:2px;color:#222;text-transform:uppercase;display:flex;align-items:center;}
.logo-img{height:100px;width:auto;}
.site-header.scrolled .logo-img{height:60px;filter:brightness(0) invert(1)!important;}
.site-header.header-dark .logo-img{filter:brightness(0) invert(1);}
.footer-logo-img{height:88px;width:auto;filter:brightness(0) invert(1);}
.main-nav{display:flex;gap:50px;list-style:none;}
.nav-link{font-size:15px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#222;position:relative;padding:5px 0;}
.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:#222;transition:width .3s;}
.nav-link:hover::after,.nav-link.active::after{width:100%;}
.site-header.header-dark .nav-link::after{background:#fff;}
.site-header.scrolled .nav-link::after{background:#fff;}
.hamburger{display:none;flex-direction:column;gap:6px;cursor:pointer;z-index:1001;margin-left:auto;position:relative;width:28px;height:20px;}
.hamburger span{display:block;width:28px;height:2px;background:#222;transition:all .3s;position:absolute;left:0;}
.hamburger span:nth-child(1){top:0;}
.hamburger span:nth-child(2){top:9px;}
.hamburger span:nth-child(3){top:18px;}
.hamburger.active span:nth-child(1){top:9px;transform:rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){top:9px;transform:rotate(-45deg);}
.site-header.header-dark .hamburger span{background:#fff;}
.site-header.scrolled .hamburger span{background:#fff!important;}

/* Sub-page header (white bg, black text, always) */
.site-header.header-sub{background:#532f1e;padding:15px 20px;box-shadow:0 1px 10px rgba(0,0,0,.06);}
.site-header.header-sub .site-logo,.site-header.header-sub .nav-link{color:#fff!important;}
.site-header.header-sub .nav-link::after{background:#fff;}
.site-header.header-sub .logo-img{filter:brightness(0) invert(1)!important;height:60px;}
.site-header.header-sub .hamburger span{background:#fff!important;}
.site-header.header-sub.scrolled{background:#532f1e;}

/* Sub Page Title */
.sub-page-header{padding:140px 50px 40px;max-width:1300px;margin:0 auto;}
.sub-page-title{font-size:52px;font-weight:900;letter-spacing:3px;text-transform:uppercase;color:#111;line-height:1.1;}

/* HERO */
.hero-section{position:relative;width:100%;height:100vh;overflow:hidden;}
.hero-video-playlist{position:absolute;inset:0;}
.hero-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;opacity:0;transition:opacity 1s ease;}
.hero-video.active{opacity:1;}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:2;}
.hero-content{text-align:center;color:#fff;}
.hero-content h1{font-size:60px;font-weight:700;letter-spacing:8px;text-transform:uppercase;margin-bottom:15px;}
.hero-content p{font-size:18px;letter-spacing:3px;font-weight:300;}

/* ABOUT */
.about-section{padding:120px 50px;max-width:1200px;margin:0 auto;text-align:center;}
.about-section .section-title{font-size:42px;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin-bottom:50px;position:relative;display:inline-block;}
.about-section .section-title::after{content:'';position:absolute;bottom:-15px;left:50%;transform:translateX(-50%);width:60px;height:3px;background:#222;}
.about-content{font-size:17px;line-height:2;color:#555;max-width:800px;margin:0 auto;white-space:pre-line;}

/* MODEL HERO SLIDER */
.model-hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;}
.model-hero-slider{position:absolute;inset:0;}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center center;background-repeat:no-repeat;background-color:#e8e8e8;opacity:0;transition:opacity 1.2s ease;}
.hero-slide.active{opacity:1;}
.model-hero-content{position:absolute;right:80px;top:50%;transform:translateY(-50%);text-align:right;z-index:2;}
.model-hero-title{font-size:48px;font-weight:900;letter-spacing:4px;color:#532f1e;line-height:1;margin-bottom:10px;}
.model-hero-copyright{font-size:11px;color:#888;letter-spacing:1px;}

/* MODEL DETAIL HERO */
.model-detail-hero{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;}
.model-detail-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center center;background-color:#e8e8e8;}
.model-detail-hero video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%,-50%);object-fit:cover;}
.model-detail-hero-content{position:absolute;right:80px;bottom:60px;text-align:right;z-index:2;}
.model-detail-hero-code{font-size:48px;font-weight:900;letter-spacing:4px;color:#fff;line-height:1;text-shadow:0 2px 20px rgba(0,0,0,.4);}

/* GROUP TABS */
.model-group-section{border-bottom:1px solid #eee;padding:0 50px;}
.model-group-tabs{max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:0;}
.model-group-tab{padding:22px 35px;font-size:15px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#999;border-bottom:2px solid transparent;transition:all .3s;}
.model-group-tab:hover{color:#222;}
.model-group-tab.active{color:#222;border-bottom-color:#222;font-weight:600;}

/* CATEGORY TABS */
.model-category-section{padding:0 50px;}
.model-category-tabs{max-width:1200px;margin:0 auto;display:flex;justify-content:center;gap:0;}
.model-cat-tab{padding:15px 25px;font-size:13px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:#999;border-bottom:2px solid transparent;transition:all .3s;}
.model-cat-tab:hover{color:#222;}
.model-cat-tab.active{color:#222;border-bottom-color:#222;font-weight:600;}

/* MODEL GRID - 5 columns */
.model-grid-section{padding:40px 50px 100px;max-width:1300px;margin:0 auto;}
.model-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px 15px;}
.model-card{text-align:left;}
.model-card a{display:block;color:inherit;}
.model-card-image{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;background:#f0f0f0;margin-bottom:10px;}
.model-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .4s;}
.model-card:hover .model-card-image img{transform:scale(1.03);filter:brightness(.65);}
.model-card-noimage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ccc;font-size:12px;background:#eee;}
.model-card-bottom{padding:0;}
.model-card-name{font-size:13px;font-weight:400;letter-spacing:1px;color:#333;}

/* Card hover overlay */
.model-card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .4s;z-index:2;color:#fff;text-align:center;}
.model-card:hover .model-card-overlay{opacity:1;}
.model-card-overlay-code{font-size:16px;font-weight:700;letter-spacing:2px;margin-bottom:12px;}
.model-card-overlay-info{display:flex;flex-direction:column;gap:3px;align-items:center;}
.model-card-overlay-info span{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;}
.model-card-overlay-info span em{font-style:normal;margin-left:6px;font-weight:300;}
.model-card-overlay-portfolio{margin-top:15px;font-size:11px;font-weight:600;letter-spacing:2px;border:1px solid rgba(255,255,255,.6);padding:6px 18px;}

/* Empty / Pagination */
.model-empty{grid-column:1/-1;text-align:center;padding:80px 0;color:#999;}
.model-empty p{font-size:18px;}
.model-empty-sub{font-size:14px!important;margin-top:10px;}
.model-pagination{text-align:center;margin-top:50px;display:flex;justify-content:center;gap:6px;}
.model-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-size:13px;color:#999;border-radius:50%;transition:all .3s;}
.model-pagination .page-numbers.current{background:#532f1e;color:#fff;font-weight:600;}
.model-pagination .page-numbers:hover{color:#222;}

/* MODEL DETAIL */
.model-detail-breadcrumb{max-width:1100px;margin:0 auto;padding:15px 50px;font-size:12px;letter-spacing:1px;color:#999;}
.model-detail-breadcrumb a{color:#532f1e;}
.model-detail-breadcrumb .bc-sep{margin:0 8px;color:#ccc;}
.model-detail-breadcrumb .bc-current{color:#555;}
.model-detail{max-width:1100px;margin:0 auto;padding:0 50px 60px;}
.model-detail-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.model-detail-image{position:relative;}
.model-detail-image img{width:100%;height:auto;display:block;}
.model-back-btn{display:inline-block;margin-bottom:15px;font-size:13px;color:#222;letter-spacing:2px;}
.model-detail-info{padding-top:20px;}
.model-detail-code{font-size:40px;font-weight:800;letter-spacing:3px;color:#532f1e;margin-bottom:30px;line-height:1;}
.model-detail-table{width:100%;border-collapse:collapse;margin-bottom:30px;}
.model-detail-table tr{border-bottom:1px solid #eee;}
.model-detail-table td{padding:12px 0;font-size:14px;}
.model-detail-table .label{color:#532f1e;font-weight:600;letter-spacing:2px;text-transform:uppercase;width:120px;}
.model-detail-table .value{color:#555;}
.model-detail-portfolio-label{margin-top:20px;padding-top:20px;}
.model-detail-portfolio-label span{font-size:14px;font-weight:700;letter-spacing:3px;color:#222;}

/* Portfolio Gallery - 6 columns with gap */
.model-portfolio{padding:0 0 40px;}
.portfolio-title{text-align:center;font-size:28px;font-weight:800;letter-spacing:4px;margin-bottom:30px;padding:0 50px;}
.portfolio-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:0;}
.portfolio-item{cursor:pointer;overflow:hidden;aspect-ratio:3/4;}
.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.portfolio-item:hover img{transform:scale(1.03);}

/* Model Nav */
.model-nav{max-width:1100px;margin:0 auto;padding:30px 50px 80px;}
.model-nav-inner{display:flex;justify-content:space-between;}
.model-nav-btn{font-size:13px;letter-spacing:2px;color:#999;border:1px solid #ddd;padding:8px 25px;transition:all .3s;}
.model-nav-btn:hover{border-color:#222;color:#222;}

/* LIGHTBOX */
.model-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;}
.lightbox-overlay{position:absolute;inset:0;background:rgba(0,0,0,.92);}
.lightbox-close{position:absolute;top:20px;right:25px;z-index:10;font-size:36px;color:#fff;background:none;border:none;cursor:pointer;opacity:.7;transition:opacity .3s;}
.lightbox-close:hover{opacity:1;}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;font-size:40px;color:#fff;background:none;border:none;cursor:pointer;opacity:.5;transition:opacity .3s;padding:20px;}
.lightbox-prev{left:10px;}
.lightbox-next{right:10px;}
.lightbox-prev:hover,.lightbox-next:hover{opacity:1;}
.lightbox-img-wrap{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;max-width:95vw;max-height:95vh;cursor:pointer;}
.lightbox-img{max-width:95vw;max-height:95vh;object-fit:contain;}
.lightbox-img.zoomed{max-width:none;max-height:none;cursor:zoom-out;}

/* PAGE HERO (Contact) */
.page-hero{height:100vh;min-height:600px;background-color:#f5f5f5;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;padding-top:80px;position:relative;}
.page-hero::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.25);pointer-events:none;}
.page-hero h1{font-size:48px;font-weight:800;letter-spacing:5px;text-transform:uppercase;color:#fff;position:relative;z-index:2;}

/* CONTACT */
.contact-section{padding:60px 50px 120px;max-width:1200px;margin:0 auto;}
.contact-layout{display:grid;grid-template-columns:1fr 2fr;gap:80px;margin-top:40px;}
.contact-info h3{font-size:24px;font-weight:700;margin-bottom:25px;}
.contact-info-item{margin-bottom:15px;font-size:15px;color:#555;line-height:1.8;}
.contact-info-item strong{display:inline-block;min-width:100px;color:#222;}
.contact-form h3{font-size:20px;font-weight:700;margin-bottom:25px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.form-group{display:flex;flex-direction:column;}
.form-group.full-width{grid-column:1/-1;}
.form-group label{font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:8px;color:#222;}
.form-group input,.form-group select,.form-group textarea{padding:12px 15px;border:none;border-bottom:1px solid #ddd;font-size:15px;font-family:inherit;background:transparent;transition:border-color .3s;outline:none;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-bottom-color:#222;}
.form-group textarea{min-height:150px;resize:vertical;}
.form-checkbox{margin-bottom:20px;}
.form-checkbox label{display:flex;align-items:center;gap:8px;font-size:14px;color:#555;cursor:pointer;}
.form-checkbox input[type="checkbox"]{width:18px;height:18px;cursor:pointer;}
.inquiry-categories{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap;}
.inquiry-categories label{display:flex;align-items:center;gap:6px;font-size:14px;color:#555;cursor:pointer;}
.btn-submit{display:inline-block;padding:15px 60px;background:#222;color:#fff;font-size:15px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s;margin-top:20px;}
.btn-submit:hover{background:#444;}

/* FOOTER */
.site-footer{background:#532f1e;color:#ccc;padding:60px 50px 40px;}
.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:40px;}
.footer-left{flex:1;min-width:300px;}
.footer-logo{font-size:24px;font-weight:800;color:#fff;letter-spacing:2px;margin-bottom:15px;}
.footer-social{display:flex;gap:12px;margin-bottom:20px;}
.footer-social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid #555;color:#999;font-size:16px;transition:all .3s;}
.footer-social a:hover{border-color:#fff;color:#fff;}
.footer-social svg{width:16px;height:16px;fill:currentColor;}
.footer-info p{font-size:13px;line-height:2;}
.footer-right{display:flex;gap:50px;}
.footer-menu-col h4{font-size:13px;font-weight:700;color:#fff;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:12px;}
.footer-menu-col ul{list-style:none;}
.footer-menu-col ul li{margin-bottom:6px;}
.footer-menu-col ul a{font-size:12px;color:#888;letter-spacing:1px;text-transform:uppercase;transition:color .3s;}
.footer-menu-col ul a:hover{color:#fff;}
.footer-bottom{text-align:left;padding-top:40px;margin-top:40px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;max-width:1200px;margin-left:auto;margin-right:auto;letter-spacing:1px;}

/* QUICK LINK (floating) */
.quick-links{position:fixed;right:20px;bottom:30px;z-index:900;display:flex;flex-direction:column;gap:8px;}
.quick-link-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;width:72px;padding:10px 0;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px;text-align:center;transition:transform .3s,box-shadow .3s;box-shadow:0 2px 10px rgba(0,0,0,.15);}
.quick-link-item:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.25);}
.quick-link-item svg,.quick-link-item img{width:24px;height:24px;margin-bottom:4px;}
.quick-link-contact{background:#532f1e;color:#fff;}
.quick-link-kakao{background:#FEE500;color:#3C1E1E;}
.quick-link-top{background:#333;color:#fff;}

/* RESPONSIVE */
@media(max-width:1024px){
    .site-header{padding:20px 30px;}.about-section{padding:80px 30px;}
    .model-grid-section{padding:30px 30px 80px;}.model-grid{grid-template-columns:repeat(4,1fr);}
    .model-hero-content{right:40px;}.model-hero-title{font-size:36px;}
    .model-detail-inner{gap:40px;}.model-detail-code{font-size:32px;}
    .contact-layout{grid-template-columns:1fr;gap:40px;}
    .portfolio-grid{grid-template-columns:repeat(4,1fr);}
    .footer-right{gap:30px;}
}
@media(max-width:768px){
    .hamburger{display:flex;}
    .main-nav{position:fixed;top:0;right:-100%;width:100%;height:100vh;background:rgba(20,20,20,.97);flex-direction:column;padding:120px 40px 40px;gap:35px;transition:right .3s;z-index:1000;align-items:center;}
    .main-nav.open{right:0;}
    .main-nav .nav-link{color:#fff!important;font-size:22px;letter-spacing:3px;}
    .main-nav .nav-link::after{background:#fff;}
    .hamburger.active span{background:#fff!important;}
    .hero-content h1{font-size:36px;letter-spacing:4px;}.hero-content p{font-size:14px;}
    .about-section .section-title{font-size:30px;}.about-content{font-size:15px;}.page-hero h1{font-size:32px;}
    .model-hero{height:100vh;min-height:0;}.model-hero-content{right:20px;}.model-hero-title{font-size:28px;}
    .model-detail-hero{height:100vh;min-height:0;}.model-detail-hero-content{right:20px;bottom:40px;}.model-detail-hero-code{font-size:28px;}
    .model-group-section,.model-category-section{padding:0 15px;overflow-x:auto;}
    .model-group-tabs,.model-category-tabs{min-width:max-content;}
    .model-group-tab{padding:15px 18px;font-size:12px;}.model-cat-tab{padding:12px 15px;font-size:11px;}
    .model-grid{grid-template-columns:repeat(3,1fr);gap:10px 8px;}.model-card-name{font-size:11px;}
    .model-card-overlay{display:none;}
    .model-detail{padding:0 20px 40px;}.model-detail-inner{grid-template-columns:1fr;gap:30px;}
    .model-detail-code{font-size:28px;}.model-detail-breadcrumb{padding:10px 20px;}
    .portfolio-grid{grid-template-columns:repeat(3,1fr);gap:4px;padding:0 10px;}.model-nav{padding:20px 20px 60px;}
    .form-row{grid-template-columns:1fr;}.site-header{padding:15px 20px;}
    .model-grid-section,.contact-section{padding:20px 15px 60px;}.footer-inner{flex-direction:column;}
    .logo-img{height:60px;}.footer-logo-img{height:50px;}.footer-right{flex-wrap:wrap;gap:20px;}
    .sub-page-header{padding:100px 20px 25px;}.sub-page-title{font-size:32px;}
    .site-header.header-sub .hamburger.active span{background:#fff!important;}
    .quick-links{right:10px;bottom:15px;}
    .quick-link-item{width:60px;font-size:9px;padding:8px 0;}
}
@media(max-width:480px){
    .model-grid{grid-template-columns:repeat(2,1fr);gap:8px 6px;}.model-card-name{font-size:10px;}
    .model-detail-code{font-size:24px;}.portfolio-grid{grid-template-columns:repeat(2,1fr);}
    .logo-img{height:45px;}.footer-logo-img{height:40px;}
    .sub-page-title{font-size:26px;}
}
