/* ============================================================================
   swissalps — bespoke theme for myswitzerland.com.hk (Switzerland tourism)
   Airy alpine: Swiss red accent on white, cool slate ink, generous whitespace.
   ========================================================================== */
:root{
  --sw-red:#d8232a; --sw-red2:#b81d24; --sw-ink:#1f2933; --sw-slate:#5b6875;
  --sw-bg:#ffffff; --sw-mist:#f3f6f9; --sw-line:#e6ecf1; --sw-alpine:#2b6cb0;
  --park-accent:var(--sw-red);
}
body{background:var(--sw-bg);color:var(--sw-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
a{color:var(--sw-red);}
h1,h2,h3{color:var(--sw-ink);letter-spacing:-.02em;font-weight:800;}

/* Header */
.site-header{background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--sw-line);}
.nav-container{max-width:1200px;margin:0 auto;padding:14px 22px;}
.nav-logo-text{font-weight:800;color:var(--sw-ink);font-size:1.3rem;}
.nav-logo-text::before{content:"";display:inline-block;width:20px;height:20px;margin-right:9px;vertical-align:-4px;border-radius:4px;
  background:var(--sw-red);
  -webkit-mask:linear-gradient(#fff 0 0) center/7px 17px no-repeat,linear-gradient(#fff 0 0) center/17px 7px no-repeat;
  mask:linear-gradient(#000 0 0) center/7px 17px no-repeat,linear-gradient(#000 0 0) center/17px 7px no-repeat;
  background-color:var(--sw-red);box-shadow:inset 0 0 0 20px var(--sw-red);}
.nav-links a{color:var(--sw-ink);font-weight:600;font-size:.95rem;}
.nav-links a:hover{color:var(--sw-red);}

/* Hero */
.sw-hero{position:relative;background:linear-gradient(160deg,#eaf1f7 0,#dbe7f1 45%,#cdd9e6 100%);overflow:hidden;}
.sw-hero::after{content:"";position:absolute;inset:auto 0 0 0;height:120px;
  background:linear-gradient(to top,#fff, transparent);}
.sw-hero-inner{max-width:1100px;margin:0 auto;padding:72px 22px 90px;position:relative;z-index:2;text-align:center;}
.sw-flag{width:76px;height:76px;border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.18);margin:0 auto 22px;display:block;}
.sw-hero h1{font-size:3rem;line-height:1.05;margin:0 0 .3em;}
.sw-hero p{color:var(--sw-slate);font-size:1.18rem;max-width:52ch;margin:0 auto 26px;}
.sw-search{display:flex;max-width:520px;margin:0 auto;background:#fff;border-radius:999px;box-shadow:0 10px 30px rgba(31,41,51,.12);overflow:hidden;}
.sw-search input{flex:1;border:0;padding:15px 22px;font-size:1rem;outline:none;}
.sw-search button{border:0;background:var(--sw-red);color:#fff;font-weight:700;padding:0 26px;cursor:pointer;}
.sw-search button:hover{background:var(--sw-red2);}
@media(max-width:640px){.sw-hero h1{font-size:2.1rem;}}

/* Wrap + section heads */
.sw-wrap{max-width:1200px;margin:0 auto;padding:52px 22px;}
.sw-h{text-align:center;margin:0 auto 30px;max-width:640px;}
.sw-h h2{font-size:1.9rem;margin:0 0 .3em;}
.sw-h p{color:var(--sw-slate);margin:0;}

/* Destination / category cards */
.sw-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.sw-cat{position:relative;border-radius:14px;overflow:hidden;text-decoration:none;color:#fff;min-height:150px;display:flex;align-items:flex-end;padding:16px;
  background:linear-gradient(180deg,rgba(31,41,51,.05),rgba(31,41,51,.62)),linear-gradient(135deg,#3a7bd5,#2b6cb0);}
.sw-cat:nth-child(2){background:linear-gradient(180deg,rgba(31,41,51,.05),rgba(31,41,51,.62)),linear-gradient(135deg,#e0797f,#d8232a);}
.sw-cat:nth-child(3){background:linear-gradient(180deg,rgba(31,41,51,.05),rgba(31,41,51,.62)),linear-gradient(135deg,#5f9ea0,#2f855a);}
.sw-cat:nth-child(4){background:linear-gradient(180deg,rgba(31,41,51,.05),rgba(31,41,51,.62)),linear-gradient(135deg,#8a94a6,#4a5568);}
.sw-cat .ic{position:absolute;top:14px;left:16px;font-size:1.5rem;}
.sw-cat h3{color:#fff;margin:0;font-size:1.15rem;}
@media(max-width:900px){.sw-cats{grid-template-columns:1fr 1fr;}}

/* Featured pillar */
.sw-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(31,41,51,.12);border:1px solid var(--sw-line);}
.sw-feature .txt{padding:40px;display:flex;flex-direction:column;justify-content:center;}
.sw-feature .eyebrow{color:var(--sw-red);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;}
.sw-feature h2{font-size:1.9rem;margin:.3em 0;}
.sw-feature p{color:var(--sw-slate);margin:0 0 18px;}
.sw-feature .pic{background:linear-gradient(135deg,#dbe7f1,#a7c4dd);min-height:280px;display:flex;align-items:center;justify-content:center;font-size:4rem;}
.sw-btn{display:inline-block;align-self:flex-start;background:var(--sw-red);color:#fff;font-weight:700;padding:12px 24px;border-radius:999px;text-decoration:none;}
.sw-btn:hover{background:var(--sw-red2);}
@media(max-width:820px){.sw-feature{grid-template-columns:1fr;}.sw-feature .pic{min-height:160px;}}

/* Article grid */
.sw-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:38px;}
.sw-card{background:#fff;border:1px solid var(--sw-line);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:.16s;}
.sw-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(31,41,51,.12);}
.sw-card .top{height:8px;background:var(--sw-red);}
.sw-card-body{padding:20px;}
.sw-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--sw-alpine);font-weight:800;}
.sw-card h3{margin:.4em 0 .35em;font-size:1.14rem;line-height:1.3;}
.sw-card p{color:var(--sw-slate);font-size:.9rem;margin:0;}
@media(max-width:900px){.sw-grid{grid-template-columns:1fr;}}

/* Plan-your-trip band */
.sw-plan{margin-top:40px;background:var(--sw-mist);border-radius:16px;padding:34px;text-align:center;}
.sw-plan h3{font-size:1.5rem;margin:0 0 .3em;}
.sw-plan p{color:var(--sw-slate);max-width:60ch;margin:0 auto 18px;}

/* Article page restyle */
.article-body h2{color:var(--sw-ink);}
.article-body a{color:var(--sw-red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
.breadcrumbs a{color:var(--sw-slate);}

/* Footer */
.site-footer{background:var(--sw-ink);color:#c7d0da;}
.site-footer a{color:#e8eef4;}
.site-footer h4,.site-footer .footer-title{color:#fff;}
