/*
Theme Name: YourConcern Tours
Theme URI: https://yourconcerntours.com
Author: Your Studio
Author URI: https://example.com
Description: A travel & tourism WordPress theme built for YourConcern Tours — safari experiences, beach holidays, honeymoons, family holidays, corporate travel, group excursions, customized journeys, and Travel Bites catering. Fully Elementor-compatible for building out further pages.
Version: 2.17.1
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yourconcern
Domain Path: /languages
Tags: travel, tourism, safari, booking, elementor, translation-ready

This file is intentionally left as the theme header only.
All actual styles live in assets/css/main.css (enqueued in functions.php).
*/

/* ---- Homepage sections ---- */
.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.style-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius-lg,14px);padding:20px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.style-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.style-card strong{font-family:var(--font-head);font-size:16px;color:var(--blue-dark)}
.style-card span{font-size:13.5px;line-height:1.6;color:var(--ink-soft)}
.style-card em{font-style:normal;font-size:12.5px;font-weight:600;color:var(--blue)}
.month-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.month-card{display:flex;gap:12px;align-items:flex-start;background:var(--bg-soft);border-radius:var(--radius-lg,14px);padding:14px 16px;text-decoration:none;color:inherit;transition:background .15s}
.month-card:hover{background:#e9f1f7}
.month-card b{flex:0 0 44px;font-family:var(--font-head);font-size:15px;color:var(--blue)}
.month-card span{font-size:13.5px;line-height:1.55;color:var(--ink-soft)}
.rev-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
.rev-links a{font-size:13.5px;font-weight:600;color:var(--blue);text-decoration:underline}

/* Newsletter band sits just above the footer */
.newsletter-band { background: var(--bg-soft, #f3f6f2); padding: 44px 0; }
.newsletter-band .newsletter { margin: 0; padding: 34px 40px; border-top: 0; border-radius: var(--radius-lg, 16px); }
@media (max-width: 760px) { .newsletter-band { padding: 28px 0; } .newsletter-band .newsletter { padding: 26px 20px; } }

/* ---- About page ---- */
.ab-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--blue-dark) 60%,var(--blue) 100%);color:#fff;padding:84px 0 76px}
.ab-hero-in{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center}
.ab-hero:not(:has(.ab-hero-img)) .ab-hero-in{grid-template-columns:1fr;max-width:860px}
.ab-hero h1{color:#fff;font-size:clamp(32px,5vw,50px);line-height:1.1;margin:10px 0 16px}
.ab-eyebrow{display:inline-block;font:600 12.5px/1 var(--font-head);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.ab-lead{font-size:clamp(16px,2vw,19px);line-height:1.65;color:#e6efe0;max-width:640px;margin:0 0 26px}
.ab-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.ab-btn-ghost{background:transparent;border:1.5px solid rgba(255,255,255,.65);color:#fff}
.ab-btn-ghost:hover{background:rgba(255,255,255,.12)}
.ab-call{display:inline-flex;gap:8px;align-items:center;color:#fff;font-weight:600;text-decoration:none;padding:8px 6px}
.ab-call svg{width:18px;height:18px}
.ab-hero-img img{width:100%;height:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:block;aspect-ratio:4/3;object-fit:cover}
.ab-narrow{max-width:820px}
.ab-glance h2,.ab-narrow>h2{font-size:clamp(24px,3vw,32px);margin:0 0 14px}
.ab-answer{font-size:18px;line-height:1.75;color:var(--ink);margin:0 0 24px}
.ab-narrow>p{font-size:16px;line-height:1.85;color:var(--ink-soft)}
.ab-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:0}
.ab-facts>div{background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.ab-facts dt{font:600 12px/1 var(--font-head);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.ab-facts dd{margin:0;font-size:14.5px;line-height:1.6;color:var(--ink)}
.ab-facts a{color:var(--blue-dark);font-weight:600}
.ab-stats{background:var(--navy);color:#fff;padding:34px 0}
.ab-stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;text-align:center}
.ab-stats b{display:block;font:700 38px/1.1 var(--font-head);color:var(--gold)}
.ab-stats span{font-size:13.5px;color:#cdd8c8}
.ab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.ab-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
.ab-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.ab-card h3{font-size:18px;margin:0}
.ab-card p{margin:0;color:var(--ink-soft);font-size:14.5px;line-height:1.65}
.ab-more{margin-top:auto;font-weight:600;font-size:13.5px;color:var(--blue)}
.ab-center{text-align:center;margin-top:30px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.ab-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px 28px}
.ab-why>div{border-left:3px solid var(--gold);padding:2px 0 2px 16px}
.ab-why h3{font-size:17px;margin:0 0 6px}
.ab-why p{margin:0;color:var(--ink-soft);font-size:14.5px;line-height:1.7}
.ab-partners ul{list-style:none;display:flex;flex-wrap:wrap;gap:26px 38px;justify-content:center;align-items:center;margin:14px 0 0;padding:0}
.ab-partners img{max-height:44px;width:auto;filter:grayscale(1);opacity:.8}
.ab-small{font-size:13px;color:var(--ink-soft);margin:0}
.ab-final{background:linear-gradient(135deg,var(--blue-dark),var(--navy));color:#fff}
.ab-final-in{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}
.ab-final h2{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:8px 0 12px}
.ab-final p{color:#dbe7d5;line-height:1.7}
.ab-contact{list-style:none;padding:0;margin:20px 0 22px;display:grid;gap:10px}
.ab-contact li{display:flex;gap:10px;align-items:center}
.ab-contact a{color:#fff;font-weight:600}
.ab-contact svg{width:18px;height:18px;color:var(--gold)}
.ab-btn-wa{background:#25D366;color:#0b2e16;font-weight:700}
.ab-final-form{background:#fff;color:var(--ink);border-radius:var(--radius-lg);padding:6px;box-shadow:var(--shadow-lg)}
.ab-updated{font-size:12.5px;color:var(--ink-soft);text-align:center;padding:16px 0 26px}
@media (max-width:860px){.ab-hero{padding:56px 0 48px}.ab-hero-in,.ab-final-in{grid-template-columns:1fr}.ab-hero-img{order:-1}}

/* ---- Newsletter in the brand colours (green, black, gold) ---- */
.newsletter { background: linear-gradient(120deg, var(--navy) 0%, var(--blue-dark) 55%, var(--blue) 100%); }
.newsletter-band { position: relative; overflow: hidden; padding: 48px 0; background: linear-gradient(120deg, var(--navy) 0%, var(--blue-dark) 55%, var(--blue) 100%); }
.newsletter-band::before { content: ""; position: absolute; right: -90px; top: -110px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 203, 87, .30), rgba(255, 203, 87, 0) 70%); pointer-events: none; }
.newsletter-band .container { position: relative; z-index: 1; }
.newsletter-band .newsletter { background: transparent; padding: 0; margin: 0; border: 0; border-radius: 0; gap: 40px; }
.newsletter-band .footer-col-title { color: #fff; font: 600 clamp(20px, 2.4vw, 26px)/1.25 var(--font-head); margin: 0 0 8px; }
.newsletter-band .newsletter p { color: #dcebd0; font-size: 15px; line-height: 1.6; }
.newsletter-band .nl-row input { padding: 14px 20px; box-shadow: 0 0 0 2px transparent; transition: box-shadow .15s; }
.newsletter-band .nl-row input:focus { outline: none; box-shadow: 0 0 0 3px var(--gold); }
.newsletter-band .nl-row .btn { background: var(--gold); color: var(--navy); border: 0; font-weight: 700; padding: 0 28px; border-radius: var(--radius-pill); transition: background .15s, transform .15s; }
.newsletter-band .nl-row .btn:hover { background: var(--orange-2); transform: translateY(-1px); }
.newsletter-band .nl-consent { color: #cfe3c2; }
.newsletter-band .nl-consent input { accent-color: var(--gold); }
.newsletter-band .nl-consent a { color: #fff; }
.newsletter-band .nl-msg { color: var(--gold); }
@media (max-width: 760px) { .newsletter-band { padding: 34px 0; } .newsletter-band .nl-row .btn { padding: 13px 28px; } }

/* ---- Plan Your Trip page ---- */
.pt-hero { padding: 64px 0 56px; }
.pt-hero .ab-hero-in { grid-template-columns: 1fr; max-width: 820px; }
.pt-points { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 0; margin: 4px 0 0; }
.pt-points li { position: relative; padding-left: 22px; font-weight: 600; font-size: 14.5px; color: #fff; }
.pt-points li::before { content: "\2713"; position: absolute; left: 0; color: var(--gold); font-weight: 700; }
.pt-wrap { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; padding-top: 44px; padding-bottom: 64px; align-items: start; }
.pt-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 30px; box-shadow: var(--shadow); }
.pt-step { border: 0; padding: 0; margin: 0 0 26px; min-width: 0; }
.pt-step legend { display: flex; align-items: center; gap: 10px; font: 600 17px/1.2 var(--font-head); color: var(--ink); padding: 0; margin-bottom: 14px; }
.pt-step legend span { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--blue); color: #fff; font-size: 14px; }
.pt-submit { width: 100%; justify-content: center; padding: 15px 24px; font-size: 16px; }
.pt-micro { text-align: center; font-size: 13px; color: var(--ink-soft); margin: 12px 0 0; }
.pt-after { background: var(--bg-soft); border-radius: var(--radius); padding: 12px 16px; font-size: 14.5px; margin: 0 0 18px; }
.pt-after a { color: var(--blue-dark); font-weight: 600; }
.pt-side { display: grid; gap: 18px; position: sticky; top: 96px; }
.pt-box { background: var(--bg-soft); border-radius: var(--radius-lg); padding: 24px; }
.pt-box h2 { font-size: 19px; margin: 0 0 14px; }
.pt-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.pt-steps li { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; line-height: 1.55; color: var(--ink-soft); }
.pt-steps b { flex: 0 0 28px; height: 28px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--gold); color: var(--navy); font-size: 14px; }
.pt-box-dark { background: linear-gradient(135deg, var(--navy), var(--blue-dark)); color: #fff; }
.pt-box-dark h2 { color: #fff; }
.pt-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pt-contact li { display: flex; gap: 10px; align-items: center; }
.pt-contact a { color: #fff; font-weight: 600; word-break: break-word; }
.pt-contact svg { width: 18px; height: 18px; color: var(--gold); flex: none; }
.pt-card-links { margin-top: auto; display: flex; gap: 16px; flex-wrap: wrap; font-weight: 600; font-size: 13.5px; }
.pt-card-links a { color: var(--blue); }
@media (max-width: 900px) { .pt-wrap { grid-template-columns: 1fr; } .pt-side { position: static; } .pt-card { padding: 22px 18px; } }

/* ---- Left sidebar on service and destination pages ---- */
.yct-twocol { display: grid; grid-template-columns: 330px minmax(0, 1fr); grid-template-areas: "side main"; gap: 44px; padding-top: 44px; padding-bottom: 56px; align-items: start; }
.yct-twocol > .yct-main { grid-area: main; min-width: 0; }
.yct-twocol > .yct-side-left { grid-area: side; display: grid; gap: 18px; min-width: 0; }
.ysb-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 22px; box-shadow: var(--shadow); }
.ysb-card.ysb-quote { padding: 0; border: 0; background: transparent; box-shadow: none; }
.ysb-quote .quick-card { margin: 0; }
.ysb-quote .f-grid { grid-template-columns: 1fr; }
.ysb-title { font: 600 17px/1.3 var(--font-head); margin: 0 0 12px; color: var(--ink); }
.ysb-list, .ysb-trust, .ysb-links, .ysb-contact { list-style: none; margin: 0; padding: 0; }
.ysb-list { display: grid; gap: 9px; }
.ysb-list li { position: relative; padding-left: 24px; font-size: 14.5px; color: var(--ink-soft); }
.ysb-list li::before { content: "\2713"; position: absolute; left: 0; color: var(--blue); font-weight: 700; }
.ysb-trust { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 13.5px; }
.ysb-trust a, .ysb-trust .ts-item { display: flex; gap: 8px; align-items: center; color: var(--blue-dark); text-decoration: none; font-weight: 600; }
.ysb-trust .ts-ico svg { width: 16px; height: 16px; color: var(--gold); }
.ysb-trust img { max-height: 34px; width: auto; }
.ysb-quote-item { margin: 0 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.ysb-quote-item blockquote { margin: 6px 0; font-size: 14px; line-height: 1.65; color: var(--ink-soft); }
.ysb-quote-item figcaption { font-weight: 600; font-size: 13.5px; }
.ysb-stars svg { width: 15px; height: 15px; color: var(--gold); }
.ysb-muted { font-size: 14px; color: var(--ink-soft); line-height: 1.6; margin: 0 0 12px; }
.ysb-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.ysb-links { display: grid; gap: 4px; }
.ysb-links a { display: block; padding: 6px 0; font-size: 14.5px; color: var(--blue-dark); text-decoration: none; border-bottom: 1px dashed var(--line); }
.ysb-links a:hover { color: var(--blue); }
.ysb-help { background: linear-gradient(135deg, var(--navy), var(--blue-dark)); border: 0; }
.ysb-help .ysb-title { color: #fff; }
.ysb-contact { display: grid; gap: 11px; }
.ysb-contact li { display: flex; gap: 10px; align-items: center; }
.ysb-contact a { color: #fff; font-weight: 600; word-break: break-word; }
.ysb-contact svg { width: 18px; height: 18px; color: var(--gold); flex: none; }
@media (max-width: 980px) { .yct-twocol { grid-template-columns: 1fr; grid-template-areas: "main" "side"; gap: 28px; } }
