/*
Template: contact.css
Version: 1.0.0
Author: Perspective3 Studio
*/

/* Section: Contact (hero, formulaire, infos, feedback) */
 :root { --p3s-contact-white:#f8f9ff; --p3s-contact-ink:#1d2347; --p3s-contact-soft-ink:#4a4f71; --p3s-contact-border:rgba(76, 88, 153, 0.24); --p3s-contact-header-h:86px; }
body { background:radial-gradient(1200px 800px at 70% 10%, rgba(90, 30, 130, 0.55), transparent 55%), radial-gradient(900px 700px at 35% 30%, rgba(0, 120, 190, 0.35), transparent 60%), linear-gradient(90deg, #061828 0%, #071c2a 55%, #1a1430 100%); }
.p3s-contact { color:var(--p3s-contact-white); padding-bottom:90px; }
body.page-template-page-contact .p3s-contact { margin-top:calc(-1 * var(--p3s-contact-header-h)); }
body.page-template-page-contact .p3s-contact__hero { padding-top:var(--p3s-contact-header-h); }
body.admin-bar.page-template-page-contact { --p3s-contact-header-h:118px; }
body.page-template-page-contact .site-header { position:relative; z-index:30; background:rgba(8, 19, 47, 0.34); backdrop-filter:blur(6px); border-bottom:1px solid rgba(255, 255, 255, 0.12); }
.p3s-contact__hero { width:100vw; margin-left:calc(50% - 50vw); min-height:clamp(420px, 56vw, 560px); position:relative; background-size:cover; background-position:center; overflow:hidden; }
.p3s-contact__hero::before { position:absolute; inset:0; content:''; background:radial-gradient(circle at 12% 28%, rgba(255, 255, 255, 0.25) 0.6px, transparent 1.4px), radial-gradient(circle at 78% 18%, rgba(255, 255, 255, 0.22) 0.7px, transparent 1.6px), radial-gradient(circle at 62% 66%, rgba(255, 255, 255, 0.2) 0.6px, transparent 1.3px), radial-gradient(1100px 540px at 80% 10%, rgba(233, 98, 221, 0.34), transparent 64%), radial-gradient(900px 520px at 20% 100%, rgba(104, 148, 255, 0.24), transparent 65%); pointer-events:none; }
.p3s-contact__hero-inner { position:absolute; bottom:4vh; left:50%; transform:translateX(-50%); z-index:1; width:min(1180px, calc(100% - 48px)); padding:0 4vw; }
.p3s-contact__kicker { display:inline-block; position:relative; padding-left:18px; font-size:12px; letter-spacing:0.2em; text-transform:uppercase; color:rgba(248, 249, 255, 0.84); }
.p3s-contact__kicker::before { content:''; position:absolute; left:0; top:7px; width:6px; height:6px; border-radius:999px; background:#00d1b2; box-shadow:0 0 0 4px rgba(0, 209, 178, 0.14); }
.p3s-contact__kicker::after { content:''; position:absolute; left:-14vw; top:8px; width:14vw; height:2px; border-radius:999px; background:linear-gradient(90deg, rgba(46, 91, 255, 0) 0%, rgba(46, 91, 255, 0.55) 35%, rgba(0, 209, 178, 0.75) 100%); }
.p3s-contact h1 { margin:2vh 0 0; font-size:clamp(34px, 5.3vw, 66px); line-height:1.05; letter-spacing:-0.02em; max-width:80vw; }
.p3s-contact__lead { margin-top:18px; max-width:52ch; line-height:1.8; color:rgba(248, 249, 255, 0.86); font-size:clamp(15px, 1.2vw, 19px); }
.p3s-contact__hero-cta { margin-top:20px; display:inline-flex; min-height:48px; font-size:20px; }
.p3s-contact__section { position:relative; width:100vw; margin-left:calc(50% - 50vw); padding:clamp(56px, 7vw, 88px) 0; color:var(--p3s-contact-ink); z-index:1; }
.p3s-contact__section::before { content:''; position:absolute; inset:0; z-index:-1; background:radial-gradient(900px 380px at 95% 5%, rgba(206, 164, 255, 0.2), transparent 66%), radial-gradient(700px 350px at 5% 70%, rgba(154, 184, 255, 0.2), transparent 65%), linear-gradient(180deg, rgba(247, 245, 255, 0.62) 0%, rgba(239, 235, 255, 0.62) 100%); }
.p3s-contact__section-head, .p3s-contact__grid, .p3s-contact__notice { width:min(1180px, calc(100% - 48px)); margin-left:auto; margin-right:auto; }
.p3s-contact__section-head h2 { margin:0; font-size:clamp(34px, 4.3vw, 55px); }
.p3s-contact__notice { margin-top:14px; border-radius:10px; padding:12px 14px; font-size:16px; }
.p3s-contact__notice--success { background:rgba(12, 168, 120, 0.12); border:1px solid rgba(12, 168, 120, 0.35); }
.p3s-contact__notice--warn { background:rgba(190, 137, 8, 0.12); border:1px solid rgba(190, 137, 8, 0.35); }
.p3s-contact__notice--error { background:rgba(194, 53, 53, 0.12); border:1px solid rgba(194, 53, 53, 0.35); }
.p3s-contact__grid { margin-top:26px; display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, 420px); gap:20px; align-items:start; }
.p3s-contact__form-card { border:1px solid var(--p3s-contact-border); border-radius:12px; background:linear-gradient(180deg, rgba(249, 249, 255, 0.98), rgba(242, 241, 255, 0.96)); box-shadow:0 20px 42px rgba(77, 53, 151, 0.12); padding:22px; }
.p3s-contact__form-card label { display:block; margin:14px 0 6px; font-size:17px; color:#2e3661; }
.p3s-contact__form-card input[type="text"], .p3s-contact__form-card input[type="email"], .p3s-contact__form-card select, .p3s-contact__form-card textarea { width:100%; min-height:46px; border-radius:9px; border:1px solid rgba(106, 114, 165, 0.35); background:rgba(255, 255, 255, 0.64); padding:10px 12px; font-size:16px; color:#252c54; outline:none; }
.p3s-contact__form-card textarea { min-height:132px; resize:vertical; }
.p3s-contact__form-card input:focus, .p3s-contact__form-card select:focus, .p3s-contact__form-card textarea:focus { border-color:rgba(0, 209, 178, 0.72); box-shadow:0 0 0 3px rgba(0, 209, 178, 0.14); }
.p3s-contact__consent { margin-top:14px; display:grid !important; grid-template-columns:20px 1fr; gap:10px; align-items:start; }
.p3s-contact__consent input[type="checkbox"] { margin-top:3px; }
.p3s-contact__consent span { color:#3f4a76; line-height:1.5; }
.p3s-contact__consent a { color:#5a3ad8; }
.p3s-contact__submit { margin-top:18px; width:100%; min-height:52px; border:0; border-radius:10px; color:#fff; font-size:28px; cursor:pointer; background:linear-gradient(90deg, #4b93ef 0%, #4b57d8 45%, #822ec5 100%); }
.p3s-contact__info-card { border-radius:12px; border:1px solid rgba(248, 249, 255, 0.18); padding:24px; background:radial-gradient(700px 260px at 85% 0%, rgba(255, 255, 255, 0.16), transparent 60%), linear-gradient(112deg, #263f9b 0%, #5f3bab 62%, #8a35a8 100%); box-shadow:0 20px 42px rgba(24, 16, 72, 0.2); color:var(--p3s-contact-white); }
.p3s-contact__info-card h3 { margin:0; font-size:clamp(34px, 2.5vw, 44px); }
.p3s-contact__info-list { list-style:none; margin:14px 0 0; padding:0; display:grid; gap:10px; }
.p3s-contact__info-list li { color:rgba(248, 249, 255, 0.9); font-size:20px; line-height:1.5; }
.p3s-contact__info-list a { color:inherit; text-decoration:none; }
.p3s-contact__social-title { margin:18px 0 0; font-size:16px; letter-spacing:0.08em; text-transform:uppercase; color:rgba(248, 249, 255, 0.78); }
.p3s-contact__socials { margin-top:10px; display:flex; gap:10px; }
.p3s-contact__social { width:38px; height:38px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(248, 249, 255, 0.42); color:rgba(248, 249, 255, 0.92); background:rgba(248, 249, 255, 0.08); text-decoration:none; font-size:18px; }
.p3s-contact__social i { line-height:1; }
.p3s-contact__trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
body.page-template-page-contact { --p3s-contact-header-h:108px; }
body.admin-bar.page-template-page-contact { --p3s-contact-header-h:140px; }
.p3s-contact__hero-inner { top:calc(var(--p3s-contact-header-h) + 20px); bottom:auto; }

/* Media queries : desktop (larges ecrans et interactions souris) */

/* Media queries : tablet (tablettes et ecrans intermediaires) */
@media (max-width:1100px) { :root { --p3s-contact-header-h:116px; }body.admin-bar.page-template-page-contact { --p3s-contact-header-h:146px; } }
@media (max-width:900px) { body.page-template-page-contact { --p3s-contact-header-h:74px; }body.admin-bar.page-template-page-contact { --p3s-contact-header-h:104px; }.p3s-contact__hero-inner, .p3s-contact__section-head, .p3s-contact__grid, .p3s-contact__notice { width:min(1180px, calc(100% - 28px)); }.p3s-contact__grid { grid-template-columns:1fr; } }
@media (max-width:1100px) { body.page-template-page-contact { --p3s-contact-header-h:94px; }body.admin-bar.page-template-page-contact { --p3s-contact-header-h:126px; } }
@media (max-width:1100px) { .p3s-contact__hero { min-height:auto; }.p3s-contact__hero-inner { position:relative; left:auto; top:auto; bottom:auto; transform:none; width:min(1180px, calc(100% - 28px)); margin:0 auto; padding:calc(var(--p3s-contact-header-h) + 20px) 4vw 24px; } }

/* Media queries : mobile (petits ecrans) */
@media (max-width:640px) { body.page-template-page-contact { --p3s-contact-header-h:90px; }body.admin-bar.page-template-page-contact { --p3s-contact-header-h:136px; } }
