/*
Theme Name: Khalascodes
Template: astra
Description: Custom brand child theme for khalascodes.com — verified coupon codes for UAE and Saudi Arabia.
Version: 1.0
Author: khalascodes
*/

:root{
  --kc-ink:#16231F;
  --kc-emerald:#0B4D3E;
  --kc-emerald-dark:#083A2F;
  --kc-gold:#C9982E;
  --kc-sand:#F6F2E7;
  --kc-cream:#FFFDF8;
  --kc-rust:#B23A2E;
  --kc-line:#E4DCC8;
  --kc-font-display:'Zilla Slab', Georgia, serif;
  --kc-font-body:'Work Sans', -apple-system, sans-serif;
  --kc-font-mono:'IBM Plex Mono', monospace;
}

body{
  background:var(--kc-sand);
  color:var(--kc-ink);
  font-family:var(--kc-font-body);
  line-height:1.65;
}

h1,h2,h3,h4,
.entry-title,
.site-title{
  font-family:var(--kc-font-display);
  font-weight:600;
  color:var(--kc-ink);
  letter-spacing:-0.01em;
}

h1{font-size:2.1rem;}
h2{font-size:1.5rem; margin-top:2.2em;}

a{color:var(--kc-emerald);}
a:hover{color:var(--kc-gold);}

/* header */
.site-header,
.ast-primary-header{
  background:var(--kc-emerald-dark);
  border-bottom:3px solid var(--kc-gold);
}
.site-header .site-title,
.site-header .site-title a,
.ast-primary-header .site-title a{
  color:var(--kc-cream) !important;
  font-size:1.4rem;
}
.ast-primary-header .main-header-menu a{
  color:var(--kc-sand) !important;
  font-family:var(--kc-font-body);
  font-weight:500;
}
.ast-primary-header .main-header-menu a:hover{
  color:var(--kc-gold) !important;
}

/* buttons */
.kc-btn,
.wp-block-button__link{
  display:inline-block;
  background:var(--kc-emerald);
  color:var(--kc-cream) !important;
  font-family:var(--kc-font-body);
  font-weight:600;
  padding:0.7em 1.4em;
  border-radius:6px;
  text-decoration:none;
  border:none;
  cursor:pointer;
}
.kc-btn:hover,
.wp-block-button__link:hover{
  background:var(--kc-gold);
  color:var(--kc-ink) !important;
}

/* coupon ticket component */
.kc-ticket{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:var(--kc-cream);
  border:1.5px dashed var(--kc-emerald);
  border-radius:10px;
  padding:20px 26px;
  margin:1.6em 0;
}
.kc-ticket::before,
.kc-ticket::after{
  content:"";
  position:absolute;
  width:22px;
  height:22px;
  background:var(--kc-sand);
  border-radius:50%;
  top:50%;
  transform:translateY(-50%);
}
.kc-ticket::before{left:-11px;}
.kc-ticket::after{right:-11px;}

.kc-ticket-info{flex:1; min-width:220px;}
.kc-badge-save{
  display:inline-block;
  background:var(--kc-gold);
  color:var(--kc-ink);
  font-family:var(--kc-font-mono);
  font-weight:600;
  font-size:0.8rem;
  padding:3px 10px;
  border-radius:4px;
  margin-right:8px;
}
.kc-verified{
  font-size:0.82rem;
  color:var(--kc-emerald);
  font-weight:500;
}
.kc-verified::before{content:"✓ "; }

.kc-code{
  font-family:var(--kc-font-mono);
  font-size:1.5rem;
  font-weight:600;
  color:var(--kc-ink);
  letter-spacing:0.03em;
  display:block;
  margin-top:6px;
}

.kc-stamp{
  position:absolute;
  top:-14px;
  right:24px;
  border:2px dashed var(--kc-rust);
  color:var(--kc-rust);
  font-family:var(--kc-font-mono);
  font-size:0.72rem;
  font-weight:700;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:50%;
  transform:rotate(-9deg);
  background:var(--kc-cream);
}

/* deals table */
.kc-deals-table{
  width:100%;
  border-collapse:collapse;
  margin:1.6em 0;
  font-family:var(--kc-font-body);
  font-size:0.95rem;
}
.kc-deals-table th{
  text-align:left;
  background:var(--kc-emerald);
  color:var(--kc-cream);
  padding:10px 14px;
  font-weight:600;
}
.kc-deals-table td{
  padding:10px 14px;
  border-bottom:1px solid var(--kc-line);
}
.kc-deals-table tr:nth-child(even){background:var(--kc-cream);}
.kc-code-inline{font-family:var(--kc-font-mono); font-weight:600;}
.kc-expiring{color:var(--kc-rust); font-weight:600;}

/* FAQ accordion, pure CSS */
.kc-faq details{
  border:1px solid var(--kc-line);
  border-radius:8px;
  padding:12px 16px;
  margin-bottom:10px;
  background:var(--kc-cream);
}
.kc-faq summary{
  font-family:var(--kc-font-display);
  font-weight:600;
  cursor:pointer;
  list-style:none;
}
.kc-faq summary::-webkit-details-marker{display:none;}
.kc-faq summary::after{content:"+"; float:right; color:var(--kc-emerald);}
.kc-faq details[open] summary::after{content:"–";}
.kc-faq p{margin-top:10px; color:var(--kc-ink);}

/* store grid */
.kc-store-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
  margin:1.6em 0;
}
.kc-store-card{
  background:var(--kc-cream);
  border:1px solid var(--kc-line);
  border-radius:8px;
  padding:16px;
  text-align:center;
  text-decoration:none;
  color:var(--kc-ink);
}
.kc-store-card:hover{border-color:var(--kc-gold);}
.kc-store-card strong{
  display:block;
  font-family:var(--kc-font-display);
  margin-top:6px;
}
.kc-store-card span{
  font-size:0.8rem;
  color:var(--kc-emerald);
}
