/*
Theme Name: LearnHive
Theme URI: https://learnhive.org/
Author: LearnHive Labs
Description: A welcoming study companion, interactive science labs and a learning community.
Version: 1.2.1
Requires at least: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: learnhive
*/

@font-face {
  font-family: "Inter";
  src: url("assets/fonts/inter.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Poppins";
  src: url("assets/fonts/poppins.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --lh-orange: #f08a24;
  --lh-orange-deep: #d9701a;
  --lh-indigo: #4338ca;
  --lh-indigo-bright: #6366f1;
  --lh-indigo-pale: #eef0ff;
  --lh-gold: #f5b428;
  --lh-navy: #1e1b3a;
  --lh-navy-soft: #2b2752;
  --lh-cream: #fbf7f0;
  --lh-ink: #1f2937;
  --lh-muted: #626779;
  --lh-line: #e7e5f0;
  --lh-green: #168044;
  --lh-sky: #0e7490;
  --lh-white: #fffefa;
  --lh-font-body: "Inter", system-ui, sans-serif;
  --lh-font-display: "Poppins", "Inter", sans-serif;
  --lh-shadow: 0 18px 44px rgba(30, 27, 58, .09);
  --lh-radius: 18px;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6rem; }
body {
  margin: 0;
  color: var(--lh-ink);
  background: var(--lh-white);
  font-family: var(--lh-font-body);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; }
a { color: var(--lh-indigo); text-decoration: none; }
a:hover { color: #3026a6; }
button, input, select, textarea { font: inherit; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .48em;
  color: var(--lh-navy);
  font-family: var(--lh-font-display);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -.025em;
}
h1 { font-size: clamp(2.35rem, 5.4vw, 3.75rem); }
h2 { font-size: clamp(1.8rem, 3.7vw, 2.45rem); }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; }
::selection { color: var(--lh-navy); background: #ffd9ad; }
:focus-visible { outline: 3px solid var(--lh-indigo-bright); outline-offset: 3px; }

.skip-link {
  position: fixed; z-index: 1000; top: 10px; left: 10px;
  padding: 12px 16px; transform: translateY(-160%);
  border-radius: 10px; background: var(--lh-navy); color: #fff;
}
.skip-link:focus { transform: translateY(0); color: #fff; }
.lh-wrap { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.lh-section { padding: 76px 0; }
.lh-section--tight { padding: 42px 0; }
.lh-section--cream { background: var(--lh-cream); }
.lh-section--lavender { background: #f6f5ff; }
.lh-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.lh-eyebrow {
  display: inline-block; margin-bottom: 12px; color: #a94f08;
  font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase;
}
.lh-lead { max-width: 650px; color: #4e5565; font-size: clamp(1.05rem, 1.7vw, 1.2rem); }
.lh-muted { color: var(--lh-muted); }
.lh-small { font-size: .88rem; }
.lh-center { text-align: center; }
.lh-center .lh-lead { margin-inline: auto; }
.lh-grid { display: grid; gap: 20px; }
.lh-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lh-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lh-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lh-split { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: clamp(36px, 6vw, 72px); align-items: center; }
.lh-split--wide { grid-template-columns: minmax(0, 1.5fr) minmax(270px, .8fr); align-items: start; }
.lh-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.lh-card {
  min-width: 0; padding: 23px; background: var(--lh-white);
  border: 1px solid var(--lh-line); border-radius: var(--lh-radius);
  color: var(--lh-ink); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
a.lh-card:hover { transform: translateY(-3px); border-color: #cfcbef; box-shadow: var(--lh-shadow); color: var(--lh-ink); }
.lh-card h3 { margin-top: 12px; }
.lh-card p { color: #4e5565; font-size: .94rem; }
.lh-card--feature { border-top: 3px solid var(--lh-orange); }
.lh-card--soft { background: #f7f6fc; }
.lh-chip {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px;
  border-radius: 999px; background: var(--lh-indigo-pale); color: var(--lh-indigo);
  font-size: .75rem; font-weight: 750; line-height: 1.35;
}
.lh-chip--orange { background: #fff1e3; color: #984300; }
.lh-chip--green { background: #e7f7ec; color: #176a37; }
.lh-chip--gold { background: #fff6db; color: #765000; }
.lh-chip--navy { background: #ecebf3; color: #4b4868; }
.lh-button {
  display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 9px;
  padding: 11px 19px; border: 2px solid var(--lh-orange); border-radius: 13px;
  background: var(--lh-orange); color: var(--lh-navy); /* Prototype contrast exception: navy ink preserves AA contrast on orange. */
  box-shadow: 0 3px 0 var(--lh-orange-deep); font-family: var(--lh-font-display);
  font-size: .91rem; font-weight: 700; white-space: nowrap; cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.lh-button:hover { background: #f49b40; color: var(--lh-navy); }
.lh-button:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--lh-orange-deep); }
.lh-button-secondary {
  display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 8px;
  padding: 10px 17px; border: 1.5px solid var(--lh-indigo); border-radius: 12px;
  background: transparent; color: var(--lh-indigo); font-weight: 700;
  transition: background-color .15s ease, color .15s ease;
}
.lh-button-secondary:hover { background: var(--lh-indigo); color: #fff; }
.lh-button-secondary--light { border-color: rgba(255,255,255,.7); color: #fff; }
.lh-button-secondary--light:hover { background: #fff; color: var(--lh-navy); }
.lh-text-link { color: var(--lh-indigo); font-weight: 700; }
.lh-text-link::after { content: " →"; transition: margin .15s ease; }
.lh-text-link:hover::after { margin-left: 4px; }
.lh-play-badge {
  display: inline-flex; align-items: center; gap: 10px; padding: 8px 15px 8px 12px;
  border-radius: 11px; background: #171717; color: #fff; box-shadow: 0 3px 0 #3f3f3f;
}
.lh-play-badge:hover { color: #fff; background: #2c2c2c; }
.lh-play-badge small { display: block; font-size: .62rem; letter-spacing: .06em; line-height: 1.2; }
.lh-play-badge strong { display: block; font-family: var(--lh-font-display); font-size: 1rem; line-height: 1.2; }
.lh-icon-wrap { display: grid; width: 48px; height: 48px; place-items: center; flex: 0 0 auto; border-radius: 15px; background: var(--lh-indigo-pale); color: var(--lh-indigo); }
.lh-icon-wrap--orange { background: #fff1e3; color: #a44b00; }
.lh-icon-wrap img { width: 30px; height: 30px; object-fit: contain; }
.lh-list { margin: 18px 0 24px; padding: 0; list-style: none; }
.lh-list li { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; }
.lh-list li::before { content: "✓"; flex: 0 0 auto; color: var(--lh-green); font-weight: 800; }

/* Header and real server-rendered navigation */
.lh-site-header {
  position: sticky; z-index: 80; top: 0; border-bottom: 1px solid var(--lh-line);
  background: rgba(255,254,250,.96); backdrop-filter: blur(12px);
}
.lh-header-inner { display: flex; min-height: 72px; align-items: center; gap: 18px; }
.lh-brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; color: var(--lh-navy); font: 700 1.3rem var(--lh-font-display); }
.lh-brand:hover { color: var(--lh-navy); }
.lh-brand-mark { width: 34px; height: 34px; }
.lh-brand-accent { color: var(--lh-orange); }
.lh-primary-nav { margin-left: 10px; }
.lh-primary-nav ul, .lh-footer-nav ul { display: flex; margin: 0; padding: 0; list-style: none; }
.lh-primary-nav > ul { align-items: center; gap: 2px; }
.lh-primary-nav li { position: relative; }
.lh-primary-nav a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--lh-navy); font-size: .91rem; font-weight: 650; }
.lh-primary-nav a:hover, .lh-primary-nav .current-menu-item > a { background: #f2f1fc; color: var(--lh-indigo); }
.lh-primary-nav .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin: 0 0 3px 8px; transform: rotate(45deg); border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; }
.lh-primary-nav .sub-menu {
  position: absolute; top: calc(100% + 5px); left: 0; display: none; min-width: 230px;
  padding: 8px; border: 1px solid var(--lh-line); border-radius: 14px; background: var(--lh-white);
  box-shadow: 0 18px 40px rgba(30,27,58,.14);
}
.lh-primary-nav li:hover > .sub-menu, .lh-primary-nav li:focus-within > .sub-menu { display: block; }
.lh-primary-nav .sub-menu a { padding: 9px 11px; }
.lh-header-actions { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.lh-login-link { color: var(--lh-navy); font-size: .92rem; font-weight: 650; }
.lh-mobile-nav { display: none; }
.lh-menu-details { position: relative; }
.lh-menu-details > summary { display: none; }
.lh-menu-details > summary::-webkit-details-marker { display: none; }
.lh-menu-details .lh-mobile-menu { display: none; }

/* Heroes, screenshot phones and proof */
.lh-hero {
  position: relative; overflow: hidden; padding: 72px 0;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 1L55 16.5V47.5L28 63L1 47.5V16.5Z M28 63V97' fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='1.4'/%3E%3C/svg%3E"),
    radial-gradient(760px 430px at 90% 10%, rgba(240,138,36,.26), transparent 62%),
    radial-gradient(720px 520px at 0% 100%, rgba(99,102,241,.28), transparent 60%),
    linear-gradient(150deg, var(--lh-navy-soft), var(--lh-navy));
  color: #fff;
}
.lh-hero h1, .lh-hero h2 { color: #fff; }
.lh-hero .lh-eyebrow { color: #ffd487; }
.lh-hero .lh-lead { color: #dedbf3; }
.lh-hero .lh-text-link { color: #fff; }
.lh-hero .lh-chip { background: rgba(255,255,255,.13); color: #fff; }
.lh-page-hero { padding: 56px 0; }
.lh-page-hero h1 { max-width: 850px; }
.lh-breadcrumbs { margin-bottom: 14px; color: #c5c0e1; font-size: .88rem; }
.lh-breadcrumbs a { color: #f1efff; }
.lh-phone-frame {
  position: relative; width: min(100%, 280px); height: 556px; margin-inline: auto;
  padding: 11px; border-radius: 42px; background: #14122a;
  box-shadow: 0 30px 60px rgba(0,0,0,.35), inset 0 0 0 2px #2c2950;
}
.lh-phone-frame::before { position: absolute; z-index: 2; top: 19px; left: 50%; width: 76px; height: 20px; transform: translateX(-50%); border-radius: 12px; background: #14122a; content: ""; }
.lh-phone-screen { height: 100%; overflow: hidden; border-radius: 32px; background: #f7f7fb; }
.lh-phone-screen img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.lh-phone-caption { margin-top: 12px; color: #c9c5e6; font-size: .82rem; text-align: center; }
.lh-proof-strip { display: flex; justify-content: center; gap: 30px; flex-wrap: wrap; padding: 20px 24px; border-bottom: 1px solid var(--lh-line); color: var(--lh-navy); font-size: .92rem; font-weight: 700; }
.lh-proof-strip span { display: inline-flex; align-items: center; gap: 8px; }
.lh-proof-strip span::before { color: var(--lh-orange-deep); content: "◆"; font-size: .72rem; }
.lh-phone-preview { margin: 0; }
.lh-subnav { position: sticky; z-index: 50; top: 72px; border-bottom: 1px solid var(--lh-line); background: rgba(255,254,250,.97); }
.lh-subnav > .lh-wrap { display: flex; align-items: center; gap: 6px; overflow-x: auto; padding-block: 8px; scrollbar-width: thin; }
.lh-subnav a { flex: 0 0 auto; padding: 8px 12px; border-radius: 9px; color: var(--lh-muted); font-size: .88rem; font-weight: 700; }
.lh-subnav a:hover, .lh-subnav a:focus-visible { background: var(--lh-indigo-pale); color: var(--lh-indigo); }
.lh-anchor-alias { display: block; position: relative; top: -86px; visibility: hidden; }
.lh-screenshot-row { display: grid; grid-template-columns: 1fr 1.12fr 1fr; align-items: center; gap: 14px; }
.lh-screenshot-row figure { margin: 0; overflow: hidden; border: 1px solid var(--lh-line); border-radius: 16px; background: #f3f2f8; box-shadow: 0 15px 35px rgba(30,27,58,.1); }
.lh-screenshot-row figure:nth-child(2) { transform: translateY(-12px); }
.lh-screenshot-row figcaption { padding: 10px 12px; color: var(--lh-muted); font-size: .78rem; }
.lh-screenshot-row img { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; object-position: top; }
.lh-screenshot-row figure:nth-child(2) img { aspect-ratio: 9 / 15; }

/* Helper markup contract: lab cards, community, plugin pages and native blocks */
.lh-lab-card .lh-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.lh-lab-card h3 { font-size: 1.08rem; }
.lh-lab-card p { min-height: 3.1em; }
.lh-filter-form { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; margin: 0 0 24px; }
.lh-filter-form label { display: grid; gap: 6px; color: var(--lh-navy); font-size: .88rem; font-weight: 650; }
.lh-filter-form input, .lh-filter-form select, .lh-field input, .lh-field select, .lh-field textarea {
  width: 100%; min-height: 46px; padding: 11px 14px; border: 1.5px solid var(--lh-line);
  border-radius: 11px; background: #fff; color: var(--lh-ink);
}
.lh-filter-form input:focus, .lh-filter-form select:focus, .lh-field input:focus, .lh-field select:focus, .lh-field textarea:focus { border-color: var(--lh-indigo-bright); box-shadow: 0 0 0 4px #e4e5ff; outline: 0; }
.lh-pagination { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin-top: 30px; }
.lh-pagination a, .lh-pagination span { min-width: 40px; padding: 8px 12px; border: 1px solid var(--lh-line); border-radius: 9px; text-align: center; }
.lh-content { max-width: 820px; margin-inline: auto; }
.lh-content > * + * { margin-top: 1.2em; }
.lh-community-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 30px; align-items: start; }
.lh-community-sidebar { position: sticky; top: 96px; }
.lh-home-courses > .lh-card + .lh-card, .lh-home-posts > .lh-card + .lh-card { margin-top: 14px; }
.lh-home-posts > h3 { margin-bottom: 14px; }
.lh-recent-activity { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.lh-recent-activity li { padding: 13px 15px; border: 1px solid var(--lh-line); border-radius: 12px; background: #fff; }
.lh-notice { margin: 16px 0; padding: 14px 16px; border: 1px solid #dad7f1; border-radius: 12px; background: #f5f3ff; color: #393568; }
.lh-auth-card { width: min(100%, 460px); margin-inline: auto; padding: 28px; border: 1px solid var(--lh-line); border-radius: 18px; background: var(--lh-white); box-shadow: var(--lh-shadow); }
.lh-field { display: block; margin-bottom: 14px; }
.lh-field > span { display: block; margin-bottom: 6px; color: var(--lh-navy); font-size: .9rem; font-weight: 700; }
.lh-content img, .wp-block-image img { border-radius: 14px; }
.lh-content table, .wp-block-table table { width: 100%; border-collapse: collapse; }
.lh-content th, .lh-content td, .wp-block-table th, .wp-block-table td { padding: 11px 12px; border-bottom: 1px solid var(--lh-line); text-align: left; vertical-align: top; }
.lh-content th, .wp-block-table th { background: #f7f6fc; color: var(--lh-navy); font-family: var(--lh-font-display); }
.lh-content blockquote, blockquote { margin: 1.5em 0; padding: 10px 22px; border-left: 4px solid var(--lh-orange); color: #4e5565; }
.wp-block-button__link { border-radius: 11px; background: var(--lh-indigo); }
.wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--lh-indigo); color: var(--lh-indigo); background: transparent; }
details.lh-faq, details.q { margin: 0 0 10px; padding: 14px 16px; border: 1px solid var(--lh-line); border-radius: 14px; background: var(--lh-white); }
details.lh-faq summary, details.q summary { color: var(--lh-navy); font-weight: 700; cursor: pointer; }
details.lh-faq > :not(summary), details.q > :not(summary) { margin-top: 10px; color: #4e5565; }

.lh-cta-band { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding: 30px 34px; border-radius: 22px; background: var(--lh-navy); color: #fff; }
.lh-cta-band h2, .lh-cta-band h3 { color: #fff; }
.lh-cta-band p { margin: 0; color: #d8d5f0; }
.lh-footer { padding: 54px 0 24px; background: var(--lh-navy); color: #c9c5e6; }
.lh-footer h2, .lh-footer h3, .lh-footer h4 { margin-bottom: 13px; color: #fff; font-size: .88rem; letter-spacing: .06em; text-transform: uppercase; }
.lh-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr)); gap: 28px; }
.lh-footer .lh-brand { color: #fff; }
.lh-footer a { color: #c9c5e6; }
.lh-footer a:hover { color: #fff; }
.lh-footer-nav ul { display: grid; gap: 3px; }
.lh-footer-nav a { display: block; padding: 3px 0; font-size: .9rem; }
.lh-footer-bottom { margin-top: 34px; padding-top: 18px; border-top: 1px solid #36325c; color: #bbb6d7; font-size: .82rem; line-height: 1.7; }
.lh-footer-bottom p { margin: 0 0 8px; }
.lh-footer-contact { white-space: nowrap; }
.lh-install-bar { display: none; }
.lh-install-bar[hidden] { display: none !important; }

/* Native WordPress / BuddyPress Nouveau presentation */
.entry-content, .wp-block-post-content { overflow-wrap: anywhere; }
.bp-wrap, #buddypress { color: var(--lh-ink); font-family: var(--lh-font-body); }
#buddypress .item-list-tabs, #buddypress .bp-navs { border-color: var(--lh-line); }
#buddypress .item-list-tabs a, #buddypress .bp-navs a { color: var(--lh-indigo); }
#buddypress input[type="submit"], #buddypress button, #buddypress .button, .lh-content input[type="submit"] {
  min-height: 42px; padding: 9px 16px; border: 1px solid var(--lh-indigo); border-radius: 10px;
  background: #fff; color: var(--lh-indigo); font-weight: 700; cursor: pointer;
}
#buddypress input[type="text"], #buddypress input[type="email"], #buddypress input[type="password"], #buddypress textarea, #buddypress select {
  max-width: 100%; padding: 10px 12px; border: 1px solid var(--lh-line); border-radius: 9px; background: #fff;
}
#buddypress .activity-list li, #buddypress .groups-list li, #buddypress .members-list li {
  padding: 16px; border: 1px solid var(--lh-line); border-radius: 14px; background: #fff;
}
#buddypress .standard-form label, #buddypress .standard-form legend { color: var(--lh-navy); font-weight: 650; }
#buddypress .bp-feedback, #buddypress .message { border-radius: 10px; }
.lh-prototype-proof { padding: 20px 0; background: var(--lh-cream); }
.lh-icon-link { display: inline-flex; align-items: center; gap: 8px; }
.lh-sim-embed{aspect-ratio:16/10;border:1px solid var(--lh-line);border-radius:18px;overflow:hidden;background:var(--lh-indigo-pale)}
.lh-sim-embed iframe{width:100%;height:100%;border:0}
.lh-filter-form>div{display:grid;gap:6px;max-width:100%}
.lh-filter-form input,.lh-filter-form select{width:100%;min-height:44px}
.lh-community-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:28px;align-items:start}
.lh-community-main{min-width:0;overflow-wrap:anywhere}
.lh-community-main [hidden]{display:none!important}
.lh-community-sidebar ul{padding-left:20px}
.lh-community-sidebar a{display:inline-block;padding:6px 0}
.lh-community-sidebar h2{font-size:1.15rem}
.lh-community-post{display:grid;gap:12px;margin-bottom:28px}
.lh-community-post textarea{font:inherit;padding:12px;border:1px solid var(--lh-line);border-radius:12px;max-width:100%;width:100%}
.lh-community-post button{justify-self:start}
.lh-auth-card{max-width:460px;margin-inline:auto}
.lh-auth-card label{display:block;font-weight:600}
.lh-auth-card input:not([type=checkbox]){width:100%;min-height:44px;font:inherit;padding:10px 12px;border:1px solid var(--lh-line);border-radius:10px}
.lh-auth-card input[type=submit]{border-color:var(--lh-indigo);color:var(--lh-indigo);background:white;font-weight:700;cursor:pointer}
.lh-button.lh-button-secondary{box-shadow:0 3px 0 #cfccf3}
.lh-steps li{padding:8px 0}
.lh-content>details{padding:16px;border:1px solid var(--lh-line);border-radius:12px;margin-bottom:10px}
.lh-community-main .bp-list{list-style:none;padding:0}
.lh-community-main .bp-list>li{padding:18px;margin:14px 0;border:1px solid var(--lh-line);border-radius:14px}
.lh-community-main .avatar{max-width:80px;height:auto}
.lh-community-main .bp-navs ul{display:flex;gap:12px;flex-wrap:wrap;list-style:none;padding:0}
.lh-community-main .standard-form label{display:block;margin-top:12px}
.lh-community-main .standard-form input:not([type=checkbox]):not([type=radio]),.lh-community-main .standard-form textarea,.lh-community-main .standard-form select{max-width:100%;width:100%;min-height:44px;font:inherit}
.lh-community-main .standard-form input[type=submit]{width:auto;background:white;color:var(--lh-indigo);border:1px solid var(--lh-indigo);padding:10px 18px;border-radius:10px}
@media(max-width:767px){.lh-community-layout{grid-template-columns:minmax(0,1fr)}.lh-filter-form{align-items:stretch}.lh-filter-form>div{width:100%}.lh-community-main table{display:block;overflow:auto}.lh-community-main #profile-edit-form{max-width:100%}}

@media (max-width: 980px) {
  .lh-primary-nav { margin-left: 0; }
  .lh-primary-nav a { padding-inline: 9px; font-size: .86rem; }
  .lh-header-inner { gap: 10px; }
  .lh-header-actions { gap: 11px; }
  .lh-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .lh-footer-brand-col { grid-column: span 3; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 5.4rem; }
  .lh-wrap { width: min(100% - 36px, 620px); }
  .lh-section { padding: 52px 0; }
  .lh-section--tight { padding: 30px 0; }
  .lh-header-inner { min-height: 64px; }
  .lh-subnav { top: 64px; }
  .lh-anchor-alias { top: -72px; }
  .lh-primary-nav, .lh-login-link { display: none; }
  .lh-header-actions { gap: 0; }
  .lh-header-actions .lh-button { min-height: 40px; padding: 8px 12px; font-size: .8rem; }
  .lh-mobile-nav { display: block; margin-left: 8px; }
  .lh-menu-details > summary {
    display: grid; width: 42px; height: 42px; place-items: center; list-style: none;
    border: 1px solid var(--lh-line); border-radius: 11px; color: var(--lh-navy); cursor: pointer;
  }
  .lh-menu-details > summary::before { content: "☰"; font-size: 1.2rem; }
  .lh-menu-details[open] > summary::before { content: "×"; font-size: 1.55rem; }
  .lh-menu-details .lh-mobile-menu {
    position: absolute; top: calc(100% + 10px); right: 0; display: block; width: min(330px, calc(100vw - 28px));
    padding: 12px; border: 1px solid var(--lh-line); border-radius: 15px; background: var(--lh-white);
    box-shadow: 0 18px 38px rgba(30,27,58,.15);
  }
  .lh-mobile-menu ul { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none; }
  .lh-mobile-menu a { display: block; padding: 10px 9px; border-bottom: 1px solid #f1f0f6; color: var(--lh-navy); font-weight: 650; }
  .lh-mobile-menu .sub-menu { padding-left: 15px; }
  .lh-mobile-menu .sub-menu a { color: #4e5565; font-size: .91rem; font-weight: 500; }
  .lh-hero { padding: 48px 0 52px; }
  .lh-page-hero { padding: 40px 0; }
  .lh-split, .lh-split--wide { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .lh-grid-2, .lh-grid-3, .lh-grid-4 { grid-template-columns: minmax(0, 1fr); }
  .lh-section-head { display: block; }
  .lh-section-head > :last-child { margin-top: 16px; }
  .lh-phone-frame { width: 246px; height: 490px; }
  .lh-screenshot-row { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
  .lh-screenshot-row figure { border-radius: 11px; }
  .lh-screenshot-row figure:nth-child(2) { transform: none; }
  .lh-screenshot-row figcaption { padding: 7px; font-size: .68rem; }
  .lh-proof-strip { justify-content: flex-start; gap: 12px 20px; padding: 17px 18px; font-size: .84rem; }
  .lh-card { padding: 20px; }
  .lh-community-layout { grid-template-columns: minmax(0,1fr); }
  .lh-community-sidebar { position: static; }
  .lh-footer { padding: 42px 0 96px; }
  .lh-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
  .lh-footer-brand-col { grid-column: span 2; }
  .lh-install-bar {
    position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: flex; align-items: center;
    gap: 10px; padding: 10px 12px max(10px, env(safe-area-inset-bottom)); background: var(--lh-navy);
    color: #fff; box-shadow: 0 -8px 24px rgba(0,0,0,.2);
  }
  .lh-install-bar[hidden] { display: none !important; }
  .lh-install-dismiss { flex: 0 0 auto; padding: 5px 7px; border: 0; background: transparent; color: #c9c5e6; font-size: 1.3rem; cursor: pointer; }
  .lh-install-copy { flex: 1; font-size: .76rem; line-height: 1.3; }
  .lh-install-copy strong { display: block; font-family: var(--lh-font-display); font-size: .84rem; }
  .lh-install-link { min-height: 38px; padding: 7px 12px; border: 1px solid #bcb7e6; border-radius: 10px; color: #fff; font-size: .82rem; font-weight: 700; white-space: nowrap; }
}
@media (max-width: 380px) {
  .lh-wrap { width: calc(100% - 28px); }
  .lh-brand { gap: 6px; font-size: 1.12rem; }
  .lh-brand-mark { width: 30px; height: 30px; }
  .lh-header-inner { gap: 6px; }
  .lh-header-actions .lh-button { padding-inline: 9px; font-size: .75rem; }
  .lh-mobile-nav { margin-left: 4px; }
  .lh-actions { gap: 9px; }
  .lh-button, .lh-button-secondary { white-space: normal; }
  .lh-screenshot-row figcaption { font-size: .62rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Prototype-fidelity refinements: preserve the supplied LearnHive layout and
   visual rhythm while allowing native WordPress/plugin content to flow inside it. */
.lh-page-hero { padding: 60px 0; }
.lh-breadcrumbs { line-height: 1.5; }
.lh-hero h1 { letter-spacing: -.02em; }
.lh-icon-wrap { width: 50px; height: 50px; border-radius: 0; clip-path: polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%); }
.lh-cta-band { background: linear-gradient(135deg, var(--lh-orange), #f5a04e); }
.lh-cta-band p { color: #1e1b3a; }
.lh-cta-band h2, .lh-cta-band h3 { color: #1e1b3a; }
.lh-cta-band .lh-play-badge { background: #fff; color: var(--lh-navy); box-shadow: 0 4px 0 rgba(0,0,0,.15); }
.lh-cta-band .lh-play-badge:hover { color: var(--lh-navy); background: #fff; }
.lh-button { color: var(--lh-navy); }
.lh-button:hover { color: var(--lh-navy); }
.lh-button-secondary { box-shadow: 0 3px 0 #cfccf3; }
.lh-card > img,
.lh-course-card__image { width: 100%; height: auto; border-radius: 12px; }
.lh-card--feature { border-top-width: 1px; border-inline-start: 3px solid var(--lh-orange); }
.lh-content .lh-editor-content { color: var(--lh-ink); }
.lh-contact-card { border-color: #f2c28f; box-shadow: inset 0 0 0 1px rgba(240,138,36,.08); }
.lh-about-feature { display: flex; align-items: center; gap: 16px; }
.lh-about-feature h3 { margin: 0; }
.lh-about-feature p { margin: 4px 0 0; }
.lh-editor-content {
  width: 100%; max-width: 100%; margin-inline: auto;
  color: var(--lh-ink); font-family: var(--lh-font-body); line-height: 1.65;
}
.lh-editor-content .elementor,
.lh-editor-content .elementor-section-wrap,
.lh-editor-content .elementor-section,
.lh-editor-content .elementor-top-section,
.lh-editor-content .e-con {
  width: 100% !important; max-width: 100% !important; margin-inline: auto !important;
}
.lh-editor-content .elementor-section,
.lh-editor-content .elementor-top-section,
.lh-editor-content .e-con {
  padding-block: 22px !important;
}
.lh-editor-content .elementor-container,
.lh-editor-content .e-con-inner {
  width: min(100%, 1120px) !important; max-width: 1120px !important;
}
.lh-editor-content .elementor-column,
.lh-editor-content .elementor-column-wrap,
.lh-editor-content .elementor-widget-wrap {
  min-width: 0; max-width: 100%;
}
.lh-editor-content .elementor-column-wrap,
.lh-editor-content .elementor-widget-wrap { padding: 0 !important; }
.lh-editor-content .elementor-widget { max-width: 100%; }
.lh-editor-content [style*="max-width"]:not(img):not(figure):not(iframe):not(video):not(svg):not(input):not(select):not(textarea):not(button),
.lh-editor-content [style*="width:"]:not(img):not(figure):not(iframe):not(video):not(svg):not(input):not(select):not(textarea):not(button) {
  width: auto !important; max-width: 100% !important;
}
.lh-editor-content .elementor-section[style*="background"],
.lh-editor-content .elementor-top-section[style*="background"],
.lh-editor-content .elementor-column-wrap[style*="background"],
.lh-editor-content .elementor-widget-wrap[style*="background"],
.lh-editor-content .e-con[style*="background"],
.lh-editor-content .e-con-inner[style*="background"],
.lh-editor-content [style*="background"]:not(a):not(button):not(input):not(textarea):not(select):not(img):not(.elementor-widget-image) {
  background-color: transparent !important;
}
.lh-editor-content h2, .lh-editor-content h3,
.lh-editor-content h4, .lh-editor-content h5 {
  color: var(--lh-navy);
  font-family: var(--lh-font-display);
}
.lh-editor-content h2, .lh-editor-content .elementor-heading-title.elementor-size-default {
  font-size: clamp(1.55rem, 3vw, 2.15rem) !important;
}
.lh-editor-content h3 { font-size: 1.2rem !important; }
.lh-editor-content .elementor-heading-title { color: var(--lh-navy) !important; font-family: var(--lh-font-display) !important; }
.lh-editor-content p, .lh-editor-content li, .lh-editor-content blockquote {
  color: var(--lh-ink);
  font-family: var(--lh-font-body);
}
.lh-editor-content :not(a):not(button):not(input):not(textarea):not(select):not(svg)[style*="color"] {
  color: var(--lh-ink) !important;
}
.lh-editor-content a, .lh-editor-content a * { color: var(--lh-indigo) !important; }
.lh-editor-content img, .lh-editor-content figure,
.lh-editor-content video, .lh-editor-content iframe {
  max-width: 100%;
}
.lh-editor-content form, .lh-editor-content input,
.lh-editor-content select, .lh-editor-content textarea,
.lh-editor-content button { font-family: var(--lh-font-body); }
.lh-team-band {
  padding: 26px 28px; border-radius: 18px; background: var(--lh-navy); color: #dedbf3;
}
.lh-team-band h2, .lh-team-band h3 { color: #fff; }
.lh-course-list > * + * { margin-top: 14px; }
.lh-course-list .lh-card { display: grid; grid-template-columns: minmax(190px, 32%) minmax(0, 1fr); gap: 20px; align-items: center; }
.lh-course-list .lh-card > img { grid-row: span 5; height: 150px; object-fit: cover; }
.lh-course-list .lh-card h3 { margin-top: 0; }
.lh-course-list .lh-card p { margin-bottom: 8px; }
.lh-research-grid .lh-card { height: 100%; }
.lh-primary-nav > ul, .lh-primary-nav > .lh-menu { align-items: center; }
.lh-primary-nav .sub-menu { z-index: 100; }
.lh-site-header .lh-header-actions .lh-login-link { white-space: nowrap; }
.lh-mobile-menu .lh-auth-mobile-link { display: block; margin-top: 6px; }
.lh-mobile-menu > ul { display: block; }
.lh-mobile-menu > ul > li { position: relative; }
.lh-mobile-menu > ul .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 14px; border: 0; box-shadow: none; }
.lh-mobile-menu > ul .sub-menu a { border-bottom: 0; }
.lh-mobile-menu .lh-auth-mobile-link { border-top: 1px solid var(--lh-line); }
@media (max-width: 980px) {
  .lh-primary-nav .sub-menu { min-width: 210px; }
  .lh-course-list .lh-card { grid-template-columns: minmax(160px, 30%) minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .lh-course-list .lh-card { grid-template-columns: minmax(0, 1fr); }
  .lh-course-list .lh-card > img { grid-row: auto; height: auto; max-height: 230px; }
  .lh-team-band { padding: 22px; }
  .lh-about-feature { align-items: flex-start; }
  .lh-editor-content .elementor-column,
  .lh-editor-content .elementor-column-wrap { width: 100% !important; }
  .lh-editor-content .elementor-section,
  .lh-editor-content .elementor-top-section,
  .lh-editor-content .e-con { padding-block: 16px !important; }
}
.lh-publication-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:20px}
.lh-publication-strip h3{margin-bottom:0}
.lh-auth-section{background:var(--lh-cream)}
.lh-auth-card h1{text-align:center;font-size:1.8rem}
.lh-auth-card>p{text-align:center;color:var(--lh-muted)}
.lh-auth-card #wp-submit{background:white;color:var(--lh-indigo);border:2px solid var(--lh-indigo);min-height:46px;cursor:pointer}
