/* Serv'o Offres d'emploi — CSS fiche (single). Repris verbatim du cahier §5.3. */

body.offre-emploi-template-default .page-header{display:none!important;}
body.offre-emploi-template-default .site-main,
body.offre-emploi-template-default .page-content{padding-top:0!important;margin-top:0!important;}
.servo-offer{font-size:16px;line-height:1.75;color:#33414f;}
.servo-offer *{box-sizing:border-box;}
.so-hero{position:relative;left:50%;margin-left:-50vw;width:100vw;background:linear-gradient(135deg,#071d3f,#0C326A 60%,#1a5296);color:#fff;padding:72px 20px 64px;text-align:center;overflow:hidden;}
.so-hero::before{content:"";position:absolute;inset:0;background:center/cover no-repeat;opacity:.20;} /* image optionnelle */
.so-hero .so-circle{position:absolute;border-radius:50%;}
.so-hero .c1{width:240px;height:240px;top:-80px;right:-50px;background:rgba(34,203,130,.18);}
.so-hero .c2{width:170px;height:170px;bottom:-70px;left:-40px;background:rgba(255,255,255,.06);}
.so-hero-in{position:relative;max-width:820px;margin:0 auto;z-index:1;}
.so-hero h1{color:#fff;font-size:40px;line-height:1.15;margin:14px 0 10px;font-weight:800;}
.so-hero .so-sub{color:#cfe0f5;font-size:18px;margin:0;}
.so-badges{margin-bottom:6px;}
.so-badges span{display:inline-block;background:rgba(255,255,255,.15);color:#fff;font-size:13px;font-weight:600;padding:5px 13px;border-radius:20px;margin:0 5px 6px;}
.so-badges span.green{background:#22CB82;}
.so-body{max-width:840px;margin:0 auto;padding:50px 20px 10px;}
.so-meta{background:#f5f8fc;border-left:4px solid #22CB82;padding:14px 18px;border-radius:8px;margin:0 0 26px;font-size:15px;}
.so-body h2{color:#0C326A;font-size:24px;margin:32px 0 12px;}
.so-body ul{margin:0 0 16px;padding-left:22px;}
.so-body li{margin-bottom:8px;}
.so-apply{background:#f5f8fc;border:1px solid #e7eef7;border-radius:18px;padding:30px;margin:38px auto 16px;}
.so-apply h2{margin-top:0;}
.so-field{margin-bottom:16px;}
.so-apply label{display:block;font-weight:600;color:#0C326A;margin-bottom:6px;font-size:14px;}
.so-apply input,.so-apply textarea{width:100%;padding:13px 16px;border:1px solid #d8e0ea;border-radius:12px;font-size:15px;font-family:inherit;background:#fff;}
.so-apply textarea{min-height:120px;}
.so-apply input:focus,.so-apply textarea:focus{outline:none;border-color:#22CB82;box-shadow:0 0 0 3px rgba(34,203,130,.15);}
.so-rgpd{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:#5b6470;font-weight:400;margin:6px 0 20px;}
.so-rgpd input{width:auto;}
.so-btn{background:#22CB82;color:#fff;border:none;padding:14px 30px;border-radius:30px;font-size:16px;font-weight:700;cursor:pointer;}
.so-btn:hover{background:#1aa86b;}
@media(max-width:600px){.so-hero h1{font-size:30px;}.so-hero{padding:54px 16px 48px;}}

/* Additions minimales (champ intro) — n'altèrent pas les règles verbatim ci-dessus. */
.so-body .so-intro{margin:0 0 10px;}
.so-body .so-intro p{margin:0 0 14px;}
