/* Native reservation blocks. Scoped to prevent style changes elsewhere. */
.rd-native-reservation{max-width:950px;margin-inline:auto;color:#25423e}
.rd-native-reservation .rd-reservation-intro{margin:0 0 1.5rem;color:#5e716d;font-size:1rem;line-height:1.65}
.rd-native-reservation input,.rd-native-reservation select,.rd-native-reservation textarea{width:100%;font:inherit;color:#23433c;background:#fff;border:1px solid #cbd8d2;border-radius:10px;padding:.82rem;margin-top:.35rem;min-height:46px}
.rd-native-reservation label{display:block;font-weight:600;margin-bottom:1rem}
.rd-aq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1.2rem;margin:1.5rem 0}
.rd-aq-calendar{padding:clamp(.75rem,2vw,1.6rem);background:#f4f8f5;border:1px solid #d7e3dc;border-radius:16px}
.rd-aq-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;font-size:1.15rem;text-transform:capitalize}
.rd-aq-calendar-head button{width:44px;height:44px;border:1px solid #c8d8cf;border-radius:10px;background:white;cursor:pointer;color:#173e37;font-size:1.5rem}
.rd-aq-calendar-head button:disabled{opacity:.3;cursor:not-allowed}
.rd-aq-weekdays,.rd-aq-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(3px,1vw,9px)}
.rd-aq-weekdays span{text-align:center;font-weight:600;font-size:.83rem;padding:6px;color:#60756d}
.rd-aq-days button{aspect-ratio:1/1;min-height:36px;border:1px solid #d0ded6;border-radius:10px;background:#fff;color:#163c35;font-weight:600;cursor:pointer}
.rd-aq-days button.is-selected{background:#265d51;color:#fff}
.rd-aq-days button:disabled{background:#e8ede8;color:#899890;cursor:not-allowed}
.rd-aq-days button.is-loading{opacity:.55}
.rd-aq-selection{font-size:.94rem;margin:.85rem 0 0;color:#506760}
.rd-aq-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;left:-10000px}
.rd-reservation-help{font-size:.89rem;color:#65776f;margin:0 0 1.5rem}
.rd-reservation-submit{margin:1rem 0;padding:.85rem 1.5rem;cursor:pointer}
.rd-reservation-submit:disabled{opacity:.55;cursor:not-allowed}
[data-aq-response]:not(:empty){display:block;border-radius:12px;padding:1rem;margin:1rem 0;background:#dcefe3;color:#163a31}
[data-aq-response].is-error{background:#f8e5de;color:#7d3327}
.rd-reservation-unavailable{background:#f2f5f3;padding:1.25rem;border-radius:12px;color:#4c5e58}
.fish-native-inline{width:100%;max-width:100%;padding:0;margin:0}
.fish-native-inline .fish-form{max-width:100%}
@media(max-width:680px){.rd-aq-grid{grid-template-columns:1fr}.rd-aq-days button{min-height:32px;border-radius:6px}.rd-aq-weekdays span{font-size:.74rem}}

/* v158 – obnovene popisky puvodniho formulare, bez zmeny jeho API. */
.rd-aquarium-reservation .rd-aq-calendar-intro{margin:0 0 1rem}
.rd-aquarium-reservation .rd-aq-calendar-title{font-weight:750;color:#24463f;margin:0 0 .2rem;font-size:1rem}
.rd-aquarium-reservation .rd-aq-field-help{color:#61746e;line-height:1.55;font-size:.84rem;font-weight:400;margin:.3rem 0 .65rem}
.rd-aquarium-reservation .rd-aq-field>label{margin:0;font-weight:650}
.rd-aquarium-reservation .rd-aq-field>input,.rd-aquarium-reservation .rd-aq-field>select{margin-top:.4rem}
.rd-aquarium-reservation .rd-aq-legend{display:flex;flex-wrap:wrap;column-gap:1.15rem;row-gap:.35rem;margin:1rem 0 .25rem;color:#647770;font-size:.82rem}
.rd-aquarium-reservation .rd-aq-legend-item{display:inline-flex;align-items:center;gap:.4rem}
.rd-aquarium-reservation .rd-aq-swatch{display:inline-block;width:12px;height:12px;border:1px solid #c9d9d0;border-radius:3px;flex:none}
.rd-aquarium-reservation .rd-aq-swatch-available{background:#fff}
.rd-aquarium-reservation .rd-aq-swatch-unavailable{background:#e8ede8}
.rd-aquarium-reservation .rd-aq-swatch-selected{background:#265d51;border-color:#265d51}
.rd-aquarium-reservation textarea[name="admin_note"]{width:100%;display:block;box-sizing:border-box}
@media(max-width:680px){.rd-aquarium-reservation .rd-aq-field-help{font-size:.87rem}.rd-aquarium-reservation .rd-aq-legend{font-size:.75rem;gap:.45rem .8rem}}

/* v162: native reservation should fill the chosen page section width. */
.rd-native-reservation { width: 100%; max-width: none; margin-inline: 0; box-sizing: border-box; }
.composed-reservation-section .composed-special-inner { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.composed-reservation-section .rd-native-reservation form,
.composed-reservation-section .rd-aq-calendar { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.rd-native-reservation .rd-aq-grid > .rd-aq-field { min-width: 0; }
.rd-native-reservation input, .rd-native-reservation select, .rd-native-reservation textarea { box-sizing: border-box; max-width: 100%; }
@media (min-width: 821px) {
  .detail-page .detail-content > .composed-reservation-section.section-width-auto,
  .detail-page .detail-content > .composed-reservation-section.section-width-standard {
    width: min(1080px, calc(100% - 56px)); max-width: 1080px; justify-self: center;
  }
}
