/* Storytellers bookings: functional CSS only. No colour, type or layout design lives here.
   Styling belongs in the theme. To replace this file entirely: wp_dequeue_style( 'stb-flow' ). */
.stb-flow [hidden],
.stb-flow template { display: none !important; }
/* Spam trap: off-screen rather than display:none so bots still fill it. */
.stb-flow__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.stb-flow__slot[aria-disabled="true"] { pointer-events: none; }
.stb-flow__slot:disabled,
.stb-flow__submit:disabled { cursor: not-allowed; }
.stb-flow__calendar[aria-busy="true"] .stb-flow__calendar-grid { opacity: .5; }
.stb-flow__option { cursor: pointer; }
/* Layout card photo slider: scroll-snap mechanics. Look and feel belongs in the theme. */
.stb-flow__gallery { position: relative; }
.stb-flow__gallery-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.stb-flow__gallery-track::-webkit-scrollbar { display: none; }
.stb-flow__gallery-slide { flex: 0 0 100%; width: 100%; scroll-snap-align: start; }
.stb-flow__gallery-arrow { position: absolute; top: 50%; transform: translateY(-50%); }
.stb-flow__gallery-arrow--prev { left: 0; }
.stb-flow__gallery-arrow--next { right: 0; }
.stb-flow__gallery-dots { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; }
/* Contact form (the enquiry form): functional states only. */
.stb-contact [hidden] { display: none !important; }
.stb-contact__submit:disabled { cursor: not-allowed; }
