/* V123 · calendário consultado no servidor; cores coerentes no site e no painel */
body:has(.hero-reservas) .reserva-hero-box{width:min(1020px,100%)!important}
body:has(.hero-reservas) .reserva-busca{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.85fr) minmax(0,1.1fr) minmax(145px,.9fr)!important;gap:0}
body:has(.hero-reservas) .reserva-busca label:nth-of-type(3){border-right:1px solid #e6ded0}
body:has(.hero-reservas) .reserva-busca label:nth-of-type(4){border-right:0}
body:has(.hero-reservas) .reserva-busca button.ri-date-trigger,
body:has(.hero-reservas) .reserva-busca button.ri-date-trigger:hover{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:26px;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;background:transparent!important;color:#29443b!important;font-family:inherit!important;font-size:12px!important;font-weight:700!important;line-height:1.25!important;cursor:pointer;text-align:left;white-space:nowrap}
body:has(.hero-reservas) .reserva-busca button.ri-date-trigger i{color:#b38c4e!important;margin:0!important}
body:has(.hero-reservas) .reserva-busca button.ri-date-trigger.is-chosen{color:#0d6547!important}
.ri-booking-fields button.ri-date-trigger{display:flex;align-items:center;justify-content:space-between;min-height:50px;width:100%;border:1px solid #dedfd5;border-radius:6px;background:#fff;color:#2d5242;padding:13px 14px;text-align:left;font-size:14px;font-weight:600;cursor:pointer}
.ri-booking-fields button.ri-date-trigger:hover{border-color:#b68d55}
.ri-booking-fields button.ri-date-trigger i{color:#bc9255}
.ri-av-popover[hidden]{display:none!important}
.ri-av-popover{position:fixed;z-index:100100;width:min(312px,calc(100vw - 28px));padding:14px;background:#fffdf9;color:#163b2f;border:1px solid #e6d9c5;border-radius:12px;box-shadow:0 18px 58px #071e1952;font-family:inherit;max-height:calc(100dvh - 24px);overflow:auto}.ri-av-popover.compact-calendar{max-width:312px}
.ri-av-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.ri-av-head>div>span{font-size:7px;font-weight:850;letter-spacing:1.15px;color:#b28950}.ri-av-head h3{font:normal 19px/1.22 Georgia,'Times New Roman',serif;text-transform:capitalize;color:#183c31;margin:3px 0 0}.ri-av-nav{display:flex;gap:4px}.ri-av-nav button{display:grid;place-items:center;background:#f8f7f2;color:#275a43;border:1px solid #ebebe2;border-radius:5px;width:27px;height:27px;cursor:pointer}.ri-av-nav button:disabled{opacity:.35;cursor:not-allowed}.ri-av-weekdays,.ri-av-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.ri-av-weekdays span{text-align:center;font-weight:800;font-size:9px;color:#77877e;margin-bottom:6px}.ri-av-day{position:relative;aspect-ratio:1;min-width:0;min-height:34px;border:1px solid #d8e9df;border-radius:5px;background:#e9f6ed;color:#126341;cursor:pointer;font-weight:800;font-size:11px;transition:background .15s,transform .15s}.ri-av-day:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 12px #0a3c2a26;background:#bce6cb}.ri-av-day.parcial{color:#8b6323;border-color:#f1dca8;background:#fcf2d9}.ri-av-day.ocupado{background:#fae7e5;border-color:#f1d0cb;color:#b54f48}.ri-av-day:disabled{cursor:not-allowed;opacity:.65}.ri-av-day.ocupado:disabled{opacity:1}.ri-av-day.is-today:after{content:'';position:absolute;bottom:3px;left:calc(50% - 2px);width:4px;height:4px;background:currentColor;border-radius:50%}.ri-av-day.selected{box-shadow:inset 0 0 0 2px #184f3d}.ri-av-day.in-range{background:#a8d7bc}.ri-av-legend{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0 8px;padding-top:10px;border-top:1px solid #ecebe3}.ri-av-legend span{display:flex;gap:5px;align-items:center;color:#677a6d;font-size:9px;font-weight:650}.ri-av-color{display:inline-block;width:8px;height:8px;border-radius:2px}.ri-av-color.livre{background:#72be94}.ri-av-color.parcial{background:#e5bf73}.ri-av-color.ocupado{background:#d77d77}.ri-av-message{font-size:10px;color:#567163;line-height:1.45}.ri-av-message.is-error{color:#b04c40}.ri-av-loading{grid-column:1/-1;text-align:center;color:#456757;font-size:11px;padding:36px 5px}.ri-av-fail{color:#a04b43}
.ri-av-caption{display:flex;align-items:center;gap:6px;font-size:10px;line-height:1.45;color:#fff;opacity:.9;margin-top:7px}.ri-av-caption i{color:#e3bf80}.ri-booking-notice.availability-note{background:#eaf4ea;border-color:#3a9069;color:#24583d}
@media(max-width:1050px){body:has(.hero-reservas) .reserva-hero-box{width:min(770px,100%)!important}body:has(.hero-reservas) .reserva-busca{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(.hero-reservas) .reserva-busca label{border-bottom:1px solid #e6ded0}body:has(.hero-reservas) .reserva-busca label:nth-of-type(2),body:has(.hero-reservas) .reserva-busca label:nth-of-type(4){border-right:0}body:has(.hero-reservas) .reserva-busca button#consultar-hero{grid-column:1/-1!important;margin-top:5px!important}}
@media(max-width:620px){.ri-av-popover{position:fixed!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%);width:min(292px,calc(100vw - 28px));padding:12px}.ri-av-head{margin-bottom:10px}.ri-av-head h3{font-size:18px}.ri-av-nav button{width:25px;height:25px}.ri-av-weekdays,.ri-av-days{gap:3px}.ri-av-day{min-height:32px;font-size:10px}.ri-av-legend{gap:8px;margin-top:12px;padding-top:8px}.ri-av-legend span,.ri-av-message{font-size:9px}body:has(.hero-reservas) .reserva-busca{grid-template-columns:repeat(2,minmax(0,1fr))!important}body:has(.hero-reservas) .reserva-busca label:nth-of-type(3){grid-column:auto!important}body:has(.hero-reservas) .reserva-busca label:nth-of-type(4){grid-column:auto!important}body:has(.hero-reservas) .reserva-busca button#consultar-hero{grid-column:1/-1!important}}
@media(min-width:621px) and (max-width:1050px){body:has(.hero-reservas) .reserva-busca label:nth-of-type(3),body:has(.hero-reservas) .reserva-busca label:nth-of-type(4){grid-column:auto!important}body:has(.hero-reservas) .reserva-busca label:nth-of-type(3){border-bottom:1px solid #e6ded0!important}}
