/* Clean static-site layer: legacy Next.js font-loader declarations removed. */
/* Functional integration layer — preserves the supplied HTML/CSS design. */
.lp-language-switcher{position:relative;z-index:10001}.lp-language-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:170px;padding:6px;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.5)}.lp-language-menu[hidden],#site-mobile-menu[hidden],.lp-menu-plus-panel[hidden],.lp-reservation-step[hidden]{display:none!important}.lp-language-menu button{width:100%;display:grid;grid-template-columns:24px 1fr auto;gap:9px;align-items:center;padding:10px 11px;border:0;background:transparent;color:#eee;text-align:left;border-radius:8px;cursor:pointer}.lp-language-menu button:hover,.lp-language-menu button:focus-visible{background:rgba(245,158,11,.10);color:#fbbf24;outline:none}.lp-language-menu strong{font-size:10px;letter-spacing:.12em;color:#777}.lp-menu-plus-wrap{position:relative}.lp-menu-plus-panel{position:absolute;right:0;top:calc(100% + 12px);width:230px;padding:8px;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.5);z-index:10000}.lp-menu-plus-panel a{display:block;padding:11px 12px;color:#eee;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-radius:7px}.lp-menu-plus-panel a:hover,.lp-menu-plus-panel a:focus-visible{background:rgba(245,158,11,.10);color:#fbbf24;outline:none}#site-mobile-menu{position:fixed;inset:72px 12px auto 12px;z-index:9999;background:#0a0a0a;border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.55);max-height:calc(100vh - 90px);overflow:auto}#site-mobile-menu .lp-mobile-title{font-family:Georgia,'Times New Roman',serif;color:#fbbf24;font-size:16px;margin:2px 8px 14px}#site-mobile-menu nav{display:grid;gap:3px}#site-mobile-menu a{display:block;padding:13px 12px;color:#f4f4f5;text-decoration:none;border-radius:9px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}#site-mobile-menu a:hover,#site-mobile-menu a:focus-visible{background:rgba(245,158,11,.10);color:#fbbf24;outline:none}body.menu-open{overflow:hidden}.lp-gallery-stage{width:min(380px,calc(100vw - 48px))!important;height:500px!important;aspect-ratio:auto!important;margin-left:auto!important;margin-right:auto!important}.lp-gallery-stage>div.z-\[3\]{opacity:1!important;transform:none!important}.lp-gallery-stage>div.z-\[3\] img{object-fit:contain!important;width:100%!important;height:100%!important}.lp-gallery-stage+div button{width:112px!important;height:88px!important;transform:none!important}.lp-gallery-active{border-color:#fbbf24!important;opacity:1!important;transform:none!important}.lp-reservation-step{width:100%}
@media(max-width:679px){.lp-gallery-stage{width:min(360px,calc(100vw - 32px))!important;height:500px!important}.lp-language-menu{right:-6px}.lp-menu-plus-panel{position:fixed;right:12px;top:72px}}
@media(min-width:1280px){#site-mobile-menu{display:none!important}}

/* Functional fixes: gallery visibility + fixed editorial scale + testimonial snap carousel + reservation progress. */
.lp-gallery-stage{width:380px!important;height:500px!important;max-width:calc(100vw - 24px)!important;flex:none!important;}
.lp-gallery-stage>div.z-\[3\]{opacity:1!important;transform:none!important;visibility:visible!important;inset:0!important;}
.lp-gallery-main-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;display:block!important;opacity:1!important;visibility:visible!important;}
.lp-gallery-stage img{max-width:none!important;}
.lp-gallery-stage+div{width:100%!important;overflow-x:auto!important;}
.lp-gallery-stage+div>div{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;}
.lp-gallery-stage+div button{flex:0 0 112px!important;width:112px!important;height:88px!important;transform:none!important;}
.lp-gallery-active{border-color:#fbbf24!important;opacity:1!important;transform:none!important;}
.lp-testimonials-rail{display:flex!important;flex-wrap:nowrap!important;gap:1.25rem!important;width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0.5rem 0.25rem 1.25rem!important;scroll-snap-type:x mandatory!important;scroll-behavior:smooth!important;overscroll-behavior-x:contain!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;}
.lp-testimonial-card{flex:0 0 min(82vw,520px)!important;min-height:230px!important;scroll-snap-align:center!important;background:rgba(12,12,12,.9)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:1.25rem!important;padding:1.75rem!important;box-sizing:border-box!important;}
.lp-testimonial-rating{letter-spacing:.18em!important;color:#fbbf24!important;font-size:.85rem!important;}
.lp-testimonial-rating-empty{color:#3f3f46!important;}
.lp-testimonial-card blockquote{margin:1rem 0 0!important;color:#e4e4e7!important;font-size:1rem!important;line-height:1.75!important;font-weight:300!important;}
.lp-testimonial-meta{display:flex!important;justify-content:space-between!important;gap:1rem!important;margin-top:1.25rem!important;padding-top:.9rem!important;border-top:1px solid rgba(255,255,255,.08)!important;color:#71717a!important;font-size:.75rem!important;}
.lp-testimonial-meta strong{color:#fff!important;font-weight:500!important;}
.lp-testimonials-cta{display:inline-flex!important;margin:1.25rem auto 0!important;padding:.75rem 1.2rem!important;border:1px solid rgba(251,191,36,.45)!important;color:#fbbf24!important;text-decoration:none!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:.68rem!important;border-radius:999px!important;}
.lp-testimonials-rail:focus-visible{outline:1px solid rgba(251,191,36,.6)!important;outline-offset:6px!important;}
@media (min-width:681px){.lp-testimonial-card{flex-basis:min(46vw,520px)!important;}.lp-testimonials-rail{gap:1.5rem!important;}}
@media (max-width:680px){.lp-gallery-stage{width:380px!important;height:500px!important;max-width:calc(100vw - 16px)!important;}.lp-testimonial-card{flex-basis:84vw!important;}.lp-testimonials-rail{scroll-padding-left:8vw!important;scroll-padding-right:8vw!important;}}

/* V6 functional hardening: recovered static pages */
#testimonies .text-center[style]{opacity:1!important;transform:none!important;visibility:visible!important;}
#testimonies .relative > .grid{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
#testimonies .lp-testimonials-rail{min-height:180px;align-items:stretch;}
#testimonies .lp-testimonial-card{opacity:1!important;visibility:visible!important;display:flex!important;flex-direction:column!important;}
.lp-gallery-stage > [class~="z-[3]"]{opacity:1!important;visibility:visible!important;transform:none!important;z-index:3!important;}
.lp-gallery-stage > [class~="z-[3]"] > img,
.lp-gallery-stage .lp-gallery-main-image{opacity:1!important;visibility:visible!important;display:block!important;}
.lp-faq-answer{display:block;}


/* V8 — clean gallery replacement + responsive reservation hardening. */
.lp-gallery-clean{width:100%;display:flex;flex-direction:column;align-items:center;gap:1rem;min-width:0;}
.lp-gallery-viewer{position:relative;width:min(380px,calc(100vw - 32px));height:500px;max-width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#050505;display:flex;align-items:center;justify-content:center;touch-action:pan-y;outline:none;}
.lp-gallery-main-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;opacity:1!important;visibility:visible!important;position:relative!important;inset:auto!important;transition:opacity .18s ease,transform .18s ease;}
.lp-gallery-main-image.is-changing{opacity:.72!important;transform:scale(.992);}
.lp-gallery-control{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.58);color:#fbbf24;font-size:38px;line-height:1;border-radius:50%;display:grid;place-items:center;cursor:pointer;}
.lp-gallery-prev{left:1rem}.lp-gallery-next{right:1rem}.lp-gallery-control:focus-visible{outline:2px solid #fbbf24;outline-offset:3px;}
.lp-gallery-snap-rail{width:min(100%,760px);max-width:100%;display:flex;gap:.75rem;overflow-x:auto;overflow-y:hidden;padding:.35rem .5rem .75rem;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
.lp-gallery-thumb{flex:0 0 112px;width:112px;height:88px;position:relative;padding:0;overflow:hidden;border:2px solid #171717;background:#050505;scroll-snap-align:center;cursor:pointer;opacity:.72;}
.lp-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;}
.lp-gallery-thumb.is-active{border-color:#fbbf24;opacity:1;}
.lp-gallery-thumb:focus-visible{outline:2px solid #fbbf24;outline-offset:3px;}
/* Neutralize only the recovered gallery implementation so it cannot override V8. */
#gallery .lp-gallery-stage,#gallery [data-gallery-clean]~*{display:none!important;}
/* Reservation must never grow beyond its containing column or viewport. */
#reservation,body[data-page="reservation"] form{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important;}
body[data-page="reservation"] form *{box-sizing:border-box;min-width:0;max-width:100%;}
body[data-page="reservation"] form input,body[data-page="reservation"] form select,body[data-page="reservation"] form textarea{width:100%;max-width:100%;min-width:0;}
body[data-page="reservation"] form .grid{min-width:0;width:100%;}
body[data-page="reservation"] form .lp-reservation-step>div{width:100%;max-width:100%;min-width:0;overflow:hidden;}
body[data-page="reservation"] form .lp-reservation-step .flex.justify-between{flex-wrap:wrap;align-items:center;}
body[data-page="reservation"] form .lp-reservation-step button{max-width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;}
@media(max-width:680px){
  .lp-gallery-viewer{width:min(380px,calc(100vw - 24px));height:min(500px,calc(100vh - 220px));min-height:420px;}
  .lp-gallery-control{width:44px;height:44px;font-size:34px;}
  .lp-gallery-prev{left:.7rem}.lp-gallery-next{right:.7rem}
  .lp-gallery-snap-rail{width:100%;padding-left:calc((100vw - 112px)/2);padding-right:calc((100vw - 112px)/2);}
  body[data-page="reservation"] form .lp-reservation-step>div{padding-left:1rem!important;padding-right:1rem!important;}
  body[data-page="reservation"] form .lp-reservation-step .flex.justify-between{justify-content:space-between;}
  body[data-page="reservation"] form .lp-reservation-step .flex.justify-between button{flex:1 1 140px;}
}


/* V9 — reservation layout hardening: no overflow, stable buttons, mobile/desktop safe. */
body[data-page="reservation"]{overflow-x:hidden;}
body[data-page="reservation"] #reservation,
body[data-page="reservation"] #reservation *{box-sizing:border-box;}
body[data-page="reservation"] #reservation form{
  width:100%!important;
  max-width:42rem!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:visible!important;
}
body[data-page="reservation"] #reservation form > *{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
body[data-page="reservation"] #reservation form > .lp-reservation-step > div{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body[data-page="reservation"] #reservation form input,
body[data-page="reservation"] #reservation form select,
body[data-page="reservation"] #reservation form textarea{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body[data-page="reservation"] #reservation form .grid{
  grid-template-columns:minmax(0,1fr)!important;
}
@media (min-width:680px){
  body[data-page="reservation"] #reservation form .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
body[data-page="reservation"] #reservation form .flex.justify-between{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem!important;
  width:100%!important;
  align-items:stretch!important;
}
body[data-page="reservation"] #reservation form .flex.justify-between button{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:.75rem 1rem!important;
  font-size:clamp(.78rem,1.8vw,.95rem)!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
}
body[data-page="reservation"] #reservation form input[type="file"]{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  font-size:.78rem!important;
}
@media (max-width:679px){
  body[data-page="reservation"] #reservation{padding-left:0!important;padding-right:0!important;}
  body[data-page="reservation"] #reservation form{max-width:100%!important;}
  body[data-page="reservation"] #reservation form > .lp-reservation-step > div{
    padding:1rem!important;
    border-radius:1.25rem!important;
  }
  body[data-page="reservation"] #reservation form .grid{gap:.9rem!important;}
  body[data-page="reservation"] #reservation form .flex.justify-between{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem!important;}
  body[data-page="reservation"] #reservation form .flex.justify-between button{padding:.72rem .55rem!important;font-size:.78rem!important;line-height:1.2!important;}
}
@media (max-width:380px){
  body[data-page="reservation"] #reservation form .flex.justify-between{grid-template-columns:1fr;}
}

/* =========================================================
   RESERVATION — FINAL RESPONSIVE FIX
   ========================================================= */
body[data-page="reservation"] { overflow-x:hidden !important; }
body[data-page="reservation"] #reservation { width:100% !important; max-width:100% !important; overflow:hidden !important; }
body[data-page="reservation"] #reservation > .container { width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
body[data-page="reservation"] #reservation .w-full.lg\\:w-2\\/3 { width:100% !important; min-width:0 !important; max-width:100% !important; box-sizing:border-box !important; }
body[data-page="reservation"] form { display:block !important; width:100% !important; max-width:42rem !important; min-width:0 !important; margin:0 auto !important; box-sizing:border-box !important; }
body[data-page="reservation"] form .lp-reservation-step { display:block; width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
body[data-page="reservation"] form .lp-reservation-step > div { display:block !important; width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; overflow:hidden !important; }
body[data-page="reservation"] form input,body[data-page="reservation"] form select,body[data-page="reservation"] form textarea { display:block !important; width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; }
body[data-page="reservation"] form .grid { width:100% !important; max-width:100% !important; min-width:0 !important; grid-template-columns:minmax(0,1fr) !important; }
body[data-page="reservation"] form .lp-reservation-step .flex.justify-between { display:flex !important; width:100% !important; max-width:100% !important; min-width:0 !important; gap:12px !important; align-items:stretch !important; flex-wrap:nowrap !important; }
body[data-page="reservation"] form .lp-reservation-step .flex.justify-between button { flex:1 1 0 !important; width:auto !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important; padding:12px 16px !important; font-size:14px !important; line-height:1.25 !important; font-weight:500 !important; white-space:normal !important; overflow-wrap:anywhere !important; word-break:normal !important; text-align:center !important; }
body[data-page="reservation"] form input[type="file"] { width:100% !important; max-width:100% !important; min-width:0 !important; font-size:13px !important; }
.lp-reservation-card { width:100%; max-width:100%; min-width:0; box-sizing:border-box; padding:2rem; overflow:hidden; }
@media (min-width:680px) { body[data-page="reservation"] form .grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:20px !important; } }
@media (max-width:679px) {
 body[data-page="reservation"] #reservation { padding-left:12px !important; padding-right:12px !important; }
 body[data-page="reservation"] #reservation .container { padding-left:0 !important; padding-right:0 !important; }
 body[data-page="reservation"] form { width:100% !important; max-width:100% !important; }
 body[data-page="reservation"] form .lp-reservation-step > div { padding:16px !important; border-radius:20px !important; }
 body[data-page="reservation"] form .grid { grid-template-columns:minmax(0,1fr) !important; gap:14px !important; }
 body[data-page="reservation"] form .lp-reservation-step .flex.justify-between { gap:10px !important; }
 body[data-page="reservation"] form .lp-reservation-step .flex.justify-between button { padding:11px 10px !important; font-size:13px !important; line-height:1.2 !important; }
 .lp-reservation-card { padding:1rem; border-radius:20px; }
}
@media (max-width:390px) {
 body[data-page="reservation"] form .lp-reservation-step .flex.justify-between { flex-direction:column !important; }
 body[data-page="reservation"] form .lp-reservation-step .flex.justify-between button { width:100% !important; flex:1 1 auto !important; }
}



/* V12 — interaction fixes: tablet menu, FAQ in every language, package preview, testimonial rating. */
@media (min-width:681px) and (max-width:1279px) {
  #site-mobile-menu { display:block; }
}
#testimonies form button[aria-pressed="true"] svg { opacity:1; }
#testimonies form button[aria-pressed="false"] svg { opacity:.55; }
@media (max-width:679px) {
  #testimonies form { min-width:0; }
}

/* V19 — testimonial rating + reservation message spacing */
#testimonies form [data-rating-star]{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
#testimonies form [data-rating-star]:focus-visible{outline:1px solid rgba(251,191,36,.75);outline-offset:4px;border-radius:4px;}
body[data-page="reservation"] .lp-reservation-message{display:block!important;width:100%!important;min-height:120px!important;margin-top:18px!important;line-height:1.5!important;vertical-align:top!important;resize:vertical!important;}
body[data-page="reservation"] .lp-reservation-message::placeholder{opacity:.75!important;}

/* V22: one testimonial rail per page; submission form lives only on temoignages.html. */
body[data-page="temoignages"] #testimonies form{display:grid!important;visibility:visible!important;opacity:1!important;}
body[data-page="index"] #testimonies form{display:none!important;}
#testimonies [data-testimonials-list]{width:100%;min-width:0;}

/* V30 — payment proof dropzone + full-screen mobile/tablet navigation. */
.lp-payment-proof-field{width:100%;min-width:0}
.lp-payment-proof-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.lp-payment-dropzone{width:100%;min-height:290px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 20px;text-align:center;cursor:pointer;color:#e5e7eb;background:rgba(255,255,255,.035);border:2px dashed rgba(255,255,255,.22);border-radius:28px;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.lp-payment-dropzone:hover,.lp-payment-dropzone.is-dragover{border-color:rgba(251,191,36,.75);background:rgba(251,191,36,.055)}
.lp-payment-dropzone.has-file{border-color:rgba(74,222,128,.65)}
.lp-payment-dropzone-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.055);color:#fbbf24}
.lp-payment-dropzone-icon svg{width:38px;height:38px}
.lp-payment-dropzone-title{font-size:20px;line-height:1.3;font-weight:400;color:#f4f4f5}
.lp-payment-dropzone-hint{font-size:16px;line-height:1.5;color:#9ca3af}
.lp-payment-dropzone-file{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#fbbf24}
@media(max-width:1279px){#site-mobile-menu{inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:96px 28px 32px!important;box-sizing:border-box!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow-y:auto!important;overscroll-behavior:contain!important}#site-mobile-menu .lp-mobile-title{font-size:22px;margin:0 0 28px}#site-mobile-menu nav{gap:8px}#site-mobile-menu a{padding:17px 14px!important;font-size:17px!important;line-height:1.35!important;letter-spacing:.07em!important}}
@media(max-width:679px){#site-mobile-menu{padding:88px 20px 28px!important}#site-mobile-menu a{font-size:16px!important;padding:15px 12px!important}.lp-payment-dropzone{min-height:250px;padding:24px 16px;border-radius:24px}.lp-payment-dropzone-title{font-size:18px}.lp-payment-dropzone-hint{font-size:14px}}
@media(min-width:1280px){#site-mobile-menu{display:none!important}}

/* V31 — reservation input icons + wide date/time field. */
body[data-page="reservation"] form .lp-reservation-input-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

body[data-page="reservation"] form .lp-reservation-input-wrap > input {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding-left: 52px !important;
}

body[data-page="reservation"] form .lp-reservation-input-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  width: 21px;
  height: 21px;
  transform: translateY(-50%);
  color: #fbbf24;
  pointer-events: none;
  z-index: 2;
}

@media (min-width: 680px) {
  body[data-page="reservation"] form .lp-reservation-fields > .lp-reservation-datetime-field {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 679px) {
  body[data-page="reservation"] form .lp-reservation-input-wrap > input {
    padding-left: 48px !important;
  }

  body[data-page="reservation"] form .lp-reservation-input-icon {
    left: 16px;
    width: 20px;
    height: 20px;
  }
}

/* V31 — combined date/time picker: one field, clear calendar cue, responsive without overflow. */
body[data-page="reservation"] .lp-reservation-datetime-field {
  width: 100%;
  min-width: 0;
}

body[data-page="reservation"] .lp-reservation-datetime-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  color: #a1a1aa;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 400;
}

body[data-page="reservation"] .lp-reservation-datetime-label svg {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  color: #fbbf24;
}

body[data-page="reservation"] .lp-reservation-datetime-wrap {
  position: relative;
  width: 100%;
  min-width: 0;
}

body[data-page="reservation"] .lp-reservation-datetime-input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 62px;
  height: 62px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 52px 0 54px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 22px;
  outline: none;
  background: rgba(255, 255, 255, .05);
  color: #f4f4f5;
  color-scheme: dark;
  font: inherit;
  font-size: 16px;
  line-height: 1.25;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

body[data-page="reservation"] .lp-reservation-datetime-input:focus {
  border-color: rgba(245, 158, 11, .55);
  box-shadow: 0 0 0 1px rgba(245, 158, 11, .12);
  background: rgba(255, 255, 255, .065);
}

body[data-page="reservation"] .lp-reservation-datetime-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  color: #fbbf24;
  pointer-events: none;
  z-index: 1;
}

body[data-page="reservation"] .lp-reservation-datetime-help {
  margin: 9px 0 0;
  color: #71717a;
  font-size: 14px;
  line-height: 1.4;
}

body[data-page="reservation"] .lp-reservation-datetime-input::-webkit-calendar-picker-indicator {
  opacity: .75;
  cursor: pointer;
  filter: invert(1) sepia(1) saturate(4) hue-rotate(355deg);
}

@media (max-width: 679px) {
  body[data-page="reservation"] .lp-reservation-datetime-input {
    min-height: 58px;
    height: 58px;
    padding-left: 50px;
    padding-right: 46px;
    border-radius: 20px;
    font-size: 15px;
  }

  body[data-page="reservation"] .lp-reservation-datetime-icon {
    left: 17px;
    width: 20px;
    height: 20px;
  }

  body[data-page="reservation"] .lp-reservation-datetime-label {
    font-size: 15px;
  }

  body[data-page="reservation"] .lp-reservation-datetime-help {
    font-size: 13px;
  }
}

/* V31 — reservation mobile layout: stable field rhythm, payment order, instant transfer block. */
body[data-page="reservation"] form .lp-reservation-fields{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
}
body[data-page="reservation"] form .lp-reservation-fields > *{
  position:static !important;
  display:block !important;
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  height:auto !important;
  margin:0 !important;
  transform:none !important;
  box-sizing:border-box !important;
}
body[data-page="reservation"] form .lp-reservation-fields input[type="date"],
body[data-page="reservation"] form .lp-reservation-fields input[type="time"]{
  min-height:54px !important;
  line-height:1.25 !important;
}
body[data-page="reservation"] .lp-payment-proof-field{
  margin-top:20px !important;
  margin-bottom:0 !important;
}
body[data-page="reservation"] .lp-payment-dropzone{
  min-height:250px !important;
  margin:0 !important;
}
body[data-page="reservation"] .lp-payment-dropzone-file[hidden]{display:none !important}
body[data-page="reservation"] .lp-instant-payment{
  width:100% !important;
  min-width:0 !important;
  min-height:92px !important;
  margin:18px 0 0 !important;
  padding:16px 18px !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.055) !important;
}
.lp-instant-payment-dot{width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 12px rgba(74,222,128,.45)}
.lp-instant-payment-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.lp-instant-payment-title{font-size:15px;line-height:1.3;color:#f4f4f5}
.lp-instant-payment-text{font-size:12px;line-height:1.35;color:#9ca3af}
.lp-instant-payment-link{min-width:0;font-size:14px;line-height:1.35;font-weight:700;color:#4ade80;text-decoration:none;text-align:right;overflow-wrap:anywhere}
body[data-page="reservation"] .lp-reservation-message{
  margin:18px 0 0 !important;
  min-height:128px !important;
}
@media (min-width:680px){
  body[data-page="reservation"] form .lp-reservation-fields{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px !important}
  body[data-page="reservation"] .lp-payment-dropzone{min-height:290px !important}
}
@media (max-width:420px){
  body[data-page="reservation"] .lp-instant-payment{grid-template-columns:auto minmax(0,1fr) !important}
  body[data-page="reservation"] .lp-instant-payment-link{grid-column:2;text-align:left;font-size:13px}
}

/* V31 — full-screen mobile/tablet menu with centered links and a dedicated close control. */
@media (max-width:1279px){
  #site-mobile-menu .lp-mobile-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;box-sizing:border-box}
  #site-mobile-menu .lp-mobile-title{text-align:center;width:100%}
  #site-mobile-menu nav{width:min(100%,520px);display:flex;flex-direction:column;align-items:center;gap:10px}
  #site-mobile-menu nav a{display:flex !important;align-items:center;justify-content:center;text-align:center;width:100%;box-sizing:border-box;font-size:19px !important;line-height:1.35 !important;padding:17px 14px !important}
  #site-mobile-menu .lp-mobile-close{position:absolute;top:22px;right:22px;width:48px;height:48px;display:grid;place-items:center;border:0;background:transparent;color:#fff;cursor:pointer;z-index:2}
  #site-mobile-menu .lp-mobile-close svg{width:30px;height:30px}
}
@media (min-width:1280px){#site-mobile-menu .lp-mobile-close{display:none}}
