/* Rutica Catálogo: las tarjetas heredan la fuente y el color de texto de la página. El acento sale de la paleta del tema
   (temas de bloques: --wp--preset--color--primary / accent…) y si el tema no la define, verde Rutica.
   Los hex elegidos en Ajustes › Rutica Catálogo llegan como variables en el style del contenedor y ganan. */
.rutica-cat{--rc-acento:var(--wp--preset--color--primary,var(--wp--preset--color--accent,#1f6f4a));--rc-texto-boton:#fff;--rc-borde:color-mix(in srgb,currentColor 15%,transparent);--rc-fondo:transparent;color:var(--rc-texto,inherit);display:grid;gap:20px;grid-template-columns:repeat(var(--rc-cols,3),minmax(0,1fr));margin:24px 0}
.rutica-cat-uno{grid-template-columns:minmax(0,560px)}
@media (max-width:900px){.rutica-cat{grid-template-columns:repeat(min(var(--rc-cols,3),2),minmax(0,1fr))}}
@media (max-width:600px){.rutica-cat{grid-template-columns:1fr}}
.rutica-cat-card{display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--rc-borde);border-radius:14px;background:var(--rc-fondo)}
.rutica-cat-desde b{color:var(--rc-acento)}
.rutica-cat-card h3{margin:0;font-size:1.2em;line-height:1.3}
.rutica-cat-desde{margin:4px 0 0;font-size:.95em}
.rutica-cat-desde b{font-size:1.25em}
.rutica-cat-desde span,.rutica-cat-nota,.rutica-cat-card small{opacity:.7}
.rutica-cat-desc{margin:0;font-size:.95em}
.rutica-cat-op{border-top:1px solid var(--rc-borde);padding-top:10px}
.rutica-cat-op-h{display:flex;justify-content:space-between;gap:10px}
.rutica-cat ul{list-style:none;margin:6px 0 0;padding:0;font-size:.92em}
.rutica-cat li{display:flex;justify-content:space-between;gap:10px;padding:3px 0}
.rutica-cat-nota{margin:0;font-size:.85em}
.rutica-cat-add summary{cursor:pointer;font-weight:600;font-size:.95em}
.rutica-cat-card footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:6px}
.rutica-cat-btn{display:inline-block;padding:9px 18px;border-radius:999px;background:var(--rc-acento);color:var(--rc-texto-boton)!important;text-decoration:none!important;font-weight:600}
.rutica-cat-btn:hover{filter:brightness(1.1)}
.rutica-cat-aviso{padding:10px 14px;border:1px dashed #c33;border-radius:8px;color:#a22}
/* Filtros por etiqueta (filtros="si") */
.rutica-cat-filtrable{--rc-acento:var(--wp--preset--color--primary,var(--wp--preset--color--accent,#1f6f4a));--rc-texto-boton:#fff;--rc-borde:color-mix(in srgb,currentColor 15%,transparent)}
.rutica-cat-filtros{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 -8px}
.rutica-cat-filtro{font:inherit;font-size:.9em;padding:6px 14px;border-radius:999px;border:1px solid var(--rc-borde);background:transparent;color:inherit;cursor:pointer}
.rutica-cat-filtro:hover{border-color:var(--rc-acento)}
.rutica-cat-filtro.is-on{background:var(--rc-acento);border-color:var(--rc-acento);color:var(--rc-texto-boton)}
.rutica-cat-card[hidden]{display:none!important}
/* Fotos del paquete (biblioteca de medios): portada y las demás deslizando */
.rutica-cat-card{position:relative}
.rutica-cat-card.con-fotos{padding-top:0;overflow:hidden}
.rutica-cat-fotos{margin:0 -20px;aspect-ratio:3/2;overflow:hidden}
.rutica-cat-fotos img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border-radius:0}
/* Botones de PDF (What to pack, Itinerario) */
.rutica-cat-docs{display:flex;gap:8px;flex-wrap:wrap}
.rutica-cat-btn-sec{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--rc-acento);color:var(--rc-acento)!important;text-decoration:none!important;font-weight:600;font-size:.9em}
.rutica-cat-btn-sec:hover{background:color-mix(in srgb,var(--rc-acento) 10%,transparent)}
/* Precio por cantidad de personas: tabla de dos columnas, cada fila en una línea y los montos alineados a la derecha */
.rutica-cat .rutica-cat-tramos{width:100%;margin:8px 0 0;border-collapse:collapse;border:0;background:transparent;font-size:.92em;font-variant-numeric:tabular-nums;table-layout:auto}
.rutica-cat .rutica-cat-tramos th,.rutica-cat .rutica-cat-tramos td{padding:6px 0;border:0;background:transparent;text-align:left;white-space:nowrap;vertical-align:baseline}
.rutica-cat .rutica-cat-tramos th{padding-top:0;font-size:.78em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.65;white-space:normal;line-height:1.3}
.rutica-cat .rutica-cat-tramos td{border-top:1px solid var(--rc-borde)}
.rutica-cat .rutica-cat-tramos th:last-child,.rutica-cat .rutica-cat-tramos td:last-child{text-align:right;padding-left:12px}
.rutica-cat .rutica-cat-tramos td:last-child{font-weight:600}

/* Solicitud (carrito): botón «Agregar», burbuja en la esquina, panel, ventanita de add-ons y recordatorio */
button.rutica-cat-btn{border:0;cursor:pointer;font:inherit;font-weight:600}
.rutica-cat-agregar.is-agregado{background:transparent;color:var(--rc-acento)!important;box-shadow:inset 0 0 0 1px var(--rc-acento)}
.rutica-carrito{--rc-acento:var(--wp--preset--color--primary,var(--wp--preset--color--accent,#1f6f4a));--rc-texto-boton:#fff;font-size:15px;line-height:1.4;color:#1b1b1d}
.rutica-carrito[hidden],.rutica-carrito [hidden]{display:none!important}
.rutica-carrito *,.rutica-carrito *::before,.rutica-carrito *::after{box-sizing:border-box}
.rutica-carrito:not(.rcx-modal){position:fixed;right:20px;bottom:20px;z-index:99990;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.rcx-burbuja{position:relative;width:56px;height:56px;border-radius:50%;border:0;background:var(--rc-acento);color:var(--rc-texto-boton);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.22)}
.rcx-burbuja:focus-visible{outline:3px solid color-mix(in srgb,var(--rc-acento) 40%,transparent);outline-offset:3px}
.rcx-n{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--rc-acento);font-size:12px;font-weight:700;line-height:22px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.rcx-burbuja.is-pulso{animation:rcx-pulso .5s ease}
@keyframes rcx-pulso{40%{transform:scale(1.14)}}
@media (prefers-reduced-motion:reduce){.rcx-burbuja.is-pulso{animation:none}}
.rcx-panel,.rcx-aviso,.rcx-caja{background:#fff;border-radius:14px;box-shadow:0 10px 34px rgba(0,0,0,.2)}
.rcx-panel{width:min(340px,calc(100vw - 40px));max-height:min(70vh,520px);overflow-y:auto;overflow-x:hidden;padding:16px}
.rcx-aviso{max-width:min(300px,calc(100vw - 40px));padding:10px 12px;display:flex;gap:10px;align-items:flex-start;font-size:14px;border-left:4px solid var(--rc-acento)}
.rcx-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.rcx-h b{font-size:16px}
.rcx-x{border:0;background:transparent;cursor:pointer;color:#6b6b71;font-size:14px;padding:2px 4px;line-height:1}
.rcx-p{margin:6px 0 10px;font-size:13.5px;color:#55555b}
.rcx-items{list-style:none;margin:0;padding:0}
.rcx-items li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #ececec}
.rcx-items small,.rcx-adds small{display:block;color:#6b6b71;font-size:12.5px}
.rcx-btn{display:inline-block;padding:9px 16px;border-radius:999px;border:0;background:var(--rc-acento);color:var(--rc-texto-boton)!important;font:inherit;font-weight:600;text-decoration:none!important;cursor:pointer;text-align:center}
.rcx-btn.is-sec{background:transparent;color:var(--rc-acento)!important;box-shadow:inset 0 0 0 1px var(--rc-acento)}
.rcx-btn[disabled]{opacity:.45;cursor:default}
.rcx-full{width:100%}
.rcx-link{border:0;background:transparent;color:#55555b;font:inherit;font-size:14px;cursor:pointer;padding:6px 0;text-decoration:underline}
.rcx-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}
.rcx-forms{margin:0;padding:0 0 0 20px;display:grid;gap:8px}
.rcx-forms .rcx-btn{width:100%}
.rcx-estado{display:block;margin-top:3px;font-size:12.5px;color:#9a6700}
.rcx-estado.is-ok{color:#1a7f37}
.rcx-falta{font-size:13px;color:#6b6b71;text-align:right}
.rcx-modal{position:fixed;inset:0;z-index:99995;background:rgba(0,0,0,.45);display:grid;place-items:center;padding:16px}
.rcx-caja{width:min(420px,100%);padding:18px}
.rcx-adds{display:grid;gap:8px}
.rcx-adds label{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid #e3e3e3;border-radius:10px;cursor:pointer}
.rcx-adds input{margin-top:3px;accent-color:var(--rc-acento)}
/* Animación de la primera vez que se agrega un tour (rcx-anim): velo oscuro, caja que sube, la tarjeta que entra y la caja que baja a la esquina */
.rcx-anim{position:fixed;inset:0;z-index:99996;pointer-events:none}
.rcx-velo{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0}
.rcx-cajita{position:absolute;display:grid;place-items:center;border-radius:18px;background:#fff;color:#1b1b1d;box-shadow:0 18px 50px rgba(0,0,0,.35);z-index:2}
.rcx-cajita-in{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;text-align:center;max-width:100%}
.rcx-cajita-in b{font-size:15px}
.rcx-cajita-in small{font-size:12px;color:#6b6b71;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rcx-cajita-ico{position:relative;width:56px;height:56px;border-radius:50%;background:var(--rc-acento);color:var(--rc-texto-boton);display:grid;place-items:center;margin-bottom:4px}
.rcx-cajita-ico svg{width:28px;height:28px}
.rcx-cajita-n{position:absolute;top:-5px;right:-5px;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--rc-acento);font-style:normal;font-size:12px;font-weight:700;line-height:22px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.rcx-copia{position:absolute!important;margin:0!important;box-shadow:0 12px 30px rgba(0,0,0,.25);background:#fff!important;overflow:hidden;z-index:3;display:block!important;gap:0!important}
.rcx-copia-c{display:flex;flex-direction:column;gap:12px}
.rcx-copia-n{position:absolute;inset:0;display:grid;place-items:center;color:var(--rc-acento);font-size:12px;font-weight:700;opacity:0}
