/*
Theme Name: PetTransSaaS starter
Theme URI: 
Description: 자율주행 전기차 및 모빌리티 전문 플랫폼
Version: 1.0.0
Author: PetTransSaaS Team
Text Domain: pts-starter
*/

:root {
    --pts-dark: #0D0D0D;
    --pts-dark-alt: #141414;
    --pts-dark-card: #1A1A1A;
    --pts-dark-border: #252525;
    --pts-lime: #C8FF00;
    --pts-lime-dark: #A8D900;
    --pts-lime-glow: rgba(200, 255, 0, 0.15);
    --pts-white: #FFFFFF;
    --pts-gray: #888888;
    --pts-gray-light: #AAAAAA;
    --pts-gray-dark: #666666;
    --pts-shadow: 0 8px 32px rgba(0,0,0,0.4);
    --pts-shadow-lime: 0 0 30px rgba(200, 255, 0, 0.2);
    --pts-radius: 16px;
    --pts-radius-sm: 8px;
    --pts-radius-lg: 24px;
    --pts-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    --pts-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    --pts-container: 1200px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: var(--pts-font); background: var(--pts-dark); color: var(--pts-white); line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; transition: var(--pts-transition); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; color: var(--pts-white); }
h1 { font-size: clamp(2.5rem, 6vw, 4rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(1.75rem, 4vw, 2.5rem); letter-spacing: -0.02em; }
h3 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
p { font-size: 1rem; color: var(--pts-gray-light); margin-bottom: 1rem; }

.pts-container { width: 100%; max-width: var(--pts-container); margin: 0 auto; padding: 0 24px; }
.pts-section { padding: 120px 0; }
.pts-label { display: inline-block; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; color: var(--pts-lime); margin-bottom: 16px; padding: 8px 16px; background: var(--pts-lime-glow); border-radius: 50px; }

/* Header */
.pts-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: rgba(13,13,13,0.9); backdrop-filter: blur(20px); border-bottom: 1px solid var(--pts-dark-border); }
.pts-header-inner { display: flex; align-items: center; justify-content: space-between; height: 80px; }
.pts-logo { font-weight: 800; font-size: 1.4rem; color: var(--pts-white); letter-spacing: -0.02em; }
.pts-logo span { color: var(--pts-lime); }
.pts-nav { display: flex; align-items: center; gap: 40px; }
.pts-nav-link { font-size: 0.9rem; font-weight: 500; color: var(--pts-gray-light); }
.pts-nav-link:hover { color: var(--pts-lime); }
.pts-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 28px; font-family: var(--pts-font); font-size: 0.9rem; font-weight: 600; border: none; cursor: pointer; transition: var(--pts-transition); border-radius: 50px; }
.pts-btn-lime { background: var(--pts-lime); color: var(--pts-dark); }
.pts-btn-lime:hover { background: var(--pts-lime-dark); box-shadow: var(--pts-shadow-lime); }
.pts-btn-outline { background: transparent; color: var(--pts-white); border: 1px solid var(--pts-dark-border); }
.pts-btn-outline:hover { border-color: var(--pts-lime); color: var(--pts-lime); }

/* Hero */
.pts-hero { min-height: 100vh; display: flex; align-items: center; padding: 120px 0 80px; background: var(--pts-dark); position: relative; overflow: hidden; }
.pts-hero::before { content: ''; position: absolute; top: -50%; right: -20%; width: 80%; height: 150%; background: radial-gradient(ellipse at center, var(--pts-lime-glow) 0%, transparent 60%); pointer-events: none; }
.pts-hero-content { position: relative; z-index: 2; max-width: 800px; }
.pts-hero-label { margin-bottom: 24px; }
.pts-hero h1 { margin-bottom: 24px; }
.pts-hero h1 span { color: var(--pts-lime); }
.pts-hero-desc { font-size: 1.2rem; color: var(--pts-gray-light); max-width: 600px; margin-bottom: 40px; line-height: 1.8; }
.pts-hero-btns { display: flex; gap: 16px; flex-wrap: wrap; }
.pts-hero-stats { display: flex; gap: 48px; margin-top: 60px; padding-top: 40px; border-top: 1px solid var(--pts-dark-border); }
.pts-stat-item h3 { font-size: 2.5rem; color: var(--pts-lime); margin-bottom: 8px; }
.pts-stat-item p { font-size: 0.85rem; color: var(--pts-gray); margin: 0; }

