/* ── PAGE HERO ── */
.page-hero {
    position: relative;
    overflow: hidden;
    max-width: var(--mtt-container-max);
    margin: 0 auto;
    padding: var(--mtt-container-px);
}
.page-hero-inner {
    max-width: var(--mtt-container-max);
    margin: 0 auto;
}
.hero-label {
    display: inline-flex;
    align-items: center;
    gap: var(--mtt-space-2);
    font-size: var(--mtt-font-size-xs);
    font-weight: var(--mtt-font-weight-bold);
    letter-spacing: var(--mtt-letter-spacing-label);
    text-transform: uppercase;
    color: var(--mtt-color-accent);
    margin-bottom: var(--mtt-space-5);
}
.hero-label::before { content: ''; display: inline-block; width: 28px; height: 3px; background: var(--mtt-color-yellow); border-radius: var(--mtt-radius-pill); }
.hero-label::after  { content: ''; display: inline-block; width: 28px; height: 3px; background: var(--mtt-color-yellow); border-radius: var(--mtt-radius-pill); }
.page-hero-heading {
    font-family: var(--mtt-font-title);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: var(--mtt-font-weight-medium);
    line-height: 1.12;
    color: var(--mtt-color-blue);
    margin-bottom: var(--mtt-space-4);
}
.page-hero-meta {
    font-size: var(--mtt-font-size-md);
    color: var(--mtt-color-muted);
}
@media (max-width: 768px) {
    .page-hero { padding: 44px var(--mtt-container-px-sm); }
    .page-hero-heading { font-size: clamp(1.7rem, 7vw, 2.2rem); }
}

/* ── DOCUMENT LAYOUT ── */
.doc-section {
    padding: 0;
    background: var(--mtt-color-gray-soft);
}
.doc-container {
    max-width: var(--mtt-container-max);
    margin: 0 auto;
    padding: 0 var(--mtt-container-px);
    padding-bottom: var(--mtt-container-px);
    display: grid;
    grid-template-columns: 1fr;
    gap: 56px;
    align-items: start;
}

/* ── SIDEBAR INDEX ── */
.doc-index {
    position: sticky;
    top: 32px;
    background: var(--mtt-color-white);
    border: 1px dashed var(--mtt-color-border);
    border-radius: var(--mtt-radius-md);
    padding: var(--mtt-space-6);
}
.doc-index-title {
    font-size: var(--mtt-font-size-xs);
    font-weight: var(--mtt-font-weight-bold);
    letter-spacing: var(--mtt-letter-spacing-label);
    text-transform: uppercase;
    color: var(--mtt-color-muted);
    margin-bottom: var(--mtt-space-5);
}
.doc-index-list {
    display: flex;
    flex-direction: column;
    gap: var(--mtt-space-1);
}
.doc-index-list a {
    display: block;
    font-size: var(--mtt-font-size-md);
    color: var(--mtt-color-muted);
    padding: var(--mtt-space-2) var(--mtt-space-3);
    border-radius: var(--mtt-radius-sm);
    border-left: 2px solid transparent;
    transition: color var(--mtt-transition), border-color var(--mtt-transition), background var(--mtt-transition);
    line-height: var(--mtt-line-height-normal);
}
.doc-index-list a:hover {
    color: var(--mtt-color-accent);
    border-left-color: var(--mtt-color-yellow);
    background: var(--mtt-color-gray-soft);
}

/* ── DOCUMENT CONTENT ── */
.doc-content {
    display: flex;
    flex-direction: column;
    gap: var(--mtt-space-5);
}
.doc-block {
    background: var(--mtt-color-white);
    border: 1px dashed var(--mtt-color-border);
    border-radius: var(--mtt-radius-md);
    padding: var(--mtt-space-8);
}
.doc-block-title {
    font-family: var(--mtt-font-body);
    font-size: var(--mtt-font-size-2xl);
    font-weight: var(--mtt-font-weight-semibold);
    color: var(--mtt-color-accent);
    margin-bottom: var(--mtt-space-4);
    display: flex;
    align-items: center;
    gap: var(--mtt-space-3);
}
.doc-block-title i {
    display: flex;
    font-size: var(--mtt-font-size-xl);
    color: var(--mtt-color-yellow);
    flex-shrink: 0;
}
.doc-block p {
    font-size: var(--mtt-font-size-xl);
    color: var(--mtt-color-muted);
    line-height: var(--mtt-line-height-loose);
}
.doc-block p + p {
    margin-top: var(--mtt-space-4);
}

