.luva-res{--ink:#1c1915;--ink-2:#302b25;--muted:#7a7268;--line:#e8e0d6;--line-strong:#d8ccbf;--paper:#fff;--soft:#f7f2eb;--soft-2:#fbf8f4;--accent:#8b6a47;--accent-dark:#6f5235;--success:#2d6940;--danger:#9a3427;--shadow:0 24px 70px rgba(35,27,18,.10);max-width:1040px;margin:32px auto;padding:0 18px;color:var(--ink);font-family:Arial,"Helvetica Neue",Helvetica,sans-serif}.luva-res *{box-sizing:border-box}.luva-res [hidden]{display:none!important}.luva-res a{color:inherit}.luva-res__shell{border-radius:30px;box-shadow:var(--shadow);background:var(--paper);border:1px solid var(--line);overflow:hidden}.luva-res__brandbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 34px;background:var(--ink);color:#fff}.luva-res__brand{font-family:Georgia,"Times New Roman",serif;font-size:20px;letter-spacing:.28em}.luva-res__brandmeta{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.68)}.luva-res__booking,.luva-res__manage{background:var(--paper)}.luva-res__intro{padding:48px 48px 34px;background:radial-gradient(circle at 88% 10%,rgba(139,106,71,.12),transparent 34%),linear-gradient(180deg,var(--soft-2),#fff)}.luva-res__eyebrow{display:block;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);font-weight:700}.luva-res h2,.luva-res h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--ink)}.luva-res h2{font-size:48px;line-height:1.02;letter-spacing:-.025em;margin:10px 0 14px}.luva-res__intro p{max-width:650px;margin:0;color:var(--muted);font-size:16px;line-height:1.7}.luva-res__trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.luva-res__trust span{border:1px solid var(--line);background:rgba(255,255,255,.78);border-radius:999px;padding:7px 10px;font-size:11px;color:#60584f}.luva-progress{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.luva-progress span{width:26px;height:26px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--muted);transition:.2s ease}.luva-progress span.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.luva-progress i{width:56px;height:1px;background:var(--line)}.luva-step{padding:38px 48px;border-top:1px solid var(--line)}.luva-progress+.luva-step{border-top:0}.luva-step__head{display:flex;gap:15px;align-items:flex-start;margin-bottom:25px}.luva-step__head>span{flex:0 0 36px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px;color:var(--accent);font-weight:700}.luva-step__head small{display:block;margin:1px 0 3px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.luva-step__head h3{margin:0;font-size:27px;line-height:1.15}.luva-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.luva-area{position:relative;appearance:none;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,var(--soft-2));padding:25px 25px 23px;text-align:left;cursor:pointer;transition:border-color .2s,transform .2s,box-shadow .2s;background-clip:padding-box}.luva-area:focus-visible,.luva-slot:focus-visible,.luva-primary:focus-visible,.luva-secondary:focus-visible,.luva-danger:focus-visible,.luva-res input:focus-visible,.luva-res select:focus-visible,.luva-res textarea:focus-visible{outline:3px solid rgba(139,106,71,.22);outline-offset:2px}.luva-area:hover,.luva-area.is-active{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 34px rgba(40,30,20,.09)}.luva-area.is-active:after{content:"✓";position:absolute;right:19px;top:19px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-size:12px}.luva-area__icon{font-size:9px;letter-spacing:.22em;color:var(--accent);display:block;margin-bottom:15px;font-weight:700}.luva-area strong{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:400;display:block}.luva-area small{display:block;color:var(--muted);margin-top:7px;font-size:13px;line-height:1.5}.luva-area em{display:inline-block;margin-top:18px;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.luva-fields{display:grid;gap:16px}.luva-fields--two{grid-template-columns:1fr 1fr}.luva-res label>span:not(.luva-check span){display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:8px;font-weight:700}.luva-res input,.luva-res select,.luva-res textarea{width:100%;border:1px solid var(--line-strong);border-radius:14px;background:#fff;padding:14px 15px;font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}.luva-res textarea{resize:vertical;min-height:92px}.luva-res input:hover,.luva-res select:hover,.luva-res textarea:hover{border-color:#c8b9aa}.luva-res input:focus,.luva-res select:focus,.luva-res textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px rgba(139,106,71,.08)}.luva-slots{margin-top:24px}.luva-slots__label{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:12px;font-weight:700}.luva-slot-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.luva-slot{appearance:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:11px 10px;cursor:pointer;font-size:13px;color:var(--ink);transition:.18s;text-transform:none!important;letter-spacing:normal!important;display:inline-flex;align-items:center;justify-content:center;gap:.28em;white-space:nowrap}.luva-slot__time,.luva-slot__suffix{text-transform:none!important;letter-spacing:normal!important}.luva-slot__suffix{font-size:.92em;font-weight:400}.luva-slot:hover,.luva-slot.is-active{background:var(--ink);color:#fff;border-color:var(--ink);transform:translateY(-1px)}.luva-slot:disabled{opacity:.55;cursor:not-allowed;transform:none}.luva-loading{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:13px;padding:12px 0}.luva-loading span{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:luva-spin .75s linear infinite}.luva-loading--panel{padding:44px}.luva-summary{background:var(--soft);border:1px solid #ece2d7;border-radius:18px;padding:18px 20px;margin-bottom:21px;display:flex;justify-content:space-between;align-items:center;gap:18px}.luva-summary small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:9px;margin-bottom:4px;font-weight:700}.luva-summary strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:18px}.luva-summary>span{color:var(--muted);font-size:13px;text-align:right}.luva-res form>label{display:block;margin-top:16px}.luva-consents{display:grid;gap:9px;margin:23px 0}.luva-consents__title{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:1px}.luva-check{display:flex;gap:11px;align-items:flex-start;padding:12px 13px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#514b43;font-size:13px;line-height:1.45}.luva-check input{width:auto;margin:2px 0 0;accent-color:var(--ink);flex:0 0 auto}.luva-check strong{color:var(--ink)}.luva-check--privacy{border:0;padding:8px 1px 0;background:transparent;font-size:12px;color:var(--muted)}.luva-check--privacy a{text-decoration:underline;text-underline-offset:2px}.luva-primary,.luva-secondary,.luva-danger{appearance:none;border-radius:999px;padding:14px 21px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:.18s;border:1px solid transparent;font-size:14px}.luva-primary{background:var(--ink);color:#fff;width:100%;min-height:50px}.luva-primary:hover{background:var(--ink-2);transform:translateY(-1px)}.luva-secondary{background:var(--soft);color:var(--ink);border-color:var(--line)}.luva-secondary:hover{border-color:var(--accent);background:#fff}.luva-danger{background:#fff7f5;color:var(--danger);border-color:#efd8d1}.luva-danger:hover{background:#fff0ec}.luva-primary:disabled,.luva-secondary:disabled,.luva-danger:disabled{opacity:.55;cursor:not-allowed;transform:none}.luva-primary.is-loading:before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:luva-spin .75s linear infinite}.luva-form-message,.luva-error{color:var(--danger);margin-top:12px;font-size:13px}.luva-error{border:1px solid #f0d2cb;background:#fff6f4;border-radius:14px;padding:13px 15px}.luva-error--panel{margin:32px}.luva-muted{color:var(--muted);font-size:13px}.luva-empty{display:flex;flex-direction:column;gap:4px;background:var(--soft);border:1px solid var(--line);padding:16px 17px;border-radius:15px;color:var(--muted);font-size:13px;line-height:1.5}.luva-empty strong{color:var(--ink)}.luva-empty a{text-decoration:underline}.luva-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.luva-success{text-align:center;padding:58px 46px}.luva-success__mark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;background:#eef5ef;color:var(--success);border:1px solid #dbeadf;font-size:27px}.luva-success h3{font-size:34px;margin:7px 0 11px}.luva-success p{max-width:560px;margin:8px auto;line-height:1.65}.luva-success__details{display:inline-block;margin:15px 0 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);padding:9px 13px;font-size:12px}.luva-success .luva-secondary{margin-top:16px}.luva-manage-card{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.luva-manage-card>div{background:#fff;padding:24px}.luva-manage-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px;font-weight:700}.luva-manage-card strong{font-size:14px}.luva-status--confirmed,.luva-status--rescheduled{color:var(--success)}.luva-status--cancelled_by_customer,.luva-status--cancelled_by_luva,.luva-status--no_show{color:var(--danger)}.luva-manage-actions{display:flex;gap:10px;padding:28px 42px}.luva-manage-note{padding:28px 42px;color:var(--muted);font-size:13px}.luva-change{padding:0 42px 36px}.luva-change h3{font-size:24px;margin:0 0 17px}.luva-change [data-change-slots]{margin-top:18px}.luva-res__footer{padding:15px 28px;border-top:1px solid var(--line);text-align:center;font-size:10px;letter-spacing:.03em;color:#8a8177;background:var(--soft-2)}.luva-res__footer a{text-decoration:none;color:var(--ink)}
@keyframes luva-spin{to{transform:rotate(360deg)}}
@media(max-width:820px){.luva-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.luva-res{padding:0 9px;margin:14px auto}.luva-res__shell{border-radius:21px}.luva-res__brandbar{padding:15px 19px}.luva-res__brand{font-size:17px}.luva-res__brandmeta{display:none}.luva-res__intro{padding:31px 21px 26px}.luva-res h2{font-size:36px}.luva-res__intro p{font-size:14px}.luva-res__trust{gap:6px}.luva-res__trust span{font-size:10px}.luva-progress{padding:14px 20px}.luva-progress i{width:34px}.luva-step,.luva-success{padding:28px 20px}.luva-step__head h3{font-size:24px}.luva-area-grid,.luva-fields--two{grid-template-columns:1fr}.luva-area{padding:21px}.luva-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.luva-summary{align-items:flex-start;flex-direction:column}.luva-summary>span{text-align:left}.luva-manage-card{grid-template-columns:1fr 1fr}.luva-manage-card>div{padding:18px}.luva-manage-actions,.luva-change,.luva-manage-note{padding-left:20px;padding-right:20px;flex-direction:column}.luva-manage-actions button{width:100%}.luva-res__footer{padding:13px 18px;line-height:1.5}}
@media(max-width:420px){.luva-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.luva-res h2{font-size:33px}.luva-res__trust span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.luva-res *{scroll-behavior:auto!important;transition:none!important}.luva-loading span,.luva-primary.is-loading:before{animation-duration:1.5s}}
.luva-success__details{border-radius:16px!important;line-height:1.6}.luva-success__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:16px}.luva-success__actions .luva-secondary{margin-top:0}.luva-status--show{color:#275e8e}.luva-status--cancelled{color:var(--danger)}.luva-res__footer{display:grid;gap:5px}.luva-res__footer small{font-size:9px;color:#9c9389;letter-spacing:.04em}@media(max-width:700px){.luva-success__actions{display:grid;grid-template-columns:1fr}.luva-success__actions .luva-secondary{width:100%}}


/* GuestFlow 1.4.2: mail-degraded success state. Booking validity never depends on transport. */
.luva-delivery{display:flex;flex-direction:column;gap:4px;margin:18px 0;padding:14px 16px;border-radius:14px;border:1px solid #ded6ca;text-align:left;font-size:13px;line-height:1.5}
.luva-delivery strong{font-size:13px;color:#211d18}
.luva-delivery span{color:#6f685f}
.luva-delivery--sent{background:#f1f6f0;border-color:#d6e5d3}
.luva-delivery--queued{background:#fff8e9;border-color:#ecd7a7}

/* GuestFlow 1.4.6: accessible calendar with visibly disabled rest/closed days. */
.luva-date-field{min-width:0}.luva-date-calendar{margin-top:7px}.luva-cal{border:1px solid var(--line);border-radius:16px;background:#fff;padding:13px;box-shadow:0 7px 22px rgba(40,30,20,.035);min-width:0}.luva-cal__toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-bottom:10px}.luva-cal__toolbar strong{text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--ink)}.luva-cal__nav{appearance:none;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;border-radius:50%!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;font:600 21px/1 Arial,sans-serif!important;cursor:pointer;box-shadow:none!important}.luva-cal__nav:hover:not(:disabled){border-color:var(--accent)!important;background:var(--soft)!important}.luva-cal__nav:disabled{opacity:.28;cursor:not-allowed}.luva-cal__weekdays,.luva-cal__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.luva-cal__weekdays{margin-bottom:5px}.luva-cal__weekdays span{text-align:center;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:3px 0}.luva-cal__day{appearance:none!important;position:relative!important;aspect-ratio:1/1!important;min-width:0!important;width:100%!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid transparent!important;border-radius:10px!important;background:#fff!important;color:var(--ink)!important;display:grid!important;place-items:center!important;font:600 12px/1 Inter,Arial,sans-serif!important;cursor:pointer!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important}.luva-cal__day>span{pointer-events:none}.luva-cal__day:hover:not(:disabled){border-color:var(--accent)!important;background:var(--soft)!important}.luva-cal__day.is-today:not(.is-selected):not(.is-disabled){border-color:#d8c7b6!important}.luva-cal__day.is-selected{background:var(--ink)!important;color:#fff!important;border-color:var(--ink)!important}.luva-cal__day.is-disabled,.luva-cal__day:disabled{background:#f2efeb!important;color:#b8b0a7!important;border-color:#eee9e3!important;cursor:not-allowed!important;opacity:1!important}.luva-cal__day.is-disabled small{position:absolute;bottom:3px;left:2px;right:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:5.5px;line-height:1;color:#aaa097;text-transform:uppercase;letter-spacing:.02em}.luva-cal__blank{aspect-ratio:1/1}.luva-cal__legend{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:10px;padding-top:9px;color:var(--muted);font-size:10px;line-height:1.3}.luva-cal__legend>span{display:flex;align-items:center;gap:6px}.luva-cal__legend i{display:block;width:12px;height:12px;border-radius:4px;background:#f2efeb;border:1px solid #e8e1da}.luva-cal__legend strong{color:var(--ink);font-weight:600;text-align:right}.luva-date-calendar[aria-disabled="true"]{opacity:.65}.luva-change-fields{align-items:start}
@media(max-width:700px){.luva-cal{padding:11px}.luva-cal__toolbar strong{font-size:16px}.luva-cal__day{min-height:38px!important;font-size:13px!important;border-radius:9px!important}.luva-cal__day.is-disabled small{display:none}.luva-cal__legend{align-items:flex-start;flex-direction:column}.luva-cal__legend strong{text-align:left}.luva-change-fields{grid-template-columns:1fr}}
@media(max-width:380px){.luva-cal{padding:9px}.luva-cal__weekdays,.luva-cal__days{gap:3px}.luva-cal__day{min-height:34px!important;font-size:12px!important}}


/* GuestFlow 1.4.11: consistent high-contrast button states.
   Scoped to GuestFlow so WordPress/Elementor theme hover rules cannot make
   text and button backgrounds the same colour. Applies to button + link CTAs. */
.luva-res.luva-res :is(a, button).luva-primary,
.luva-res.luva-res :is(a, button).luva-primary:visited {
  background: var(--ink, #1c1915) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.luva-res.luva-res :is(a, button).luva-primary:is(:hover, :focus-visible, :active) {
  background: var(--ink-2, #302b25) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.luva-res.luva-res :is(a, button).luva-secondary,
.luva-res.luva-res :is(a, button).luva-secondary:visited {
  background: var(--soft, #f7f2eb) !important;
  color: var(--ink, #1c1915) !important;
  -webkit-text-fill-color: #1c1915 !important;
  border-color: var(--line, #e8e0d6) !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.luva-res.luva-res :is(a, button).luva-secondary:is(:hover, :focus-visible, :active) {
  background: #eae0d4 !important;
  color: #1c1915 !important;
  -webkit-text-fill-color: #1c1915 !important;
  border-color: var(--accent, #8b6a47) !important;
}
.luva-res.luva-res :is(a, button).luva-danger,
.luva-res.luva-res :is(a, button).luva-danger:visited {
  background: #fff7f5 !important;
  color: var(--danger, #9a3427) !important;
  -webkit-text-fill-color: #9a3427 !important;
  border-color: #efd8d1 !important;
  text-decoration: none !important;
  text-shadow: none !important;
}
.luva-res.luva-res :is(a, button).luva-danger:is(:hover, :focus-visible, :active) {
  background: #fce9e4 !important;
  color: #8a281c !important;
  -webkit-text-fill-color: #8a281c !important;
  border-color: #d9a69a !important;
}

/* GuestFlow 1.4.13 · booking / self-service responsive typography and controls.
   In particular, do not let Elementor/theme button word-break or letter spacing
   create orphan letters in CTA labels at narrow widths. */
.luva-res.luva-res{width:100%;min-width:0;max-width:1040px;overflow-wrap:normal;word-break:normal}
.luva-res.luva-res .luva-res__shell,.luva-res.luva-res .luva-res__booking,.luva-res.luva-res .luva-step,
.luva-res.luva-res .luva-fields,.luva-res.luva-res .luva-summary,.luva-res.luva-res .luva-success{min-width:0;max-width:100%;box-sizing:border-box}
.luva-res.luva-res .luva-res__intro h2{font-size:clamp(29px,4.7vw,46px)!important;line-height:1.12!important;letter-spacing:-.025em!important;text-transform:none!important;overflow-wrap:break-word;word-break:normal;hyphens:none}
.luva-res.luva-res .luva-step__head{min-width:0;align-items:flex-start}
.luva-res.luva-res .luva-step__head>div{min-width:0}
.luva-res.luva-res .luva-step__head h3{font-size:clamp(21px,3vw,27px)!important;line-height:1.22!important;letter-spacing:-.01em!important;text-transform:none!important;word-break:normal!important;overflow-wrap:break-word;hyphens:none}
.luva-res.luva-res .luva-area strong{font-size:clamp(21px,2.9vw,28px)!important;line-height:1.2!important;word-break:normal!important}
.luva-res.luva-res .luva-summary strong{font-size:clamp(16px,2.2vw,19px)!important;line-height:1.35!important;overflow-wrap:break-word}
.luva-res.luva-res .luva-success h3{font-size:clamp(25px,3.6vw,34px)!important;line-height:1.2!important;word-break:normal!important;hyphens:none}
.luva-res.luva-res .luva-primary,.luva-res.luva-res .luva-secondary,.luva-res.luva-res .luva-danger{
  max-width:100%;min-width:0;box-sizing:border-box;min-height:45px;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-size:clamp(13px,1.4vw,14px)!important;line-height:1.35!important;
  letter-spacing:normal!important;text-transform:none!important;
  word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;
  text-align:center!important;white-space:normal!important;padding:12px 16px!important;
}
.luva-res.luva-res .luva-slot{font-size:13px!important;line-height:1.2!important;min-width:0!important;min-height:43px!important;text-transform:none!important;word-break:normal!important;overflow-wrap:normal!important}
.luva-res.luva-res .luva-slot__time,.luva-res.luva-res .luva-slot__suffix{text-transform:none!important;white-space:nowrap!important}
.luva-res.luva-res .luva-success__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:660px;margin-inline:auto;gap:9px}
.luva-res.luva-res .luva-success__actions :is(a,button){width:100%!important;margin:0!important}
.luva-res.luva-res .luva-success__details{max-width:100%;width:min(100%,480px);overflow-wrap:break-word;box-sizing:border-box;border-radius:16px!important;line-height:1.6}
.luva-res.luva-res .luva-manage-card>div{min-width:0;overflow-wrap:break-word}
.luva-res.luva-res .luva-manage-card strong{font-size:clamp(12px,1.35vw,14px)!important;line-height:1.4!important}
.luva-res.luva-res .luva-manage-actions{flex-wrap:wrap}
.luva-res.luva-res .luva-manage-actions :is(a,button){flex:1 1 190px}
.luva-res.luva-res .luva-res__trust span:last-child{display:inline-flex!important}
@media (max-width:820px){
 .luva-res.luva-res .luva-res__intro h2{font-size:clamp(28px,5vw,38px)!important}
 .luva-res.luva-res .luva-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:700px){
 .luva-res.luva-res{padding:0 9px;margin:14px auto}
 .luva-res.luva-res .luva-step,.luva-res.luva-res .luva-success{padding:25px 19px}
 .luva-res.luva-res .luva-res__intro{padding:29px 20px 25px}
 .luva-res.luva-res .luva-step__head{gap:11px}
 .luva-res.luva-res .luva-step__head>span{flex:0 0 32px;width:32px;height:32px}
 .luva-res.luva-res .luva-fields--two,.luva-res.luva-res .luva-area-grid{grid-template-columns:minmax(0,1fr)}
 .luva-res.luva-res .luva-summary{padding:15px 16px;gap:9px}
 .luva-res.luva-res .luva-manage-card{grid-template-columns:repeat(2,minmax(0,1fr))}
 .luva-res.luva-res .luva-manage-actions :is(a,button){flex:1 1 100%;width:100%}
}
@media (max-width:520px){
 .luva-res.luva-res .luva-success__actions{grid-template-columns:minmax(0,1fr)}
 .luva-res.luva-res .luva-success__actions :is(a,button){min-height:46px}
 .luva-res.luva-res .luva-res__brand{font-size:16px;letter-spacing:.18em}
}
@media (max-width:420px){
 .luva-res.luva-res .luva-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .luva-res.luva-res .luva-res__intro h2{font-size:clamp(27px,8vw,33px)!important}
 .luva-res.luva-res .luva-step__head h3{font-size:clamp(20px,5vw,23px)!important}
 .luva-res.luva-res .luva-step,.luva-res.luva-res .luva-success{padding:22px 16px}
 .luva-res.luva-res .luva-res__intro{padding:26px 17px 21px}
 .luva-res.luva-res .luva-res__trust span{font-size:10px;line-height:1.35}
 .luva-res.luva-res .luva-area{padding:18px}
 .luva-res.luva-res .luva-success p{font-size:13px;line-height:1.58}
 .luva-res.luva-res .luva-manage-card>div{padding:14px}
 .luva-res.luva-res .luva-manage-card span{font-size:9px;letter-spacing:.04em}
}
@media (max-width:350px){
 .luva-res.luva-res{padding:0 6px}
 .luva-res.luva-res .luva-step,.luva-res.luva-res .luva-success{padding:20px 13px}
 .luva-res.luva-res .luva-res__intro{padding:23px 14px 19px}
 .luva-res.luva-res .luva-manage-card{grid-template-columns:minmax(0,1fr)}
 .luva-res.luva-res .luva-cal{padding:7px}
 .luva-res.luva-res .luva-cal__days,.luva-res.luva-res .luva-cal__weekdays{gap:2px}
}

/* Keep the contact number as one readable unit in narrow footers. */
.luva-res.luva-res .luva-res__footer a[href^="tel:"]{white-space:nowrap!important;display:inline-block;overflow-wrap:normal!important;word-break:keep-all!important}
/* Root box sizing matters: width:100% plus side padding otherwise overflows 320–820 px. */
.luva-res.luva-res{box-sizing:border-box!important}


/* GuestFlow v1.4.16 · L’UVA light header, iOS date calendar & layout. */
.luva-res.luva-res{--gf-widget-header-bg:#faf7f2;scroll-margin-top:148px}
.luva-res.luva-res .luva-res__shell{isolation:isolate;min-width:0}
.luva-res.luva-res .luva-res__brandbar{position:relative!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:7px!important;min-height:0!important;height:auto!important;padding:22px 20px!important;overflow:visible!important;background:#faf7f2!important;color:#211d19!important;text-align:center!important}
.luva-res.luva-res .luva-res__brandmark{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;min-width:0!important;max-width:100%!important}
.luva-res.luva-res .luva-res__logo-frame{display:inline-flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border:1px solid #eae1d7;border-radius:18px!important;padding:12px 16px!important;max-width:100%!important;min-height:0!important;height:auto!important;overflow:visible!important;box-shadow:0 6px 20px rgba(40,25,15,.045)}
.luva-res.luva-res .luva-brand-logo{display:block!important;max-width:100%!important;max-height:none!important;height:auto!important;object-fit:contain!important;object-position:center!important;margin:auto!important;transform:none!important;position:static!important;clip-path:none!important}
.luva-res.luva-res .luva-res__brandmeta{color:#706155!important;letter-spacing:.11em!important;line-height:1.4;text-align:center!important}
.luva-res.luva-res .luva-res__brand{color:#211d19!important;text-align:center!important}
.luva-res.luva-res [data-step="2"],.luva-res.luva-res [data-step="3"]{scroll-margin-top:150px}
.luva-res.luva-res .luva-date-field{display:block!important;min-width:0;width:100%;max-width:100%;margin:0!important;position:relative;overflow:visible!important}
.luva-res.luva-res .luva-date-field__label{display:block!important;font-size:11px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:var(--muted)!important;margin:0 0 9px!important;line-height:1.4!important}
.luva-res.luva-res .luva-date-calendar{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:100%!important;min-width:0!important;min-height:230px;margin-top:0!important;overflow:visible!important}
.luva-res.luva-res .luva-cal{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;background:#fff!important;color:var(--ink)!important;visibility:visible!important;opacity:1!important}
.luva-res.luva-res .luva-cal__toolbar,.luva-res.luva-res .luva-cal__weekdays,.luva-res.luva-res .luva-cal__days{display:grid!important;visibility:visible!important;opacity:1!important}
.luva-res.luva-res .luva-cal__days,.luva-res.luva-res .luva-cal__weekdays{grid-template-columns:repeat(7,minmax(0,1fr))!important}
.luva-res.luva-res .luva-cal__loading,.luva-res.luva-res .luva-cal__unavailable{font-size:13px;line-height:1.55;padding:16px;border:1px solid var(--line);background:var(--soft-2);border-radius:12px;color:var(--muted)}
.luva-res.luva-res .luva-date-fallback{margin:12px 0 6px!important}
.luva-res.luva-res .luva-date-fallback[hidden]{display:none!important}
.luva-res.luva-res .luva-date-fallback label{display:block!important}
.luva-res.luva-res .luva-date-fallback input[type="date"]{width:100%!important;min-height:50px!important;border:1px solid var(--line)!important;border-radius:12px;padding:12px;background:#fff;color:var(--ink);font-size:16px!important}
.luva-res.luva-res .luva-date-fallback__message{color:var(--danger);font-size:12px;margin-top:7px}
.luva-res.luva-res .luva-area strong,.luva-res.luva-res .luva-area.is-active strong{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;opacity:1!important;text-shadow:none!important}
.luva-res.luva-res .luva-area__icon{color:var(--accent)!important}
.luva-res.luva-res .luva-date-field :is(button,input){touch-action:manipulation}
@media(max-width:700px){
  .luva-res.luva-res .luva-res__brandbar{padding:20px 16px!important;gap:6px!important}
  .luva-res.luva-res .luva-res__logo-frame{padding:10px 14px!important;border-radius:16px!important}
  .luva-res.luva-res .luva-brand-logo{width:min(100%,128px)!important}
  .luva-res.luva-res .luva-res__brandmeta{font-size:10px!important}
  .luva-res.luva-res .luva-date-calendar{min-height:230px}
  .luva-res.luva-res .luva-cal{padding:10px!important}
}
@media(max-width:380px){
  .luva-res.luva-res .luva-brand-logo{width:min(100%,112px)!important}
  .luva-res.luva-res .luva-date-calendar{min-height:218px}
  .luva-res.luva-res .luva-cal{padding:7px!important}
  .luva-res.luva-res .luva-cal__weekdays,.luva-res.luva-res .luva-cal__days{gap:2px!important}
}
@media(prefers-reduced-motion:reduce){.luva-res.luva-res{scroll-behavior:auto!important}}


/* GuestFlow™ 1.4.17 – flatter L’UVA guest experience.
   Freestanding transparent logo and one calm surface instead of nested header / logo / hero cards.
   These are scoped to the guest widget to avoid Elementor/theme leakage. */
.luva-res.luva-res .luva-res__brandbar {
  background:var(--gf-widget-header-bg,#faf7f2)!important;
  padding:clamp(22px,3.2vw,34px) clamp(17px,3.6vw,36px) 12px!important;
  gap:7px!important;
  border:0!important;
  box-shadow:none!important;
}
.luva-res.luva-res .luva-res__brandmark {
  margin:0 auto!important;
  min-height:0!important;
  line-height:1!important;
}
.luva-res.luva-res .luva-res__logo-frame {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.luva-res.luva-res .luva-brand-logo {
  width:min(100%,var(--gf-logo-width,145px))!important;
  max-height:none!important;
  object-fit:contain!important;
  display:block!important;
  height:auto!important;
  margin:0 auto!important;
  mix-blend-mode:multiply!important;
}
.luva-res.luva-res .luva-res__brandmeta {
  margin:1px 0 0!important;
  line-height:1.5!important;
}
.luva-res.luva-res .luva-res__intro {
  background:var(--gf-widget-header-bg,#faf7f2)!important;
  padding-top:clamp(24px,3.7vw,37px)!important;
  padding-bottom:clamp(24px,3.7vw,35px)!important;
}
.luva-res.luva-res .luva-progress {
  background:var(--gf-widget-header-bg,#faf7f2)!important;
  border-top:0!important;
  border-bottom:1px solid var(--line)!important;
  padding-top:14px!important;
  padding-bottom:22px!important;
}
.luva-res.luva-res .luva-progress + .luva-step {border-top:0!important}
@media(max-width:700px) {
  .luva-res.luva-res .luva-res__brandbar {padding:24px 16px 12px!important}
  .luva-res.luva-res .luva-res__intro {padding-top:21px!important;padding-bottom:23px!important}
  .luva-res.luva-res .luva-progress {padding-top:10px!important;padding-bottom:18px!important}
  .luva-res.luva-res .luva-brand-logo {width:min(100%,var(--gf-mobile-logo-width,128px))!important}
}
@media(max-width:380px) {
  .luva-res.luva-res .luva-res__brandbar {padding-top:20px!important}
  .luva-res.luva-res .luva-brand-logo {width:min(100%,var(--gf-small-logo-width,112px))!important}
}


/* GuestFlow 1.4.18 · short mobile branding: title and subtitle never hidden beneath logo. */
@media(max-width:700px){
  .luva-res.luva-res .luva-res__brandbar{
    position:relative!important;z-index:auto!important;display:flex!important;
    flex-direction:column!important;align-items:center!important;justify-content:center!important;
    min-height:0!important;height:auto!important;max-height:none!important;
    overflow:visible!important;padding:12px 14px 5px!important;gap:2px!important;
  }
  .luva-res.luva-res .luva-res__brandmark,
  .luva-res.luva-res .luva-res__logo-frame{
    position:static!important;transform:none!important;display:flex!important;
    align-items:center!important;justify-content:center!important;
    min-height:0!important;height:auto!important;overflow:visible!important;
    padding:0!important;margin:0 auto!important;
  }
  .luva-res.luva-res .luva-brand-logo{
    display:block!important;position:static!important;transform:none!important;
    width:min(100%,var(--gf-mobile-logo-width,76px))!important;
    max-height:88px!important;height:auto!important;object-fit:contain!important;
  }
  .luva-res.luva-res .luva-res__brandmeta{font-size:9px!important;margin:0!important;line-height:1.4!important}
  .luva-res.luva-res .luva-res__booking,
  .luva-res.luva-res .luva-res__intro{position:relative!important;z-index:0!important;overflow:visible!important}
  .luva-res.luva-res .luva-res__intro{padding-top:17px!important;padding-bottom:18px!important}
  .luva-res.luva-res .luva-res__intro h2{margin-top:8px!important;line-height:1.12!important}
  .luva-res.luva-res .luva-res__intro p{display:block!important;visibility:visible!important;opacity:1!important}
}
@media(max-width:380px){
  .luva-res.luva-res .luva-res__brandbar{padding:10px 12px 4px!important}
  .luva-res.luva-res .luva-brand-logo{width:min(100%,var(--gf-small-logo-width,68px))!important;max-height:80px!important}
  .luva-res.luva-res .luva-res__intro{padding-top:14px!important}
}