/* About */
.pts-about { background: var(--pts-dark-alt); }
.pts-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.pts-about-images { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pts-about-img { aspect-ratio: 1; border-radius: var(--pts-radius); overflow: hidden; background: var(--pts-dark-card); display: flex; align-items: center; justify-content: center; font-size: 3rem; }
.pts-about-img:first-child { grid-column: span 2; aspect-ratio: 2/1; }
.pts-about-img-real { padding: 0; }
.pts-about-img-real img { width: 100%; height: 100%; object-fit: cover; }
.pts-about-content h2 { margin-bottom: 24px; }
.pts-about-content p { font-size: 1.05rem; line-height: 1.9; margin-bottom: 20px; }
.pts-about-features { display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
.pts-feature-item { display: flex; align-items: center; gap: 12px; font-size: 0.95rem; color: var(--pts-gray-light); }
.pts-feature-item::before { content: '✓'; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; background: var(--pts-lime-glow); color: var(--pts-lime); font-size: 0.8rem; border-radius: 50%; }

/* Services */
.pts-services { background: var(--pts-dark); }
.pts-services-header { text-align: center; max-width: 600px; margin: 0 auto 60px; }
.pts-services-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.pts-service-card { background: var(--pts-dark-card); border: 1px solid var(--pts-dark-border); border-radius: var(--pts-radius); padding: 32px 24px; transition: var(--pts-transition); }
.pts-service-card:hover { border-color: var(--pts-lime); transform: translateY(-4px); }
.pts-service-icon { font-size: 2.5rem; margin-bottom: 20px; }
.pts-service-card h3 { font-size: 1.1rem; margin-bottom: 12px; }
.pts-service-card p { font-size: 0.9rem; margin: 0; line-height: 1.6; }

/* Posts */
.pts-posts { background: var(--pts-dark-alt); }
.pts-posts-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 48px; }
.pts-posts-header h2 { margin: 0; }
.pts-view-all { color: var(--pts-lime); font-size: 0.9rem; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.pts-view-all:hover { gap: 12px; }
.pts-posts-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; }
.pts-post-card { background: var(--pts-dark-card); border: 1px solid var(--pts-dark-border); border-radius: var(--pts-radius); overflow: hidden; transition: var(--pts-transition); }
.pts-post-card:hover { border-color: var(--pts-lime); transform: translateY(-4px); }
.pts-post-image { aspect-ratio: 16/10; overflow: hidden; position: relative; background: linear-gradient(135deg, var(--pts-dark) 0%, var(--pts-dark-card) 100%); }
.pts-post-image img { width: 100%; height: 100%; object-fit: cover; transition: var(--pts-transition); }
.pts-post-card:hover .pts-post-image img { transform: scale(1.05); }
.pts-post-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--pts-gray-dark); }
.pts-post-cat { position: absolute; top: 16px; left: 16px; padding: 6px 14px; background: var(--pts-lime); color: var(--pts-dark); font-size: 0.7rem; font-weight: 600; border-radius: 50px; text-transform: uppercase; letter-spacing: 0.05em; }
.pts-post-content { padding: 28px; }
.pts-post-title { font-size: 1.15rem; margin-bottom: 12px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pts-post-excerpt { font-size: 0.9rem; color: var(--pts-gray); margin-bottom: 16px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pts-post-meta { font-size: 0.8rem; color: var(--pts-gray-dark); }

/* CTA */
.pts-cta { background: linear-gradient(135deg, var(--pts-dark-card) 0%, var(--pts-dark) 100%); padding: 100px 0; text-align: center; position: relative; overflow: hidden; }
.pts-cta::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 600px; height: 600px; background: radial-gradient(ellipse at center, var(--pts-lime-glow) 0%, transparent 70%); pointer-events: none; }
.pts-cta-content { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; }
.pts-cta h2 { margin-bottom: 20px; }
.pts-cta p { font-size: 1.1rem; margin-bottom: 32px; }

/* Footer */
.pts-footer { background: var(--pts-dark); padding: 80px 0 40px; border-top: 1px solid var(--pts-dark-border); }
.pts-footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 60px; margin-bottom: 60px; }
.pts-footer-brand .pts-logo { margin-bottom: 20px; display: inline-block; }
.pts-footer-brand p { font-size: 0.9rem; color: var(--pts-gray); line-height: 1.8; max-width: 280px; }
.pts-footer-title { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; margin-bottom: 24px; color: var(--pts-white); }
.pts-footer-links { display: flex; flex-direction: column; gap: 14px; }
.pts-footer-links a { color: var(--pts-gray); font-size: 0.9rem; }
.pts-footer-links a:hover { color: var(--pts-lime); }
.pts-footer-bottom { padding-top: 40px; border-top: 1px solid var(--pts-dark-border); display: flex; justify-content: space-between; align-items: center; }
.pts-footer-copyright { color: var(--pts-gray-dark); font-size: 0.85rem; }
.pts-footer-legal { display: flex; gap: 32px; }
.pts-footer-legal a { color: var(--pts-gray-dark); font-size: 0.85rem; }
.pts-footer-legal a:hover { color: var(--pts-lime); }