/* Cancellations table-style breakdown */
.refund-rows {
    display: flex;
    flex-direction: column;
    gap: var(--mtt-space-3);
    margin-top: var(--mtt-space-5);
}
.refund-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mtt-space-4);
    padding: var(--mtt-space-4) var(--mtt-space-5);
    background: var(--mtt-color-gray-soft);
    border-radius: var(--mtt-radius-sm);
    flex-wrap: wrap;
}
.refund-row-timing {
    font-size: var(--mtt-font-size-md);
    color: var(--mtt-color-muted);
    font-weight: var(--mtt-font-weight-semibold);
}
.refund-row-policy {
    font-size: var(--mtt-font-size-md);
    color: var(--mtt-color-muted);
    text-align: right;
}
.refund-row.no-refund {
    border-left-color: var(--mtt-color-gray-50);
}
.refund-row.no-refund .refund-row-policy {
    color: var(--mtt-color-gray-50);
}

/* Notes highlight */
.doc-notes-list {
    display: flex;
    flex-direction: column;
    gap: var(--mtt-space-3);
    margin-top: var(--mtt-space-4);
}
.doc-note-item {
    display: flex;
    align-items: flex-start;
    gap: var(--mtt-space-3);
    font-size: var(--mtt-font-size-xl);
    color: var(--mtt-color-muted);
    line-height: var(--mtt-line-height-loose);
}
.doc-note-item i {
    display: flex;
    color: var(--mtt-color-accent);
    font-size: var(--mtt-font-size-lg);
    flex-shrink: 0;
    margin-top: 3px;
}

@media (max-width: 900px) {
    .doc-container {
    grid-template-columns: 1fr;
    gap: 32px;
    }
    .doc-index {
    position: static;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 var(--mtt-space-6);
    align-items: start;
    }
    .doc-index-title { grid-column: 1 / -1; }
    .doc-index-list { flex-direction: row; flex-wrap: wrap; gap: var(--mtt-space-2); grid-column: 1 / -1; }
    .doc-index-list a { border-left: none; border-bottom: 2px solid transparent; }
    .doc-index-list a:hover { border-bottom-color: var(--mtt-color-yellow); }
}
@media (max-width: 480px) {
    :root { --mtt-container-px: var(--mtt-container-px-sm); --mtt-section-py: 48px; }
    .doc-block { padding: var(--mtt-space-6); }
    .refund-row { flex-direction: column; gap: var(--mtt-space-2); }
    .refund-row-policy { text-align: left; }
}

/* ── LIST STYLES (implícito y explícito) ── */

/* Para listas con viñetas normales */
.doc-list-styled {
    margin: 0;
    padding-left: var(--mtt-space-5);
    list-style: disc; /* explícito */
    display: flex;
    flex-direction: column;
    gap: var(--mtt-space-3);
}
.doc-list-styled li {
    font-size: var(--mtt-font-size-xl);
    color: var(--mtt-color-muted);
    line-height: var(--mtt-line-height-loose);
    padding-left: var(--mtt-space-2);
}
.doc-list-styled li::marker {
    color: var(--mtt-color-accent);
}

/* Para la lista de cancelaciones (sin viñetas, es un diseño de filas) */
.refund-list {
    margin: var(--mtt-space-5) 0 0 0;
    padding: 0;
    list-style: none; /* explícitamente sin viñetas */
    display: flex;
    flex-direction: column;
    gap: var(--mtt-space-3);
}
.refund-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--mtt-space-4);
    padding: var(--mtt-space-4) var(--mtt-space-5);
    background: var(--mtt-color-gray-soft);
    border-radius: var(--mtt-radius-sm);
    flex-wrap: wrap;
}
.refund-timing {
    font-size: var(--mtt-font-size-md);
    color: var(--mtt-color-muted);
    font-weight: var(--mtt-font-weight-semibold);
}
.refund-policy {
    font-size: var(--mtt-font-size-md);
    color: var(--mtt-color-muted);
    text-align: right;
}
.refund-list-item.no-refund .refund-policy {
    color: var(--mtt-color-gray-50);
}

/* Admin badge */
.admin-badge {
    display: inline-block;
    background: var(--mtt-color-gray-200);
    color: var(--mtt-color-muted);
    font-size: var(--mtt-font-size-xs);
    font-weight: var(--mtt-font-weight-normal);
    padding: 2px 8px;
    border-radius: var(--mtt-radius-pill);
    margin-left: var(--mtt-space-2);
    vertical-align: middle;
}

/* Responsive */
@media (max-width: 480px) {
    .refund-list-item {
        flex-direction: column;
        gap: var(--mtt-space-2);
        align-items: flex-start;
    }
    .refund-policy {
        text-align: left;
    }
}