/* Travesía Paquetes — usa las variables del tema Travesía con valores de respaldo */
:root {
	--p-accent: var(--trv-accent, #e8590c);
	--p-on-accent: var(--trv-on-accent, #fff);
	--p-surface: var(--trv-surface, rgba(255, 255, 255, .9));
	--p-strong: var(--trv-surface-strong, #fff);
	--p-text: var(--trv-text, #10243a);
	--p-muted: var(--trv-muted, #4b5d70);
	--p-border: var(--trv-border, rgba(0, 0, 0, .12));
	--p-field: var(--trv-field, #fff);
	--p-radius: var(--trv-radius, 18px);
	--p-shadow: var(--trv-shadow, 0 10px 30px -12px rgba(8, 20, 45, .35));
}
[hidden] { display: none !important; }
.trvp-btn {
	white-space: nowrap;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border-radius: 999px;
	border: 1px solid var(--p-border, #ccc); background: var(--p-field, #fff); color: var(--p-text, #111);
	font: 600 .92rem/1 var(--trv-font-display, inherit); text-decoration: none; cursor: pointer; transition: transform .2s, box-shadow .2s;
}
.trvp-btn:hover { transform: translateY(-1px); }
.trvp-btn--primary { background: var(--p-accent, #e8590c); color: var(--p-on-accent, #fff); border-color: transparent; box-shadow: 0 8px 18px -10px var(--p-accent, #e8590c); }
.trvp-btn--ghost { background: transparent; }
.trvp-btn--danger { background: #c62828; color: #fff; border-color: transparent; }
.trvp-btn--small { padding: 7px 12px; font-size: .8rem; }
.trvp-btn--icon { width: 34px; height: 34px; padding: 0; font-size: 1.2rem; }
.trvp-btn:disabled { opacity: .6; cursor: progress; }
.trvp-btn .trv-icon { width: 1.1em; height: 1.1em; }
.trvp-inline { display: inline; margin: 0; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Fichas ---------- */
.trvp-grid { display: grid; gap: 22px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); }
.trvp-card {
	display: flex; flex-direction: column; overflow: hidden; border-radius: var(--p-radius); background: var(--p-surface);
	border: 1px solid var(--p-border); color: var(--p-text); box-shadow: var(--p-shadow);
	backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
	transition: transform .4s var(--trv-ease, ease), box-shadow .4s;
}
.trvp-card:hover { transform: translateY(-6px); box-shadow: 0 24px 40px -18px rgba(0, 0, 0, .45); }
.trvp-card__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, #36d1dc, #5b86e5); }
.trvp-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--trv-ease, ease); }
.trvp-card:hover .trvp-card__media img { transform: scale(1.07); }
.trvp-card__placeholder { position: absolute; inset: 0; display: grid; place-items: center; color: rgba(255, 255, 255, .85); }
.trvp-card__placeholder .trv-icon { width: 64px; height: 64px; }
.trvp-card__badge { position: absolute; top: 12px; left: 12px; padding: 5px 12px; border-radius: 999px; background: var(--p-accent); color: var(--p-on-accent); font: 700 .75rem var(--trv-font-display, inherit); text-transform: uppercase; letter-spacing: .05em; }
.trvp-card__date { position: absolute; top: 12px; right: 12px; display: grid; justify-items: center; padding: 6px 10px; border-radius: 12px; background: rgba(10, 6, 30, .82); color: #fff; font-size: .72rem; text-transform: uppercase; line-height: 1.1; }
.trvp-card__date b { font: 800 1.4rem/1 var(--trv-font-display, inherit); }
.trvp-card__body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.trvp-card__eyebrow { margin: 0; display: flex; gap: 6px; align-items: center; color: var(--p-muted); font-size: .85rem; font-weight: 600; }
.trvp-card__eyebrow .trv-icon { width: 1em; height: 1em; color: var(--p-accent); }
.trvp-card__title { margin: 0; font-size: 1.18rem; line-height: 1.25; }
.trvp-card__title a { color: inherit; text-decoration: none; }
.trvp-card__title a:hover { text-decoration: underline; text-decoration-color: var(--p-accent); }
.trvp-card__meta, .trvp-card__highlights { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .86rem; color: var(--p-muted); }
.trvp-card__meta li, .trvp-card__highlights li { display: inline-flex; gap: 5px; align-items: center; }
.trvp-card__highlights { flex-direction: column; gap: 4px; }
.trvp-card__meta .trv-icon, .trvp-card__highlights .trv-icon { width: 1em; height: 1em; color: var(--p-accent); }
.trvp-card__foot { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--p-border); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 10px; }
.trvp-card__price small { display: block; font-size: .72rem; color: var(--p-muted); text-transform: uppercase; letter-spacing: .06em; }
.trvp-price { white-space: nowrap; font: 800 1.2rem var(--trv-font-display, inherit); color: var(--p-text); }
.trvp-price__old { color: var(--p-muted); font-size: .85rem; }
.trvp-price--ask { font-weight: 600; }
.trvp-empty { padding: 22px; text-align: center; border-radius: var(--p-radius, 18px); background: var(--p-surface, rgba(255, 255, 255, .85)); border: 1px dashed var(--p-border, #ccc); color: var(--p-text, #111); }

/* Variante conciertos */
.trvp-grid--concert .trvp-card { background: rgba(14, 4, 30, .78); color: #fff; border-color: rgba(255, 255, 255, .16); }
.trvp-grid--concert .trvp-card__eyebrow, .trvp-grid--concert .trvp-card__meta, .trvp-grid--concert .trvp-card__highlights, .trvp-grid--concert .trvp-card__price small, .trvp-grid--concert .trvp-price__old { color: #f5d7ea; }
.trvp-grid--concert .trvp-price { color: #fff; }
.trvp-grid--concert .trvp-card__eyebrow .trv-icon, .trvp-grid--concert .trv-icon { color: #ffb547; }
.trvp-grid--concert .trvp-btn--primary { background: #ffb547; color: #2a1033; }
.trvp-grid--concert .trvp-card__foot { border-color: rgba(255, 255, 255, .2); }
.trvp-grid--concert .trvp-card:hover { box-shadow: 0 0 0 2px #ff4d8d, 0 24px 40px -18px #ff4d8d; }

/* ---------- Ficha completa ---------- */
.trvp-facts { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.trvp-facts li { display: inline-flex; gap: 6px; align-items: center; padding: 7px 12px; border-radius: 999px; background: rgba(255, 255, 255, .18); backdrop-filter: blur(6px); font-size: .88rem; }
.trvp-standalone .trvp-facts li { background: #f1f4f8; }
.trvp-single { display: grid; gap: 18px; }
.trvp-block { padding: clamp(18px, 3vw, 30px); border-radius: var(--p-radius); background: var(--p-surface); border: 1px solid var(--p-border); color: var(--p-text); backdrop-filter: blur(6px); }
.trvp-block h2 { font-size: 1.3rem; display: flex; gap: 8px; align-items: center; }
.trvp-block h2 .trv-icon { color: var(--p-accent); }
.trvp-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.trvp-list li { position: relative; padding-left: 26px; }
.trvp-list li::before { position: absolute; left: 0; top: 0; font-weight: 700; }
.trvp-list--yes li::before { content: '✓'; color: #16a34a; }
.trvp-list--no li::before { content: '✕'; color: #dc2626; }
.trvp-list--stars li::before { content: '★'; color: var(--p-accent); }
.trvp-incl { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.trvp-timeline { list-style: none; margin: 0; padding: 0; position: relative; }
.trvp-timeline::before { content: ''; position: absolute; left: 17px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(var(--p-accent), transparent); }
.trvp-timeline li { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding-bottom: 18px; }
.trvp-timeline__dot { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--p-accent); color: var(--p-on-accent); font-weight: 800; z-index: 1; }
.trvp-timeline h3 { margin: 6px 0 4px; font-size: 1.05rem; }
.trvp-timeline p { margin: 0 0 .4em; color: var(--p-muted); }
.trvp-chips { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.trvp-chips li { padding: 7px 12px; border-radius: 999px; background: var(--p-field); border: 1px solid var(--p-border); font-size: .88rem; }
.trvp-gallery { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.trvp-gallery img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; transition: transform .3s; }
.trvp-gallery a:hover img { transform: scale(1.03); }
.trvp-dl { display: grid; gap: 8px; margin: 0; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.trvp-dl > div { padding: 10px 12px; border-radius: 12px; background: var(--p-field, #f6f7f9); }
.trvp-dl dt { font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: var(--p-muted); }
.trvp-dl dd { margin: 0; font-weight: 600; }

/* ---------- Arma tu paquete ---------- */
.trvp-builder { display: grid; gap: 18px; color: var(--p-text); }
.trvp-hp { position: absolute; left: -9999px; }
.trvp-steps { list-style: none; margin: 0; padding: 0; display: none; gap: 8px; counter-reset: s; }
.trvp-builder.is-stepped .trvp-steps { display: flex; }
.trvp-steps li { flex: 1; display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: var(--p-field); border: 1px solid var(--p-border); font-weight: 600; font-size: .86rem; color: var(--p-muted); transition: .3s; }
.trvp-steps li span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--p-border); color: var(--p-text); font-size: .8rem; }
.trvp-steps li.is-active { border-color: var(--p-accent); color: var(--p-text); }
.trvp-steps li.is-active span, .trvp-steps li.is-done span { background: var(--p-accent); color: var(--p-on-accent); }
.trvp-step { border: 0; padding: 0; margin: 0; display: grid; gap: 14px; animation: trvp-in .4s ease; }
@keyframes trvp-in { from { opacity: 0; transform: translateX(14px); } }
.trvp-grid-2 { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.trvp-f { display: grid; gap: 6px; font-size: .86rem; font-weight: 600; color: var(--p-muted); }
.trvp-f--inline { display: inline-grid; }
.trvp-f--grow { flex: 1; min-width: 200px; }
.trvp-f__title { margin: 6px 0 0; font-weight: 700; color: var(--p-text); }
.trvp-builder input:not([type=checkbox]):not([type=radio]), .trvp-builder select, .trvp-builder textarea,
.trvp-panel input:not([type=checkbox]):not([type=radio]):not([type=file]), .trvp-panel select, .trvp-panel textarea, .trvp-search input, .trvp-search select {
	width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--p-border, #ccc);
	background: var(--p-field, #fff); color: var(--p-text, #111); font: 500 1rem var(--trv-font, inherit);
}
.trvp-builder select option, .trvp-panel select option { color: #10243a; }
.trvp-builder [aria-invalid="true"] { border-color: #e11d48 !important; box-shadow: 0 0 0 3px rgba(225, 29, 72, .2); }
.trvp-chips-input { display: flex; flex-wrap: wrap; gap: 8px; }
.trvp-chips-input label { position: relative; cursor: pointer; }
.trvp-chips-input input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.trvp-chips-input span { display: inline-block; padding: 9px 14px; border-radius: 999px; border: 1px solid var(--p-border); background: var(--p-field); color: var(--p-text); font-weight: 500; font-size: .9rem; transition: .2s; }
.trvp-chips-input input:checked + span { background: var(--p-accent); color: var(--p-on-accent); border-color: transparent; box-shadow: 0 6px 14px -8px var(--p-accent); }
.trvp-chips-input input:focus-visible + span { outline: 3px solid var(--p-accent); outline-offset: 2px; }
.trvp-check { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--p-text); }
.trvp-check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--p-accent); }
.trvp-builder__nav { display: flex; gap: 10px; justify-content: flex-end; flex-wrap: wrap; }
.trvp-builder:not(.is-stepped) [data-prev], .trvp-builder:not(.is-stepped) [data-next] { display: none; }
.trvp-alert { padding: 14px 18px; border-radius: 14px; font-weight: 600; margin-bottom: 14px; }
.trvp-alert--ok { background: #dcfce7; color: #14532d; border: 1px solid #86efac; }
.trvp-alert--error { background: #fee2e2; color: #7f1d1d; border: 1px solid #fca5a5; }
.trvp-search { display: flex; flex-wrap: wrap; gap: 10px; }
.trvp-search > * { flex: 1 1 160px; }

/* ---------- Panel del operador ---------- */
.trvp-panel { color: var(--p-text); display: grid; gap: 18px; }
.trvp-panel--login { max-width: 420px; margin: auto; padding: 28px; border-radius: var(--p-radius); background: var(--p-surface); }
.trvp-panel--login p { display: grid; gap: 6px; }
.trvp-panel__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.trvp-panel__hello { margin: 0; color: var(--p-muted); }
.trvp-panel__title { margin: 0; }
.trvp-tabs { display: flex; gap: 6px; flex-wrap: wrap; padding: 6px; border-radius: 16px; background: var(--p-field); border: 1px solid var(--p-border); }
.trvp-tabs a { display: inline-flex; gap: 8px; align-items: center; padding: 10px 16px; border-radius: 12px; text-decoration: none; color: var(--p-text); font-weight: 600; font-size: .92rem; }
.trvp-tabs a.is-active { background: var(--p-accent); color: var(--p-on-accent); }
.trvp-tabs a .trv-icon { width: 1.1em; height: 1.1em; }
.trvp-toolbar { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; align-items: center; }
.trvp-toolbar__search { display: flex; gap: 8px; flex: 1; max-width: 480px; }
.trvp-filter { display: flex; flex-wrap: wrap; gap: 6px; }
.trvp-filter a { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--p-border); text-decoration: none; color: var(--p-text); font-size: .85rem; }
.trvp-filter a.is-active { background: var(--p-accent); color: var(--p-on-accent); border-color: transparent; }
.trvp-table-wrap { overflow-x: auto; border-radius: 16px; border: 1px solid var(--p-border); background: var(--p-strong); }
.trvp-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.trvp-table th, .trvp-table td { padding: 12px; text-align: left; border-bottom: 1px solid var(--p-border); vertical-align: middle; }
.trvp-table th { font-size: .76rem; text-transform: uppercase; letter-spacing: .05em; color: var(--p-muted); }
.trvp-table__title { display: flex; gap: 10px; align-items: center; font-weight: 600; }
.trvp-table__title img { width: 48px; height: 48px; object-fit: cover; border-radius: 10px; }
.trvp-table__title a { color: inherit; }
.trvp-table__actions { white-space: nowrap; display: flex; gap: 6px; flex-wrap: wrap; }
@media (max-width: 760px) {
	.trvp-table thead { display: none; }
	.trvp-table tr { display: grid; padding: 10px; border-bottom: 1px solid var(--p-border); }
	.trvp-table td { border: 0; padding: 4px 0; }
	.trvp-table td[data-label]::before { content: attr(data-label) ': '; font-weight: 600; color: var(--p-muted); }
}
.trvp-status { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; background: #e2e8f0; color: #1e293b; }
.trvp-status--publish, .trvp-status--vendida, .trvp-status--pagada, .trvp-status--confirmada { background: #dcfce7; color: #14532d; }
.trvp-status--draft, .trvp-status--descartada, .trvp-status--cancelada { background: #f1f5f9; color: #475569; }
.trvp-status--nueva, .trvp-status--pendiente { background: #fef3c7; color: #78350f; }
.trvp-status--contactado, .trvp-status--cotizada, .trvp-status--anticipo { background: #dbeafe; color: #1e3a8a; }
.trvp-form { display: grid; gap: 16px; }
.trvp-fieldset { border: 1px solid var(--p-border); border-radius: 16px; padding: 16px; margin: 0; background: var(--p-strong); }
.trvp-fieldset legend { font-weight: 700; padding: 0 8px; }
.trvp-fieldset__grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); }
.trvp-field { display: grid; gap: 6px; align-content: start; }
.trvp-field label, .trvp-label { font-weight: 600; font-size: .86rem; }
.trvp-field--wide { grid-column: 1 / -1; }
.trvp-help { color: var(--p-muted); font-size: .78rem; }
.trvp-thumb-preview { width: 90px; height: 90px; object-fit: cover; border-radius: 12px; }
.trvp-repeater { display: grid; gap: 8px; }
.trvp-repeater__row { display: grid; grid-template-columns: 70px minmax(0, 1fr) minmax(0, 2fr) 34px; gap: 8px; align-items: start; }
@media (max-width: 700px) { .trvp-repeater__row { grid-template-columns: 1fr 34px; } .trvp-repeater__row > :nth-child(2), .trvp-repeater__row > :nth-child(3) { grid-column: 1; } }
.trvp-repeater__num { font-weight: 700; font-size: .85rem; padding-top: 12px; }
.trvp-gallery-edit { list-style: none; display: flex; flex-wrap: wrap; gap: 10px; padding: 0; margin: 0; }
.trvp-gallery-edit li { display: grid; gap: 4px; font-size: .78rem; }
.trvp-gallery-edit img { width: 90px; height: 90px; object-fit: cover; border-radius: 10px; }
.trvp-form__actions { position: sticky; bottom: 10px; display: flex; flex-wrap: wrap; gap: 10px; align-items: end; padding: 12px; border-radius: 16px; background: var(--p-strong); border: 1px solid var(--p-border); box-shadow: var(--p-shadow); z-index: 5; }
.trvp-requests { display: grid; gap: 10px; }
.trvp-request { border-radius: 16px; background: var(--p-strong); border: 1px solid var(--p-border); padding: 4px 16px; }
.trvp-request summary { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 10px 0; cursor: pointer; }
.trvp-request summary time { margin-left: auto; color: var(--p-muted); font-size: .85rem; }
.trvp-request[open] summary { border-bottom: 1px solid var(--p-border); margin-bottom: 12px; }
.trvp-request__actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; margin: 14px 0; }
.trvp-pager { display: flex; gap: 6px; justify-content: center; }
.trvp-pager a { padding: 6px 12px; border-radius: 8px; border: 1px solid var(--p-border); text-decoration: none; color: var(--p-text); }
.trvp-pager a.is-active { background: var(--p-accent); color: var(--p-on-accent); }
.trvp-steps { flex-wrap: wrap; }
.trvp-steps li { min-width: 0; }
@media (max-width: 560px) { .trvp-steps li { flex: 1 1 0; justify-content: center; padding: 6px; font-size: .78rem; } .trvp-steps li span { flex: none; } }
/* Acceso (login / recuperar / restablecer) */
.trvp-auth { display: grid; gap: 14px; }
.trvp-auth__title { margin: 0; }
.trvp-auth__form { display: grid; gap: 12px; }
.trvp-auth__form input:not([type=checkbox]) { width: 100%; min-height: 46px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--p-border); background: var(--p-field); color: var(--p-text); font: 500 1rem var(--trv-font, inherit); }
.trvp-auth__submit { width: 100%; }
.trvp-auth__links { margin: 0; text-align: center; font-size: .9rem; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.trvp-auth__links a:not(.trvp-btn) { color: inherit; }
.trvp-auth__recover { margin: 10px 0 0; }
.trvp-panel--login { color: var(--p-text); border: 1px solid var(--p-border); box-shadow: var(--p-shadow); }
/* Catálogo del promotor */
.trvp-catalog { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); }
.trvp-catalog__item { display: grid; grid-template-columns: 110px 1fr; gap: 14px; padding: 14px; border-radius: 16px; background: var(--p-strong); border: 1px solid var(--p-border); }
.trvp-catalog__media img, .trvp-catalog__media span { width: 110px; height: 110px; object-fit: cover; border-radius: 12px; display: grid; place-items: center; background: linear-gradient(135deg, #36d1dc, #5b86e5); color: #fff; }
.trvp-catalog__body { display: grid; gap: 6px; align-content: start; min-width: 0; }
.trvp-catalog__body h3 { margin: 0; font-size: 1.05rem; }
.trvp-catalog__actions { display: flex; gap: 6px; flex-wrap: wrap; }
.trvp-catalog__send summary { cursor: pointer; font-weight: 600; font-size: .9rem; display: inline-flex; gap: 6px; align-items: center; }
.trvp-catalog__form { display: grid; gap: 8px; margin-top: 10px; }
@media (max-width: 480px) { .trvp-catalog__item { grid-template-columns: 1fr; } }
