/*
Theme Name: Beaubilhome
Theme URI: https://beaubilhome.com/
Author: Beaubilhome
Author URI: https://beaubilhome.com/
Description: Thème officiel Beaubilhome pour la location du mobil-home à Bray-Dunes. Compatible avec Contact Form 7 et reCAPTCHA v3.
Version: 1.8.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: beaubilhome
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/

/* Adaptation native du formulaire Contact Form 7 */
.wordpressContactForm .wpcf7-form{margin:0}
.wordpressContactForm .wpcf7-form>p{margin:0 0 20px}
.wordpressContactForm .wpcf7-form label{display:grid;gap:9px;color:#526970;font-size:12px;font-weight:750;letter-spacing:.04em}
.wordpressContactForm .wpcf7-form-control-wrap{display:block;width:100%;margin-top:9px}
.wordpressContactForm input:not([type="checkbox"]):not([type="submit"]),.wordpressContactForm select,.wordpressContactForm textarea{width:100%;border:1px solid #cfc7b9;background:#fffdf8;color:#142d3b;font:500 16px var(--font-sans),sans-serif;padding:14px 15px;border-radius:0}
.wordpressContactForm textarea{min-height:150px;resize:vertical}
.wordpressContactForm input:focus,.wordpressContactForm select:focus,.wordpressContactForm textarea:focus{outline:3px solid #a5ded680;border-color:#073b5c}
.wordpressContactForm input[type="submit"]{border:0;background:#073b5c;color:#fff;padding:17px 20px;font:800 13px var(--font-sans),sans-serif;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.wordpressContactForm input[type="submit"]:hover,.wordpressContactForm input[type="submit"]:focus-visible{background:#1f686c}
.wordpressContactForm .wpcf7-list-item{margin:0}.wordpressContactForm .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.55}
.wordpressContactForm input[type="checkbox"]{width:18px;height:18px;margin-top:2px;accent-color:#073b5c}
.wordpressContactForm .wpcf7-response-output{margin:22px 0 0!important;padding:14px 16px!important;font-size:14px;line-height:1.55;border-width:0 0 0 4px!important;background:#eef3f3;border-color:#8aa0a4!important}
.wordpressContactForm form.sent .wpcf7-response-output{background:#e4f5f1;color:#235e61;border-color:#073b5c!important}
.wordpressContactForm form.invalid .wpcf7-response-output,.wordpressContactForm form.failed .wpcf7-response-output{background:#fff0ed;color:#8c382d;border-color:#c65d4f!important}
.wordpressContactForm .wpcf7-not-valid-tip{margin-top:6px;color:#a33429;font-size:12px}
.admin-bar .nav{top:32px}@media(max-width:782px){.admin-bar .nav{top:46px}}

/* Lightbox native du thème WordPress */
.beaubilhome-lightbox-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* Page de pré-réservation */
.preReservationPage{min-height:100vh;background:#fffaf0;color:#173f46}.reservationNav{height:82px;padding:0 5vw;background:#1c5257;color:#fff;display:flex;align-items:center;justify-content:space-between}.reservationNav .logo small{color:#c4e4df}.reservationBack{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #ffffff80;padding-bottom:5px}.reservationHero{position:relative;min-height:410px;color:#fff;display:flex;align-items:center;overflow:hidden}.reservationHero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}.reservationHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,#0000009c,#00000045 60%,transparent)}.reservationHeroText{position:relative;z-index:2;margin-left:8vw;max-width:800px}.reservationHeroText h1{font:400 clamp(52px,6.5vw,92px)/.92 var(--font-serif);letter-spacing:-.04em;margin:20px 0}.reservationHeroText>p:last-child{font-size:18px;font-weight:700}.reservationContent{display:grid;grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);gap:5vw;padding:80px 6vw 95px;align-items:start}.reservationIntro{position:static}.reservationIntro h2{font:400 clamp(42px,4.6vw,66px)/.95 var(--font-serif);letter-spacing:-.035em;margin:22px 0}.reservationIntro>p:not(.eyebrow){color:#596d76;font-size:18px;line-height:1.7}.reservationInfo{margin-top:34px;border-top:1px solid #d7d0c3}.reservationInfo p{display:flex;justify-content:space-between;gap:18px;margin:0;padding:17px 0;border-bottom:1px solid #d7d0c3;font-size:14px}.reservationInfo strong{color:#2b7f83}.reservationInfo span{color:#65777d;text-align:right}.reservationFooter{background:#1c5257;color:#fff;padding:26px 5vw;display:flex;justify-content:space-between;align-items:center}.reservationFooter p{margin:0;color:#c4e4df;font-size:12px}.reservationFooter a{font-size:13px;font-weight:700}
@media(max-width:900px){.reservationContent{grid-template-columns:1fr;padding:60px 5vw 75px}.reservationIntro{position:static}.reservationHero{min-height:360px}}
@media(max-width:560px){.reservationNav{height:72px}.reservationNav .logo>span{display:none}.reservationBack{font-size:12px}.reservationHero{min-height:330px}.reservationHeroText{margin:0 6vw}.reservationHeroText h1{font-size:48px}.reservationHeroText>p:last-child{font-size:15px}.reservationContent{padding:45px 0 60px}.reservationIntro{padding:0 5vw}.reservationIntro h2{font-size:38px}.reservationFooter{align-items:flex-start;flex-direction:column;gap:10px}.reservationFooter p{font-size:11px}}

/* Nouveau formulaire natif de pré-réservation */
.bookingForm{display:grid;gap:18px}.bookingHoneypot{position:absolute!important;left:-9999px!important}.bookingFormSection{background:#fff;padding:34px 38px 38px;box-shadow:0 18px 50px #173f4612;border-top:4px solid #f4c542}.bookingSectionTitle{display:flex;align-items:center;gap:18px;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid #d7d0c3}.bookingSectionTitle>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:#2b7f83;color:#fff;font:700 14px var(--font-serif),serif}.bookingSectionTitle small{display:block;color:#78868a;font-size:10px;font-weight:800;letter-spacing:.14em}.bookingSectionTitle h2{font:400 30px var(--font-serif),serif;margin:5px 0 0}.bookingFields{display:grid;gap:20px}.bookingFields.twoColumns{grid-template-columns:1fr 1fr}.bookingFields .full{grid-column:1/3}.bookingFields label,.travellerCounts label,.occupantGrid label,.messageField{display:grid;gap:8px}.bookingFields label>span:not(.phoneField),.travellerCounts label>span,.occupantGrid label>span,.messageField>span{font-size:12px;font-weight:800;color:#4d656b;letter-spacing:.025em}.bookingFields label>small{font-size:11px;color:#849094;margin-top:-5px}.bookingForm input:not([type="radio"]):not([type="checkbox"]):not([type="file"]),.bookingForm select,.bookingForm textarea{width:100%;border:1px solid #d2cabd;background:#fffdf8;color:#173f46;font:500 16px var(--font-sans),sans-serif;padding:14px 15px;border-radius:2px}.bookingForm input:focus,.bookingForm select:focus,.bookingForm textarea:focus{outline:3px solid #a5ded680;border-color:#2b7f83}.phoneField{display:grid;grid-template-columns:108px 1fr}.phoneField select{border-right:0}.travellerCounts{display:grid;grid-template-columns:1fr 1fr;gap:18px}.travellerCounts input{max-width:150px}.occupantHelp{margin:24px 0 15px;color:#708087;font-size:14px;line-height:1.55}.occupantGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.petChoices{display:grid;grid-template-columns:1fr 1fr;gap:14px}.petChoices label{position:relative;display:flex;align-items:flex-start;gap:13px;padding:20px;border:1px solid #d2cabd;background:#fffdf8;cursor:pointer}.petChoices input{margin-top:4px;accent-color:#2b7f83}.petChoices b,.petChoices small{display:block}.petChoices b{font:600 17px var(--font-serif),serif;margin-bottom:5px}.petChoices small{color:#748388;font-size:12px;line-height:1.5}.documentNotice{display:flex;gap:16px;padding:20px;background:#edf7f5;border-left:4px solid #2b7f83;margin-bottom:20px}.documentNotice>span{font-size:26px}.documentNotice strong{font:600 18px var(--font-serif),serif}.documentNotice p{margin:6px 0;color:#5b7177;font-size:13px;line-height:1.55}.documentNotice small{color:#728287;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.fileDrop{display:grid;place-items:center;min-height:170px;padding:28px;border:2px dashed #a9c8c4;background:#fbf8f1;text-align:center;cursor:pointer}.fileDrop input{position:absolute;opacity:0;pointer-events:none}.fileDrop>span{display:grid;place-items:center;width:44px;height:44px;margin-bottom:10px;border-radius:50%;background:#2b7f83;color:#fff;font-size:24px}.fileDrop strong{font:600 18px var(--font-serif),serif}.fileDrop small{margin-top:5px;color:#7a888c;font-size:12px}.messageField{margin-top:22px}.bookingForm textarea{resize:vertical;min-height:145px}.bookingConsent{display:flex;align-items:flex-start;gap:10px;margin-top:20px;color:#62757a;font-size:12px;line-height:1.55}.bookingConsent input{width:18px;height:18px;flex:0 0 auto;margin-top:1px;accent-color:#2b7f83}.bookingSubmit{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 32px;background:#245f64;color:#fff}.bookingSubmit strong{font:600 20px var(--font-serif),serif}.bookingSubmit p{margin:5px 0 0;color:#d4e9e6;font-size:12px}.bookingSubmit button{border:0;background:#f4c542;color:#2b7f83;padding:17px 20px;font:800 13px var(--font-sans),sans-serif;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.bookingSubmit button span{margin-left:18px}.bookingSubmit button:hover,.bookingSubmit button:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #0003}.bookingFormError{margin:0;padding:15px 18px;background:#fff0ed;border-left:4px solid #c65d4f;color:#8c382d;font-size:14px;line-height:1.6}
.pac-container{z-index:10000;font-family:var(--font-sans),sans-serif;border:1px solid #d2cabd;box-shadow:0 12px 30px #173f4630}.pac-item{padding:8px 12px;color:#4d656b;cursor:pointer}.pac-item:hover{background:#edf7f5}.pac-item-query{color:#173f46}
.filePreviewArea{margin-top:18px;padding:18px;background:#f6fbfa;border:1px solid #c6ddd9}.filePreviewArea[hidden]{display:none}.filePreviewArea>p{display:flex;justify-content:space-between;gap:12px;margin:0 0 14px;color:#41636a;font-size:13px}.filePreviewArea>p span{color:#74878b}.filePreviewGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filePreviewCard{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr);gap:13px;align-items:center;min-height:94px;padding:8px 38px 8px 8px;background:#fff;border:1px solid #d7d0c3}.filePreviewVisual{display:grid;place-items:center;width:78px;height:76px;overflow:hidden;background:#edf7f5}.filePreviewVisual img{width:100%;height:100%;object-fit:cover}.pdfPreview{display:grid;place-items:center;width:46px;height:56px;background:#c75246;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em}.filePreviewInfo{min-width:0;display:grid;gap:4px}.filePreviewInfo strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#173f46}.filePreviewInfo small{font-size:11px;color:#819095}.filePreviewInfo a{width:max-content;color:#2b7f83;font-size:11px;font-weight:800;text-decoration:underline}.filePreviewCard>button{position:absolute;top:7px;right:8px;width:25px;height:25px;border:0;border-radius:50%;background:#edf1ef;color:#49656b;font-size:18px;line-height:1;cursor:pointer}.filePreviewCard>button:hover,.filePreviewCard>button:focus-visible{background:#c75246;color:#fff}
.reservationProcedure{margin-top:30px;background:#fff;padding:24px 22px 26px;border-top:4px solid #f4c542;box-shadow:0 18px 50px #173f4612}.procedureEyebrow{margin:0;color:#2b7f83;font-size:10px;font-weight:900;letter-spacing:.15em}.reservationProcedure>h2{margin:8px 0 10px;font:400 27px var(--font-serif),serif;color:#173f46}.procedureIntro{margin:0 0 20px;color:#64777d;font-size:13px;line-height:1.6}.procedureSteps{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0;list-style:none}.procedureSteps li{display:flex;gap:11px;padding:14px;background:#fbf8f1;border:1px solid #e2dbcf}.procedureSteps li>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:#2b7f83;color:#fff;font:700 10px var(--font-serif),serif}.procedureSteps strong{display:block;margin:1px 0 5px;font:600 16px var(--font-serif),serif;color:#173f46}.procedureSteps p{margin:0;color:#65777d;font-size:11px;line-height:1.55}.procedureAlert{display:flex;gap:11px;align-items:flex-start;margin-top:12px;padding:15px;background:#fff0ed;border-left:4px solid #c75246}.procedureAlert>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#c75246;color:#fff;font-weight:900}.procedureAlert p{margin:0;color:#7b3c34;font-size:11px;line-height:1.6}.procedureAlert strong{display:block;margin-bottom:3px;color:#963d32;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:560px){.reservationProcedure{padding:24px 20px 26px}.reservationProcedure>h2{font-size:27px}.bookingForm{gap:12px}.bookingFormSection{padding:28px 5vw 32px}.bookingSectionTitle h2{font-size:26px}.bookingFields.twoColumns,.travellerCounts,.occupantGrid,.petChoices,.filePreviewGrid{grid-template-columns:1fr}.bookingFields .full{grid-column:auto}.phoneField{grid-template-columns:98px 1fr}.filePreviewArea>p{display:grid}.bookingSubmit{align-items:stretch;flex-direction:column;padding:26px 5vw}.bookingSubmit button{width:100%}}
