/* Comparte introducciones y details nativos con participacion.css. */
.utility-page { padding-top:165px; padding-bottom:80px; }
.utility-intro { margin-top:0; margin-bottom:105px; }
.utility-intro h1 { max-width:15ch; }
.faq-block summary,.faq-unavailable h2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) 24px; gap:28px; padding-block:28px; font:400 28px/1.3 var(--font-body); text-transform:uppercase; }
.faq-block-number { font-size:16px; text-transform:none; align-self:center; }
.faq-unavailable { border-top:1px solid #ffffff88; }
.faq-unavailable h2 { color:#d1d1c7; }
.faq-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:50px; border-top:1px solid #ffffff25; padding-block:28px; }
.faq-pair dt { display:flex; gap:36px; font-weight:700; }
.faq-pair dt span { flex-shrink:0; }
.faq-pair dd { line-height:1.5; }
.practice-grid { display:grid; gap:48px; }
.practice-card { display:grid; grid-template-columns:41% minmax(0,1fr); border:1px solid #ffffff99; }
.practice-card > img { width:100%; height:100%; min-height:390px; object-fit:cover; display:block; }
.practice-copy { padding:28px clamp(28px,4vw,70px) 50px; display:flex; flex-direction:column; justify-content:center; min-width:0; }
.practice-number { text-align:right; font-size:14px; margin-bottom:48px; }
.practice-copy h2 { font:400 27px/1.3 var(--font-body); margin-bottom:24px; }
.practice-copy > p:last-child { line-height:1.5; }
.travel-heading { margin-bottom:60px; }
.travel-heading h1,.tourism-heading h2,.tourism-heading h1 { font:500 clamp(48px,5vw,76px)/1 var(--font-display); text-transform:uppercase; }
.travel-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:65px; padding:36px 0; border-top:1px solid #ffffff88; }
.travel-row:last-child { border-bottom:1px solid #ffffff88; }
.travel-row h2 { font:400 25px/1.3 var(--font-body); margin-bottom:36px; }
.travel-row h3 { font:700 17px/1.4 var(--font-body); margin-bottom:14px; }
.travel-row p + p,.travel-row > div > div + div { margin-top:24px; }
.travel-row ul { margin-top:20px; padding-left:24px; }
.travel-row li + li { margin-top:16px; }
.travel-actions { display:grid; justify-items:start; gap:12px; }
.utility-action { font:inherit; padding:10px 0; text-align:left; white-space:normal; }
button.utility-action:disabled { color:inherit; opacity:.7; cursor:not-allowed; text-decoration:none; }
.tourism-heading { padding-block:80px 60px; }
.tourism-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); color:#171710; }
.tourism-photo { min-width:0; }
.tourism-photo img { width:100%; height:100%; min-height:520px; max-height:750px; object-fit:cover; display:block; }
.tourism-copy { min-width:0; padding:50px; display:flex; flex-direction:column; align-items:start; }
.tourism-copy h3 { font:400 25px/1.3 var(--font-body); margin-bottom:28px; }
.tourism-copy p + p { margin-top:24px; }
.tourism-copy .utility-action { margin-top:auto; padding-top:40px; }
.tourism-card--reverse .tourism-photo { grid-column:2; grid-row:1; }
.tourism-card--reverse .tourism-copy { grid-column:1; grid-row:1; }
.tourism-card--amarillo { background:#f5ed77; }
.tourism-card--crema { background:#f4eedf; }
.tourism-card--oliva { background:#a7a477; }
.tourism-card--rojo { background:#f34d2f; }
.tourism-card--verde { background:#a2c46c; }
@media(max-width:1000px) {
  .utility-intro { margin-bottom:64px; }
  .faq-block summary,.faq-unavailable h2 { font-size:23px; gap:16px; }
  .practice-card { grid-template-columns:45% minmax(0,1fr); }
  .practice-copy { padding:24px; }
  .practice-copy h2 { font-size:23px; }
  .travel-row { gap:32px; }
  .tourism-copy { padding:32px; }
}
@media(max-width:700px) {
  .utility-page { padding-top:140px; padding-bottom:48px; }
  .faq-block summary,.faq-unavailable h2 { grid-template-columns:minmax(0,1fr) 24px; }
  .faq-block-number { grid-row:2; grid-column:1/-1; }
  .faq-block summary::after { grid-column:2; grid-row:1; }
  .faq-pair,.travel-row,.practice-card,.tourism-card { grid-template-columns:minmax(0,1fr); }
  .faq-pair { gap:16px; }
  .faq-pair dt { gap:16px; }
  .practice-card > img { height:auto; min-height:0; }
  .practice-number { margin-bottom:24px; }
  .practice-grid { gap:28px; }
  .travel-row { gap:20px; }
  .travel-row h2 { margin-bottom:24px; }
  .tourism-card--reverse .tourism-photo,.tourism-card--reverse .tourism-copy { grid-column:auto; grid-row:auto; }
  .tourism-photo img { min-height:0; height:340px; }
  .tourism-copy { padding:32px var(--page-gutter); }
  .tourism-heading { padding-block:56px 40px; }
}

.travel-disclosure .travel-row { border:0; }
.travel-disclosure summary { font:400 25px/1.3 var(--font-body); }
.practice-card { background:var(--color-deep); }
.practice-grid.is-stacked .practice-card { position:sticky; top:var(--stack-top); z-index:var(--stack-order); }
@media(prefers-reduced-motion:reduce) {
  .practice-grid.is-stacked .practice-card { position:static; }
}

.faq-unavailable>p { padding-bottom:28px; }
.tourism-photo img { min-height:0; max-height:none; height:100%; aspect-ratio:16/9; }
.tourism-card { align-items:stretch; }
.tourism-copy { padding:clamp(24px,3vw,44px); }
.tourism-copy .utility-action { padding-top:24px; }
.utility-action[href]::after { content:" ↗"; display:inline-block; margin-left:12px; }
@media(max-width:700px) { .tourism-photo img { height:auto; aspect-ratio:16/9; } }
/* En tablet el texto necesita todo el ancho: la foto conserva formato apaisado. */
@media(min-width:701px) and (max-width:1000px) {
  .tourism-card { grid-template-columns:minmax(0,1fr); }
  .tourism-card--reverse .tourism-photo,.tourism-card--reverse .tourism-copy { grid-column:auto; grid-row:auto; }
  .tourism-photo img { height:auto; aspect-ratio:16/9; }
}


/* Revisión responsive 21/10/2026. */
@media(max-width:700px) { .practice-number { text-align:left; } }
.tourism-heading h1 { font-size:55px; line-height:64px; }
@media(max-width:600px) { .tourism-heading h1 { font-size:40px; line-height:1.16; } }

.faq-pair dd p+p { margin-top:18px; }
.faq-source-note { font-size:14px; opacity:.8; }
