/* Páginas /reservas-online (SeoLocal). Hoja propia: no toca el CSS global. Solo colores heredados (currentColor), para que
   siga el tema del sitio aunque cambie. Sin estilos en línea (CSP). */
.sl-crumbs { margin: 0 0 1.5rem; font-size: .875rem; }
.sl-crumbs ol { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0; padding: 0; list-style: none; }
.sl-crumbs li + li::before { content: "/"; margin-right: .5rem; opacity: .45; }
.sl-crumbs a { opacity: .75; text-decoration: none; }
.sl-crumbs a:hover, .sl-crumbs a:focus-visible { opacity: 1; text-decoration: underline; }
.sl-crumbs [aria-current] { opacity: .95; }

.feat h3 a { color: inherit; text-decoration: none; }
.feat h3 a:hover, .feat h3 a:focus-visible { text-decoration: underline; }

.sl-links { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.sl-links a { display: inline-block; padding: .55rem 1rem; border: 1px solid color-mix(in oklab, currentColor 16%, transparent); border-radius: 999px; color: inherit; text-decoration: none; font-size: .9375rem; line-height: 1.3; }
.sl-links a:hover, .sl-links a:focus-visible { border-color: color-mix(in oklab, currentColor 45%, transparent); background: color-mix(in oklab, currentColor 7%, transparent); }
.sl-links--col { flex-direction: column; align-items: flex-start; }
.sl-more { display: grid; gap: 2.5rem; }
@media (min-width: 48rem) { .sl-more { grid-template-columns: 1fr 1fr; } }

.sl-table-wrap { overflow-x: auto; margin-top: 1.5rem; }
.sl-table { width: 100%; max-width: 44rem; border-collapse: collapse; font-size: .9375rem; }
.sl-table caption { caption-side: top; text-align: left; padding-bottom: .75rem; opacity: .75; }
.sl-table th, .sl-table td { padding: .65rem .75rem; text-align: left; border-bottom: 1px solid color-mix(in oklab, currentColor 14%, transparent); }
.sl-table thead th { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; opacity: .7; }
.sl-table tbody th { font-weight: 500; }

.sl-prices { display: grid; gap: .75rem; margin: 1.5rem 0 0; padding: 0; list-style: none; }
.sl-prices li { display: grid; gap: .15rem .75rem; padding: .85rem 1rem; border: 1px solid color-mix(in oklab, currentColor 14%, transparent); border-radius: .75rem; }
@media (min-width: 48rem) { .sl-prices li { grid-template-columns: 8rem 11rem 1fr; align-items: baseline; } }
.sl-prices__price { font-variant-numeric: tabular-nums; }
.sl-note { margin-top: 1rem; font-size: .9375rem; }
