.availability-section{background:#f2f1e8}.availability-card{display:grid;grid-template-columns:minmax(360px,.95fr) 1fr;gap:clamp(24px,5vw,68px);align-items:center;background:#fff;border:1px solid #e2e4d9;border-radius:28px;padding:clamp(20px,4vw,44px);box-shadow:0 18px 50px #1d3e2a0b}.availability-calendar{max-width:560px;width:100%;margin:auto}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.calendar-toolbar strong{text-transform:capitalize;font:500 23px Georgia;color:#203d2f}.calendar-toolbar button{border:1px solid #dce2d9;background:#f7f8f3;color:#234331;width:38px;height:38px;border-radius:50%;font-size:24px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-grid .weekday{text-align:center;color:#778277;font-size:10px;font-weight:800;padding:8px 0}.calendar-grid .day{aspect-ratio:1;border:1px solid #e2e8e0;background:#f6f8f2;border-radius:12px;color:#314c3a;display:grid;place-items:center;font-weight:700}.calendar-grid button.day:not(:disabled):hover{border-color:#b38b4d;background:#f4ecd9}.calendar-grid .day.booked{background:#f5e4df;color:#9d5144;border-color:#efd1c7;text-decoration:line-through}.calendar-grid .day.selected{background:#214a37;color:#fff;border-color:#214a37;box-shadow:0 0 0 3px #d9e5da}.calendar-grid .day.past{opacity:.4}.calendar-grid .day.blank{border:0;background:transparent}.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:16px;color:#68776a;font-size:10px}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:10px;height:10px;border-radius:50%;background:#e4eee0}.calendar-legend i.booked{background:#bd7263}.calendar-legend i.selected{background:#214a37}.availability-note{max-width:470px}.availability-note h3{font:500 clamp(27px,3.5vw,42px)/1.1 Georgia;color:#1c3b2c;margin:16px 0}.availability-note p{color:#66756a;font-size:13px;line-height:1.8;margin-bottom:24px}.availability-note small{display:block;margin-top:16px;color:#839084;font-size:10px;line-height:1.6}.calendar-error{grid-column:1/-1;padding:25px;color:#7a564c;background:#f8efeb;border-radius:12px}.buffet-section{background:#fff}.buffet-card{display:grid;grid-template-columns:minmax(220px,.75fr) 1.5fr;background:#173b2f;border:1px solid #315b45;border-radius:30px;overflow:hidden;color:#fff;box-shadow:0 25px 55px #153b2e1c}.buffet-brand{display:grid;place-items:center;padding:35px;background:#10120f;min-height:320px}.buffet-brand img{width:min(100%,340px);aspect-ratio:1;object-fit:contain;border-radius:4px}.buffet-copy{padding:clamp(28px,5vw,64px);align-self:center}.buffet-copy .eyebrow{color:#d0ad66}.buffet-copy h2{font:500 clamp(30px,4vw,48px)/1.12 Georgia;margin:16px 0 20px}.buffet-copy h2 em{color:#e0c27e}.buffet-services{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.buffet-services span{border:1px solid #ffffff32;background:#ffffff0b;border-radius:999px;padding:9px 13px;font-size:11px;color:#f4f2e9}.buffet-instagram{display:inline-flex;gap:7px;align-items:center;color:#e5cb87;text-decoration:none;font-size:12px}.buffet-copy>p{color:#d4dfd5;font-size:12px;line-height:1.8;margin-top:18px}.quote-result{border:1px solid #bad5b8;background:#eef7ec;color:#275639;border-radius:12px;padding:13px 15px;margin-bottom:15px;font-size:13px;font-weight:650}.quote-result.error{border-color:#eed1c9;background:#fff1ed;color:#934737}.footer-bottom a{color:inherit;font-size:10px;text-decoration:underline}.footer-bottom button#adminOpen{font-size:10px}@media(max-width:850px){.availability-card{grid-template-columns:1fr}.availability-note{max-width:none}.buffet-card{grid-template-columns:1fr}.buffet-brand{min-height:0;padding:25px}.buffet-brand img{width:min(70vw,260px)}.buffet-copy{padding:28px}}@media(max-width:560px){.calendar-grid{gap:4px}.calendar-grid .day{border-radius:8px;font-size:12px}.calendar-legend{gap:10px;font-size:9px}.availability-card{padding:18px;border-radius:20px}.buffet-services span{font-size:10px}}
/* Buffet parceiro · composição premium preto e dourado */
.buffet-card{background:linear-gradient(122deg,#0c0c0b 0%,#191714 52%,#2a2315 100%);border:1px solid #9a7938;box-shadow:0 25px 60px #09080635;position:relative}.buffet-card::after{content:"";position:absolute;inset:10px;border:1px solid #c6a65635;border-radius:22px;pointer-events:none}.buffet-brand{background:#080808;border-right:1px solid #ad8b45;position:relative;z-index:1}.buffet-brand img{box-shadow:0 0 35px #d3b35813}.buffet-copy{position:relative;z-index:1}.buffet-copy .eyebrow{color:#d8b95f}.buffet-copy h2 em{color:#dfbd64}.buffet-services span{border-color:#b99a4e75;background:#d7b8570a;color:#f2e5c0}.buffet-instagram{color:#e3c36f;border-bottom:1px solid #b49348;padding-bottom:5px}.buffet-copy>p{color:#ded5be}
.calendar-legend i.special{background:#b08b3c}.calendar-grid .day.special{background:#f3ebd2;color:#806128;border-color:#decc94}.calendar-grid .day.special:hover{background:#f0e2b9}
/* Calendário público: dica acessível e ícone de evento nas datas reservadas */
.calendar-grid .day{position:relative}.calendar-grid .day.booked{text-decoration:none}.calendar-grid .day-number{position:relative;z-index:1}.calendar-grid .party-icon{position:absolute;right:5px;bottom:4px;display:grid;place-items:center;width:19px;height:19px;border-radius:7px;background:#fff9e8;border:1px solid #d8c27f;font-size:12px;box-shadow:0 1px 5px #50371218}.calendar-grid .day.booked[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 7px);z-index:20;transform:translate(-50%,4px);width:max-content;max-width:190px;padding:8px 10px;border:1px solid #d7c17b;border-radius:9px;background:#183a2e;color:#f7edce;font-size:10px;font-weight:700;line-height:1.35;white-space:normal;text-decoration:none;box-shadow:0 8px 18px #15271d35;opacity:0;pointer-events:none;transition:opacity .14s,transform .14s}.calendar-grid .day.booked[data-tooltip]:hover::after,.calendar-grid .day.booked[data-tooltip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}@media(max-width:560px){.calendar-grid .party-icon{right:3px;bottom:3px;width:16px;height:16px;font-size:10px}}

.calendar-grid .day.booked[data-tooltip]::after{content:none!important}.calendar-reserved-tooltip{position:fixed;z-index:10000;transform:translateX(-50%) translateY(4px);max-width:220px;padding:9px 13px;border:1px solid #d7c17b;border-radius:10px;background:#183a2e;color:#f7edce;font-size:11px;font-weight:800;line-height:1.3;box-shadow:0 10px 24px #15271d35;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,transform .15s,visibility .15s}.calendar-reserved-tooltip.visible{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* Calendário público com estados acessíveis e carregamento resiliente */
.calendar-grid .day.booked{cursor:default;user-select:none}.calendar-grid .day.booked:focus-visible{outline:2px solid #b38b4d;outline-offset:2px}.calendar-grid[aria-busy="true"]{opacity:.7}.calendar-grid .day.special{cursor:pointer}.calendar-grid .day.special:focus-visible{outline:2px solid #b38b4d;outline-offset:2px}
