/* htt-theme.css  ·  Hold The Throne theme layer. Canon = Homepage Rayo + Data Blocks System. Load after Elementor, before htt-report.css. */
:root{--htt-page:#F7F1E1;--htt-card:#FDF8EC;--htt-sand:#F9E9C0;--htt-surface:#F0E4DE;--htt-ink:#4A342C;--htt-ink2:#6E5A4E;--htt-label:#8A7B67;--htt-muted:#9C8878;--htt-line:#EAD9C4;--htt-groove:#EFE7D6;
--htt-red:#C13B2A;--htt-tan:#A9741C;--htt-marigold:#E9A93A;--htt-marigold-d:#C98A1B;--htt-hl:#F7D881;--htt-hl2:#F2B84B;
--htt-s5:#A4C74A;--htt-s4:#2FA98C;--htt-s3:#F2B233;--htt-s2:#F2882B;--htt-s1:#E23B2E;--htt-good-bg:#EAF1E1;--htt-good-fg:#2FA98C;--htt-low-bg:#F7E7DF;--htt-clay:#CB6A45;
--htt-plant:#7BC24A;--htt-animal:#E58FA3;--htt-synthetic:#F2882B;--htt-semi:#3FA0C9;
--htt-display:'Aboreto',serif;--htt-body:'Jost',system-ui,sans-serif;--htt-r-card:22px;--htt-r-tile:16px;--htt-r-listing:10px;--htt-r-tag:6px;--htt-max:1180px;--htt-shadow:0 2px 8px rgba(64,52,42,.18)}
body,.elementor-kit{background:var(--htt-page);color:var(--htt-ink);font-family:var(--htt-body);-webkit-font-smoothing:antialiased}
a{color:var(--htt-ink);text-decoration:none}a:hover{color:var(--htt-red)}
.htt-wrap{max-width:var(--htt-max);margin:0 auto;padding:28px 32px 80px}
/* type */
h1,.htt-h1{font-family:var(--htt-display);font-weight:400;color:var(--htt-red);font-size:44px;line-height:1.05;margin:10px 0 12px}
h2,.htt-h2{font-family:var(--htt-display);font-weight:400;color:var(--htt-red);font-size:26px;line-height:1.15;margin:0 0 14px}
h3,.htt-h3{font-family:var(--htt-display);font-weight:400;color:var(--htt-ink);font-size:20px;margin:0 0 8px}
.htt-hl{box-shadow:inset 0 -.28em 0 var(--htt-hl)}
.htt-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--htt-tan);font-weight:600}
.htt-label{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--htt-label);font-weight:600}
.htt-lede{font-size:16px;color:var(--htt-ink2);line-height:1.55;max-width:640px}
.htt-body{font-size:16px;line-height:1.75}
.htt-crumb{font-size:12px;color:var(--htt-muted)}.htt-crumb b{color:var(--htt-ink);font-weight:500}
/* surfaces: whitespace + hairlines, never boxes-in-boxes */
.htt-card{background:var(--htt-card);border-radius:var(--htt-r-card);padding:24px 28px}
.htt-card--sand{background:var(--htt-sand)}
.htt-tile{background:var(--htt-card);border-radius:var(--htt-r-tile);padding:16px 18px}
.htt-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--htt-line);font-size:14px}
.htt-note{background:var(--htt-page);border:1px solid var(--htt-line);border-radius:12px;padding:14px 18px;font-size:12.5px;color:var(--htt-ink2);line-height:1.7}
/* data */
.htt-big{font-family:var(--htt-display);font-size:44px;line-height:1}.htt-big--xl{font-size:64px}.htt-big--sm{font-size:30px}
.htt-meter{height:10px;border-radius:6px;background:var(--htt-groove);overflow:hidden}.htt-meter>i{display:block;height:100%}
.htt-s5{background:var(--htt-s5)}.htt-s4{background:var(--htt-s4)}.htt-s3{background:var(--htt-s3)}.htt-s2{background:var(--htt-s2)}.htt-s1{background:var(--htt-s1)}
.htt-bars{display:grid;gap:6px;align-items:end;border-bottom:1.5px solid var(--htt-ink)}.htt-bars>i{display:block;border:1.5px solid var(--htt-ink);border-bottom:0;border-radius:8px 8px 0 0}
.htt-mark{font-size:12.5px;font-weight:600;padding:0 2px;white-space:nowrap;background:linear-gradient(transparent 60%,#F6D27A 60%,#F6D27A 90%,transparent 90%)}
.htt-mark--neg{background:linear-gradient(transparent 60%,#EFA48F 60%,#EFA48F 90%,transparent 90%)}
/* tags. NO PILLS: radius 6 everywhere except the score pill and the marigold CTA */
.htt-tag{display:inline-block;background:var(--htt-good-bg);color:var(--htt-good-fg);border-radius:var(--htt-r-tag);padding:3px 8px;font-size:11px}
.htt-tag--neg{background:var(--htt-low-bg);color:var(--htt-clay)}
.htt-chip{display:inline-block;background:var(--htt-card);border:1px solid var(--htt-line);border-radius:var(--htt-r-tag);padding:6px 11px;font-size:12.5px;font-weight:500}
.htt-chip.is-on{background:var(--htt-marigold);color:var(--htt-ink);border-color:var(--htt-marigold)}
.htt-seg{display:inline-block;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:6px;background:var(--htt-card)}.htt-seg.is-on{background:var(--htt-marigold);color:var(--htt-ink)}
/* the listing card (kit §9), used on every archive, taxonomy, saved and blog brand card */
.htt-listing{background:var(--htt-surface);border-radius:var(--htt-r-listing);overflow:hidden}
.htt-listing__img{position:relative;aspect-ratio:4/5;background:#E9DCCB}.htt-listing__img img{width:100%;height:100%;object-fit:cover;display:block}
.htt-listing__badge{position:absolute;top:10px;left:10px;background:rgba(233,169,58,.95);color:var(--htt-ink);font-size:10.5px;border-radius:6px;padding:4px 9px}
.htt-score{position:absolute;left:10px;bottom:10px;color:#fff;border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;box-shadow:var(--htt-shadow)}
.htt-listing__body{padding:12px 12px 14px}.htt-listing__name{font-family:var(--htt-display);font-size:15px;text-transform:uppercase}.htt-listing__sub{font-size:11.5px;color:var(--htt-muted);margin-bottom:8px}
.htt-listing__tags{display:flex;gap:5px;flex-wrap:wrap}
.htt-grid{display:grid;gap:16px}.htt-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.htt-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.htt-grid--2{grid-template-columns:1fr 1fr}
/* buttons */
.htt-btn{display:inline-block;background:var(--htt-marigold);color:var(--htt-card);font-size:13px;font-weight:600;padding:12px 22px;border-radius:999px;border:0;cursor:pointer;font-family:inherit}.htt-btn:hover{background:var(--htt-marigold-d);color:var(--htt-card)}
.htt-link{font-size:13px;font-weight:600;color:var(--htt-tan)}
/* layouts */
.htt-side{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start}.htt-side>aside{position:sticky;top:70px}
.htt-side--r{grid-template-columns:minmax(0,1fr) 340px}
.htt-article{display:grid;grid-template-columns:200px minmax(0,640px) 1fr;gap:40px;justify-content:center}
.htt-hero-split{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:stretch}
.htt-media{border-radius:var(--htt-r-card);overflow:hidden;background:#E9DCCB;position:relative}
/* elementor + legacy overrides */
.elementor-widget-container .htt-lb,.htt-old-card{background:var(--htt-card)!important;border:0!important;border-radius:var(--htt-r-card)!important;box-shadow:none!important}
.elementor-button,.wp-block-button__link{background:var(--htt-marigold)!important;color:var(--htt-card)!important;border-radius:999px!important;font-family:var(--htt-body)!important;font-weight:600!important}
[class*="pill"],[class*="badge"]:not(.htt-listing__badge):not(.htt-score){border-radius:6px!important}
@media(max-width:900px){.htt-grid--4,.htt-grid--3{grid-template-columns:1fr 1fr}.htt-side,.htt-side--r,.htt-hero-split,.htt-article{grid-template-columns:1fr}.htt-side>aside{position:static}h1,.htt-h1{font-size:32px}}

/* favourite heart (wraps the existing simplefavorite-button) */
.htt-listing .htt-fav,.htt-listing .simplefavorite-button{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;background:rgba(253,248,236,.92);display:flex;align-items:center;justify-content:center;color:var(--htt-red);box-shadow:0 2px 6px rgba(64,52,42,.15);border:0;padding:0}
.htt-listing .simplefavorite-button.active{background:var(--htt-red);color:var(--htt-card)}
/* facet filter bar */
.htt-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--htt-card);border-radius:16px;padding:12px 14px}
.htt-flt-facet>summary,.htt-facet{display:inline-flex;align-items:center;gap:6px;background:var(--htt-page);border:1px solid var(--htt-line);border-radius:6px;padding:7px 11px;font-size:12.5px;font-weight:500;cursor:pointer;list-style:none}
.htt-facet b{color:var(--htt-muted);font-weight:600;font-size:11px}
.htt-filters .apply{background:var(--htt-marigold);color:var(--htt-ink);border-radius:6px;padding:7px 14px;font-size:12.5px;font-weight:600}
/* editor's pick tab */
.htt-pick{position:absolute;top:-10px;left:16px;background:var(--htt-hl);color:var(--htt-ink);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:3px 8px}
