
/*
Theme Name: Turismo Luz
Theme URI: https://example.com/turismo-luz
Author: ChatGPT
Author URI: https://openai.com
Description: Tema ligero y moderno para sitios de turismo, agencias de viajes y hoteles. Incluye CPT "Tours" y secciones en la página de inicio.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: turismo-luz
*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

:root{
  --tl-primary:#0ea5e9; /* sky-500 */
  --tl-primary-dark:#0284c7; 
  --tl-accent:#22c55e; /* green-500 */
  --tl-dark:#0b132b;
  --tl-muted:#6b7280;
  --tl-bg:#ffffff;
  --tl-soft:#f1f5f9; /* slate-100 */
  --radius: 16px;
  --shadow: 0 10px 30px rgba(2,8,23,0.08);
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial; color:#0f172a; background:#fff; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--tl-primary); text-decoration:none }
a:hover{ color:var(--tl-primary-dark) }

.container{ max-width:1140px; margin:0 auto; padding:0 1rem; }
.btn{ display:inline-block; padding:.9rem 1.2rem; border-radius: 999px; background:var(--tl-primary); color:#fff; font-weight:600; box-shadow:var(--shadow); }
.btn:hover{ background:var(--tl-primary-dark); }
.btn-outline{ background:transparent; border:2px solid var(--tl-primary); color:var(--tl-primary); }
.btn-outline:hover{ background:var(--tl-primary); color:#fff; }

/* Header */
.tl-header{ position:sticky; top:0; z-index:50; background:#ffffffd9; backdrop-filter: blur(8px); border-bottom:1px solid #e5e7eb; }
.tl-nav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 0; }
.tl-logo{ display:flex; align-items:center; gap:.6rem; font-weight:700; color:var(--tl-dark); }
.tl-logo .mark{ width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,var(--tl-primary),var(--tl-accent)); display:grid; place-items:center; color:#fff; font-weight:800; box-shadow:var(--shadow); }
.tl-menu{ display:flex; gap:1rem; align-items:center; }
.tl-menu a{ color:#0f172a; font-weight:500; padding:.5rem .75rem; border-radius:12px; }
.tl-menu a:hover{ background:#f1f5f9; }

/* Hero */
.hero{ position:relative; display:grid; gap:1rem; align-items:center; padding:4rem 0; background:linear-gradient(180deg,#e0f2fe,transparent); }
.hero .grid{ display:grid; grid-template-columns:1.3fr 1fr; gap:2rem; }
.hero h1{ font-size:clamp(2rem, 4vw, 3rem); line-height:1.1; margin:0; }
.hero p{ color:var(--tl-muted); margin:0.75rem 0 1.25rem }
.hero .card{ background:#fff; border:1px solid #e5e7eb; border-radius:var(--radius); padding:1rem; box-shadow:var(--shadow); }

/* Sections */
.section{ padding:3rem 0; }
.section h2{ font-size:clamp(1.5rem,3.2vw,2.25rem); margin:0 0 1rem; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width:900px){
  .hero .grid, .grid-3{ grid-template-columns:1fr; }
}

/* Cards */
.card{ background:#fff; border:1px solid #e5e7eb; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); }
.card .body{ padding:1rem; }
.badge{ display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .6rem; border-radius:999px; background:#e0f2fe; color:#075985; font-weight:600; font-size:.85rem; }

/* Footer */
.tl-footer{ background:#0b132b; color:#e2e8f0; padding:3rem 0; margin-top:2rem; }
.tl-footer a{ color:#e2e8f0; opacity:.9 }
.tl-footer a:hover{ opacity:1 }
.tl-footer .cols{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:2rem; }
@media (max-width:900px){ .tl-footer .cols{ grid-template-columns:1fr; } }

/* Widgets */
.widget{ margin-bottom:1.25rem; }
.widget-title{ font-weight:700; margin-bottom:.5rem; }
