/* loclightcontact v1.1.0 — page /contactez-nous au design LOCLIGHT (08/10/2026)
   Noir, blanc, gris, jaune #ffc600 ; titres Avenir Bold Cn, texte Montserrat ; filets 1 px. */
body#contact #wrapper{padding-top:0}
.ll-contact{color:#1a1a1a;font-size:15px;padding-bottom:56px}

/* Scène */
.ll-ct-scene{position:relative;overflow:hidden;background:#141414;color:#fff;text-align:center;padding:56px 20px 64px;margin:0 calc(50% - 50vw) 0;border-top:1px solid #222}
.ll-ct-scene::before{content:"";position:absolute;top:-40%;left:50%;width:520px;height:180%;margin-left:-260px;background:linear-gradient(180deg,rgba(255,198,0,.2),rgba(255,198,0,0) 75%);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);transform-origin:50% 0;animation:ll-ct-b 9s ease-in-out infinite;pointer-events:none}
@keyframes ll-ct-b{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@media (prefers-reduced-motion:reduce){.ll-ct-scene::before{animation:none}}
.ll-ct-scene > div{position:relative;z-index:1;max-width:760px;margin:0 auto}
.ll-ct-kick{font-size:12px !important;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffc600 !important;margin:0 0 14px !important}
.ll-ct-titre{font-family:'AVENIRNEXTLTPRO-BOLDCN','Avenir Next Condensed','Arial Narrow',sans-serif !important;font-weight:700 !important;font-size:58px !important;line-height:1 !important;text-transform:none !important;color:#fff !important;margin:0 0 16px !important;padding:0 !important}
.ll-ct-sous{font-size:16px !important;line-height:1.6 !important;color:#cfcfcf !important;max-width:560px;margin:0 auto !important}

/* Grille : formulaire + colonne d'infos */
.ll-ct-grille{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;max-width:1180px;margin:-28px auto 0;position:relative;z-index:2;align-items:start}
.ll-contact__form,.ll-contact__alert--success{background:#fff;border:1px solid #e3e3e3;border-radius:18px;padding:30px;box-shadow:0 18px 40px rgba(16,16,20,.06)}
.ll-contact__head{margin-bottom:20px}
.ll-contact__title{font-family:'AVENIRNEXTLTPRO-BOLDCN','Avenir Next Condensed','Arial Narrow',sans-serif !important;font-size:30px !important;font-weight:700 !important;margin:0 0 4px !important;line-height:1.1 !important;text-transform:none !important;color:#1a1a1a !important}
.ll-contact__lead{margin:0;color:#6b6b6b;font-size:14px}

/* Sujets */
.ll-contact__why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}
.ll-contact__why-item{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border:1px solid #e3e3e3;border-radius:14px;cursor:pointer;background:#fff;transition:border-color .15s,background .15s;margin:0;font-weight:400}
.ll-contact__why-item:hover{border-color:#1a1a1a}
.ll-contact__why-item.is-on{border-color:#1a1a1a;background:#1a1a1a;color:#fff}
.ll-contact__why-item input{position:absolute;opacity:0;width:0;height:0}
.ll-contact__why-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#f2f2f0}
.ll-contact__why-icon svg{width:20px;height:20px;color:#1a1a1a}
.ll-contact__why-item.is-on .ll-contact__why-icon{background:#ffc600}
.ll-contact__why-label{font-size:14px;line-height:1.25;font-weight:700}

/* Champs */
.ll-contact__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}
.ll-contact__field{display:flex;flex-direction:column;gap:6px;margin-bottom:0}
.ll-contact__field label,.ll-contact__label{font-size:13px;color:#1a1a1a;font-weight:700;margin:0}
.ll-contact__field label small{color:#8a8a8a;font-weight:400}
.ll-contact__field input[type=text],.ll-contact__field input[type=email],.ll-contact__field input[type=tel],.ll-contact__field input[type=date],.ll-contact__field select,.ll-contact__field textarea{width:100%;height:48px;padding:10px 14px;border:1px solid #dcdcdc;border-radius:12px;background:#fff;font:inherit;font-size:15px;color:#1a1a1a;box-shadow:none}
.ll-contact__field textarea{height:auto;min-height:140px;resize:vertical}
.ll-contact__field input:focus,.ll-contact__field select:focus,.ll-contact__field textarea:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 3px rgba(255,198,0,.45)}
.ll-contact__field--msg{margin-top:6px}

.ll-contact__sec{border-top:1px solid #ececec;padding-top:16px;margin:4px 0 16px}
.ll-contact__sec[hidden]{display:none}
.ll-contact__hint{font-size:13px;color:#6b6b6b;margin:0 0 12px}
.ll-contact__hint a{color:#1a1a1a;text-decoration:underline}
.ll-contact__checks{display:flex;flex-wrap:wrap;gap:8px}
.ll-contact__checks label{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:700;font-size:13.5px;cursor:pointer;border:1px solid #dcdcdc;border-radius:999px;padding:8px 14px}
.ll-contact__checks label:has(input:checked){border-color:#1a1a1a;background:#fff8d6}
.ll-contact__note{display:flex;gap:12px;align-items:flex-start;background:#f5f5f3;color:#1a1a1a;border-left:3px solid #ffc600;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;margin-bottom:14px}
.ll-contact__note svg{width:20px;height:20px;flex:none;margin-top:1px}
.ll-contact__note a{color:#1a1a1a;font-weight:700;text-decoration:underline}

.ll-contact__foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid #ececec}
.ll-contact__gdpr{display:flex;align-items:center;gap:10px;font-size:13px;color:#4a4a4a;margin:0;font-weight:400;cursor:pointer}
.ll-contact__gdpr input{width:18px;height:18px;accent-color:#1a1a1a}
.ll-contact__ts{flex-basis:100%}
.ll-contact__send{background:#ffc600;color:#1a1a1a;border:0;border-radius:12px;height:50px;padding:0 32px;font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s}
.ll-contact__send:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(255,198,0,.45)}

.ll-contact__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.ll-contact__alert{border-radius:14px;padding:14px 16px;margin:0 0 16px}
.ll-contact__alert ul{margin:0;padding-left:18px}
.ll-contact__alert--error{background:#fff;border:1px solid #1a1a1a;border-left:3px solid #ffc600;color:#1a1a1a}
.ll-contact__alert--success{color:#1a1a1a;font-size:17px;font-weight:700;text-align:center;padding:40px 30px}
.ll-contact__alert--success ul{list-style:none;padding:0}

/* Colonne d'infos */
.ll-ct-cote{display:flex;flex-direction:column;gap:12px}
.ll-ct-carte{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #e3e3e3;border-radius:18px;padding:20px;text-decoration:none !important;color:#1a1a1a !important;transition:border-color .15s}
a.ll-ct-carte:hover{border-color:#1a1a1a}
.ll-ct-carte--noire{background:#141414;border-color:#141414;color:#fff !important}
a.ll-ct-carte--noire:hover{border-color:#ffc600}
.ll-ct-ic{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#f2f2f0;margin-bottom:8px}
.ll-ct-carte--noire .ll-ct-ic{background:#ffc600}
.ll-ct-ic svg{width:20px;height:20px;fill:#1a1a1a}
.ll-ct-t{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}
.ll-ct-carte--noire .ll-ct-t{color:#ffc600}
.ll-ct-gros{font-family:'AVENIRNEXTLTPRO-BOLD','Avenir Next',sans-serif;font-size:24px;font-weight:700;line-height:1.2}
.ll-ct-p{font-size:13.5px;line-height:1.5;color:inherit;opacity:.8}
.ll-ct-lien{font-size:13.5px;font-weight:700;margin-top:6px;text-decoration:underline;text-underline-offset:3px}
.ll-ct-carte--liens a{font-size:14px;font-weight:700;color:#1a1a1a !important;padding:8px 0;border-top:1px solid #ececec;text-decoration:none !important}
.ll-ct-carte--liens a:hover{text-decoration:underline !important}
.ll-ct-carte--liens .ll-ct-t{margin-bottom:6px}

@media (max-width:991px){
  .ll-ct-grille{grid-template-columns:minmax(0,1fr);margin-top:-24px}
  .ll-ct-cote{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .ll-ct-titre{font-size:40px !important}
  .ll-ct-scene{padding:44px 16px 52px}
  .ll-contact__form{padding:20px;border-radius:16px}
  .ll-contact__why{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ll-contact__foot{flex-direction:column;align-items:stretch}
  .ll-contact__send{width:100%}
  .ll-ct-cote{grid-template-columns:minmax(0,1fr)}
}
/* le thème aligne les libellés à droite : on les remet à gauche */
.ll-contact .ll-contact__field label,.ll-contact .ll-contact__label{text-align:left !important;justify-content:flex-start}
.ll-contact .ll-contact__field label{display:block}

/* 08/10/2026 v2 — sujets en pastilles horizontales : icône et texte sur une ligne, alignés à gauche */
.ll-contact .ll-contact__why{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.ll-contact .ll-contact__why-item{flex:1 1 0;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;height:52px;padding:0 16px;border-radius:999px;text-align:left !important}
.ll-contact .ll-contact__why-icon{width:auto;height:auto;background:none !important;border-radius:0;flex:none}
.ll-contact .ll-contact__why-icon svg{width:19px;height:19px;stroke-width:1.6;color:#1a1a1a}
.ll-contact .ll-contact__why-item.is-on .ll-contact__why-icon svg{color:#ffc600}
.ll-contact .ll-contact__why-label{font-size:14px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left !important}
/* v3 : la colonne d'infos passe sous le formulaire tant que l'écran est trop étroit pour les deux */
@media (max-width:1199px){
  .ll-ct-grille{grid-template-columns:minmax(0,1fr);max-width:860px}
  .ll-ct-cote{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ll-contact .ll-contact__why{display:flex}
}
@media (max-width:640px){
  .ll-contact .ll-contact__why{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ll-contact .ll-contact__why-item{padding:0 12px;gap:8px}
  .ll-contact .ll-contact__why-label{white-space:normal;font-size:13px}
  .ll-ct-cote{grid-template-columns:minmax(0,1fr)}
}
/* v4 : la page du thème est étroite (~860 px) : une seule colonne, les cartes d'infos en grille sous le formulaire */
.ll-ct-grille{grid-template-columns:minmax(0,1fr) !important;max-width:860px}
.ll-ct-cote{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-contact .ll-contact__why{display:flex}
@media (max-width:640px){
  .ll-contact .ll-contact__why{display:grid}
  .ll-ct-cote{grid-template-columns:minmax(0,1fr)}
}
/* v5 : pastilles à la largeur de leur texte ; carte de liens sur toute la largeur */
.ll-contact .ll-contact__why-item{flex:1 1 auto}
.ll-contact .ll-contact__why-label{overflow:visible;text-overflow:clip}
.ll-ct-carte--liens{grid-column:1 / -1;flex-direction:row !important;flex-wrap:wrap;align-items:center;gap:6px 22px !important}
.ll-ct-carte--liens .ll-ct-t{flex-basis:100%;margin-bottom:2px}
.ll-ct-carte--liens a{border-top:0 !important;padding:2px 0 !important;text-decoration:underline !important;text-underline-offset:3px}
/* v6 mobile : tuiles 2 × 2 à coins arrondis (plus de pilule sur deux lignes) */
@media (max-width:640px){
  .ll-contact .ll-contact__why-item{height:auto;min-height:52px;padding:10px 12px;border-radius:14px}
  .ll-contact .ll-contact__why-label{font-size:13px;line-height:1.25}
}
/* v7 : pas de bandeau gris « Contactez-nous » ni de fil d'Ariane : la scène noire suffit */
body#contact .category-cover-desc{display:none !important}
/* v8 (26/10/2026) — demande de devis : particulier / pro, structure obligatoire, adresses, dates au calendrier, compte */
.ll-contact .ll-dv-haut{border-top:0;padding-top:0;margin-top:0}
.ll-contact .ll-dv-corps{border-top:0;padding-top:0;margin-top:0}
.ll-contact .ll-dv-titre{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6b6b6b;margin:22px 0 12px}
.ll-contact .ll-dv-haut .ll-contact__note + .ll-dv-titre{margin-top:6px}
.ll-contact .ll-dv-qui{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 6px}
.ll-contact .ll-dv-qui .ll-contact__why-item{height:56px;min-width:0;border-radius:14px;flex-direction:row;align-items:center;padding:0 16px;gap:12px}
.ll-contact .ll-dv-qui .ll-contact__why-icon{width:34px;height:34px;border-radius:50%;background:#fff8d6 !important}
.ll-contact .ll-dv-qui .ll-contact__why-label{white-space:normal}
.ll-contact .ll-dv-qui .is-on .ll-contact__why-icon{background:#ffc600 !important}
.ll-contact .ll-dv-qui .is-on .ll-contact__why-icon svg{color:#141414 !important}
.ll-contact .ll-dv-qui.is-err .ll-contact__why-item{border-color:#141414}
.ll-contact .ll-dv-carte{border:1px solid #e3e3e3;border-radius:14px;background:#fafaf8;padding:16px 16px 4px;margin:4px 0 4px}
.ll-contact .ll-dv-carte[hidden],.ll-contact .ll-dv-structure[hidden],.ll-contact .ll-dv-livr[hidden],.ll-contact .ll-dv-livr-champs[hidden],.ll-contact [data-pour][hidden],.ll-contact .ll-dv-cal[hidden]{display:none}
.ll-contact .ll-dv-carte .ll-dv-titre{margin-top:0}
.ll-contact .ll-dv-carte > .ll-contact__label{display:block;margin-bottom:8px}
.ll-contact .ll-dv-types{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.ll-contact .ll-dv-types label{position:relative;display:inline-flex;align-items:center;margin:0;font-weight:700;font-size:13.5px;cursor:pointer;border:1px solid #dcdcdc;border-radius:999px;padding:9px 16px;background:#fff;color:#1a1a1a}
.ll-contact .ll-dv-types label input{position:absolute;opacity:0;width:0;height:0}
.ll-contact .ll-dv-types label.is-on{border-color:#141414;background:#141414;color:#fff}
.ll-contact .ll-dv-types.is-err label{border-color:#141414}
.ll-contact .ll-dv-aide{font-size:12.5px;color:#6b6b6b;margin:0;line-height:1.45}
.ll-contact .ll-dv-aide[hidden]{display:none}
.ll-contact .ll-dv-aide-rna{margin:-6px 0 14px}
.ll-contact .ll-dv-ou{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#8a8a8a;padding-top:22px}
.ll-contact .ll-contact__row.ll-dv-ids{grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-contact .ll-contact__row.ll-dv-ids.est-asso{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}
.ll-contact .ll-contact__row.ll-dv-ids.est-collec{grid-template-columns:minmax(0,1fr)}
.ll-contact .ll-contact__row.ll-dv-deux,.ll-contact .ll-contact__row.ll-dv-deux-large{grid-template-columns:repeat(2,minmax(0,1fr))}
.ll-contact .ll-contact__row.ll-dv-cp{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.ll-contact .ll-dv-periode-champ{margin-bottom:14px}
.ll-contact .ll-dv-dates{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;width:100%;min-height:48px;padding:10px 14px;border:1px solid #dcdcdc;border-radius:12px;background:#fff;font:inherit;font-size:15px;font-weight:700;color:#141414;text-align:left;cursor:pointer}
.ll-contact .ll-dv-dates:hover,.ll-contact .ll-dv-dates:focus{border-color:#1a1a1a;outline:none}
.ll-contact .ll-dv-dates:focus{box-shadow:0 0 0 3px rgba(255,198,0,.45)}
.ll-contact .ll-dv-dates.vide{font-weight:400;color:#8a8a8a}
.ll-contact .ll-dv-dates svg{color:#141414;flex:none}
.ll-contact .ll-dv-dates .fl{color:#8a8a8a;font-weight:400}
.ll-contact .ll-dv-dates.is-err{border-color:#141414;box-shadow:0 0 0 3px rgba(255,198,0,.45)}
.ll-contact .ll-dv-livr{border-left:2px solid #ffc600;padding:2px 0 2px 14px;margin:0 0 14px}
.ll-contact .ll-dv-livr .ll-dv-titre{margin-top:4px}
.ll-contact .ll-dv-case{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#1a1a1a;margin:4px 0 12px;font-weight:700;cursor:pointer}
.ll-contact .ll-dv-case input{width:18px;height:18px;accent-color:#141414;flex:none;margin-top:1px}
.ll-contact .ll-dv-case small{display:block;font-weight:400;color:#6b6b6b;font-size:12.5px;margin-top:3px;line-height:1.45}
.ll-contact .ll-dv-case,.ll-contact .ll-dv-case span,.ll-contact .ll-dv-case small,.ll-contact .ll-contact__gdpr,.ll-contact .ll-contact__gdpr span{text-align:left !important;justify-content:flex-start}
.ll-contact .ll-dv-besoins{margin-bottom:18px}
.ll-contact .ll-dv-compte-sec{border-top:0;padding-top:0;margin:18px 0 0}
.ll-contact .ll-dv-compte{border:1px solid #e3e3e3;border-radius:12px;padding:14px;background:#fff}
.ll-contact .ll-dv-compte .ll-dv-case{margin:0}
.ll-contact .ll-dv-connecte{font-size:13.5px;color:#4a4a4a;margin:0;padding:12px 14px;background:#f5f5f3;border-radius:10px}
@media (max-width:640px){
  .ll-contact .ll-contact__row.ll-dv-deux-large,.ll-contact .ll-contact__row.ll-dv-ids,.ll-contact .ll-contact__row.ll-dv-ids.est-asso{grid-template-columns:minmax(0,1fr)}
  .ll-contact .ll-dv-ou{padding:0;justify-content:flex-start}
  .ll-contact .ll-dv-dates{font-size:14px}
}
/* calendrier (mêmes règles que le calendrier du panier, graisses 700 max) */
.ll-contact .ll-dv-cal{margin-top:8px;max-width:360px;border:1px solid #e3e3e3;border-radius:14px;padding:12px;background:#fff;box-shadow:0 10px 24px rgba(16,16,20,.06)}
.ll-contact .ll-mc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ll-contact .ll-mc-head button{width:32px;height:32px;border:0;border-radius:8px;background:#f4f4f2;color:#1a1a1a;font-weight:700;font-size:18px;line-height:1;cursor:pointer}
.ll-contact .ll-mc-titre{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#1a1a1a}
.ll-contact .ll-mc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.ll-contact .ll-mc-dow{font-size:10px;font-weight:700;color:#9a9a9a;text-align:center;padding:2px 0}
.ll-contact .ll-mc-j{height:36px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#1a1a1a;border-radius:8px;cursor:pointer}
.ll-contact .ll-mc-j:hover{background:rgba(255,198,0,.25)}
.ll-contact .ll-mc-j.off{visibility:hidden}
.ll-contact .ll-mc-j.ferme{color:#b5b5b5;cursor:not-allowed;background:repeating-linear-gradient(45deg,#f6f6f4,#f6f6f4 4px,#ececea 4px,#ececea 8px)}
.ll-contact .ll-mc-j.hors{color:#d0d0d0;cursor:not-allowed}
.ll-contact .ll-mc-j.hors:hover,.ll-contact .ll-mc-j.ferme:hover{background-color:transparent}
.ll-contact .ll-mc-j.deb,.ll-contact .ll-mc-j.finj{background:#ffc600 !important;color:#1a1a1a}
.ll-contact .ll-mc-j.entre{background:rgba(255,198,0,.22)}
.ll-contact .ll-mc-aide{font-size:12px;color:#6b6b6b;margin-top:8px;text-align:center;min-height:15px}
