/*
Theme Name: LD Nomadic Lite (SEO Edition)
Theme URI: https://ldnomadictravels.com
Author: Luke DuBose & ChatGPT
Author URI: https://ldnomadictravels.com
Description: Clean, fast, mobile-first theme with built-in SEO (meta, OG/Twitter, JSON-LD, breadcrumbs) and simple templates for Home, Destinations, Regions, Blog, About, and Contact.
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ldnomadic
Tags: one-column, custom-menu, featured-images, accessibility-ready
*/
:root{
  --bg:#0e1014; --panel:#141821; --card:#171b24; --text:#e9eef7; --muted:#b9c2d4;
  --accent:#58b4ff; --accent2:#00d2a8; --border:#242a36; --radius:18px; --max:1100px;
  --shadow:0 10px 30px rgba(0,0,0,.25); --shadow-sm:0 6px 18px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;background:linear-gradient(180deg,var(--bg),#0a0b0e 60%);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none} a:hover{opacity:.9}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 20px}
header.site-header{position:sticky;top:0;z-index:50;background:rgba(14,16,20,.7);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;gap:10px;align-items:center}
.brand .logo{width:38px;height:38px;border-radius:12px;background: radial-gradient(100% 100% at 30% 20%, #4ac7ff, #0077ff 60%, #0a2540);box-shadow: var(--shadow-sm)}
.brand .title{font-weight:700;letter-spacing:.4px}
.tagline{color:var(--muted);font-size:.95rem}
nav.primary ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}
nav.primary a{display:block;padding:10px 12px;border-radius:12px;border:1px solid transparent;color:var(--text)}
nav.primary a:hover{background:var(--panel);border-color:var(--border)}
button.burger{display:none;background:transparent;border:0;color:var(--text);font-size:24px}
@media (max-width:860px){
  nav.primary{display:none;position:absolute;left:0;right:0;top:64px;background:var(--panel);border-bottom:1px solid var(--border)}
  nav.primary.open{display:block}
  nav.primary ul{flex-direction:column;padding:10px}
  button.burger{display:block}
  .tagline{display:none}
}
.hero{position:relative;min-height:72vh;display:grid;place-items:center;background:#0a0b0e;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:var(--hero, radial-gradient(1200px 600px at 40% -10%, #1c6fff33, transparent 50%)),radial-gradient(1200px 600px at 70% 110%, #00d2a833, transparent 45%);background-size:cover;background-position:center;filter:saturate(115%);opacity:.5}
.hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(10,11,14,.75))}
.hero .content{position:relative;z-index:1;text-align:center;padding:60px 0}
h1.display{font-size:clamp(2rem,4.8vw,3.8rem);line-height:1.1;margin:0 0 14px 0;letter-spacing:.3px}
.lead{font-size:clamp(1rem,2.2vw,1.2rem);color:var(--muted);max-width:760px;margin:0 auto 28px}
.cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;border:1px solid var(--border);background:var(--card);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}
.btn.primary{background:linear-gradient(180deg,var(--accent),#2b8eff);border-color:#2578d4;color:#08121f}
.btn.ghost{background:transparent}
.btn:hover{transform:translateY(-1px)}
.badges{display:flex;gap:18px;justify-content:center;margin-top:18px;color:var(--muted);font-size:.92rem;flex-wrap:wrap}
.badges span{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:#0f131b}
section{padding:64px 0;border-top:1px solid var(--border)}
.section-title{font-size:clamp(1.6rem,3.2vw,2.2rem);margin:0 0 8px}
.section-sub{color:var(--muted);margin:0 0 28px}
.grid{display:grid;gap:16px}
.grid.cards{grid-template-columns:repeat(12,1fr)}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}
.card h3{margin:.2rem 0 .6rem 0}
.card p{color:var(--muted)}
.cards.three>.card{grid-column:span 4}.cards.four>.card{grid-column:span 3}
@media (max-width:860px){.cards.three>.card{grid-column:span 12}.cards.four>.card{grid-column:span 6}}
.figure{border-radius:16px;overflow:hidden;position:relative;height:220px;background:#0f1217;border:1px solid var(--border)}
.figure img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(105%) contrast(1.02)}
.process{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}
.step{grid-column:span 3;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px}
.step .num{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#0f1520;border:1px solid var(--border);margin-bottom:8px;color:var(--accent)}
@media (max-width:860px){.step{grid-column:span 12}}
.testimonials{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}
.quote{grid-column:span 6;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px}
.quote p{margin:0;color:#cdd6e6}.quote .who{color:var(--muted);margin-top:8px}
@media (max-width:860px){.quote{grid-column:span 12}}
.about{display:grid;gap:16px;grid-template-columns:repeat(12,1fr);align-items:center}
.about .copy{grid-column:span 7}.about .photo{grid-column:span 5}.about .photo .figure{height:320px}
@media (max-width:860px){.about .copy,.about .photo{grid-column:span 12}}
.kicker{color:var(--accent2);font-weight:700;letter-spacing:.4px;text-transform:uppercase;font-size:.8rem}
footer.site-footer{padding:38px 0;border-top:1px solid var(--border);background:#0c0f14}
.footer-grid{display:grid;gap:16px;grid-template-columns:repeat(12,1fr)}
.footer-grid>div{grid-column:span 4}.footer-grid a{color:var(--muted)}.small{font-size:.92rem;color:var(--muted)}
@media (max-width:860px){.footer-grid>div{grid-column:span 12}}
/* Dropdown menu */
nav.primary ul li{position:relative}
nav.primary ul .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:8px;z-index:1000;box-shadow:var(--shadow)}
nav.primary ul .sub-menu li a{padding:10px 12px;border-radius:10px}
nav.primary ul li:hover>.sub-menu{display:block}
@media (max-width:860px){
  nav.primary{position:absolute;left:0;right:0;top:64px}
  nav.primary ul .sub-menu{position:static;display:none;margin:6px 0 6px 12px;border-radius:10px}
  nav.primary li.open-sub>.sub-menu{display:block}
  nav.primary .menu-item-has-children>a::after{content:"▾";margin-left:8px;font-size:12px;opacity:.8}
}
/* Breadcrumbs */
.breadcrumbs{font-size:.9rem;color:var(--muted)}
.breadcrumbs a{color:var(--muted)}
