.et-db #et-boc .et-l .et_pb_bg_layout_light.et_pb_module.et_pb_button{color:#2ea3f2}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button{color:inherit}.et-db #et-boc .et-l .et_pb_button{display:inline-block}.et-db #et-boc .et-l .et_pb_module.et_pb_button:not(.et_block_module){max-width:-moz-max-content;max-width:max-content}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_left{text-align:left}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_right{text-align:right}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_center{text-align:center}@media (max-width:980px){.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_tablet_left{text-align:left}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_tablet_right{text-align:right}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_tablet_center{text-align:center}}@media (max-width:767px){.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_phone_left{text-align:left}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_phone_right{text-align:right}.et-db #et-boc .et-l .et_pb_button_module_wrapper.et_pb_button_alignment_phone_center{text-align:center}}
.et-db #et-boc .et-l .et_pb_button[data-icon]:not([data-icon=""]):after{content:attr(data-icon)}@media (max-width:980px){.et-db #et-boc .et-l .et_pb_button[data-icon-tablet]:not([data-icon-tablet=""]):after{content:attr(data-icon-tablet)}}@media (max-width:767px){.et-db #et-boc .et-l .et_pb_button[data-icon-phone]:not([data-icon-phone=""]):after{content:attr(data-icon-phone)}}
.et-db #et-boc .et-l .et_pb_code_inner{position:relative}.camp-weekly{ border:1px solid #e5e5e5; border-radius:12px; padding:16px; background:#fff; position:relative; }
.camp-weekly__header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; }
.camp-weekly__header h3{ margin:0; font-size:1.1rem; }
.camp-btn, .camp-btn-primary{ border:none; border-radius:10px; padding:8px 12px; cursor:pointer; }
.camp-btn{ background:#f0f0f0; }
.camp-btn-primary{ background:#434d32; color:#fff; } .camp-weekly__grid{ display:grid; grid-template-columns:repeat(7,minmax(120px,1fr)); gap:8px; overflow-x:auto; padding-bottom:6px; }
.camp-daycell{ border:1px solid #eee; border-radius:10px; padding:8px; background:#fafafa; min-width:120px; }
.camp-daycell.is-weekend{ background:#f3f3f3; }
.camp-daycell h5{ margin:0 0 6px; font-size:13px; font-weight:600; } .camp-slot{ display:flex; align-items:center; justify-content:center; padding:8px; border-radius:8px; cursor:pointer; border:1px dashed #ddd; margin-bottom:6px; user-select:none; }
.camp-slot.selected{ border:1px solid #434d32; background:#f3f5ef; font-weight:600; }
.camp-slot.disabled{ cursor:not-allowed; opacity:1; }
.camp-slot.disabled.weekend{ opacity:.45; background:#f2f2f2; border-color:#eaeaea; color:#9a9a9a; }
.camp-slot.disabled.unavailable{ background:#fde7e7; border-color:#e7b4b4; color:#a33; }
.camp-slot.disabled.past{ background:#f6f6f6; border-color:#eee; color:#aaa; } .camp-weekly__summary{ margin-top:16px; border-top:1px solid #eee; padding-top:12px; }
.camp-daycell__empty{display:block;padding:10px 4px;color:#777;font-size:.88rem;text-align:center;}
.camp-summary-list{ list-style:none; padding:0; margin:8px 0; }
.camp-summary-list li{ font-size:14px; margin-bottom:4px; }
.camp-week-error{ margin-top:8px; padding:8px 10px; background:#fde7e7; border:1px solid #e7b4b4; color:#a33; border-radius:8px; font-size:14px; } #camp-validate.is-loading{ opacity:.7; pointer-events:none; } #camp-weekly-scheduler{ scroll-margin-top:80px; } @media (max-width:980px){ .camp-weekly{ padding:12px; } }
.camp-weekly__header .camp-btn[disabled]{ opacity:.4; cursor:not-allowed; }
.camp-btn {
background: #434D32;
color: white;
font-weight: 500;
} .camp-quantity-box{
margin:12px 0;
padding:12px;
border:1px solid #e8e2d8;
border-radius:10px;
background:#faf9f6;
}
.camp-quantity-box label{
display:block;
font-weight:600;
margin-bottom:6px;
}
.camp-quantity-box input{
width:110px;
max-width:100%;
padding:8px 10px;
border:1px solid #d8d0c4;
border-radius:8px;
}
.camp-quantity-help{
display:block;
margin-top:6px;
color:#666;
} .camp-weekly{
width:100%;
max-width:100%;
box-sizing:border-box;
overflow:hidden;
}
.camp-weekly__header{
display:flex !important;
align-items:center !important;
justify-content:space-between !important;
gap:12px;
}
.camp-weekly__grid{
display:grid !important;
grid-template-columns:repeat(7, minmax(120px, 1fr)) !important;
gap:8px !important;
width:100%;
max-width:100%;
overflow-x:auto;
overflow-y:visible;
-webkit-overflow-scrolling:touch;
padding-bottom:8px;
}
.camp-daycell{
min-width:120px;
box-sizing:border-box;
}
.camp-slot{
min-height:42px;
text-align:center;
white-space:normal;
}
@media (max-width:1280px){
.camp-weekly__grid{
grid-template-columns:repeat(7, minmax(128px, 1fr)) !important;
}
.camp-daycell{
min-width:128px;
}
}
@media (max-width:980px){
.camp-weekly{
padding:12px;
}
.camp-weekly__grid{
grid-template-columns:repeat(7, minmax(135px, 1fr)) !important;
}
.camp-daycell{
min-width:135px;
}
} #camp-weekly-scheduler.camp-weekly{
overflow-x:hidden !important;
}
#camp-weekly-scheduler .camp-weekly__grid,
#camp-week-grid.camp-weekly__grid{
display:flex !important;
flex-direction:row !important;
flex-wrap:nowrap !important;
align-items:stretch !important;
justify-content:flex-start !important;
gap:8px !important;
width:100% !important;
max-width:100% !important;
overflow-x:auto !important;
overflow-y:visible !important;
-webkit-overflow-scrolling:touch !important;
padding-bottom:8px !important;
}
#camp-weekly-scheduler .camp-weekly__grid > .camp-daycell,
#camp-week-grid.camp-weekly__grid > .camp-daycell{
display:block !important;
flex:0 0 calc((100% - 48px) / 7) !important;
width:calc((100% - 48px) / 7) !important;
min-width:128px !important;
max-width:none !important;
box-sizing:border-box !important;
}
@media screen and (max-width:1280px){
#camp-weekly-scheduler .camp-weekly__grid > .camp-daycell,
#camp-week-grid.camp-weekly__grid > .camp-daycell{
flex-basis:142px !important;
width:142px !important;
min-width:142px !important;
}
}
@media screen and (max-width:980px){
#camp-weekly-scheduler .camp-weekly__grid > .camp-daycell,
#camp-week-grid.camp-weekly__grid > .camp-daycell{
flex-basis:150px !important;
width:150px !important;
min-width:150px !important;
}
} .camp-booking-mode{
display:flex;
align-items:center;
flex-wrap:wrap;
gap:8px;
margin:0 0 14px;
padding:10px;
border:1px solid #e8e2d8;
border-radius:10px;
background:#faf9f6;
}
.camp-booking-mode[hidden]{ display:none !important; }
.camp-booking-mode__label{ font-weight:600; margin-right:2px; }
.camp-booking-mode__btn{
appearance:none;
border:1px solid #cfc8bc;
border-radius:999px;
padding:7px 12px;
background:#fff;
color:#343a2b;
cursor:pointer;
font:inherit;
font-size:14px;
line-height:1.2;
}
.camp-booking-mode__btn:hover,
.camp-booking-mode__btn:focus-visible{
border-color:#434d32;
outline:none;
}
.camp-booking-mode__btn.is-active{
border-color:#434d32;
background:#434d32;
color:#fff;
font-weight:600;
} button.camp-slot{
width:100%;
font:inherit;
background:#fff;
}
button.camp-slot.selected{ background:#f3f5ef; }
button.camp-slot:disabled{ font:inherit; } .camp-reservation-auth{
display:flex;
align-items:flex-start;
gap:18px;
width:100%;
box-sizing:border-box;
padding:24px;
border:1px solid #ded8cc;
border-radius:16px;
background:#fff;
box-shadow:0 8px 24px rgba(38,45,29,.07);
}
.camp-reservation-auth__icon{
display:flex;
align-items:center;
justify-content:center;
flex:0 0 54px;
width:54px;
height:54px;
border-radius:50%;
background:#f3f5ef;
font-size:25px;
}
.camp-reservation-auth__content{ min-width:0; }
.camp-reservation-auth__content h2{
margin:0 0 8px;
color:#343d29;
font-size:clamp(22px, 3vw, 30px);
line-height:1.2;
}
.camp-reservation-auth__content p{
margin:0;
max-width:760px;
color:#50564a;
line-height:1.65;
}
.camp-reservation-auth__actions{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:18px;
}
.camp-reservation-auth__button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:10px 17px;
border:1px solid #434d32;
border-radius:10px;
text-decoration:none !important;
font-weight:600;
transition:transform .15s ease, background-color .15s ease, color .15s ease;
}
.camp-reservation-auth__button:hover{ transform:translateY(-1px); }
.camp-reservation-auth__button--primary{
background:#434d32;
color:#fff !important;
}
.camp-reservation-auth__button--secondary{
background:#fff;
color:#434d32 !important;
}
@media screen and (max-width:640px){
.camp-reservation-auth{ padding:18px; gap:12px; }
.camp-reservation-auth__icon{ flex-basis:44px; width:44px; height:44px; font-size:21px; }
.camp-reservation-auth__actions{ flex-direction:column; }
.camp-reservation-auth__button{ width:100%; box-sizing:border-box; }
.camp-booking-mode{ align-items:stretch; }
.camp-booking-mode__label{ width:100%; }
.camp-booking-mode__btn{ flex:1 1 100%; }
} #camp-weekly-scheduler .camp-quote-total{
margin:14px 0 12px;
padding:13px 15px;
border:1px solid #ded8cc;
border-radius:10px;
background:#f7f5ef;
color:#434d32;
font-size:1.05rem;
font-weight:700;
line-height:1.5;
}
#camp-weekly-scheduler .camp-auth-actions{
display:flex;
flex-wrap:wrap;
gap:12px;
margin:12px 0 0;
font-size:.94rem;
}
#camp-weekly-scheduler .camp-auth-actions[hidden]{display:none!important;}
#camp-weekly-scheduler .camp-auth-actions a{
color:#434d32;
text-decoration:underline;
text-underline-offset:3px;
font-weight:600;
}
#camp-weekly-scheduler #camp-validate{
min-height:46px;
padding:11px 18px;
font:inherit;
font-weight:600;
line-height:1.3;
}
#camp-weekly-scheduler #camp-validate:disabled{
opacity:.6;
cursor:not-allowed;
}
#camp-weekly-scheduler .camp-summary-list li{
display:flex;
align-items:baseline;
justify-content:space-between;
gap:12px;
padding:5px 0;
}
#camp-weekly-scheduler .camp-summary-list li span{min-width:0;}
#camp-weekly-scheduler .camp-summary-remove{
border:0;
padding:2px 0;
background:transparent;
color:#6d5941;
text-decoration:underline;
font:inherit;
font-size:.85rem;
cursor:pointer;
flex-shrink:0;
}
#camp-weekly-scheduler .camp-summary-remove:focus-visible,
#camp-weekly-scheduler .camp-auth-actions a:focus-visible,
#camp-weekly-scheduler button:focus-visible{
outline:2px solid #434d32;
outline-offset:3px;
}
#camp-weekly-scheduler .camp-week-notice{
margin:12px 0 0;
padding:10px 12px;
border:1px solid #d9dfcf;
border-radius:8px;
background:#f0f4e9;
color:#434d32;
font-size:.94rem;
line-height:1.5;
}
#camp-weekly-scheduler .camp-retry{margin-top:10px;font:inherit;}
@media screen and (max-width:640px){
#camp-weekly-scheduler #camp-validate{width:100%;}
#camp-weekly-scheduler .camp-auth-actions{gap:10px 18px;}
#camp-weekly-scheduler .camp-summary-list li{align-items:flex-start;}
}
#camp-weekly-scheduler .camp-weekly__header{position:relative;padding-bottom:14px;}
#camp-weekly-scheduler .camp-calendar-status{
position:absolute;
bottom:0;
left:50%;
transform:translateX(-50%);
font-size:11px;
line-height:1.2;
color:#67705b;
white-space:nowrap;
}
#camp-weekly-scheduler .camp-weekly__grid{min-height:150px;transition:opacity .12s ease;}
#camp-weekly-scheduler .camp-weekly__grid.is-loading{opacity:.55;}
@media (prefers-reduced-motion:reduce){
#camp-weekly-scheduler *,#camp-weekly-scheduler *::before,#camp-weekly-scheduler *::after{transition:none!important;scroll-behavior:auto!important;}
}
#camp-weekly-scheduler .camp-weekly__header h3{min-width:0;text-align:center;line-height:1.35;} .camp-guest-fields {
position: relative;
min-width: 0;
margin: 16px 0;
padding: 18px;
border: 1px solid #d8d0c4;
border-radius: 10px;
background: #faf9f6;
font: inherit;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 12px;
}
.camp-guest-fields[hidden] { display: none !important; }
.camp-guest-fields legend { padding: 0 7px; font: inherit; font-weight: 600; color: #434d32; }
.camp-guest-fields > p, .camp-guest-fields > .camp-guest-cancel { grid-column: 1 / -1; }
.camp-guest-fields > p { margin: 0; font-size: 14px; }
.camp-guest-row { min-width: 0; }
.camp-guest-row label { display: block; margin-bottom: 5px; font-weight: 600; font-size: 14px; }
.camp-guest-row input { box-sizing: border-box; width: 100%; min-width: 0; padding: 10px; border: 1px solid #cfc8bc; border-radius: 6px; background: #fff; color: #111827; font: inherit; }
.camp-guest-row input:focus-visible, .camp-guest-cancel:focus-visible { outline: 2px solid #434d32; outline-offset: 3px; }
.camp-guest-fields:disabled { opacity: .7; }
.camp-guest-fields .camp-guest-cancel { justify-self: start; padding: 4px 0; border: 0; border-radius: 0; background: transparent; color: #434d32; text-decoration: underline; font: inherit; cursor: pointer; }
.camp-guest-trap { position: absolute !important; left: -10000px !important; top: 0 !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 720px) {
.camp-guest-fields { grid-template-columns: minmax(0, 1fr); padding: 14px; }
}
.camp-guest-recovery { margin-top: 14px; padding: 12px; border: 1px solid #c0a27a; border-radius: 8px; background: #faf9f6; }
.camp-guest-recovery[hidden] { display: none !important; }
.camp-guest-recovery p { margin: 0 0 10px; font-size: 14px; }
.camp-guest-recovery button { max-width: 100%; white-space: normal; font: inherit; }.et_pb_row.row-full{
width:100% !important;
max-width:100% !important;
} .et_pb_row.row-full .et_pb_column{
padding-left:0 !important;
padding-right:0 !important;
} .home .et_pb_row.row-full{
width:100% !important;
max-width:100% !important;
} .et_pb_row.row-1080{
width:100% !important; max-width:1080px !important; margin-left:auto; margin-right:auto;
} @media (max-width: 980px){
.et_pb_row.row-1080{
padding-left:20px;
padding-right:20px;
}
}

.formulaire-connexion-custom {
max-width: 400px;
margin: auto;
padding: 2rem;
border-radius: 15px;
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.form-label {
font-weight: bold;
font-size: 1rem;
color: #333;
}
.form-input {
width: 100%;
padding: 0.8rem;
font-size: 1rem;
border: 1px solid #ccc;
border-radius: 8px;
margin-top: 0.3rem;
margin-bottom: 1rem;
box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
}
.form-submit-btn {
background-color: #444E32;
color: #fff;
padding: 0.8rem 1.5rem;
font-size: 1rem;
border: none;
border-radius: 8px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.form-submit-btn:hover {
background-color: #2f3525;
}
.form-connect-message {
text-align: center;
padding: 2rem;
font-weight: bold;
color: #444E32;
}
.form-error {
font-size: 15px;
line-height: 1.6;
}
.form-btn-secondary:hover {
background: #2f3525;
}
.formulaire-inscription-custom {
max-width: 700px;
margin: 2rem auto;
background: #f9f9f91f;
padding: 2rem;
border-radius: 15px;
box-shadow: 0 4px 25px rgba(0,0,0,0.05);
font-family: "Segoe UI", sans-serif;
}
.formulaire-inscription-custom .form-title {
text-align: center;
font-size: 18px;
color: #FFF;
margin-bottom: 1.5rem;
}
.formulaire-inscription-custom .form-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1.2rem;
}
.formulaire-inscription-custom .form-group.full {
grid-column: span 2;
}
.formulaire-inscription-custom .form-group label {
display: block;
margin-bottom: 0.4rem;
font-weight: 600;
color: #FFF;
}
.formulaire-inscription-custom .form-group input {
width: 100%;
padding: 0.75rem;
border: 1px solid #ccc;
border-radius: 8px;
background: #fff;
font-size: 1rem;
box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
transition: border 0.3s;
}
.formulaire-inscription-custom .form-group input:focus {
border-color: #444E32;
outline: none;
}
.formulaire-inscription-custom .form-actions {
text-align: center;
margin-top: 2rem;
}
.formulaire-inscription-custom .form-actions button {
background: #444E32;
color: white;
border: none;
padding: 0.9rem 2rem;
font-size: 1rem;
border-radius: 8px;
cursor: pointer;
transition: background 0.3s ease;
}
.formulaire-inscription-custom .form-actions button:hover {
background: #2e331f;
}
.form-error,
.form-success {
max-width: 700px;
margin: 1rem auto;
padding: 1rem;
border-radius: 8px;
font-size: 1rem;
text-align: center;
}
.form-error {
background: #ffe8e8;
color: #b30000;
}
.form-success {
background: #e6ffe8;
color: #247c3b;
}
.campement-category-grid {
display: flex;
flex-wrap: wrap;
gap: 1.1rem 2rem; justify-content: center;
margin-top: 1.5rem;
margin-bottom: 1.5rem;
}
.campement-category-btn {
min-width: 170px;
text-align: center;
margin-left: 10px;
}
.campement-category-btn {
background-color: #444E33;
color: white;
border: none;
padding: 1rem 2rem;
border-radius: 8px;
font-size: 1.1rem;
cursor: pointer;
transition: background 0.3s;
}
.campement-category-btn:hover {
background-color: #2f3724;
}
.reservation-section {
margin-top: 2rem;
}
.campement-alert {
background: #f8d7da;
color: #721c24;
padding: 1rem;
border-radius: 6px;
} .et-cart-info {
display: none !important;
} .campement-reservation{
max-width: 1160px; margin: 2rem auto;
background: #f7f8f6;
padding: 2rem;
border-radius: 18px;
box-shadow: 0 6px 32px rgba(0,0,0,0.07);
display: grid;
grid-template-columns: minmax(320px, 1fr) 1.6fr; gap: 24px;
align-items: start;
font-family: 'Segoe UI', Arial, sans-serif;
} .campement-reservation h2,
.campement-reservation h4{
color:#444E32;
text-align:center;
font-weight:700;
margin-bottom:1.1rem;
}
#campement-ressources h2,
#campement-formulaire h2{ text-align:left; } #campement-categories{ grid-column: 1 / -1; } .ressources-ul{
list-style:none;
padding:0;
margin:1.2rem 0 0;
display:grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap:16px;
}
.ressource-item{
margin:0; background:#f3f4f1;
border:1px solid #e9eadf;
border-radius:10px;
padding:1rem;
box-shadow:0 1px 6px rgba(68,78,50,.06);
display:flex;
flex-direction:column;
gap:.5rem;
min-height:120px;
}
.ressource-item strong{ font-size:1.08rem; color:#222A18; }
.ressource-item .btn-reserver-ressource{
align-self:flex-start;
background:#444E32; color:#fff; border:none; border-radius:8px;
padding:.55rem 1.1rem; margin-top:.25rem; font-size:1rem; cursor:pointer;
transition: background .2s, transform .08s;
}
.ressource-item .btn-reserver-ressource:hover{ background:#2f3724; transform: translateY(-1px); }
.ressource-item.active{ outline:2px solid #444E32; background:#eef0ea; } #campement-formulaire{ position: sticky; top: 92px; }  .campement-reservation .btn-primary,
.campement-reservation button[type="submit"]{ width:auto; } @media (max-width: 980px){
.campement-reservation{
grid-template-columns: 1fr; padding: 1.25rem;
}
#campement-formulaire{ position: static; }
}
.campement-reservation h2,
.campement-reservation h4 {
color: #444E32;
text-align: center;
font-weight: 700;
margin-bottom: 1.3rem;
}
.ressource-summary {
background: #e9eedf;
border-radius: 8px;
padding: 1.2rem 1rem 1rem 1rem;
margin-bottom: 1.5rem;
box-shadow: 0 2px 8px rgba(34,61,34,0.06);
}
.campement-reservation label {
font-weight: 600;
color: #444E32;
margin-bottom: 0.25rem;
display: block;
}
.campement-reservation input[type="date"],
.campement-reservation input[type="number"],
.campement-reservation select {
width: 100%;
padding: 0.7rem 1rem;
border: 1px solid #ccc;
border-radius: 7px;
background: #fff;
font-size: 1rem;
margin-bottom: 1.3rem;
margin-top: 0.1rem;
transition: border-color 0.3s;
}
.campement-reservation input[type="date"]:focus,
.campement-reservation input[type="number"]:focus,
.campement-reservation select:focus {
border-color: #444E32;
outline: none;
}
.campement-reservation .btn-primary,
.campement-reservation button[type="submit"] {
background-color: #444E32;
color: #fff;
padding: 1rem 2rem;
font-size: 1.15rem;
border: none;
border-radius: 10px;
cursor: pointer;
margin-top: 0.8rem;
width: 100%;
transition: background 0.2s;
}
.campement-reservation .btn-primary:hover,
.campement-reservation button[type="submit"]:hover {
background-color: #222A18;
}
#reservation-feedback {
margin-top: 1rem;
min-height: 24px;
font-size: 1.05rem;
color: #8a3c02;
}
.ressources-ul {
list-style: none;
padding: 0;
margin: 1.4rem 0;
}
.ressource-item {
background: #f3f4f1;
border-radius: 7px;
margin-bottom: 1.3rem;
padding: 1.1rem 1rem;
box-shadow: 0 2px 8px rgba(68,78,50,0.03);
display: flex;
flex-direction: column;
gap: 0.5rem;
align-items: flex-start;
}
.ressource-item strong {
font-size: 1.18rem;
color: #222A18;
}
.ressource-item .btn-reserver-ressource {
background: #444E32;
color: #fff;
border: none;
border-radius: 7px;
padding: 0.65rem 1.3rem;
margin-top: 0.7rem;
font-size: 1.05rem;
transition: background 0.2s;
cursor: pointer;
}
.ressource-item .btn-reserver-ressource:hover {
background: #2f3724;
}
.campement-category-btn {
background-color: #444E33;
color: white;
border: none;
padding: 1.15rem 2.2rem;
border-radius: 9px;
font-size: 1.1rem;
font-weight: 600;
letter-spacing: 1px;
cursor: pointer;
transition: background 0.3s;
margin-bottom: 0.5rem;
}
.campement-category-btn.active,
.campement-category-btn:focus,
.campement-category-btn:hover {
background-color: #2f3724;
color: #fff;
outline: none;
}
p.form-group {
color: white;
font-size: 20px;
font-weight: 700;
}
.formulaire-connexion-custom {
color: #fff; }
.formulaire-connexion-custom label,
.formulaire-connexion-custom a,
.formulaire-connexion-custom p {
color: #fff; }
.formulaire-connexion-custom input,
.formulaire-connexion-custom button {
color: #000; background: #fff; }  .campement-gate {
--camp-bg: #434D32; --camp-card: #5A6646; --camp-accent: #6F7D57; --camp-text: #ffffff; --camp-text-dim: #D6DAD5; --camp-border: #4a564a; --radius-xl: 16px;
--radius-2xl: 22px;
--shadow: 0 10px 24px rgba(0,0,0,.25);
margin: 48px auto;
max-width: 1080px;
padding: 8px 16px 24px;
color: var(--camp-text);
background: var(--camp-bg);
border-radius: var(--radius-2xl);
box-shadow: var(--shadow);
}
.campement-gate .gate-head {
text-align: center;
padding: 24px 12px 8px;
}
.campement-gate .gate-head h1 { margin: 0 0 6px; color: var(--camp-text); }
.campement-gate .gate-head p  { margin: 0; color: var(--camp-text-dim); }
.campement-gate .gate-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
padding: 24px;
}
@media (max-width: 900px) {
.campement-gate .gate-grid { grid-template-columns: 1fr; }
}
.campement-gate .gate-card {
background: var(--camp-card);
border: 1px solid var(--camp-border);
border-radius: var(--radius-xl);
padding: 24px;
box-shadow: 0 6px 16px rgba(0,0,0,.2);
}
.campement-gate .gate-card h2 { margin-top: 0; color: var(--camp-text); }
.campement-gate .gate-list {
margin: 0 0 16px 18px;
color: var(--camp-text);
}
.campement-gate .gate-list li { margin: 6px 0; }
.campement-gate .gate-note { margin-top: 12px; color: var(--camp-text-dim); } .campement-gate .gate-form label {
color: var(--camp-text);
font-weight: 600;
}
.campement-gate .gate-form input[type="text"],
.campement-gate .gate-form input[type="password"] {
width: 100%;
border-radius: 12px;
border: 1px solid var(--camp-border);
background: #2d352c;
color: var(--camp-text);
padding: 10px 12px;
margin: 6px 0 12px;
outline: none;
}
.campement-gate .gate-form input[type="text"]:focus,
.campement-gate .gate-form input[type="password"]:focus {
border-color: var(--camp-accent);
box-shadow: 0 0 0 3px rgba(75,92,68,.25);
}
.campement-gate .gate-form .forgetmenot label,
.campement-gate .gate-links a {
color: var(--camp-text-dim);
}
.campement-gate .gate-links a:hover {
color: var(--camp-text);
text-decoration: underline;
} .campement-gate #campement-login-submit,
.campement-gate .btn-campement {
display: inline-block;
padding: 12px 22px;
border-radius: 999px;
border: 1px solid #1a1f1a;
background: linear-gradient(180deg, #4b5c44, #3d4939);
color: #fff !important;
text-decoration: none;
font-weight: 700;
line-height: 1;
box-shadow: 0 6px 14px rgba(0,0,0,.25);
transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
cursor: pointer;
}
.campement-gate #campement-login-submit:hover,
.campement-gate .btn-campement:hover {
transform: translateY(-1px);
box-shadow: 0 10px 20px rgba(0,0,0,.3);
background: linear-gradient(180deg, #566a4f, #465242);
}
.campement-gate #campement-login-submit:active,
.campement-gate .btn-campement:active { transform: translateY(0); } .campement-gate .gate-foot {
text-align: center;
color: var(--camp-text-dim);
margin: 8px 0 0;
} #camp-panel-invoices td[style*="text-align:right"],
#camp-panel-invoices th[style*="text-align:right"] {
white-space: nowrap;
}
.bonjour-campeur {
text-align: center;
font-size: 22px; font-weight: 800;
color: #000; margin: 20px 0;
} .camp-pay-page {
width: 100%;
min-height: 85vh;
padding: 70px 24px;
background:
radial-gradient(circle at top left, rgba(245,156,113,.18), transparent 35%),
radial-gradient(circle at top right, rgba(251,232,209,.7), transparent 35%),
#faf9f6;
font-family: Arial, sans-serif;
color: #320e00;
}
.camp-pay-hero {
text-align: center;
max-width: 850px;
margin: 0 auto 46px;
}
.camp-pay-pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 18px;
border-radius: 999px;
background: #fbe8d1;
color: #9b3f18;
font-weight: 800;
margin-bottom: 18px;
}
.camp-pay-hero h1 {
font-size: clamp(42px, 6vw, 76px);
line-height: .95;
margin: 0 0 18px;
font-weight: 900;
letter-spacing: -2px;
color: #320e00;
}
.camp-pay-hero p {
font-size: 19px;
color: #5c5048;
margin: 0;
}
.camp-pay-grid {
max-width: 1320px;
margin: 0 auto 24px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}
.camp-pay-card {
border: 1px solid rgba(50,14,0,.10);
background: rgba(255,255,255,.85);
border-radius: 28px;
padding: 30px 24px;
min-height: 330px;
cursor: pointer;
box-shadow: 0 18px 50px rgba(32,23,11,.08);
transition: .25s ease;
text-align: center;
}
.camp-pay-card:hover,
.camp-pay-card.is-active {
transform: translateY(-5px);
border-color: #f59c71;
box-shadow: 0 28px 70px rgba(32,23,11,.14);
}
.camp-pay-icon {
width: 88px;
height: 88px;
border-radius: 50%;
background: #fbe8d1;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 22px;
font-size: 34px;
}
.camp-pay-icon.blue { background: #eaf1fb; }
.camp-pay-icon.green { background: #e8f6e7; }
.camp-pay-icon.purple { background: #f0e6fb; }
.camp-pay-card h3 {
font-size: 22px;
margin: 0 0 18px;
color: #320e00;
}
.camp-pay-card p {
margin: 8px 0;
color: #5c5048;
font-size: 16px;
}
.camp-pay-price {
font-size: 38px;
font-weight: 900;
color: #e75f24;
line-height: 1;
}
.camp-pay-price.small {
font-size: 32px;
}
.camp-pay-price span {
font-size: 20px;
}
.blue-text { color: #27679e; }
.green-text { color: #3f974e; }
.camp-pay-card hr {
border: 0;
border-top: 1px solid rgba(50,14,0,.10);
margin: 22px 0;
}
.camp-pay-bottom {
max-width: 1320px;
margin: 0 auto;
background: rgba(255,255,255,.9);
border: 1px solid rgba(50,14,0,.10);
border-radius: 28px;
padding: 26px;
display: grid;
grid-template-columns: 1.2fr 1fr auto;
gap: 24px;
align-items: center;
box-shadow: 0 18px 50px rgba(32,23,11,.08);
}
.camp-pay-bottom strong {
font-size: 22px;
color: #320e00;
}
.camp-pay-bottom p {
margin: 6px 0 0;
color: #7a6c62;
}
.camp-pay-input-wrap {
display: flex;
align-items: center;
border: 1px solid rgba(50,14,0,.16);
border-radius: 16px;
overflow: hidden;
background: #fff;
}
.camp-pay-input-wrap input {
width: 100%;
border: 0;
padding: 18px;
font-size: 22px;
outline: none;
}
.camp-pay-input-wrap span {
padding: 18px;
font-size: 22px;
font-weight: 900;
border-left: 1px solid rgba(50,14,0,.10);
}
.camp-pay-bottom button {
border: 0;
border-radius: 16px;
padding: 20px 42px;
background: #320e00;
color: #fff;
font-size: 18px;
font-weight: 900;
cursor: pointer;
transition: .2s ease;
}
.camp-pay-bottom button:hover {
background: #20170b;
transform: translateY(-2px);
}
@media (max-width: 1100px) {
.camp-pay-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media(max-width:768px){
.camp-pay-page{
padding:32px 14px 40px;
min-height:auto;
}
.camp-pay-hero{
margin-bottom:28px;
}
.camp-pay-pill{
font-size:13px;
padding:8px 14px;
margin-bottom:14px;
}
.camp-pay-hero h1{
font-size:42px;
line-height:0.95;
letter-spacing:-1px;
margin-bottom:14px;
}
.camp-pay-hero p{
font-size:15px;
line-height:1.5;
padding:0 6px;
}
.camp-pay-grid{
grid-template-columns:1fr;
gap:14px;
margin-bottom:18px;
}
.camp-pay-card{
min-height:auto;
border-radius:22px;
padding:22px 18px;
display:flex;
align-items:center;
gap:16px;
text-align:left;
}
.camp-pay-card:hover,
.camp-pay-card.is-active{
transform:none;
}
.camp-pay-icon{
width:64px;
height:64px;
min-width:64px;
margin:0;
font-size:26px;
}
.camp-pay-card h3{
font-size:18px;
margin:0 0 8px;
}
.camp-pay-card p{
margin:4px 0;
font-size:14px;
line-height:1.4;
}
.camp-pay-price{
font-size:28px;
margin-bottom:6px;
}
.camp-pay-price span{
font-size:15px;
}
.camp-pay-bottom{
grid-template-columns:1fr;
gap:16px;
border-radius:22px;
padding:18px;
position:sticky;
bottom:12px;
z-index:50;
backdrop-filter:blur(12px);
background:rgba(255,255,255,.96);
}
.camp-pay-summary{
text-align:center;
}
.camp-pay-bottom strong{
font-size:20px;
display:block;
}
.camp-pay-bottom p{
font-size:14px;
}
.camp-pay-input-wrap{
border-radius:14px;
}
.camp-pay-input-wrap input{
padding:16px;
font-size:20px;
text-align:center;
}
.camp-pay-input-wrap span{
padding:16px;
font-size:20px;
}
.camp-pay-bottom button{
width:100%;
border-radius:14px;
padding:18px;
font-size:17px;
}
}body.camp-v21-footer-active #main-footer,
body.camp-v21-footer-active .et-l--footer { display: none !important; }
#campement-site-footer.camp-v21-footer {
--camp-footer-green: #434d32;
--camp-footer-ink: #111827;
--camp-footer-sand: #c0a27a;
display: block;
width: 100%;
max-width: none;
margin: 0;
padding: 0;
overflow-wrap: anywhere;
color: #fffdf6;
background: var(--camp-footer-green);
font: inherit;
line-height: 1.65;
clear: both;
}
#campement-site-footer *,
#campement-site-footer *::before,
#campement-site-footer *::after { box-sizing: border-box; }
#campement-site-footer .et_pb_section,
#campement-site-footer .camp-v21-footer__section {
color: inherit;
background-color: var(--camp-footer-green);
padding: clamp(36px, 5vw, 72px) max(24px, calc((100% - 1180px) / 2));
}
#campement-site-footer .et_pb_row,
#campement-site-footer .camp-v21-footer__columns {
display: flex;
flex-wrap: wrap;
gap: clamp(28px, 4vw, 64px);
width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 0;
}
#campement-site-footer .et_pb_column {
float: none;
flex: 1 1 260px;
width: auto !important;
min-width: 0;
max-width: 100%;
margin: 0 !important;
}
#campement-site-footer .et_pb_module { min-width: 0; max-width: 100%; margin-bottom: 20px; }
#campement-site-footer h2,
#campement-site-footer h3,
#campement-site-footer h4 {
color: inherit;
font-family: inherit;
font-weight: 600;
line-height: 1.2;
text-transform: none;
font-size: clamp(1.35rem, 2.4vw, 2rem);
overflow-wrap: anywhere;
padding-bottom: .5em;
}
#campement-site-footer p { margin: 0 0 1em; padding-bottom: 0; }
#campement-site-footer a {
float: none !important;
position: static;
max-width: 100%;
color: inherit;
font-family: inherit;
font-weight: inherit;
font-size: inherit;
text-transform: none;
letter-spacing: normal;
line-height: 1.6;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: .2em;
overflow-wrap: anywhere;
word-break: normal;
white-space: normal;
}
#campement-site-footer a[href^="tel:"],
#campement-site-footer a[href^="mailto:"] {
display: block;
width: fit-content;
min-width: 0;
margin-top: .45em;
margin-bottom: .5em;
font-weight: 600;
}
#campement-site-footer a:hover { color: #eadbc4; }
#campement-site-footer a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #111827; }
#campement-site-footer .et_pb_button,
#campement-site-footer .camp-v21-footer__button {
display: inline-block;
padding: .85em 1.4em;
border: 1px solid var(--camp-footer-sand);
border-radius: 2px;
background: var(--camp-footer-sand);
color: var(--camp-footer-ink);
font: inherit;
font-weight: 600;
text-decoration: none;
text-align: center;
}
#campement-site-footer img { display: block; max-width: 100%; height: auto; }
#campement-site-footer .camp-v21-footer__menu,
#campement-site-footer .camp-v21-footer__menu ul,
#campement-site-footer .camp-v21-footer__local ul {
list-style: none;
margin: 0;
padding: 0;
}
#campement-site-footer .camp-v21-footer__menu {
display: flex;
flex-wrap: wrap;
gap: .55em 1.4em;
}
#campement-site-footer .camp-v21-footer__menu li { min-width: 0; max-width: 100%; }
#campement-site-footer .camp-v21-footer__menu a { display: inline-block; }
#campement-site-footer .camp-v21-footer__menu .sub-menu { margin-top: .4em; }
#campement-site-footer .camp-v21-footer__local {
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid rgb(255 253 246 / .25);
font-size: .9em;
}
#campement-site-footer .camp-v21-footer__local p { color: #eadbc4; }
#campement-site-footer .camp-v21-footer__local ul { display: flex; flex-wrap: wrap; gap: .5em 1.3em; }
#campement-site-footer .camp-v21-footer__local li { min-width: 0; max-width: 100%; }
@media (max-width: 767px) {
#campement-site-footer .et_pb_column { flex-basis: 100%; }
#campement-site-footer .et_pb_section,
#campement-site-footer .camp-v21-footer__section { padding-right: 24px; padding-left: 24px; }
#campement-site-footer .et_pb_button { width: 100%; }
}body.campement-v22-design {
--lc-paper: #f5f0e6;
--lc-paper-light: #fcfaf5;
--lc-olive: #434d32;
--lc-ink: #2d3429;
--lc-wood: #c0a27a;
--lc-line: #d8cbb6;
background: var(--lc-paper-light);
}
body.campement-v22-design #main-header { background: #fcfaf5 !important; box-shadow: 0 1px 0 rgba(67,77,50,.12); }
body.campement-v22-design #top-menu a { color: #35402d; font-weight: 600; }
body.campement-v22-design #top-menu .current-menu-item > a,
body.campement-v22-design #top-menu a:hover { color: #806442 !important; }
body.campement-v22-design #logo { max-height: 60px; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-section.et_pb_section {
display: block !important;
padding: clamp(54px, 6vw, 88px) 0 !important;
color: #394130;
background-color: #fcfaf5 !important;
overflow-wrap: anywhere;
}
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-section.et_pb_section > .camp-v21-row.et_pb_row {
width: calc(100% - clamp(40px, 8vw, 128px)) !important;
max-width: 1240px !important;
margin: 0 auto !important;
padding: 0 !important;
}
.camp-v21-section .camp-v21-row + .camp-v21-row { margin-top: 32px !important; }
.camp-v21-section .camp-v21-row > .et_pb_column { min-width: 0; box-sizing: border-box; }
.camp-v21-section .et_pb_text { margin-bottom: 22px !important; color: #424a38 !important; }
.camp-v21-section .et_pb_text p { margin: 0; padding-bottom: .9em; font-size: 16px; line-height: 1.85; }
.camp-v21-section .et_pb_text p:last-child { padding-bottom: 0; }
.camp-v21-section h1,
.camp-v21-section h2,
.camp-v21-section h3 { font-family: inherit !important; text-transform: none !important; letter-spacing: -.025em; overflow-wrap: anywhere; }
.camp-v21-section h2 { max-width: 25ch; color: #434d32 !important; font-size: clamp(29px, 3vw, 42px) !important; font-weight: 500 !important; line-height: 1.2 !important; padding-bottom: 20px; }
.camp-v21-section h3 { color: #434d32 !important; font-size: clamp(22px, 2vw, 28px) !important; font-weight: 500 !important; line-height: 1.35 !important; }
.camp-v21-section .camp-v21-section-title { margin-bottom: 32px !important; }
.camp-v21-section .camp-v21-eyebrow p,
.camp-v21-section .camp-v21-section-title > .et_pb_text_inner > p:first-child:has(+ h2) { color: #8a6e48 !important; font-size: 12px !important; font-weight: 600; letter-spacing: .075em; text-transform: uppercase; } :is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section a.et_pb_button.camp-v21-button,
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section .camp-v21-button a.et_pb_button {
display: inline-flex !important; align-items: center; justify-content: center; gap: 12px;
width: auto !important; max-width: 100%; min-height: 50px; box-sizing: border-box;
margin: 6px 12px 6px 0 !important; padding: 13px 20px !important;
border: 1px solid transparent !important; border-radius: 4px !important;
color: #fdf8ef !important; background: #434d32 !important;
font-family: inherit !important; font-size: 15px !important; font-weight: 600 !important;
line-height: 1.5 !important; letter-spacing: 0 !important; text-transform: none !important;
text-decoration: none !important; text-align: center; white-space: normal; overflow-wrap: anywhere;
transition: background-color .18s ease, border-color .18s ease !important;
}
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section a.et_pb_button.camp-v21-button::after,
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section .camp-v21-button a.et_pb_button::after {
content: "\2192" !important; position: static !important; flex-shrink: 0;
display: inline-block; margin: 0 !important; opacity: 1 !important; transform: none !important;
font-family: inherit !important; font-size: 20px !important; line-height: 1 !important;
}
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section a.et_pb_button.camp-v21-button.camp-v21-button--primary,
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section .camp-v21-button.camp-v21-button--primary a.et_pb_button {
color: #252c20 !important; background: #c0a27a !important;
}
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section a.et_pb_button.camp-v21-button.camp-v21-button--text { color: #434d32 !important; background: transparent !important; padding-left: 0 !important; border: 0 !important; text-decoration: underline !important; text-underline-offset: 5px; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section a.et_pb_button:hover { filter: brightness(1.08); }
.camp-v21-section a:focus-visible { outline: 3px solid #b08d60 !important; outline-offset: 4px; }
.camp-v21-section .et_pb_button_module_wrapper { box-sizing: border-box; max-width: 100%; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-hero.et_pb_section { position: relative; isolation: isolate; background-color: #2d3529 !important; padding: clamp(64px, 7vw, 104px) 0 !important; }
.camp-v21-hero .camp-v21-hero-row.et_pb_row,
.camp-v21-hero .camp-v21-contact-hero-row.et_pb_row { position: static !important; min-height: 440px; }
.camp-v21-hero .camp-v21-copy,
.camp-v21-contact-hero .camp-v21-contact-row > .et_pb_column:first-child {
position: relative !important; z-index: 2; float: none !important;
width: min(57%, 650px) !important; margin: 0 !important; padding: 0 !important;
}
.camp-v21-hero .camp-v21-visual,
.camp-v21-contact-hero .camp-v21-contact-hero-row > .et_pb_column:last-child {
position: absolute !important; z-index: -2; inset: 0 0 0 auto;
float: none !important; width: 72% !important; max-width: none; height: 100%; margin: 0 !important; padding: 0 !important;
}
.camp-v21-hero .camp-v21-visual .camp-v21-image,
.camp-v21-contact-hero .camp-v21-image { width: 100%; height: 100%; margin: 0 !important; padding: 0; border: 0; border-radius: 0; }
.camp-v21-hero .et_pb_image_wrap { display: block; width: 100%; height: 100%; }
.camp-v21-hero .camp-v21-image img { display: block; width: 100% !important; height: 100% !important; max-height: none !important; aspect-ratio: auto !important; object-fit: cover; object-position: 58% 57%; border-radius: 0; }
.camp-v21-hero::before {
content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
background: linear-gradient(90deg, #2d3529 0%, rgba(45,53,41,.98) 23%, rgba(45,53,41,.84) 43%, rgba(29,36,25,.20) 72%, rgba(29,36,25,.04) 100%);
}
.camp-v21-hero .et_pb_text,
.camp-v21-hero .et_pb_text p { color: #f6f0e5 !important; }
.camp-v21-hero .camp-v21-eyebrow { margin-bottom: 26px !important; }
.camp-v21-hero .camp-v21-eyebrow p { color: #dfc8a7 !important; font-size: 12px !important; font-weight: 600; letter-spacing: .09em; }
.camp-v21-hero .camp-v21-title { margin-bottom: 24px !important; }
.camp-v21-hero .camp-v21-title h1 { max-width: 17ch; color: #fff9ee !important; font-size: clamp(40px, 4.4vw, 64px) !important; font-weight: 500 !important; line-height: 1.1 !important; letter-spacing: -.035em; text-wrap: balance; padding: 0; }
.camp-v21-hero .camp-v21-lead { max-width: 53ch; margin-bottom: 27px !important; }
.camp-v21-hero .camp-v21-lead p { font-size: 17px; line-height: 1.8; }
.camp-v21-hero .et_pb_button_module_wrapper { display: inline-block; max-width: 100%; margin: 0 !important; vertical-align: middle; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-hero a.et_pb_button.camp-v21-button.camp-v21-button--secondary { color: #fff9ee !important; border-color: #d6c8ae !important; background: transparent !important; }
.camp-v21-hero .camp-v21-small { max-width: 57ch; margin-top: 19px !important; }
.camp-v21-hero .camp-v21-small p { color: #ddd8c8 !important; font-size: 12px; line-height: 1.75; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-amenities-section.et_pb_section { padding: 26px 0 !important; border-bottom: 1px solid #d8cbb6; background: #e9dfce !important; }
.camp-v21-amenities-section .camp-v21-row { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.camp-v21-amenities-section .camp-v21-row::after { content: none !important; display: none !important; }
.camp-v21-amenities-section .et_pb_column { float: none !important; width: 100% !important; margin: 0 !important; }
.camp-v21-amenities-section .et_pb_text { margin: 0 !important; padding-left: 16px; border-left: 2px solid #b18d5c; }
.camp-v21-amenities-section .et_pb_text p { color: #434d32 !important; font-size: 14px; font-weight: 600; line-height: 1.6; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-needs.et_pb_section,
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-comparison.et_pb_section { background: #f5f0e6 !important; }
.camp-v21-section .camp-home { color: #2d3429; background: transparent; }
.camp-v21-section .camp-home__offers { gap: 22px; }
.camp-v21-section .camp-home__offer { padding: 30px 28px 24px; border: 1px solid #d8cbb6; border-top: 4px solid #8f7958; border-radius: 3px; background: #fcfaf5; }
.camp-v21-section .camp-home__offer-name { color: #806442; font-size: 13px; font-weight: 600; letter-spacing: .06em; }
.camp-v21-section .camp-home__offer h3 { font-size: 27px !important; line-height: 1.3 !important; }
.camp-v21-section .camp-home__offer-description { color: #525846; font-size: 15px; line-height: 1.8; }
.camp-v21-section .camp-home__amount { margin-top: 16px; color: #434d32; font-size: 29px; font-weight: 600; }
.camp-v21-section .camp-home__offer-link { color: #434d32; font-size: 14px; font-weight: 600; padding-top: 18px; margin-top: 8px; }
.camp-v21-section .camp-home__resource { grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr); gap: 48px; padding: 36px; margin-bottom: 18px; border: 1px solid #d8cbb6; background: #fcfaf5; }
.camp-v21-section .camp-home__resource h3 { font-size: 33px !important; }
.camp-v21-section .camp-home__resource-copy > p { font-size: 16px; }
.camp-v21-section .camp-home__features { display: block; font-size: 13px; }
.camp-v21-section .camp-home__features li + li { margin-top: 6px; }
.camp-v21-section .camp-home__resource-booking { border-left-color: #c0a27a; }
.camp-v21-section .camp-home__button { border-radius: 4px; font-size: 14px; font-weight: 600; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-community.et_pb_section { background: #2d3529 !important; }
.camp-v21-community .camp-v21-row,
.camp-v21-refuge .camp-v21-row,
.camp-v21-project .camp-v21-row { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 5vw, 72px); }
.camp-v21-community .camp-v21-row::after,
.camp-v21-refuge .camp-v21-row::after,
.camp-v21-project .camp-v21-row::after { content: none !important; display: none !important; }
.camp-v21-community .camp-v21-row > .et_pb_column,
.camp-v21-refuge .camp-v21-row > .et_pb_column,
.camp-v21-project .camp-v21-row > .et_pb_column { float: none !important; width: 100% !important; margin: 0 !important; }
.camp-v21-section .camp-v21-image { margin: 0 !important; }
.camp-v21-community .camp-v21-image img,
.camp-v21-refuge .camp-v21-image img,
.camp-v21-project .camp-v21-image img { width: 100%; height: clamp(360px, 36vw, 510px); max-height: none; object-fit: cover; object-position: center 56%; border-radius: 3px; }
.camp-v21-community .et_pb_text,
.camp-v21-community .et_pb_text p,
.camp-v21-community h2 { color: #f7f0e4 !important; }
.camp-v21-community h2 { max-width: 19ch; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-community.et_pb_section .et_pb_text h2 { color: #f7f0e4 !important; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-community a.et_pb_button.camp-v21-button { color: #292f24 !important; background: #c0a27a !important; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-community a.et_pb_button.camp-v21-button.camp-v21-button--text { color: #e8d5b8 !important; background: transparent !important; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-refuge.et_pb_section { background: #e9dfce !important; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-project.et_pb_section { background: #fcfaf5 !important; }
.camp-v21-first-visit .camp-v21-step { padding: 24px 22px 0 0; border-top: 1px solid #cbbb9f; }
.camp-v21-first-visit .camp-v21-step-number { color: #95754d; font-size: 32px !important; font-weight: 500; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-faq-section.et_pb_section { background: #ede5d7 !important; }
.camp-v21-faq-section .camp-v21-faq h3 { font-size: 23px !important; }
.camp-v21-faq-section .camp-v21-faq { border-color: #c8b99e; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-visit.et_pb_section { background: #ede5d7 !important; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-journal-section.et_pb_section { background: #fcfaf5 !important; }
.camp-v21-journal,
.camp-v21-journal .et_animated,
.camp-v21-journal .et_pb_post,
.camp-v21-journal .et_pb_image_container { opacity: 1 !important; visibility: visible !important; animation: none !important; transform: none !important; }
.camp-v21-journal .et_pb_post { min-width: 0; padding: 0 0 24px !important; border: 0 !important; border-bottom: 1px solid #cabb9f !important; border-radius: 0; background: transparent !important; box-shadow: none !important; }
.camp-v21-journal .et_pb_image_container { margin: 0 0 24px !important; }
.camp-v21-journal .entry-featured-image-url img { width: 100%; height: 230px; object-fit: cover; border-radius: 3px; }
.camp-v21-journal .entry-title { padding: 0 0 15px; font-size: 24px !important; line-height: 1.35 !important; }
.camp-v21-journal .entry-title a { color: #434d32 !important; font-family: inherit !important; font-size: inherit !important; font-weight: 500; line-height: inherit; text-transform: none !important; }
.camp-v21-journal .post-content { color: #4c5542; font-size: 15px; line-height: 1.8; }
.camp-v21-journal .more-link { color: #806442 !important; font-weight: 600; text-underline-offset: 5px; }
body.campement-v22-design.campement-v21-journal-index #main-content .et_pb_blog.et_animated,
body.campement-v22-design.campement-v21-journal-post #main-content .et_animated {
opacity: 1 !important; visibility: visible !important; animation: none !important; transform: none !important;
}
body.campement-v22-design.campement-v21-journal-index #main-content a.et_pb_button {
display: inline-flex; justify-content: center; align-items: center; box-sizing: border-box;
width: auto !important; max-width: 100%; min-height: 48px; margin-right: 0 !important;
padding: 13px 18px !important; border: 1px solid #c0a27a !important; border-radius: 4px;
color: #292f25 !important; background: #c0a27a !important;
font-family: inherit !important; font-size: 15px !important; line-height: 1.5 !important;
white-space: normal !important; overflow-wrap: anywhere; text-transform: none !important;
}
body.campement-v22-design.campement-v21-journal-index #main-content a.et_pb_button::after { display: none !important; } :is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-contact-form-section.et_pb_section { background: #f5f0e6 !important; }
.camp-v21-contact-form-section .camp-v21-contact-row { display: grid !important; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(32px, 5vw, 68px); align-items: start; }
.camp-v21-contact-form-section .camp-v21-contact-row::after { content: none !important; display: none !important; }
.camp-v21-contact-form-section .camp-v21-contact-row > .et_pb_column { float: none !important; width: 100% !important; margin: 0 !important; }
.camp-v21-contact-form-section .et_pb_contact_form_container { padding: 28px !important; border: 1px solid #d5c7ae; border-radius: 4px; background: #fcfaf5 !important; }
.camp-v21-contact-form-section .camp-v21-contact-newsletter { padding: 30px !important; border-top: 4px solid #a0855d; background: #e9dfce !important; }
.camp-v21-contact-form-section .et_pb_contact input[type="text"],
.camp-v21-contact-form-section .et_pb_contact input[type="email"],
.camp-v21-contact-form-section .et_pb_contact textarea,
.camp-v21-contact-newsletter .et_pb_newsletter_form input[type="text"],
.camp-v21-contact-newsletter .et_pb_newsletter_form input[type="email"] {
box-sizing: border-box; min-height: 48px; width: 100%; max-width: 100%; padding: 13px 14px !important;
color: #2d3429 !important; background: #fffdf9 !important; border: 1px solid #c8bda9 !important; border-radius: 3px;
font: inherit; font-size: 15px; line-height: 1.6;
}
.camp-v21-contact-form-section input:focus-visible,
.camp-v21-contact-form-section textarea:focus-visible { outline: 2px solid #91734b; outline-offset: 2px; }
.camp-v21-contact-form-section .et_pb_contact_submit,
.camp-v21-contact-newsletter .et_pb_newsletter_button { min-height: 48px; padding: 13px 22px !important; border: 1px solid #434d32 !important; border-radius: 4px; color: #fff8ed !important; background: #434d32 !important; font-family: inherit !important; font-size: 15px !important; font-weight: 600; line-height: 1.5 !important; text-transform: none; letter-spacing: 0; }
.camp-v21-contact-form-section .et_pb_contact_submit::after,
.camp-v21-contact-newsletter .et_pb_newsletter_button::after { display: none !important; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-contact-map-section.et_pb_section { padding-top: 48px !important; background: #fcfaf5 !important; }
.camp-v21-contact-map-section .et_pb_map_container { border: 1px solid #d5c7ae; border-radius: 3px; overflow: hidden; } #campement-site-footer.camp-v21-footer,
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-footer__section.et_pb_section { color: #f7f0e4; background: #292f25 !important; }
#campement-site-footer.camp-v21-footer .camp-v21-footer__section.et_pb_section { display: block !important; }
#campement-site-footer .camp-v21-footer__section,
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-footer__section.et_pb_section { padding: clamp(48px, 6vw, 80px) 0 !important; }
#campement-site-footer .camp-v21-footer__columns,
.camp-v21-footer__section > .camp-v21-row { display: grid !important; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 64px; width: calc(100% - clamp(40px, 8vw, 128px)) !important; max-width: 1240px !important; margin: 0 auto !important; }
#campement-site-footer .camp-v21-footer__columns::after,
.camp-v21-footer__section .camp-v21-row::after { content: none !important; display: none !important; }
#campement-site-footer .camp-v21-footer__column,
.camp-v21-footer__section .et_pb_column { float: none !important; width: 100% !important; min-width: 0; margin: 0 !important; }
#campement-site-footer h2,
.camp-v21-footer__section h2 { color: #f7f0e4 !important; font-family: inherit !important; font-size: clamp(27px, 2.8vw, 36px) !important; font-weight: 500; line-height: 1.25; text-transform: none; padding-bottom: 20px; }
#campement-site-footer .et_pb_text,
.camp-v21-footer__section .et_pb_text { color: #e8dfce !important; font-size: 15px; line-height: 1.85; }
#campement-site-footer .camp-v21-footer__contact a,
.camp-v21-footer__contact a[href^="tel:"],
.camp-v21-footer__contact a[href^="mailto:"] { display: block; position: static; transform: none; max-width: 100%; color: #fff8ed !important; font-family: inherit !important; font-size: 19px !important; font-weight: 500; line-height: 1.7; white-space: normal; overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 5px; }
#campement-site-footer a.et_pb_button,
.camp-v21-footer__section a.et_pb_button { display: inline-flex; align-items: center; max-width: 100%; min-height: 50px; box-sizing: border-box; margin: 12px 0 0; padding: 13px 20px !important; border: 1px solid #c0a27a !important; border-radius: 4px; color: #252c20 !important; background: #c0a27a !important; font-family: inherit !important; font-size: 15px !important; font-weight: 600; line-height: 1.5 !important; text-transform: none !important; text-decoration: none; white-space: normal; overflow-wrap: anywhere; }
#campement-site-footer a.et_pb_button::after,
.camp-v21-footer__section a.et_pb_button::after { display: none !important; }
#campement-site-footer .camp-v21-footer__navigation { display: block !important; margin-top: 42px !important; }
#campement-site-footer .camp-v21-footer__menu,
#campement-site-footer .camp-v21-footer__local ul { gap: 10px 22px; }
#campement-site-footer .camp-v21-footer__menu a { font-size: 13px; color: #ede2cf; text-decoration: none; }
#campement-site-footer .camp-v21-footer__local { border-color: #5b5c4a; margin-top: 24px; padding-top: 24px; font-size: 12px; }
@media (max-width: 980px) {
.camp-v21-hero .camp-v21-copy,
.camp-v21-contact-hero .camp-v21-contact-row > .et_pb_column:first-child { width: min(74%, 620px) !important; }
.camp-v21-hero .camp-v21-visual,
.camp-v21-contact-hero .camp-v21-contact-hero-row > .et_pb_column:last-child { width: 100% !important; }
.camp-v21-hero::before { background: linear-gradient(90deg, rgba(34,43,29,.95), rgba(34,43,29,.82) 58%, rgba(34,43,29,.45)); }
.camp-v21-section .camp-v21-row > .et_pb_column { margin-bottom: 0; }
.camp-v21-community .camp-v21-row,
.camp-v21-refuge .camp-v21-row,
.camp-v21-project .camp-v21-row { gap: 32px; }
.camp-v21-contact-form-section .camp-v21-contact-row { grid-template-columns: minmax(0, 1fr); }
.camp-v21-section .camp-home__resource { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px; }
#campement-site-footer .camp-v21-footer__columns,
.camp-v21-footer__section > .camp-v21-row { gap: 36px; }
}
@media (max-width: 700px) {
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-section.et_pb_section { padding: 44px 0 !important; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-hero.et_pb_section { padding: 48px 0 !important; }
.camp-v21-hero .camp-v21-copy,
.camp-v21-contact-hero .camp-v21-contact-row > .et_pb_column:first-child { width: 100% !important; }
.camp-v21-hero .camp-v21-hero-row { min-height: 0; }
.camp-v21-hero .camp-v21-title h1 { max-width: 17ch; font-size: clamp(36px, 9vw, 49px) !important; line-height: 1.13 !important; }
.camp-v21-hero .camp-v21-lead p { font-size: 16px; }
.camp-v21-hero::before { background: rgba(32,42,27,.82); }
.camp-v21-hero .et_pb_button_module_wrapper { display: block; width: 100%; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-hero a.et_pb_button.camp-v21-button { width: 100%; margin-right: 0 !important; }
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section a.et_pb_button.camp-v21-button,
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-section .camp-v21-button a.et_pb_button { width: 100% !important; margin-right: 0 !important; }
:is(#page-container, #et-boc, .et_builder_inner_content, #campement-site-footer) .camp-v21-amenities-section.et_pb_section { padding: 24px 0 !important; }
.camp-v21-amenities-section .camp-v21-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.camp-v21-amenities-section .et_pb_text p { font-size: 12px; }
.camp-v21-community .camp-v21-row,
.camp-v21-refuge .camp-v21-row,
.camp-v21-project .camp-v21-row { grid-template-columns: minmax(0, 1fr); }
.camp-v21-community .camp-v21-image img,
.camp-v21-refuge .camp-v21-image img,
.camp-v21-project .camp-v21-image img { height: 340px; }
.camp-v21-section .camp-home__offer { padding: 25px; }
.camp-v21-section .camp-home__resource { padding: 23px; }
.camp-v21-first-visit .camp-v21-step { padding: 22px 0 0; }
.camp-v21-contact-form-section .et_pb_contact_form_container { padding: 20px !important; }
.camp-v21-contact-form-section .camp-v21-contact-newsletter { padding: 24px !important; }
#campement-site-footer .camp-v21-footer__columns,
.camp-v21-footer__section > .camp-v21-row { grid-template-columns: minmax(0, 1fr); gap: 28px; }
#campement-site-footer .camp-v21-footer__contact a,
.camp-v21-footer__contact a[href^="mailto:"] { font-size: 17px !important; }
#campement-site-footer a.et_pb_button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
.camp-v21-section .et_animated { animation: none !important; opacity: 1 !important; transform: none !important; }
.camp-v21-section a.et_pb_button { transition: none !important; }
} :is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-contact-form-section .et_pb_contact_form_container button.et_pb_contact_submit.et_pb_button,
:is(#page-container, #et-boc, .et_builder_inner_content) .camp-v21-contact-form-section .camp-v21-contact-newsletter a.et_pb_newsletter_button.et_pb_button {
color: #fff8ed !important; background: #434d32 !important; border-color: #434d32 !important;
font-family: inherit !important; font-size: 15px !important; text-transform: none !important; letter-spacing: 0 !important;
box-sizing: border-box; min-width: 0 !important; max-width: 100% !important;
white-space: normal !important; overflow-wrap: anywhere; text-align: center;
}
.camp-v21-contact-form-section .camp-v21-contact-form .et_contact_bottom_container { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; float: none; min-width: 0; max-width: 100%; }
.camp-v21-contact-form-section .et_pb_contact_form_container button.et_pb_contact_submit { flex: 0 1 auto; }
.camp-v21-contact-form-section .camp-v21-contact-newsletter .et_pb_newsletter_button_text { display: block; min-width: 0; max-width: 100%; white-space: normal !important; overflow-wrap: anywhere; }
.camp-v21-contact-form-section .camp-v21-contact-newsletter h2 { font-size: clamp(25px, 2.2vw, 30px) !important; line-height: 1.3 !important; }
:is(#campement-site-footer, #page-container, #et-boc, .et_builder_inner_content) .camp-v21-footer__section a.et_pb_button.camp-v21-button {
color: #252c20 !important; background: #c0a27a !important; border-color: #c0a27a !important;
}body.campement-v22-design {
--camp-par-olive: #434d32;
--camp-par-ink: #292f25;
--camp-par-paper: #f5f0e6;
--camp-par-sand: #c0a27a;
--camp-par-line: #d8cebc;
} body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) {
box-sizing: border-box;
width: 100%;
max-width: 740px;
margin: 30px auto;
padding: clamp(24px, 4vw, 48px);
border: 1px solid var(--camp-par-line);
border-top: 3px solid var(--camp-par-sand);
border-radius: 4px;
background: #fbf8f1;
color: var(--camp-par-ink);
box-shadow: none;
font-family: inherit;
text-align: left;
}
body.campement-v22-design .formulaire-connexion-custom { max-width: 500px; }
body.campement-v22-design .formulaire-inscription-custom .form-title {
margin: 0 0 28px;
color: var(--camp-par-olive);
font-family: inherit;
font-size: clamp(26px, 3vw, 36px);
font-weight: 600;
line-height: 1.2;
text-align: left;
text-transform: none;
}
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) .form-group { min-width: 0; margin-bottom: 18px; }
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) label {
display: block;
margin-bottom: 7px;
color: var(--camp-par-ink);
font-size: 15px;
font-weight: 600;
line-height: 1.5;
}
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) .form-group > :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"]) {
box-sizing: border-box;
width: 100%;
min-width: 0;
min-height: 48px;
padding: 12px 14px;
border: 1px solid #bcb39f;
border-radius: 4px;
background: #fffdf8;
color: var(--camp-par-ink);
font: inherit;
line-height: 1.5;
box-shadow: none;
}
body.campement-v22-design .formulaire-inscription-custom .form-grid { gap: 4px 24px; }
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) :is(.help, small) { display: block; margin-top: 7px; color: #5d6454; font-size: 13px; line-height: 1.65; }
body.campement-v22-design .formulaire-inscription-custom .form-actions { margin-top: 20px; text-align: left; }
body.campement-v22-design .formulaire-connexion-custom a,
body.campement-v22-design .form-btn-secondary { color: var(--camp-par-olive); text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
body.campement-v22-design :is(.form-error, .form-success, .form-connect-message) { box-sizing: border-box; max-width: 740px; padding: 18px 22px; border-radius: 4px; font-family: inherit; line-height: 1.65; } body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) button[type="submit"],
body.campement-v22-design .camp-formation-actions button[type="submit"],
body.campement-v22-design .camp-pay-bottom button[type="submit"],
body.campement-v22-design .campement-agenda__button--primary,
body.campement-v22-design .campement-expert-booking a,
body.campement-v22-design .campement-final-booking a {
display: inline-flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
max-width: 100%;
min-height: 48px;
margin: 0;
padding: 12px 20px;
border: 1px solid var(--camp-par-olive);
border-radius: 4px;
background: var(--camp-par-olive);
color: #fffaf0;
font-family: inherit;
font-size: 15px;
font-weight: 600;
line-height: 1.5;
letter-spacing: 0;
text-align: center;
text-decoration: none;
text-transform: none;
white-space: normal;
overflow-wrap: anywhere;
box-shadow: none;
cursor: pointer;
}
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) button[type="submit"]:not(:disabled):hover,
body.campement-v22-design .camp-formation-actions button[type="submit"]:not(:disabled):hover,
body.campement-v22-design .camp-pay-bottom button[type="submit"]:not(:disabled):hover,
body.campement-v22-design .campement-agenda__button--primary:hover,
body.campement-v22-design .campement-expert-booking a:hover,
body.campement-v22-design .campement-final-booking a:hover { border-color: #2d3824; background: #2d3824; color: #fffaf0; }
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) button[type="submit"]:disabled,
body.campement-v22-design .camp-formation-actions button[type="submit"]:disabled,
body.campement-v22-design .camp-pay-bottom button[type="submit"]:disabled { opacity: .55; cursor: not-allowed; } body.campement-v22-design .camp-booking-public-intro { max-width: 76ch; margin: 0 0 28px; color: var(--camp-par-ink); font-size: 17px; line-height: 1.75; }
body.campement-v22-design.page-id-153 #main-content .et_pb_text,
body.campement-v22-design.page-id-153 #main-content .et_pb_text_inner { min-width: 0; max-width: 100%; }
body.campement-v22-design.page-id-153 #main-content h1 { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
body.campement-v22-design .campement-categories { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0 30px; }
body.campement-v22-design .campement-category-btn {
min-width: 0;
min-height: 46px;
max-width: 100%;
margin: 0;
padding: 11px 18px;
border: 1px solid #b8af9b;
border-radius: 4px;
background: #fbf8f1;
color: var(--camp-par-olive);
font-family: inherit;
font-size: 15px;
font-weight: 600;
line-height: 1.5;
white-space: normal;
overflow-wrap: anywhere;
}
body.campement-v22-design .campement-category-btn:is(.is-active, [aria-pressed="true"]) { border-color: var(--camp-par-olive); background: var(--camp-par-olive); color: #fffaf0; }
body.campement-v22-design .campement-category-btn:not(.is-active):hover { background: #e8dfcd; }
body.campement-v22-design .campement-reservation { min-width: 0; border: 1px solid var(--camp-par-line); border-radius: 4px; background: #fbf8f1; box-shadow: none; }
body.campement-v22-design .ressources-ul { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 18px; }
body.campement-v22-design .ressource-item { min-width: 0; padding: 22px; border: 1px solid var(--camp-par-line); border-radius: 4px; background: #fffdf8; box-shadow: none; }
body.campement-v22-design .ressource-item.active { outline-color: var(--camp-par-olive); background: #e8eddf; }
body.campement-v22-design .ressource-item strong { color: var(--camp-par-olive); font-size: 20px; line-height: 1.4; }
body.campement-v22-design .ressource-item .btn-reserver-ressource { min-height: 44px; max-width: 100%; padding: 10px 16px; border-radius: 4px; background: var(--camp-par-olive); color: #fffaf0; font: inherit; font-weight: 600; white-space: normal; }
body.campement-v22-design .ressource-summary { border: 1px solid var(--camp-par-line); border-radius: 4px; background: #eee6d6; box-shadow: none; }
body.campement-v22-design .camp-reservation-auth { border-color: var(--camp-par-line); border-radius: 4px; background: #fbf8f1; box-shadow: none; }
body.campement-v22-design .camp-reservation-auth__icon { border-radius: 4px; background: #eee6d6; }
body.campement-v22-design .camp-reservation-auth__button { border-radius: 4px; }
body.campement-v22-design .camp-weekly { padding: clamp(16px, 2vw, 26px); border-color: var(--camp-par-line); border-radius: 4px; background: #fffdf8; }
body.campement-v22-design .camp-weekly__header h3 { color: var(--camp-par-olive); font-size: 19px; font-weight: 600; }
body.campement-v22-design .camp-daycell { border-color: #ddd5c4; border-radius: 4px; }
body.campement-v22-design .camp-daycell:not(.is-weekend) { background: #f6f2e9; }
body.campement-v22-design .camp-daycell h5 { color: var(--camp-par-olive); line-height: 1.5; }
body.campement-v22-design .camp-slot { border-radius: 3px; line-height: 1.5; }
body.campement-v22-design .camp-slot:not(.disabled):not(.selected) { border-color: #d1c6b3; background: #fffdf8; color: var(--camp-par-ink); }
body.campement-v22-design .camp-slot.selected:not(.disabled) { border-color: var(--camp-par-olive); background: var(--camp-par-olive); color: #fffaf0; }
body.campement-v22-design .camp-slot:not(.disabled):not(.selected):hover { background: #eee2cd; }
body.campement-v22-design .camp-booking-mode { border-color: var(--camp-par-line); border-radius: 4px; background: #f5f0e6; }
body.campement-v22-design .camp-booking-mode__btn { min-height: 44px; border-radius: 4px; }
body.campement-v22-design .camp-weekly .camp-btn,
body.campement-v22-design #camp-weekly-scheduler #camp-validate { border-radius: 4px; }
body.campement-v22-design #camp-weekly-scheduler .camp-quote-total { border-radius: 4px; border-color: var(--camp-par-line); background: #eee6d6; color: var(--camp-par-olive); }
body.campement-v22-design .camp-guest-fields { border-color: var(--camp-par-line); border-radius: 4px; background: #f5f0e6; }
body.campement-v22-design .camp-guest-row input { min-height: 46px; border-radius: 4px; background: #fffdf8; }
body.campement-v22-design .camp-guest-recovery { border-radius: 4px; } body.campement-v22-design .camp-dash { --camp-primary: #434d32; --camp-radius: 4px; --camp-shadow: none; --camp-border: #d8cebc; --camp-text: #292f25; --camp-muted: #606754; --camp-card: #fbf8f1; box-sizing: border-box; min-width: 0; max-width: 1200px; margin: 30px auto; color: var(--camp-par-ink); }
body.campement-v22-design .camp-dash .camp-title { color: var(--camp-par-olive); font-size: clamp(27px, 3vw, 38px); font-weight: 600; line-height: 1.25; }
body.campement-v22-design .camp-dash .camp-tabs { gap: 0; margin: 24px 0; border-bottom: 1px solid var(--camp-par-line); }
body.campement-v22-design .camp-dash .camp-tab { min-height: 46px; margin: 0 8px 0 0; padding: 12px 16px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--camp-par-olive); font: inherit; font-weight: 600; box-shadow: none; }
body.campement-v22-design .camp-dash .camp-tab[aria-selected="true"] { border-bottom-color: var(--camp-par-olive); background: #ede6d8; box-shadow: none; }
body.campement-v22-design .camp-dash .camp-card { box-sizing: border-box; min-width: 0; max-width: 100%; overflow-x: auto; padding: clamp(18px, 3vw, 32px); border-radius: 4px; box-shadow: none; }
body.campement-v22-design .camp-dash .camp-card h3 { margin-bottom: 22px; color: var(--camp-par-olive); font-size: 25px; line-height: 1.3; }
body.campement-v22-design .camp-dash .camp-table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: 14px; line-height: 1.65; }
body.campement-v22-design .camp-dash .camp-table th { border-bottom: 2px solid var(--camp-par-line); background: #eee6d6; color: var(--camp-par-olive); font-weight: 600; }
body.campement-v22-design .camp-dash .camp-table td { border-bottom-color: var(--camp-par-line); }
body.campement-v22-design .camp-dash .camp-btn { min-height: 42px; max-width: 100%; padding: 10px 16px; border-color: #b8af9b; border-radius: 4px; background: #fffdf8; color: var(--camp-par-olive); font: inherit; font-weight: 600; line-height: 1.4; text-align: center; white-space: normal; text-decoration: none; }
body.campement-v22-design .camp-dash .camp-btn--primary { border-color: var(--camp-par-olive); background: var(--camp-par-olive); color: #fffaf0; }
body.campement-v22-design .camp-dash .camp-form .field > :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select) { box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #bcb39f; border-radius: 4px; background: #fffdf8; color: var(--camp-par-ink); font: inherit; }
body.campement-v22-design .camp-dash .camp-form input:disabled { background: #eae8df; color: #666b5d; }
body.campement-v22-design .camp-dash .camp-form .field { min-width: 0; }
body.campement-v22-design .camp-dash .camp-alert { border-radius: 4px; } body.campement-v22-design .woocommerce { color: var(--camp-par-ink); font-family: inherit; line-height: 1.7; }
body.campement-v22-design .woocommerce :is(h2, h3) { color: var(--camp-par-olive); font-family: inherit; font-weight: 600; line-height: 1.3; text-transform: none; }
body.campement-v22-design .woocommerce form .form-row :is(input.input-text[type="text"], input.input-text[type="email"], input.input-text[type="tel"], input.input-text[type="password"], input.input-text[type="number"], textarea) { box-sizing: border-box; min-width: 0; min-height: 46px; padding: 11px 13px; border: 1px solid #bcb39f; border-radius: 4px; background: #fffdf8; color: var(--camp-par-ink); font: inherit; line-height: 1.5; }
body.campement-v22-design .woocommerce :is(button.button, input.button, a.button) { max-width: 100%; min-height: 46px; padding: 12px 20px; border: 1px solid var(--camp-par-olive); border-radius: 4px; background: var(--camp-par-olive); color: #fffaf0; font: inherit; font-weight: 600; line-height: 1.5; white-space: normal; box-shadow: none; }
body.campement-v22-design .woocommerce :is(table.shop_table, .woocommerce-checkout-review-order, #payment) { border-color: var(--camp-par-line); border-radius: 4px; }
body.campement-v22-design .woocommerce #payment { background: #eee6d6; }
body.campement-v22-design .woocommerce .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--camp-par-line); }
body.campement-v22-design .woocommerce .woocommerce-MyAccount-navigation li { padding: 13px 0; border-bottom: 1px solid var(--camp-par-line); }
body.campement-v22-design .woocommerce .woocommerce-MyAccount-navigation a { color: var(--camp-par-olive); text-decoration: none; }
body.campement-v22-design .woocommerce .woocommerce-MyAccount-navigation .is-active a { font-weight: 700; } body.campement-v22-design .campement-agenda__grid { gap: 30px; }
body.campement-v22-design .campement-agenda__card { min-width: 0; border: 1px solid var(--camp-par-line); border-radius: 4px; background: #fbf8f1; color: var(--camp-par-ink); box-shadow: none; }
body.campement-v22-design .campement-agenda__visual { border-radius: 3px 3px 0 0; }
body.campement-v22-design .campement-agenda__content { padding: clamp(22px, 3vw, 34px); }
body.campement-v22-design .campement-agenda__date { margin-bottom: 16px; color: #79603f; font-weight: 600; line-height: 1.6; }
body.campement-v22-design .campement-agenda__title { margin-bottom: 18px; color: var(--camp-par-olive); font-family: inherit; font-size: clamp(24px, 2.5vw, 32px); font-weight: 600; line-height: 1.25; text-transform: none; overflow-wrap: anywhere; }
body.campement-v22-design .campement-agenda__description { font-size: 16px; line-height: 1.8; }
body.campement-v22-design .campement-agenda__location { color: #5d6454; line-height: 1.6; }
body.campement-v22-design .campement-agenda__actions { gap: 12px; margin-top: 24px; }
body.campement-v22-design .campement-agenda__button { min-height: 46px; border-radius: 4px; font-family: inherit; font-weight: 600; line-height: 1.5; text-transform: none; white-space: normal; }
body.campement-v22-design .campement-agenda__button--calendar { border-color: #b8af9b; background: transparent; color: var(--camp-par-olive); }
body.campement-v22-design .campement-agenda__badge { border-radius: 3px; background: var(--camp-par-olive); color: #fffaf0; font-family: inherit; }
body.campement-v22-design .camp-formations-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
body.campement-v22-design .camp-formation-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(210px, 260px); align-items: start; gap: 28px; padding: clamp(22px, 3vw, 36px); border: 1px solid var(--camp-par-line); border-radius: 4px; background: #fbf8f1; color: var(--camp-par-ink); box-shadow: none; }
body.campement-v22-design .camp-formation-meta { display: grid; grid-template-columns: minmax(140px, 200px) minmax(0, 1fr); align-items: start; gap: 16px 24px; min-width: 0; }
body.campement-v22-design .camp-formation-meta h3 { grid-column: 1 / -1; margin: 0 0 6px; color: var(--camp-par-olive); font-family: inherit; font-size: clamp(22px, 2.2vw, 28px); font-weight: 600; line-height: 1.3; text-transform: none; overflow-wrap: anywhere; }
body.campement-v22-design .camp-formation-meta > img { grid-column: 1; grid-row: 2 / span 2; display: block; float: none; width: 100%; max-width: 200px; height: auto; max-height: 280px; margin: 0; border-radius: 3px; object-fit: contain; }
body.campement-v22-design .camp-formation-meta > :is(.excerpt, .meta) { grid-column: 2; min-width: 0; margin: 0; color: var(--camp-par-ink); font-size: 15px; line-height: 1.75; }
body.campement-v22-design .camp-formation-meta .meta { padding-left: 0; list-style: none; }
body.campement-v22-design .camp-formation-meta .meta li { margin: 0 0 8px; }
body.campement-v22-design .camp-formation-actions { min-width: 0; padding-left: 24px; border-left: 1px solid var(--camp-par-line); }
body.campement-v22-design .camp-formation-actions label { display: block; margin-bottom: 15px; color: var(--camp-par-ink); font-size: 14px; font-weight: 600; line-height: 1.6; }
body.campement-v22-design .camp-formation-actions :is(input[type="email"], input[type="number"]) { box-sizing: border-box; width: 100%; min-width: 0; min-height: 45px; margin-top: 6px; padding: 10px 12px; border: 1px solid #bcb39f; border-radius: 4px; background: #fffdf8; color: var(--camp-par-ink); font: inherit; }
body.campement-v22-design .camp-formation-actions input[type="number"] { max-width: 110px; }
body.campement-v22-design .camp-formation-actions .more { display: inline-block; margin-top: 16px; color: var(--camp-par-olive); text-decoration: underline; text-underline-offset: .2em; } body.campement-v22-design .camp-pay-page { box-sizing: border-box; min-width: 0; min-height: 0; padding: clamp(36px, 5vw, 70px) 24px; background: var(--camp-par-paper); color: var(--camp-par-ink); font-family: inherit; }
body.campement-v22-design .camp-pay-pill { margin-bottom: 18px; padding: 0 0 0 14px; border-left: 2px solid var(--camp-par-sand); border-radius: 0; background: transparent; color: #79603f; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
body.campement-v22-design .camp-pay-hero h1 { margin-bottom: 20px; color: var(--camp-par-olive); font-family: inherit; font-size: clamp(34px, 4.4vw, 58px); font-weight: 600; line-height: 1.1; letter-spacing: -.025em; overflow-wrap: anywhere; }
body.campement-v22-design .camp-pay-hero p { color: #5d6454; font-size: 17px; line-height: 1.75; }
body.campement-v22-design .camp-pay-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 18px; }
body.campement-v22-design .camp-pay-card { display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; min-width: 0; min-height: 230px; padding: 24px 20px; border: 1px solid var(--camp-par-line); border-radius: 4px; background: #fffdf8; color: var(--camp-par-ink); white-space: normal; overflow-wrap: anywhere; box-shadow: none; transform: none; }
body.campement-v22-design .camp-pay-card:hover { border-color: var(--camp-par-sand); box-shadow: none; transform: none; }
body.campement-v22-design .camp-pay-card.is-active { border: 2px solid var(--camp-par-olive); background: #e9eddf; box-shadow: none; transform: none; }
body.campement-v22-design .camp-pay-icon { width: 54px; height: 54px; margin-bottom: 18px; border-radius: 4px; background: #eee6d6; font-size: 27px; }
body.campement-v22-design .camp-pay-card h3 { max-width: 100%; color: var(--camp-par-olive); font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
body.campement-v22-design .camp-pay-card p { width: 100%; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
body.campement-v22-design .camp-pay-price { color: var(--camp-par-olive); font-size: 31px; font-weight: 700; line-height: 1.25; }
body.campement-v22-design .camp-pay-price span { font-size: 14px; }
body.campement-v22-design .camp-pay-bottom { position: static; min-width: 0; gap: 24px; padding: 28px; border-color: var(--camp-par-line); border-radius: 4px; background: #fbf8f1; box-shadow: none; }
body.campement-v22-design .camp-pay-summary strong { color: var(--camp-par-olive); font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.35; }
body.campement-v22-design .camp-pay-input-wrap { min-width: 0; border-radius: 4px; }
body.campement-v22-design .camp-pay-input-wrap input[type="number"] { min-width: 0; max-width: 100%; border-color: #bcb39f; border-radius: 4px; background: #fffdf8; color: var(--camp-par-ink); } body.campement-v22-design .campement-consultant-profile { padding-top: 20px; border-top: 2px solid var(--camp-par-sand); }
body.campement-v22-design .campement-consultant-profile h3 { margin: 0 0 12px; color: var(--camp-par-olive); font-family: inherit; font-size: clamp(24px, 2.2vw, 30px); font-weight: 600; line-height: 1.25; text-transform: none; overflow-wrap: anywhere; }
body.campement-v22-design .campement-consultant-profile__role { color: #79603f; font-weight: 600; line-height: 1.6; }
body.campement-v22-design .campement-consultant-profile__description { color: var(--camp-par-ink); font-size: 16px; line-height: 1.8; }
body.campement-v22-design :is(.campement-consultants-heading__intro, .campement-start__intro, .campement-start__text, .campement-final-cta__lead) { font-size: 17px; line-height: 1.8; }
body.campement-v22-design .campement-start__examples { padding-left: 18px; border-left: 2px solid var(--camp-par-sand); line-height: 1.8; } body.campement-v22-design:is(.page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) .entry-content .et_pb_text_inner { overflow-wrap: anywhere; }
body.campement-v22-design:is(.page-id-310, .page-id-333) .entry-content .et_pb_text_inner { max-width: 82ch; margin-inline: auto; line-height: 1.8; }
body.campement-v22-design:is(.page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) .entry-content .et_pb_text_inner :is(h1, h2, h3) { font-family: inherit; font-weight: 600; line-height: 1.3; text-transform: none; overflow-wrap: anywhere; }
body.campement-v22-design:is(.page-id-310, .page-id-333) #main-content .et_pb_text_inner :is(a, strong, span) { white-space: normal; overflow-wrap: anywhere; word-break: normal; }
body.campement-v22-design:is(.page-id-153, .page-id-1130, .page-id-730, .page-id-1178, .page-id-409, .page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) #main-content .et_pb_text_inner :is(h1, h2, h3, p, li, a, strong, span) { min-width: 0; max-width: 100%; white-space: normal !important; overflow-wrap: anywhere !important; word-break: normal; } body.campement-v22-design:is(.page-id-1130, .page-id-730, .page-id-1178, .page-id-409, .page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) #main-content .et_pb_button_module_wrapper { box-sizing: border-box; min-width: 0; max-width: 100% !important; }
body.campement-v22-design:is(.page-id-1130, .page-id-730, .page-id-1178, .page-id-409, .page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) #main-content a.et_pb_button {
display: inline-flex !important;
align-items: center;
justify-content: center;
box-sizing: border-box !important;
width: auto;
min-width: 0 !important;
max-width: 100% !important;
min-height: 48px;
padding: 12px 20px !important;
border: 1px solid var(--camp-par-sand) !important;
border-radius: 4px !important;
background: var(--camp-par-sand) !important;
color: var(--camp-par-ink) !important;
font-family: inherit !important;
font-weight: 600 !important;
line-height: 1.5 !important;
text-align: center;
text-decoration: none !important;
text-transform: none !important;
letter-spacing: 0 !important;
white-space: normal !important;
overflow-wrap: anywhere !important;
word-break: normal;
box-shadow: none;
}
body.campement-v22-design:is(.page-id-1130, .page-id-730, .page-id-1178, .page-id-409, .page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) #main-content a.et_pb_button::after { content: none !important; display: none !important; }
body.campement-v22-design:is(.page-id-1130, .page-id-730, .page-id-1178, .page-id-409, .page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) #main-content a.et_pb_button:hover { padding: 12px 20px !important; background: #cfb18b !important; border-color: #cfb18b !important; }
body.campement-v22-design:is(.page-id-1130, .page-id-730, .page-id-1178, .page-id-409, .page-id-310, .page-id-333, .page-id-442, .page-id-483, .page-id-497, .page-id-508, .page-id-530, .page-id-534, .page-id-538, .page-id-542, .page-id-545, .page-id-548, .page-id-553, .page-id-563) #main-content a.et_pb_button:focus-visible { outline: 3px solid var(--camp-par-olive); outline-offset: 3px; box-shadow: 0 0 0 5px #fffaf0; } body.campement-v22-design.page-id-1130 #main-content .et_pb_column { min-width: 0; max-width: 100%; }
body.campement-v22-design.page-id-1130 .hero-experts-intro,
body.campement-v22-design.page-id-1130 .hero-experts-title,
body.campement-v22-design.page-id-1130 .hero-experts-actions { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
body.campement-v22-design.page-id-1130 .hero-experts-intro p,
body.campement-v22-design.page-id-1130 .hero-experts-title h1 { overflow-wrap: anywhere; white-space: normal; }
body.campement-v22-design.page-id-1130 .hero-experts-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-start; }
body.campement-v22-design.page-id-1130 .hero-experts-actions > p { min-width: 0; max-width: 100%; margin: 0; padding: 0; }
body.campement-v22-design.page-id-1130 .hero-experts-actions > p:empty { display: none; }
body.campement-v22-design.page-id-1130 .hero-experts-button { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-width: 0; max-width: 100%; min-height: 48px; padding: 12px 20px; border: 1px solid var(--camp-par-sand); border-radius: 4px; font-family: inherit; font-weight: 600; line-height: 1.5; letter-spacing: 0; text-decoration: none; text-transform: none; text-align: center; white-space: normal; overflow-wrap: anywhere; }
body.campement-v22-design.page-id-1130 .hero-experts-button br { display: none; }
body.campement-v22-design.page-id-1130 .hero-experts-button--primary { background: var(--camp-par-sand); color: var(--camp-par-ink); }
body.campement-v22-design.page-id-1130 .hero-experts-button--secondary { border-color: #e4d5ba; background: transparent; color: #fffaf0; } body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], button[type="submit"], a):focus-visible,
body.campement-v22-design .woocommerce :is(button.button, input.button, a.button, input.input-text[type="text"], input.input-text[type="email"], input.input-text[type="tel"], input.input-text[type="password"], input.input-text[type="number"], textarea):focus-visible,
body.campement-v22-design :is(.campement-category-btn, .btn-reserver-ressource, .camp-tab, .camp-dash .camp-btn, .campement-agenda__button, .camp-formation-actions button[type="submit"], .camp-formation-actions input[type="email"], .camp-formation-actions input[type="number"], .camp-formation-actions .more, .camp-pay-card, .camp-pay-bottom button[type="submit"], .camp-pay-input-wrap input[type="number"], .campement-expert-booking a, .campement-final-booking a):focus-visible {
outline: 3px solid var(--camp-par-olive);
outline-offset: 3px;
box-shadow: 0 0 0 5px #fffaf0;
}
@media (max-width: 980px) {
body.campement-v22-design.page-id-1130 #main-content .et_pb_row { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 28px; }
body.campement-v22-design.page-id-1130 #main-content .et_pb_row::after { content: none !important; display: none !important; }
body.campement-v22-design.page-id-1130 #main-content .et_pb_row > .et_pb_column { float: none !important; flex: none !important; width: 100% !important; min-width: 0; max-width: 100%; margin: 0 !important; }
body.campement-v22-design .campement-reservation { grid-template-columns: minmax(0, 1fr); }
body.campement-v22-design .camp-formation-card { grid-template-columns: minmax(0, 1fr); }
body.campement-v22-design .camp-formation-actions { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--camp-par-line); }
body.campement-v22-design .camp-formation-actions form { display: flex; flex-wrap: wrap; align-items: end; gap: 16px 24px; }
body.campement-v22-design .camp-formation-actions label { flex: 1 1 180px; margin-bottom: 0; }
body.campement-v22-design .camp-formation-actions button[type="submit"] { flex: 0 1 auto; }
}
@media (max-width: 640px) {
body.campement-v22-design.page-id-1130 .hero-experts-actions { display: block; }
body.campement-v22-design.page-id-1130 .hero-experts-actions > p { margin-top: 12px; }
body.campement-v22-design.page-id-1130 .hero-experts-button { width: 100%; }
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) { margin: 20px auto; padding: 24px 20px; }
body.campement-v22-design .formulaire-inscription-custom .form-grid { grid-template-columns: minmax(0, 1fr); }
body.campement-v22-design .formulaire-inscription-custom .form-group.full { grid-column: 1; }
body.campement-v22-design :is(.formulaire-connexion-custom, .formulaire-inscription-custom) button[type="submit"] { width: 100%; }
body.campement-v22-design .campement-category-btn { flex: 1 1 140px; }
body.campement-v22-design .camp-weekly__header { flex-wrap: wrap; }
body.campement-v22-design .camp-weekly__header h3 { flex: 1 1 100%; order: -1; }
body.campement-v22-design .camp-dash .camp-tab { flex: 1 1 100%; justify-content: flex-start; margin-right: 0; }
body.campement-v22-design .camp-dash .camp-card { padding: 20px 16px; }
body.campement-v22-design .camp-formation-meta { grid-template-columns: minmax(0, 1fr); }
body.campement-v22-design .camp-formation-meta > img { grid-column: 1; grid-row: auto; max-width: 260px; justify-self: center; }
body.campement-v22-design .camp-formation-meta > :is(.excerpt, .meta) { grid-column: 1; }
body.campement-v22-design .camp-formation-actions form { display: block; }
body.campement-v22-design .camp-formation-actions label { margin-bottom: 16px; }
body.campement-v22-design .camp-formation-actions button[type="submit"] { width: 100%; }
body.campement-v22-design .campement-agenda__actions { flex-direction: column; align-items: stretch; }
body.campement-v22-design .campement-agenda__button { width: 100%; }
body.campement-v22-design .camp-pay-page { padding: 36px 20px; }
body.campement-v22-design .camp-pay-bottom { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px 18px; }
body.campement-v22-design .camp-pay-bottom button[type="submit"] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
body.campement-v22-design :is(.campement-category-btn, .btn-reserver-ressource, .camp-tab, .camp-pay-card, .campement-agenda__button, .camp-reservation-auth__button) { transition: none; }
}