/* ============================================================
   Portal system layer — structural fixes, not another page patch.
   Loaded after the old portal.css so the portal can be stabilized
   while the older cascade is retired piece by piece.
   ============================================================ */

:root{
  --primary:#489BAD;
  --primary-dark:#347f8d;
  --primary-soft:#e8f6f8;
  --primary-soft-2:#f2fafb;
  --ink:#10252d;
  --muted:#536870;
  --line:#d4e4e8;
  --line-soft:#e9f0f2;
  --bg:#f5f8f9;
  --panel:#fff;
  --orange:#e7762a;
  --radius:9px;
  --shadow:0 1px 2px rgba(16,37,45,.04),0 12px 28px rgba(16,37,45,.06);
  --shadow-lift:0 2px 6px rgba(16,37,45,.06),0 18px 40px rgba(16,37,45,.10);
  --body:Figtree,Arial,sans-serif;
  --head:"Libre Baskerville",Georgia,serif;
}

.nav a,.mobile-nav a{position:relative;gap:10px;}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.nav-badge{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--orange);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;box-shadow:0 4px 10px rgba(231,118,42,.25);}
.nav-badge[hidden]{display:none!important;}
.mobile-nav .nav-badge{position:absolute;top:5px;right:5px;margin-left:0;}

.ah-notify-toast{position:fixed;left:50%;top:18px;transform:translate(-50%,-22px);z-index:10000;display:flex;align-items:center;gap:12px;width:max-content;max-width:min(440px,calc(100vw - 28px));padding:15px 20px;border:1px solid rgba(72,155,173,.4);border-left:5px solid var(--primary);border-radius:13px;background:#fff;color:var(--ink);box-shadow:0 22px 55px rgba(16,37,45,.24);font-size:15px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;}
.ah-notify-toast::before{content:"✉";font-size:18px;color:var(--primary);}
.ah-notify-toast.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
.ah-notify-toast::after{content:"Open →";font-size:13px;font-weight:700;color:#fff;background:var(--primary);border:1px solid var(--primary);border-radius:var(--radius);padding:6px 13px;margin-left:4px;}

/* Waitlist/vote controls for anything not actually open/sellable yet. */
.product-interest,.dl-interest{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;}
.product-interest form,.dl-interest form{margin:0;display:inline-flex;}
.product-interest .btn,.dl-interest .btn,.dl-vote{min-height:34px;padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.1;}
.dl-vote{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-weight:600;}
.dl-vote.on{background:var(--primary-soft);border-color:#a9d0d8;color:#0e6473;}
.dl-vote-text{display:inline!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;color:inherit!important;}
.dl-votecount{font-size:12px;color:var(--muted);}
.product-interest.compact{margin-top:8px;}
.product-interest.compact .btn,.product-interest.compact .dl-vote{min-height:30px;padding:6px 10px;font-size:12px;}

/* Client/admin inbox readability. */
.dm-shell,.admin-dm-shell{gap:18px;}
.dm-list,.dm-chat,.admin-dm-list,.admin-dm-chat{border-radius:12px;border-color:var(--line);box-shadow:var(--shadow);}
.dm-list-head,.dm-chat-head,.admin-dm-list-head,.admin-dm-chat-head{background:linear-gradient(180deg,#fff,#fbfefe);}
.dm-thread,.admin-thread{border-bottom:1px solid var(--line-soft);}
.dm-thread.active,.admin-thread.active{background:var(--primary-soft-2);box-shadow:inset 3px 0 0 var(--primary);}
.dm-bubble,.admin-dm-bubble{border-radius:14px;box-shadow:0 4px 12px rgba(16,37,45,.04);}
.dm-compose textarea,.dm-start textarea,.admin-dm-compose textarea{border-radius:10px;border-color:var(--line);}
.notify-toggle{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:8px;padding:8px 11px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
.notify-toggle:hover{border-color:#b7dbe2;background:var(--primary-soft-2);}

/* Tool hub and individual tool pages: calmer cards, clearer spacing. */
.tk-feature,.tool-shell,.peace-tool,.capacity-tool,.ebook-shell,.fnr-shell{border-radius:16px;}
.tk .product-card,.product-card{border-radius:13px;}
.tk .product-card .body,.product-card .body{min-width:0;}
.tk-section-title,.dl-subgroup-title{letter-spacing:-.01em;}

.tool-page,.tool-shell,.peace-tool,.capacity-tool,.ebook-shell,.fnr-shell{max-width:1060px;margin:0 auto;}
.tool-hero{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);padding:clamp(22px,3vw,36px);margin-bottom:22px;}
.tool-hero h1{font-family:var(--head);font-size:clamp(25px,3vw,36px);line-height:1.12;margin:0 0 10px;letter-spacing:-.02em;}
.tool-hero p{max-width:68ch;color:var(--muted);font-size:15.5px;line-height:1.62;margin:0;}
.tool-card{border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow);padding:clamp(18px,2.5vw,26px);}
.tool-card + .tool-card{margin-top:16px;}
.tool-card h2,.tool-card h3{margin-top:0;}
.tool-card textarea,.tool-card input,.tool-card select{border:1px solid var(--line);border-radius:10px;background:#fff;}
.tool-card textarea:focus,.tool-card input:focus,.tool-card select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(72,155,173,.14);}

@media(max-width:860px){
  .ah-notify-toast{right:12px;bottom:12px;max-width:calc(100vw - 24px);}
  .nav-label{white-space:normal;}
}
@media(max-width:560px){
  .product-interest,.dl-interest{gap:7px;}
  .product-interest .btn,.dl-interest .btn,.dl-vote{width:auto;max-width:none;}
  .ah-notify-toast{font-size:14px;}
}

/* ============================================================
   Tool system pass v3: one visual language for the tool hub and
   the first set of in-portal tools.
   ============================================================ */
.tk{display:block}
.tk-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:30px;background:#fff;box-shadow:var(--shadow)}
.tk-feature-body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;justify-content:center}
.tk-feature-eyebrow{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-size:11px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border:1px solid #cde6ea;border-radius:999px;padding:5px 12px;margin-bottom:15px}
.tk-feature-body h1{font-family:var(--head);font-weight:700;font-size:clamp(23px,2.7vw,32px);line-height:1.12;letter-spacing:-.018em;color:var(--ink);margin:0 0 11px}
.tk-feature-body p{font-size:15px;line-height:1.62;color:var(--muted);margin:0 0 22px;max-width:40ch}
.tk-feature-cta{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:10px;padding:12px 22px;font-weight:650;font-size:15px;box-shadow:0 5px 14px rgba(72,155,173,.26);transition:transform .15s ease,box-shadow .18s ease,background .18s ease}
.tk-feature-cta:hover{background:var(--primary-dark);box-shadow:0 8px 20px rgba(72,155,173,.34);transform:translateY(-1px)}
.tk-feature-cta:active{transform:translateY(0) scale(.985)}
.tk-feature-cta span{transition:transform .18s ease}.tk-feature-cta:hover span{transform:translateX(3px)}
.tk-feature-media{position:relative;min-height:248px;overflow:hidden}.tk-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tk-feature-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to right,#fff 0%,#fff 8%,rgba(255,255,255,.78) 22%,rgba(255,255,255,0) 52%)}
.tk-section{margin-bottom:28px}.tk-section + .tk-section{border-top:1px solid var(--line-soft);padding-top:24px}.tk-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.tk-section-title{font-family:var(--head);font-weight:700;font-size:19px;letter-spacing:-.01em;color:var(--ink);margin:0}.tk-section-meta{font-size:12.5px;color:var(--muted)}
.tk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.tk .product-card{display:flex!important;flex-direction:row!important;align-items:stretch;height:148px;border:1px solid var(--line)!important;border-radius:13px!important;box-shadow:var(--shadow);overflow:hidden;animation:tkPop .5s cubic-bezier(.2,.7,.3,1) backwards;transition:box-shadow .22s ease,transform .22s ease}.tk .product-card:nth-child(1){animation-delay:.02s}.tk .product-card:nth-child(2){animation-delay:.09s}.tk .product-card:nth-child(3){animation-delay:.16s}.tk .product-card:nth-child(4){animation-delay:.23s}.tk .product-card:nth-child(5){animation-delay:.3s}.tk .product-card:nth-child(6){animation-delay:.37s}.tk .product-card:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}.tk .product-card:active{transform:scale(.97)}
.tk .product-card .image-slot{flex:0 0 128px;width:128px!important;height:148px!important;align-self:stretch;aspect-ratio:auto!important}.tk .product-card .image-slot img{width:100%;height:100%;object-fit:cover}.tk .product-card .body{padding:18px 22px!important;display:flex;flex-direction:column;justify-content:center;gap:7px;flex:1;min-width:0;overflow:hidden}.tk .product-card h3{font-size:15px!important;line-height:1.22!important;margin:0!important}.tk .product-card p{font-size:12.5px!important;line-height:1.45!important;color:var(--muted)!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tk .product-card .btn.primary{align-self:flex-start;width:auto!important;margin-top:9px;min-height:34px;padding:7px 18px;font-size:13px}
.tk .dl-tag{display:inline-block;font-size:11px;font-weight:650;padding:2px 9px;border-radius:8px;margin-bottom:4px}.tk .dl-soon{background:#fff7f1;color:#b75717;border:1px solid #f1cfb7}.tk .dl-beta{background:var(--primary-soft);color:#0e6473;border:1px solid #b7dbe2}.tk .muted-action{font-size:13px;color:var(--muted);margin-top:auto;padding-top:4px}.tk-empty{border:1px solid var(--line-soft);border-left:3px solid var(--primary);background:linear-gradient(180deg,#fbfdfe,#fff);border-radius:var(--radius);padding:20px 22px;color:var(--ink);line-height:1.55;max-width:620px}.tk-empty strong{display:block;font-family:var(--head);font-weight:700;font-size:17px;margin-bottom:4px}.tk-empty span{color:var(--muted)}
@keyframes tkPop{0%{opacity:0;transform:scale(.92) translateY(12px)}55%{opacity:1}100%{opacity:1;transform:scale(1) translateY(0)}}

.portal-tool-page .page-title,.capacity-hero{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:clamp(22px,3vw,32px);margin-bottom:18px}.portal-tool-page .page-title h1,.capacity-hero h1{font-family:var(--head);font-weight:700;font-size:clamp(26px,3vw,36px)!important;line-height:1.12!important;letter-spacing:-.018em!important;color:var(--ink)!important;margin:0 0 9px!important}.portal-tool-page .page-title p,.capacity-hero p{max-width:76ch;color:var(--muted);font-size:15.5px;line-height:1.62;margin:0}.portal-tool-page .fine,.noise-kicker,.grocery-kicker,.capacity-kicker{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.11em!important;font-weight:750!important;color:var(--primary)!important;margin:0 0 8px!important}.noise-title-row,.grocery-title-row,.peace-tool .page-title,.capacity-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.tool-back-link,.peace-page-link.tool-back-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:#fff;color:#0e6473;text-decoration:none;font-size:13px;font-weight:700;line-height:1;padding:9px 13px;white-space:nowrap}.tool-back-link:hover,.peace-page-link.tool-back-link:hover{background:var(--primary-soft);border-color:#b7dbe2;color:#0e6473}.tool-back-link::before,.peace-page-link.tool-back-link::before{content:"←";margin-right:7px}
.portal-tool-page .panel,.portal-tool-page .reset-card,.portal-tool-page .capacity-card,.portal-tool-page .ebook-page,.portal-tool-page .peace-panel,.portal-tool-page .peace-step-panel{border-radius:14px!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important}.portal-tool-page textarea,.portal-tool-page select,.portal-tool-page input[type="text"]{border-radius:10px!important;border-color:var(--line)!important}.portal-tool-page textarea:focus,.portal-tool-page select:focus,.portal-tool-page input[type="text"]:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(72,155,173,.14)!important;outline:none!important}.portal-tool-page .btn.primary,.portal-tool-page .btn.capacity-primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.portal-tool-page .btn.primary:hover,.portal-tool-page .btn.capacity-primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important}.portal-tool-page .btn.secondary,.portal-tool-page .btn:not(.primary):not(.capacity-primary){border-color:var(--line);background:#fff;color:var(--ink)}.portal-tool-page .notice,.portal-tool-page .peace-note,.portal-tool-page .grocery-download-note,.portal-tool-page .capacity-callout,.portal-tool-page .ebook-callout{border-radius:12px!important}
.grocery-ebook .ebook-progress,.capacity-progress-track,.peace-track{background:#dcecef}.grocery-ebook .progress-fill,.capacity-progress-fill,.peace-fill{background:var(--primary)}

@media(max-width:860px){.tk-feature{grid-template-columns:1fr}.tk-feature-media{min-height:188px;order:-1}.tk-feature-media::before{background:linear-gradient(to bottom,rgba(255,255,255,0) 50%,#fff 100%)}.noise-title-row,.grocery-title-row,.peace-tool .page-title,.capacity-title-row{display:block}.tool-back-link,.peace-page-link.tool-back-link{margin-top:14px}.capacity-title-row .tool-back-link{margin-top:14px}}
@media(max-width:560px){.tk-grid{grid-template-columns:1fr;gap:11px}.tk .product-card{height:128px}.tk .product-card .image-slot{flex:0 0 110px;width:110px!important;height:128px!important}.tk .product-card .body{padding:16px 18px!important}.tk .product-card h3{font-size:14.5px!important}.portal-tool-page .page-title,.capacity-hero{padding:20px 18px}.portal-tool-page .btn,.portal-tool-page button.btn{width:100%;text-align:center}.portal-tool-page .help-check .btn,.portal-tool-page .somatic-button{width:auto}}
@media(prefers-reduced-motion:reduce){.tk .product-card{animation:none}}

/* ============================================================
   Programs/products/resources cleanup pass: remove page-level
   styling from product/category pages and normalize course access.
   ============================================================ */
.dl-subgroup{margin-top:18px}.dl-subgroup:first-child{margin-top:0}.dl-subgroup-title{font-family:var(--body);font-size:15px;font-weight:650;letter-spacing:.01em;margin:0 0 10px;color:var(--ink)}
.ar-catpage .panel-body{padding:clamp(16px,2.4vw,22px)}
.ar-catpage .product-grid{align-items:stretch}
@media(max-width:560px){.dl-interest{align-items:center;gap:8px}.dl-interest form{display:inline-flex;width:auto}.dl-interest .btn,.dl-vote{width:auto;max-width:none;flex:0 0 auto}}

.course-layout{align-items:start}.course-nav,.lesson{border-radius:14px!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important}.course-nav h2{font-family:var(--head);font-weight:700;letter-spacing:-.02em}.course-nav .back-link,.wwe-back{display:inline-flex!important;align-items:center!important;gap:6px!important;color:#0e6473!important;text-decoration:none!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;padding:8px 12px!important;font-weight:650!important}.course-nav .back-link:hover,.wwe-back:hover{background:var(--primary-soft)!important;border-color:#b7dbe2!important}.lesson-footer .btn,.wwe-footer .btn{border-radius:9px}.lesson-content textarea{font-family:var(--body)}
@media(max-width:860px){.course-layout{grid-template-columns:1fr}.course-nav{position:static}.lesson-footer .btn,.wwe-footer .btn{width:100%;text-align:center}}

/* Product access page moved out of product.php. */
.product-access-page{max-width:1040px;margin:0 auto 46px}.product-access-head{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:22px;align-items:start;margin:0 0 18px}.product-access-head h1{font-family:var(--head,Georgia,serif);font-weight:400;font-size:clamp(26px,2.5vw,34px);line-height:1.14;letter-spacing:-.03em;margin:0 0 7px;color:#10262d}.product-access-head p{font-size:15.5px;line-height:1.5;color:#607984;margin:0}.product-cover-small{border:1px solid #cfe0e5;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(16,37,45,.045)}.product-cover-small .image-slot{aspect-ratio:4/3;height:auto;border-radius:0}.product-cover-small .image-slot img{width:100%;height:100%;object-fit:cover}.bundle-panel{background:#fff;border:1px solid #cfe0e5;border-radius:10px;box-shadow:0 18px 42px rgba(16,37,45,.055);overflow:hidden}.bundle-panel-head{padding:18px 20px;border-bottom:1px solid #e7eff2}.bundle-panel-head h2{font-size:20px;line-height:1.25;font-weight:500;margin:0 0 5px;color:#10262d}.bundle-panel-head p{font-size:14px;line-height:1.5;color:#607984;margin:0}.bundle-grid-v36{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}.bundle-tile{display:grid;grid-template-columns:130px minmax(0,1fr);min-height:132px;border:1px solid #d2e4e9;border-radius:10px;background:#fff;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.bundle-tile:hover{transform:translateY(-2px);border-color:#a9d0d8;box-shadow:0 14px 28px rgba(16,37,45,.055)}.bundle-thumb{background:#eef7f9}.bundle-thumb .image-slot{height:100%;min-height:132px;border-radius:0}.bundle-thumb .image-slot img{width:100%;height:100%;object-fit:cover}.bundle-text{padding:15px;display:grid;align-content:center;justify-items:start;gap:8px}.bundle-text h3{font-size:16.5px;line-height:1.25;font-weight:500;margin:0;color:#10262d}.bundle-text p{font-size:13.5px;line-height:1.45;color:#607984;margin:0}.bundle-missing{display:inline-flex;border:1px solid #f0b78e;color:#a94f15;background:#fff7f1;border-radius:999px;padding:7px 10px;font-size:12.5px}.bundle-admin-note{font-size:12.5px!important;color:#8a5a39!important}.product-single-body{padding:18px;display:grid;gap:16px}.product-media-card{border:1px solid #d2e4e9;border-radius:10px;background:#fff;padding:16px;display:grid;gap:12px}.product-media-card audio{width:100%}.product-media-card video{width:100%;max-height:520px;border-radius:8px;background:#000}.product-media-card p{margin:0;color:#607984;line-height:1.5}.product-media-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#0f6d7c;font-weight:500}.product-file-actions{display:flex;gap:10px;flex-wrap:wrap}.product-pdf-frame{width:100%;height:520px;border:1px solid #d2e4e9;border-radius:8px;background:#f8fbfc}.notice-info{border:1px solid #b8dce4;background:#f3fbfd;color:#0b6674;border-radius:10px;padding:12px 14px;margin-bottom:16px}.product-actions{display:flex;gap:10px;flex-wrap:wrap}.product-empty{border:1px dashed #bfd8df;border-radius:10px;padding:18px;color:#607984}@media(max-width:800px){.product-access-head{grid-template-columns:1fr}.product-cover-small{max-width:220px}.bundle-grid-v36{grid-template-columns:1fr}.bundle-tile{grid-template-columns:112px minmax(0,1fr)}.bundle-thumb .image-slot{min-height:124px}.product-pdf-frame{height:420px}}@media(max-width:560px){.product-access-head h1{font-size:26px}.bundle-panel-head,.bundle-grid-v36,.product-single-body{padding:15px}.bundle-tile{grid-template-columns:1fr}.bundle-thumb .image-slot{aspect-ratio:16/9;height:auto;min-height:0}.product-pdf-frame{height:360px}}

/* ============================================================
   Design system consolidation pass v1
   Purpose: move portal-level design rules out of PHP and give
   the client portal one calmer, brand-consistent visual layer.
   ============================================================ */
:root{
  --primary:#489BAD;
  --primary-dark:#347f8d;
  --primary-soft:#eef8fa;
  --primary-soft-2:#f6fbfc;
  --ink:#10252d;
  --muted:#536870;
  --line:#cfe0e5;
  --line-soft:#e7eff2;
  --bg:#f6f9fa;
  --panel:#ffffff;
  --orange:#e7762a;
  --radius:8px;
  --radius-card:12px;
  --shadow:0 1px 2px rgba(16,37,45,.035),0 12px 28px rgba(16,37,45,.055);
  --shadow-lift:0 2px 6px rgba(16,37,45,.06),0 18px 40px rgba(16,37,45,.10);
  --ease:cubic-bezier(.2,.7,.3,1);
  --body:Figtree,Arial,sans-serif;
  --head:"Libre Baskerville",Georgia,serif;
}
html,body,.app,.main,.container,.login-page,.password-setup-wrap,.admin-dm-messages{background:var(--bg)!important;}
body{line-height:1.52;color:var(--ink);}
::selection{background:rgba(72,155,173,.22);color:var(--ink);}
a:focus-visible,button:focus-visible,.btn:focus-visible,.nav a:focus-visible,.mobile-nav a:focus-visible,.link:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary)!important;outline-offset:2px!important;border-radius:7px;}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:none!important;border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(72,155,173,.14)!important;}

/* Shell */
.topbar{height:72px!important;background:linear-gradient(135deg,#0c1012 0%,#112a31 100%)!important;border-bottom:1px solid rgba(255,255,255,.09)!important;padding:11px 22px!important;box-shadow:0 10px 24px rgba(16,37,45,.10);}
.brand-block{gap:11px!important;}
.brand-block img{width:34px!important;height:34px!important;}
.brand-name{font-family:var(--head)!important;font-size:17px!important;line-height:1.04!important;letter-spacing:-.03em!important;}
.secure-line{color:#dcecef!important;font-size:12px!important;letter-spacing:.01em!important;}
.help-link{opacity:.9!important;}
.help-link:hover{opacity:1!important;text-decoration:underline;text-underline-offset:3px;}
.top-btn{background:var(--primary)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:var(--radius)!important;box-shadow:0 4px 12px rgba(0,0,0,.14)!important;}
.top-btn:hover{background:var(--primary-dark)!important;}
.avatar{background:linear-gradient(150deg,#eafafc,#d2eef2)!important;color:#0e6473!important;font-weight:700!important;box-shadow:inset 0 0 0 1px rgba(72,155,173,.4)!important;}
.app{padding-top:72px!important;}
.sidebar{top:72px!important;background:#fff!important;border-right:1px solid var(--line)!important;padding:18px 14px 16px!important;box-shadow:2px 0 16px rgba(16,37,45,.025);}
.main{margin-left:224px!important;min-width:0;}
.container{max-width:1180px!important;padding:28px 28px 52px!important;}

/* Navigation */
.nav{gap:6px!important;}
.nav a,.mobile-nav a{position:relative;gap:11px!important;}
.nav a::before,.mobile-nav a::before{display:none!important;content:none!important;}
.nav .navico{width:18px;height:18px;flex:0 0 auto;color:#8fa7af;transition:color .18s var(--ease),transform .18s var(--ease);}
.nav a{border-radius:var(--radius)!important;padding:9px 11px!important;font-weight:600!important;color:#18313a!important;}
.nav a:hover{background:var(--primary-soft)!important;color:#0e6473!important;transform:translateX(2px);}
.nav a:hover .navico{color:var(--primary);transform:translateX(1px);}
.nav a.active{background:var(--primary-soft)!important;color:#0e6473!important;box-shadow:inset 3px 0 0 var(--primary)!important;}
.nav a.active .navico{color:var(--primary);}
.nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;}
.mobile-nav .navico{display:none!important;}
.sidebar-support{background:linear-gradient(180deg,#f7fcfd,#fff)!important;border:1px solid rgba(72,155,173,.28)!important;border-radius:var(--radius-card)!important;box-shadow:0 8px 20px rgba(16,37,45,.04);}
.sidebar-support h3{font-weight:700!important;}

/* Cards, panels, titles */
.page-title{align-items:flex-end!important;margin-bottom:24px!important;border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow)!important;padding:clamp(20px,2.7vw,30px)!important;}
.page-title h1{font-family:var(--head)!important;font-weight:700!important;font-size:clamp(28px,3vw,38px)!important;line-height:1.1!important;letter-spacing:-.025em!important;color:var(--ink)!important;margin:0 0 7px!important;}
.page-title p{max-width:72ch!important;color:var(--muted)!important;font-size:15.5px!important;line-height:1.6!important;margin:0!important;}
.panel,.product-card,.resources-tool-card,.dashboard-side-card,.bundle-panel,.bundle-tile,.product-media-card,.wwe-card,.wwe-mobile-lessons summary,.wwe-mobile-list,.wwe-mobile-item,.wwe-tab.active,.table-panel,table,.login-card,.reflection-full-text,.reflection-field input,.reflection-field textarea{background:var(--panel)!important;}
.panel,.product-card,.dashboard-side-card,.bundle-panel,.product-media-card,.course-nav,.lesson,.table-panel{border:1px solid var(--line)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow)!important;}
.panel{overflow:hidden;transition:box-shadow .25s var(--ease),transform .25s var(--ease);}
.panel-head{border-bottom:1px solid var(--line-soft)!important;background:linear-gradient(180deg,#fff,#fbfefe)!important;}
.panel-head h2,.panel h2{font-family:var(--head)!important;font-weight:700!important;letter-spacing:-.018em!important;color:var(--ink)!important;}
.panel-body{padding:24px!important;}
.product-card{transition:box-shadow .22s var(--ease),transform .22s var(--ease)!important;}
.product-card:hover,.dashboard-side-card[href]:hover{box-shadow:var(--shadow-lift)!important;transform:translateY(-2px);}
.image-slot,.image-slot.placeholder,.product-card .image-slot,.dashboard-side-image,.bundle-thumb,.media-frame,.video,.wwe-missing-media,.wwe-focus,.wwe-listen,.admin-product-link-box,.empty-state{background:var(--primary-soft)!important;}
.image-slot.placeholder,.product-card .image-slot:not(.has-image){background:radial-gradient(circle at 50% 46%,rgba(72,155,173,.16) 0 7px,transparent 8px),radial-gradient(circle at 50% 46%,transparent 0 13px,rgba(72,155,173,.16) 13px 15px,transparent 16px),linear-gradient(135deg,#e3f1f4 0%,#eef5f6 60%,#f4f8f9 100%)!important;}
.empty-state{border:1px solid var(--line-soft)!important;border-left:3px solid var(--primary)!important;background:linear-gradient(180deg,#fbfdfe,#fff)!important;padding:18px 20px!important;border-radius:var(--radius)!important;line-height:1.5!important;}

/* Buttons and forms */
.btn{border-radius:var(--radius)!important;transition:transform .15s var(--ease),background .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)!important;}
.btn:active{transform:translateY(0) scale(.985);}
.btn.primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;box-shadow:0 4px 12px rgba(72,155,173,.22)!important;}
.btn.primary:hover{background:var(--primary-dark)!important;border-color:var(--primary-dark)!important;box-shadow:0 6px 16px rgba(72,155,173,.30)!important;}
.btn.secondary,.btn:not(.primary){border-color:var(--line);}
.field input,.field select,.field textarea,input,select,textarea{border-radius:var(--radius)!important;}
input,select,textarea{border-color:var(--line)!important;}
input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(72,155,173,.14)!important;outline:none!important;}

/* Dashboard */
.dl-tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px;margin-bottom:8px;}
.dl-soon{background:#fff7f1;color:#b75717;border:1px solid #f1cfb7;}
.dl-beta{background:var(--primary-soft);color:#0e6473;border:1px solid #b7dbe2;}
.dl-cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.ar-kicker{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:800!important;color:var(--primary)!important;margin:0 0 10px!important;}
.ar-hero{border-radius:16px!important;border:1px solid var(--line)!important;box-shadow:var(--shadow)!important;overflow:hidden;background:#fff!important;}
.ar-hero-copy h2{font-family:var(--head)!important;letter-spacing:-.018em!important;line-height:1.12!important;}
.ar-continue{border:1px solid var(--line)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--shadow)!important;}
.note-card h3{font-family:var(--head)!important;font-weight:700!important;letter-spacing:-.015em!important;}
.dashboard-side-card{border-radius:var(--radius-card)!important;}
.dashboard-weekly-access .latest-call-button-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:14px 18px!important;}
.dashboard-weekly-access h2{margin:0!important;font-size:18px!important;line-height:1.2!important;font-family:var(--body)!important;font-weight:650!important;letter-spacing:0!important;}
.dashboard-weekly-access .btn{white-space:nowrap!important;}

/* Badges, waitlist and voting */
.dl-interest{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;}
.dl-interest form{margin:0;display:inline-flex;width:auto;}
.dl-vote,.dl-tag,.dl-votecount,.program-summary-card .count,.wwe-count,.wwe-pill,.wwe-tab,.wwe-mobile-chevron,.wwe-mobile-item span:first-child,.bundle-missing,.admin-dm-filters a,.notify-toggle,.nav-badge{border-radius:var(--radius)!important;}
.dl-vote{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:34px!important;min-width:78px!important;padding:8px 12px!important;border:1px solid var(--line)!important;background:#fff!important;color:var(--ink)!important;font:inherit!important;font-size:13px!important;font-weight:650!important;line-height:1.1!important;white-space:nowrap!important;overflow:visible!important;text-indent:0!important;letter-spacing:normal!important;cursor:pointer;}
.dl-vote.on{background:var(--primary-soft)!important;border-color:#a9d0d8!important;color:#0e6473!important;}
.dl-vote-text{display:inline!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;overflow:visible!important;white-space:nowrap!important;color:inherit!important;font-size:inherit!important;}
.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;background:var(--orange,#e0794b);color:#fff;font-size:11px;font-weight:700;line-height:1;vertical-align:middle;}
.nav-badge[hidden]{display:none!important;}
.notify-toggle{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;padding:6px 12px;font-size:12.5px;color:var(--ink);cursor:pointer;}
.notify-toggle:hover{background:var(--primary-soft);}
.notify-toggle:disabled{opacity:.6;cursor:default;}
.notify-toggle[hidden]{display:none!important;}

/* Shared built-in tool presentation */
.noise-tool h1,.capacity-tool h1,.peace-tool h1,.grocery-ebook h1,.noise-tool h2,.capacity-tool h2,.peace-tool h2,.grocery-ebook h2,.noise-tool h3,.capacity-tool h3,.peace-tool h3,.grocery-ebook h3{font-family:var(--head)!important;color:var(--ink)!important;letter-spacing:-.012em!important;}
.noise-page-title h1,.capacity-hero h1,.peace-tool .page-title h1,.grocery-ebook h1{font-size:30px!important;line-height:1.16!important;font-weight:700!important;margin:0 0 6px!important;}
.reset-card-head h2,.capacity-card-head h2,.ebook-page-head h2{font-size:22px!important;line-height:1.25!important;font-weight:700!important;margin:0!important;}
.noise-kicker,.capacity-kicker,.grocery-kicker{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:700!important;color:var(--primary)!important;margin-bottom:10px!important;}
.reset-copy,.ebook-page-body p,.capacity-card-body p,.capacity-means p,.peace-tool p{font-size:16px!important;line-height:1.65!important;}
.reset-card,.capacity-card,.capacity-hero,.ebook-page,.reduce-card,.noise-panel,.mobile-step-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:var(--shadow)!important;}
.reset-card-head,.capacity-card-head,.ebook-page-head{background:#fff!important;border-bottom:1px solid var(--line)!important;padding:20px 24px!important;}
.reset-body,.capacity-card-body,.ebook-page-body,.reduce-body,.deeper-body{padding:24px!important;}
.instead-box,.capacity-callout,.ebook-callout,.ebook-quote,.selected-thought{background:#fff!important;border:1px solid var(--line)!important;border-left:3px solid var(--primary)!important;border-radius:10px!important;padding:18px 20px!important;color:var(--ink)!important;}
.choice-response,.choice-response.good,.deeper-reset,.reduce-head,.table-head,.grocery-download-note,.capacity-dim-chip{background:#fff!important;}
.noise-tool textarea,.noise-tool input,.noise-tool select,.capacity-tool textarea,.capacity-tool input,.peace-tool textarea,.peace-tool input,.grocery-ebook textarea,.grocery-ebook input{border-radius:9px!important;border:1px solid var(--line)!important;padding:11px 13px!important;}

/* Mobile shell */
.mobile-menu-toggle{display:none!important;}
@media(min-width:861px){
  .mobile-menu-toggle,.mobile-nav{display:none!important;}
  .sidebar{display:block!important;}
  .main{margin-left:224px!important;}
  *{scrollbar-width:thin;scrollbar-color:#bcd4da transparent;}
  *::-webkit-scrollbar{width:11px;height:11px;}
  *::-webkit-scrollbar-track{background:transparent;}
  *::-webkit-scrollbar-thumb{background:#c3d8dd;border-radius:99px;border:3px solid var(--bg);background-clip:padding-box;}
  *::-webkit-scrollbar-thumb:hover{background:#a6c5cc;}
}
@media(max-width:860px){
  .sidebar{display:none!important;}
  .main{margin-left:0!important;}
  .app{padding-top:64px!important;}
  .container{padding:18px 14px 42px!important;}
  .topbar{height:64px!important;min-height:64px!important;padding:9px 12px!important;}
  .brand-block{max-width:58%!important;gap:9px!important;}
  .brand-block img{width:30px!important;height:30px!important;flex:0 0 30px!important;}
  .brand-name{font-size:15px!important;line-height:1.05!important;white-space:normal!important;letter-spacing:-.03em!important;}
  .secure-line,.top-actions .help-link,.top-actions .avatar{display:none!important;}
  .top-actions{margin-left:auto!important;gap:8px!important;display:flex!important;align-items:center!important;}
  .top-btn{font-size:13px!important;padding:8px 11px!important;border-radius:8px!important;min-height:40px!important;}
  .mobile-menu-toggle{display:inline-flex!important;width:40px!important;height:40px!important;padding:0!important;border:1px solid rgba(255,255,255,.30)!important;border-radius:8px!important;background:rgba(255,255,255,.08)!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:4px!important;box-shadow:none!important;appearance:none!important;}
  .mobile-menu-toggle span{display:block!important;width:19px!important;height:2px!important;border-radius:999px!important;background:#fff!important;opacity:1!important;transition:transform .18s var(--ease),opacity .18s var(--ease);}
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)!important;}
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0!important;}
  body.mobile-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)!important;}
  .mobile-nav{display:none!important;position:fixed!important;top:64px!important;left:0!important;right:0!important;z-index:999!important;background:#fff!important;border-bottom:1px solid var(--line)!important;box-shadow:0 18px 34px rgba(16,37,45,.16)!important;padding:12px!important;grid-template-columns:1fr 1fr!important;gap:9px!important;overflow:visible!important;}
  body.mobile-menu-open .mobile-nav,.mobile-nav.is-open{display:grid!important;}
  .mobile-nav a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;border:1px solid var(--line)!important;border-radius:8px!important;background:#fff!important;color:var(--ink)!important;padding:9px 10px!important;font-size:13.5px!important;font-weight:650!important;text-align:center!important;white-space:normal!important;box-shadow:none!important;}
  .mobile-nav a.active{background:var(--primary-soft)!important;border-color:#b7dbe2!important;color:#0e6473!important;box-shadow:inset 3px 0 0 var(--primary)!important;}
  .btn{min-height:42px;padding:10px 15px;}
  .btn.small{min-height:38px;}
  .page-title{display:block!important;padding:20px 18px!important;}
  .page-title h1{font-size:27px!important;}
  .panel-body{padding:18px!important;}
}
@media(max-width:640px){
  .dashboard-weekly-access .latest-call-button-row{display:grid!important;grid-template-columns:1fr!important;padding:14px!important;}
  .dashboard-weekly-access .btn{width:100%!important;}
}
@media(max-width:560px){
  .dl-interest{align-items:center!important;gap:8px!important;}
  .dl-interest form{display:inline-flex!important;width:auto!important;}
  .dl-interest .btn,.dl-vote{width:auto!important;max-width:none!important;flex:0 0 auto!important;}
  .product-card .body{padding:15px!important;}
}
@media(max-width:420px){
  .brand-block{max-width:52%!important;}
  .brand-name{font-size:14px!important;}
  .top-btn{font-size:12.5px!important;padding:7px 9px!important;}
  .mobile-menu-toggle{width:38px!important;height:38px!important;}
}


/* Design hotfix v2 — dashboard hero + tool progress spacing.
   Keep this near the end so it wins over the older portal.css cascade. */
.ar-kicker{display:none!important;}
.ar-hero{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  min-height:200px!important;
  margin-bottom:18px!important;
  padding:clamp(24px,3vw,36px)!important;
  overflow:hidden!important;
  text-decoration:none!important;
  background:#489BAD!important;
  border:1px solid rgba(72,155,173,.36)!important;
  border-radius:16px!important;
  box-shadow:var(--shadow)!important;
}
.ar-hero .ar-hero-deco{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  opacity:.5!important;
  background:radial-gradient(circle at 62% 120%,rgba(255,255,255,.10) 0 22%,transparent 22%),radial-gradient(circle at 80% -10%,rgba(255,255,255,.08) 0 18%,transparent 18%)!important;
}
.ar-hero .ar-hero-photo{
  position:absolute!important;
  top:0!important;
  right:0!important;
  height:100%!important;
  width:46%!important;
  z-index:1!important;
  background-size:cover!important;
  background-position:center!important;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 40%)!important;
  mask-image:linear-gradient(90deg,transparent,#000 40%)!important;
}
.ar-hero-copy{position:relative!important;z-index:2!important;max-width:56%!important;}
.ar-hero-copy h2{color:#fff!important;}
.ar-hero-copy p{color:rgba(255,255,255,.94)!important;}
.ar-hero-btn{background:#fff!important;color:#2f7e8f!important;}
.grocery-ebook .ebook-progress{
  box-sizing:border-box!important;
  width:100%!important;
  padding:0 8px!important;
  margin:0 0 14px!important;
}
.grocery-ebook .progress-track{min-width:140px!important;}
@media(max-width:860px){
  .ar-hero .ar-hero-photo{display:none!important;}
  .ar-hero-copy{max-width:100%!important;}
  .grocery-ebook .ebook-progress{padding:0 2px!important;}
}


/* ============================================================
   Tools UX pass v1
   Purpose: make the existing tools feel like one usable portal,
   not separate patched pages. Loaded last on purpose.
   ============================================================ */
.tools-ux-note{display:none!important;}
.portal-tool-page{max-width:1080px!important;margin:0 auto 54px!important;}
.portal-tool-page .page-title,.capacity-hero{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  box-shadow:var(--shadow)!important;
  padding:clamp(22px,3vw,34px)!important;
  margin:0 0 18px!important;
}
.portal-tool-page .page-title h1,.capacity-hero h1{
  font-size:clamp(27px,3vw,36px)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}
.portal-tool-page .page-title p,.capacity-hero p{max-width:74ch!important;}
.tool-back-link,.peace-page-link.tool-back-link{
  min-height:38px!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  box-shadow:none!important;
}

/* Tools hub */
.tk-feature{border-radius:18px!important;box-shadow:0 18px 42px rgba(16,37,45,.075)!important;}
.tk-feature-eyebrow{background:#fff!important;color:#0e6473!important;border-color:#b7dbe2!important;}
.tk-feature-body h1{max-width:15ch!important;}
.tk-feature-body p{max-width:44ch!important;}
.tk .product-card{min-height:152px!important;height:auto!important;}
.tk .product-card .body{justify-content:center!important;}
.tk .product-card .btn.primary{min-height:36px!important;}

/* Product/detail pages: remove client-facing “bundle” feel without renaming internal classes. */
.bundle-panel{border-radius:16px!important;}
.bundle-panel-head{padding:20px 22px!important;background:linear-gradient(180deg,#fff,#fbfefe)!important;}
.bundle-panel-head h2{font-family:var(--head)!important;font-size:22px!important;font-weight:700!important;letter-spacing:-.015em!important;}
.bundle-grid-v36{gap:16px!important;padding:20px!important;}
.bundle-tile{border-radius:14px!important;min-height:142px!important;}
.bundle-text{padding:18px!important;}
.bundle-text h3{font-size:17px!important;font-weight:700!important;}

/* Grocery guide: fix the progress row and make the workbook easier to use. */
.grocery-ebook .ebook-shell{gap:20px!important;align-items:start!important;}
.grocery-ebook .ebook-progress{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  box-sizing:border-box!important;
  width:100%!important;
  padding:11px 14px!important;
  margin:0 0 14px!important;
  color:var(--muted)!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  box-shadow:0 1px 2px rgba(16,37,45,.035)!important;
}
.grocery-ebook .ebook-progress>span{white-space:nowrap!important;font-weight:650!important;color:var(--ink)!important;}
.grocery-ebook .progress-track{width:100%!important;min-width:0!important;height:10px!important;background:#e3f0f3!important;border-radius:999px!important;overflow:hidden!important;}
.grocery-ebook .progress-fill{height:100%!important;background:var(--primary)!important;border-radius:999px!important;}
.grocery-ebook .ebook-page{border-radius:16px!important;}
.grocery-ebook .ebook-page-head{padding:24px 26px 20px!important;}
.grocery-ebook .ebook-page-body{gap:18px!important;}
.grocery-ebook .field-grid label,.grocery-ebook .master-grid label,.grocery-ebook .wide-label{line-height:1.35!important;}
.grocery-ebook textarea{min-height:112px!important;}
.grocery-ebook .choice-pill{min-height:42px!important;}
.grocery-ebook .ebook-nav{gap:12px!important;}
.grocery-ebook .ebook-nav .btn{border-radius:10px!important;}
.grocery-ebook .ebook-toc .panel-body{max-height:calc(100vh - 170px)!important;overflow:auto!important;}
.grocery-ebook .toc-link{border-radius:11px!important;}

/* Food Noise Reset */
.noise-tool .noise-layout{gap:18px!important;}
.noise-tool .noise-panel .panel-body{padding:20px 22px!important;gap:10px!important;}
.noise-tool .noise-select{min-height:50px!important;}
.noise-tool .reset-card{border-radius:16px!important;}
.noise-tool .reset-card-head{padding:21px 24px!important;}
.noise-tool .reset-body{padding:24px!important;gap:22px!important;}
.noise-tool #resetContent{gap:22px!important;}
.noise-tool .empty-prompt{padding:30px 24px!important;border-radius:14px!important;background:#fbfdfe!important;}
.noise-tool .selected-thought{border-left:4px solid var(--primary)!important;border-radius:12px!important;background:#fbfdfe!important;}
.noise-tool .instead-box{background:var(--primary-soft-2)!important;}
.noise-tool .help-check{padding-top:2px!important;}
.noise-tool .body-reset-grid{grid-template-columns:minmax(180px,220px) minmax(0,1fr)!important;}
.noise-tool .breath-widget,.noise-tool .somatic-result{border-radius:14px!important;}

/* Capacity Check */
.capacity-shell{gap:20px!important;}
.capacity-side{border-radius:16px!important;padding:16px!important;}
.capacity-progress-label{margin:0 0 10px!important;font-weight:650!important;}
.capacity-progress-track{margin:0 0 16px!important;height:10px!important;background:#e3f0f3!important;}
.capacity-card{border-radius:16px!important;}
.capacity-card-head{padding:24px 26px 20px!important;}
.capacity-card-body{padding:24px 26px!important;}
.capacity-ratings{gap:12px!important;}
.capacity-rating{border-radius:14px!important;padding:15px!important;}
.capacity-rating.selected{box-shadow:inset 4px 0 0 var(--primary)!important;}
.capacity-result-row,.reduce-card{border-radius:14px!important;}

/* PEACE practice */
.peace-tool .page-title{align-items:flex-start!important;}
.peace-note,.peace-error,.peace-panel,.peace-step-panel{border-radius:14px!important;}
.peace-note{background:#fff!important;border-left:3px solid var(--primary)!important;}
.peace-tool textarea,.peace-tool input[type="text"],.peace-tool select{min-height:44px!important;}
.peace-tool textarea{min-height:96px!important;}

@media(max-width:980px){
  .grocery-ebook .ebook-shell,.capacity-shell{display:block!important;}
  .grocery-ebook .ebook-toc,.capacity-side{display:none!important;}
}
@media(max-width:760px){
  .noise-tool .body-reset-grid{grid-template-columns:1fr!important;}
  .grocery-ebook .ebook-progress{grid-template-columns:1fr!important;gap:8px!important;}
  .grocery-ebook .ebook-progress>span{white-space:normal!important;}
}
@media(max-width:560px){
  .portal-tool-page{margin-bottom:38px!important;}
  .portal-tool-page .page-title,.capacity-hero{padding:20px 18px!important;border-radius:14px!important;}
  .tk-feature-body{padding:22px 18px!important;}
  .tk-feature-body h1{max-width:none!important;}
  .tk .product-card{min-height:132px!important;}
  .grocery-ebook .ebook-page-head,.grocery-ebook .ebook-page-body,.noise-tool .reset-card-head,.noise-tool .reset-body,.capacity-card-head,.capacity-card-body{padding:20px 18px!important;}
  .grocery-ebook .ebook-nav{position:sticky!important;bottom:0!important;background:rgba(245,248,249,.96)!important;padding:10px 0!important;margin-top:14px!important;border-top:1px solid var(--line-soft)!important;}
  .grocery-ebook .ebook-nav .btn{width:100%!important;}
  .noise-tool .help-check .btn{width:100%!important;}
}

/* ============================================================
   Tools UX hotfix v2
   Fixes the bad image-card layout from v1. Tools are now compact,
   mobile-first cards with the whole card as the tap target.
   ============================================================ */
.tk .card-grid.product-grid.tk-grid,
.tk-grid{display:none!important;}
.tk-tool-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;align-items:stretch!important;}
/* removed duplicate tk-tool-card flex def; canonical grid def retained below */
.tk-tool-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--primary);opacity:.9;}
.tk-tool-card:hover{transform:translateY(-2px)!important;border-color:#b7dbe2!important;box-shadow:0 2px 8px rgba(16,37,45,.07),0 16px 32px rgba(16,37,45,.08)!important;}
.tk-tool-card:active{transform:scale(.985)!important;}
.tk-tool-type{display:inline-flex!important;align-self:flex-start!important;font-size:11px!important;line-height:1!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase!important;color:#0e6473!important;background:var(--primary-soft-2)!important;border:1px solid #cde6ea!important;border-radius:999px!important;padding:7px 10px!important;margin-bottom:2px!important;}
.tk-tool-title{display:block!important;font-family:var(--head)!important;font-size:21px!important;line-height:1.22!important;font-weight:700!important;letter-spacing:-.015em!important;color:var(--ink)!important;}
.tk-tool-desc{display:block!important;font-size:14.5px!important;line-height:1.5!important;color:var(--muted)!important;max-width:58ch!important;}
.tk-tool-action{display:inline-flex!important;align-items:center!important;gap:7px!important;margin-top:auto!important;font-size:14px!important;line-height:1!important;font-weight:800!important;color:#0e6473!important;}
.tk-tool-card-static{cursor:default!important;}
.tk-interest{margin-top:auto!important;}
.tk-feature{margin-bottom:24px!important;}
.tk-section{margin-bottom:26px!important;}
.tk-section-head{margin-bottom:12px!important;}

/* Kill the previous giant stock-photo tool-card treatment if any old renderer leaks through. */
.tk .product-card{min-height:0!important;height:auto!important;display:block!important;}
.tk .product-card .image-slot{display:none!important;}
.tk .product-card .body{padding:20px!important;}

@media(max-width:760px){
  .tk-tool-grid{grid-template-columns:1fr!important;gap:11px!important;}
  /* removed conflicting tk-tool-card tweak */
  .tk-tool-title{font-size:18px!important;line-height:1.24!important;}
  .tk-tool-desc{font-size:14px!important;line-height:1.45!important;}
  .tk-section-head{align-items:flex-start!important;}
  .tk-feature{border-radius:16px!important;margin-bottom:20px!important;}
  .tk-feature-media{display:none!important;}
  .tk-feature-body{padding:24px 20px!important;}
  .tk-feature-body h1{max-width:none!important;font-size:27px!important;}
  .tk-feature-body p{max-width:none!important;}
  .tk-feature-cta{width:100%!important;justify-content:center!important;}
}

/* ============================================================
   Overall design repair v1
   Make the portal feel like one product again: smaller headers,
   usable cards, restored tool-card images, cleaner category pages,
   and a less chaotic inbox.
   ============================================================ */
body{background:#f4f8f9!important;color:var(--ink)!important;}
.container{max-width:1180px!important;padding:clamp(16px,2.2vw,28px)!important;}
.main{min-width:0!important;}

/* Page headers: stop the giant billboard treatment. */
.page-title{display:block!important;margin:0 0 18px!important;padding:18px 22px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 1px 2px rgba(16,37,45,.035),0 10px 24px rgba(16,37,45,.045)!important;}
.page-title h1{font-family:var(--head)!important;font-size:clamp(28px,2.2vw,36px)!important;line-height:1.12!important;letter-spacing:-.025em!important;margin:0 0 6px!important;color:var(--ink)!important;}
.page-title p{font-size:15px!important;line-height:1.5!important;color:var(--muted)!important;margin:0!important;max-width:64ch!important;}
.admin-title{margin-bottom:14px!important;}
.admin-title h1{font-size:clamp(28px,2.1vw,34px)!important;}
.category-title h1{font-size:clamp(29px,2.2vw,36px)!important;}

/* Dashboard: keep the hero strong, but make surrounding UI calmer. */
.home-grid{grid-template-columns:minmax(0,1fr) minmax(260px,300px)!important;gap:20px!important;align-items:start!important;}
.main-stack,.aside-stack{gap:18px!important;}
.panel{border-radius:16px!important;border-color:var(--line)!important;box-shadow:0 1px 2px rgba(16,37,45,.035),0 12px 26px rgba(16,37,45,.045)!important;overflow:hidden!important;}
.panel-head{padding:18px 20px!important;border-bottom:1px solid var(--line-soft)!important;}
.panel-head h2,.compact-head h2{font-family:var(--head)!important;font-size:22px!important;line-height:1.2!important;letter-spacing:-.018em!important;margin:0!important;}
.panel-head p,.compact-head p{font-size:14px!important;line-height:1.45!important;color:var(--muted)!important;margin:2px 0 0!important;}
.panel-body{padding:18px 20px!important;}
.ar-continue{border-radius:14px!important;min-height:68px!important;padding:12px 14px!important;}
.ar-continue .image-slot.small{width:44px!important;height:44px!important;flex-basis:44px!important;border-radius:12px!important;}
.ar-continue .fine{font-size:11px!important;letter-spacing:.11em!important;}
.ar-continue h3{font-size:18px!important;line-height:1.25!important;}

/* Product/resource cards: keep imagery, reduce the clunky catalog feel. */
.card-grid.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;}
.product-card{border-radius:16px!important;overflow:hidden!important;box-shadow:0 1px 2px rgba(16,37,45,.035),0 10px 24px rgba(16,37,45,.045)!important;}
/* moved to canonical block at end */
.product-card .image-slot img{width:100%!important;height:100%!important;object-fit:cover!important;}
.product-card .image-slot:not(.has-image),.image-slot.placeholder{height:150px!important;background:radial-gradient(circle at 50% 44%,rgba(72,155,173,.18) 0 8px,transparent 9px),radial-gradient(circle at 50% 44%,transparent 0 15px,rgba(72,155,173,.18) 15px 18px,transparent 19px),linear-gradient(135deg,#e8f4f6 0%,#f5fafb 100%)!important;}
.product-card .body{padding:18px 18px 20px!important;gap:9px!important;}
.product-card h3{font-family:var(--head)!important;font-size:19px!important;line-height:1.23!important;letter-spacing:-.014em!important;margin:0!important;}
.product-card p{font-size:14px!important;line-height:1.48!important;color:var(--muted)!important;margin:0!important;}
.product-card .btn.primary{align-self:flex-start!important;min-height:38px!important;padding:9px 16px!important;border-radius:10px!important;}
.dl-tag{font-size:11px!important;font-weight:800!important;letter-spacing:.01em!important;border-radius:999px!important;padding:4px 10px!important;}

/* Category pages are pages, not dashboard + sidebar clutter. */
.ar-catpage-full{max-width:1040px!important;margin:0 auto!important;}
.ar-catpage-full .panel-body{padding:22px!important;}
.ar-catpage-full .dl-subgroup + .dl-subgroup{margin-top:24px!important;padding-top:22px!important;border-top:1px solid var(--line-soft)!important;}
.dl-subgroup-title{font-family:var(--head)!important;font-size:22px!important;font-weight:700!important;letter-spacing:-.015em!important;margin:0 0 14px!important;color:var(--ink)!important;}

/* Tools hub: restore images without returning to giant, wasteful cards. */
.tk-section-title{font-size:22px!important;}
.tk-tool-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.tk-tool-card{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;gap:16px!important;align-items:stretch!important;min-height:138px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:16px!important;background:#fff!important;box-shadow:0 1px 2px rgba(16,37,45,.035),0 10px 24px rgba(16,37,45,.045)!important;overflow:hidden!important;text-decoration:none!important;color:var(--ink)!important;}
.tk-tool-card::before{display:none!important;}
.tk-tool-card:hover{transform:translateY(-2px)!important;border-color:#b8dbe2!important;box-shadow:0 3px 9px rgba(16,37,45,.06),0 16px 30px rgba(16,37,45,.075)!important;}
.tk-tool-thumb{display:block!important;position:relative!important;width:104px!important;min-height:138px!important;background:var(--primary-soft)!important;border-right:1px solid var(--line-soft)!important;overflow:hidden!important;}
.tk-tool-thumb img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.tk-tool-thumb.placeholder{background:radial-gradient(circle at 50% 42%,rgba(72,155,173,.18) 0 7px,transparent 8px),radial-gradient(circle at 50% 42%,transparent 0 14px,rgba(72,155,173,.18) 14px 17px,transparent 18px),linear-gradient(135deg,#e8f4f6,#f6fbfc)!important;}
.tk-tool-main{display:flex!important;flex-direction:column!important;gap:7px!important;padding:18px 18px 17px 0!important;min-width:0!important;}
.tk-tool-type{font-size:10.5px!important;padding:6px 9px!important;margin:0 0 1px!important;}
.tk-tool-title{font-size:19px!important;line-height:1.2!important;letter-spacing:-.012em!important;}
.tk-tool-desc{font-size:14px!important;line-height:1.43!important;color:var(--muted)!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
.tk-tool-action{font-size:14px!important;margin-top:auto!important;color:#0e6473!important;}
.tk-interest{margin-top:auto!important;}
.tk-feature{border-radius:18px!important;margin-bottom:22px!important;}
.tk-feature-body h1{font-size:clamp(28px,2.6vw,36px)!important;max-width:18ch!important;}
.tk-feature-body p{font-size:15px!important;line-height:1.55!important;}

/* Admin tabs + inbox: less clutter, more usable. */
.admin-tabs{gap:7px!important;margin:0 0 14px!important;align-items:center!important;}
.admin-tabs a{border-radius:999px!important;padding:8px 12px!important;font-size:13px!important;line-height:1!important;box-shadow:none!important;}
.admin-tabs a.active{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;}
.admin-dm-shell{margin-top:0!important;}
.admin-dm-list,.admin-dm-chat{border-radius:16px!important;}
.admin-dm-compose .btn.primary{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;}

@media(max-width:1080px){
  .home-grid{grid-template-columns:1fr!important;}
  .aside-stack{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  .container{padding:14px!important;}
  .page-title{padding:16px 18px!important;margin-bottom:14px!important;border-radius:14px!important;}
  .page-title h1{font-size:28px!important;}
  .page-title p{font-size:14px!important;}
  .card-grid.product-grid,.tk-tool-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .ar-catpage-full .panel-body{padding:16px!important;}
  .aside-stack{display:block!important;}
}
@media(max-width:560px){
  .panel-head,.panel-body{padding:16px!important;}
  .product-card{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;min-height:132px!important;}
  /* moved to canonical block at end */
  .product-card .body{padding:15px!important;}
  .product-card h3{font-size:17px!important;}
  .product-card p{font-size:13.5px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  .product-card .btn.primary{min-height:36px!important;padding:8px 13px!important;}
  .tk-tool-card{grid-template-columns:88px minmax(0,1fr)!important;min-height:124px!important;border-radius:14px!important;}
  .tk-tool-thumb{width:88px!important;min-height:124px!important;}
  .tk-tool-main{padding:15px 15px 14px 0!important;gap:6px!important;}
  .tk-tool-title{font-size:17px!important;}
  .tk-tool-desc{font-size:13.5px!important;-webkit-line-clamp:2!important;}
  .tk-tool-type{font-size:10px!important;padding:5px 8px!important;}
  .tk-feature-media{display:block!important;min-height:150px!important;}
  .tk-feature-body{padding:19px 18px!important;}
  .tk-feature-body h1{font-size:25px!important;max-width:none!important;}
  .tk-feature-cta{width:100%!important;justify-content:center!important;}
  .admin-tabs{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:6px!important;margin-bottom:10px!important;scrollbar-width:thin!important;}
  .admin-tabs a{flex:0 0 auto!important;}
}

/* ============================================================
   Mobile hub replacement v5 — clean home + section hubs.
   Scope: main content only. Header/sidebar/nav are not changed.
   ============================================================ */
:root{
  --hub-shadow:0 14px 34px rgba(16,37,45,.15),0 5px 14px rgba(16,37,45,.10);
  --hub-shadow-soft:0 10px 26px rgba(16,37,45,.12),0 3px 10px rgba(16,37,45,.08);
  --hub-radius:10px;
  --hub-radius-sm:10px;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.main h1,
.page-title h1,
.admin-title h1,
.portal-tool-page .page-title h1,
.capacity-hero h1,
.noise-page-title h1,
.peace-tool .page-title h1,
.grocery-ebook h1,
.hub-welcome h1{
  font-family:var(--body)!important;
  font-size:clamp(20px,1.25vw,24px)!important;
  line-height:1.14!important;
  font-weight:650!important;
  letter-spacing:-.014em!important;
}

.main h2,
.hub-section-head h2,
.dl-subgroup-title,
.panel h2,
.panel-head h2,
.tk-section-title{
  font-family:var(--body)!important;
  font-size:clamp(19px,1.25vw,23px)!important;
  font-weight:700!important;
  line-height:1.18!important;
  letter-spacing:-.012em!important;
}

.page-title,
.admin-title{
  padding:18px 22px!important;
  margin-bottom:22px!important;
  border-radius:10px!important;
  box-shadow:var(--hub-shadow-soft)!important;
}
.page-title p,
.admin-title p{font-size:14px!important;line-height:1.5!important;}

/* Dashboard home */
.hub-home-simple{
  max-width:1120px!important;
  margin:0 auto!important;
  display:grid!important;
  gap:26px!important;
}

.hub-home-simple .hub-welcome{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  margin:0!important;
}

.hub-home-simple .hub-welcome h1{margin:0!important;}
.hub-home-simple .hub-welcome p{display:none!important;}

.hub-explore-section{
  display:grid!important;
  gap:22px!important;
  padding-top:2px!important;
}

.hub-search-wrap{width:100%;}
.hub-search{
  display:block!important;
  width:100%!important;
  min-height:54px!important;
  padding:14px 18px!important;
  border:1px solid rgba(72,155,173,.30)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ink)!important;
  font-family:var(--body)!important;
  font-size:16px!important;
  line-height:1.2!important;
  box-shadow:var(--hub-shadow-soft)!important;
  outline:none!important;
}
.hub-search:focus{
  border-color:#489BAD!important;
  box-shadow:0 0 0 4px rgba(72,155,173,.16),var(--hub-shadow-soft)!important;
}
.hub-search::placeholder{color:#6f858d!important;}

.hub-section-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
}
.hub-section-head h2{margin:0!important;}
.hub-section-head span{font-size:13px!important;color:var(--muted)!important;font-weight:650!important;}

.hub-image-card-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}

.hub-image-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(72,155,173,.30)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  box-shadow:var(--hub-shadow)!important;
  transition:transform .16s ease,box-shadow .18s ease,border-color .18s ease!important;
}

.hub-image-card:hover{
  transform:translateY(-3px)!important;
  border-color:#88c0ca!important;
  box-shadow:0 18px 42px rgba(16,37,45,.18),0 6px 16px rgba(16,37,45,.12)!important;
}
.hub-image-card:active{transform:scale(.985)!important;}

.hub-image-card .hub-nav-media{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background:var(--primary-soft)!important;
  border-radius:0!important;
}
.hub-image-card .hub-nav-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

.hub-image-card .hub-nav-content{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  min-height:210px!important;
  padding:30px 32px 34px!important;
  gap:15px!important;
}
.hub-image-card .hub-nav-title{
  display:block!important;
  font-family:var(--body)!important;
  font-size:17px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:-.01em!important;
  color:var(--ink)!important;
}
.hub-image-card .hub-nav-desc{
  display:block!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  color:var(--muted)!important;
  max-width:38ch!important;
  margin:0!important;
}
.hub-image-card .hub-nav-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:max-content!important;
  min-height:46px!important;
  margin-top:auto!important;
  padding:13px 19px!important;
  border-radius:10px!important;
  background:var(--primary)!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:850!important;
  box-shadow:0 11px 22px rgba(72,155,173,.32)!important;
}
.hub-image-card .hub-nav-button:hover{background:var(--primary-dark)!important;}
.hub-image-card .hub-nav-icon,
.hub-image-card .hub-nav-arrow{display:none!important;}
.hub-empty-search{
  border:1px dashed rgba(72,155,173,.35)!important;
  border-radius:10px!important;
  padding:22px!important;
  background:#fff!important;
  color:var(--muted)!important;
  box-shadow:var(--hub-shadow-soft)!important;
}

/* Tools + section hub pages should feel like their own areas, not dumped cards. */
.toolhub-page,
.tk,
.ar-catpage-full{
  max-width:1120px!important;
  margin:0 auto!important;
}
.toolhub-page,
.tk{display:grid!important;gap:26px!important;}
.category-welcome,
.tk-feature{
  border-radius:10px!important;
  box-shadow:var(--hub-shadow-soft)!important;
}
.category-welcome{
  background:#fff!important;
  border:1px solid var(--line)!important;
  padding:22px 24px!important;
}
.category-welcome .hub-eyebrow{display:none!important;}
.category-welcome p{font-size:15px!important;line-height:1.55!important;max-width:70ch!important;color:var(--muted)!important;}

/* Tools page cards */
.toolhub-grid,
.tk-tool-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
}
.toolhub-card,
.tk-tool-card{
  display:grid!important;
  grid-template-columns:42% minmax(0,1fr)!important;
  min-height:250px!important;
  overflow:hidden!important;
  border:1px solid rgba(72,155,173,.30)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  box-shadow:var(--hub-shadow)!important;
}
.toolhub-thumb,
.tk-tool-thumb{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-height:250px!important;
  background:#e9f4f6!important;
  overflow:hidden!important;
  border-right:1px solid var(--line-soft)!important;
}
.toolhub-thumb img,
.tk-tool-thumb img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.toolhub-copy,
.tk-tool-main{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:13px!important;
  padding:28px 30px!important;
}
.toolhub-kind,
.tk-tool-type{
  display:inline-flex!important;
  align-items:center!important;
  min-height:24px!important;
  padding:5px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(72,155,173,.26)!important;
  background:#f4fbfc!important;
  color:#0e6473!important;
  font-size:10.5px!important;
  line-height:1!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.toolhub-title,
.tk-tool-title{
  font-family:var(--body)!important;
  font-size:21px!important;
  font-weight:800!important;
  line-height:1.16!important;
  color:var(--ink)!important;
}
.toolhub-desc,
.tk-tool-desc{
  color:var(--muted)!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.toolhub-button,
.tk-tool-action{
  margin-top:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:12px 18px!important;
  border-radius:10px!important;
  background:var(--primary)!important;
  color:#fff!important;
  font-weight:850!important;
  font-size:14.5px!important;
  line-height:1!important;
  box-shadow:0 10px 20px rgba(72,155,173,.30)!important;
}

/* Programs/resources card consistency */
.card-grid.product-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}
.hub-product-card.product-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  height:auto!important;
  overflow:hidden!important;
  border-radius:10px!important;
  box-shadow:var(--hub-shadow)!important;
}
.hub-product-card .image-slot{
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  min-height:0!important;
  border-bottom:1px solid var(--line-soft)!important;
}
.hub-product-card .body{
  display:flex!important;
  flex-direction:column!important;
  flex:1!important;
  gap:15px!important;
  padding:28px 30px 30px!important;
}
.hub-product-copy{display:grid!important;gap:12px!important;}
.hub-product-card h3{
  font-family:var(--body)!important;
  font-size:21px!important;
  font-weight:800!important;
  line-height:1.16!important;
  margin:0!important;
}
.hub-product-card p{
  font-size:15px!important;
  line-height:1.52!important;
  margin:0!important;
  color:var(--muted)!important;
}
.hub-product-actions{margin-top:auto!important;display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.hub-product-actions .btn.primary,
.hub-product-actions .btn,
.dl-vote{
  min-height:44px!important;
  border-radius:10px!important;
  padding:12px 18px!important;
  font-size:14.5px!important;
  font-weight:850!important;
}
.dl-tag{font-size:10.5px!important;padding:6px 10px!important;border-radius:999px!important;}
.dl-subgroup{display:grid!important;gap:16px!important;}
.dl-subgroup + .dl-subgroup{margin-top:28px!important;}

/* Inbox containment from previous cleanup, without changing nav/header. */
.admin-dm-shell{max-height:none!important;height:calc(100vh - 190px)!important;min-height:500px!important;}
.admin-dm-compose textarea{min-height:78px!important;}

/* Black legal footer */
.portal-legal-footer{
  margin:34px 0 0!important;
  padding:12px 16px!important;
  background:#05090b!important;
  color:rgba(255,255,255,.64)!important;
  border-radius:0!important;
}
.portal-legal-footer p{
  max-width:1100px!important;
  margin:0 auto!important;
  font-size:9px!important;
  line-height:1.35!important;
  letter-spacing:.01em!important;
}

@media(max-width:900px){
  .hub-image-card-grid,
  .toolhub-grid,
  .tk-tool-grid,
  .card-grid.product-grid{grid-template-columns:1fr!important;gap:18px!important;}
  .hub-image-card .hub-nav-content{min-height:0!important;padding:26px!important;}
  .toolhub-card,
  .tk-tool-card{grid-template-columns:38% minmax(0,1fr)!important;min-height:220px!important;}
  .toolhub-thumb,
  .tk-tool-thumb{min-height:220px!important;}
}

@media(max-width:560px){
  .hub-home-simple{gap:22px!important;}
  .hub-search{min-height:50px!important;font-size:15px!important;padding:13px 15px!important;}
  .hub-explore-section{gap:18px!important;}
  .hub-image-card-grid{gap:18px!important;}
  .hub-image-card .hub-nav-content{padding:22px 22px 24px!important;gap:13px!important;}
  .hub-image-card .hub-nav-title{font-size:15px!important;}
  .hub-image-card .hub-nav-desc{font-size:14.5px!important;line-height:1.5!important;}
  .hub-image-card .hub-nav-button{min-height:44px!important;font-size:14.25px!important;}
  .toolhub-card,
  .tk-tool-card{grid-template-columns:1fr!important;min-height:0!important;}
  .toolhub-thumb,
  .tk-tool-thumb{min-height:0!important;aspect-ratio:4/3!important;border-right:0!important;border-bottom:1px solid var(--line-soft)!important;}
  .toolhub-copy,
  .tk-tool-main{padding:22px!important;}
  .toolhub-title,
  .tk-tool-title,.hub-product-card h3{font-size:20px!important;}
  .hub-product-card .body{padding:22px!important;}
  .page-title,.admin-title,.category-welcome{padding:18px!important;}
  .portal-legal-footer{margin-top:28px!important;padding:10px 12px!important;}
  .portal-legal-footer p{font-size:8.5px!important;}
}

/* v6: make section hubs match the dashboard card system. No nav/header/sidebar changes. */
.hub-home-simple,
.section-hub-page{
  max-width:1120px!important;
  margin:0 auto!important;
  display:grid!important;
  gap:30px!important;
}

.hub-home-simple .hub-welcome,
.section-hub-page .category-welcome{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
}

.hub-home-simple .hub-welcome h1,
.section-hub-page .category-welcome h1,
.page-title h1,
.admin-title h1{
  font-family:var(--body)!important;
  font-size:clamp(21px,1.8vw,26px)!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
  margin:0!important;
}

.section-hub-page .category-welcome p,
.page-title p,
.admin-title p{
  margin:8px 0 0!important;
  max-width:60ch!important;
  font-size:15px!important;
  line-height:1.55!important;
  color:var(--muted)!important;
}

.hub-explore-section,
.section-hub-page .hub-explore-section{
  display:grid!important;
  gap:24px!important;
}

.hub-search{
  width:100%!important;
  min-height:56px!important;
  padding:15px 18px!important;
  border-radius:10px!important;
  background:#fff!important;
  border:1px solid rgba(72,155,173,.32)!important;
  box-shadow:0 12px 30px rgba(16,37,45,.10),0 4px 12px rgba(16,37,45,.06)!important;
  font-family:var(--body)!important;
  font-size:16px!important;
}

.hub-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:0!important;
  margin:0!important;
}
.hub-section-head h2{
  font-family:var(--body)!important;
  font-size:clamp(21px,1.8vw,28px)!important;
  line-height:1.12!important;
  font-weight:800!important;
  letter-spacing:-.025em!important;
  margin:0!important;
}
.hub-section-head span{font-size:13px!important;color:var(--muted)!important;font-weight:700!important;}

.hub-image-card-grid,
.toolhub-grid,
.card-grid.product-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  align-items:stretch!important;
}

.hub-nav-card.hub-image-card,
.toolhub-card,
.hub-product-card.product-card,
.hub-product-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  border:1px solid rgba(72,155,173,.30)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ink)!important;
  text-decoration:none!important;
  box-shadow:0 18px 42px rgba(16,37,45,.16),0 6px 16px rgba(16,37,45,.10)!important;
  transition:transform .16s ease,box-shadow .18s ease,border-color .18s ease!important;
}

.hub-nav-card.hub-image-card:hover,
.toolhub-card:hover,
.hub-product-card:hover{
  transform:translateY(-2px)!important;
  border-color:#87bdc8!important;
  box-shadow:0 22px 48px rgba(16,37,45,.20),0 8px 18px rgba(16,37,45,.12)!important;
}

.hub-nav-media,
.toolhub-thumb,
.hub-product-card .image-slot{
  display:block!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#e9f4f6!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid var(--line-soft)!important;
}
.hub-nav-media img,
.toolhub-thumb img,
.hub-product-card .image-slot img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

.hub-nav-content,
.toolhub-copy,
.hub-product-card .body{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  flex:1!important;
  min-height:0!important;
  padding:30px 32px 34px!important;
  gap:15px!important;
}

.hub-nav-title,
.toolhub-title,
.hub-product-card h3{
  display:block!important;
  font-family:var(--body)!important;
  font-size:22px!important;
  line-height:1.14!important;
  font-weight:800!important;
  letter-spacing:-.018em!important;
  color:var(--ink)!important;
  margin:0!important;
}
.hub-nav-desc,
.toolhub-desc,
.hub-product-card p{
  display:block!important;
  font-family:var(--body)!important;
  font-size:15.5px!important;
  line-height:1.55!important;
  color:var(--muted)!important;
  margin:0!important;
}

.hub-nav-button,
.toolhub-button,
.hub-product-actions .btn.primary,
.hub-product-actions .btn,
.dl-interest .btn.primary,
.dl-interest .btn,
.dl-vote{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:auto!important;
  min-height:46px!important;
  margin-top:auto!important;
  padding:13px 19px!important;
  border-radius:10px!important;
  border:1px solid rgba(72,155,173,.35)!important;
  font-family:var(--body)!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:850!important;
  text-decoration:none!important;
  box-shadow:0 11px 22px rgba(72,155,173,.32)!important;
}
.hub-nav-button,
.toolhub-button,
.hub-product-actions .btn.primary,
.dl-interest .btn.primary{
  background:var(--primary)!important;
  color:#fff!important;
}
.hub-product-actions .btn:not(.primary),
.dl-interest .btn:not(.primary),
.dl-vote{
  background:#fff!important;
  color:var(--ink)!important;
  box-shadow:none!important;
}
.hub-product-actions,
.dl-interest{
  margin-top:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.hub-product-actions form,
.dl-interest form{margin:0!important;display:inline-flex!important;}

.dl-tag{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  max-width:max-content!important;
  min-height:26px!important;
  padding:6px 11px!important;
  border-radius:999px!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1!important;
  letter-spacing:.03em!important;
}
.dl-soon{background:#fff7f1!important;color:#b75717!important;border:1px solid #f1cfb7!important;}
.dl-beta{background:var(--primary-soft)!important;color:#0e6473!important;border:1px solid #b7dbe2!important;}
.dl-subgroup{display:grid!important;gap:18px!important;margin:0!important;}
.dl-subgroup + .dl-subgroup{margin-top:34px!important;}

.compact-feature,.hub-feature-card{display:none!important;}
.aside-stack{display:none!important;}
.home-grid{display:block!important;}
.main-stack{display:block!important;max-width:none!important;}
.panel.ar-catpage,.panel-body{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}

@media(max-width:980px){
  .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

@media(max-width:640px){
  .hub-home-simple,.section-hub-page{gap:24px!important;}
  .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid{grid-template-columns:1fr!important;gap:20px!important;}
  .hub-nav-content,
  .toolhub-copy,
  .hub-product-card .body{padding:26px 26px 30px!important;gap:14px!important;}
  .hub-nav-title,
  .toolhub-title,
  .hub-product-card h3{font-size:21px!important;}
  .hub-nav-desc,
  .toolhub-desc,
  .hub-product-card p{font-size:15px!important;}
  .hub-search{min-height:52px!important;}
}

/* v7: user-requested design correction. No nav/header/sidebar changes. */
:root{--ah-radius:10px;}
.main h1,.page-title h1,.admin-title h1,.category-welcome h1,.portal-tool-page .page-title h1,.capacity-hero h1,.noise-page-title h1,.peace-tool .page-title h1,.grocery-ebook h1,.tool-hero h1,.hub-welcome h1{
  font-family:var(--body)!important;font-size:clamp(18px,1.45vw,24px)!important;line-height:1.15!important;font-weight:720!important;letter-spacing:-.012em!important;margin:0!important;color:var(--ink)!important;
}
.main h2,.hub-section-head h2,.dl-subgroup-title,.panel h2,.panel-head h2,.tk-section-title{
  font-family:var(--body)!important;font-size:clamp(18px,1.35vw,22px)!important;line-height:1.2!important;font-weight:720!important;letter-spacing:-.01em!important;margin:0!important;color:var(--ink)!important;
}
.page-title,.admin-title,.category-welcome,.portal-tool-page .page-title,.capacity-hero,.tool-hero,.noise-page-title,.peace-tool .page-title{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important;margin:0 0 24px!important;
}
.page-title p,.admin-title p,.category-welcome p,.portal-tool-page .page-title p,.capacity-hero p,.tool-hero p{
  font-size:15px!important;line-height:1.55!important;max-width:72ch!important;margin:8px 0 0!important;color:var(--muted)!important;
}
.portal-tool-page,.tool-page,.tool-shell,.peace-tool,.capacity-tool,.ebook-shell,.fnr-shell{max-width:1120px!important;margin-inline:auto!important;}
.tool-back-link,.peace-page-link.tool-back-link,.btn,.button,.hub-nav-button,.toolhub-button,.dl-vote,.dl-tag,.badge,.pill,.muted-action,input,select,textarea,.panel,.card,.hub-nav-card,.hub-image-card,.hub-product-card,.capacity-card,.noise-card,.peace-card,.ebook-card,.tool-card{border-radius:10px!important;}
.dl-tag{padding:5px 8px!important;min-height:22px!important;font-size:10px!important;letter-spacing:.015em!important;text-transform:none!important;box-shadow:none!important;}
.hub-search-wrap{width:min(100%,520px)!important;max-width:520px!important;position:relative!important;}
.hub-search-wrap:before{content:"";position:absolute;left:15px;top:50%;width:17px;height:17px;transform:translateY(-50%);opacity:.72;background:no-repeat center/17px 17px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23489BAD' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-4.35-4.35M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z'/%3E%3C/svg%3E");pointer-events:none;}
.hub-search{width:100%!important;min-height:48px!important;padding:12px 15px 12px 44px!important;border-radius:10px!important;font-size:15px!important;box-shadow:0 12px 28px rgba(16,37,45,.12)!important;}
.hub-explore-section,.section-hub-page .hub-explore-section{gap:28px!important;}
.hub-section-head{align-items:center!important;margin:0!important;padding:0!important;}
.hub-image-card-grid,.toolhub-grid,.card-grid.product-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important;gap:28px!important;align-items:stretch!important;}
.hub-nav-card.hub-image-card,.toolhub-card,.hub-product-card.product-card,.hub-product-card{border-radius:10px!important;overflow:hidden!important;box-shadow:0 20px 44px rgba(16,37,45,.18),0 7px 18px rgba(16,37,45,.11)!important;}
.hub-nav-media,.toolhub-thumb,.hub-product-card .image-slot{aspect-ratio:4/3!important;border-radius:0!important;}
.hub-nav-content,.toolhub-copy,.hub-product-card .body{padding:34px 34px 38px!important;gap:16px!important;}
.hub-title-row{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;width:100%!important;}
.hub-title-row .hub-nav-title{display:inline!important;}
.hub-nav-title,.toolhub-title,.hub-product-card h3{font-size:20px!important;line-height:1.18!important;font-weight:760!important;letter-spacing:-.012em!important;}
.hub-nav-desc,.toolhub-desc,.hub-product-card p{font-size:15.5px!important;line-height:1.58!important;}
.hub-nav-button,.toolhub-button,.hub-product-actions .btn.primary,.hub-product-actions .btn,.dl-interest .btn.primary,.dl-interest .btn,.dl-vote{min-height:46px!important;padding:13px 18px!important;border-radius:10px!important;margin-top:auto!important;}
.hub-product-actions{gap:10px!important;margin-top:auto!important;align-items:center!important;}
.hub-empty-search{padding:18px 20px!important;border:1px dashed rgba(72,155,173,.35)!important;border-radius:10px!important;background:#fff!important;color:var(--muted)!important;}
@media(max-width:640px){.hub-search-wrap{width:100%!important;max-width:none!important}.hub-image-card-grid,.toolhub-grid,.card-grid.product-grid{grid-template-columns:1fr!important;gap:14px!important}
/* image-left / copy-right rows on mobile (Stan-store style) */
.hub-image-card-grid .hub-nav-card.hub-image-card,.toolhub-grid .toolhub-card,.card-grid.product-grid .hub-product-card{display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;align-items:stretch!important;overflow:hidden!important;}
/* collapsed: inner-card height now single-sourced */
.hub-image-card .hub-nav-media img{width:100%!important;height:100%!important;object-fit:cover!important;}
.hub-nav-content,.toolhub-copy,.hub-product-card .body{padding:14px 15px!important;gap:8px!important;min-width:0!important;}
.hub-nav-title,.toolhub-title,.hub-product-card h3{font-size:16px!important;line-height:1.2!important}
.hub-nav-desc,.toolhub-desc,.hub-product-card p{font-size:13.5px!important;line-height:1.45!important}
.hub-nav-button,.toolhub-button,.hub-product-actions .btn.primary,.hub-product-actions .btn,.dl-vote{min-height:40px!important;padding:9px 13px!important;font-size:13.5px!important}
.hub-product-actions{gap:7px!important}
.dl-fav-form{top:6px!important;right:6px!important}.dl-fav{width:30px!important;height:30px!important}
.page-title,.admin-title,.category-welcome,.portal-tool-page .page-title,.capacity-hero,.tool-hero{margin-bottom:20px!important}}

/* v8: hard common portal style guide. CSS-only. Does not touch nav/header/sidebar. */

/* Core visual rules */
.main,
.portal-main,
.admin-main {
  --portal-radius: 10px;
  --portal-card-shadow: 0 18px 42px rgba(16, 37, 45, .18), 0 6px 16px rgba(16, 37, 45, .10);
  --portal-card-shadow-soft: 0 12px 28px rgba(16, 37, 45, .14), 0 4px 12px rgba(16, 37, 45, .08);
  --portal-card-border: 1px solid rgba(72,155,173,.30);
  --portal-card-pad: 32px;
  --portal-card-gap: 24px;
}

/* Stop every page from having its own giant heading style */
.main h1,
.portal-main h1,
.admin-main h1,
.page-title h1,
.admin-title h1,
.category-welcome h1,
.hub-welcome h1,
.portal-tool-page .page-title h1,
.capacity-hero h1,
.noise-page-title h1,
.peace-tool .page-title h1,
.grocery-ebook h1,
.tool-hero h1 {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: clamp(22px, 2.1vw, 32px) !important;
  line-height: 1.12 !important;
  font-weight: 760 !important;
  letter-spacing: -0.025em !important;
  margin: 0 !important;
  color: var(--ink, #071f29) !important;
}

.main h2,
.portal-main h2,
.admin-main h2,
.hub-section-head h2,
.dl-subgroup-title,
.panel h2,
.panel-head h2,
.tk-section-title {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: clamp(19px, 1.65vw, 25px) !important;
  line-height: 1.16 !important;
  font-weight: 740 !important;
  letter-spacing: -0.018em !important;
  margin: 0 !important;
  color: var(--ink, #071f29) !important;
}

.main h3,
.portal-main h3,
.admin-main h3,
.hub-nav-title,
.toolhub-title,
.hub-product-card h3 {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: 20px !important;
  line-height: 1.18 !important;
  font-weight: 740 !important;
  letter-spacing: -0.012em !important;
  color: var(--ink, #071f29) !important;
}

/* Kill the huge mismatched white tool/page header boxes */
.page-title,
.admin-title,
.category-welcome,
.hub-welcome,
.portal-tool-page .page-title,
.capacity-hero,
.tool-hero,
.noise-page-title,
.peace-tool .page-title,
.grocery-ebook .page-title {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
}

.page-title p,
.admin-title p,
.category-welcome p,
.hub-welcome p,
.portal-tool-page .page-title p,
.capacity-hero p,
.tool-hero p,
.noise-page-title p,
.peace-tool .page-title p,
.grocery-ebook .page-title p {
  font-size: 16px !important;
  line-height: 1.55 !important;
  max-width: 74ch !important;
  margin: 8px 0 0 !important;
  color: var(--muted, #526b75) !important;
}

/* Universal radius: no pill-shaped blocks/cards */
.main .card,
.main .panel,
.main .page-title,
.main .admin-title,
.main .category-welcome,
.main .hub-nav-card,
.main .hub-image-card,
.main .hub-product-card,
.main .toolhub-card,
.main .hub-search,
.main .hub-nav-button,
.main .toolhub-button,
.main .btn,
.main .button,
.main .dl-vote,
.main .dl-tag,
.main .badge,
.main .pill,
.main input,
.main select,
.main textarea,
.main .capacity-card,
.main .noise-card,
.main .peace-card,
.main .ebook-card,
.main .tool-card,
.portal-tool-page .card,
.portal-tool-page .panel,
.portal-tool-page .btn,
.portal-tool-page input,
.portal-tool-page select,
.portal-tool-page textarea {
  border-radius: var(--portal-radius) !important;
}

/* Search bar: normal size, real icon, not absurdly wide */
.hub-search-wrap {
  width: min(100%, 540px) !important;
  max-width: 540px !important;
  position: relative !important;
  margin: 0 0 4px !important;
}

.hub-search-wrap::before {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  width: 17px !important;
  height: 17px !important;
  transform: translateY(-50%) !important;
  opacity: .78 !important;
  pointer-events: none !important;
  background: no-repeat center/17px 17px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23489BAD' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-4.35-4.35M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z'/%3E%3C/svg%3E") !important;
}

.hub-search {
  width: 100% !important;
  min-height: 50px !important;
  padding: 13px 16px 13px 46px !important;
  border: 1px solid rgba(72,155,173,.34) !important;
  background: #fff !important;
  color: var(--ink, #071f29) !important;
  font-size: 15.5px !important;
  line-height: 1.3 !important;
  box-shadow: var(--portal-card-shadow-soft) !important;
}

.hub-search:focus {
  outline: none !important;
  border-color: #489BAD !important;
  box-shadow: 0 0 0 4px rgba(72,155,173,.16), var(--portal-card-shadow-soft) !important;
}

/* Section rhythm */
.hub-home,
.hub-home-simple,
.section-hub-page,
.hub-explore-section {
  display: grid !important;
  gap: 30px !important;
}

.hub-section,
.dl-subgroup {
  display: grid !important;
  gap: 22px !important;
}

.dl-subgroup + .dl-subgroup {
  margin-top: 42px !important;
}

.hub-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.hub-section-head span {
  color: var(--muted, #526b75) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* Common card grid. Desktop: consistent cards, not giant single-item full-width monsters. */
.hub-image-card-grid,
.toolhub-grid,
.card-grid.product-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 360px)) !important;
  justify-content: start !important;
  gap: 28px !important;
  align-items: stretch !important;
}

/* Home is allowed to use the whole row because it is the actual portal hub. */
.hub-home:not(.section-hub-page) .hub-image-card-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Common card body */
.hub-nav-card.hub-image-card,
.toolhub-card,
.hub-product-card.product-card,
.hub-product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: var(--portal-card-border) !important;
  border-radius: var(--portal-radius) !important;
  background: #fff !important;
  color: var(--ink, #071f29) !important;
  text-decoration: none !important;
  box-shadow: var(--portal-card-shadow) !important;
  transition: transform .16s ease, box-shadow .18s ease, border-color .18s ease !important;
}

.hub-nav-card.hub-image-card:hover,
.toolhub-card:hover,
.hub-product-card:hover {
  transform: translateY(-2px) !important;
  border-color: #86bdc8 !important;
  box-shadow: 0 22px 52px rgba(16,37,45,.20), 0 8px 18px rgba(16,37,45,.12) !important;
}

/* Images: same behavior everywhere. Empty image placeholders disappear. */
.hub-nav-media,
.toolhub-thumb,
.hub-product-card .image-slot {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  background: #e9f4f6 !important;
  border-radius: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(72,155,173,.18) !important;
}

.hub-nav-media:empty,
.toolhub-thumb:empty,
.hub-product-card .image-slot:empty {
  display: none !important;
}

.hub-nav-media img,
.toolhub-thumb img,
.hub-product-card .image-slot img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Text + button padding: consistent and not jammed together */
.hub-nav-content,
.toolhub-copy,
.hub-product-card .body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 17px !important;
  padding: 34px 34px 38px !important;
  min-height: 0 !important;
}

.hub-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.hub-title-row .hub-nav-title {
  display: inline !important;
}

.hub-nav-title,
.toolhub-title,
.hub-product-card h3 {
  display: block !important;
  margin: 0 !important;
}

.hub-nav-desc,
.toolhub-desc,
.hub-product-card p {
  display: block !important;
  color: var(--muted, #526b75) !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* Buttons: actual buttons, consistent, not missing text links */
.hub-nav-button,
.toolhub-button,
.hub-product-actions .btn,
.hub-product-actions .btn.primary,
.dl-interest .btn,
.dl-interest .btn.primary,
.dl-vote,
.muted-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 46px !important;
  padding: 13px 18px !important;
  border-radius: var(--portal-radius) !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  margin-top: auto !important;
}

.hub-nav-button,
.toolhub-button,
.hub-product-actions .btn.primary {
  background: #489BAD !important;
  color: #fff !important;
  border: 1px solid #489BAD !important;
  box-shadow: 0 14px 28px rgba(72,155,173,.24) !important;
}

.hub-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  margin-top: auto !important;
}

.dl-vote,
.hub-product-actions .btn:not(.primary),
.dl-interest .btn:not(.primary) {
  background: #fff !important;
  color: var(--ink, #071f29) !important;
  border: 1px solid rgba(72,155,173,.34) !important;
}

.dl-tag,
.badge,
.pill {
  min-height: 22px !important;
  padding: 5px 8px !important;
  border-radius: var(--portal-radius) !important;
  font-size: 10.5px !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
  box-shadow: none !important;
}

/* Remove leftover clutter panels from category pages */
.compact-feature,
.hub-feature-card,
.aside-stack {
  display: none !important;
}

.home-grid,
.main-stack {
  display: block !important;
  max-width: none !important;
}

.panel.ar-catpage,
.panel-body {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Legal footer shape */
.portal-legal-footer {
  background: #050f14 !important;
  color: rgba(255,255,255,.68) !important;
  padding: 24px 20px !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
}

/* Tablet */
@media (max-width: 1100px) {
  .hub-home:not(.section-hub-page) .hub-image-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile. Home stays two columns. Inner pages also stay two columns unless the viewport is extremely narrow. */
@media (max-width: 700px) {
  .main,
  .portal-main,
  .admin-main {
    --portal-card-pad: 18px;
    --portal-card-gap: 16px;
  }

  .main h1,
  .portal-main h1,
  .admin-main h1,
  .page-title h1,
  .admin-title h1,
  .category-welcome h1,
  .hub-welcome h1,
  .portal-tool-page .page-title h1,
  .capacity-hero h1,
  .noise-page-title h1,
  .peace-tool .page-title h1,
  .grocery-ebook h1,
  .tool-hero h1 {
    font-size: 22px !important;
    line-height: 1.12 !important;
  }

  .main h2,
  .portal-main h2,
  .admin-main h2,
  .hub-section-head h2,
  .dl-subgroup-title {
    font-size: 19px !important;
  }

  .hub-home,
  .hub-home-simple,
  .section-hub-page,
  .hub-explore-section {
    gap: 24px !important;
  }

  .hub-search-wrap {
    width: 100% !important;
    max-width: none !important;
  }

  .hub-home:not(.section-hub-page) .hub-image-card-grid,
  .section-hub-page .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .hub-nav-media,
  .toolhub-thumb,
  .hub-product-card .image-slot {
    aspect-ratio: 1 / 1 !important;
  }

  .hub-nav-content,
  .toolhub-copy,
  .hub-product-card .body {
    padding: 18px 16px 20px !important;
    gap: 11px !important;
  }

  .hub-nav-title,
  .toolhub-title,
  .hub-product-card h3 {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }

  .hub-nav-desc,
  .toolhub-desc,
  .hub-product-card p {
    font-size: 13px !important;
    line-height: 1.42 !important;
  }

  .hub-nav-button,
  .toolhub-button,
  .hub-product-actions .btn,
  .hub-product-actions .btn.primary,
  .dl-vote,
  .muted-action {
    min-height: 40px !important;
    padding: 11px 12px !important;
    font-size: 13px !important;
  }

  .hub-product-actions {
    gap: 8px !important;
  }
}

/* Tiny phones: if two columns physically cannot breathe, keep the grid stable but reduce text. */
@media (max-width: 390px) {
  .hub-nav-content,
  .toolhub-copy,
  .hub-product-card .body {
    padding: 16px 13px 18px !important;
  }

  .hub-nav-title,
  .toolhub-title,
  .hub-product-card h3 {
    font-size: 15px !important;
  }

  .hub-nav-desc,
  .toolhub-desc,
  .hub-product-card p {
    font-size: 12.5px !important;
  }

  .hub-nav-button,
  .toolhub-button,
  .hub-product-actions .btn,
  .hub-product-actions .btn.primary,
  .dl-vote,
  .muted-action {
    min-height: 38px !important;
    padding: 10px 10px !important;
    font-size: 12.5px !important;
  }
}

/* v9: final common visual rules. CSS-only. Does not touch nav/header/sidebar/functionality. */

.main,
.portal-main,
.admin-main {
  --portal-radius: 10px;
  --portal-shadow: 0 18px 42px rgba(16,37,45,.18), 0 7px 18px rgba(16,37,45,.10);
  --portal-shadow-soft: 0 12px 30px rgba(16,37,45,.14), 0 4px 12px rgba(16,37,45,.08);
  --portal-border: 1px solid rgba(72,155,173,.30);
}

/* Headings: one shared scale, smaller and less juvenile */
.main h1,
.portal-main h1,
.admin-main h1,
.page-title h1,
.admin-title h1,
.category-welcome h1,
.hub-welcome h1,
.portal-tool-page .page-title h1,
.capacity-hero h1,
.noise-page-title h1,
.peace-tool .page-title h1,
.grocery-ebook h1,
.tool-hero h1 {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.12 !important;
  font-weight: 720 !important;
  letter-spacing: -0.018em !important;
  margin: 0 !important;
  color: var(--ink, #071f29) !important;
}

.main h2,
.portal-main h2,
.admin-main h2,
.hub-section-head h2,
.dl-subgroup-title,
.panel h2,
.panel-head h2,
.tk-section-title {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: clamp(18px, 1.35vw, 22px) !important;
  line-height: 1.18 !important;
  font-weight: 720 !important;
  letter-spacing: -0.014em !important;
  margin: 0 !important;
  color: var(--ink, #071f29) !important;
}

.main h3,
.portal-main h3,
.admin-main h3,
.hub-nav-title,
.toolhub-title,
.hub-product-card h3 {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 720 !important;
  letter-spacing: -0.01em !important;
  color: var(--ink, #071f29) !important;
  margin: 0 !important;
}

/* Tool page headers: make all tools use the Capacity Check structure */
.portal-tool-page .page-title,
.peace-tool .page-title,
.noise-page-title,
.capacity-hero,
.grocery-ebook .page-title,
.tool-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 28px !important;
  row-gap: 8px !important;
  align-items: start !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
  max-width: none !important;
}

.noise-title-row,
.capacity-title-row,
.grocery-title-row {
  display: contents !important;
}

.portal-tool-page .fine,
.noise-kicker,
.grocery-kicker,
.capacity-kicker,
.peace-tool .fine,
.tool-kicker {
  grid-column: 1 !important;
  display: block !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  letter-spacing: .16em !important;
  font-weight: 780 !important;
  text-transform: uppercase !important;
  color: #2f8ea0 !important;
  margin: 0 0 2px !important;
}

.portal-tool-page .page-title h1,
.peace-tool .page-title h1,
.noise-page-title h1,
.capacity-hero h1,
.grocery-ebook .page-title h1,
.grocery-ebook h1,
.tool-hero h1 {
  grid-column: 1 !important;
  font-size: clamp(20px, 1.65vw, 26px) !important;
  line-height: 1.12 !important;
  font-weight: 720 !important;
  margin: 0 !important;
}

.portal-tool-page .page-title p,
.peace-tool .page-title p,
.noise-page-title p,
.capacity-hero p,
.grocery-ebook .page-title p,
.tool-hero p {
  grid-column: 1 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  max-width: 72ch !important;
  color: var(--muted, #526b75) !important;
  margin: 4px 0 0 !important;
}

.tool-back-link,
.peace-page-link.tool-back-link {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  justify-self: end !important;
  align-self: start !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 11px 15px !important;
  border-radius: 10px !important;
  background: #fff !important;
  border: 1px solid rgba(72,155,173,.30) !important;
  color: #075f70 !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}

/* Global page headers should not become big white boxes */
.page-title,
.admin-title,
.category-welcome,
.hub-welcome {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
}

/* Search bar */
.hub-search-wrap {
  width: min(100%, 540px) !important;
  max-width: 540px !important;
  position: relative !important;
  margin: 0 0 4px !important;
}

.hub-search-wrap::before {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  width: 17px !important;
  height: 17px !important;
  transform: translateY(-50%) !important;
  opacity: .78 !important;
  pointer-events: none !important;
  background: no-repeat center / 17px 17px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23489BAD' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-4.35-4.35M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Z'/%3E%3C/svg%3E") !important;
}

.hub-search {
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 15px 12px 46px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(72,155,173,.34) !important;
  background: #fff !important;
  box-shadow: var(--portal-shadow-soft) !important;
  font-size: 15px !important;
}

/* Card grids:
   - desktop/tablet: as many as fit
   - mobile: two columns
*/
.hub-image-card-grid,
.toolhub-grid,
.card-grid.product-grid,
.section-hub-page .hub-image-card-grid,
.hub-home .hub-image-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
}

/* Do not let 1 item turn into a ridiculous giant full-width monster */
.section-hub-page .hub-image-card-grid,
.card-grid.product-grid {
  grid-template-columns: repeat(auto-fill, minmax(240px, 320px)) !important;
  justify-content: start !important;
}

/* Cards */
.hub-nav-card.hub-image-card,
.toolhub-card,
.hub-product-card.product-card,
.hub-product-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  border: var(--portal-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--ink, #071f29) !important;
  text-decoration: none !important;
  box-shadow: var(--portal-shadow) !important;
  padding: 0 !important;
}

/* Empty image placeholders disappear */
.hub-nav-media:empty,
.toolhub-thumb:empty,
.hub-product-card .image-slot:empty,
.hub-nav-media:not(:has(img)),
.toolhub-thumb:not(:has(img)),
.hub-product-card .image-slot:not(:has(img)) {
  display: none !important;
}

.hub-nav-media,
.toolhub-thumb,
.hub-product-card .image-slot {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: auto !important;
  overflow: hidden !important;
  background: #e9f4f6 !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(72,155,173,.18) !important;
}

.hub-nav-media img,
.toolhub-thumb img,
.hub-product-card .image-slot img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Common card text spacing */
.hub-nav-content,
.toolhub-copy,
.hub-product-card .body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  gap: 15px !important;
  padding: 30px 30px 34px !important;
  min-height: 0 !important;
}

.hub-title-row {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}

.hub-title-row .hub-nav-title {
  display: inline !important;
}

.hub-nav-desc,
.toolhub-desc,
.hub-product-card p {
  display: block !important;
  color: var(--muted, #526b75) !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Buttons */
.hub-nav-button,
.toolhub-button,
.hub-product-actions .btn,
.hub-product-actions .btn.primary,
.dl-interest .btn,
.dl-interest .btn.primary,
.dl-vote,
.muted-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-height: 44px !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  margin-top: auto !important;
}

.hub-nav-button,
.toolhub-button,
.hub-product-actions .btn.primary {
  background: #489BAD !important;
  color: #fff !important;
  border: 1px solid #489BAD !important;
  box-shadow: 0 14px 28px rgba(72,155,173,.24) !important;
}

.hub-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: auto !important;
}

.dl-vote,
.hub-product-actions .btn:not(.primary),
.dl-interest .btn:not(.primary) {
  background: #fff !important;
  color: var(--ink, #071f29) !important;
  border: 1px solid rgba(72,155,173,.34) !important;
}

/* No pills */
.dl-tag,
.badge,
.pill,
.btn,
.button,
.hub-nav-button,
.toolhub-button,
.dl-vote,
input,
select,
textarea,
.card,
.panel {
  border-radius: 10px !important;
}

.dl-tag,
.badge,
.pill {
  min-height: 22px !important;
  padding: 5px 8px !important;
  font-size: 10px !important;
  line-height: 1 !important;
  letter-spacing: .015em !important;
  text-transform: none !important;
  box-shadow: none !important;
}

/* Remove old category side clutter */
.compact-feature,
.hub-feature-card,
.aside-stack {
  display: none !important;
}

.home-grid,
.main-stack {
  display: block !important;
  max-width: none !important;
}

.panel.ar-catpage,
.panel-body {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Mobile: two columns, not one-column bars */
@media (max-width: 700px) {
  .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid,
  .section-hub-page .hub-image-card-grid,
  .hub-home .hub-image-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  .main h1,
  .portal-main h1,
  .admin-main h1,
  .page-title h1,
  .admin-title h1,
  .category-welcome h1,
  .hub-welcome h1,
  .portal-tool-page .page-title h1,
  .capacity-hero h1,
  .noise-page-title h1,
  .peace-tool .page-title h1,
  .grocery-ebook h1,
  .tool-hero h1 {
    font-size: 21px !important;
  }

  .portal-tool-page .page-title,
  .peace-tool .page-title,
  .noise-page-title,
  .capacity-hero,
  .grocery-ebook .page-title,
  .tool-hero {
    display: block !important;
    margin-bottom: 22px !important;
  }

  .tool-back-link,
  .peace-page-link.tool-back-link {
    display: inline-flex !important;
    margin-top: 14px !important;
    min-height: 40px !important;
    padding: 10px 13px !important;
    font-size: 12.5px !important;
  }

  .hub-search-wrap {
    width: 100% !important;
    max-width: none !important;
  }

  .hub-nav-media,
  .toolhub-thumb,
  .hub-product-card .image-slot {
    aspect-ratio: 1 / 1 !important;
  }

  .hub-nav-content,
  .toolhub-copy,
  .hub-product-card .body {
    padding: 18px 15px 20px !important;
    gap: 10px !important;
  }

  .hub-nav-title,
  .toolhub-title,
  .hub-product-card h3 {
    font-size: 15.5px !important;
    line-height: 1.18 !important;
  }

  .hub-nav-desc,
  .toolhub-desc,
  .hub-product-card p {
    font-size: 12.5px !important;
    line-height: 1.38 !important;
  }

  .hub-nav-button,
  .toolhub-button,
  .hub-product-actions .btn,
  .hub-product-actions .btn.primary,
  .dl-vote,
  .muted-action {
    min-height: 38px !important;
    padding: 10px 11px !important;
    font-size: 12.5px !important;
  }
}

/* Desktop: if there is room for a third/fourth card, use it */
@media (min-width: 701px) {
  .hub-home .hub-image-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  }

  .section-hub-page .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 320px)) !important;
  }
}

/* v10: mobile heading and card correction. CSS-only. No nav/header/sidebar changes. */

/* Stop the juvenile-big-bold heading problem everywhere in the content area */
.main h1,
.portal-main h1,
.admin-main h1,
.page-title h1,
.admin-title h1,
.category-welcome h1,
.hub-welcome h1,
.portal-tool-page .page-title h1,
.portal-tool-page h1,
.capacity-hero h1,
.noise-page-title h1,
.peace-tool .page-title h1,
.peace-tool h1,
.grocery-ebook .page-title h1,
.grocery-ebook h1,
.tool-hero h1,
.tool-shell h1,
.fnr-shell h1,
.ebook-shell h1 {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: clamp(18px, 1.35vw, 23px) !important;
  line-height: 1.14 !important;
  font-weight: 660 !important;
  letter-spacing: -0.012em !important;
  margin: 0 !important;
  color: var(--ink, #071f29) !important;
}

.main h2,
.portal-main h2,
.admin-main h2,
.hub-section-head h2,
.dl-subgroup-title,
.panel h2,
.panel-head h2,
.tk-section-title {
  font-family: var(--body, "Figtree", system-ui, sans-serif) !important;
  font-size: clamp(17px, 1.2vw, 20px) !important;
  line-height: 1.18 !important;
  font-weight: 660 !important;
  letter-spacing: -0.01em !important;
}

/* All tool headers should match the Capacity Check style: simple, flat, no huge box */
.portal-tool-page .page-title,
.peace-tool .page-title,
.noise-page-title,
.capacity-hero,
.grocery-ebook .page-title,
.tool-hero,
.tool-shell .page-title,
.fnr-shell .page-title,
.ebook-shell .page-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 24px !important;
  row-gap: 6px !important;
  align-items: start !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 24px !important;
  max-width: none !important;
}

.portal-tool-page .fine,
.portal-tool-page .kicker,
.noise-kicker,
.grocery-kicker,
.capacity-kicker,
.peace-tool .fine,
.tool-kicker,
.fnr-shell .fine,
.ebook-shell .fine {
  grid-column: 1 !important;
  display: block !important;
  font-size: 10px !important;
  line-height: 1.05 !important;
  letter-spacing: .13em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #357f8e !important;
  margin: 0 0 2px !important;
}

.portal-tool-page .page-title p,
.peace-tool .page-title p,
.noise-page-title p,
.capacity-hero p,
.grocery-ebook .page-title p,
.tool-hero p,
.tool-shell .page-title p,
.fnr-shell .page-title p,
.ebook-shell .page-title p {
  grid-column: 1 !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
  max-width: 72ch !important;
  margin: 5px 0 0 !important;
  color: var(--muted, #526b75) !important;
}

.tool-back-link,
.peace-page-link.tool-back-link {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  justify-self: end !important;
  align-self: start !important;
  min-height: 40px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

/* Desktop cards: use however many fit. No forced two-column desktop. */
@media (min-width: 701px) {
  .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid,
  .section-hub-page .hub-image-card-grid,
  .hub-home .hub-image-card-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    width: 100% !important;
  }

  .section-hub-page .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 320px)) !important;
    justify-content: start !important;
  }
}

/* Mobile cards: two columns, but the text/buttons must actually fit */
@media (max-width: 700px) {
  .hub-image-card-grid,
  .toolhub-grid,
  .card-grid.product-grid,
  .section-hub-page .hub-image-card-grid,
  .hub-home .hub-image-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: stretch !important;
  }

  .main h1,
  .portal-main h1,
  .admin-main h1,
  .page-title h1,
  .admin-title h1,
  .category-welcome h1,
  .hub-welcome h1,
  .portal-tool-page .page-title h1,
  .portal-tool-page h1,
  .capacity-hero h1,
  .noise-page-title h1,
  .peace-tool .page-title h1,
  .peace-tool h1,
  .grocery-ebook .page-title h1,
  .grocery-ebook h1,
  .tool-hero h1,
  .tool-shell h1,
  .fnr-shell h1,
  .ebook-shell h1 {
    font-size: 19px !important;
    line-height: 1.12 !important;
    font-weight: 650 !important;
    letter-spacing: -0.01em !important;
  }

  .main h2,
  .portal-main h2,
  .admin-main h2,
  .hub-section-head h2,
  .dl-subgroup-title {
    font-size: 17px !important;
    line-height: 1.16 !important;
    font-weight: 650 !important;
  }

  .main h3,
  .portal-main h3,
  .admin-main h3,
  .hub-nav-title,
  .toolhub-title,
  .hub-product-card h3 {
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
    letter-spacing: -0.005em !important;
  }

  .portal-tool-page .page-title,
  .peace-tool .page-title,
  .noise-page-title,
  .capacity-hero,
  .grocery-ebook .page-title,
  .tool-hero,
  .tool-shell .page-title,
  .fnr-shell .page-title,
  .ebook-shell .page-title {
    display: block !important;
    margin-bottom: 20px !important;
  }

  .portal-tool-page .fine,
  .portal-tool-page .kicker,
  .noise-kicker,
  .grocery-kicker,
  .capacity-kicker,
  .peace-tool .fine,
  .tool-kicker,
  .fnr-shell .fine,
  .ebook-shell .fine {
    font-size: 9.5px !important;
    letter-spacing: .12em !important;
    font-weight: 680 !important;
  }

  .portal-tool-page .page-title p,
  .peace-tool .page-title p,
  .noise-page-title p,
  .capacity-hero p,
  .grocery-ebook .page-title p,
  .tool-hero p,
  .tool-shell .page-title p,
  .fnr-shell .page-title p,
  .ebook-shell .page-title p {
    font-size: 13.5px !important;
    line-height: 1.42 !important;
  }

  .tool-back-link,
  .peace-page-link.tool-back-link {
    display: inline-flex !important;
    margin-top: 12px !important;
    min-height: 38px !important;
    padding: 9px 12px !important;
    font-size: 12px !important;
  }

  .hub-nav-card.hub-image-card,
  .toolhub-card,
  .hub-product-card.product-card,
  .hub-product-card {
    border-radius: 10px !important;
    overflow: hidden !important;
  }

  .dl-tag,
  .badge,
  .pill {
    border-radius: 10px !important;
    font-size: 9.5px !important;
    min-height: 20px !important;
    padding: 5px 7px !important;
  }
}


/* ============================================================
   portal-tools-fix.css
   One small, readable, authoritative layer. Load this LAST,
   after portal.css and portal-system.css.

   Fixes three things:
     1. Tool-hub search that toggled but never hid anything
     2. Inner tool-page headers that don't match each other
     3. Mobile two-column cards running too tall and skinny

   This is meant to be the last word. Once it's in and you trust
   it, you can delete the older duplicate rules it replaces
   (see the NOTES file). Goal is to shrink the graveyard, not grow it.
   ============================================================ */


/* ---------------------------------------------------------------
   1. SEARCH FIX
   The search JS sets card.hidden = true, but .hub-image-card sets
   its own `display` value, which overrides the browser's built-in
   [hidden] { display:none } rule. So the attribute flipped and
   nothing visually changed. Honor [hidden] explicitly and the
   search starts working with zero JS changes.
   --------------------------------------------------------------- */
[data-hub-card][hidden],
.hub-nav-card[hidden],
.toolhub-card[hidden] { display: none !important; }

.hub-empty-search { display: block; }
.hub-empty-search[hidden] { display: none !important; }


/* ---------------------------------------------------------------
   2. TOOL-PAGE HEADERS — one treatment for every tool
   Every tool page wraps its header in .portal-tool-page, so these
   two-class selectors (specificity 0,0,2,1) outrank the per-page
   inline <style> overrides (0,0,1,1) WITHOUT an !important arms
   race. Food Noise, PEACE, Capacity Check, and the e-book all end
   up identical. You can later delete the inline overrides (NOTES).
   --------------------------------------------------------------- */
.portal-tool-page .page-title,
.portal-tool-page .noise-page-title,
.portal-tool-page .capacity-hero,
.portal-tool-page .tool-hero,
.portal-tool-page .grocery-ebook .page-title {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 26px !important;
  max-width: none !important;
}

/* Food Noise wraps its header in an extra .noise-title-row flex
   box the others don't have. Make it lay out like everyone else. */
.portal-tool-page .noise-title-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 20px !important;
  align-items: start !important;
}

/* The heading itself: Figtree, restrained, grown-up. Not 36px. */
.portal-tool-page .page-title h1,
.portal-tool-page .noise-page-title h1,
.portal-tool-page .capacity-hero h1,
.portal-tool-page .tool-hero h1 {
  font-family: var(--body) !important;
  font-size: clamp(21px, 2.3vw, 26px) !important;
  line-height: 1.16 !important;
  font-weight: 680 !important;
  letter-spacing: -0.015em !important;
  color: var(--ink) !important;
  margin: 0 !important;
}

/* The supporting line under the heading */
.portal-tool-page .page-title > p,
.portal-tool-page .noise-title-row > div > p:not(.noise-kicker),
.portal-tool-page .noise-page-title p:not(.noise-kicker),
.portal-tool-page .capacity-hero p,
.portal-tool-page .tool-hero p {
  font-size: 15px !important;
  line-height: 1.55 !important;
  max-width: 70ch !important;
  margin: 7px 0 0 !important;
  color: var(--muted) !important;
}

/* One kicker style for all tools: small uppercase eyebrow.
   (Food Noise's .noise-kicker was a 15px sentence — now it matches.) */
.portal-tool-page .fine,
.portal-tool-page .kicker,
.portal-tool-page .noise-kicker,
.portal-tool-page .capacity-kicker,
.portal-tool-page .tool-kicker {
  display: block !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--primary-dark) !important;
  margin: 0 0 6px !important;
}

/* Back link, consistent and out of the way */
.portal-tool-page .tool-back-link {
  align-self: start !important;
  justify-self: end !important;
  min-height: 40px !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
}

@media (max-width: 700px) {
  .portal-tool-page .page-title h1,
  .portal-tool-page .noise-page-title h1,
  .portal-tool-page .capacity-hero h1,
  .portal-tool-page .tool-hero h1 { font-size: 20px !important; }

  .portal-tool-page .noise-title-row { display: block !important; }

  .portal-tool-page .tool-back-link {
    display: inline-flex !important;
    margin-top: 12px !important;
    justify-self: start !important;
  }
}


/* ---------------------------------------------------------------
   3. MOBILE CARDS — two columns that don't run tall and skinny
   The old cards stacked a 4:3 photo + a 20px title + a full
   paragraph + a button, so each column was narrow and very tall.
   Fixes: shorter image, a 2-line clamp on the description so every
   card is the same height, tighter type, full-width button pinned
   to the bottom. Even heights kill the ragged/skinny feel.
   --------------------------------------------------------------- */
/* === MOBILE INNER CARDS: image-left / copy-right rows (authoritative) ===
   Scoped under the page wrappers so this beats every older mobile block
   in the file regardless of source order. Single source of truth. */
@media (max-width: 700px) {
  .hub-home .hub-image-card-grid,
  .section-hub-page .hub-image-card-grid,
  .hub-home .toolhub-grid,
  .section-hub-page .toolhub-grid,
  .hub-home .card-grid.product-grid,
  .section-hub-page .card-grid.product-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: stretch !important;
  }

  .hub-home .hub-nav-card.hub-image-card,
  .section-hub-page .hub-nav-card.hub-image-card,
  .hub-home .toolhub-card,
  .section-hub-page .toolhub-card,
  .hub-home .hub-product-card,
  .section-hub-page .hub-product-card {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    background: #fff !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    box-shadow: 0 6px 18px rgba(16, 37, 45, 0.10) !important;
  }

  .hub-home .hub-image-card .hub-nav-media,
  .section-hub-page .hub-image-card .hub-nav-media,
  .hub-home .toolhub-card .toolhub-thumb,
  .section-hub-page .toolhub-card .toolhub-thumb,
  .hub-home .hub-product-card .image-slot,
  .section-hub-page .hub-product-card .image-slot {
    aspect-ratio: auto !important;
    width: 112px !important;
    height: 100% !important;
    min-height: 100% !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .hub-home .hub-image-card .hub-nav-media img,
  .section-hub-page .hub-image-card .hub-nav-media img,
  .hub-home .toolhub-card .toolhub-thumb img,
  .section-hub-page .toolhub-card .toolhub-thumb img,
  .hub-home .hub-product-card .image-slot img,
  .section-hub-page .hub-product-card .image-slot img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
  /* No image -> copy spans full width */
  .hub-home .hub-image-card .hub-nav-media:empty,
  .section-hub-page .hub-image-card .hub-nav-media:empty,
  .hub-home .hub-image-card .hub-nav-media:not(:has(img)),
  .section-hub-page .hub-image-card .hub-nav-media:not(:has(img)) { display: none !important; }
  .hub-home .hub-nav-media:not(:has(img)) + .hub-nav-content,
  .section-hub-page .hub-nav-media:not(:has(img)) + .hub-nav-content { grid-column: 1 / -1 !important; }

  .hub-home .hub-nav-card .hub-nav-content,
  .section-hub-page .hub-nav-card .hub-nav-content,
  .hub-home .toolhub-card .toolhub-copy,
  .section-hub-page .toolhub-card .toolhub-copy,
  .hub-home .hub-product-card .body,
  .section-hub-page .hub-product-card .body {
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 14px !important;
    gap: 6px !important;
    min-width: 0 !important;
  }

  .hub-home .hub-nav-title,
  .section-hub-page .hub-nav-title,
  .hub-home .toolhub-title,
  .section-hub-page .toolhub-title,
  .hub-home .hub-product-card h3,
  .section-hub-page .hub-product-card h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin: 0 !important;
  }

  .hub-home .hub-nav-desc,
  .section-hub-page .hub-nav-desc,
  .hub-home .toolhub-desc,
  .section-hub-page .toolhub-desc,
  .hub-home .hub-product-card p,
  .section-hub-page .hub-product-card p {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    color: var(--muted) !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  .hub-home .hub-product-actions,
  .section-hub-page .hub-product-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 4px !important;
  }
  .hub-home .hub-product-actions .btn,
  .section-hub-page .hub-product-actions .btn,
  .hub-home .hub-nav-button,
  .section-hub-page .hub-nav-button,
  .hub-home .dl-vote,
  .section-hub-page .dl-vote,
  .hub-home .muted-action,
  .section-hub-page .muted-action {
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 9px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    width: auto !important;
    margin-top: 0 !important;
  }
  .hub-home .dl-fav-form,
  .section-hub-page .dl-fav-form { top: 6px !important; right: 6px !important; }
  .hub-home .dl-fav,
  .section-hub-page .dl-fav { width: 30px !important; height: 30px !important; }
}

/* Very narrow phones: keep the row layout, just a touch tighter */
@media (max-width: 380px) {
  .hub-nav-card.hub-image-card,
  .toolhub-card,
  .hub-product-card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }
  .hub-nav-desc,
  .toolhub-desc,
  .hub-product-card p { -webkit-line-clamp: 2 !important; }
}

/* === v24: Inner category pages use rows, not cramped card columns ===
   Scope this to section-hub-page so the dashboard/home card grid can stay as-is. */
.section-hub-page .hub-card-grid.hub-image-card-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  flex-direction: initial !important;
  min-height: 178px !important;
  height: auto !important;
  width: 100% !important;
  overflow: hidden !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media,
.section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .image-slot {
  width: 100% !important;
  height: 100% !important;
  min-height: 178px !important;
  aspect-ratio: auto !important;
  border-bottom: 0 !important;
  border-right: 1px solid rgba(72,155,173,.18) !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media img,
.section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .image-slot img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-content,
.section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .body {
  min-height: 0 !important;
  padding: 22px 28px !important;
  gap: 11px !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-title-row {
  align-items: flex-start !important;
  gap: 9px !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-title,
.section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card h3 {
  font-size: 18px !important;
  line-height: 1.18 !important;
  font-weight: 760 !important;
  max-width: none !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-desc,
.section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card p {
  max-width: 74ch !important;
  display: block !important;
  overflow: visible !important;
  -webkit-line-clamp: initial !important;
  -webkit-box-orient: initial !important;
  font-size: 14.5px !important;
  line-height: 1.5 !important;
}

.section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

@media (max-width: 700px) {
  .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    min-height: 132px !important;
  }
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media,
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .image-slot {
    min-height: 132px !important;
  }
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-content,
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .body {
    padding: 12px 14px !important;
    gap: 6px !important;
  }
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-title,
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
  }
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-desc,
  .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card p {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

@media (max-width: 380px) {
  .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

/* === v25: Hard mobile row override for inner portal cards ===
   The older mobile card rule forces .hub-image-card-grid into two columns.
   These selectors intentionally run last and only affect inner category/search-result grids,
   not the main dashboard section tiles. */
@media (max-width: 700px) {
  body .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .hub-home-simple [data-home-results].hub-card-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .hub-home-simple [data-home-results].hub-card-grid > .hub-nav-card.hub-image-card,
  body .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .hub-home-simple [data-home-results].hub-card-grid > .hub-product-card {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    flex-direction: initial !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 132px !important;
    height: auto !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-nav-media,
  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .image-slot,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-card .image-slot,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-product-card .image-slot {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 132px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    border-right: 1px solid rgba(72,155,173,.18) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media img,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media img,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-nav-media img,
  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .image-slot img,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-card .image-slot img,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-product-card .image-slot img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-content,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-content,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-nav-content,
  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card .body,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-card .body,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-product-card .body {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
    gap: 6px !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-title,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-title,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-nav-title,
  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card h3,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-card h3,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-product-card h3 {
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 730 !important;
    max-width: none !important;
    margin: 0 !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-desc,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-desc,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-nav-desc,
  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-card p,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-card p,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-product-card p {
    font-size: 12.5px !important;
    line-height: 1.4 !important;
    max-width: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    margin: 0 !important;
  }

  body .section-hub-page .hub-card-grid.hub-image-card-grid .hub-product-actions,
  body .section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-actions,
  body .hub-home-simple [data-home-results].hub-card-grid .hub-product-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 3px !important;
  }
}

@media (max-width: 380px) {
  body .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .hub-home-simple [data-home-results].hub-card-grid > .hub-nav-card.hub-image-card,
  body .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .hub-home-simple [data-home-results].hub-card-grid > .hub-product-card {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

/* === v26: Inner-page row cards — final hard override ===
   This file had multiple older mobile/card blocks fighting each other with !important.
   This selector uses the explicit class/attribute added by PHP so inner pages are rows
   no matter which older hub-image-card-grid rule appears earlier. Dashboard tiles stay untouched. */
.section-hub-page .hub-inner-row-card-grid,
.section-hub-page [data-inner-row-grid],
.section-hub-page [data-hub-card-grid].hub-card-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: 1fr !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: none !important;
}

.section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
.section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
.section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
.section-hub-page .hub-inner-row-card-grid > .hub-product-card,
.section-hub-page [data-inner-row-grid] > .hub-product-card,
.section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
.section-hub-page .hub-inner-row-card-grid > .toolhub-card,
.section-hub-page [data-inner-row-grid] > .toolhub-card,
.section-hub-page [data-hub-card-grid].hub-card-grid > .toolhub-card {
  display: grid !important;
  grid-template-columns: clamp(118px, 22vw, 180px) minmax(0, 1fr) !important;
  flex-direction: initial !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 156px !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-media,
.section-hub-page [data-inner-row-grid] .hub-nav-media,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media,
.section-hub-page .hub-inner-row-card-grid .image-slot,
.section-hub-page [data-inner-row-grid] .image-slot,
.section-hub-page [data-hub-card-grid].hub-card-grid .image-slot,
.section-hub-page .hub-inner-row-card-grid .toolhub-thumb,
.section-hub-page [data-inner-row-grid] .toolhub-thumb,
.section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-thumb {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  width: clamp(118px, 22vw, 180px) !important;
  height: 100% !important;
  min-height: 156px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  border-right: 1px solid rgba(72,155,173,.18) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-media img,
.section-hub-page [data-inner-row-grid] .hub-nav-media img,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media img,
.section-hub-page .hub-inner-row-card-grid .image-slot img,
.section-hub-page [data-inner-row-grid] .image-slot img,
.section-hub-page [data-hub-card-grid].hub-card-grid .image-slot img,
.section-hub-page .hub-inner-row-card-grid .toolhub-thumb img,
.section-hub-page [data-inner-row-grid] .toolhub-thumb img,
.section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-media:empty,
.section-hub-page [data-inner-row-grid] .hub-nav-media:empty,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media:empty,
.section-hub-page .hub-inner-row-card-grid .hub-nav-media:not(:has(img)),
.section-hub-page [data-inner-row-grid] .hub-nav-media:not(:has(img)),
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media:not(:has(img)) {
  display: none !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-media:not(:has(img)) + .hub-nav-content,
.section-hub-page [data-inner-row-grid] .hub-nav-media:not(:has(img)) + .hub-nav-content,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media:not(:has(img)) + .hub-nav-content {
  grid-column: 1 / -1 !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-content,
.section-hub-page [data-inner-row-grid] .hub-nav-content,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-content,
.section-hub-page .hub-inner-row-card-grid .body,
.section-hub-page [data-inner-row-grid] .body,
.section-hub-page [data-hub-card-grid].hub-card-grid .body,
.section-hub-page .hub-inner-row-card-grid .toolhub-copy,
.section-hub-page [data-inner-row-grid] .toolhub-copy,
.section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-copy {
  grid-column: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 16px 18px !important;
  gap: 7px !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-title-row,
.section-hub-page [data-inner-row-grid] .hub-title-row,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-title-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 7px !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-title,
.section-hub-page [data-inner-row-grid] .hub-nav-title,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-title,
.section-hub-page .hub-inner-row-card-grid h3,
.section-hub-page [data-inner-row-grid] h3,
.section-hub-page [data-hub-card-grid].hub-card-grid h3,
.section-hub-page .hub-inner-row-card-grid .toolhub-title,
.section-hub-page [data-inner-row-grid] .toolhub-title,
.section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-title {
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 730 !important;
  max-width: none !important;
  margin: 0 !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-nav-desc,
.section-hub-page [data-inner-row-grid] .hub-nav-desc,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-desc,
.section-hub-page .hub-inner-row-card-grid p,
.section-hub-page [data-inner-row-grid] p,
.section-hub-page [data-hub-card-grid].hub-card-grid p,
.section-hub-page .hub-inner-row-card-grid .toolhub-desc,
.section-hub-page [data-inner-row-grid] .toolhub-desc,
.section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-desc {
  font-size: 13px !important;
  line-height: 1.42 !important;
  max-width: none !important;
  margin: 0 !important;
  color: var(--muted) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.section-hub-page .hub-inner-row-card-grid .hub-product-actions,
.section-hub-page [data-inner-row-grid] .hub-product-actions,
.section-hub-page [data-hub-card-grid].hub-card-grid .hub-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin-top: 3px !important;
}

@media (max-width: 700px) {
  .section-hub-page .hub-inner-row-card-grid,
  .section-hub-page [data-inner-row-grid],
  .section-hub-page [data-hub-card-grid].hub-card-grid {
    gap: 12px !important;
  }

  .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
  .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
  .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  .section-hub-page .hub-inner-row-card-grid > .hub-product-card,
  .section-hub-page [data-inner-row-grid] > .hub-product-card,
  .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  .section-hub-page .hub-inner-row-card-grid > .toolhub-card,
  .section-hub-page [data-inner-row-grid] > .toolhub-card,
  .section-hub-page [data-hub-card-grid].hub-card-grid > .toolhub-card {
    grid-template-columns: 108px minmax(0, 1fr) !important;
    min-height: 124px !important;
  }

  .section-hub-page .hub-inner-row-card-grid .hub-nav-media,
  .section-hub-page [data-inner-row-grid] .hub-nav-media,
  .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-media,
  .section-hub-page .hub-inner-row-card-grid .image-slot,
  .section-hub-page [data-inner-row-grid] .image-slot,
  .section-hub-page [data-hub-card-grid].hub-card-grid .image-slot,
  .section-hub-page .hub-inner-row-card-grid .toolhub-thumb,
  .section-hub-page [data-inner-row-grid] .toolhub-thumb,
  .section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-thumb {
    min-height: 124px !important;
  }

  .section-hub-page .hub-inner-row-card-grid .hub-nav-content,
  .section-hub-page [data-inner-row-grid] .hub-nav-content,
  .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-content,
  .section-hub-page .hub-inner-row-card-grid .body,
  .section-hub-page [data-inner-row-grid] .body,
  .section-hub-page [data-hub-card-grid].hub-card-grid .body,
  .section-hub-page .hub-inner-row-card-grid .toolhub-copy,
  .section-hub-page [data-inner-row-grid] .toolhub-copy,
  .section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-copy {
    padding: 12px 13px !important;
    gap: 6px !important;
  }

  .section-hub-page .hub-inner-row-card-grid .hub-nav-title,
  .section-hub-page [data-inner-row-grid] .hub-nav-title,
  .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-title,
  .section-hub-page .hub-inner-row-card-grid h3,
  .section-hub-page [data-inner-row-grid] h3,
  .section-hub-page [data-hub-card-grid].hub-card-grid h3,
  .section-hub-page .hub-inner-row-card-grid .toolhub-title,
  .section-hub-page [data-inner-row-grid] .toolhub-title,
  .section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-title {
    font-size: 14.5px !important;
    line-height: 1.18 !important;
  }

  .section-hub-page .hub-inner-row-card-grid .hub-nav-desc,
  .section-hub-page [data-inner-row-grid] .hub-nav-desc,
  .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-desc,
  .section-hub-page .hub-inner-row-card-grid p,
  .section-hub-page [data-inner-row-grid] p,
  .section-hub-page [data-hub-card-grid].hub-card-grid p,
  .section-hub-page .hub-inner-row-card-grid .toolhub-desc,
  .section-hub-page [data-inner-row-grid] .toolhub-desc,
  .section-hub-page [data-hub-card-grid].hub-card-grid .toolhub-desc {
    font-size: 12.25px !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 3 !important;
  }
}

@media (max-width: 380px) {
  .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
  .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
  .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  .section-hub-page .hub-inner-row-card-grid > .hub-product-card,
  .section-hub-page [data-inner-row-grid] > .hub-product-card,
  .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  .section-hub-page .hub-inner-row-card-grid > .toolhub-card,
  .section-hub-page [data-inner-row-grid] > .toolhub-card,
  .section-hub-page [data-hub-card-grid].hub-card-grid > .toolhub-card {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }

  .section-hub-page .hub-inner-row-card-grid .hub-nav-desc,
  .section-hub-page [data-inner-row-grid] .hub-nav-desc,
  .section-hub-page [data-hub-card-grid].hub-card-grid .hub-nav-desc,
  .section-hub-page .hub-inner-row-card-grid p,
  .section-hub-page [data-inner-row-grid] p,
  .section-hub-page [data-hub-card-grid].hub-card-grid p {
    -webkit-line-clamp: 2 !important;
  }
}


/* === v27: all inner page card grids are mobile row lists ===
   This targets every inner/category hub page, not only Tools & Apps. */
@media (max-width: 700px) {
  body .main [data-hub-card-grid],
  body .main [data-inner-row-grid],
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-auto-flow: row !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body .main [data-hub-card-grid] > .hub-nav-card.hub-image-card,
  body .main [data-inner-row-grid] > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) > .hub-nav-card.hub-image-card,
  body .main [data-hub-card-grid] > .hub-product-card,
  body .main [data-inner-row-grid] > .hub-product-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) > .hub-product-card,
  body .main [data-hub-card-grid] > .toolhub-card,
  body .main [data-inner-row-grid] > .toolhub-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .toolhub-card,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) > .toolhub-card {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    grid-auto-flow: row !important;
    flex-direction: initial !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 124px !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body .main [data-hub-card-grid] .hub-nav-media,
  body .main [data-inner-row-grid] .hub-nav-media,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .hub-nav-media,
  body .main [data-hub-card-grid] .image-slot,
  body .main [data-inner-row-grid] .image-slot,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .image-slot,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .image-slot,
  body .main [data-hub-card-grid] .toolhub-thumb,
  body .main [data-inner-row-grid] .toolhub-thumb,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .toolhub-thumb,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .toolhub-thumb {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 / -1 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 124px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    border-right: 1px solid rgba(72,155,173,.18) !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body .main [data-hub-card-grid] .hub-nav-media img,
  body .main [data-inner-row-grid] .hub-nav-media img,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-media img,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .hub-nav-media img,
  body .main [data-hub-card-grid] .image-slot img,
  body .main [data-inner-row-grid] .image-slot img,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .image-slot img,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .image-slot img,
  body .main [data-hub-card-grid] .toolhub-thumb img,
  body .main [data-inner-row-grid] .toolhub-thumb img,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .toolhub-thumb img,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .toolhub-thumb img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body .main [data-hub-card-grid] .hub-nav-content,
  body .main [data-inner-row-grid] .hub-nav-content,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .hub-nav-content,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .hub-nav-content,
  body .main [data-hub-card-grid] .body,
  body .main [data-inner-row-grid] .body,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .body,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .body,
  body .main [data-hub-card-grid] .toolhub-copy,
  body .main [data-inner-row-grid] .toolhub-copy,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid .toolhub-copy,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) .toolhub-copy {
    grid-column: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px 13px !important;
    gap: 6px !important;
  }
}

@media (max-width: 380px) {
  body .main [data-hub-card-grid] > .hub-nav-card.hub-image-card,
  body .main [data-inner-row-grid] > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) > .hub-nav-card.hub-image-card,
  body .main [data-hub-card-grid] > .hub-product-card,
  body .main [data-inner-row-grid] > .hub-product-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) > .hub-product-card,
  body .main [data-hub-card-grid] > .toolhub-card,
  body .main [data-inner-row-grid] > .toolhub-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .toolhub-card,
  body .main .hub-card-grid.hub-image-card-grid:not([data-home-nav]):not([data-home-results]) > .toolhub-card {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }
}

/* ================================================================
   v28 PORTAL CARD LAYOUT RESET
   Source of truth after the earlier patch stack:
   - Dashboard default tiles: 2 columns on mobile, image on top.
   - Inner/category pages: vertical list of row cards on desktop and mobile.
   No JavaScript layout forcing. No broad .hub-home mobile row rule.
   ================================================================ */

/* ---------- Dashboard default tiles ---------- */
@media (max-width: 700px) {
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-card-grid.hub-image-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    grid-auto-flow: initial !important;
    align-items: stretch !important;
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .image-slot {
    display: block !important;
    flex: 0 0 auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    margin: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(72,155,173,.18) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-media img,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-media img,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .image-slot img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .body {
    display: flex !important;
    flex-direction: column !important;
    grid-column: auto !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    min-height: 158px !important;
    padding: 18px 18px 20px !important;
    gap: 10px !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-title,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-title,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row h3 {
    font-size: 18px !important;
    line-height: 1.18 !important;
    font-weight: 760 !important;
    margin: 0 !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-desc,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-desc,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row p {
    font-size: 14.25px !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    max-width: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-button,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-button,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .btn {
    width: 100% !important;
    min-height: 42px !important;
    margin-top: auto !important;
    padding: 10px 12px !important;
    font-size: 13.5px !important;
    line-height: 1.05 !important;
    border-radius: 10px !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

@media (max-width: 390px) {
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-card-grid.hub-image-card-grid {
    gap: 14px !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .body {
    min-height: 148px !important;
    padding: 16px 15px 18px !important;
    gap: 9px !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-title,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-title,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row h3 {
    font-size: 16px !important;
  }

  body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-desc,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row .hub-nav-desc,
  body .main .hub-home:not(.section-hub-page) .dl-fav-row p {
    font-size: 13px !important;
    -webkit-line-clamp: 2 !important;
  }
}

/* ---------- Inner/category pages ---------- */
body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
body .main .section-hub-page .toolhub-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page .toolhub-grid > .toolhub-card {
  display: grid !important;
  grid-template-columns: clamp(172px, 20vw, 230px) minmax(0, 1fr) !important;
  flex-direction: initial !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 176px !important;
  height: auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .main .section-hub-page .hub-nav-media,
body .main .section-hub-page .image-slot,
body .main .section-hub-page .toolhub-thumb {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 176px !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  border-right: 1px solid rgba(72,155,173,.18) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body .main .section-hub-page .hub-nav-media img,
body .main .section-hub-page .image-slot img,
body .main .section-hub-page .toolhub-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body .main .section-hub-page .hub-nav-media:empty,
body .main .section-hub-page .hub-nav-media:not(:has(img)) {
  display: none !important;
}

body .main .section-hub-page .hub-nav-media:not(:has(img)) + .hub-nav-content {
  grid-column: 1 / -1 !important;
}

body .main .section-hub-page .hub-nav-content,
body .main .section-hub-page .body,
body .main .section-hub-page .toolhub-copy {
  display: flex !important;
  flex-direction: column !important;
  grid-column: 2 !important;
  justify-content: center !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 22px 26px !important;
  gap: 11px !important;
}

body .main .section-hub-page .hub-title-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 9px !important;
  margin: 0 !important;
}

body .main .section-hub-page .hub-nav-title,
body .main .section-hub-page .toolhub-title,
body .main .section-hub-page .hub-product-card h3 {
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  max-width: none !important;
  margin: 0 !important;
}

body .main .section-hub-page .hub-nav-desc,
body .main .section-hub-page .toolhub-desc,
body .main .section-hub-page .hub-product-card p {
  font-size: 15px !important;
  line-height: 1.45 !important;
  max-width: 72ch !important;
  margin: 0 !important;
  color: var(--muted) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .main .section-hub-page .hub-product-actions,
body .main .section-hub-page .toolhub-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  margin-top: 2px !important;
}

body .main .section-hub-page .hub-nav-button,
body .main .section-hub-page .hub-product-actions .btn,
body .main .section-hub-page .toolhub-button,
body .main .section-hub-page .dl-vote,
body .main .section-hub-page .muted-action {
  min-height: 40px !important;
  padding: 10px 14px !important;
  border-radius: 10px !important;
  font-size: 13.25px !important;
  line-height: 1 !important;
  font-weight: 780 !important;
  width: auto !important;
  margin-top: 0 !important;
}

@media (max-width: 700px) {
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .main .section-hub-page .toolhub-grid {
    gap: 16px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page .toolhub-grid > .toolhub-card {
    grid-template-columns: 128px minmax(0, 1fr) !important;
    min-height: 156px !important;
  }

  body .main .section-hub-page .hub-nav-media,
  body .main .section-hub-page .image-slot,
  body .main .section-hub-page .toolhub-thumb {
    min-height: 156px !important;
  }

  body .main .section-hub-page .hub-nav-content,
  body .main .section-hub-page .body,
  body .main .section-hub-page .toolhub-copy {
    padding: 16px 18px !important;
    gap: 9px !important;
  }

  body .main .section-hub-page .hub-nav-title,
  body .main .section-hub-page .toolhub-title,
  body .main .section-hub-page .hub-product-card h3 {
    font-size: 16px !important;
    line-height: 1.18 !important;
  }

  body .main .section-hub-page .hub-nav-desc,
  body .main .section-hub-page .toolhub-desc,
  body .main .section-hub-page .hub-product-card p {
    font-size: 13.5px !important;
    line-height: 1.38 !important;
    -webkit-line-clamp: 3 !important;
  }

  body .main .section-hub-page .hub-product-actions,
  body .main .section-hub-page .toolhub-actions {
    gap: 8px !important;
  }

  body .main .section-hub-page .hub-nav-button,
  body .main .section-hub-page .hub-product-actions .btn,
  body .main .section-hub-page .toolhub-button,
  body .main .section-hub-page .dl-vote,
  body .main .section-hub-page .muted-action {
    min-height: 38px !important;
    padding: 9px 12px !important;
    font-size: 12.75px !important;
  }
}

@media (max-width: 390px) {
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page .toolhub-grid > .toolhub-card {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    min-height: 150px !important;
  }

  body .main .section-hub-page .hub-nav-media,
  body .main .section-hub-page .image-slot,
  body .main .section-hub-page .toolhub-thumb {
    min-height: 150px !important;
  }

  body .main .section-hub-page .hub-nav-content,
  body .main .section-hub-page .body,
  body .main .section-hub-page .toolhub-copy {
    padding: 14px 15px !important;
    gap: 8px !important;
  }

  body .main .section-hub-page .hub-nav-desc,
  body .main .section-hub-page .toolhub-desc,
  body .main .section-hub-page .hub-product-card p {
    font-size: 12.75px !important;
    -webkit-line-clamp: 2 !important;
  }
}

/* =========================================================
   v29 CONSISTENT PORTAL CARD RESET
   Scope split:
   - Dashboard home tiles: 2-column tile grid on mobile, image on top.
   - Inner/category pages: single clean list; desktop = horizontal rows, mobile = breathing stacked rows.
   This block intentionally sits last because older portal CSS contains competing !important rules.
   ========================================================= */

/* ---------- Shared card cleanup ---------- */
body .main .hub-nav-card.hub-image-card,
body .main .hub-product-card,
body .main .toolhub-card {
  box-sizing: border-box !important;
  border: 1px solid rgba(72,155,173,.28) !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 18px 38px rgba(16,37,45,.14), 0 7px 18px rgba(16,37,45,.09) !important;
}

body .main .hub-nav-media,
body .main .image-slot,
body .main .toolhub-thumb {
  box-sizing: border-box !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: var(--primary-soft) !important;
}

body .main .hub-nav-media img,
body .main .image-slot img,
body .main .toolhub-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body .main .hub-nav-content,
body .main .hub-product-card .body,
body .main .toolhub-copy {
  box-sizing: border-box !important;
}

/* ---------- Dashboard home: default section tiles ---------- */
body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
  width: 100% !important;
}

body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card .hub-nav-media {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  grid-column: auto !important;
  grid-row: auto !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(72,155,173,.18) !important;
}

body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card .hub-nav-content {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
  min-height: 204px !important;
  padding: 26px 28px 30px !important;
  gap: 13px !important;
  grid-column: auto !important;
}

body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-title {
  font-size: 19px !important;
  line-height: 1.15 !important;
  margin: 0 !important;
}

body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-desc {
  font-size: 15px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  max-width: none !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-button {
  margin-top: auto !important;
}

/* ---------- Inner/category pages: consistent desktop rows ---------- */
body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
body .main .section-hub-page .toolhub-grid,
body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  grid-auto-flow: row !important;
  gap: 22px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page .toolhub-grid > .toolhub-card,
body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card {
  display: grid !important;
  grid-template-columns: 236px minmax(0, 1fr) !important;
  grid-template-rows: 1fr !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: 218px !important;
  min-height: 218px !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page .hub-product-card > .image-slot,
body .main .section-hub-page .toolhub-card > .toolhub-thumb,
body .main .section-hub-page .toolhub-card > .hub-nav-media,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  width: 236px !important;
  height: 218px !important;
  min-height: 218px !important;
  max-height: 218px !important;
  aspect-ratio: auto !important;
  border-right: 1px solid rgba(72,155,173,.18) !important;
  border-bottom: 0 !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page .hub-product-card > .body,
body .main .section-hub-page .toolhub-card > .toolhub-copy,
body .main .section-hub-page .toolhub-card > .hub-nav-content,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
  display: flex !important;
  flex-direction: column !important;
  grid-column: 2 !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: 218px !important;
  padding: 28px 32px !important;
  gap: 10px !important;
}

body .main .section-hub-page .hub-title-row,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-title-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 !important;
}

body .main .section-hub-page .hub-nav-title,
body .main .section-hub-page .toolhub-title,
body .main .section-hub-page .hub-product-card h3,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title {
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
  max-width: none !important;
}

body .main .section-hub-page .hub-nav-desc,
body .main .section-hub-page .toolhub-desc,
body .main .section-hub-page .hub-product-card p,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc {
  font-size: 15px !important;
  line-height: 1.42 !important;
  max-width: 76ch !important;
  margin: 0 !important;
  color: var(--muted) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .main .section-hub-page .hub-product-actions,
body .main .section-hub-page .toolhub-actions,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 4px !important;
}

body .main .section-hub-page .hub-nav-button,
body .main .section-hub-page .hub-product-actions .btn,
body .main .section-hub-page .toolhub-button,
body .main .section-hub-page .dl-vote,
body .main .section-hub-page .muted-action,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action {
  min-height: 42px !important;
  padding: 11px 16px !important;
  border-radius: 10px !important;
  font-size: 13.75px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  width: auto !important;
  margin: 0 !important;
  white-space: normal !important;
}

/* ---------- Mobile: dashboard tiles remain tiles; inner pages get breathing room ---------- */
@media (max-width: 700px) {
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card .hub-nav-media {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(72,155,173,.18) !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card .hub-nav-content {
    height: auto !important;
    min-height: 164px !important;
    padding: 18px 17px 20px !important;
    gap: 10px !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-title {
    font-size: 17px !important;
    line-height: 1.15 !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-desc {
    font-size: 13.5px !important;
    line-height: 1.38 !important;
    -webkit-line-clamp: 2 !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-button {
    width: 100% !important;
    min-height: 40px !important;
    padding: 10px 10px !important;
    font-size: 13px !important;
    text-align: center !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .main .section-hub-page .toolhub-grid,
  body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page .toolhub-grid > .toolhub-card,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page .hub-product-card > .image-slot,
  body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  body .main .section-hub-page .toolhub-card > .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 10 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(72,155,173,.18) !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
    display: flex !important;
    flex-direction: column !important;
    grid-column: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 22px 22px 24px !important;
    gap: 12px !important;
    justify-content: flex-start !important;
  }

  body .main .section-hub-page .hub-nav-title,
  body .main .section-hub-page .toolhub-title,
  body .main .section-hub-page .hub-product-card h3,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title {
    font-size: 18px !important;
    line-height: 1.2 !important;
  }

  body .main .section-hub-page .hub-nav-desc,
  body .main .section-hub-page .toolhub-desc,
  body .main .section-hub-page .hub-product-card p,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc {
    font-size: 14.5px !important;
    line-height: 1.48 !important;
    max-width: none !important;
    -webkit-line-clamp: 4 !important;
  }

  body .main .section-hub-page .hub-product-actions,
  body .main .section-hub-page .toolhub-actions,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions {
    width: 100% !important;
    gap: 10px !important;
    margin-top: 4px !important;
  }

  body .main .section-hub-page .hub-nav-button,
  body .main .section-hub-page .hub-product-actions .btn,
  body .main .section-hub-page .toolhub-button,
  body .main .section-hub-page .dl-vote,
  body .main .section-hub-page .muted-action,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action {
    width: auto !important;
    min-height: 42px !important;
    padding: 11px 16px !important;
    font-size: 13.5px !important;
  }
}

@media (max-width: 390px) {
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid {
    gap: 14px !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card .hub-nav-content {
    min-height: 154px !important;
    padding: 16px 15px 18px !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-title {
    font-size: 16px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .main .section-hub-page .toolhub-grid,
  body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
    gap: 20px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
    padding: 20px 19px 22px !important;
  }
}



/* =========================================================
   v30 BREATHING ROOM OVERRIDE
   This sits last on purpose. It increases vertical space between inner cards
   and normalizes internal spacing so the list stops feeling compressed.
   ========================================================= */

body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
body .main .section-hub-page .toolhub-grid,
body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
  gap: 34px !important;
  row-gap: 34px !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page .toolhub-grid > .toolhub-card,
body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card {
  height: 236px !important;
  min-height: 236px !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page .hub-product-card > .image-slot,
body .main .section-hub-page .toolhub-card > .toolhub-thumb,
body .main .section-hub-page .toolhub-card > .hub-nav-media,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media {
  height: 236px !important;
  min-height: 236px !important;
  max-height: 236px !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page .hub-product-card > .body,
body .main .section-hub-page .toolhub-card > .toolhub-copy,
body .main .section-hub-page .toolhub-card > .hub-nav-content,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
  height: 236px !important;
  padding: 32px 36px !important;
  gap: 14px !important;
  justify-content: center !important;
}

body .main .section-hub-page .hub-nav-desc,
body .main .section-hub-page .toolhub-desc,
body .main .section-hub-page .hub-product-card p,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc {
  line-height: 1.5 !important;
  -webkit-line-clamp: 2 !important;
}

body .main .section-hub-page .hub-product-actions,
body .main .section-hub-page .toolhub-actions,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions {
  margin-top: 6px !important;
}

@media (max-width: 700px) {
  body .main .section-hub-page {
    padding-bottom: 36px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .main .section-hub-page .toolhub-grid,
  body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
    gap: 32px !important;
    row-gap: 32px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page .toolhub-grid > .toolhub-card,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card {
    height: auto !important;
    min-height: 0 !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page .hub-product-card > .image-slot,
  body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  body .main .section-hub-page .toolhub-card > .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
    height: auto !important;
    min-height: 0 !important;
    padding: 28px 24px 30px !important;
    gap: 16px !important;
    justify-content: flex-start !important;
  }

  body .main .section-hub-page .hub-nav-title,
  body .main .section-hub-page .toolhub-title,
  body .main .section-hub-page .hub-product-card h3,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title {
    line-height: 1.24 !important;
  }

  body .main .section-hub-page .hub-nav-desc,
  body .main .section-hub-page .toolhub-desc,
  body .main .section-hub-page .hub-product-card p,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc {
    font-size: 15px !important;
    line-height: 1.56 !important;
    -webkit-line-clamp: 5 !important;
  }

  body .main .section-hub-page .hub-nav-button,
  body .main .section-hub-page .hub-product-actions .btn,
  body .main .section-hub-page .toolhub-button,
  body .main .section-hub-page .dl-vote,
  body .main .section-hub-page .muted-action,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action {
    min-height: 46px !important;
    padding: 13px 18px !important;
  }
}

@media (max-width: 390px) {
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .main .section-hub-page .toolhub-grid,
  body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
    gap: 30px !important;
    row-gap: 30px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
    padding: 26px 22px 28px !important;
    gap: 15px !important;
  }
}

/* =========================================================
   v31 INNER CARD PRESENTATION RESET
   This is the final visual source of truth for inner/category page cards.
   The goal is not just “more gap”; it is a sane visual rhythm:
   compact, consistent cards with clearly separated rows.
   Dashboard tiles are intentionally scoped out.
   ========================================================= */

:root {
  --portal-inner-card-gap-desktop: 128px;
  --portal-inner-card-gap-mobile: 116px;
  --portal-inner-card-min-height: 188px;
  --portal-inner-card-image-width: clamp(210px, 18vw, 268px);
}

/* Dashboard safety: dashboard navigation cards stay as two-column tiles on mobile. */
@media (max-width: 700px) {
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(72,155,173,.18) !important;
  }

  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 164px !important;
    padding: 18px 17px 20px !important;
    gap: 10px !important;
    grid-column: auto !important;
  }
}

/* Inner pages: one clean vertical list with real separation between cards. */
body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
body .main .section-hub-page .toolhub-grid,
body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  grid-auto-flow: row !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: var(--portal-inner-card-gap-desktop) !important;
  row-gap: var(--portal-inner-card-gap-desktop) !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
body .main .section-hub-page .toolhub-grid > .toolhub-card,
body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card {
  display: grid !important;
  grid-template-columns: var(--portal-inner-card-image-width) minmax(0, 1fr) !important;
  grid-template-rows: minmax(var(--portal-inner-card-min-height), auto) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: var(--portal-inner-card-min-height) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(72,155,173,.28) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 18px 38px rgba(16,37,45,.13), 0 6px 16px rgba(16,37,45,.08) !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page .hub-product-card > .image-slot,
body .main .section-hub-page .toolhub-card > .toolhub-thumb,
body .main .section-hub-page .toolhub-card > .hub-nav-media,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media {
  display: block !important;
  grid-column: 1 !important;
  grid-row: 1 / -1 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: var(--portal-inner-card-min-height) !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-right: 1px solid rgba(72,155,173,.18) !important;
  border-bottom: 0 !important;
  border-radius: 0 !important;
  background: var(--primary-soft) !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media img,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media img,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media img,
body .main .section-hub-page .hub-product-card > .image-slot img,
body .main .section-hub-page .toolhub-card > .toolhub-thumb img,
body .main .section-hub-page .toolhub-card > .hub-nav-media img,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page .hub-product-card > .body,
body .main .section-hub-page .toolhub-card > .toolhub-copy,
body .main .section-hub-page .toolhub-card > .hub-nav-content,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
  display: flex !important;
  flex-direction: column !important;
  grid-column: 2 !important;
  justify-content: center !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: var(--portal-inner-card-min-height) !important;
  height: auto !important;
  padding: 22px 30px !important;
  gap: 10px !important;
  margin: 0 !important;
}

body .main .section-hub-page .hub-title-row,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-title-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
}

body .main .section-hub-page .hub-nav-title,
body .main .section-hub-page .toolhub-title,
body .main .section-hub-page .hub-product-card h3,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title {
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 760 !important;
  letter-spacing: -.01em !important;
  margin: 0 !important;
  max-width: none !important;
}

body .main .section-hub-page .hub-nav-desc,
body .main .section-hub-page .toolhub-desc,
body .main .section-hub-page .hub-product-card p,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc {
  font-size: 14.75px !important;
  line-height: 1.46 !important;
  max-width: 76ch !important;
  margin: 0 !important;
  color: var(--muted) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body .main .section-hub-page .hub-product-actions,
body .main .section-hub-page .toolhub-actions,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 4px 0 0 !important;
}

body .main .section-hub-page .hub-nav-button,
body .main .section-hub-page .hub-product-actions .btn,
body .main .section-hub-page .toolhub-button,
body .main .section-hub-page .dl-vote,
body .main .section-hub-page .muted-action,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-height: 40px !important;
  padding: 10px 15px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  margin: 0 !important;
  white-space: normal !important;
}

@media (max-width: 700px) {
  body .main .section-hub-page {
    padding-bottom: 48px !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid,
  body .main .section-hub-page .toolhub-grid,
  body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid {
    gap: var(--portal-inner-card-gap-mobile) !important;
    row-gap: var(--portal-inner-card-gap-mobile) !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  body .main .section-hub-page .toolhub-grid > .toolhub-card,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: none !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page .hub-product-card > .image-slot,
  body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  body .main .section-hub-page .toolhub-card > .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(72,155,173,.18) !important;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    grid-column: auto !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 24px 22px 26px !important;
    gap: 13px !important;
  }

  body .main .section-hub-page .hub-nav-title,
  body .main .section-hub-page .toolhub-title,
  body .main .section-hub-page .hub-product-card h3,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title {
    font-size: 18px !important;
    line-height: 1.22 !important;
  }

  body .main .section-hub-page .hub-nav-desc,
  body .main .section-hub-page .toolhub-desc,
  body .main .section-hub-page .hub-product-card p,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc {
    font-size: 14.5px !important;
    line-height: 1.52 !important;
    max-width: none !important;
    -webkit-line-clamp: 4 !important;
  }

  body .main .section-hub-page .hub-nav-button,
  body .main .section-hub-page .hub-product-actions .btn,
  body .main .section-hub-page .toolhub-button,
  body .main .section-hub-page .dl-vote,
  body .main .section-hub-page .muted-action,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action {
    min-height: 44px !important;
    padding: 12px 17px !important;
    font-size: 13.5px !important;
  }
}

@media (max-width: 390px) {
  :root {
    --portal-inner-card-gap-mobile: 108px;
  }

  body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-inner-row-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content {
    padding: 23px 21px 25px !important;
    gap: 12px !important;
  }
}



/* ============================================================
   v32 scoped card presentation reset appended after all older card rules.
   ============================================================ */
/* v32: scoped card presentation reset. Dashboard tiles and inner-page list cards are handled separately. */
:root{
  --ah-inner-card-gap-desktop:56px;
  --ah-inner-card-gap-mobile:64px;
  --ah-inner-card-image-desktop:clamp(230px,22vw,310px);
  --ah-inner-card-image-height:188px;
}

/* Dashboard default view: two real tiles on mobile, image on top, not row cards. */
@media (max-width:700px){
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:24px!important;
    row-gap:28px!important;
    align-items:stretch!important;
    width:100%!important;
  }
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/3!important;
    border-right:0!important;
    border-bottom:1px solid rgba(72,155,173,.18)!important;
  }
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    min-height:0!important;
    height:auto!important;
    padding:18px 16px 20px!important;
    gap:10px!important;
  }
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-title{
    font-size:18px!important;
    line-height:1.18!important;
    margin:0!important;
  }
  body .main .hub-home:not(.section-hub-page) > .hub-explore-section > [data-home-nav] .hub-nav-desc{
    font-size:14px!important;
    line-height:1.42!important;
    margin:0!important;
    -webkit-line-clamp:3!important;
  }
}

/* Inner pages: use margin as the failsafe, not just gap, because old grid rules have been fighting gap on mobile. */
body .main .section-hub-page [data-inner-row-grid],
body .main .section-hub-page .hub-inner-row-card-grid,
body .main .section-hub-page .toolhub-grid,
body .main .hub-home:not(.section-hub-page) [data-home-results]{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  grid-auto-flow:row!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
  row-gap:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}

body .main .section-hub-page [data-inner-row-grid] > *,
body .main .section-hub-page .hub-inner-row-card-grid > *,
body .main .section-hub-page .toolhub-grid > *,
body .main .hub-home:not(.section-hub-page) [data-home-results] > *{
  margin-top:0!important;
  margin-bottom:0!important;
}
body .main .section-hub-page [data-inner-row-grid] > * + *,
body .main .section-hub-page .hub-inner-row-card-grid > * + *,
body .main .section-hub-page .toolhub-grid > * + *,
body .main .hub-home:not(.section-hub-page) [data-home-results] > * + *{
  margin-top:var(--ah-inner-card-gap-desktop)!important;
}
body .main .section-hub-page .dl-subgroup + .dl-subgroup{
  margin-top:64px!important;
}

body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
body .main .section-hub-page [data-inner-row-grid] > .hub-product-card,
body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card,
body .main .section-hub-page .toolhub-grid > .toolhub-card,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card{
  display:grid!important;
  grid-template-columns:var(--ah-inner-card-image-desktop) minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-height:var(--ah-inner-card-image-height)!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(72,155,173,.30)!important;
  border-radius:12px!important;
  background:#fff!important;
  box-shadow:0 16px 34px rgba(16,37,45,.12),0 6px 14px rgba(16,37,45,.07)!important;
}

body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .section-hub-page .hub-product-card > .image-slot,
body .main .section-hub-page .toolhub-card > .toolhub-thumb,
body .main .section-hub-page .toolhub-card > .hub-nav-media,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
  display:block!important;
  grid-column:1!important;
  width:100%!important;
  height:100%!important;
  min-height:var(--ah-inner-card-image-height)!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  overflow:hidden!important;
  border-right:1px solid rgba(72,155,173,.18)!important;
  border-bottom:0!important;
  border-radius:0!important;
}
body .main .section-hub-page [data-inner-row-grid] img,
body .main .section-hub-page .hub-inner-row-card-grid img,
body .main .section-hub-page .toolhub-grid img,
body .main .hub-home:not(.section-hub-page) [data-home-results] img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .section-hub-page .hub-product-card > .body,
body .main .section-hub-page .toolhub-card > .toolhub-copy,
body .main .section-hub-page .toolhub-card > .hub-nav-content,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:28px 32px!important;
  gap:12px!important;
  margin:0!important;
}
body .main .section-hub-page .hub-title-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:8px 10px!important;
  margin:0!important;
  width:100%!important;
}
body .main .section-hub-page .hub-nav-title,
body .main .section-hub-page .toolhub-title,
body .main .section-hub-page .hub-product-card h3,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
  font-size:19px!important;
  line-height:1.22!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  margin:0!important;
}
body .main .section-hub-page .hub-nav-desc,
body .main .section-hub-page .toolhub-desc,
body .main .section-hub-page .hub-product-card p,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
  font-size:15px!important;
  line-height:1.5!important;
  max-width:78ch!important;
  margin:0!important;
  color:var(--muted)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
body .main .section-hub-page .hub-product-actions,
body .main .section-hub-page .toolhub-actions,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:4px!important;
}
body .main .section-hub-page .hub-nav-button,
body .main .section-hub-page .hub-product-actions .btn,
body .main .section-hub-page .toolhub-button,
body .main .section-hub-page .dl-vote,
body .main .section-hub-page .muted-action,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:42px!important;
  padding:11px 17px!important;
  border-radius:10px!important;
  font-size:13.75px!important;
  line-height:1!important;
  font-weight:800!important;
  margin:0!important;
  white-space:normal!important;
}

@media (max-width:700px){
  :root{--ah-inner-card-gap-mobile:64px;}
  body .main .section-hub-page [data-inner-row-grid] > * + *,
  body .main .section-hub-page .hub-inner-row-card-grid > * + *,
  body .main .section-hub-page .toolhub-grid > * + *,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > * + *{
    margin-top:var(--ah-inner-card-gap-mobile)!important;
  }
  body .main .section-hub-page .dl-subgroup + .dl-subgroup{
    margin-top:72px!important;
  }
  body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
  body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
  body .main .section-hub-page [data-inner-row-grid] > .hub-product-card,
  body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card,
  body .main .section-hub-page .toolhub-grid > .toolhub-card,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    min-height:0!important;
    width:100%!important;
    max-width:none!important;
  }
  body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .section-hub-page .hub-product-card > .image-slot,
  body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  body .main .section-hub-page .toolhub-card > .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/10!important;
    border-right:0!important;
    border-bottom:1px solid rgba(72,155,173,.18)!important;
  }
  body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
    padding:26px 22px 28px!important;
    gap:14px!important;
  }
  body .main .section-hub-page .hub-nav-title,
  body .main .section-hub-page .toolhub-title,
  body .main .section-hub-page .hub-product-card h3,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
    font-size:19px!important;
    line-height:1.22!important;
  }
  body .main .section-hub-page .hub-nav-desc,
  body .main .section-hub-page .toolhub-desc,
  body .main .section-hub-page .hub-product-card p,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
    font-size:15px!important;
    line-height:1.55!important;
    max-width:none!important;
    -webkit-line-clamp:4!important;
  }
  body .main .section-hub-page .hub-nav-button,
  body .main .section-hub-page .hub-product-actions .btn,
  body .main .section-hub-page .toolhub-button,
  body .main .section-hub-page .dl-vote,
  body .main .section-hub-page .muted-action,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
    min-height:46px!important;
    padding:13px 18px!important;
    font-size:14px!important;
  }
}

@media (max-width:390px){
  :root{--ah-inner-card-gap-mobile:58px;}
  body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  body .main .section-hub-page .hub-product-card > .body,
  body .main .section-hub-page .toolhub-card > .toolhub-copy,
  body .main .section-hub-page .toolhub-card > .hub-nav-content,
  body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content{
    padding:24px 20px 26px!important;
  }
}


/* ============================================================
   AH_V33_FINAL_CARD_LAYOUT_RESET
   This block intentionally targets the existing markup directly.
   It does not depend on newer helper classes being present.
   ============================================================ */

:root{
  --ah-v33-card-gap-desktop:64px;
  --ah-v33-card-gap-mobile:44px;
  --ah-v33-card-radius:12px;
  --ah-v33-card-border:1px solid rgba(72,155,173,.30);
  --ah-v33-card-shadow:0 16px 34px rgba(16,37,45,.12),0 6px 14px rgba(16,37,45,.07);
  --ah-v33-card-shadow-soft:0 10px 24px rgba(16,37,45,.10),0 4px 10px rgba(16,37,45,.06);
  --ah-v33-image-desktop:clamp(220px,22vw,300px);
  --ah-v33-row-height:184px;
}

/* Dashboard home tiles: always tiles, never sideways rows. */
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  row-gap:32px!important;
  width:100%!important;
  max-width:none!important;
  align-items:stretch!important;
  justify-content:stretch!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:var(--ah-v33-card-border)!important;
  border-radius:var(--ah-v33-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--ah-v33-card-shadow-soft)!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  border:0!important;
  border-bottom:1px solid rgba(72,155,173,.18)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-height:0!important;
  height:auto!important;
  padding:22px 22px 24px!important;
  gap:12px!important;
  margin:0!important;
}
html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-title{
  font-size:20px!important;
  line-height:1.18!important;
  font-weight:760!important;
  margin:0!important;
}
html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-desc{
  font-size:15px!important;
  line-height:1.45!important;
  margin:0!important;
  color:var(--muted)!important;
}
html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-button{
  margin-top:auto!important;
}

/* Inner pages and dashboard search results: one clean vertical list, with real separation. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid,
html body .main .hub-home.section-hub-page .toolhub-grid,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
html body .main .section-hub-page .toolhub-grid,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results]{
  display:block!important;
  grid-template-columns:none!important;
  grid-auto-flow:row!important;
  gap:0!important;
  row-gap:0!important;
  width:100%!important;
  max-width:none!important;
  justify-content:stretch!important;
  align-items:stretch!important;
  overflow:visible!important;
}
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > *,
html body .main .hub-home.section-hub-page .toolhub-grid > *,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > *,
html body .main .section-hub-page .toolhub-grid > *,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > *{
  margin:0!important;
}
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > * + *,
html body .main .hub-home.section-hub-page .toolhub-grid > * + *,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > * + *,
html body .main .section-hub-page .toolhub-grid > * + *,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > * + *{
  margin-top:var(--ah-v33-card-gap-desktop)!important;
}
html body .main .section-hub-page .dl-subgroup + .dl-subgroup{
  margin-top:72px!important;
}

/* Inner row cards: compact, consistent, not giant white slabs. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
  display:grid!important;
  grid-template-columns:var(--ah-v33-image-desktop) minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-height:var(--ah-v33-row-height)!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:var(--ah-v33-card-border)!important;
  border-radius:var(--ah-v33-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--ah-v33-card-shadow)!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .hub-product-card > .image-slot,
html body .main .section-hub-page .toolhub-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-card > .toolhub-thumb,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
  display:block!important;
  grid-column:1!important;
  width:100%!important;
  height:100%!important;
  min-height:var(--ah-v33-row-height)!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border:0!important;
  border-right:1px solid rgba(72,155,173,.18)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media img,
html body .main .section-hub-page .hub-product-card > .image-slot img,
html body .main .section-hub-page .toolhub-card img,
html body .main .hub-home:not(.section-hub-page) [data-home-results] img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .hub-product-card > .body,
html body .main .section-hub-page .toolhub-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-card > .toolhub-copy,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  padding:24px 30px!important;
  gap:10px!important;
  margin:0!important;
}
html body .main .section-hub-page .hub-title-row,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-title-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:8px 10px!important;
  margin:0!important;
  width:100%!important;
}
html body .main .section-hub-page .hub-nav-title,
html body .main .section-hub-page .toolhub-title,
html body .main .section-hub-page .hub-product-card h3,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
  font-size:19px!important;
  line-height:1.22!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  margin:0!important;
}
html body .main .section-hub-page .hub-nav-desc,
html body .main .section-hub-page .toolhub-desc,
html body .main .section-hub-page .hub-product-card p,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
  font-size:15px!important;
  line-height:1.5!important;
  max-width:82ch!important;
  margin:0!important;
  color:var(--muted)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
html body .main .section-hub-page .hub-product-actions,
html body .main .section-hub-page .toolhub-actions,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:6px!important;
}
html body .main .section-hub-page .hub-nav-button,
html body .main .section-hub-page .hub-product-actions .btn,
html body .main .section-hub-page .toolhub-button,
html body .main .section-hub-page .dl-vote,
html body .main .section-hub-page .muted-action,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:42px!important;
  padding:11px 17px!important;
  border-radius:10px!important;
  font-size:13.75px!important;
  line-height:1!important;
  font-weight:800!important;
  margin:0!important;
  white-space:normal!important;
}

@media (max-width:700px){
  html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:22px!important;
    row-gap:28px!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content{
    padding:16px 14px 18px!important;
    gap:9px!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-title{
    font-size:17px!important;
    line-height:1.16!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-desc{
    font-size:13.25px!important;
    line-height:1.38!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-button{
    min-height:40px!important;
    padding:10px 12px!important;
    font-size:13px!important;
  }

  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > * + *,
  html body .main .hub-home.section-hub-page .toolhub-grid > * + *,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > * + *,
  html body .main .section-hub-page .toolhub-grid > * + *,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > * + *{
    margin-top:var(--ah-v33-card-gap-mobile)!important;
  }
  html body .main .section-hub-page .dl-subgroup + .dl-subgroup{
    margin-top:58px!important;
  }

  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .hub-product-card > .image-slot,
  html body .main .section-hub-page .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    border:0!important;
    border-bottom:1px solid rgba(72,155,173,.18)!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
    padding:24px 22px 26px!important;
    gap:13px!important;
    justify-content:flex-start!important;
  }
  html body .main .section-hub-page .hub-nav-title,
  html body .main .section-hub-page .toolhub-title,
  html body .main .section-hub-page .hub-product-card h3,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
    font-size:19px!important;
    line-height:1.22!important;
  }
  html body .main .section-hub-page .hub-nav-desc,
  html body .main .section-hub-page .toolhub-desc,
  html body .main .section-hub-page .hub-product-card p,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
    font-size:15px!important;
    line-height:1.52!important;
    max-width:none!important;
    -webkit-line-clamp:4!important;
  }
  html body .main .section-hub-page .hub-nav-button,
  html body .main .section-hub-page .hub-product-actions .btn,
  html body .main .section-hub-page .toolhub-button,
  html body .main .section-hub-page .dl-vote,
  html body .main .section-hub-page .muted-action,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
    min-height:46px!important;
    padding:13px 18px!important;
    font-size:14px!important;
  }
}

@media (max-width:390px){
  :root{--ah-v33-card-gap-mobile:40px;}
  html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
    gap:18px!important;
    row-gap:24px!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy{
    padding:22px 20px 24px!important;
  }
}

/* ============================================================
   AH_V34_VERIFIED_CARD_LAYOUT_RESET
   Final override after the older patch stack.
   Fixes the actual failure in v33: older high-specificity card rules
   were still winning with margin:0!important, so card separation now
   targets the real card classes directly with higher specificity.
   ============================================================ */
:root{
  --ah-v34-inner-gap-desktop:56px;
  --ah-v34-inner-gap-mobile:48px;
  --ah-v34-inner-card-height:212px;
  --ah-v34-inner-image-width:clamp(240px,22vw,320px);
  --ah-v34-card-radius:12px;
  --ah-v34-card-border:1px solid rgba(72,155,173,.30);
  --ah-v34-card-shadow:0 14px 30px rgba(16,37,45,.11),0 5px 12px rgba(16,37,45,.06);
}

/* Dashboard: keep the home page as two tiles with image on top. */
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:28px!important;
  row-gap:32px!important;
  width:100%!important;
  max-width:none!important;
  align-items:stretch!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:var(--ah-v34-card-border)!important;
  border-radius:var(--ah-v34-card-radius)!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(16,37,45,.09)!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  border:0!important;
  border-bottom:1px solid rgba(72,155,173,.18)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:20px 20px 22px!important;
  gap:11px!important;
  margin:0!important;
}

/* Inner pages: make the container a true vertical list. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
html body .main .section-hub-page .toolhub-grid,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results]{
  display:block!important;
  grid-template-columns:none!important;
  grid-auto-flow:row!important;
  gap:0!important;
  row-gap:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}

/* Reset only the real card elements, then add separation with stronger specificity. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
  margin:0!important;
}
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card:not(:first-child),
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card:not(:first-child),
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card:not(:first-child),
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card:not(:first-child),
html body .main .section-hub-page .toolhub-grid > .toolhub-card:not(:first-child),
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card:not(:first-child),
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card:not(:first-child){
  margin-top:var(--ah-v34-inner-gap-desktop)!important;
}

/* Desktop inner card presentation: consistent row cards, consistent height, consistent padding. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
  display:grid!important;
  grid-template-columns:var(--ah-v34-inner-image-width) minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  height:var(--ah-v34-inner-card-height)!important;
  min-height:var(--ah-v34-inner-card-height)!important;
  padding:0!important;
  overflow:hidden!important;
  border:var(--ah-v34-card-border)!important;
  border-radius:var(--ah-v34-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--ah-v34-card-shadow)!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .hub-product-card > .image-slot,
html body .main .section-hub-page .toolhub-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-card > .toolhub-thumb,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border:0!important;
  border-right:1px solid rgba(72,155,173,.18)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media img,
html body .main .section-hub-page .hub-product-card > .image-slot img,
html body .main .section-hub-page .toolhub-card img,
html body .main .hub-home:not(.section-hub-page) [data-home-results] img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .hub-product-card > .body,
html body .main .section-hub-page .toolhub-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-card > .toolhub-copy,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  min-width:0!important;
  height:100%!important;
  padding:24px 30px!important;
  gap:10px!important;
  margin:0!important;
}
html body .main .section-hub-page .hub-title-row,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-title-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:8px 10px!important;
  margin:0!important;
  width:100%!important;
}
html body .main .section-hub-page .hub-nav-title,
html body .main .section-hub-page .toolhub-title,
html body .main .section-hub-page .hub-product-card h3,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
  font-size:19px!important;
  line-height:1.22!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  margin:0!important;
}
html body .main .section-hub-page .hub-nav-desc,
html body .main .section-hub-page .toolhub-desc,
html body .main .section-hub-page .hub-product-card p,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
  font-size:15px!important;
  line-height:1.5!important;
  max-width:82ch!important;
  margin:0!important;
  color:var(--muted)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
html body .main .section-hub-page .hub-product-actions,
html body .main .section-hub-page .toolhub-actions,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:6px!important;
}
html body .main .section-hub-page .hub-nav-button,
html body .main .section-hub-page .hub-product-actions .btn,
html body .main .section-hub-page .toolhub-button,
html body .main .section-hub-page .dl-vote,
html body .main .section-hub-page .muted-action,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:44px!important;
  padding:12px 18px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  margin:0!important;
  white-space:normal!important;
}

@media (max-width:700px){
  :root{
    --ah-v34-inner-gap-mobile:48px;
  }
  html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    row-gap:24px!important;
  }
  html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content{
    padding:16px 14px 18px!important;
    gap:9px!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-title{
    font-size:17px!important;
    line-height:1.16!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-desc{
    font-size:13.25px!important;
    line-height:1.38!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  html body .main .hub-home:not(.section-hub-page) [data-home-nav] .hub-nav-button{
    min-height:40px!important;
    padding:10px 12px!important;
    font-size:13px!important;
  }

  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card:not(:first-child),
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card:not(:first-child),
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card:not(:first-child),
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card:not(:first-child),
  html body .main .section-hub-page .toolhub-grid > .toolhub-card:not(:first-child),
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card:not(:first-child),
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card:not(:first-child){
    margin-top:var(--ah-v34-inner-gap-mobile)!important;
  }

  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
    height:auto!important;
    min-height:0!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .hub-product-card > .image-slot,
  html body .main .section-hub-page .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    border:0!important;
    border-bottom:1px solid rgba(72,155,173,.18)!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
    height:auto!important;
    padding:24px 22px 26px!important;
    gap:13px!important;
    justify-content:flex-start!important;
  }
  html body .main .section-hub-page .hub-nav-title,
  html body .main .section-hub-page .toolhub-title,
  html body .main .section-hub-page .hub-product-card h3,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
    font-size:19px!important;
    line-height:1.22!important;
  }
  html body .main .section-hub-page .hub-nav-desc,
  html body .main .section-hub-page .toolhub-desc,
  html body .main .section-hub-page .hub-product-card p,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
    font-size:15px!important;
    line-height:1.52!important;
    max-width:none!important;
    -webkit-line-clamp:4!important;
  }
  html body .main .section-hub-page .hub-nav-button,
  html body .main .section-hub-page .hub-product-actions .btn,
  html body .main .section-hub-page .toolhub-button,
  html body .main .section-hub-page .dl-vote,
  html body .main .section-hub-page .muted-action,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
    min-height:46px!important;
    padding:13px 18px!important;
    font-size:14px!important;
  }
}

@media (max-width:390px){
  :root{--ah-v34-inner-gap-mobile:44px;}
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy{
    padding:22px 20px 24px!important;
  }
}

/* ============================================================
   AH_V35_PORTAL_CARD_LAYOUT_ACTUAL_FIX
   Final layout decision:
   - Dashboard tiles stay 2-column cards with image on top.
   - Inner pages are vertical row cards on desktop and mobile.
   - Inner card copy is top-aligned, not centered in a blank slab.
   - Card spacing uses direct sibling margins so old gap rules cannot erase it.
   ============================================================ */
:root{
  --ah-v35-inner-gap-desktop:44px;
  --ah-v35-inner-gap-mobile:40px;
  --ah-v35-inner-card-min-height:220px;
  --ah-v35-inner-image-width:clamp(260px,22vw,360px);
  --ah-v35-card-radius:12px;
  --ah-v35-card-border:1px solid rgba(72,155,173,.30);
  --ah-v35-card-shadow:0 14px 30px rgba(16,37,45,.11),0 5px 12px rgba(16,37,45,.06);
}

/* Keep dashboard/home navigation tiles separate: two columns, image on top. */
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  row-gap:28px!important;
  align-items:stretch!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card{
  display:flex!important;
  flex-direction:column!important;
  grid-template-columns:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-media{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4/3!important;
  border-right:0!important;
  border-bottom:1px solid rgba(72,155,173,.18)!important;
}
html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav] > .hub-nav-card.hub-image-card > .hub-nav-content{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  height:auto!important;
  padding:18px 18px 20px!important;
  gap:10px!important;
}

/* Inner page list containers: no grid gaps, no auto-fit columns. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid,
html body .main .section-hub-page .toolhub-grid,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results]{
  display:block!important;
  grid-template-columns:none!important;
  grid-auto-flow:row!important;
  gap:0!important;
  row-gap:0!important;
  column-gap:0!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}

/* Start with zero margin, then add visible separation only between cards. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
  margin:0!important;
}
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card + .hub-product-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card + .toolhub-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card + .hub-product-card{
  margin-top:var(--ah-v35-inner-gap-desktop)!important;
}
/* Fallback for mixed card types. */
html body .main .section-hub-page [data-hub-card-grid] > [data-hub-card]:not(:first-child),
html body .main .section-hub-page [data-inner-row-grid] > [data-hub-card]:not(:first-child){
  margin-top:var(--ah-v35-inner-gap-desktop)!important;
}

/* Desktop/tablet inner cards: row card, image left, copy top-left. */
html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
  display:grid!important;
  grid-template-columns:var(--ah-v35-inner-image-width) minmax(0,1fr)!important;
  flex-direction:initial!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-height:var(--ah-v35-inner-card-min-height)!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border:var(--ah-v35-card-border)!important;
  border-radius:var(--ah-v35-card-radius)!important;
  background:#fff!important;
  box-shadow:var(--ah-v35-card-shadow)!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .hub-product-card > .image-slot,
html body .main .section-hub-page .toolhub-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-card > .toolhub-thumb,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:100%!important;
  min-height:var(--ah-v35-inner-card-min-height)!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border:0!important;
  border-right:1px solid rgba(72,155,173,.18)!important;
  border-bottom:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media img,
html body .main .section-hub-page .hub-product-card > .image-slot img,
html body .main .section-hub-page .toolhub-card img,
html body .main .hub-home:not(.section-hub-page) [data-home-results] img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .hub-product-card > .body,
html body .main .section-hub-page .toolhub-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-card > .toolhub-copy,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:30px 34px 28px!important;
  gap:11px!important;
  margin:0!important;
  align-self:start!important;
}
html body .main .section-hub-page .hub-title-row,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-title-row{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-start!important;
  gap:8px 10px!important;
  margin:0!important;
  width:100%!important;
}
html body .main .section-hub-page .hub-nav-title,
html body .main .section-hub-page .toolhub-title,
html body .main .section-hub-page .hub-product-card h3,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
  font-size:19px!important;
  line-height:1.22!important;
  font-weight:760!important;
  letter-spacing:-.01em!important;
  margin:0!important;
  max-width:none!important;
}
html body .main .section-hub-page .hub-nav-desc,
html body .main .section-hub-page .toolhub-desc,
html body .main .section-hub-page .hub-product-card p,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
  font-size:15px!important;
  line-height:1.5!important;
  max-width:78ch!important;
  margin:0!important;
  color:var(--muted)!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
html body .main .section-hub-page .hub-product-actions,
html body .main .section-hub-page .toolhub-actions,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:8px!important;
}
html body .main .section-hub-page .hub-nav-button,
html body .main .section-hub-page .hub-product-actions .btn,
html body .main .section-hub-page .toolhub-button,
html body .main .section-hub-page .dl-vote,
html body .main .section-hub-page .muted-action,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:44px!important;
  padding:12px 18px!important;
  border-radius:10px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  margin:0!important;
  white-space:normal!important;
}

@media (max-width:700px){
  :root{
    --ah-v35-inner-gap-mobile:40px;
    --ah-v35-inner-card-min-height:184px;
  }
  html body .main .hub-home:not(.section-hub-page) > .hub-explore-section > .hub-card-grid.hub-image-card-grid[data-home-nav]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;
    row-gap:24px!important;
  }

  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card + .hub-product-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card + .toolhub-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card + .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card + .hub-product-card,
  html body .main .section-hub-page [data-hub-card-grid] > [data-hub-card]:not(:first-child),
  html body .main .section-hub-page [data-inner-row-grid] > [data-hub-card]:not(:first-child){
    margin-top:var(--ah-v35-inner-gap-mobile)!important;
  }

  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
    display:grid!important;
    grid-template-columns:118px minmax(0,1fr)!important;
    flex-direction:initial!important;
    min-height:var(--ah-v35-inner-card-min-height)!important;
    height:auto!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .hub-product-card > .image-slot,
  html body .main .section-hub-page .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-card > .toolhub-thumb,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .image-slot{
    width:100%!important;
    height:100%!important;
    min-height:var(--ah-v35-inner-card-min-height)!important;
    aspect-ratio:auto!important;
    border-right:1px solid rgba(72,155,173,.18)!important;
    border-bottom:0!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] > .hub-product-card > .body{
    padding:18px 16px!important;
    gap:8px!important;
    justify-content:flex-start!important;
    align-self:start!important;
  }
  html body .main .section-hub-page .hub-nav-title,
  html body .main .section-hub-page .toolhub-title,
  html body .main .section-hub-page .hub-product-card h3,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-title{
    font-size:16.5px!important;
    line-height:1.22!important;
  }
  html body .main .section-hub-page .hub-nav-desc,
  html body .main .section-hub-page .toolhub-desc,
  html body .main .section-hub-page .hub-product-card p,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-desc{
    font-size:13.5px!important;
    line-height:1.42!important;
    max-width:none!important;
    -webkit-line-clamp:3!important;
  }
  html body .main .section-hub-page .hub-product-actions,
  html body .main .section-hub-page .toolhub-actions,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions{
    margin-top:6px!important;
    gap:8px!important;
  }
  html body .main .section-hub-page .hub-nav-button,
  html body .main .section-hub-page .hub-product-actions .btn,
  html body .main .section-hub-page .toolhub-button,
  html body .main .section-hub-page .dl-vote,
  html body .main .section-hub-page .muted-action,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
    min-height:40px!important;
    padding:10px 14px!important;
    font-size:13.25px!important;
  }
}

@media (max-width:390px){
  :root{
    --ah-v35-inner-gap-mobile:38px;
    --ah-v35-inner-card-min-height:178px;
  }
  html body .main .hub-home.section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) .hub-card-grid.hub-image-card-grid[data-home-results] > .hub-product-card{
    grid-template-columns:108px minmax(0,1fr)!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy{
    padding:16px 14px!important;
  }
}

/* AH_V35_SPECIFICITY_LOCK: beat the old .hub-nav-card.hub-image-card content rules. */
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card.toolhub-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card.toolhub-card > .hub-nav-content,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .body,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .body{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  align-self:start!important;
  height:auto!important;
  min-height:0!important;
  padding:30px 34px 28px!important;
  gap:11px!important;
}
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-title,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-title,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card h3,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-title,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card h3{
  font-size:19px!important;
  line-height:1.22!important;
  font-weight:760!important;
  margin:0!important;
}
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-desc,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-desc,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card p,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-desc,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card p{
  font-size:15px!important;
  line-height:1.5!important;
  max-width:78ch!important;
  margin:0!important;
  -webkit-line-clamp:2!important;
}
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-button,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-button,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card .hub-product-actions .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-button,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card .hub-product-actions .btn{
  min-height:44px!important;
  height:auto!important;
  padding:12px 18px!important;
  font-size:14px!important;
  line-height:1!important;
  margin-top:8px!important;
  margin-bottom:0!important;
}
@media(max-width:700px){
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card.toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card.toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .body,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .body{
    padding:18px 16px!important;
    gap:8px!important;
    justify-content:flex-start!important;
  }
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-title,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-title,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card h3,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-title,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card h3{
    font-size:16.5px!important;
    line-height:1.22!important;
  }
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-desc,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-desc,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card p,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-desc,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card p{
    font-size:13.5px!important;
    line-height:1.42!important;
    -webkit-line-clamp:3!important;
  }
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-button,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-button,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card .hub-product-actions .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-button,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card .hub-product-actions .btn{
    min-height:40px!important;
    padding:10px 14px!important;
    font-size:13.25px!important;
    margin-top:6px!important;
  }
}
@media(max-width:390px){
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .body{
    padding:16px 14px!important;
  }
}
/* AH_V35_BUTTON_BOX_LOCK: min-height means total height, not content-box + padding. */
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-button,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card .hub-nav-button,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card .hub-product-actions .btn,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card .dl-vote,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card .muted-action,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card .hub-nav-button,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card .hub-product-actions .btn{
  box-sizing:border-box!important;
}
/* AH_V35_CARD_SIZE_LOCK: beat old media min-height rules that made desktop cards too slabby. */
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card{
  min-height:220px!important;
  height:auto!important;
}
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-thumb,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot{
  min-height:220px!important;
}
@media(max-width:700px){
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card{
    min-height:184px!important;
  }
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-thumb,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot{
    min-height:184px!important;
  }
}
@media(max-width:390px){
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card{
    min-height:178px!important;
  }
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-thumb,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot{
    min-height:178px!important;
  }
}
/* AH_V35_IMAGE_HEIGHT_LOCK: stop image intrinsic ratio from making row cards taller. */
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-media > img,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-thumb > img,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot > img,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot > img{
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
}


/* ============================================================
   CANONICAL CARD BLOCK (single source of truth) — replaces the
   conflicting image-slot height rules and tk-tool-card defs above.
   ============================================================ */

/* product cards: image sits on TOP, fixed consistent height, everywhere */
.product-card{display:flex!important;flex-direction:column!important;}
.product-card .image-slot,
.product-card .image-slot.has-image,
.product-card .image-slot:not(.has-image),
.product-card .image-slot.placeholder{
  width:100%!important;
  height:180px!important;
  min-height:180px!important;
  aspect-ratio:auto!important;
  border:0!important;
  border-bottom:1px solid var(--line-soft)!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.product-card .image-slot img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.product-card .body{display:flex!important;flex-direction:column!important;gap:10px!important;padding:20px!important;flex:1!important;}

/* horizontal coming-soon row: keep cards equal width, image equal height */
.card-grid.product-grid,.hub-image-card-grid{align-items:stretch!important;}
.card-grid.product-grid .product-card,.hub-image-card-grid .product-card{height:100%!important;}

/* inner tool-page cards: one consistent size, image left, equal heights */
.tk-tool-card{
  display:grid!important;
  grid-template-columns:104px minmax(0,1fr)!important;
  gap:0!important;
  align-items:stretch!important;
  min-height:140px!important;
  height:100%!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(16,37,45,.04),0 10px 24px rgba(16,37,45,.05)!important;
  overflow:hidden!important;
  text-decoration:none!important;
  color:var(--ink)!important;
}
.tk-tool-card .image-slot,.tk-tool-card .toolhub-thumb{width:104px!important;height:auto!important;min-height:100%!important;align-self:stretch!important;}
.tk-tool-card .image-slot img,.tk-tool-card .toolhub-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;}
.tk-tool-card .tk-tool-body,.tk-tool-card .body,.toolhub-card .toolhub-body{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:7px!important;padding:18px 20px!important;min-width:0!important;}
.tk-grid,.toolhub-grid{align-items:stretch!important;}

/* favorite star — visible, top-right of every product card */
.product-card{position:relative!important;}
.product-card .pc-fav{
  position:absolute!important;top:12px!important;right:12px!important;z-index:5!important;
  width:36px!important;height:36px!important;border:0!important;cursor:pointer!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border-radius:999px!important;background:rgba(255,255,255,.92)!important;
  box-shadow:0 2px 8px rgba(16,37,45,.18)!important;transition:transform .14s ease,background .18s ease!important;padding:0!important;
}
.product-card .pc-fav:hover{transform:scale(1.08)!important;background:#fff!important;}
.product-card .pc-fav:active{transform:scale(.92)!important;}
.product-card .pc-fav svg{width:20px!important;height:20px!important;fill:none!important;stroke:#489BAD!important;stroke-width:2!important;}
.product-card .pc-fav[aria-pressed="true"] svg{fill:#489BAD!important;stroke:#489BAD!important;}


/* AH_V38_FINAL_FAVORITES_AND_ACTION_BUTTON_ALIGNMENT */
html body .main .hub-product-actions,
html body .main .dl-interest,
html body .main .product-interest{
  display:flex!important;
  align-items:center!important;
  align-content:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:auto!important;
}
html body .main .hub-product-actions > form,
html body .main .dl-interest > form,
html body .main .product-interest > form{
  display:inline-flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  height:48px!important;
  max-height:48px!important;
  flex:0 0 auto!important;
}
html body .main .hub-product-actions .btn,
html body .main .hub-product-actions .btn.primary,
html body .main .hub-product-actions .dl-vote,
html body .main .dl-interest .btn,
html body .main .dl-interest .btn.primary,
html body .main .dl-interest .dl-vote,
html body .main .product-interest .btn,
html body .main .product-interest .btn.primary,
html body .main .product-interest .dl-vote{
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  padding:0 18px!important;
  margin:0!important;
  line-height:1!important;
  vertical-align:top!important;
  white-space:nowrap!important;
  transform:none!important;
}
html body .main .hub-product-actions .btn,
html body .main .hub-product-actions .btn.primary,
html body .main .dl-interest .btn,
html body .main .dl-interest .btn.primary,
html body .main .product-interest .btn,
html body .main .product-interest .btn.primary{
  min-width:0!important;
}
html body .main .hub-product-actions .dl-vote,
html body .main .dl-interest .dl-vote,
html body .main .product-interest .dl-vote{
  min-width:126px!important;
}
html body .main .dl-vote > span,
html body .main .dl-vote .dl-vote-text{
  display:inline-flex!important;
  align-items:center!important;
  line-height:1!important;
  position:static!important;
  transform:none!important;
  top:auto!important;
  margin:0!important;
  padding:0!important;
}
html body .main .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card.toolhub-card,
html body .main .hub-card-grid.hub-image-card-grid > .hub-product-card.toolhub-card{
  position:relative!important;
}
html body .main .toolhub-card .dl-fav-form,
html body .main .hub-product-card .dl-fav-form{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  z-index:12!important;
  margin:0!important;
}
html body .main .toolhub-card .dl-fav,
html body .main .hub-product-card .dl-fav{
  width:36px!important;
  height:36px!important;
}
@media(max-width:560px){
  html body .main .hub-product-actions,
  html body .main .dl-interest,
  html body .main .product-interest{gap:8px!important;}
  html body .main .hub-product-actions > form,
  html body .main .dl-interest > form,
  html body .main .product-interest > form,
  html body .main .hub-product-actions .btn,
  html body .main .hub-product-actions .btn.primary,
  html body .main .hub-product-actions .dl-vote,
  html body .main .dl-interest .btn,
  html body .main .dl-interest .btn.primary,
  html body .main .dl-interest .dl-vote,
  html body .main .product-interest .btn,
  html body .main .product-interest .btn.primary,
  html body .main .product-interest .dl-vote{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
  }
  html body .main .hub-product-actions .btn,
  html body .main .hub-product-actions .btn.primary,
  html body .main .hub-product-actions .dl-vote,
  html body .main .dl-interest .btn,
  html body .main .dl-interest .btn.primary,
  html body .main .dl-interest .dl-vote,
  html body .main .product-interest .btn,
  html body .main .product-interest .btn.primary,
  html body .main .product-interest .dl-vote{padding:0 14px!important;}
  html body .main .hub-product-actions .dl-vote,
  html body .main .dl-interest .dl-vote,
  html body .main .product-interest .dl-vote{min-width:112px!important;}
}



/* ============================================================
   AH_V39_BUTTON_AND_FAVORITE_REPAIR
   Purpose: keep the Tools & Apps favorite feature, but restore the
   portal-wide favorite/button styling and stop forms from throwing
   vote/waitlist buttons out of alignment.
   ============================================================ */
:root{
  --ah-action-button-height:48px;
  --ah-action-button-height-mobile:44px;
  --ah-fav-size:42px;
  --ah-fav-offset:18px;
  --ah-fav-size-mobile:38px;
  --ah-fav-offset-mobile:14px;
}

html body .main .section-hub-page .hub-product-actions,
html body .main .section-hub-page .dl-interest,
html body .main .section-hub-page .product-interest,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest{
  display:flex!important;
  align-items:center!important;
  align-content:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin:10px 0 0!important;
  padding:0!important;
}

html body .main .section-hub-page .hub-product-actions > form,
html body .main .section-hub-page .dl-interest > form,
html body .main .section-hub-page .product-interest > form,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions > form,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest > form,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest > form{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  height:var(--ah-action-button-height)!important;
  min-height:var(--ah-action-button-height)!important;
  max-height:var(--ah-action-button-height)!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  flex:0 0 auto!important;
  vertical-align:middle!important;
}

html body .main .section-hub-page .hub-nav-button,
html body .main .section-hub-page .hub-product-actions .btn,
html body .main .section-hub-page .hub-product-actions .btn.primary,
html body .main .section-hub-page .dl-interest .btn,
html body .main .section-hub-page .dl-interest .btn.primary,
html body .main .section-hub-page .product-interest .btn,
html body .main .section-hub-page .product-interest .btn.primary,
html body .main .section-hub-page .dl-vote,
html body .main .section-hub-page .muted-action,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn.primary,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest .btn.primary,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest .btn,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest .btn.primary,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  gap:8px!important;
  height:var(--ah-action-button-height)!important;
  min-height:var(--ah-action-button-height)!important;
  max-height:var(--ah-action-button-height)!important;
  width:auto!important;
  max-width:none!important;
  padding:0 22px!important;
  margin:0!important;
  line-height:1!important;
  vertical-align:middle!important;
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  white-space:nowrap!important;
  text-decoration:none!important;
  border-radius:10px!important;
}

html body .main .section-hub-page .dl-vote,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote{
  min-width:124px!important;
  border:1px solid rgba(72,155,173,.35)!important;
  background:#fff!important;
  color:var(--ink,#071f29)!important;
  box-shadow:none!important;
}
html body .main .section-hub-page .dl-vote.on,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote.on{
  background:var(--primary-soft,#eef8fa)!important;
  border-color:#a9d0d8!important;
  color:#0e6473!important;
}
html body .main .section-hub-page .dl-vote > span,
html body .main .section-hub-page .dl-vote .dl-vote-text,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote > span,
html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote .dl-vote-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  transform:none!important;
  top:auto!important;
  clip:auto!important;
  overflow:visible!important;
  color:inherit!important;
  font-size:inherit!important;
  white-space:nowrap!important;
}

html body .main .hub-nav-card,
html body .main .hub-product-card,
html body .main .product-card{
  position:relative!important;
}
html body .main .hub-nav-card .dl-fav-form,
html body .main .hub-product-card .dl-fav-form,
html body .main .section-hub-page .dl-fav-form,
html body .main .hub-home .dl-fav-form{
  position:absolute!important;
  top:var(--ah-fav-offset)!important;
  right:var(--ah-fav-offset)!important;
  z-index:40!important;
  display:block!important;
  width:var(--ah-fav-size)!important;
  height:var(--ah-fav-size)!important;
  min-width:var(--ah-fav-size)!important;
  min-height:var(--ah-fav-size)!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
html body .main .hub-nav-card .dl-fav,
html body .main .hub-product-card .dl-fav,
html body .main .section-hub-page .dl-fav,
html body .main .hub-home .dl-fav,
html body .main .product-card .pc-fav{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--ah-fav-size)!important;
  height:var(--ah-fav-size)!important;
  min-width:var(--ah-fav-size)!important;
  min-height:var(--ah-fav-size)!important;
  max-width:var(--ah-fav-size)!important;
  max-height:var(--ah-fav-size)!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(72,155,173,.42)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#489BAD!important;
  box-shadow:0 10px 22px rgba(16,37,45,.18),0 0 0 4px rgba(255,255,255,.62)!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  z-index:41!important;
  line-height:1!important;
  transform:none!important;
}
html body .main .product-card .pc-fav{
  position:absolute!important;
  top:var(--ah-fav-offset)!important;
  right:var(--ah-fav-offset)!important;
}
html body .main .hub-nav-card .dl-fav:hover,
html body .main .hub-product-card .dl-fav:hover,
html body .main .product-card .pc-fav:hover{
  border-color:#489BAD!important;
  background:#fff!important;
  transform:translateY(-1px)!important;
}
html body .main .hub-nav-card .dl-fav-star,
html body .main .hub-product-card .dl-fav-star,
html body .main .section-hub-page .dl-fav-star,
html body .main .hub-home .dl-fav-star{
  display:block!important;
  color:#489BAD!important;
  font-size:22px!important;
  font-weight:800!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
  text-shadow:none!important;
}
html body .main .hub-nav-card .dl-fav.on,
html body .main .hub-product-card .dl-fav.on,
html body .main .section-hub-page .dl-fav.on,
html body .main .hub-home .dl-fav.on,
html body .main .product-card .pc-fav[aria-pressed="true"]{
  background:#f2fafb!important;
  border-color:#489BAD!important;
}
html body .main .hub-nav-card .dl-fav.on .dl-fav-star,
html body .main .hub-product-card .dl-fav.on .dl-fav-star,
html body .main .section-hub-page .dl-fav.on .dl-fav-star,
html body .main .hub-home .dl-fav.on .dl-fav-star{
  color:#489BAD!important;
}
html body .main .product-card .pc-fav svg{
  width:22px!important;
  height:22px!important;
  stroke:#489BAD!important;
  stroke-width:2.2!important;
  fill:none!important;
}
html body .main .product-card .pc-fav[aria-pressed="true"] svg{
  fill:#489BAD!important;
  stroke:#489BAD!important;
}
html body .main .hub-nav-card:has(.dl-fav-form) > .hub-nav-content,
html body .main .hub-product-card:has(.dl-fav-form) > .hub-nav-content,
html body .main .hub-product-card:has(.dl-fav-form) > .body,
html body .main .product-card:has(.pc-fav) > .body{
  padding-right:max(72px,calc(var(--ah-fav-size) + var(--ah-fav-offset) + 18px))!important;
}

@media(max-width:700px){
  :root{
    --ah-action-button-height:var(--ah-action-button-height-mobile);
    --ah-fav-size:var(--ah-fav-size-mobile);
    --ah-fav-offset:var(--ah-fav-offset-mobile);
  }
  html body .main .section-hub-page .hub-product-actions,
  html body .main .section-hub-page .dl-interest,
  html body .main .section-hub-page .product-interest,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest{
    gap:8px!important;
    margin-top:9px!important;
  }
  html body .main .section-hub-page .hub-nav-button,
  html body .main .section-hub-page .hub-product-actions .btn,
  html body .main .section-hub-page .hub-product-actions .btn.primary,
  html body .main .section-hub-page .dl-interest .btn,
  html body .main .section-hub-page .dl-interest .btn.primary,
  html body .main .section-hub-page .product-interest .btn,
  html body .main .section-hub-page .product-interest .btn.primary,
  html body .main .section-hub-page .dl-vote,
  html body .main .section-hub-page .muted-action,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-nav-button,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .hub-product-actions .btn.primary,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-interest .btn.primary,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest .btn,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .product-interest .btn.primary,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .muted-action{
    padding:0 16px!important;
    font-size:13.5px!important;
  }
  html body .main .section-hub-page .dl-vote,
  html body .main .hub-home:not(.section-hub-page) [data-home-results] .dl-vote{
    min-width:110px!important;
  }
  html body .main .hub-nav-card:has(.dl-fav-form) > .hub-nav-content,
  html body .main .hub-product-card:has(.dl-fav-form) > .hub-nav-content,
  html body .main .hub-product-card:has(.dl-fav-form) > .body,
  html body .main .product-card:has(.pc-fav) > .body{
    padding-right:max(58px,calc(var(--ah-fav-size) + var(--ah-fav-offset) + 12px))!important;
  }
}


/* ============================================================
   AH_V40_REPAIR_INNER_CARD_LOCK_AND_ACTION_ROW
   Restores the inner row-card height lock that was accidentally
   dropped in the tools-favorites patch. This must stay at the end.
   ============================================================ */
:root{
  --ah-inner-final-row-height:220px;
  --ah-inner-final-image-width:clamp(260px,22vw,360px);
  --ah-inner-final-mobile-row-height:184px;
  --ah-inner-final-mobile-image-width:118px;
  --ah-inner-final-tiny-row-height:178px;
  --ah-inner-final-tiny-image-width:108px;
  --ah-action-button-height:54px;
  --ah-action-button-height-mobile:46px;
  --ah-fav-size:42px;
  --ah-fav-offset:18px;
  --ah-fav-size-mobile:38px;
  --ah-fav-offset-mobile:12px;
}

/* Row cards: the card controls height, never the image's natural ratio. */
html body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page .toolhub-grid > .toolhub-card,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
html body .main .section-hub-page [data-inner-row-grid] > .hub-product-card,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card{
  display:grid!important;
  grid-template-columns:var(--ah-inner-final-image-width) minmax(0,1fr)!important;
  align-items:stretch!important;
  width:100%!important;
  max-width:none!important;
  min-height:var(--ah-inner-final-row-height)!important;
  height:auto!important;
  padding:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}

html body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-media,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-thumb,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media,
html body .main .section-hub-page [data-inner-row-grid] > .hub-product-card > .image-slot,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card > .image-slot,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card > .image-slot,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot{
  position:relative!important;
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  width:100%!important;
  height:auto!important;
  min-height:var(--ah-inner-final-row-height)!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  margin:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}

html body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-media > img,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-thumb > img,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-media > img,
html body .main .section-hub-page [data-inner-row-grid] > .hub-product-card > .image-slot > img,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card > .image-slot > img,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot > img,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card > .image-slot > img,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .image-slot > img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Content returns to normal row-card padding; the favorite button must not create giant body spacing. */
html body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .hub-nav-content,
html body .main .section-hub-page .toolhub-grid > .toolhub-card > .toolhub-copy,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card > .hub-nav-content,
html body .main .section-hub-page [data-inner-row-grid] > .hub-product-card > .body,
html body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card > .body,
html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card > .body,
html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card > .body,
html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card > .body{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  padding:28px 32px!important;
  gap:12px!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Cards with no image should not reserve a blank image column. */
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media:empty,
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media:not(:has(img)){
  display:none!important;
}
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media:empty + .hub-nav-content,
html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media:not(:has(img)) + .hub-nav-content{
  grid-column:1 / -1!important;
}

/* Waitlist/vote action rows: forms and buttons are one exact height. */
html body .main .hub-product-actions,
html body .main .dl-interest,
html body .main .product-interest,
html body .main .section-hub-page .hub-product-actions,
html body .main .section-hub-page .dl-interest,
html body .main .section-hub-page .product-interest{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  align-content:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin:10px 0 0!important;
  padding:0!important;
}
html body .main .hub-product-actions > form,
html body .main .dl-interest > form,
html body .main .product-interest > form,
html body .main .section-hub-page .hub-product-actions > form,
html body .main .section-hub-page .dl-interest > form,
html body .main .section-hub-page .product-interest > form{
  display:inline-flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  height:var(--ah-action-button-height)!important;
  min-height:var(--ah-action-button-height)!important;
  max-height:var(--ah-action-button-height)!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  vertical-align:top!important;
  box-sizing:border-box!important;
}
html body .main .hub-nav-button,
html body .main .hub-product-actions .btn,
html body .main .hub-product-actions .btn.primary,
html body .main .hub-product-actions .dl-vote,
html body .main .dl-interest .btn,
html body .main .dl-interest .btn.primary,
html body .main .dl-interest .dl-vote,
html body .main .product-interest .btn,
html body .main .product-interest .btn.primary,
html body .main .product-interest .dl-vote,
html body .main .section-hub-page .hub-nav-button,
html body .main .section-hub-page .hub-product-actions .btn,
html body .main .section-hub-page .hub-product-actions .btn.primary,
html body .main .section-hub-page .hub-product-actions .dl-vote,
html body .main .section-hub-page .dl-interest .btn,
html body .main .section-hub-page .dl-interest .btn.primary,
html body .main .section-hub-page .dl-interest .dl-vote,
html body .main .section-hub-page .product-interest .btn,
html body .main .section-hub-page .product-interest .btn.primary,
html body .main .section-hub-page .product-interest .dl-vote{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
  height:var(--ah-action-button-height)!important;
  min-height:var(--ah-action-button-height)!important;
  max-height:var(--ah-action-button-height)!important;
  box-sizing:border-box!important;
  padding:0 22px!important;
  margin:0!important;
  line-height:1!important;
  vertical-align:top!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  white-space:nowrap!important;
}
html body .main .dl-vote > span,
html body .main .dl-vote .dl-vote-text{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  transform:none!important;
  top:auto!important;
  overflow:visible!important;
  color:inherit!important;
  white-space:nowrap!important;
}
html body .main .dl-vote{min-width:122px!important;}

/* Favorite controls: keep the visible version, but restore sane spacing and stop content-padding side effects. */
html body .main .hub-nav-card,
html body .main .hub-product-card,
html body .main .product-card,
html body .main .toolhub-card{position:relative!important;}
html body .main .dl-fav-form,
html body .main .hub-nav-card .dl-fav-form,
html body .main .hub-product-card .dl-fav-form,
html body .main .toolhub-card .dl-fav-form{
  position:absolute!important;
  top:var(--ah-fav-offset)!important;
  right:var(--ah-fav-offset)!important;
  z-index:40!important;
  display:block!important;
  width:var(--ah-fav-size)!important;
  height:var(--ah-fav-size)!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
}
html body .main .dl-fav,
html body .main .product-card .pc-fav{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--ah-fav-size)!important;
  height:var(--ah-fav-size)!important;
  min-width:var(--ah-fav-size)!important;
  min-height:var(--ah-fav-size)!important;
  padding:0!important;
  margin:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#489BAD!important;
  cursor:pointer!important;
  line-height:1!important;
}
html body .main .product-card .pc-fav{
  position:absolute!important;
  top:var(--ah-fav-offset)!important;
  right:var(--ah-fav-offset)!important;
}
html body .main .dl-fav-star{font-size:22px!important;line-height:1!important;transform:translateY(-1px)!important;color:#489BAD!important;}
html body .main .product-card .pc-fav svg{width:20px!important;height:20px!important;stroke:#489BAD!important;stroke-width:2!important;}

@media(max-width:700px){
  :root{
    --ah-action-button-height:var(--ah-action-button-height-mobile);
    --ah-fav-size:var(--ah-fav-size-mobile);
    --ah-fav-offset:var(--ah-fav-offset-mobile);
  }
  html body .main .section-hub-page [data-inner-row-grid] > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-inner-row-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .toolhub-grid > .toolhub-card,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-nav-card.hub-image-card,
  html body .main .section-hub-page [data-inner-row-grid] > .hub-product-card,
  html body .main .section-hub-page .hub-inner-row-card-grid > .hub-product-card,
  html body .main .section-hub-page .hub-card-grid.hub-image-card-grid > .hub-product-card,
  html body .main .section-hub-page [data-hub-card-grid].hub-card-grid > .hub-product-card,
  html body .main .hub-home:not(.section-hub-page) [data-home-results].hub-card-grid.hub-image-card-grid > .hub-product-card{
    grid-template-columns:var(--ah-inner-final-mobile-image-width) minmax(0,1fr)!important;
    min-height:var(--ah-inner-final-mobile-row-height)!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .hub-product-card > .image-slot,
  html body .main .section-hub-page .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-card > .toolhub-thumb{
    min-height:var(--ah-inner-final-mobile-row-height)!important;
    aspect-ratio:auto!important;
    border-bottom:0!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-content,
  html body .main .section-hub-page .hub-product-card > .body,
  html body .main .section-hub-page .toolhub-card > .hub-nav-content,
  html body .main .section-hub-page .toolhub-card > .toolhub-copy{
    padding:22px 18px!important;
  }
  html body .main .hub-nav-button,
  html body .main .hub-product-actions .btn,
  html body .main .hub-product-actions .btn.primary,
  html body .main .hub-product-actions .dl-vote,
  html body .main .dl-interest .btn,
  html body .main .dl-interest .btn.primary,
  html body .main .dl-interest .dl-vote,
  html body .main .product-interest .btn,
  html body .main .product-interest .btn.primary,
  html body .main .product-interest .dl-vote{
    padding:0 16px!important;
    font-size:13.5px!important;
  }
  html body .main .dl-vote{min-width:108px!important;}
}

@media(max-width:390px){
  html body .main .section-hub-page .hub-nav-card.hub-image-card,
  html body .main .section-hub-page .hub-product-card,
  html body .main .section-hub-page .toolhub-card{
    grid-template-columns:var(--ah-inner-final-tiny-image-width) minmax(0,1fr)!important;
    min-height:var(--ah-inner-final-tiny-row-height)!important;
  }
  html body .main .section-hub-page .hub-nav-card.hub-image-card > .hub-nav-media,
  html body .main .section-hub-page .hub-product-card > .image-slot,
  html body .main .section-hub-page .toolhub-card > .hub-nav-media,
  html body .main .section-hub-page .toolhub-card > .toolhub-thumb{
    min-height:var(--ah-inner-final-tiny-row-height)!important;
  }
}

/* v41: notification badge alignment repair */
.nav .nav-badge,
.mobile-nav .nav-badge,
.nav-badge{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:20px!important;
  height:20px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  background:var(--orange,#e0794b)!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:20px!important;
  text-align:center!important;
  box-sizing:border-box!important;
  box-shadow:0 4px 10px rgba(231,118,42,.25)!important;
}
.nav-badge[hidden]{display:none!important}
.mobile-nav .nav-badge{
  position:absolute!important;
  top:5px!important;
  right:5px!important;
  margin-left:0!important;
}


/* Notification toast final polish: keep mobile toast compact and use portal corner radius. */
.ah-notify-toast{border-radius:var(--radius-card,var(--radius))!important;}
.ah-notify-toast::after{border-radius:var(--radius)!important;}
@media(max-width:860px){
  .ah-notify-toast{
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:14px!important;
    width:auto!important;
    max-width:none!important;
    min-height:0!important;
    transform:translateY(18px)!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:9px!important;
    padding:11px 12px!important;
    border-left-width:4px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  .ah-notify-toast.show{transform:translateY(0)!important;}
  .ah-notify-toast::before{font-size:17px!important;}
  .ah-notify-toast::after{padding:6px 10px!important;margin-left:0!important;white-space:nowrap!important;}
}
@media(max-width:380px){
  .ah-notify-toast{font-size:13.5px!important;grid-template-columns:auto minmax(0,1fr)!important;}
  .ah-notify-toast::after{grid-column:2!important;justify-self:start!important;margin-top:4px!important;}
}

/* Notification and push prompt guardrails: keep in-app toast compact on mobile and desktop. */
.ah-notify-toast{
  all:initial!important;
  box-sizing:border-box!important;
  position:fixed!important;
  z-index:2147483000!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  left:50%!important;
  right:auto!important;
  top:18px!important;
  bottom:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:min(460px,calc(100vw - 28px))!important;
  min-height:0!important;
  max-height:88px!important;
  height:auto!important;
  padding:11px 13px!important;
  border:1px solid rgba(72,155,173,.42)!important;
  border-left:4px solid var(--primary,#489BAD)!important;
  border-radius:var(--radius,9px)!important;
  background:#fff!important;
  color:var(--ink,#10252d)!important;
  box-shadow:0 18px 46px rgba(16,37,45,.22)!important;
  font:600 14.5px/1.25 Figtree,Arial,sans-serif!important;
  text-decoration:none!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translate(-50%,-18px)!important;
  transition:opacity .2s ease,transform .2s ease!important;
  overflow:hidden!important;
}
.ah-notify-toast.show{opacity:1!important;pointer-events:auto!important;transform:translate(-50%,0)!important;}
.ah-notify-toast::before,.ah-notify-toast::after{content:none!important;display:none!important;}
.ah-notify-toast-icon{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:var(--primary,#489BAD)!important;font:400 18px/1 Arial,sans-serif!important;}
.ah-notify-toast-text{box-sizing:border-box!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font:600 14.5px/1.25 Figtree,Arial,sans-serif!important;color:var(--ink,#10252d)!important;}
.ah-notify-toast-action{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;height:30px!important;padding:6px 11px!important;border-radius:var(--radius,9px)!important;background:var(--primary,#489BAD)!important;color:#fff!important;font:700 13px/1 Figtree,Arial,sans-serif!important;white-space:nowrap!important;}
.ah-push-prompt{border-radius:var(--radius,9px)!important;}
.ah-push-prompt button{border-radius:var(--radius,9px)!important;}
@media(max-width:860px){
  .ah-notify-toast{
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:14px!important;
    width:auto!important;
    max-width:none!important;
    max-height:96px!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    padding:10px 11px!important;
    transform:translateY(14px)!important;
  }
  .ah-notify-toast.show{transform:translateY(0)!important;}
  .ah-notify-toast-text{white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;font-size:13.5px!important;}
  .ah-notify-toast-action{min-height:28px!important;height:28px!important;padding:6px 10px!important;font-size:12.5px!important;}
}
@media(max-width:380px){
  .ah-notify-toast{grid-template-columns:auto minmax(0,1fr)!important;}
  .ah-notify-toast-action{grid-column:2!important;justify-self:start!important;margin-top:2px!important;}
}
