/*
Theme Name: Rain Dog Productions
Theme URI: https://raindogproductions.com/
Author: Rain Dog Productions
Description: Thème WordPress sur mesure inspiré de la page d'attente Rain Dog Productions.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: raindog
*/

:root { color-scheme: light; --red:#dd3333; --ink:#2a2a2a; --muted:#5a5a5a; --soft:#f6f6f6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:#222; font-family:"Didact Gothic",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
body.admin-bar .site-header { top:32px; }
a { color:inherit; }
img { max-width:100%; height:auto; }
.container { width:min(1300px,100%); margin:0 auto; padding-inline:24px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.screen-reader-text:focus { width:auto; height:auto; padding:12px; margin:8px; clip:auto; z-index:99999; background:#fff; color:#000; }

/* Header */
.site-header { position:sticky; top:0; z-index:1000; background:rgba(255,255,255,.96); border-bottom:1px solid #ececec; backdrop-filter:blur(10px); }
.header-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.site-branding { display:flex; align-items:center; flex:0 0 auto; }
.custom-logo-link { display:block; line-height:0; }
.custom-logo { display:block; width:auto; max-width:150px; max-height:64px; object-fit:contain; }
.default-logo { display:block; width:140px; height:auto; }
.site-title { margin:0; font-size:20px; }
.site-title a { text-decoration:none; }
.main-navigation { margin-left:auto; }
.main-navigation ul { display:flex; align-items:center; justify-content:flex-end; gap:clamp(18px,2.8vw,38px); margin:0; padding:0; list-style:none; }
.main-navigation a { position:relative; display:block; padding:30px 0; color:#2a2a2a; font-size:15px; font-weight:600; text-decoration:none; }
.main-navigation a::after { content:""; position:absolute; right:0; bottom:23px; left:0; height:2px; background:var(--red); transform:scaleX(0); transition:transform .2s ease; }
.main-navigation a:hover::after,.main-navigation .current-menu-item>a::after { transform:scaleX(1); }
.menu-toggle { display:none; border:0; padding:10px; background:transparent; color:#222; cursor:pointer; }
.menu-toggle span:not(.screen-reader-text) { display:block; width:26px; height:2px; margin:5px 0; background:currentColor; transition:.2s ease; }

/* Home */
.hero { padding:70px 0 62px; }
.services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; justify-items:center; }
.service-card { width:100%; max-width:360px; display:grid; grid-template-columns:44px 1fr; column-gap:16px; row-gap:6px; align-items:start; opacity:0; transform:translateY(18px); filter:blur(6px); animation:cardIn 900ms cubic-bezier(.16,1,.3,1) forwards; }
.service-card:nth-child(1){animation-delay:120ms}.service-card:nth-child(2){animation-delay:260ms}.service-card:nth-child(3){animation-delay:400ms}
@keyframes cardIn { 60%{opacity:1;transform:translateY(-4px);filter:blur(0)} 100%{opacity:1;transform:none;filter:blur(0)} }
.service-icon { width:36px; height:36px; display:flex; align-items:center; justify-content:center; margin-top:4px; }
.service-icon svg { display:block; width:100%; height:100%; }
.service-icon--production { width:28px; height:30px; fill:#e4b13d; }
.service-icon--diffusion { fill:#d97b8c; }
.service-icon--programmation { fill:#8cb6d9; }
.service-card h2 { margin:0; color:var(--ink); font-size:clamp(20px,2vw,30px); font-weight:600; line-height:1.1; }
.service-card p { grid-column:2/-1; margin:0; color:var(--muted); font-size:clamp(14px,1.2vw,18px); line-height:1.7; }
.portfolio { padding:70px 0; background:var(--soft); }
.section-title { margin:0 0 40px; color:var(--red); font-size:clamp(24px,2.5vw,36px); font-weight:800; text-align:center; letter-spacing:.2px; }
.portfolio-grid { display:grid; grid-template-columns:repeat(auto-fit,230px); justify-content:center; gap:18px; max-width:1222px; margin:auto; }
.project-tile { position:relative; display:block; width:230px; height:230px; overflow:hidden; border-radius:10px; background:#ddd center/cover no-repeat; text-decoration:none; isolation:isolate; }
.project-tile::before { content:""; position:absolute; inset:0; background:inherit; transition:transform .45s cubic-bezier(.16,1,.3,1); z-index:-1; }
.project-tile:hover::before { transform:scale(1.045); }
.tile-overlay { position:absolute; right:0; bottom:0; left:0; height:50%; display:flex; align-items:center; justify-content:center; padding:16px; background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.45),transparent); transform:translateY(14px); animation:overlayUp 700ms cubic-bezier(.16,1,.3,1) forwards; animation-delay:var(--delay,0ms); }
.tile-title { margin:0; color:#fff; font-size:18px; font-weight:600; line-height:1.2; text-align:center; text-shadow:0 1px 10px rgba(0,0,0,.45); opacity:0; transform:translateY(14px); animation:titleUp 700ms cubic-bezier(.16,1,.3,1) forwards; animation-delay:var(--delay,0ms); }
@keyframes titleUp { to{opacity:1;transform:none} } @keyframes overlayUp { to{transform:none} }

/* Pages et footer */
.site-main-default { min-height:55vh; padding:64px 0; }
.entry-content { max-width:850px; margin:auto; line-height:1.75; }
.entry-title { color:var(--red); font-size:clamp(30px,4vw,48px); }
.archive-projects { min-height:55vh; padding:70px 0; background:var(--soft); }
.archive-projects .portfolio-grid { margin-bottom:20px; }
.single-project { min-height:60vh; padding:48px 0 80px; }
.single-project-container { width:min(1300px,100%); margin:0 auto; padding-inline:24px; }
.single-project-title { margin:0 0 52px; color:#3d3d3d; font-size:clamp(28px,3.1vw,28px); font-weight:400; line-height:1.2; letter-spacing:-.02em; }
.single-project-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(42px,5vw,64px); align-items:start; }
.single-project-figure { margin:0; }
.single-project-image { display:block; width:100%; aspect-ratio:1.73/1; height:auto; object-fit:cover; }
.single-project-caption { margin-top:16px; color:#62646a; font-size:clamp(11px,1.2vw,12px); line-height:1.5; }
.single-project-content { color:#555860; font-size:clamp(18px,0.45vw,22px); line-height:1.85; }
.single-project-content > :first-child { margin-top:0; }
.single-project-content p { margin:0 0 1.55em; }
.single-project-content em { font-weight:600; }
.single-project-extra { margin-top:48px; color:#555860; font-size:18px; line-height:1.8; }
.single-project-extra > :first-child { margin-top:0; }
.single-project-extra > :last-child { margin-bottom:0; }
.single-project-extra > .alignwide { max-width:1180px; margin-right:auto; margin-left:auto; }
.single-project-extra > .alignfull { max-width:none; }
.single-project-extra .wp-block-columns,
.single-project-extra .wp-block-group,
.single-project-extra .wp-block-gallery,
.single-project-extra .wp-block-cover { margin-top:32px; margin-bottom:32px; }
.single-project-extra img { height:auto; }
.project-back { display:inline-block; margin-top:36px; color:var(--red); font-size:12px; font-weight:650; text-decoration:none; }
.project-back:hover { text-decoration:underline; }
.follow-section { padding:60px 20px; color:#fff; text-align:center; background:var(--red); }
.social-icons { display:flex; justify-content:center; gap:25px; }
.social-icons a { display:inline-flex; color:#fff; transition:transform .3s ease,opacity .3s ease; }
.social-icons a:hover { transform:scale(1.2); opacity:.8; }
.copyright { margin:30px 0 0; font-size:14px; opacity:.9; }

@media(max-width:900px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.single-project-layout{gap:40px}.single-project-content{font-size:18px;line-height:1.75}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:720px){
  .header-inner{min-height:72px}.custom-logo{max-width:125px;max-height:54px}.default-logo{width:120px}
  .menu-toggle{display:block}.main-navigation{position:absolute;top:100%;right:0;left:0;background:#fff;border-top:1px solid #eee;box-shadow:0 12px 24px rgba(0,0,0,.08);display:none}.main-navigation.is-open{display:block}
  .main-navigation ul{display:block;padding:10px 24px 20px}.main-navigation a{padding:13px 0}.main-navigation a::after{bottom:8px;transform-origin:left}
  .hero{padding:52px 0}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.project-tile{width:100%;height:auto;aspect-ratio:1}
  .single-project{padding-top:36px}.single-project-container{padding-inline:24px}.single-project-title{margin-bottom:32px}.single-project-layout{grid-template-columns:1fr;gap:32px}.single-project-content{font-size:17px;line-height:1.75}.single-project-image{aspect-ratio:auto;object-fit:initial}.single-project-extra{margin-top:40px;font-size:17px}
}
@media(max-width:600px){.services{grid-template-columns:1fr}}
@media(max-width:420px){.portfolio-grid{grid-template-columns:1fr}.project-tile{max-width:280px;margin:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.tile-overlay,.tile-title{animation:none;opacity:1;transform:none;filter:none}.project-tile::before{transition:none}}
