/*
Theme Name: Sweet & Awesome
Theme URI: https://example.com/
Author: Sweet & Awesome Studio
Description: Een warm, handgetekend WordPress thema voor Sweet, Awesome en Timka. Stories, Comics, Food en Travels met een gemixte homepage.
Version: 3.3.9
Requires at least: 6.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sweet-awesome
*/

body { margin: 0; }


/* Base theme overrides (ensure design parity) */
:root{
  --sa-bg: #fbf6e9;
  --sa-ink: #3b2f2a;
}
html, body { background: var(--sa-bg); color: var(--sa-ink); }
body { font-family: ui-rounded, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; line-height: 1.45; }
main#main { display:block; }

/* WordPress menu output: normalize list markup to match our design */
header .menu ul { list-style:none; margin:0; padding:0; display:flex; gap:22px; align-items:center; }
header .menu li { margin:0; padding:0; }
header .menu li a { display:inline-block; }

/* Prevent WP default block theme spacing from breaking layout */
.wp-site-blocks, .wp-block-group { margin:0; padding:0; }


/* Homepage banner (hero as top banner image) */
.sa-banner{ padding: 18px 0 0; }
.sa-banner .banner-card{
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(59,47,42,.12);
  background: rgba(255,253,247,.75);
  box-shadow: 0 10px 30px rgba(59,47,42,.06);
}
.sa-banner img{ display:block; width:100%; height:auto; }

/* Intro under banner */
.sa-intro{ padding-top: 10px; }
.sa-intro .intro-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 18px;
  align-items:start;
}
.sa-intro .intro-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.sa-intro .note-mini{
  border: 1px dashed rgba(59,47,42,.18);
  border-radius: 16px;
  padding: 14px;
  background: rgba(255,253,247,.65);
}
@media (max-width: 880px){
  .sa-intro .intro-grid{ grid-template-columns: 1fr; }
}

/* Banner image: /assets/img/banner.png (cropped, no mockup UI) */


/* Home copy (editable via WP page editor) */
.sa-homecopy{ padding-top: 14px; }
.sa-homecopy h1{ margin: 0 0 10px; }
.sa-homecopy .wp-block-paragraph{ margin: 0 0 12px; }
.sa-homecopy .wp-block-paragraph:last-child{ margin-bottom: 0; }

/* Ensure WP blocks don't introduce unexpected widths */
.sa-homecopy .wp-block-group,
.sa-homecopy .wp-block-columns,
.sa-homecopy .wp-block-column{ max-width: 100%; }


/* Home copy full width override */
.sa-homecopy .subtitle{
  max-width: none !important;
}
.sa-homecopy .subtitle p{
  max-width: none !important;
}

.sa-homecopy .homecopy-body{ font-size: 18px; color: rgba(59,47,42,.78); }
.sa-homecopy .homecopy-body p{ margin: 0 0 12px; }
.sa-homecopy .homecopy-body p:last-child{ margin-bottom: 0; }


/* Section thumbs */
.sa-homecopy { padding-top: 10px; }


/* Header: optional banner/brandmark */
.brand{ display:flex; align-items:center; gap:6px; text-decoration:none; }
.brand-text small{ display:block; opacity:.75; }

.sa-brandmark{ display:flex; align-items:center; }
.sa-brandmark img{ height:44px; width:auto; display:block; }
.custom-logo-link{ display:block; line-height:0; }
.custom-logo{ height:44px; width:auto; display:block; }

@media (max-width: 640px){
  .sa-brandmark img{ height:38px; }
  .brand-text small{ display:none; }
}


/* Post tags (pills) */
.sa-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top: 10px; }
.sa-tag-pill{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 1;
  border: 1px solid rgba(59,47,42,.14);
  background: rgba(255,253,247,.65);
  color: rgba(59,47,42,.78);
  text-decoration:none;
}
.sa-tag-pill:hover{ border-color: rgba(59,47,42,.28); }


/* Discover layout v2 */
.sa-hero{margin:22px auto 14px;max-width:1120px;padding:0 18px;}
.sa-hero img{width:100%;height:auto;display:block;border-radius:22px;box-shadow:0 14px 35px rgba(15,16,20,.10);}
.sa-divider{max-width:1120px;margin:10px auto 0;padding:0 18px;}
.sa-divider .line{height:1px;background:rgba(59,47,42,.12);border-radius:999px;}
.sa-discover{max-width:1120px;margin:0 auto;padding:16px 18px 54px;}