/* Single */
.pts-single { padding-top: 120px; }
.pts-single-header { max-width: 900px; margin: 0 auto 48px; text-align: center; }
.pts-single-meta { display: flex; justify-content: center; gap: 24px; margin-bottom: 24px; }
.pts-single-cat { color: var(--pts-lime); font-weight: 600; text-transform: uppercase; font-size: 0.8rem; letter-spacing: 0.1em; }
.pts-single-date { color: var(--pts-gray); font-size: 0.85rem; }
.pts-single-title { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.25; margin-bottom: 0; }
.pts-single-image { max-width: 1000px; margin: 0 auto 60px; border-radius: var(--pts-radius-lg); overflow: hidden; }
.pts-single-image img { width: 100%; }
.pts-single-content { max-width: 760px; margin: 0 auto; padding-bottom: 80px; }
.pts-single-body { font-size: 1.1rem; line-height: 2; color: var(--pts-gray-light); }
.pts-single-body p { margin-bottom: 1.75rem; }
.pts-single-body h2, .pts-single-body h3 { margin: 3rem 0 1.5rem; color: var(--pts-white); }
.pts-single-body a { color: var(--pts-lime); }
.pts-single-body img { border-radius: var(--pts-radius); margin: 2.5rem 0; }
.pts-single-body ul, .pts-single-body ol { margin: 1.5rem 0 2rem 1.5rem; }
.pts-single-body li { margin-bottom: 0.75rem; list-style: disc; }
.pts-single-body blockquote { border-left: 3px solid var(--pts-lime); padding: 24px 32px; margin: 2.5rem 0; background: var(--pts-dark-card); font-style: italic; font-size: 1.2rem; color: var(--pts-white); border-radius: 0 var(--pts-radius) var(--pts-radius) 0; }
.pts-single-footer { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--pts-dark-border); }
.pts-single-tags { font-size: 0.9rem; color: var(--pts-gray); }
.pts-single-tags a { color: var(--pts-lime); margin-right: 12px; }
.pts-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 48px; padding-top: 48px; border-top: 1px solid var(--pts-dark-border); }
.pts-post-nav a { padding: 24px; background: var(--pts-dark-card); border: 1px solid var(--pts-dark-border); border-radius: var(--pts-radius); transition: var(--pts-transition); }
.pts-post-nav a:hover { border-color: var(--pts-lime); }
.pts-post-nav span { display: block; font-size: 0.75rem; color: var(--pts-gray); margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.1em; }
.pts-post-nav strong { font-size: 1rem; color: var(--pts-white); font-weight: 500; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pts-post-nav-next { text-align: right; }

/* Archive */
.pts-archive-header { padding: 160px 0 60px; text-align: center; background: var(--pts-dark); }
.pts-archive-header h1 { margin-bottom: 16px; }
.pts-archive-header p { color: var(--pts-gray); max-width: 500px; margin: 0 auto; }
.pts-archive-posts { background: var(--pts-dark-alt); }

/* Pagination */
.pts-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 60px; }
.pts-pagination a, .pts-pagination span { padding: 12px 18px; background: var(--pts-dark-card); border: 1px solid var(--pts-dark-border); border-radius: var(--pts-radius-sm); font-size: 0.9rem; color: var(--pts-gray); }
.pts-pagination a:hover { border-color: var(--pts-lime); color: var(--pts-lime); }
.pts-pagination .current { background: var(--pts-lime); color: var(--pts-dark); border-color: var(--pts-lime); }
.pts-no-posts { text-align: center; padding: 100px 20px; color: var(--pts-gray); }

/* Mobile Menu */
#ptsMobBtn{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:transparent;border:none;outline:none;cursor:pointer;padding:10px;z-index:999999;position:fixed;top:20px;right:20px;width:44px;height:44px}
#ptsMobBtn span{display:block;width:22px;height:2px;background:var(--pts-white);transition:all .3s;pointer-events:none}
#ptsMobBtn.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
#ptsMobBtn.open span:nth-child(2){opacity:0}
#ptsMobBtn.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
#ptsMobNav{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--pts-dark);display:none;flex-direction:column;justify-content:center;align-items:center;gap:28px;z-index:999998}
#ptsMobNav.open{display:flex}
#ptsMobNav a{font-size:1.5rem;padding:12px 24px;color:var(--pts-white);font-weight:600}
#ptsMobNav a:hover{color:var(--pts-lime)}
@media(max-width:768px){#ptsMobBtn{display:flex}.pts-nav{display:none!important}}

/* Responsive */
@media (max-width: 1024px) {
    .pts-about-grid { grid-template-columns: 1fr; gap: 48px; }
    .pts-services-grid { grid-template-columns: repeat(2, 1fr); }
    .pts-posts-grid { grid-template-columns: 1fr; }
    .pts-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 40px; }
}
@media (max-width: 768px) {
    .pts-container { padding: 0 20px; }
    .pts-section { padding: 80px 0; }
    .pts-hero { padding: 100px 0 60px; min-height: auto; }
    .pts-hero-stats { flex-direction: column; gap: 24px; }
    .pts-about-images { grid-template-columns: 1fr; }
    .pts-about-img:first-child { grid-column: span 1; aspect-ratio: 16/9; }
    .pts-services-grid { grid-template-columns: 1fr; }
    .pts-footer-grid { grid-template-columns: 1fr; gap: 32px; }
    .pts-footer-bottom { flex-direction: column; text-align: center; gap: 20px; }
    .pts-posts-header { flex-direction: column; align-items: flex-start; gap: 16px; }
    .pts-post-nav { grid-template-columns: 1fr; }
    .pts-cta { padding: 80px 0; }
}
