/* Page Contact : à gauche la présentation et les coordonnées, à droite la « fiche d'atelier » (formulaire). */
.ct{background:var(--fond)}
.ct-in{max-width:1344px;margin:0 auto;padding:clamp(24px,4vw,64px) var(--g) clamp(64px,8vw,104px);box-sizing:border-box;display:grid;gap:clamp(36px,5vw,72px)}
@media (min-width:960px){.ct-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}.ct-intro{position:sticky;top:24px}}

/* Présentation */
.ct-intro h1{margin:12px 0 18px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(40px,5vw,64px);line-height:1.04;color:var(--noyer)}
.ct-intro h1 em{display:block;color:#3F5A3A}
.ct-texte{margin:0;max-width:460px;font-size:clamp(16px,1.3vw,17px);line-height:1.7;color:var(--texte)}
.ct-direct{margin-top:clamp(28px,3vw,40px);padding-top:22px;border-top:1px solid var(--or);max-width:460px}
.ct-direct h2{margin:0 0 10px;font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:500}
.ct-direct ul{margin:0;padding:0;list-style:none}
.ct-direct li{border-bottom:1px solid #E3D6BF}
.ct-direct a,.ct-atelier{display:flex;align-items:center;gap:14px;min-height:52px;padding:6px 0;font-size:16px;color:var(--nuit)}
.ct-direct a:hover{color:var(--accent)}
.ct-direct a span{overflow-wrap:anywhere}
.ct-direct .ic{color:var(--accent);flex:none}
.ct-atelier{align-items:flex-start;padding:14px 0}
.ct-atelier span{display:flex;flex-direction:column;font-size:14.5px;color:var(--texte2)}
.ct-atelier strong{font-weight:500;font-size:16px;color:var(--nuit)}

/* Fiche d'atelier */
.ct-fiche{position:relative;margin:0;padding:clamp(22px,3.4vw,44px);background:#FFFDF8;border:1px solid #E3D6BF;border-radius:2px;box-shadow:0 24px 50px -30px rgba(42,33,25,.45),0 2px 0 #EADFCB}
.ct-fiche::before{content:"";position:absolute;inset:10px;border:1px dashed #E8DAC2;border-radius:1px;pointer-events:none}
.ct-fiche>*{position:relative}
.ct-fiche-tete{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:0 0 14px;margin:0 clamp(70px,12vw,110px) 22px 0;border-bottom:2px solid var(--noyer);font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(20px,2vw,24px);font-weight:600;color:var(--noyer)}
.ct-fiche-tete span+span{font-style:italic;font-weight:500;color:var(--texte2)}

/* Tampon encré, comme un cachet d'atelier */
.ct-tampon{position:absolute!important;top:clamp(12px,2vw,22px);right:clamp(12px,2vw,24px);width:clamp(78px,11vw,96px);aspect-ratio:1;border-radius:50%;border:2px solid var(--noyer);box-shadow:inset 0 0 0 4px #FFFDF8,inset 0 0 0 5px var(--noyer);display:flex;align-items:center;justify-content:center;text-align:center;transform:rotate(-12deg);opacity:.82;pointer-events:none}
.ct-tampon span{padding:0 12px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(12.5px,1.4vw,14.5px);line-height:1.1;color:var(--noyer)}

/* Sujet en étiquettes */
.ct-sujets{margin:0 0 24px;padding:0;border:0;min-width:0}
.ct-sujets legend,.ct-champ label{display:block;margin-bottom:10px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--texte2);font-weight:500}
.ct-sujets-l{display:flex;flex-wrap:wrap;gap:8px}
.ct-sujet{position:relative}
.ct-sujet input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ct-sujet span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid #D9C7A8;border-radius:999px;background:#fff;font-size:14.5px;color:var(--noyer);transition:background .2s,color .2s,border-color .2s}
.ct-sujet .ic{width:17px;height:17px;color:var(--accent)}
.ct-sujet input:checked+span{background:var(--noyer);border-color:var(--noyer);color:#fff}
.ct-sujet input:checked+span .ic{color:var(--sable)}
.ct-sujet input:focus-visible+span{outline:2px solid var(--brun);outline-offset:2px}

/* Champs soulignés, comme des lignes à remplir */
.ct-ligne{display:grid;gap:0 28px}
@media (min-width:640px){.ct-ligne{grid-template-columns:1fr 1fr}}
.ct-champ{margin-bottom:22px;min-width:0}
.ct-champ label small{margin-left:6px;font-size:12px;letter-spacing:.02em;text-transform:none;color:var(--texte2);font-weight:400}
.ct-champ input,.ct-champ textarea{display:block;width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #C9B89C;border-radius:0;background:transparent;padding:8px 0 10px;font:inherit;font-size:17px;line-height:1.5;color:var(--nuit);transition:border-color .2s,box-shadow .2s}
.ct-champ textarea{resize:vertical;min-height:170px;padding:8px 2px;line-height:34px;background-image:repeating-linear-gradient(transparent 0 33px,#EADFCB 33px 34px);background-attachment:local;border:0;border-bottom:1px solid #C9B89C}
.ct-champ textarea::placeholder{color:#8C7B69;line-height:34px}
.ct-champ input:focus,.ct-champ textarea:focus{outline:none;border-bottom-color:var(--brun);box-shadow:0 1px 0 var(--brun)}
.ct-champ input:focus-visible,.ct-champ textarea:focus-visible{outline:2px solid var(--brun);outline-offset:4px}
.ct-champ [aria-invalid=true]{border-bottom-color:#B5524A}
.ct-err{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:13.5px;color:#8A3A32}
.ct-err .ic,.ct-alerte .ic{width:16px;height:16px;flex:none}
.ct-alerte{display:flex;gap:10px;align-items:flex-start;margin:0 0 20px;padding:12px 14px;background:#F1DDD8;color:#8A3A32;border-radius:2px;font-size:14.5px;line-height:1.45}

/* Champ piège pour les robots : hors de l'écran (pas display:none, que certains robots repèrent) */
.ct-piege{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}

.ct-rgpd{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;font-size:13.5px;line-height:1.5;color:var(--texte2)}
.ct-rgpd .ic{width:18px;height:18px;flex:none;color:var(--accent);margin-top:1px}
.ct-rgpd a{color:var(--noyer);text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px}
.ct-fiche .cta{font-size:14px;letter-spacing:.12em}
@media (max-width:400px){.ct-fiche .cta{font-size:13px;letter-spacing:.06em;gap:8px}}

/* Message envoyé */
.ct-merci{text-align:center;padding-top:clamp(48px,6vw,72px);padding-bottom:clamp(48px,6vw,72px)}
.ct-merci>.ic{width:44px;height:44px;color:#3E5A2E}
.ct-merci h2{margin:16px 0 10px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(28px,3vw,38px);color:var(--noyer)}
.ct-merci p{margin:0 0 28px;color:var(--texte)}
