/*
Theme Name: Photographe Alsace Pro
Theme URI: https://www.instagram.com/florska_shoot
Description: Thème professionnel pour photographe automobile, moto & musculation. SEO local Alsace/Doubs/Suisse. Performance optimisée Lighthouse >90. Code production-ready.
Version: 1.0.0
Author: FLORSKA
License: GNU General Public License v3
Text Domain: photo-alsace
*/

/* === VARIABLES CSS === */
:root {
  --color-bg: #0e0e0e;
  --color-text: #f8f8f8;
  --color-accent: #cc0000;
  --color-secondary: #1a1a1a;
  --font-title: 'Montserrat', sans-serif;
  --font-body: 'Lato', sans-serif;
  --transition: all .3s ease-in-out;
  --max-width: 1200px;
}

/* === RESET === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--color-accent);text-decoration:none;transition:var(--transition)}
a:hover{opacity:0.8}
button{cursor:pointer;transition:var(--transition)}
button:hover{opacity:0.8}

/* === LAYOUT === */
.container{width:90%;max-width:var(--max-width);margin:0 auto}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}

/* === HEADER === */
.site-header{position:fixed;top:0;left:0;width:100%;background:rgba(14,14,14,0.95);backdrop-filter:blur(10px);padding:1rem 0;z-index:1000;border-bottom:1px solid rgba(255,255,255,0.1)}
.header-container{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.5rem;font-weight:900;font-family:var(--font-title);letter-spacing:0.1em}
.main-nav ul{list-style:none;display:flex;gap:2rem;margin:0;padding:0}
.main-nav a{font-weight:600;text-transform:uppercase;font-size:0.9rem;letter-spacing:0.05em;padding:0.5rem 0;position:relative}
.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-accent);transition:width 0.3s}
.main-nav a:hover::after{width:100%}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.5rem}

/* === HERO === */
.hero{background-size:cover;background-position:center;height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}
.hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.6)}
.hero-content{position:relative;z-index:2;max-width:800px;padding:2rem}
.hero h1{font-size:3.5rem;font-weight:900;font-family:var(--font-title);letter-spacing:0.1em;margin-bottom:1rem}
.hero-tagline{font-size:1.2rem;color:#ccc;margin-bottom:2rem}
.cta-btn{display:inline-block;padding:1rem 3rem;background:var(--color-accent);color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;border-radius:50px;border:none}

/* === SECTIONS === */
.section{padding:100px 0}
.section-title{font-size:2.5rem;font-weight:900;font-family:var(--font-title);text-align:center;margin-bottom:3rem;letter-spacing:0.1em}
.section-title::after{content:'';display:block;width:80px;height:4px;background:var(--color-accent);margin:1rem auto 0}

/* === PORTFOLIO === */
.portfolio-filters{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}
.filter-btn{padding:0.8rem 2rem;background:transparent;border:2px solid var(--color-secondary);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;border-radius:30px}
.filter-btn.active,.filter-btn:hover{background:var(--color-accent);border-color:var(--color-accent)}
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:30px}
.portfolio-item{position:relative;overflow:hidden;border-radius:8px;aspect-ratio:4/3;cursor:pointer;transition:transform 0.3s}
.portfolio-item:hover{transform:translateY(-10px)}
.portfolio-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s}
.portfolio-item:hover img{transform:scale(1.1)}
.portfolio-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(204,0,0,0.9),transparent);opacity:0;transition:opacity 0.3s;display:flex;flex-direction:column;justify-content:flex-end;padding:2rem}
.portfolio-item:hover .portfolio-overlay{opacity:1}

/* === SERVICES === */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.service-card{background:var(--color-secondary);padding:3rem 2rem;border-radius:12px;text-align:center;transition:transform 0.3s}
.service-card:hover{transform:translateY(-10px)}
.service-icon{font-size:3rem;margin-bottom:1.5rem}
.service-card h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--color-accent)}

/* === TESTIMONIALS === */
.testimonials-slider{max-width:800px;margin:0 auto}
.testimonial{background:var(--color-secondary);padding:3rem;border-radius:12px;text-align:center}
.testimonial-text{font-size:1.1rem;font-style:italic;margin-bottom:1.5rem;line-height:1.8}
.testimonial-author{font-weight:700;color:var(--color-accent)}

/* === CONTACT === */
.contact-form{max-width:700px;margin:0 auto;background:var(--color-secondary);padding:3rem;border-radius:12px}
.form-group{margin-bottom:1.5rem}
.form-group label{display:block;margin-bottom:0.5rem;font-weight:600}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:1rem;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:4px;color:#fff;font-family:inherit}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent)}
.form-group textarea{min-height:150px;resize:vertical}

/* === FOOTER === */
.site-footer{background:var(--color-secondary);padding:3rem 0;border-top:1px solid rgba(255,255,255,0.1)}
.footer-content{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem}
.footer-bottom{text-align:center;padding-top:2rem;margin-top:2rem;border-top:1px solid rgba(255,255,255,0.1);color:#999}

/* === RESPONSIVE === */
@media(max-width:1024px){
  .grid-3,.services-grid,.footer-content{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hero h1{font-size:2.5rem}
  .section{padding:60px 0}
  .menu-toggle{display:block}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:rgba(14,14,14,0.98);padding:2rem;display:none}
  .main-nav.active{display:block}
  .main-nav ul{flex-direction:column;gap:1.5rem}
  .grid-3,.grid-2,.services-grid,.portfolio-grid,.footer-content{grid-template-columns:1fr}
}

/* === UTILITIES === */
.text-center{text-align:center}
.mt-3{margin-top:3rem}
.lazy{opacity:0;transition:opacity 0.3s}
.lazy-loaded{opacity:1}