.sa-filterbar{background:rgba(255,253,247,.86);border:1px solid rgba(59,47,42,.10);border-radius:16px;padding:14px;display:flex;gap:12px;align-items:center;justify-content:space-between;margin:14px 0 16px;}
.sa-search{flex:1 1 auto;display:flex;align-items:center;gap:10px;background:rgba(59,47,42,.06);border:1px solid rgba(59,47,42,.10);border-radius:999px;padding:10px 14px;}
.sa-search input{border:0;outline:none;background:transparent;width:100%;font-size:15px;}
.sa-search button{border:0;background:transparent;cursor:pointer;opacity:.8;}
.sa-filterbar select{border:1px solid rgba(59,47,42,.14);background:rgba(255,255,255,.85);border-radius:999px;padding:10px 12px;font-size:14px;}

.sa-grid{display:grid;grid-template-columns:1fr 1fr 360px;gap:0;border:1px solid rgba(59,47,42,.12);border-radius:18px;overflow:hidden;background:#fff;}
.sa-col{padding:22px 22px 10px;min-height:1px;}
.sa-col + .sa-col{border-left:1px solid rgba(59,47,42,.10);}
.sa-sidebar{padding:22px 18px 18px;}
.sa-sidebar-inner{position:sticky;top:18px;}
.sa-block{padding-bottom:16px;border-bottom:1px solid rgba(59,47,42,.10);margin-bottom:18px;}
.sa-block:last-child{border-bottom:0;margin-bottom:0;}

.sa-hand-title{font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:rgba(153,31,31,.95);font-weight:700;font-size:22px;margin:0 0 8px;}
.sa-hand-rule{width:46px;height:4px;border-radius:999px;background:rgba(252,197,60,.95);margin:0 0 12px;}
.sa-intro-text{color:rgba(59,47,42,.78);font-size:15px;line-height:1.6;}

.sa-post-card{padding-bottom:18px;border-bottom:1px solid rgba(59,47,42,.10);margin-bottom:18px;}
.sa-post-card:last-child{border-bottom:0;margin-bottom:0;}
.sa-post-thumb{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 10px 20px rgba(15,16,20,.12);background:rgba(59,47,42,.06);}
.sa-post-thumb img{width:100%;height:220px;object-fit:cover;display:block;}
.sa-type-pill{position:absolute;top:12px;right:12px;border-radius:999px;padding:7px 12px;font-size:13px;border:1px solid rgba(0,0,0,.06);background:rgba(252,197,60,.92);color:rgba(40,25,15,.9);font-weight:600;}
.sa-post-title{font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:26px;line-height:1.15;margin:14px 0 10px;color:rgba(153,31,31,.95);}
.sa-post-title a{text-decoration:none;color:inherit;}
.sa-post-excerpt{color:rgba(59,47,42,.78);font-size:15px;line-height:1.7;margin:0 0 14px;}

.sa-meta-bottom{display:flex;align-items:center;justify-content:flex-end;gap:10px;color:rgba(59,47,42,.60);font-size:13px;}
.sa-meta-name{font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:18px;color:rgba(153,31,31,.95);}
.sa-meta-avatar img{width:34px;height:34px;border-radius:50%;object-fit:cover;box-shadow:0 6px 14px rgba(15,16,20,.16);}
.sa-meta-bottom a{text-decoration:none;}
.sa-meta-count{letter-spacing:.2px;}

.sa-tagcloud{display:flex;flex-wrap:wrap;gap:10px;}
.sa-tagchip{border-radius:999px;padding:10px 14px;background:rgba(252,197,60,.90);color:rgba(40,25,15,.92);text-decoration:none;border:1px solid rgba(0,0,0,.06);font-size:14px;}

@media (max-width:1024px){.sa-grid{grid-template-columns:1fr 1fr 320px;}.sa-post-thumb img{height:200px;}}
@media (max-width:860px){.sa-grid{grid-template-columns:1fr;}.sa-col + .sa-col{border-left:0;border-top:1px solid rgba(59,47,42,.10);}.sa-sidebar{border-top:1px solid rgba(59,47,42,.10);}.sa-sidebar-inner{position:static;}.sa-filterbar{flex-direction:column;align-items:stretch;}}


/* v2.0.1 fixes */
.sa-post-thumb{display:block;width:100%;}
.sa-type-pill{z-index:3;}
.sa-post-thumb img{display:block;}
.sa-meta-bottom{justify-content:center;gap:12px;flex-wrap:wrap;}
.sa-meta-bottom .sa-meta-stack{display:flex;flex-direction:column;align-items:center;gap:2px;}
.sa-meta-count{font-size:13px;color:rgba(59,47,42,.55);}
.sa-cal{width:100%;}
.sa-cal .sa-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.sa-cal .sa-cal-nav a{text-decoration:none;color:rgba(153,31,31,.95);font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:18px;}
.sa-cal table{width:100%;border-collapse:collapse;font-size:14px;}
.sa-cal th{padding:6px 0;color:rgba(59,47,42,.55);font-weight:600;}
.sa-cal td{padding:6px 0;text-align:center;}
.sa-cal td a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;text-decoration:none;color:rgba(59,47,42,.85);}
.sa-cal td a.has-post{background:rgba(252,197,60,.40);border:1px solid rgba(252,197,60,.70);}
.sa-cal td a.is-selected{background:rgba(252,197,60,.92);border:1px solid rgba(0,0,0,.06);color:rgba(40,25,15,.92);font-weight:700;}


