/* Reserva Grupos · Restaurantes — estilos base (todo se puede cambiar desde Elementor) */
:root{--rgp-accent:#B8955E;--rgp-accent-dk:#9C7C4B;--rgp-dark:#2A2725;--rgp-brown:#5A5047;--rgp-ink:#2F2C29;--rgp-muted:#7A726A;--rgp-line:#E4DBCF;--rgp-cream:#F5F0E8}

/* ---------- buscador ---------- */
.rgp-search{display:flex;background:#fff;box-shadow:0 24px 60px rgba(0,0,0,.35);max-width:820px;margin:0 auto;font-family:inherit}
.rgp-search__field{flex:1;display:flex;flex-direction:column;text-align:left;padding:14px 22px;border-right:1px solid var(--rgp-line);margin:0;min-width:0}
.rgp-search__label{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--rgp-accent);line-height:1.4}
.rgp-search input,.rgp-search select{border:0!important;outline:0;box-shadow:none!important;background:none!important;font-size:16px;color:var(--rgp-ink);padding:4px 0 0!important;margin:0;min-height:0;height:auto;border-radius:0;width:100%;font-family:inherit;-webkit-appearance:none;appearance:none}
.rgp-search select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%232F2C29' fill='none' stroke-width='1.6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 2px center!important;padding-right:20px!important;cursor:pointer}
.rgp-search__btn{border:0;border-radius:0;background:var(--rgp-accent);color:#fff;font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:0 34px;cursor:pointer;transition:background .2s;font-family:inherit}
.rgp-search__btn:hover{background:var(--rgp-accent-dk);color:#fff}
.rgp-popular{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:22px auto 0;font-size:13px;color:#fff;max-width:820px}
.rgp-popular__label{opacity:.75;align-self:center}
.rgp-popular__item{border:1px solid rgba(255,255,255,.4);padding:6px 14px;font-weight:600;color:inherit;text-decoration:none;transition:.2s}
.rgp-popular__item:hover{background:#fff;color:var(--rgp-dark)}
@media(max-width:767px){.rgp-search{flex-direction:column}.rgp-search__field{border-right:0;border-bottom:1px solid var(--rgp-line)}.rgp-search__btn{padding:16px}}

/* ---------- directorio ---------- */
.rgp-dir{--rgp-cols:4;--rgp-gap:24px;--rgp-ratio:1/1;scroll-margin-top:90px;transition:opacity .25s}
.rgp-dir.is-loading{opacity:.45;pointer-events:none}
/* columnas por defecto en tablet y móvil (los shortcodes no tienen ajustes responsive; Elementor los sobrescribe) */
@media(max-width:1024px){.rgp-dir{--rgp-cols:2}}
@media(max-width:767px){.rgp-dir{--rgp-cols:1}}
.rgp-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.rgp-chip{display:inline-block;padding:9px 16px;border:1px solid var(--rgp-line);font-size:13px;font-weight:700;background:#fff;color:var(--rgp-dark);text-decoration:none;transition:.2s;line-height:1.3}
.rgp-chip.is-active,.rgp-chip:hover{background:var(--rgp-dark);color:#fff;border-color:var(--rgp-dark)}
.rgp-count{font-size:14px;color:var(--rgp-muted);margin:-10px 0 20px}
.rgp-reset{color:var(--rgp-accent);font-weight:700;margin-left:8px;text-decoration:none}
.rgp-grid{display:grid;grid-template-columns:repeat(var(--rgp-cols),minmax(0,1fr));gap:calc(var(--rgp-gap) + 4px) var(--rgp-gap)}
.rgp-card{display:flex;flex-direction:column;min-width:0}
.rgp-card__link{display:flex;flex-direction:column;color:inherit;text-decoration:none;height:100%}
.rgp-card__img{position:relative;aspect-ratio:var(--rgp-ratio);overflow:hidden;background:#E9E3DA}
.rgp-card__img img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .5s;display:block;max-width:none}
.rgp-card:hover .rgp-card__img img{transform:scale(1.05)}
.rgp-card__noimg{position:absolute;inset:0;display:grid;place-items:center;font-size:42px;opacity:.35}
.rgp-badge{position:absolute;top:12px;left:12px;background:var(--rgp-accent);color:#fff;font-size:11px;font-weight:800;letter-spacing:.1em;padding:4px 9px}
.rgp-card__body{padding-top:14px}
.rgp-card__city{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rgp-accent);font-weight:800}
.rgp-card__title{font-size:17px;font-weight:700;line-height:1.3;color:var(--rgp-dark);margin:2px 0}
.rgp-card__type{font-size:14px;color:var(--rgp-muted)}
.rgp-card__summary{font-size:14px;color:var(--rgp-muted);margin:6px 0 0}
.rgp-card__more{display:inline-block;margin-top:10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--rgp-accent);color:var(--rgp-dark)}
.rgp-empty{text-align:center;color:var(--rgp-muted);padding:30px 10px}
.rgp-hint{font-size:12px;opacity:.8}
.rgp-pagination{display:flex;gap:6px;justify-content:center;margin-top:40px;flex-wrap:wrap}
.rgp-pagination .page-numbers{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--rgp-line);color:var(--rgp-dark);text-decoration:none;font-weight:700;padding:0 10px}
.rgp-pagination .current,.rgp-pagination a.page-numbers:hover{background:var(--rgp-dark);border-color:var(--rgp-dark);color:#fff}
.rgp-pagination .dots{border:0}

/* diseño "selección": la primera tarjeta grande */
.rgp-dir--seleccion .rgp-grid{grid-template-columns:1.3fr 1fr 1fr}
.rgp-dir--seleccion .rgp-card--first .rgp-card__img{aspect-ratio:auto;height:100%;min-height:420px}
.rgp-dir--seleccion .rgp-card--first .rgp-card__link{height:100%}
.rgp-dir--seleccion .rgp-card--first .rgp-card__img{flex:1}
.rgp-dir--seleccion .rgp-card__title{font-size:22px}
.rgp-dir--seleccion .rgp-card:not(.rgp-card--first) .rgp-card__img{aspect-ratio:4/5}
/* diseño "fila": una línea deslizable */
.rgp-dir--fila .rgp-grid{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--rgp-cols) - 1) * var(--rgp-gap)) / var(--rgp-cols));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.rgp-dir--fila .rgp-card{scroll-snap-align:start}
/* diseño "lista" */
.rgp-dir--lista .rgp-grid{grid-template-columns:1fr;gap:12px}
.rgp-dir--lista .rgp-card__link{flex-direction:row;gap:18px;align-items:center;border-bottom:1px solid var(--rgp-line);padding-bottom:12px}
.rgp-dir--lista .rgp-card__img{width:110px;flex:none}
.rgp-dir--lista .rgp-card__body{padding-top:0}
@media(max-width:767px){.rgp-dir--seleccion .rgp-grid{grid-template-columns:1fr}.rgp-dir--seleccion .rgp-card--first .rgp-card__img{min-height:300px}.rgp-dir--fila .rgp-grid{grid-auto-columns:72%}}

/* ---------- datos de la ficha ---------- */
.rgp-ficha{background:#fff;border:1px solid var(--rgp-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:12px}
.rgp-ficha--empty{background:#FFF8E5;border-color:#E9C46A;color:#6b5a2a;font-size:14px}
.rgp-ficha__title{font-size:18px;font-weight:700;color:var(--rgp-dark)}
.rgp-ficha__sub{font-size:13px;color:var(--rgp-muted);margin-top:-8px}
.rgp-ficha__tel{font-size:28px;font-weight:800;color:var(--rgp-dark);text-align:center;text-decoration:none;letter-spacing:.02em}
.rgp-ficha__btns{display:flex;flex-direction:column;gap:8px}
.rgp-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:10px;font-weight:700;font-size:14px;border:1px solid var(--rgp-line);background:#fff;color:var(--rgp-dark);text-decoration:none;transition:.2s}
.rgp-btn:hover{border-color:var(--rgp-dark)}
.rgp-btn--main{background:var(--rgp-accent);border-color:var(--rgp-accent);color:#fff}
.rgp-btn--main:hover{filter:brightness(1.07);color:#fff}
.rgp-ficha__data{border-top:1px solid var(--rgp-line)}
.rgp-ficha__row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--rgp-line);font-size:14px}
.rgp-ficha__row span{color:var(--rgp-muted)}
.rgp-ficha__row b{text-align:right;color:var(--rgp-dark);font-weight:600}
.rgp-ficha__h{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--rgp-accent);margin:4px 0}
.rgp-ficha__note{font-size:12px;color:var(--rgp-muted);background:var(--rgp-cream);border-radius:8px;padding:10px 12px}
.rgp-lines{list-style:none;margin:0;padding:0}
.rgp-lines li{display:flex;align-items:baseline;gap:8px;padding:5px 0;font-size:14px}
.rgp-lines li::after{content:"";order:2;flex:1;border-bottom:1px dotted #C9B79F;transform:translateY(-4px)}
.rgp-lines span{order:1;color:var(--rgp-dark)}
.rgp-lines b{order:3;color:var(--rgp-brown);font-weight:600;white-space:nowrap}
