/*
Theme Name: AN Tours Shell
Theme URI: https://antoursvietnam.com
Author: AN Tours Vietnam
Description: Lightweight presentation shell for AN Tours. Business content and data live in plugins.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: an-tours-shell
*/

:root {
  --ats-ink: #152535;
  --ats-muted: #66717d;
  --ats-accent: #f56e0a;
  --ats-surface: #ffffff;
  --ats-soft: #f4f7f9;
  --ats-border: #dce3e8;
  --ats-radius: 18px;
  --ats-width: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ats-ink); background: var(--ats-surface); font-family: Montserrat, Arial, sans-serif; line-height: 1.65; }
a { color: inherit; }
img { max-width: 100%; height: auto; }

.ats-shell-main { min-height: 55vh; padding: 128px 24px 72px; }
.ats-shell-container { width: min(100%, var(--ats-width)); margin: 0 auto; }
.ats-shell-kicker { margin: 0 0 8px; color: var(--ats-accent); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.ats-shell-title { max-width: 880px; margin: 0; font-size: clamp(36px, 5vw, 72px); line-height: 1.02; letter-spacing: -.045em; }
.ats-shell-description { max-width: 760px; margin: 20px 0 0; color: var(--ats-muted); font-size: clamp(16px, 1.6vw, 20px); }
.ats-shell-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 48px; }
.ats-card { overflow: hidden; border: 1px solid var(--ats-border); border-radius: var(--ats-radius); background: #fff; box-shadow: 0 16px 44px rgba(21,37,53,.08); }
.ats-card-media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--ats-soft); }
.ats-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.ats-card:hover .ats-card-media img { transform: scale(1.04); }
.ats-card-body { padding: 22px; }
.ats-card-meta { margin: 0 0 8px; color: var(--ats-accent); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.ats-card-title { margin: 0; font-size: 23px; line-height: 1.2; }
.ats-card-title a { text-decoration: none; }
.ats-card-excerpt { margin: 14px 0 0; color: var(--ats-muted); }
.ats-entry { max-width: 900px; margin: 0 auto; }
.ats-entry-header { margin-bottom: 40px; }
.ats-entry-content > * { max-width: 100%; }
.ats-entry-content h2, .ats-entry-content h3 { line-height: 1.15; }
.ats-pagination { margin-top: 48px; }
.ats-empty { margin-top: 40px; padding: 32px; border-radius: var(--ats-radius); background: var(--ats-soft); }
.ats-search-form { display: flex; gap: 10px; max-width: 600px; margin-top: 28px; }
.ats-search-form input { flex: 1; min-width: 0; padding: 14px 16px; border: 1px solid var(--ats-border); border-radius: 999px; font: inherit; }
.ats-search-form button { padding: 14px 22px; border: 0; border-radius: 999px; color: #fff; background: var(--ats-accent); font-weight: 800; cursor: pointer; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 900px) {
  .ats-shell-main { padding: 104px 20px 56px; }
  .ats-shell-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .ats-shell-main { padding: 88px 16px 48px; }
  .ats-shell-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 32px; }
  .ats-search-form { flex-direction: column; }
}
