:root {
    --turismo-blue-dark: #0d2c41;
    --turismo-blue: #1d476e;
    --turismo-yellow: #f2c94c;
    --turismo-gradient: linear-gradient(135deg, #0d2c41 0%, #1d476e 100%);
    --turismo-font: 'Raleway', Helvetica, Arial, Lucida, sans-serif;
}

.turismo-lugares-page,
.turismo-lugar-page { font-family:var(--turismo-font); color:#20272c; }
.turismo-lugares-container { width:min(1180px,calc(100% - 40px)); margin:0 auto; }

.turismo-lugares-hero { background:var(--turismo-gradient); color:#fff; padding:78px 0 68px; }
.turismo-lugares-kicker { margin:0 0 10px; color:var(--turismo-yellow); font-weight:800; font-size:12px; letter-spacing:.22em; text-transform:uppercase; }
.turismo-lugares-hero h1 { color:#fff; margin:0 0 12px; font-size:clamp(42px,6vw,72px); line-height:1; }
.turismo-lugares-hero p:last-child { max-width:720px; margin:0; font-size:18px; line-height:1.7; opacity:.9; }

.turismo-lugares-content { padding:48px 0 84px; background:#fff; }
.turismo-lugares-tabs { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 34px; }
.turismo-lugares-tabs a { padding:9px 14px; border:1px solid #d8e0e6; border-radius:999px; text-decoration:none; color:var(--turismo-blue-dark); font-size:14px; font-weight:700; }
.turismo-lugares-tabs a:hover,.turismo-lugares-tabs a.is-active { background:var(--turismo-yellow); border-color:var(--turismo-yellow); color:#102b3d; }

.turismo-lugares-grid-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.turismo-lugar-card { border:1px solid #e2e7eb; border-radius:14px; overflow:hidden; background:#fff; box-shadow:0 7px 22px rgba(13,44,65,.06); }
.turismo-lugar-card__image { display:block; aspect-ratio:16/10; background:#edf2f5; overflow:hidden; }
.turismo-lugar-card__image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.turismo-lugar-card:hover .turismo-lugar-card__image img { transform:scale(1.025); }
.turismo-lugar-card__placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,#dce6ec,#f4f7f9); }
.turismo-lugar-card__body { padding:20px; }
.turismo-lugar-card__meta { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:10px; }
.turismo-lugar-card__meta span { background:#eef3f6; color:var(--turismo-blue-dark); border-radius:999px; padding:4px 8px; font-size:11px; font-weight:700; }
.turismo-lugar-card h2 { margin:0 0 8px; font-size:22px; line-height:1.2; }
.turismo-lugar-card h2 a { color:var(--turismo-blue-dark); text-decoration:none; }
.turismo-lugar-card p { margin:0 0 15px; color:#5a6670; line-height:1.65; }
.turismo-lugar-card__more { color:var(--turismo-blue); text-decoration:none; font-weight:750; }
.turismo-lugar-card__more:hover { text-decoration:underline; text-decoration-color:var(--turismo-yellow); text-decoration-thickness:2px; }

.turismo-lugares-empty { background:#f6f8fa; border:1px dashed #cbd5dc; border-radius:14px; padding:44px; text-align:center; }
.turismo-lugares-empty h2 { color:var(--turismo-blue-dark); margin:0 0 8px; }
.turismo-lugares-empty p { margin:0; color:#68757e; }
.turismo-lugares-pagination { display:flex; gap:7px; justify-content:center; margin-top:40px; }
.turismo-lugares-pagination .page-numbers { min-width:38px; min-height:38px; display:grid; place-items:center; border:1px solid #d8e0e6; border-radius:8px; text-decoration:none; color:var(--turismo-blue-dark); }
.turismo-lugares-pagination .current { background:var(--turismo-blue-dark); color:#fff; border-color:var(--turismo-blue-dark); }

.turismo-lugar-hero { position:relative; background:var(--turismo-gradient); color:#fff; padding:92px 0 76px; overflow:hidden; }
.turismo-lugar-hero.has-image { background-image:var(--turismo-lugar-bg); background-size:cover; background-position:center; }
.turismo-lugar-hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(13,44,65,.95),rgba(13,44,65,.62)); }
.turismo-lugar-hero__content { position:relative; z-index:1; }
.turismo-lugar-localidad { display:inline-block; color:#fff; text-decoration:none; margin-bottom:18px; border-bottom:2px solid var(--turismo-yellow); }
.turismo-lugar-hero h1 { color:#fff; margin:0; max-width:920px; font-size:clamp(44px,6vw,78px); line-height:1.02; }
.turismo-lugar-intro { max-width:820px; margin:22px 0 0; font-size:20px; line-height:1.7; opacity:.93; }

.turismo-lugar-main { padding:62px 0 90px; background:#fff; }
.turismo-lugar-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:48px; align-items:start; }
.turismo-lugar-article { font-size:18px; line-height:1.85; }
.turismo-lugar-article h2,.turismo-lugar-article h3 { color:var(--turismo-blue-dark); }
.turismo-lugar-article a { color:var(--turismo-blue); text-decoration-color:var(--turismo-yellow); text-decoration-thickness:2px; }
.turismo-lugar-info-card { border:1px solid #dde5ea; border-top:5px solid var(--turismo-yellow); border-radius:12px; padding:22px; box-shadow:0 8px 24px rgba(13,44,65,.06); }
.turismo-lugar-info-card h2 { color:var(--turismo-blue-dark); margin:0 0 15px; font-size:22px; }
.turismo-lugar-info-card>div { padding:11px 0; border-top:1px solid #edf1f4; }
.turismo-lugar-info-card strong { display:block; color:var(--turismo-blue-dark); font-size:12px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:4px; }
.turismo-lugar-info-card span,.turismo-lugar-info-card a { color:#53616a; line-height:1.55; text-decoration:none; }
.turismo-lugar-back { display:block; margin-top:18px; color:var(--turismo-blue); text-decoration:none; font-weight:750; }

.turismo-lugar-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:34px; }
.turismo-lugar-gallery a { display:block; border-radius:10px; overflow:hidden; aspect-ratio:4/3; }
.turismo-lugar-gallery img { display:block; width:100%; height:100%; object-fit:cover; }

@media (max-width:980px) { .turismo-lugares-grid-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .turismo-lugar-layout { grid-template-columns:1fr; } }
@media (max-width:640px) { .turismo-lugares-container { width:min(100% - 28px,1180px); } .turismo-lugares-grid-cards { grid-template-columns:1fr; } .turismo-lugares-hero { padding:58px 0 50px; } .turismo-lugar-hero { padding:68px 0 58px; } .turismo-lugar-gallery { grid-template-columns:1fr; } }