/* v2.1.0 characters */
.sa-character-hero{max-width:1120px;margin:0 auto;padding:18px 18px 6px;}
.sa-character-card{display:flex;gap:16px;align-items:center;background:rgba(255,255,255,.72);border:1px solid rgba(59,47,42,.12);border-radius:18px;padding:16px 16px;box-shadow:0 10px 22px rgba(15,16,20,.08);}
.sa-character-avatar img{width:84px;height:84px;border-radius:22px;object-fit:cover;box-shadow:0 10px 20px rgba(15,16,20,.14);}
.sa-character-title{margin:0;font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:34px;color:rgba(153,31,31,.95);line-height:1.05;}
.sa-character-sub{margin:6px 0 0;color:rgba(59,47,42,.72);font-size:15px;line-height:1.6;}
.sa-character-desc{margin:10px 0 0;color:rgba(59,47,42,.78);font-size:15px;line-height:1.7;}
.sa-with{margin:0 0 12px;color:rgba(59,47,42,.62);font-size:13px;}
.sa-with a{text-decoration:none;}
.sa-character-chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.sa-character-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:rgba(252,197,60,.26);border:1px solid rgba(252,197,60,.55);text-decoration:none;color:rgba(59,47,42,.88);font-size:13px;}
.sa-character-chip img{width:22px;height:22px;border-radius:7px;object-fit:cover;}


/* v2.1.2 personages overview */
.sa-personages{max-width:1120px;margin:0 auto;padding:18px 18px 54px;}
.sa-personages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;}
.sa-personage-tile{background:rgba(255,255,255,.78);border:1px solid rgba(59,47,42,.12);border-radius:18px;padding:16px;box-shadow:0 10px 22px rgba(15,16,20,.08);display:flex;gap:14px;align-items:flex-start;}
.sa-personage-tile .img img{width:78px;height:78px;border-radius:20px;object-fit:cover;box-shadow:0 10px 20px rgba(15,16,20,.14);}
.sa-personage-tile h2{margin:0;font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:26px;color:rgba(153,31,31,.95);line-height:1.05;}
.sa-personage-tile p{margin:8px 0 0;color:rgba(59,47,42,.78);font-size:14px;line-height:1.7;}
.sa-personage-tile a.btn{display:inline-flex;margin-top:12px;text-decoration:none;border-radius:999px;padding:10px 14px;background:rgba(252,197,60,.92);border:1px solid rgba(0,0,0,.06);color:rgba(40,25,15,.92);font-size:14px;}
@media (max-width:980px){.sa-personages-grid{grid-template-columns:1fr;}}


/* v2.2.0 about us */
.sa-about{max-width:1120px;margin:0 auto;padding:18px 18px 54px;}
.sa-about-top{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.72);border:1px solid rgba(59,47,42,.12);border-radius:18px;padding:16px;box-shadow:0 10px 22px rgba(15,16,20,.08);}
.sa-about-top h1{margin:0;font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:40px;color:rgba(153,31,31,.95);line-height:1.05;}
.sa-about-top p{margin:8px 0 0;color:rgba(59,47,42,.78);font-size:15px;line-height:1.7;}
.sa-about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px;}
.sa-about-card{background:rgba(255,255,255,.78);border:1px solid rgba(59,47,42,.12);border-radius:18px;padding:16px;box-shadow:0 10px 22px rgba(15,16,20,.08);display:flex;flex-direction:column;gap:10px;}
.sa-about-card .top{display:flex;gap:14px;align-items:flex-start;}
.sa-about-card .top img{width:78px;height:78px;border-radius:20px;object-fit:cover;box-shadow:0 10px 20px rgba(15,16,20,.14);}
.sa-about-card h2{margin:0;font-family:"Comic Sans MS","Patrick Hand",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-size:26px;color:rgba(153,31,31,.95);line-height:1.05;}
.sa-about-card .tagline{margin:4px 0 0;color:rgba(59,47,42,.62);font-size:13px;}
.sa-about-card .desc{margin:0;color:rgba(59,47,42,.78);font-size:14px;line-height:1.7;}
.sa-about-card .btn{align-self:flex-start;display:inline-flex;text-decoration:none;border-radius:999px;padding:10px 14px;background:rgba(252,197,60,.92);border:1px solid rgba(0,0,0,.06);color:rgba(40,25,15,.92);font-size:14px;}
@media (max-width:980px){.sa-about-grid{grid-template-columns:1fr;}.sa-about-top{flex-direction:column;}}


