/* Réservation Kou-Bugny — styles limités au panneau et à la page du shortcode. */
#kbr-dialog:not([open]) {display:none !important;}
#kbr-dialog.kbr-shell {
  position:fixed !important;inset:0 0 0 auto !important;box-sizing:border-box;
  width:min(690px,100vw) !important;max-width:100vw !important;
  height:100vh;height:100dvh;max-height:100dvh !important;
  margin:0 !important;padding:0 !important;border:0 !important;border-left:3px solid #5b9fc5 !important;
  background:#faf7ef !important;color:#674c2d;overflow:hidden;box-shadow:-12px 0 45px #0003;
}
#kbr-dialog[open] {display:flex !important;flex-direction:column;animation:kbr-entree .3s ease both;}
#kbr-dialog::backdrop {background:rgba(12,36,39,.57);}
#kbr-dialog *, .kbr-page * {box-sizing:border-box;}
#kbr-dialog .kbr-head {position:relative;display:flex;align-items:flex-start;gap:20px;justify-content:space-between;padding:28px 30px 23px;border-bottom:1px solid #dfd3bf;background:#f3ecdf;flex-shrink:0;}
.kbr-shell .kbr-overline {display:block;color:#83705a;font-size:10px;line-height:1.7;letter-spacing:1.8px;}
#kbr-dialog h2 {margin:10px 0 0 !important;font-size:30px !important;line-height:1.25 !important;color:#674c2d !important;text-transform:none;}
#kbr-dialog .kbr-close {display:grid !important;place-items:center;flex:0 0 40px;width:40px;height:40px;margin:0 !important;padding:0 !important;border:1px solid #d3c2aa;border-radius:50%;background:#faf7ef;color:#674c2d;font:300 28px/1 Arial,sans-serif;cursor:pointer;}
#kbr-dialog .kbr-close:hover {background:#5b9fc5;color:#fff;}
#kbr-dialog .kbr-scroll {overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;padding:24px 30px 35px;}
.kbr-shell .kbr-intro {margin:0 0 20px;color:#746956;font-size:14px;line-height:1.7;}
.kbr-shell .kbresa-form {color:#674c2d;max-width:100%;}
.kbr-shell .kbresa-obligatoire {font-size:11px;color:#817666;margin:0 0 18px;}
.kbr-shell .kbresa-section {display:block;min-width:0;margin:0 0 25px !important;padding:0 !important;border:0 !important;}
.kbr-shell .kbresa-section legend {float:none !important;width:100%;padding:0 0 12px !important;margin:0 0 15px !important;border-bottom:1px solid #b4d2e2;font-size:21px;line-height:1.5;color:#32769e;}
.kbr-shell .kbresa-section legend > span {margin-right:12px;font-weight:400;color:#5b9fc5;}
.kbr-shell .kbresa-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.kbr-shell .kbresa-voyageurs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px;}
.kbr-shell .kbresa-champ {min-width:0;}
.kbr-shell .kbresa-large {grid-column:1/-1;}
.kbr-shell .kbresa-champ > p {margin:0;}
.kbr-shell .kbresa-champ label {display:block;margin:0 0 7px;color:#674c2d;font-size:13px;font-weight:500;line-height:1.5;}
.kbr-shell .wpcf7-form-control-wrap {display:block;}
.kbr-shell .kbresa-champ :is(input[type="text"],input[type="email"],input[type="tel"],input[type="date"],select,textarea) {
  display:block !important;box-sizing:border-box;width:100% !important;max-width:100% !important;min-width:0 !important;
  min-height:45px;margin:0 !important;padding:11px 12px !important;border:1px solid #ccbea7 !important;border-radius:6px !important;
  background:#fffdf8 !important;color:#674c2d !important;font-family:inherit;font-size:15px !important;line-height:1.5;box-shadow:none;
}
.kbr-shell .kbresa-champ select {padding-right:28px !important;}
.kbr-shell .kbresa-champ textarea {min-height:115px;resize:vertical;}
.kbr-shell .kbresa-champ :is(input,select,textarea):focus {outline:2px solid #5b9fc5 !important;outline-offset:2px;border-color:#5b9fc5 !important;}
.kbr-shell .kbresa-champ ::placeholder {color:#a19684;opacity:1;}
.kbr-shell .kbresa-aide {font-size:12px;line-height:1.7;color:#81715d;margin:10px 0 0;}
.kbr-shell .kbresa-envoi {text-align:center;}
.kbr-shell input.wpcf7-submit {display:block !important;width:100% !important;min-height:50px;margin:0 !important;padding:14px 22px !important;border:0 !important;border-bottom:3px solid #32769e !important;border-radius:6px !important;background:#5b9fc5 !important;color:white !important;font-size:16px !important;font-family:inherit;line-height:1.5;cursor:pointer;transition:background .2s;}
.kbr-shell input.wpcf7-submit:hover {background:#32769e !important;}
.kbr-shell .kbresa-envoi > p {margin:12px 0 0;font-size:12px;line-height:1.7;}
.kbr-shell .kbresa-envoi .kbresa-delai {color:#80715d;font-size:11px;}
.kbr-shell .kbresa-envoi a,.kbr-shell .kbr-bottom a {display:inline-block;margin-top:12px;color:#32769e;text-decoration:underline;text-underline-offset:4px;font-size:12px;}
.kbr-shell .wpcf7-not-valid-tip {font-size:12px;line-height:1.5;margin-top:6px;}
.kbr-shell .wpcf7-response-output {margin:18px 0 0 !important;padding:14px !important;border-radius:6px;line-height:1.7;font-size:14px;}
.kbr-shell :is(button,a,input):focus-visible {outline:2px solid #32769e;outline-offset:3px;}
.kbr-shell .kbr-bottom {text-align:center;margin:20px 0 0;}
#kbr-dialog #kbr-title:focus {outline:none;}
.kbr-page {box-sizing:border-box;width:100%;max-width:920px;margin:35px auto;padding:clamp(22px,4vw,50px);background:#faf7ef;border:1px solid #d3c2aa;border-radius:14px;color:#674c2d;}
.kbr-page .kbr-page-head {margin-bottom:25px;}
.kbr-page h1 {font-size:clamp(28px,4vw,42px);line-height:1.25;color:#674c2d;text-transform:none;margin:12px 0;}
.kbr-page .kbr-page-head p {font-size:15px;line-height:1.8;color:#786d5f;}
@keyframes kbr-entree {from{transform:translateX(45px);opacity:0;}to{transform:translateX(0);opacity:1;}}
@media(max-width:650px){
 #kbr-dialog.kbr-shell {width:100vw !important;border-left:0 !important;}
 #kbr-dialog .kbr-head {padding:20px;}
 #kbr-dialog h2 {font-size:26px !important;}
 #kbr-dialog .kbr-scroll {padding:20px 20px 30px;}
 .kbr-shell .kbresa-champ :is(input,select,textarea) {font-size:16px !important;}
 .kbr-shell .kbresa-voyageurs {gap:8px;}
 .kbr-shell .kbresa-voyageurs label {font-size:11px;}
}
@media(max-width:420px){.kbr-shell .kbresa-grid {grid-template-columns:1fr;}.kbr-shell .kbresa-large {grid-column:auto;}}
@media(prefers-reduced-motion:reduce){#kbr-dialog[open]{animation:none;}.kbr-shell *{transition:none !important;}}
