/* ==========================================================================
   ToolsRisePro Core — Homepage & shared component styles
   Depends on tokens.css. All selectors prefixed .trp- and scoped so they do
   not fight Astra / Elementor. Mobile-first; min-width queries widen up.
   ========================================================================== */

/* ---- primitives ---- */
.trp-home *,.trp-footer *,.trp-header-actions *{box-sizing:border-box;}
.trp-home{font-family:var(--trp-font-body);color:var(--trp-ink-2);background:var(--trp-bg);line-height:1.65;}
.trp-container{width:100%;max-width:var(--trp-w-content);margin-inline:auto;padding-inline:20px;}
.trp-section{padding-block:48px;}
@media(min-width:1024px){.trp-section{padding-block:80px;}}
.trp-section--tight{padding-block:32px;}

.trp-eyebrow{font-family:var(--trp-font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--trp-accent);font-weight:500;display:inline-block;margin-bottom:10px;}
.trp-h2{font-family:var(--trp-font-head);font-weight:700;font-size:clamp(24px,4vw,32px);letter-spacing:-.015em;line-height:1.18;color:var(--trp-ink);margin:0 0 8px;text-wrap:balance;}
.trp-sub{color:var(--trp-muted);font-size:16px;margin:0;max-width:60ch;}
.trp-sec-head{margin-bottom:28px;}
.trp-sec-head--row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;}
.trp-viewall{font-family:var(--trp-font-head);font-weight:600;font-size:14px;color:var(--trp-accent);text-decoration:none;white-space:nowrap;}
.trp-viewall:hover{text-decoration:underline;}

/* ---- buttons ---- */
.trp-btn{font-family:var(--trp-font-head);font-weight:600;font-size:15px;border-radius:var(--trp-r-sm);padding:12px 22px;border:1.5px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1;transition:transform .13s,background .13s,box-shadow .13s,border-color .13s,color .13s;}
.trp-btn:active{transform:translateY(1px);}
.trp-btn--primary{background:var(--trp-accent);color:var(--trp-on-accent);box-shadow:var(--trp-sh-sm);}
.trp-btn--primary:hover{background:var(--trp-accent-hov);box-shadow:var(--trp-sh-md);color:var(--trp-on-accent);}
.trp-btn--outline{background:transparent;color:var(--trp-accent);border-color:var(--trp-border-2);}
.trp-btn--outline:hover{border-color:var(--trp-accent);background:var(--trp-accent-soft);}
.trp-btn--ghost{background:transparent;color:var(--trp-ink-2);}
.trp-btn--ghost:hover{background:var(--trp-surface-3);color:var(--trp-ink);}
.trp-btn--sm{padding:9px 15px;font-size:13.5px;}
.trp-btn--lg{padding:15px 28px;font-size:16px;}
.trp-btn .trp-i{width:18px;height:18px;flex:none;}

.trp-i{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle;}

/* ================= HEADER ACTIONS (placed in Astra header) ================= */
.trp-header-actions{display:flex;align-items:center;gap:10px;}
.trp-iconbtn{width:40px;height:40px;border-radius:var(--trp-r-sm);border:1px solid var(--trp-border);background:var(--trp-surface);color:var(--trp-ink-2);display:inline-grid;place-items:center;cursor:pointer;transition:border-color .13s,color .13s,background .13s;}
.trp-iconbtn:hover{border-color:var(--trp-accent);color:var(--trp-accent);}
.trp-header-actions .trp-btn{padding:9px 18px;}
.trp-sun{display:none;}
:root[data-theme="dark"] .trp-sun{display:block;}
:root[data-theme="dark"] .trp-moon{display:none;}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .trp-sun{display:block;}:root:not([data-theme="light"]) .trp-moon{display:none;}}

/* ================= HERO ================= */
.trp-hero{position:relative;text-align:center;padding-block:56px 40px;background:
  radial-gradient(120% 130% at 50% -20%, var(--trp-accent-soft), transparent 55%),
  var(--trp-surface);border-bottom:1px solid var(--trp-border);overflow:hidden;}
@media(min-width:1024px){.trp-hero{padding-block:84px 64px;}}
.trp-hero__badge{display:inline-flex;align-items:center;gap:8px;font-family:var(--trp-font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--trp-accent);background:var(--trp-surface);border:1px solid var(--trp-border);padding:6px 13px;border-radius:var(--trp-r-pill);margin-bottom:20px;box-shadow:var(--trp-sh-xs);}
.trp-hero__badge .trp-dot{width:7px;height:7px;border-radius:50%;background:var(--trp-success);}
.trp-hero h1{font-family:var(--trp-font-head);font-weight:800;font-size:clamp(30px,6vw,52px);line-height:1.05;letter-spacing:-.025em;color:var(--trp-ink);margin:0 auto 16px;max-width:18ch;text-wrap:balance;}
.trp-hero__lede{font-size:clamp(16px,2.2vw,19px);color:var(--trp-muted);max-width:56ch;margin:0 auto 28px;}
.trp-hero__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:26px;}
@media(max-width:480px){.trp-hero__cta{flex-direction:column;}.trp-hero__cta .trp-btn{width:100%;}}

