/* ==========================================================================
   Breeze theme — light, friendly, blue. Scoped to <body class="theme-breeze">.
   Loads AFTER assets/front.css. Re-maps the CSS variables to a light palette,
   then adds the layout-specific pieces (no sidebar, top-tags bar, sized grid).
   ========================================================================== */
body.theme-breeze{
  --bg:#f4f8fd; --bg2:#ffffff; --card:#ffffff; --line:#e4ebf4;
  --text:#15304d; --muted:#64778c; --brand:#2f7bff; --brand2:#37c0ff;
  background:#f4f8fd; color:#15304d;
}

/* header + nav on white */
.theme-breeze .site-head{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 8px rgba(20,40,80,.04)}
.theme-breeze .hubs a{color:var(--muted)}
.theme-breeze .hubs a:hover{color:var(--brand);background:#eaf2ff}
.theme-breeze .hubs a.on{color:#fff;background:var(--brand);border-color:var(--brand)}
.theme-breeze .hubs a.on .hi{color:#fff}
.theme-breeze .hub-tags{color:var(--brand);font-weight:700}
.theme-breeze .search input{background:#f4f8fd;border:1px solid var(--line);color:var(--text)}

/* hero: soft blue wash instead of the dark pink glow */
.theme-breeze .hero{background:linear-gradient(180deg,#e8f2ff,#f4f8fd);border-bottom:1px solid var(--line)}
.theme-breeze .hero p{color:var(--muted)}

/* no sidebar: single-column layout, hide the mobile filter toggle */
.theme-breeze .sidebar{display:none!important}
.theme-breeze .layout{grid-template-columns:1fr}
.theme-breeze .filter-toggle{display:none!important}

/* ---------------------------------------------------------- top-tools bar */
.theme-breeze .bz-tools{margin:4px 0 18px}
.theme-breeze .bz-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.theme-breeze .bz-tag{padding:.42em .9em;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--text);font-size:.85rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.theme-breeze .bz-tag:hover{border-color:var(--brand);color:var(--brand);background:#eaf2ff}
.theme-breeze .bz-tag-all{background:#eaf2ff;color:var(--brand);border-color:#cfe0ff}
.theme-breeze .bz-ctl{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.theme-breeze .bz-gsz{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.85rem;font-weight:700}
.theme-breeze .bz-gsz button{width:32px;height:32px;line-height:1;border:1px solid var(--line);background:#fff;border-radius:9px;color:var(--muted);font-size:15px;cursor:pointer;transition:.15s}
.theme-breeze .bz-gsz button:hover{border-color:var(--brand);color:var(--brand)}
.theme-breeze .bz-gsz button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.theme-breeze .bz-sortwrap{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.85rem;font-weight:700}
.theme-breeze .bz-sort{padding:.5em 2.2em .5em .9em;border:1px solid var(--line);border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%232f7bff' d='M6 8 0 0h12z'/%3E%3C/svg%3E") no-repeat right .8em center;color:var(--text);font-weight:700;font-size:.88rem;cursor:pointer;-webkit-appearance:none;appearance:none}
.theme-breeze .bz-sort:focus{outline:none;border-color:var(--brand)}

/* --------------------------------------------------------------- grid + cards */
.theme-breeze .grid-cams{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.theme-breeze.gsz-sm .grid-cams{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.theme-breeze.gsz-md .grid-cams{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.theme-breeze.gsz-lg .grid-cams{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}

.theme-breeze .bz-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 1px 3px rgba(20,40,80,.06);transition:transform .16s,box-shadow .16s}
.theme-breeze .bz-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(47,123,255,.18)}
.theme-breeze .bz-thumb{display:block;text-decoration:none}
.theme-breeze .bz-thumb .cam-thumb{position:relative;aspect-ratio:4/3;background:#e9eff7;overflow:hidden}
.theme-breeze .bz-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.theme-breeze .bz-card:hover .bz-thumb img{transform:scale(1.05)}
.theme-breeze .bz-meta{padding:9px 11px 11px}
.theme-breeze .bz-r1{display:flex;justify-content:space-between;align-items:center;gap:8px}
.theme-breeze .bz-name{font-weight:800;color:var(--text);font-size:.95rem;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-breeze .bz-name:hover{color:var(--brand)}
.theme-breeze .bz-vw{color:var(--muted);font-size:.8rem;font-weight:700;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.theme-breeze .bz-vw::before{content:"\1F441";font-size:.95em;opacity:.75}
.theme-breeze .bz-r2{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}
.theme-breeze .bz-loc{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.theme-breeze .bz-loc .bz-globe{font-style:normal;opacity:.7}
.theme-breeze .bz-site{color:var(--brand);font-size:.78rem;font-weight:700;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.theme-breeze .bz-site:hover{text-decoration:underline}

/* ------------------------------------------------------------- model page */
.theme-breeze .main.performer{max-width:1120px;margin:0 auto}
.theme-breeze .page-h1{color:var(--text)}
.theme-breeze .page-h1 .live-dot{background:#e8f7ee;color:#159a5b;padding:.15em .55em;border-radius:999px;font-size:.6em;font-weight:800;vertical-align:middle}
.theme-breeze .p-sub a{color:var(--brand)}
.theme-breeze .subj{color:var(--muted)}
.theme-breeze .about{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px 22px;max-width:none;box-shadow:0 1px 3px rgba(20,40,80,.05)}
.theme-breeze .about p{color:var(--text);opacity:.9}
.theme-breeze .bz-stats{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 22px 18px;margin:18px 0;box-shadow:0 1px 3px rgba(20,40,80,.05)}
.theme-breeze .bz-stats dl{margin:.3em 0 0}
.theme-breeze .bz-stats dl>div{display:flex;gap:14px;padding:.6em 0;border-bottom:1px solid var(--line)}
.theme-breeze .bz-stats dl>div:last-child{border-bottom:0}
.theme-breeze .bz-stats dt{width:140px;flex:0 0 auto;color:var(--muted);font-weight:700}
.theme-breeze .bz-stats dd{margin:0;color:var(--text);font-weight:600}
.theme-breeze .bz-stats a{color:var(--brand)}
.theme-breeze .chips{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0}
.theme-breeze .chip{background:#fff;border:1px solid var(--line);color:var(--muted)}
.theme-breeze .chip:hover{color:var(--brand);border-color:var(--brand);background:#eaf2ff}
.theme-breeze .signup{background:linear-gradient(180deg,#e8f2ff,#fff);border:1px solid #cfe0ff;border-radius:16px}
.theme-breeze .signup p{color:var(--muted)}
.theme-breeze .goal-bar{background:#e9eff7}

/* buttons / pager / misc on light */
.theme-breeze .btn-cam{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#fff}
.theme-breeze .pager a{background:#fff;border:1px solid var(--line);color:var(--text)}
.theme-breeze .pager a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.theme-breeze .row-all{color:var(--brand)}
.theme-breeze .sec-h2{color:var(--text)}
.theme-breeze .empty{color:var(--muted)}
