/* ===== Page Contact premium ===== */
.lb-contact{--gap:clamp(16px,3vw,32px)}
.lb-contact__hero{position:relative;overflow:hidden;text-align:center;padding:clamp(56px,10vw,120px) 20px clamp(40px,7vw,84px);background:radial-gradient(120% 150% at 12% 0%,rgba(177,18,38,.4),transparent 55%),radial-gradient(120% 130% at 100% 10%,rgba(110,13,37,.5),transparent 60%),linear-gradient(180deg,#140406,#0a0a0a 72%)}
.lb-contact__hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.5}
.lb-contact__eyebrow{display:inline-block;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-hover);border:1px solid rgba(230,57,70,.4);border-radius:999px;padding:6px 15px;margin:0 0 18px}
.lb-contact__title{font-family:var(--font-titre);font-weight:800;font-size:clamp(2.1rem,5.5vw,3.4rem);line-height:1.05;margin:0 0 14px;color:#fff}
.lb-contact__lead{color:var(--texte-attenue);max-width:600px;margin:0 auto;line-height:1.6;font-size:clamp(1rem,2vw,1.12rem)}
.lb-contact__body{display:grid;grid-template-columns:1.7fr 1fr;gap:var(--gap);padding:clamp(32px,6vw,64px) 20px;align-items:start}
/* tabs */
.lb-contact__tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 var(--gap)}
.lb-contact__tab{display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;padding:16px 16px;border:1px solid var(--bordure);border-radius:var(--radius);background:var(--surface);color:var(--texte);cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.lb-contact__tab:hover{border-color:var(--accent);transform:translateY(-2px)}
.lb-contact__tab.is-active{border-color:var(--accent);background:linear-gradient(150deg,rgba(177,18,38,.18),var(--surface-elevee))}
.lb-contact__tab-ic{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--surface-elevee);border:1px solid var(--bordure);color:var(--accent-hover)}
.lb-contact__tab.is-active .lb-contact__tab-ic{background:var(--accent);border-color:var(--accent);color:#fff}
.lb-contact__tab-ic svg{width:22px;height:22px}
.lb-contact__tab-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.lb-contact__tab-tx b{font-family:var(--font-titre);font-size:1.02rem}
.lb-contact__tab-tx em{font-style:normal;font-size:.78rem;color:var(--texte-attenue);line-height:1.35}
/* forms */
.lb-contact__forms{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--radius);padding:clamp(20px,3vw,32px)}
.lb-cform{display:grid;gap:16px}
.lb-cform[hidden]{display:none!important}
.lb-cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lb-cf-row:empty{display:none}
.lb-cf{display:flex;flex-direction:column;gap:6px;min-width:0}
.lb-cf>span{font-size:.82rem;font-weight:600;color:var(--texte)}
.lb-cf>span em{font-style:normal;font-weight:400;color:var(--texte-attenue)}
.lb-cf input,.lb-cf textarea,.lb-cf select{width:100%;box-sizing:border-box;background:var(--noir-900,#0f0f10);border:1px solid var(--bordure);border-radius:var(--radius);color:var(--texte);padding:11px 13px;font:inherit;transition:border-color .2s}
.lb-cf input:focus,.lb-cf textarea:focus,.lb-cf select:focus{outline:none;border-color:var(--accent)}
.lb-cf textarea{resize:vertical;min-height:120px}
.lb-cf-select{position:relative;display:block}
.lb-cf-select::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid var(--texte-attenue);border-bottom:2px solid var(--texte-attenue);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.lb-cf-select select{appearance:none;-webkit-appearance:none;padding-right:34px;cursor:pointer}
.lb-cf-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.lb-cf-check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;color:var(--texte-attenue);line-height:1.45;cursor:pointer}
.lb-cf-check input{margin-top:3px;flex:0 0 auto;width:16px;height:16px;accent-color:var(--accent)}
.lb-cf-check a{color:var(--accent-hover);text-decoration:underline}
.lb-cf-check em{font-style:normal;color:var(--texte-faible,#8a8a8a)}
.lb-cf-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.lb-cf-foot .lb-btn{box-sizing:border-box}
.lb-contact__msg{margin:0;min-height:1.2em;font-size:.88rem}
.lb-contact__msg.is-ok{color:#8be3ad}
.lb-contact__msg.is-err{color:#f0b8c0}
.lb-cform.is-sent{position:relative}
/* aside */
.lb-contact__aside{display:grid;gap:var(--gap)}
.lb-contact__card{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--radius);padding:22px}
.lb-contact__card--mail{background:linear-gradient(150deg,rgba(177,18,38,.16),var(--surface-elevee));border-color:rgba(230,57,70,.3)}
.lb-contact__cic{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--surface-elevee);border:1px solid var(--bordure);color:var(--accent-hover);margin:0 0 12px}
.lb-contact__cic svg{width:24px;height:24px}
.lb-contact__card h2{font-family:var(--font-titre);font-size:1.15rem;margin:0 0 8px;color:#fff}
.lb-contact__card p{color:var(--texte-attenue);font-size:.9rem;line-height:1.55;margin:0}
.lb-contact__card a{color:var(--accent-hover)}
.lb-contact__mail{display:inline-block;margin-top:8px;font-family:var(--font-titre);font-size:1.12rem;color:#fff!important;text-decoration:none;border-bottom:1px solid var(--accent)}
.lb-contact__mail:hover{color:var(--accent-hover)!important}
@media(max-width:900px){ .lb-contact__body{grid-template-columns:1fr} }
@media(max-width:620px){ .lb-contact__tabs{grid-template-columns:1fr} .lb-cf-row{grid-template-columns:1fr} .lb-contact__tab{flex-direction:row;align-items:center} }
/* --- Variante blocs Gutenberg --- */
.lb-contact--embed{display:block}
.lb-contact__wrap{--gap:clamp(16px,3vw,32px);padding:clamp(32px,6vw,64px) 20px}
.lb-contact__cols{gap:var(--gap)!important}
.lb-contact__cols .lb-contact__card + .lb-contact__card{margin-top:var(--gap)}
.lb-contact__mail-p{margin:8px 0 0}
.lb-contact__mail-p a{font-family:var(--font-titre);font-size:1.12rem;color:#fff!important;text-decoration:none;border-bottom:1px solid var(--accent)}
.lb-contact__mail-p a:hover{color:var(--accent-hover)!important}
@media(max-width:781px){ .lb-contact__cols{flex-wrap:wrap} }