/* ---- search ---- */
.trp-search{position:relative;max-width:560px;margin-inline:auto;}
.trp-search__box{display:flex;align-items:center;gap:12px;background:var(--trp-surface);border:1.5px solid var(--trp-border-2);border-radius:var(--trp-r-pill);padding:14px 22px;box-shadow:var(--trp-sh-sm);transition:border-color .13s,box-shadow .13s;}
.trp-search__box:focus-within{border-color:var(--trp-accent);box-shadow:var(--trp-sh-focus);}
.trp-search__box .trp-i{color:var(--trp-muted);flex:none;width:20px;height:20px;}
.trp-search input{border:none;outline:none;background:none;font-family:var(--trp-font-body);font-size:16px;color:var(--trp-ink);width:100%;min-width:0;}
.trp-search input::placeholder{color:var(--trp-faint);}
.trp-search__hint{font-size:13px;color:var(--trp-faint);margin-top:10px;}
.trp-suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-md);box-shadow:var(--trp-sh-lg);overflow:hidden;z-index:30;text-align:left;display:none;}
.trp-suggest.is-open{display:block;}
.trp-suggest a{display:flex;align-items:center;gap:11px;padding:11px 16px;color:var(--trp-ink);text-decoration:none;border-bottom:1px solid var(--trp-border);font-size:14.5px;}
.trp-suggest a:last-child{border-bottom:none;}
.trp-suggest a:hover,.trp-suggest a.is-active{background:var(--trp-accent-soft);}
.trp-suggest .trp-cat-tag{margin-left:auto;}
.trp-suggest__empty{padding:14px 16px;color:var(--trp-muted);font-size:14px;}

/* ================= TOOL CARD GRID ================= */
.trp-grid{display:grid;gap:16px;grid-template-columns:1fr;}
@media(min-width:480px){.trp-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.trp-grid{grid-template-columns:repeat(4,1fr);}}
.trp-grid--3{grid-template-columns:1fr;}
@media(min-width:480px){.trp-grid--3{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.trp-grid--3{grid-template-columns:repeat(3,1fr);}}

.trp-tcard{display:flex;flex-direction:column;background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-lg);padding:20px;box-shadow:var(--trp-sh-xs);transition:transform .16s,box-shadow .16s,border-color .16s;}
.trp-tcard:hover{transform:translateY(-4px);box-shadow:var(--trp-sh-lg);border-color:var(--trp-border-2);}
.trp-tcard__icon{width:46px;height:46px;border-radius:12px;background:var(--trp-accent-soft);color:var(--trp-accent);display:grid;place-items:center;margin-bottom:14px;}
.trp-tcard__icon .trp-i{width:23px;height:23px;}
.trp-tcard h3{font-family:var(--trp-font-head);font-weight:600;font-size:16.5px;color:var(--trp-ink);margin:0 0 5px;}
.trp-tcard p{font-size:13.5px;color:var(--trp-muted);margin:0 0 16px;line-height:1.5;flex:1;}
.trp-tcard__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;}
.trp-cat-tag{font-family:var(--trp-font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--trp-purple);background:var(--trp-purple-100);padding:3px 9px;border-radius:var(--trp-r-pill);white-space:nowrap;}
.trp-tcard__open{font-family:var(--trp-font-head);font-weight:600;font-size:13px;color:var(--trp-accent);text-decoration:none;display:inline-flex;align-items:center;gap:5px;}
.trp-tcard__open .trp-i{width:15px;height:15px;transition:transform .15s;}
.trp-tcard:hover .trp-tcard__open .trp-i{transform:translateX(3px);}

