/* Agile Black Cat — theme.css */
:root{
  --abc-bg: #ffffff;
  --abc-text: #0b1020;
  --abc-orange: #ff6a00;
  --abc-blue: #1b5cff;
  --abc-card: #ffffff;
  --abc-border: #e6e8ef;
  --abc-tiles-cols: 3;
  --abc-tiles-radius: 18px;

  --abc-max: 1100px;
  --abc-shadow: 0 14px 40px rgba(0,0,0,.10);
}

*{ box-sizing:border-box; }
html, body { height: 100%; }
body{
  margin:0;
  background: var(--abc-bg);
  color: var(--abc-text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.55;
}

a{ color: var(--abc-blue); text-decoration: none; }
a:hover{ text-decoration: underline; }

/* Layout */
.abc-wrap{ max-width: var(--abc-max); margin: 0 auto; padding: 0 18px; }
.abc-header{
  position: sticky;
  top:0;
  z-index: 40;
  backdrop-filter: blur(10px);
  background: color-mix(in srgb, var(--abc-bg) 82%, transparent);
  border-bottom: 1px solid var(--abc-border);
}
.abc-header__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 12px 0;
}
.abc-brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 220px;
}
.abc-brand__title{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.abc-brand__title strong{ font-size: 16px; letter-spacing:.2px; }
.abc-brand__title span{ font-size: 12px; opacity: .75; }

/* Nav */
.abc-nav ul{ list-style:none; display:flex; gap:14px; padding:0; margin:0; flex-wrap:wrap; }
.abc-nav a{
  display:inline-block;
  padding: 8px 10px;
  border-radius: 12px;
}
.abc-nav a:hover{ background: color-mix(in srgb, var(--abc-blue) 10%, transparent); text-decoration:none; }
.abc-nav .current-menu-item a{ background: color-mix(in srgb, var(--abc-orange) 12%, transparent); }

/* Content */
main{ padding: 28px 0 48px; }
.abc-hero{
  border: 1px solid var(--abc-border);
  border-radius: 22px;
  overflow:hidden;
  box-shadow: var(--abc-shadow);
  background: radial-gradient(1200px 500px at 20% 0%, color-mix(in srgb, var(--abc-orange) 18%, transparent), transparent 55%),
              radial-gradient(1200px 500px at 80% 0%, color-mix(in srgb, var(--abc-blue) 18%, transparent), transparent 55%),
              linear-gradient(180deg, color-mix(in srgb, var(--abc-bg) 92%, transparent), var(--abc-bg));
}
.abc-hero__inner{ padding: 26px; }
.abc-hero h1{ margin: 0 0 6px; font-size: clamp(24px, 4vw, 40px); }
.abc-hero p{ margin: 0; max-width: 60ch; opacity:.9; }

/* Tiles */
.abc-section{ margin: 26px 0; }
.abc-tiles{
  display:grid;
  grid-template-columns: repeat(var(--abc-tiles-cols), minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 900px){
  .abc-tiles{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px){
  .abc-tiles{ grid-template-columns: 1fr; }
}

.abc-tile{
  border: 1px solid var(--abc-border);
  background: var(--abc-card);
  border-radius: var(--abc-tiles-radius);
  padding: 16px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.abc-tile h3{ margin-top: 0; }
.abc-tile .wp-block-button__link{
  border-radius: 999px;
  padding: 10px 14px;
}

/* WordPress blocks tweaks */
.wp-site-blocks, .wp-block-post-content { max-width: var(--abc-max); margin: 0 auto; padding: 0 18px; }
.alignfull{ width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.alignwide{ max-width: min(1300px, 92vw); margin-left: auto; margin-right: auto; }

/* Blog */
.abc-post-list{ display:grid; grid-template-columns: 1fr; gap: 14px; }
.abc-post-card{
  border: 1px solid var(--abc-border);
  background: var(--abc-card);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.abc-meta{ font-size: 13px; opacity: .75; }
.abc-post-card h2{ margin: 6px 0 6px; font-size: 20px; }
.abc-post-card p{ margin: 0; }

/* Footer */
.abc-footer{
  border-top: 1px solid var(--abc-border);
  padding: 26px 0;
  background: color-mix(in srgb, var(--abc-bg) 96%, black);
}
.abc-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 18px;
}
@media (max-width: 760px){
  .abc-footer__grid{ grid-template-columns: 1fr; }
}
.abc-footer small{ opacity:.8; }

/* Cookie banner */
.abc-cookie{
  position: fixed;
  left: 14px;
  right: 14px;
  bottom: 14px;
  z-index: 9999;
  border: 1px solid var(--abc-border);
  background: color-mix(in srgb, var(--abc-bg) 92%, transparent);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  box-shadow: var(--abc-shadow);
}
.abc-cookie__inner{
  display:flex;
  gap: 14px;
  align-items:flex-start;
  justify-content:space-between;
  padding: 14px;
}
.abc-cookie__text{
  font-size: 13px;
  white-space: pre-line;
  opacity:.92;
}
.abc-cookie__btn{
  appearance:none;
  border: 1px solid color-mix(in srgb, var(--abc-orange) 42%, var(--abc-border));
  background: color-mix(in srgb, var(--abc-orange) 14%, white);
  color: var(--abc-text);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 650;
  cursor:pointer;
}
.abc-cookie__btn:hover{ filter: brightness(0.98); }
