/* doc-project | css/home.css | Habille la page d’accueil et maintient le bandeau de fermeture visible en haut de l’écran. | Expose: navigation, alerte flottante de fermeture, compensation de mise en page, héros, logo animé, services, galerie, CTA final et responsive mobile | Dépend de: index.php, css/site.css et img/logo-pizza-jacky (1)-640.png | Impacte: information client permanente, hiérarchie visuelle, identité de marque, conversion et ergonomie mobile | Tables: aucune */
:root { --cream:#fff6e7; --orange:#ff7a18; --red:#a92516; --line:rgba(255,235,209,.14); }
html { scroll-behavior:smooth; }
body.site-body { overflow-x:hidden; font-family:Karla,system-ui,sans-serif; background:radial-gradient(circle at 12% 8%,rgba(255,122,24,.22),transparent 24rem),radial-gradient(circle at 88% 26%,rgba(169,37,22,.18),transparent 26rem),linear-gradient(180deg,#1c0c07,#050302); }
.skip-link { position:fixed; top:.75rem; left:.75rem; z-index:1100; padding:.75rem 1rem; border-radius:12px; background:#fff; color:#111; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.site-shell { width:min(1240px,calc(100% - 2rem)); margin:auto; }
.site-nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; }
.brand,.nav-phone { display:inline-flex; align-items:center; color:#fff; text-decoration:none; font-weight:800; }
.brand span { display:grid; width:44px; height:44px; margin-right:.7rem; place-items:center; border-radius:14px; background:linear-gradient(145deg,var(--orange),var(--red)); font-family:Georgia,serif; font-size:1.5rem; }
.nav-phone { padding:.7rem 1rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.05); }
.has-active-closure { padding-top:84px; }
.closure-banner { position:fixed; top:0; right:0; left:0; z-index:1200; display:flex; min-height:68px; align-items:center; justify-content:center; gap:.8rem; margin:0; padding:1rem max(1rem,calc((100vw - 1240px)/2)); border-bottom:1px solid rgba(255,205,91,.4); background:linear-gradient(135deg,rgba(169,37,22,.98),rgba(233,77,11,.98)); box-shadow:0 10px 30px rgba(0,0,0,.38); color:#fff; text-align:center; }
.closure-banner__icon { flex:0 0 auto; font-size:1.35rem; }
.closure-banner strong { max-width:1100px; line-height:1.45; }
.hero { display:flex; flex-direction:column; align-items:center; max-width:960px; min-height:0; margin:0 auto; padding:clamp(2.5rem,6vw,5rem) 0 3rem; text-align:center; }
.hero-heading { position:relative; z-index:2; }
.hero-heading h1 { margin:0; color:var(--cream); font-family:Georgia,serif; font-size:clamp(3.5rem,9vw,7.5rem); line-height:.9; letter-spacing:-.055em; text-wrap:balance; }
.hero-subtitle { margin:1rem 0 0; color:#ffad5b; font-family:Georgia,serif; font-size:clamp(1.5rem,4vw,2.8rem); font-weight:700; line-height:1.1; }
.hero-badge { margin:0 0 1rem; border-color:rgba(255,173,91,.25); background:rgba(255,122,24,.09); color:#ffd6ae; }
.section-heading>span,.final-cta span { color:#ffad5b; font-size:.8rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.hero-copy { display:flex; flex-direction:column; align-items:center; max-width:760px; }
.hero-lead { max-width:700px; margin:0; color:rgba(255,246,231,.76); font-size:clamp(1.05rem,2vw,1.25rem); }
.hero-actions,.hero-points { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:1.8rem; }
.btn-cta,.btn-menu { min-width:0; padding:.95rem 1.35rem; border-radius:999px; font-weight:800; }
.btn-cta { border:0; background:linear-gradient(135deg,var(--orange),#e94d0b); box-shadow:0 16px 38px rgba(233,77,11,.27); }
.btn-menu { border:1px solid var(--line); background:rgba(255,255,255,.055); color:#fff; }
.hero-points { justify-content:center; padding:0; color:rgba(255,255,255,.72); list-style:none; }
.hero-visual { position:relative; display:grid; width:100%; min-height:420px; margin:-1rem 0 0; place-items:center; }
.hero-logo { display:block; width:min(100%,560px); height:auto; margin:0; filter:drop-shadow(0 30px 50px rgba(0,0,0,.45)); transform-origin:center; animation:hero-logo-float 5s ease-in-out infinite; will-change:transform; }
@keyframes hero-logo-float { 0%,100% { transform:translateY(0) rotate(0deg); } 50% { transform:translateY(-8px) rotate(.25deg); } }
.trust-strip,.service-grid,.delivery-flow ol { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.trust-strip { margin-bottom:4rem; padding:1rem; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.035); }
.trust-strip div { display:grid; padding:.5rem 1rem; text-align:center; }
.trust-strip div+div { border-left:1px solid var(--line); }
.trust-strip strong { color:var(--cream); font-size:1.2rem; }
.trust-strip span { color:rgba(255,255,255,.58); font-size:.88rem; }
.section-pizza,.gallery-section,.delivery-flow,.seo-content { max-width:none; margin:0 0 4rem; padding:clamp(1.25rem,4vw,3rem); border:1px solid var(--line); border-radius:24px; background:linear-gradient(145deg,rgba(58,25,14,.72),rgba(15,7,4,.82)); }
.section-heading { max-width:760px; margin:0 auto 2rem; text-align:center; }
.section-heading h2,.final-cta h2 { margin:.5rem 0 0; color:var(--cream); font-family:Georgia,serif; font-size:clamp(2rem,4vw,3.4rem); line-height:1.05; }
.section-heading p { margin:1rem 0 0; color:rgba(255,255,255,.65); }
.service-grid article { padding:1.5rem; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.035); text-align:left; transition:.25s ease; }
.service-grid article:hover { transform:translateY(-5px); border-color:rgba(255,122,24,.38); }
.service-grid article>span { display:grid; width:48px; height:48px; margin-bottom:1rem; place-items:center; border-radius:15px; background:rgba(255,122,24,.12); font-size:1.4rem; }
.service-grid h3 { color:var(--cream); font-size:1.2rem; }
.service-grid p { margin:0; color:rgba(255,255,255,.64); line-height:1.65; }
.delivery-flow ol { margin:0; padding:0; list-style:none; }
.delivery-flow li { display:flex; align-items:center; gap:1rem; padding:1.2rem; border-radius:18px; background:rgba(255,255,255,.035); color:rgba(255,255,255,.68); }
.delivery-flow li>b { display:grid; flex:0 0 42px; height:42px; place-items:center; border-radius:50%; background:linear-gradient(145deg,var(--orange),var(--red)); color:#fff; }
.delivery-flow strong { display:block; color:var(--cream); }
.gallery-card { width:100%; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.035); color:#fff; text-align:left; }
.gallery-card>span { display:flex; justify-content:space-between; padding:.8rem 1rem; font-weight:800; }
.gallery-card small { color:#ffad5b; }
.gallery-image { border:0; border-radius:0; }
.thumbnail-button { padding:0; border:2px solid transparent; border-radius:12px; background:transparent; opacity:.62; }
.thumbnail-button img { display:block; width:62px; height:62px; border:0; border-radius:9px; opacity:1; object-fit:cover; }
.thumbnail-button.is-active,.thumbnail-button:hover,.thumbnail-button:focus { border-color:var(--orange); opacity:1; }
.final-cta { display:flex; align-items:center; justify-content:space-between; gap:2rem; margin-bottom:2rem; padding:clamp(1.5rem,5vw,3.5rem); border-radius:26px; background:linear-gradient(135deg,#9e2617,#e7560d 60%,#ff8b24); text-align:left; }
.final-cta .btn-cta { flex:0 0 auto; background:#fff; color:#2a1109; box-shadow:none; }
footer { padding:1rem 0 2.5rem; color:rgba(255,255,255,.5); text-align:center; }
.mobile-call { display:none; }
[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }
@media (max-width:991.98px) { .hero { min-height:auto; } .hero-visual { min-height:390px; } }
@media (max-width:767.98px) { body.site-body { padding-bottom:calc(80px + env(safe-area-inset-bottom)); } body.site-body.has-active-closure { padding-top:104px; } .site-shell { width:calc(100% - 1.25rem); } .nav-phone { display:none; } .closure-banner { min-height:88px; align-items:flex-start; padding:.9rem 1rem; font-size:.95rem; text-align:left; } .hero { padding:2.5rem 0 2rem; } .hero-heading h1 { font-size:clamp(3rem,16vw,5rem); } .hero-subtitle { font-size:clamp(1.4rem,7vw,2rem); } .hero-actions { display:grid; width:100%; } .hero-actions .btn { width:100%; } .hero-points { display:grid; justify-content:start; max-width:280px; margin-right:auto; margin-left:auto; text-align:left; } .hero-visual { min-height:320px; margin:0; } .hero-logo { width:min(100%,430px); } .trust-strip,.service-grid,.delivery-flow ol { grid-template-columns:1fr; } .trust-strip div+div { border-top:1px solid var(--line); border-left:0; } .section-pizza,.gallery-section,.delivery-flow,.seo-content { margin-bottom:3rem; padding:1rem; } .final-cta { display:grid; text-align:center; } .mobile-call { position:fixed; right:.75rem; bottom:calc(.75rem + env(safe-area-inset-bottom)); left:.75rem; z-index:1050; display:flex; justify-content:center; gap:.6rem; padding:.85rem; border-radius:18px; background:linear-gradient(135deg,var(--orange),#e94d0b); box-shadow:0 16px 38px rgba(0,0,0,.44); color:#fff; text-decoration:none; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .hero-logo { animation:none; } [data-reveal] { opacity:1; transform:none; transition:none; } }