/* =========================================================
   WRITE SPOTTER — Luxury Dark Editorial Theme
   Jet Black + Champagne Gold + Soft White
   ========================================================= */

:root{
  --ws-black:#0a0a0a;
  --ws-black-soft:#131313;
  --ws-black-card:#161513;
  --ws-gold:#c9a44c;
  --ws-gold-bright:#e2c27a;
  --ws-white:#f5f3ef;
  --ws-white-dim:#c9c6bf;
  --ws-white-faint:#8f8c85;
  --ws-border:#2a2822;
  --ws-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --ws-sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --ws-radius:2px;
  --ws-container:1240px;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ws-black);
  color:var(--ws-white-dim);
  font-family:var(--ws-sans);
  font-weight:300;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--ws-gold);text-decoration:none;transition:color .2s ease;}
a:hover{color:var(--ws-gold-bright);}
h1,h2,h3,h4,h5{font-family:var(--ws-serif);color:var(--ws-white);font-weight:600;line-height:1.25;margin:0 0 .5em;}
p{margin:0 0 1.2em;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:var(--ws-sans);cursor:pointer;}
.screen-reader-text{position:absolute!important;clip:rect(0,0,0,0);height:1px;width:1px;overflow:hidden;}
.ws-skip-link{position:absolute;left:-9999px;top:0;background:var(--ws-gold);color:var(--ws-black);padding:10px 16px;z-index:9999;}
.ws-skip-link:focus{left:10px;top:10px;}

.ws-container{max-width:var(--ws-container);margin:0 auto;padding:0 24px;}

.ws-gold-line{display:block;width:64px;height:2px;background:linear-gradient(90deg,var(--ws-gold),transparent);margin:0 0 18px;}
.ws-gold-line--short{width:44px;margin:0 auto 22px;}

/* =========================== HEADER =========================== */
.ws-site-header{
  position:sticky;top:0;z-index:100;
  background:rgba(10,10,10,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--ws-border);
}
.ws-header-inner{
  max-width:var(--ws-container);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;justify-content:space-between;
  height:76px;
}
.ws-logo{display:inline-flex;align-items:center;line-height:0;}
.ws-logo-img{height:40px;width:auto;max-width:220px;}
.ws-logo--footer .ws-logo-img{height:36px;}

.ws-primary-nav{display:none;}
.ws-nav-list{display:flex;gap:34px;align-items:center;}
.ws-nav-list a{
  color:var(--ws-white-dim);
  font-family:var(--ws-sans);
  font-size:13.5px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:500;
  position:relative;
  padding:6px 0;
}
.ws-nav-list a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ws-gold);
  transition:width .25s ease;
}
.ws-nav-list a:hover{color:var(--ws-white);}
.ws-nav-list a:hover::after{width:100%;}

.ws-header-actions{display:flex;align-items:center;gap:14px;}
.ws-search-toggle,.ws-menu-toggle{
  background:none;border:1px solid var(--ws-border);border-radius:50%;
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;
  color:var(--ws-white-dim);transition:border-color .2s,color .2s;
}
.ws-search-toggle:hover,.ws-menu-toggle:hover{border-color:var(--ws-gold);color:var(--ws-gold);}
.ws-menu-toggle{flex-direction:column;gap:4px;border-radius:4px;}
.ws-menu-toggle span{width:18px;height:1.4px;background:currentColor;display:block;}

.ws-search-panel{max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:1px solid transparent;}
.ws-search-panel.is-open{max-height:120px;border-bottom:1px solid var(--ws-border);}
.ws-search-panel-inner{max-width:var(--ws-container);margin:0 auto;padding:18px 24px;display:flex;gap:12px;align-items:center;}
.ws-search-panel .ws-search-form{flex:1;}
.ws-search-close{background:none;border:none;color:var(--ws-white-dim);font-size:26px;line-height:1;}

