/*
Theme Name: Passion Rail
Author: OpenAI
Description: Thème WordPress ferroviaire rétro et industriel coloré, basé sur la maquette validée.
Version: 2.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: passion-rail
Tags: blog, photography, news, custom-logo, custom-menu, featured-images, responsive-layout
*/

:root{--pr-background:#fff;
 --pr-navy:#0d3550; --pr-navy2:#07283d; --pr-red:#d8222a; --pr-yellow:#f4c51b;
 --pr-blue:#1265a0; --pr-green:#2e7d45; --pr-cream:#f5f2ea; --pr-paper:#fff;
 --pr-gray:#667782; --pr-border:#d8dfe2; --pr-shadow:0 2px 9px rgba(0,0,0,.13);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pr-background);color:var(--pr-navy2);font-family:Arial,Helvetica,sans-serif;line-height:1.45}
a{color:var(--pr-blue);text-decoration:none} a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:1200px;margin:auto;padding:0 18px}

.site-header{background:#fff;border-top:4px solid var(--pr-navy2);border-bottom:3px solid var(--pr-navy);box-shadow:0 2px 7px rgba(0,0,0,.10);position:relative;z-index:20}
.header-inner{max-width:1200px;min-height:84px;margin:auto;padding:9px 18px;display:flex;align-items:center;gap:24px}
.site-branding{display:flex;align-items:center;gap:14px;min-width:335px}
.site-logo{display:block;max-width:205px;max-height:64px;width:auto;object-fit:contain}
.site-logo-placeholder{width:125px;height:54px;background:var(--pr-navy);display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:900;text-transform:uppercase;border-radius:3px}
.site-title-wrap{min-width:0}
.site-title{margin:0;font-size:26px;line-height:1.02;font-weight:1000;letter-spacing:.025em;text-transform:uppercase}
.site-title a{color:var(--pr-navy)}
.site-description{margin:4px 0 0;font-size:10px;color:#53636d;font-weight:700}
.main-navigation{margin-left:auto}
.main-navigation ul{display:flex;gap:3px;list-style:none;padding:0;margin:0;align-items:center}
.main-navigation a{display:block;padding:10px 8px;color:var(--pr-navy2);font-size:11px;font-weight:900;text-transform:uppercase}
.main-navigation a:hover,.main-navigation .current-menu-item>a{color:var(--pr-red);text-decoration:none;border-bottom:3px solid var(--pr-red)}
.menu-toggle{display:none;background:var(--pr-red);border:0;color:#fff;border-radius:4px;padding:9px 12px;font-weight:900}

.hero{height:430px;min-height:430px;background:linear-gradient(90deg,#0c3149,#809096);background-size:cover;background-position:center;color:#fff;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,42,.94) 0%,rgba(5,27,42,.72) 35%,rgba(5,27,42,.04) 72%);pointer-events:none}
.hero-inner{max-width:1200px;min-height:430px;margin:auto;padding:52px 48px;display:flex;align-items:center;position:relative;z-index:2}
.hero-copy{max-width:550px}
.kicker{display:inline-block;background:var(--pr-yellow);color:#102e42;padding:5px 11px;border-radius:3px;font-size:12px;font-weight:1000;text-transform:uppercase}
.hero h1{font-size:47px;line-height:.98;margin:16px 0 14px;letter-spacing:-.02em}
.hero p{font-size:17px;max-width:540px;margin:0 0 23px}
.button{display:inline-block;background:var(--pr-yellow);color:var(--pr-navy2);padding:12px 18px;border-radius:4px;font-weight:1000}
.button:hover{text-decoration:none;filter:brightness(.97)}
.hero-dots{display:flex;gap:8px;margin-top:18px}.hero-dot{width:10px;height:10px;border-radius:50%;background:#fff}.hero-dot.active{background:var(--pr-yellow)}

.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding:20px 0 30px}
.section-title{display:flex;align-items:center;gap:11px;margin:0 0 15px;font-size:25px;line-height:1;text-transform:uppercase;color:var(--pr-navy)}
.section-title:before{content:"///";color:var(--pr-red);font-weight:1000;letter-spacing:-5px}
.section-title:after{content:"";height:2px;background:#9baab3;flex:1}
.section-link{margin-left:auto;font-size:12px;font-weight:800;white-space:nowrap}

.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.post-card{background:#fff;border:1px solid var(--pr-border);border-radius:5px;overflow:hidden;box-shadow:var(--pr-shadow);display:flex;flex-direction:column}
.post-thumb{display:block;aspect-ratio:1.45;overflow:hidden;background:#dfe4e7}
.post-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.post-card:hover .post-thumb img{transform:scale(1.025)}
.post-card-body{padding:11px 13px 13px;display:flex;flex-direction:column;flex:1}
.category-badge{display:inline-block;align-self:flex-start;background:var(--pr-yellow);color:var(--pr-navy2);padding:4px 7px;font-size:10px;font-weight:1000;text-transform:uppercase;border-radius:2px}
.post-card h3{font-size:18px;line-height:1.12;margin:8px 0 7px}.post-card h3 a{color:var(--pr-navy)}
.post-excerpt{font-size:13px;color:#445b68;margin:0 0 13px}
.meta{margin-top:auto;display:flex;gap:14px;color:#6a7b84;font-size:11px}

.sidebar{display:flex;flex-direction:column;gap:11px}
.module{border:1px solid var(--pr-border);border-radius:6px;overflow:hidden;background:#fff;box-shadow:var(--pr-shadow)}
.module-title{margin:0;padding:9px 12px;background:var(--pr-navy);color:#fff;font-size:14px;font-weight:1000;text-transform:uppercase}
.module-body{padding:11px 12px}
.module-follow .module-title{background:var(--pr-navy2)}
.social-links{display:flex;gap:10px}.social-links a{width:39px;height:39px;border-radius:5px;background:#fff;border:1px solid #c9d1d5;display:flex;align-items:center;justify-content:center;color:var(--pr-navy);font-weight:1000;font-size:19px}.social-links a:hover{text-decoration:none;transform:translateY(-1px)}
.module-recent{background:#fff1a9;border-color:#e1bd20}.module-recent .module-title{background:var(--pr-yellow);color:var(--pr-navy2)}
.recent-list{list-style:none;padding:0;margin:0}.recent-list li{display:grid;grid-template-columns:54px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(89,72,0,.17)}.recent-list li:last-child{border-bottom:0}
.recent-list img{width:54px;height:44px;object-fit:cover;border-radius:2px}.recent-list a{font-size:11px;font-weight:900;color:var(--pr-navy2);line-height:1.18}.recent-date{font-size:9px;color:#6d6030;display:block;margin-top:2px}.recent-arrow{font-size:20px;color:#715d00}
.module-custom .module-body{font-size:13px}
.module-newsletter{background:#f7fafb}.newsletter-intro{font-size:12px;margin:0 0 9px}.newsletter-form{display:flex}.newsletter-form input{min-width:0;flex:1;border:1px solid #c7d0d5;padding:8px;font-size:11px}.newsletter-form button{border:0;background:var(--pr-yellow);color:var(--pr-navy2);padding:8px 10px;font-weight:1000;font-size:11px}
.module-search .module-body{padding:10px}.search-form{display:flex}.search-field{min-width:0;flex:1;border:1px solid #c7d0d5;padding:8px;font-size:11px}.search-submit{border:0;background:var(--pr-navy);color:#fff;padding:0 11px;font-size:10px;font-weight:1000}

.categories{padding:30px 0 18px}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.category-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:172px;border-radius:5px;overflow:hidden;background:#dfe5e8;color:#fff;box-shadow:var(--pr-shadow)}
.category-tile:hover{text-decoration:none;transform:translateY(-2px)}
.category-image{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .25s}.category-tile:hover .category-image{transform:scale(1.04)}
.category-overlay{position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.category-name{position:relative;z-index:2;padding:0 8px 13px;text-align:center;font-size:13px;font-weight:1000;text-transform:uppercase;text-shadow:0 1px 2px #000}
.category-color-bar{position:absolute;z-index:3;left:0;right:0;bottom:0;height:5px;background:var(--category-color,#1265a0)}

.custom-banner{background:#17384b var(--pr-banner-image) center/cover no-repeat;color:#fff;position:relative;overflow:hidden}
.custom-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,43,.95),rgba(4,28,43,.38));}
.custom-banner-inner{max-width:1200px;margin:auto;padding:23px 30px;display:flex;align-items:center;gap:25px;position:relative;z-index:2}
.banner-copy{flex:1}.banner-label{display:inline-block;background:var(--pr-yellow);color:var(--pr-navy2);font-size:10px;font-weight:1000;padding:4px 7px}.banner-title{font-size:29px;font-weight:1000;margin:5px 0}.banner-title strong{color:var(--pr-yellow)}.banner-subtitle{margin:0;font-size:15px;font-style:italic}.banner-action{background:var(--pr-yellow);color:var(--pr-navy2);padding:14px 18px;border-radius:4px;font-weight:1000}.banner-action:hover{text-decoration:none}

.site-footer{background:var(--pr-navy2);color:#fff;border-top:4px solid var(--pr-yellow)}
.footer-inner{max-width:1200px;margin:auto;padding:19px 20px;display:flex;align-items:center;gap:20px}.footer-brand{font-weight:1000;font-size:18px}.footer-nav{margin:auto}.footer-nav ul{display:flex;gap:16px;list-style:none;margin:0;padding:0}.footer-nav a{color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}.footer-copy{font-size:10px;color:#dce5e9;text-align:right}
.entry-header{max-width:900px;margin:auto;padding:42px 18px 20px}.entry-title{font-size:45px;line-height:1.02;margin:12px 0}.entry-content{max-width:900px;margin:auto;padding:0 18px 45px;font-size:17px}
.pagination{padding:25px 0 45px}


.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;background-color:#17394d;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .45s ease;}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide .hero-inner{position:relative;z-index:2}.carousel-prev,.carousel-next{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:42px;height:58px;border:0;border-radius:3px;background:rgba(5,27,42,.55);color:#fff;font-size:42px;line-height:1;cursor:pointer}.carousel-prev{left:18px}.carousel-next{right:18px}.carousel-prev:hover,.carousel-next:hover{background:rgba(5,27,42,.85)}.carousel-dots{position:absolute;z-index:5;left:48px;bottom:25px;display:flex;gap:8px}.carousel-dot{width:11px;height:11px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer}.carousel-dot.active{background:var(--pr-yellow);border-color:var(--pr-yellow)}

@media(max-width:1050px){.site-branding{min-width:280px}.main-navigation a{font-size:10px;padding:9px 6px}.posts-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){
 .header-inner{min-height:70px}.site-branding{flex:1;min-width:0}.site-logo{max-width:145px;max-height:52px}.site-title{font-size:20px}.site-description{font-size:8px}
 .menu-toggle{display:block}.main-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:3px solid var(--pr-navy)}.main-navigation.is-open{display:block}.main-navigation ul{display:block;padding:7px 18px}.main-navigation a{padding:11px 5px}
 .content-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:repeat(2,1fr)}
 .custom-banner-inner{padding:22px 20px}.footer-inner{flex-wrap:wrap;justify-content:center}.footer-copy{text-align:center}
}
@media(max-width:560px){
 .hero{height:410px;min-height:410px}.hero-inner{padding:44px 20px;min-height:410px}.hero h1{font-size:36px}.hero p{font-size:15px}
 .posts-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}.sidebar{display:flex}
 .custom-banner-inner{display:block}.banner-action{display:inline-block;margin-top:13px}.footer-nav{width:100%}.footer-nav ul{justify-content:center;flex-wrap:wrap}
 .site-branding{gap:8px}.site-logo{max-width:105px}.site-title{font-size:16px}.site-description{display:none}
}

/* Sous-menus ferroviaires : ouverture au survol / focus */
.main-navigation li{position:relative}
.main-navigation li>ul{
  position:absolute;left:0;top:calc(100% + 8px);min-width:220px;
  display:block;padding:7px 0;margin:0;background:var(--pr-navy2);
  border-top:4px solid var(--pr-yellow);border-radius:0 0 6px 6px;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  z-index:200;
}
.main-navigation li:hover>ul,.main-navigation li:focus-within>ul{
  opacity:1;visibility:visible;transform:translateY(0)
}
.main-navigation li>ul:before{
  content:"";position:absolute;top:-10px;left:18px;
  border:5px solid transparent;border-bottom-color:var(--pr-yellow)
}
.main-navigation li>ul li{width:100%}
.main-navigation li>ul a{
  color:#fff;padding:10px 15px;font-size:11px;
  border-left:3px solid transparent;white-space:nowrap
}
.main-navigation li>ul a:hover,.main-navigation li>ul li:focus-within>a{
  color:#fff;background:rgba(255,255,255,.08);
  border-left-color:var(--pr-yellow);text-decoration:none
}
.main-navigation li>ul ul{left:calc(100% + 2px);top:-7px}
.archive-years{list-style:none;margin:0;padding:0}
.archive-years>li{border-bottom:1px solid #dfe4e7;padding:7px 0}
.archive-years>li:last-child{border-bottom:0}
.archive-year{width:100%;border:0;background:none;padding:0;display:flex;justify-content:space-between;align-items:center;color:var(--pr-navy);font-weight:1000;cursor:pointer;text-align:left}
.archive-year:after{content:"›";font-size:21px;transition:transform .15s}
.archive-year.open:after{transform:rotate(90deg)}
.archive-months{list-style:none;padding:4px 0 0 12px;margin:0;display:none}
.archive-months.open{display:block}
.archive-months li{padding:4px 0;font-size:12px}
.archive-months a{color:#38596b}
.archive-count{color:#7a8a93;font-size:10px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tag-cloud a{display:inline-block;padding:5px 9px;border-radius:14px;background:#e8f0f4;color:var(--pr-navy);font-weight:800;font-size:11px}
.tag-cloud a:nth-child(5n+1){background:var(--pr-yellow);font-size:15px}
.tag-cloud a:nth-child(5n+2){background:#1a75b8;color:#fff;font-size:13px}
.tag-cloud a:nth-child(5n+3){background:#3b8d55;color:#fff;font-size:13px}
@media(max-width:820px){
 .main-navigation li>ul{position:static;display:none;opacity:1;visibility:visible;transform:none;
   box-shadow:none;border-top:2px solid var(--pr-yellow);border-radius:0;background:var(--pr-navy2)}
 .main-navigation li.menu-item-has-children.open>ul{display:block}
 .main-navigation li>ul:before{display:none}
 .main-navigation li>ul ul{display:none}
}

/* V2.3: sous-menus ferroviaires */
.main-navigation li{position:relative}.main-navigation li>ul{position:absolute;left:0;top:calc(100% + 8px);min-width:220px;display:block;padding:7px 0;margin:0;background:var(--pr-navy2);border-top:4px solid var(--pr-yellow);border-radius:0 0 6px 6px;box-shadow:0 10px 24px rgba(0,0,0,.25);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:200}.main-navigation li:hover>ul,.main-navigation li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0)}.main-navigation li>ul:before{content:'';position:absolute;top:-10px;left:18px;border:5px solid transparent;border-bottom-color:var(--pr-yellow)}.main-navigation li>ul li{width:100%}.main-navigation li>ul a{color:#fff;padding:10px 15px;font-size:11px;border-left:3px solid transparent;white-space:nowrap}.main-navigation li>ul a:hover,.main-navigation li>ul li:focus-within>a{color:#fff;background:rgba(255,255,255,.08);border-left-color:var(--pr-yellow);text-decoration:none}.main-navigation li>ul ul{left:calc(100% + 2px);top:-7px}.archive-years{list-style:none;margin:0;padding:0}.archive-years>li{border-bottom:1px solid #dfe4e7;padding:7px 0}.archive-years>li:last-child{border-bottom:0}.archive-year{width:100%;border:0;background:none;padding:0;display:flex;justify-content:space-between;align-items:center;color:var(--pr-navy);font-weight:1000;cursor:pointer;text-align:left}.archive-year:after{content:'›';font-size:21px;transition:transform .15s}.archive-year.open:after{transform:rotate(90deg)}.archive-months{list-style:none;padding:4px 0 0 12px;margin:0;display:none}.archive-months.open{display:block}.archive-months li{padding:4px 0;font-size:12px}.archive-months a{color:#38596b}.archive-count{color:#7a8a93;font-size:10px}.tag-cloud{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tag-cloud a{display:inline-block;padding:5px 9px;border-radius:14px;background:#e8f0f4;color:var(--pr-navy);font-weight:800;font-size:11px}.tag-cloud a:nth-child(5n+1){background:var(--pr-yellow);font-size:15px}.tag-cloud a:nth-child(5n+2){background:#1a75b8;color:#fff;font-size:13px}.tag-cloud a:nth-child(5n+3){background:#3b8d55;color:#fff;font-size:13px}@media(max-width:820px){.main-navigation li>ul{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border-top:2px solid var(--pr-yellow);border-radius:0;background:var(--pr-navy2)}.main-navigation li.menu-item-has-children.open>ul{display:block}.main-navigation li>ul:before{display:none}.main-navigation li>ul ul{display:none}}