/* v3.0.0 meta/date */
.sa-post-meta-line{display:flex;gap:10px;align-items:center;margin:-2px 0 10px;color:rgba(59,47,42,.72);font-size:13px;flex-wrap:wrap}
.sa-post-meta-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;border:1px solid rgba(59,47,42,.12);background:rgba(255,255,255,.7);font-weight:600}
.sa-post-meta-dot{opacity:.6}
.sa-post-meta-author{text-decoration:none;color:rgba(59,47,42,.78)}
.sa-post-meta-author:hover{text-decoration:underline}
.sa-post-meta-date{opacity:.85}

.sa-single-meta{margin-top:10px;color:rgba(59,47,42,.72);font-size:14px}
.sa-single-footer-avatar{display:flex;justify-content:center;margin-top:22px}
.sa-single-footer-avatar .avatar{border-radius:999px;box-shadow:0 10px 20px rgba(15,16,20,.14)}


/* v3.1.0 local avatars */
.sa-single-footer-avatar img.avatar{width:96px;height:96px;object-fit:cover}


/* v3.2.0 comic grid (equal tiles, 4:3) */
.is-style-sa-comic-grid ul,
.is-style-sa-comic-grid .blocks-gallery-grid{
  display:grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap:14px;
  margin: 14px 0 0;
  padding:0;
}
.is-style-sa-comic-grid li,
.is-style-sa-comic-grid .blocks-gallery-item{
  list-style:none !important;
  margin:0 !important;
}
.is-style-sa-comic-grid figure,
.is-style-sa-comic-grid .blocks-gallery-item figure{
  margin:0 !important;
  width:100%;
  aspect-ratio: 4 / 3;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 22px rgba(15,16,20,.12);
  background:rgba(255,255,255,.8);
}
.is-style-sa-comic-grid img{
  width:100% !important;
  height:100% !important;
  object-fit:cover;
  display:block;
}

/* Optional: captions under tiles (kept subtle) */
.is-style-sa-comic-grid figcaption{
  margin-top:8px;
  font-size:13px;
  color:rgba(59,47,42,.72);
}


/* v3.3.0 comic lightbox */
.sa-lightbox{
  position:fixed; inset:0; z-index:99999;
  background:rgba(17,18,20,.82);
  display:none;
}
.sa-lightbox.is-open{display:block;}
.sa-lightbox__inner{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.sa-lightbox__img{
  max-width:min(1100px, 92vw);
  max-height:86vh;
  border-radius:18px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  background:rgba(255,255,255,.8);
  object-fit:contain;
}
.sa-lightbox__btn{
  position:absolute;
  width:46px;height:46px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.10);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  user-select:none;
}
.sa-lightbox__btn:hover{background:rgba(255,255,255,.16)}
.sa-lightbox__btn:focus{outline:2px solid rgba(255,255,255,.35);outline-offset:2px}
.sa-lightbox__close{top:18px;right:18px;font-size:22px;line-height:1}
.sa-lightbox__prev{left:18px;top:50%;transform:translateY(-50%);font-size:28px;line-height:1}
.sa-lightbox__next{right:18px;top:50%;transform:translateY(-50%);font-size:28px;line-height:1}
.sa-lightbox__count{
  position:absolute; bottom:16px; left:50%;
  transform:translateX(-50%);
  color:rgba(255,255,255,.85);
  font-size:13px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.25);
  border:1px solid rgba(255,255,255,.18);
}
@media (max-width: 600px){
  .sa-lightbox__prev{left:10px}
  .sa-lightbox__next{right:10px}
  .sa-lightbox__close{top:10px;right:10px}
}


/* v3.3.2 header mark (custom logo / site icon) */
.sa-site-mark{display:flex;align-items:center;justify-content:center;margin-right:14px}
.sa-site-mark .custom-logo-link{display:inline-flex;align-items:center;justify-content:center}
.sa-site-mark .custom-logo{width:44px;height:44px;border-radius:14px;object-fit:cover;box-shadow:0 10px 22px rgba(15,16,20,.10);border:1px solid rgba(59,47,42,.10)}
.sa-site-icon img{width:44px;height:44px;border-radius:14px;object-fit:cover;box-shadow:0 10px 22px rgba(15,16,20,.10);border:1px solid rgba(59,47,42,.10)}
.sa-site-icon--fallback{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.8);border:1px solid rgba(59,47,42,.10);font-weight:800}

.brand-text .site-title{font-weight:800;}
.site-title{font-weight:800;}

.brand-text{margin:0;padding:0;}