.ws-mobile-nav{display:none;max-height:0;overflow:hidden;transition:max-height .3s ease;background:var(--ws-black-soft);}
.ws-mobile-nav.is-open{max-height:600px;border-bottom:1px solid var(--ws-border);}
.ws-mobile-nav-list{padding:10px 24px 20px;}
.ws-mobile-nav-list li{border-bottom:1px solid var(--ws-border);}
.ws-mobile-nav-list a{display:block;padding:14px 0;color:var(--ws-white-dim);text-transform:uppercase;letter-spacing:.06em;font-size:14px;}

@media(min-width:960px){
  .ws-primary-nav{display:block;}
  .ws-menu-toggle{display:none;}
}
@media(max-width:959px){
  .ws-mobile-nav{display:block;}
}

/* Search form */
.ws-search-form{display:flex;align-items:center;border:1px solid var(--ws-border);border-radius:30px;overflow:hidden;background:rgba(255,255,255,.03);}
.ws-search-input{
  flex:1;background:transparent;border:none;outline:none;color:var(--ws-white);
  padding:13px 18px;font-family:var(--ws-sans);font-size:14.5px;font-weight:300;
}
.ws-search-input::placeholder{color:var(--ws-white-faint);}
.ws-search-submit{background:var(--ws-gold);border:none;color:var(--ws-black);width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ws-search-submit:hover{background:var(--ws-gold-bright);}

/* breadcrumbs */
.ws-breadcrumb-bar{border-bottom:1px solid var(--ws-border);background:var(--ws-black-soft);}
.ws-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0;font-size:12.5px;letter-spacing:.03em;}
.ws-breadcrumbs li{color:var(--ws-white-faint);display:flex;align-items:center;gap:6px;}
.ws-breadcrumbs li:not(:last-child)::after{content:'/';color:var(--ws-border);margin-left:6px;}
.ws-breadcrumbs a{color:var(--ws-white-faint);}
.ws-breadcrumbs a:hover{color:var(--ws-gold);}

/* =========================== HERO =========================== */
.ws-hero{
  position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(180deg,rgba(10,10,10,.4),#0a0a0a 90%),
    radial-gradient(ellipse at 50% 20%, #1c1a16 0%, #0a0a0a 70%);
  background-size:cover;background-position:center;
  padding:90px 24px 70px;
}
.ws-hero-inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;align-items:center;}
.ws-hero-eyebrow{color:var(--ws-gold);font-size:12.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:500;margin-bottom:18px;}
.ws-hero .ws-gold-line{margin-left:auto;margin-right:auto;}
.ws-hero-headline{font-size:clamp(32px,5.2vw,58px);color:var(--ws-white);max-width:15ch;margin-bottom:22px;}
.ws-hero-subhead{color:var(--ws-white-dim);font-size:17px;max-width:56ch;margin-bottom:34px;}
.ws-hero-search{width:100%;max-width:480px;}

/* =========================== PILLARS =========================== */
.ws-pillars{padding:90px 0;border-top:1px solid var(--ws-border);}
.ws-section-heading{margin-bottom:44px;}
.ws-section-heading--center{text-align:center;}
.ws-section-heading--center .ws-gold-line{margin-left:auto;margin-right:auto;}
.ws-section-heading h2{font-size:30px;}
.ws-section-sub{color:var(--ws-white-faint);font-size:15px;max-width:52ch;margin:10px auto 0;}

.ws-pillar-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--ws-border);border:1px solid var(--ws-border);}
.ws-pillar-block{
  background:var(--ws-black-card);padding:34px 20px;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;
  transition:background .25s ease;
}
.ws-pillar-block:hover{background:#1c1a15;}
.ws-pillar-icon{width:30px;height:30px;color:var(--ws-gold);}
.ws-pillar-name{color:var(--ws-white);font-family:var(--ws-serif);font-size:15px;letter-spacing:.02em;}

@media(min-width:640px){.ws-pillar-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:960px){.ws-pillar-grid{grid-template-columns:repeat(6,1fr);}}

/* =========================== STATS STRIP =========================== */
.ws-stats-strip{background:var(--ws-black-soft);border-top:1px solid var(--ws-border);border-bottom:1px solid var(--ws-border);padding:50px 0;}
.ws-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;text-align:center;}
.ws-stat-value{display:block;font-family:var(--ws-serif);color:var(--ws-gold);font-size:34px;font-weight:600;}
.ws-stat-label{display:block;color:var(--ws-white-faint);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;margin-top:6px;}
@media(min-width:720px){.ws-stats-grid{grid-template-columns:repeat(4,1fr);}}