/* ================= CATEGORY GRID ================= */
.trp-cgrid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);}
@media(min-width:768px){.trp-cgrid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1024px){.trp-cgrid{grid-template-columns:repeat(5,1fr);}}
.trp-ccard{display:flex;flex-direction:column;background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-lg);padding:18px;box-shadow:var(--trp-sh-xs);text-decoration:none;transition:transform .16s,box-shadow .16s;}
.trp-ccard:hover{transform:translateY(-3px);box-shadow:var(--trp-sh-md);}
.trp-ccard__icon{width:48px;height:48px;border-radius:14px;background:var(--trp-grad);color:#fff;display:grid;place-items:center;margin-bottom:12px;}
.trp-ccard__icon .trp-i{width:24px;height:24px;}
.trp-ccard h3{font-family:var(--trp-font-head);font-weight:600;font-size:15.5px;color:var(--trp-ink);margin:0 0 4px;}
.trp-ccard p{font-size:12.5px;color:var(--trp-muted);margin:0 0 12px;line-height:1.5;flex:1;}
.trp-ccard__link{font-size:12.5px;font-family:var(--trp-font-head);font-weight:600;color:var(--trp-accent);display:inline-flex;align-items:center;gap:5px;}
.trp-ccard__count{font-family:var(--trp-font-mono);font-size:11px;color:var(--trp-muted);}

/* ================= WHY (feature blocks) ================= */
.trp-features{display:grid;gap:16px;grid-template-columns:1fr;}
@media(min-width:600px){.trp-features{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.trp-features{grid-template-columns:repeat(5,1fr);}}
.trp-feature{background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-md);padding:22px 18px;text-align:center;}
.trp-feature__icon{width:44px;height:44px;border-radius:12px;background:var(--trp-accent-soft);color:var(--trp-accent);display:grid;place-items:center;margin:0 auto 12px;}
.trp-feature h3{font-family:var(--trp-font-head);font-weight:600;font-size:15.5px;color:var(--trp-ink);margin:0 0 5px;}
.trp-feature p{font-size:13px;color:var(--trp-muted);margin:0;line-height:1.5;}

/* ================= HOW IT WORKS ================= */
.trp-steps{display:grid;gap:20px;grid-template-columns:1fr;counter-reset:trpstep;}
@media(min-width:768px){.trp-steps{grid-template-columns:repeat(3,1fr);}}
.trp-step{position:relative;background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-lg);padding:26px 22px;text-align:center;}
.trp-step__num{width:44px;height:44px;border-radius:50%;background:var(--trp-grad);color:#fff;font-family:var(--trp-font-head);font-weight:700;font-size:18px;display:grid;place-items:center;margin:0 auto 14px;}
.trp-step h3{font-family:var(--trp-font-head);font-weight:600;font-size:16px;color:var(--trp-ink);margin:0 0 6px;}
.trp-step p{font-size:13.5px;color:var(--trp-muted);margin:0;line-height:1.55;}

/* ================= FAQ ================= */
.trp-faq{max-width:760px;margin-inline:auto;}
.trp-faq details{border:1px solid var(--trp-border);border-radius:var(--trp-r-md);background:var(--trp-surface);margin-bottom:10px;overflow:hidden;}
.trp-faq summary{list-style:none;cursor:pointer;padding:16px 18px;font-family:var(--trp-font-head);font-weight:600;font-size:15px;color:var(--trp-ink);display:flex;justify-content:space-between;align-items:center;gap:14px;}
.trp-faq summary::-webkit-details-marker{display:none;}
.trp-faq summary .trp-pl{color:var(--trp-accent);font-size:22px;line-height:1;transition:transform .2s;flex:none;}
.trp-faq details[open] summary .trp-pl{transform:rotate(45deg);}
.trp-faq__a{padding:0 18px 16px;font-size:14px;color:var(--trp-muted);line-height:1.6;}

/* ================= CTA ================= */
.trp-cta{background:var(--trp-grad);border-radius:var(--trp-r-xl);padding:44px 28px;text-align:center;color:#fff;}
.trp-cta h2{font-family:var(--trp-font-head);font-weight:700;font-size:clamp(22px,3.5vw,30px);color:#fff;margin:0 0 10px;letter-spacing:-.01em;}
.trp-cta p{color:rgba(255,255,255,.88);font-size:16px;margin:0 0 22px;}
.trp-cta .trp-btn{background:#fff;color:var(--trp-primary-600);}
.trp-cta .trp-btn:hover{background:#f2f5ff;color:var(--trp-primary-700);}

/* ================= NEWSLETTER ================= */
.trp-news{background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-xl);padding:32px 26px;text-align:center;max-width:640px;margin-inline:auto;box-shadow:var(--trp-sh-xs);}
.trp-news h2{font-family:var(--trp-font-head);font-weight:700;font-size:22px;color:var(--trp-ink);margin:0 0 8px;}
.trp-news p{color:var(--trp-muted);font-size:14.5px;margin:0 0 18px;}
.trp-news__form{display:flex;gap:8px;max-width:440px;margin-inline:auto;}
@media(max-width:480px){.trp-news__form{flex-direction:column;}}
.trp-news input{flex:1;min-width:0;border:1.5px solid var(--trp-border-2);border-radius:var(--trp-r-sm);padding:12px 15px;font-family:var(--trp-font-body);font-size:15px;color:var(--trp-ink);background:var(--trp-surface);}
.trp-news input:focus{outline:none;border-color:var(--trp-accent);box-shadow:var(--trp-sh-focus);}
.trp-news__note{font-size:12px;color:var(--trp-faint);margin:12px 0 0;}

/* ================= BLOG CARDS ================= */
.trp-bcard{display:flex;flex-direction:column;background:var(--trp-surface);border:1px solid var(--trp-border);border-radius:var(--trp-r-lg);overflow:hidden;box-shadow:var(--trp-sh-xs);text-decoration:none;transition:transform .16s,box-shadow .16s;}
.trp-bcard:hover{transform:translateY(-3px);box-shadow:var(--trp-sh-md);}
.trp-bcard__img{aspect-ratio:16/9;background:var(--trp-grad);background-size:cover;background-position:center;}
.trp-bcard__body{padding:18px;display:flex;flex-direction:column;flex:1;}
.trp-bcard h3{font-family:var(--trp-font-head);font-weight:600;font-size:16px;color:var(--trp-ink);margin:9px 0 7px;line-height:1.3;}
.trp-bcard p{font-size:13px;color:var(--trp-muted);margin:0 0 14px;line-height:1.55;flex:1;}
.trp-bcard__meta{font-size:12px;color:var(--trp-faint);}
.trp-bcard__read{font-family:var(--trp-font-head);font-weight:600;font-size:13px;color:var(--trp-accent);}

/* empty-state note (honest fallback when no posts/tools yet) */
.trp-note{border:1px dashed var(--trp-border-2);border-radius:var(--trp-r-md);background:var(--trp-surface-2);color:var(--trp-muted);padding:22px;text-align:center;font-size:14px;}

/* ---- ad slot (reserved height, CLS-safe, filled in Phase 3) ---- */
.trp-adslot{border:1px dashed var(--trp-border-2);border-radius:var(--trp-r-md);background:var(--trp-surface-2);color:var(--trp-faint);display:grid;place-items:center;font-family:var(--trp-font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;min-height:90px;}

/* ================= FOOTER ================= */
.trp-footer{background:var(--trp-surface);border-top:1px solid var(--trp-border);color:var(--trp-ink-2);font-family:var(--trp-font-body);}
.trp-footer__grid{display:grid;gap:28px;grid-template-columns:1fr;padding-block:44px;}
@media(min-width:600px){.trp-footer__grid{grid-template-columns:1.4fr 1fr;}}
@media(min-width:1000px){.trp-footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr;}}
.trp-footer__brand{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.trp-footer__mark{width:32px;height:32px;border-radius:9px;background:var(--trp-grad);color:#fff;display:grid;place-items:center;font-family:var(--trp-font-head);font-weight:800;font-size:16px;}
.trp-footer__name{font-family:var(--trp-font-head);font-weight:700;font-size:17px;color:var(--trp-ink);}
.trp-footer__tag{font-size:13.5px;color:var(--trp-muted);max-width:34ch;margin:0;}
.trp-footer h4{font-family:var(--trp-font-head);font-weight:600;font-size:13px;color:var(--trp-ink);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em;}
.trp-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;}
.trp-footer a{color:var(--trp-muted);text-decoration:none;font-size:14px;}
.trp-footer a:hover{color:var(--trp-accent);}
.trp-footer__bottom{border-top:1px solid var(--trp-border);padding-block:18px;display:flex;flex-wrap:wrap;gap:10px 20px;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--trp-faint);}
.trp-footer__legal{display:flex;flex-wrap:wrap;gap:8px 16px;}

/* ================= A11Y / MOTION ================= */
.trp-home a:focus-visible,.trp-home button:focus-visible,.trp-home input:focus-visible,.trp-home summary:focus-visible,.trp-footer a:focus-visible,.trp-header-actions button:focus-visible,.trp-header-actions a:focus-visible{outline:2px solid var(--trp-accent);outline-offset:2px;border-radius:4px;}
.trp-skip{position:absolute;left:-9999px;top:0;background:var(--trp-accent);color:#fff;padding:10px 16px;border-radius:0 0 var(--trp-r-sm) 0;z-index:100;font-family:var(--trp-font-head);font-weight:600;}
.trp-skip:focus{left:0;}
.trp-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(prefers-reduced-motion:reduce){.trp-home *,.trp-footer *{transition:none!important;animation:none!important;}}
