/*
Theme Name: Les Grands Copains Privé
Author: Site privé
Version: 3.0.0
Description: Thème privé, accès invité côté serveur.
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#071521;--card:#0e2432;--gold:#d9b979;--white:#f8f1e7;--muted:#b4bec6}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--white);font-family:'DM Sans',Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.hide{display:none!important}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{font-size:clamp(38px,6vw,68px);margin:5px 0}h2{font-size:39px;margin:8px 0 20px}h3{font-size:27px;margin:5px 0 14px}p{line-height:1.7}.gold{color:var(--gold)}.muted{color:var(--muted)}.landing{min-height:100svh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 85%,#c0833328,transparent 52%),linear-gradient(155deg,#07111d,#0e2838 60%,#040b13);position:relative;overflow:hidden}.landing:before{content:'';position:absolute;inset:5% 8%;border:1px solid #cfa76339;border-radius:48% 48% 3px 3px / 27% 27% 3px 3px;pointer-events:none}.landing-inner{z-index:1;display:flex;flex-direction:column;align-items:center;gap:40px;padding:55px 16px}.logo{width:min(72vw,350px);border-radius:50%;box-shadow:0 18px 55px #0009}.outline{background:#06101bd9;color:var(--gold);border:1px solid var(--gold);padding:17px 28px;border-radius:30px;letter-spacing:2px;min-width:240px}.outline:hover,.outline:focus-visible{background:#d9b979;color:#071521}.overlay{position:fixed;inset:0;background:#000c;display:grid;place-items:center;z-index:30;padding:20px}.dialog{background:#091b29;border:1px solid var(--gold);border-radius:18px;padding:25px;width:min(100%,420px);text-align:center}.dialog input,.editor input,.editor textarea{width:100%;background:#152c3c;border:1px solid #75818b;border-radius:8px;color:white;padding:13px;margin:10px 0}.dialog .close{float:right;background:transparent;border:0;color:var(--gold);font-size:22px}.goldbtn{background:linear-gradient(135deg,#f0d59b,#bc8f47);border:0;border-radius:9px;color:#091521;font-weight:700;padding:14px 20px}.full{width:100%}.error{color:#ffbba8}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,55px);border-bottom:1px solid #d9b97938;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;color:var(--gold);letter-spacing:1.5px;font-size:12px}.brand img{width:45px;height:45px;border-radius:50%}.nav{display:flex;gap:7px;flex-wrap:wrap}.nav button{background:transparent;border:1px solid transparent;color:#d6dce0;padding:9px 12px;border-radius:20px;font-size:12px}.nav button.active{border-color:var(--gold);color:var(--gold)}.main{max-width:1100px;margin:auto;padding:38px 22px 110px}.eyebrow{letter-spacing:3px;font-size:11px;color:var(--gold)}.lead{font-size:16px;color:var(--muted);max-width:700px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:25px}.card,.panel{background:linear-gradient(145deg,#132a39,#0a1a27);border:1px solid #d9b97945;border-radius:16px;padding:23px}.card p,.panel p{color:#d0d7dc}.date{font-size:12px;letter-spacing:2px;color:var(--gold)}.line{padding:13px 0;border-bottom:1px solid #ffffff19;line-height:1.6}.line:last-child{border:0}.tag{display:inline-block;color:#e3c88c;border:1px solid #d9b97980;border-radius:20px;padding:4px 10px;font-size:11px;margin-top:6px}.secret{background:repeating-conic-gradient(#3d4b52 0 25%,#1a2d38 0 50%) 0 0/24px 24px;border-radius:12px;height:145px;display:flex;align-items:center;justify-content:center}.secret span{background:#081723e8;border:1px solid #d9b979;border-radius:25px;padding:10px 18px;color:var(--gold);font-size:13px}.action{display:inline-block;text-decoration:none;color:var(--gold);border:1px solid var(--gold);border-radius:25px;padding:10px 15px;margin-top:12px;font-size:13px}.section{display:none}.section.active{display:block}.editor label{display:block;color:var(--gold);margin-top:14px}.editor textarea{min-height:100px}.music{position:fixed;right:15px;bottom:calc(16px + env(safe-area-inset-bottom));background:#061521f5;border:1px solid var(--gold);color:var(--gold);padding:13px 18px;border-radius:35px;z-index:15;box-shadow:0 5px 20px #0008}.small{font-size:12px;color:var(--muted)}.hero-in{padding:45px 28px;border:1px solid #d9b97945;border-radius:18px;background:radial-gradient(ellipse at 85% 20%,#8e632b40,transparent 45%),#102536;margin-bottom:28px}.row{display:flex;gap:18px;align-items:flex-start}.row img{width:110px;height:110px;object-fit:cover;border-radius:50%}.note{padding:14px;border-left:2px solid var(--gold);background:#ffffff08;color:#d5d9db;margin-top:15px}.footer{font-size:11px;color:#91a2ad;text-align:center;padding:30px}.linkbtn{background:transparent;border:0;color:var(--gold);text-decoration:underline}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.placeholder{aspect-ratio:4/3;background:linear-gradient(145deg,#1a3946,#0c1b28);border:1px solid #d9b97945;border-radius:12px;display:grid;place-items:center;color:var(--gold);text-align:center;padding:15px}.adminbar{margin-top:22px;border-top:1px solid #d9b97955;padding-top:18px}@media(max-width:700px){.grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.main{padding:25px 16px 110px}.top{display:block}.nav{margin-top:14px}.nav button{padding:8px 9px}.hero-in{padding:26px 20px}.row img{width:75px;height:75px}h2{font-size:34px}}

/* Version photographique de validation */
.hero-in{min-height:340px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:linear-gradient(90deg,#071521ef 0%,#071521b8 57%,#07152166 100%),url('ambiance-marrakech.png') center 45%/cover;border-color:#d9b97975}
.photo-banner{width:100%;height:180px;object-fit:cover;display:block;border-radius:12px;margin:0 0 17px;background:#142b39}
.photo-mini{width:100%;height:145px;object-fit:cover;border-radius:12px;margin:12px 0}
.photo-gallery-item{margin:0;overflow:hidden;border:1px solid #d9b97945;border-radius:12px;background:#102332}
.photo-gallery-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.photo-gallery-item figcaption{padding:10px;color:#e2c58e;font-size:12px}
.photo-cover{height:240px;object-fit:cover;width:100%;border-radius:16px;margin:4px 0 22px}
@media(max-width:700px){.hero-in{min-height:380px;background-position:55% center}.photo-banner{height:170px}.photo-cover{height:180px}}
.photo-click{display:block;cursor:pointer}.photo-click img{display:block;width:100%}.photo-click:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* V4 : harmonisation des liens et attribution météo discrète */
#site a:not(.weather-credit),#site a:not(.weather-credit):visited{color:#d9b979;text-decoration:none}#site a:not(.weather-credit):hover,#site a:not(.weather-credit):focus-visible{text-decoration:underline}#site .venue-link{display:inline-block;margin-left:7px;font-weight:600;letter-spacing:.035em;font-size:11px}#site .venue-link-sep{display:none}#site .weather-credit{color:#91a2ad;font-size:10px;text-decoration:underline;text-underline-offset:2px;display:inline-block;margin-top:12px}#site .photo-gallery-item figcaption{line-height:1.6}