/* =========================== CARD GRID =========================== */
.ws-latest-guides,.ws-archive-section{padding:90px 0;}
.ws-card-grid{display:grid;grid-template-columns:1fr;gap:36px;}
@media(min-width:640px){.ws-card-grid--3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:980px){.ws-card-grid--3{grid-template-columns:repeat(3,1fr);}}

.ws-card{background:var(--ws-black-card);border:1px solid var(--ws-border);display:flex;flex-direction:column;transition:transform .3s ease,border-color .3s ease;}
.ws-card:hover{transform:translateY(-4px);border-color:var(--ws-gold);}
.ws-card-media{position:relative;display:block;aspect-ratio:4/2.65;overflow:hidden;background:#1a1813;}
.ws-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ws-card:hover .ws-card-media img{transform:scale(1.06);}
.ws-card-media-fallback{display:block;width:100%;height:100%;background:linear-gradient(135deg,#1c1a15,#0f0e0c);}
.ws-card-cat{position:absolute;left:14px;bottom:14px;background:rgba(10,10,10,.82);border:1px solid var(--ws-gold);color:var(--ws-gold);font-size:11px;letter-spacing:.09em;text-transform:uppercase;padding:5px 10px;}
.ws-card-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1;}
.ws-card-title{font-size:19px;margin-bottom:10px;}
.ws-card-title a{color:var(--ws-white);}
.ws-card-title a:hover{color:var(--ws-gold);}
.ws-card-excerpt{color:var(--ws-white-faint);font-size:14.5px;flex:1;margin-bottom:14px;}
.ws-card-meta{font-size:12px;color:var(--ws-white-faint);letter-spacing:.03em;display:flex;align-items:center;gap:6px;}
.ws-card-meta-dot{color:var(--ws-border);}

/* Older Posts button */
.ws-older-posts{text-align:center;margin-top:56px;}
.ws-older-posts a{
  display:inline-block;border:1px solid var(--ws-gold);color:var(--ws-gold);
  padding:14px 42px;letter-spacing:.1em;text-transform:uppercase;font-size:13px;font-weight:500;
  transition:background .25s ease,color .25s ease;
}
.ws-older-posts a:hover{background:var(--ws-gold);color:var(--ws-black);}

.ws-btn-ghost{display:inline-block;border:1px solid var(--ws-gold);color:var(--ws-gold);padding:12px 30px;margin-top:24px;letter-spacing:.08em;text-transform:uppercase;font-size:13px;}
.ws-btn-ghost:hover{background:var(--ws-gold);color:var(--ws-black);}

/* =========================== SINGLE POST =========================== */
.ws-single-header{padding:56px 0 0;border-bottom:1px solid var(--ws-border);}
.ws-single-header-inner{text-align:center;max-width:820px;margin:0 auto 40px;padding-left:24px;padding-right:24px;}
.ws-single-cat{display:inline-block;color:var(--ws-gold);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:18px;border-bottom:1px solid var(--ws-gold);padding-bottom:4px;}
.ws-single-title{font-size:clamp(28px,4.4vw,46px);margin-bottom:18px;}
.ws-single-meta{color:var(--ws-white-faint);font-size:13px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.ws-single-hero{max-height:560px;overflow:hidden;}
.ws-single-hero img{width:100%;height:100%;object-fit:cover;}

.ws-single-body-wrap{padding:56px 0 20px;display:flex;justify-content:center;}
.ws-single-body{max-width:740px;width:100%;font-size:17.5px;line-height:1.85;color:var(--ws-white-dim);}
.ws-single-body h2{font-size:27px;margin-top:1.6em;}
.ws-single-body h3{font-size:21px;margin-top:1.4em;}
.ws-single-body p{margin-bottom:1.4em;}
.ws-single-body a:not(.ws-internal-link){border-bottom:1px solid var(--ws-gold);}
.ws-single-body img{margin:2em 0;border:1px solid var(--ws-border);}
.ws-single-body blockquote{border-left:2px solid var(--ws-gold);margin:2em 0;padding:.4em 0 .4em 26px;font-family:var(--ws-serif);font-style:italic;color:var(--ws-white);font-size:20px;}
.ws-single-body ul,.ws-single-body ol{margin:0 0 1.4em 1.4em;list-style:disc;}
.ws-single-body ol{list-style:decimal;}
.ws-single-body li{margin-bottom:.5em;}

/* inline related-link groups inserted by internal linking system */
.ws-inline-links{
  background:rgba(201,164,76,.06);border-left:2px solid var(--ws-gold);
  padding:14px 18px;font-size:14.5px;color:var(--ws-white-faint);margin:2em 0!important;
}
.ws-inline-links .ws-internal-link{color:var(--ws-gold);border-bottom:1px dotted var(--ws-gold);}
.ws-inline-links .ws-internal-link:hover{color:var(--ws-gold-bright);}

/* Related posts section */
.ws-related-section{padding:70px 0 100px;border-top:1px solid var(--ws-border);margin-top:20px;}

/* =========================== PAGE (Privacy/Terms) =========================== */
.ws-page-header{padding:60px 0 20px;text-align:center;border-bottom:1px solid var(--ws-border);}
.ws-page-title{font-size:clamp(26px,4vw,40px);}
.ws-page-body{max-width:760px;}
.ws-page-body h2{font-size:23px;margin-top:1.5em;}

/* =========================== SEARCH RESULTS =========================== */
.ws-search-page-form{max-width:480px;margin:0 0 50px;}

/* =========================== 404 =========================== */
.ws-404{padding:130px 24px;text-align:center;}
.ws-404 .ws-gold-line{margin-left:auto;margin-right:auto;}
.ws-404 h1{font-size:80px;color:var(--ws-gold);}
.ws-404 .ws-search-page-form{margin:30px auto;}

/* =========================== FOOTER =========================== */
.ws-site-footer{background:var(--ws-black-soft);border-top:1px solid var(--ws-border);}
.ws-footer-top{padding:80px 0 50px;}
.ws-footer-grid{display:grid;grid-template-columns:1fr;gap:44px;}
.ws-footer-desc{font-size:14px;color:var(--ws-white-faint);margin:18px 0 20px;max-width:38ch;}
.ws-footer-social{display:flex;gap:16px;}
.ws-footer-social a{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-white-faint);border-bottom:1px solid var(--ws-border);padding-bottom:2px;}
.ws-footer-social a:hover{color:var(--ws-gold);border-color:var(--ws-gold);}
.footer-widget-title{font-size:14.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ws-white);margin-bottom:18px;}
.ws-footer-cat-list li{margin-bottom:11px;}
.ws-footer-cat-list a{color:var(--ws-white-faint);font-size:14.5px;}
.ws-footer-cat-list a:hover{color:var(--ws-gold);}
.ws-footer-bottom{padding:26px 0 34px;text-align:center;}
.ws-footer-bottom-inner p{margin:0;color:var(--ws-white-faint);font-size:12.5px;letter-spacing:.02em;}

@media(min-width:720px){.ws-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;}}

/* =========================== MISC / RESPONSIVE =========================== */
@media(max-width:640px){
  .ws-header-inner{height:66px;}
  .ws-logo-img{height:32px;}
  .ws-hero{min-height:88vh;padding:70px 20px 50px;}
  .ws-single-hero{max-height:320px;}
}
