/*
Theme Name: Travel Publisher Master
Theme URI: https://example.com/
Author: Travel Publisher
Description: Reusable SEO-first WordPress travel publishing theme for destination sites, city guides, hotel portals, beach guides, travel deals, affiliate offers, AdSense, and lead generation.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: travelpublisher
*/
:root{
  --tp-bg:#ffffff;
  --tp-ink:#17212b;
  --tp-muted:#687785;
  --tp-primary:#0b5f7a;
  --tp-accent:#f0a62b;
  --tp-soft:#f4f8fa;
  --tp-line:#e2e8ec;
  --tp-card:#fff;
  --tp-max:1180px;
  --tp-radius:18px;
  --tp-shadow:0 12px 35px rgba(16,34,48,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--tp-bg);color:var(--tp-ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
a{color:var(--tp-primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.tp-wrap{width:min(calc(100% - 36px),var(--tp-max));margin:auto}
.tp-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--tp-line);backdrop-filter:blur(14px)}
.tp-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.tp-brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--tp-ink);font-size:1.25rem}
.tp-brand-mark{width:40px;height:40px;border-radius:12px;background:var(--tp-primary);display:grid;place-items:center;color:white;font-size:20px}
.tp-nav ul{display:flex;gap:20px;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.tp-nav a{font-weight:700;color:var(--tp-ink)}
.tp-search{border:1px solid var(--tp-line);border-radius:999px;padding:10px 14px;background:#fff;min-width:190px}
.tp-hero{padding:74px 0 58px;background:linear-gradient(135deg,#eff8fb,#fff9ec)}
.tp-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:42px;align-items:center}
.tp-kicker{display:inline-block;padding:7px 11px;border-radius:999px;background:#e6f5f9;color:var(--tp-primary);font-size:.78rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.tp-hero h1{font-size:clamp(2.6rem,6vw,5rem);line-height:.98;letter-spacing:-.045em;margin:17px 0}
.tp-hero p{font-size:1.1rem;color:var(--tp-muted);max-width:650px}
.tp-cta{display:inline-block;padding:14px 19px;border-radius:11px;background:var(--tp-primary);color:white;font-weight:900;margin:6px 8px 0 0}
.tp-cta.alt{background:white;color:var(--tp-primary);border:1px solid var(--tp-line)}
.tp-hero-card{border-radius:26px;overflow:hidden;box-shadow:var(--tp-shadow);background:white}
.tp-hero-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.tp-hero-card .inner{padding:20px}
.tp-section{padding:54px 0}
.tp-section.soft{background:var(--tp-soft)}
.tp-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}
.tp-section h2{font-size:clamp(1.8rem,3.2vw,2.55rem);letter-spacing:-.03em;margin:0}
.tp-muted{color:var(--tp-muted)}
.tp-grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}
.tp-tile{background:white;border:1px solid var(--tp-line);border-radius:15px;padding:18px;text-align:center;font-weight:850;box-shadow:0 4px 14px rgba(10,30,50,.03)}
.tp-tile span{display:block;font-size:1.55rem;margin-bottom:6px}
.tp-content-grid{display:grid;grid-template-columns:2fr 1fr;gap:32px}
.tp-post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.tp-card{background:var(--tp-card);border:1px solid var(--tp-line);border-radius:var(--tp-radius);overflow:hidden}
.tp-card .thumb{aspect-ratio:16/10;background:#eef2f4;overflow:hidden;display:block}
.tp-card .thumb img{width:100%;height:100%;object-fit:cover}
.tp-card .body{padding:18px}
.tp-card h3{margin:7px 0 7px;line-height:1.26}
.tp-eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--tp-primary)}
.tp-sidebar-box{border:1px solid var(--tp-line);background:white;border-radius:var(--tp-radius);padding:20px;margin-bottom:18px}
.tp-ad{min-height:250px;border:1px dashed #c7d0d6;border-radius:14px;background:#f8fafb;display:grid;place-items:center;text-align:center;color:#87939d;padding:18px}
.tp-deal-grid,.tp-hotel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.tp-offer{border:1px solid var(--tp-line);border-radius:16px;background:white;padding:18px}
.tp-offer .price{font-size:1.3rem;font-weight:900;color:var(--tp-primary)}
.tp-offer .btn{display:block;margin-top:12px;padding:11px 13px;border-radius:9px;background:var(--tp-accent);color:#2a1d00;text-align:center;font-weight:900}
.tp-lead{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:34px;border-radius:26px;background:var(--tp-primary);color:white}
.tp-lead h2{color:white}
.tp-lead form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tp-lead input,.tp-lead select,.tp-lead textarea{width:100%;padding:12px;border:0;border-radius:9px}
.tp-lead textarea{grid-column:1/-1;min-height:90px}
.tp-lead button{grid-column:1/-1;border:0;padding:13px;border-radius:9px;background:var(--tp-accent);font-weight:900}
.tp-article{width:min(calc(100% - 36px),820px);margin:48px auto}
.tp-article h1{font-size:clamp(2.3rem,5vw,4rem);line-height:1.04;letter-spacing:-.04em}
.tp-meta{color:var(--tp-muted);margin-bottom:22px}
.tp-content{font-family:Georgia,serif;font-size:1.07rem}
.tp-content h2,.tp-content h3{font-family:Inter,system-ui,sans-serif}
.tp-disclosure{background:#fff8e2;border:1px solid #eadca7;border-radius:12px;padding:13px 15px;font-size:.9rem;margin:18px 0}
.tp-footer{background:#111b23;color:#dce4e8;padding:46px 0 22px;margin-top:50px}
.tp-footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:28px}
.tp-footer a{color:#eef5f7}
.tp-footer ul{list-style:none;margin:0;padding:0}
.tp-footer li{margin:7px 0}
.tp-copy{border-top:1px solid #30414d;margin-top:28px;padding-top:16px;color:#9dadb8;font-size:.9rem}
.tp-mode-badge{font-size:.72rem;padding:4px 8px;border:1px solid var(--tp-line);border-radius:999px;color:var(--tp-muted)}
.tp-pagination{margin:28px 0}
@media(max-width:920px){
  .tp-hero-grid,.tp-content-grid,.tp-lead,.tp-footer-grid{grid-template-columns:1fr}
  .tp-grid-6{grid-template-columns:repeat(3,1fr)}
  .tp-deal-grid,.tp-hotel-grid{grid-template-columns:repeat(2,1fr)}
  .tp-nav{display:none}
}
@media(max-width:620px){
  .tp-post-grid,.tp-deal-grid,.tp-hotel-grid,.tp-lead form{grid-template-columns:1fr}
  .tp-grid-6{grid-template-columns:repeat(2,1fr)}
  .tp-search{min-width:145px}
  .tp-hero{padding-top:42px}
}
