/* Yusr Public UI V7 — public pages only. Dashboard intentionally untouched. */
.public-mode{
  --v7-navy:#082640;
  --v7-navy-2:#0b3852;
  --v7-teal:#0aa49a;
  --v7-teal-2:#19c7b8;
  --v7-ink:#10233e;
  --v7-muted:#748398;
  --v7-line:#dce7ed;
  --v7-soft:#f6f9fb;
  --v7-shadow:0 28px 80px rgba(11,49,72,.11);
  background:
    radial-gradient(circle at 80% 3%,rgba(10,164,154,.075),transparent 24%),
    radial-gradient(circle at 8% 13%,rgba(240,200,108,.07),transparent 22%),
    #f8fbfd;
  color:var(--v7-ink);
}
.public-mode main{position:relative;z-index:1}

/* ===== SaaS public header ===== */
.v7-public-header{position:sticky;top:10px;z-index:80;padding:8px 0 0;pointer-events:none}
.v7-header-shell{pointer-events:auto;min-height:74px;display:grid;grid-template-columns:180px 1fr 250px;align-items:center;gap:14px;padding:8px 12px 8px 16px;border:1px solid rgba(218,231,237,.95);border-radius:24px;background:rgba(255,255,255,.86);backdrop-filter:blur(22px) saturate(150%);box-shadow:0 16px 48px rgba(25,61,83,.08)}
.v7-brand{display:flex;align-items:center;justify-content:flex-start;padding:2px 5px}
.v7-brand img{width:96px;height:48px;object-fit:contain}
.v7-public-nav{justify-self:center;display:flex;align-items:center;gap:2px;padding:5px;background:#f3f6f8;border:1px solid #edf1f3;border-radius:17px}
.v7-public-nav>a,.v7-nav-dropdown>button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 15px;border:0;border-radius:12px;background:transparent;color:#56677a;font-family:inherit;font-size:13.5px;font-weight:800;white-space:nowrap;cursor:pointer;transition:.2s ease}
.v7-public-nav>a:hover,.v7-public-nav>a.active,.v7-nav-dropdown:hover>button,.v7-nav-dropdown.active>button{background:#fff;color:var(--v7-navy);box-shadow:0 7px 20px rgba(13,44,67,.065)}
.v7-caret{font-size:13px;line-height:1;opacity:.6;transform:translateY(-1px)}
.v7-nav-dropdown{position:relative}
.v7-nav-menu{position:absolute;top:calc(100% + 10px);right:0;width:310px;padding:8px;border:1px solid var(--v7-line);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 22px 60px rgba(11,49,72,.13);opacity:0;visibility:hidden;transform:translateY(-6px);transition:.2s;backdrop-filter:blur(18px)}
.v7-nav-dropdown:hover .v7-nav-menu,.v7-nav-dropdown:focus-within .v7-nav-menu{opacity:1;visibility:visible;transform:none}
.v7-nav-menu>a{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;padding:11px;border-radius:13px;transition:.18s}
.v7-nav-menu>a:hover{background:#f5f9fa}
.v7-nav-menu>a>span{width:36px;height:36px;border-radius:11px;background:#e9f8f5;color:var(--v7-teal);display:grid;place-items:center}.v7-nav-menu svg{width:18px;height:18px}
.v7-nav-menu strong{display:block;color:var(--v7-navy);font-size:12.5px}.v7-nav-menu small{display:block;color:#8997a6;font-size:10.5px;margin-top:2px;line-height:1.5}
.v7-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.v7-header-link{display:inline-flex;align-items:center;gap:6px;padding:10px 8px;color:#657589;font-size:12px;font-weight:800}.v7-header-link svg{width:17px;height:17px}.v7-header-link:hover{color:var(--v7-navy)}
.v7-header-primary{min-height:42px!important;padding:0 16px!important;border-radius:13px!important;background:linear-gradient(135deg,#082640,#0a5563 65%,#0aa49a)!important;color:#fff!important;box-shadow:0 12px 28px rgba(6,82,92,.15)!important}

/* ===== Clean V9 hero ===== */
.v7-home-hero{padding:78px 0 30px;overflow:hidden;position:relative}
.v7-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:76px;align-items:center;min-height:455px}
.v7-hero-copy{position:relative;z-index:2}
.v7-eyebrow{display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border:1px solid #d9e8eb;border-radius:999px;background:#fff;color:#2c746e;font-size:12.5px;font-weight:800;box-shadow:0 8px 22px rgba(22,92,93,.045)}
.v7-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--v7-teal-2);box-shadow:0 0 0 5px rgba(25,199,184,.12)}
.v7-hero-copy h1{max-width:700px;margin:20px 0 17px;color:var(--v7-navy);font-size:clamp(56px,5.6vw,84px);line-height:1.035;letter-spacing:-3px;font-weight:800}
.v7-hero-copy h1 span{color:var(--v7-teal)}
.v7-hero-copy>p{max-width:590px;margin:0 0 25px;color:var(--v7-muted);font-size:18px;line-height:1.9}
.v7-hero-actions{display:flex;gap:10px}.v7-hero-actions .btn{min-height:48px;border-radius:14px}
.v7-trust{display:flex;gap:15px;flex-wrap:wrap;margin-top:21px;color:#6d7c8e;font-size:12px;font-weight:700}.v7-trust span{display:inline-flex;align-items:center;gap:5px}.v7-trust span::first-letter{color:var(--v7-teal)}

/* ===== Match Insight Panel ===== */
.v7-match-visual{position:relative}
.v7-match-visual:before{content:"";position:absolute;inset:8% -3% -3% 8%;border-radius:42px;background:linear-gradient(145deg,rgba(8,38,64,.035),rgba(9,164,154,.08));transform:rotate(-3deg)}
.v7-match-panel{position:relative;z-index:2;padding:21px;border:1px solid #dae7ec;border-radius:32px;background:rgba(255,255,255,.95);box-shadow:var(--v7-shadow);overflow:hidden}
.v7-match-panel:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;left:-75px;top:-85px;background:radial-gradient(circle,rgba(10,164,154,.13),rgba(10,164,154,0));pointer-events:none}
.v7-match-head{display:flex;align-items:center;justify-content:space-between;padding:2px 3px 16px;border-bottom:1px solid #eef2f4;color:#798899;font-size:12px;font-weight:800}
.v7-live{display:flex;align-items:center;gap:7px;color:#8090a1;font-size:10.5px;font-weight:700}.v7-live i{width:7px;height:7px;border-radius:50%;background:#1fc3a4;box-shadow:0 0 0 5px rgba(31,195,164,.1)}
.v7-match-opportunity{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start;padding:19px 4px 15px}
.v7-match-opportunity small{color:#8a99a9;font-size:10.5px}.v7-match-opportunity h3{margin:5px 0;color:#0a2945;font-size:23px}.v7-match-opportunity p{margin:0;color:#748398;font-size:12.5px}
.v7-match-score{min-width:96px;padding:13px 10px;border:1px solid #d9eeea;border-radius:22px;background:linear-gradient(180deg,#edf9f6,#f9fcfc);text-align:center}.v7-match-score strong{display:block;color:#0a8b80;font-size:29px;line-height:1}.v7-match-score span{display:block;margin-top:5px;color:#75889a;font-size:10px;font-weight:800}
.v7-match-progress{height:8px;margin:4px 4px 16px;border-radius:999px;background:#edf2f4;overflow:hidden}.v7-match-progress i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#0a9f95,#22c8b9);transition:width .9s cubic-bezier(.2,.7,.2,1)}.v7-public-ready .v7-match-progress i{width:var(--v7-score)}
.v7-match-reason-box{margin:0 3px 14px;padding:14px 15px;border:1px solid #edf2f4;border-radius:20px;background:#f7fafb}.v7-match-reason-title{display:block;margin-bottom:9px;color:#8b9aa9;font-size:10.5px;font-weight:800}.v7-match-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v7-match-reasons>div{padding:9px 10px;border:1px solid #e6edef;border-radius:14px;background:#fff}.v7-match-reasons strong{display:block;margin-bottom:3px;color:#0a4353;font-size:11.5px}.v7-match-reasons small{color:#8493a2;font-size:9.5px}
.v7-match-foot{display:flex;align-items:center;justify-content:space-between;padding:0 4px 2px}.v7-match-foot>span{color:#8492a1;font-size:10.5px}.v7-match-foot>a{width:44px;height:44px;border-radius:14px;background:#0a2945;color:#fff;display:grid;place-items:center}.v7-match-foot svg{width:20px;height:20px}
.v7-match-signal{position:absolute;z-index:4;left:-10px;bottom:35px;padding:10px 13px;border:1px solid #dfe9ed;border-radius:16px;background:#fff;color:#54706f;font-size:10.5px;font-weight:800;box-shadow:0 14px 35px rgba(19,58,80,.09)}
.v7-match-empty{text-align:right}.v7-empty-score{display:flex;align-items:end;gap:9px;margin:23px 2px 12px}.v7-empty-score strong{color:var(--v7-teal);font-size:42px;line-height:1}.v7-empty-score span{color:#8090a0;font-size:11px}.v7-match-empty h3{margin:0 0 7px;color:var(--v7-navy);font-size:21px}.v7-match-empty p{margin:0 0 17px;color:var(--v7-muted);font-size:12px;line-height:1.7}

/* ===== Search strip ===== */
.v7-search-strip{padding:4px 0 42px}
.v7-search-shell{display:grid;grid-template-columns:1.35fr .8fr 150px;gap:7px;padding:9px;border:1px solid #dbe7ec;border-radius:24px;background:#fff;box-shadow:0 20px 65px rgba(11,49,72,.09)}
.v7-search-shell label{height:58px;display:flex;align-items:center;gap:10px;padding:0 16px;border-radius:16px;background:#f7f9fb;color:#8291a2}.v7-search-shell label>span{display:grid;place-items:center;color:var(--v7-teal)}.v7-search-shell svg{width:20px;height:20px}.v7-pin{font-size:20px}
.v7-search-shell input,.v7-search-shell select{width:100%;height:100%;padding:0;border:0;background:transparent;outline:0;color:var(--v7-ink);font:inherit;font-size:13px}.v7-search-shell input::placeholder{color:#95a2b1}.v7-search-shell .btn{border-radius:16px}

/* ===== Featured course ===== */
.v7-featured-wrap{padding:11px 0 34px}.v7-featured-courses{padding:44px 0 4px}
.v7-section-label{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.v7-section-label>div>span{color:var(--v7-teal);font-size:11px;font-weight:800}.v7-section-label h2{margin:3px 0 0;color:var(--v7-navy);font-size:27px}.v7-section-label>a{display:inline-flex;align-items:center;gap:5px;color:#6e7f91;font-size:12px;font-weight:800}.v7-section-label svg{width:17px;height:17px}
.v7-featured-course{min-height:330px;display:grid;grid-template-columns:1.1fr .9fr;gap:28px;padding:28px;border-radius:32px;background:linear-gradient(135deg,#082a44,#0a5360 66%,#0aa49a);color:#fff;box-shadow:0 26px 70px rgba(8,60,72,.17);overflow:hidden;position:relative}
.v7-featured-course:before{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-180px;bottom:-220px;background:rgba(255,255,255,.045)}
.v7-featured-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.v7-featured-badge{display:inline-flex;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.12);font-size:10.5px;font-weight:900}.v7-featured-copy h3{max-width:620px;margin:14px 0 8px;font-size:29px;line-height:1.3}.v7-featured-copy>p{max-width:640px;margin:0 0 15px;color:rgba(255,255,255,.77);font-size:13px;line-height:1.8}.v7-featured-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}.v7-featured-meta>span{padding:7px 9px;border-radius:999px;background:rgba(255,255,255,.1);font-size:10.5px}
.v7-featured-center{display:flex;align-items:center;gap:8px;margin-bottom:17px}.v7-featured-center .avatar{border-color:rgba(255,255,255,.3)}.v7-featured-center span{display:flex;flex-direction:column}.v7-featured-center strong{font-size:11px}.v7-featured-center small{margin-top:2px;color:rgba(255,255,255,.68);font-size:9.5px}
.v7-featured-cta{display:inline-flex;align-items:center;gap:7px;padding:11px 14px;border-radius:13px;background:#fff;color:#0a3249;font-size:12px;font-weight:900}.v7-featured-cta svg{width:17px;height:17px}
.v7-featured-media{min-height:270px;border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.045)),var(--v7-course-image,linear-gradient(145deg,#f2d37e,#fff0bf));background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 24px 50px rgba(0,0,0,.13);display:grid;place-items:center;overflow:hidden}
.v7-featured-placeholder{width:82%;height:72%;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;border-radius:22px;background:linear-gradient(145deg,#f0d47f,#fff0bd);color:#17334a;transform:rotate(2deg);box-shadow:0 20px 45px rgba(0,0,0,.12)}.v7-featured-placeholder small{opacity:.58;letter-spacing:1px;font-size:9px}.v7-featured-placeholder strong{margin-top:8px;font-size:24px;line-height:1.3}
.v7-featured-courses .v7-featured-course{min-height:300px}

/* Keep the old home body sections, but remove only the old hero/duplicated featured banner. */
.public-mode.v7-route-home main>.hero:first-child{display:none!important}
.public-mode.v7-route-home main>.section:has(.featured-course){display:none!important}
.public-mode.v7-route-home main>.section{padding-block:50px}.public-mode.v7-route-home main>.section.white{background:rgba(255,255,255,.72)}
.public-mode.v7-route-home main .card{border-color:#e2eaee;border-radius:24px;box-shadow:0 14px 45px rgba(19,57,78,.055)}

/* Existing course cards/filter area receive the same premium language without changing logic. */
.public-mode.v7-route-courses main>.section{padding-top:34px}
.public-mode.v7-route-courses main .entity-card{border-radius:23px;border-color:#e0e9ed;box-shadow:0 14px 42px rgba(17,54,76,.055)}
.public-mode.v7-route-courses main .filter-panel{border-radius:24px;border-color:#dde7ec;box-shadow:0 18px 55px rgba(17,54,76,.06)}

/* ===== Public bottom navigation ===== */
@media(max-width:820px){
  body.public-mode{padding-bottom:calc(94px + env(safe-area-inset-bottom))!important}
  .v7-public-header{top:6px;padding-top:4px}.v7-header-shell{min-height:62px;grid-template-columns:1fr auto;padding:7px 9px;border-radius:20px}.v7-brand img{width:78px;height:42px}.v7-public-nav{display:none}.v7-header-actions{grid-column:1;grid-row:1}.v7-desktop-only{display:none!important}.v7-header-primary{min-height:40px!important;padding:0 13px!important;font-size:11px!important;border-radius:12px!important}
  .v7-home-hero{padding:48px 0 20px}.v7-hero-grid{display:flex;flex-direction:column;gap:26px;min-height:0}.v7-hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}.v7-eyebrow{padding:7px 10px;font-size:10.5px}.v7-hero-copy h1{max-width:360px;margin:16px 0 12px;font-size:43px;line-height:1.06;letter-spacing:-1.9px}.v7-hero-copy>p{max-width:350px;margin-bottom:19px;font-size:14px;line-height:1.9}.v7-hero-actions{width:100%;justify-content:center}.v7-hero-actions .btn{min-width:138px;min-height:45px;padding-inline:12px;font-size:11.5px}.v7-trust{justify-content:center;gap:9px 12px;margin-top:17px;font-size:10px}
  .v7-match-visual{width:100%}.v7-match-visual:before,.v7-match-signal{display:none}.v7-match-panel{padding:15px;border-radius:24px;text-align:right}.v7-match-head{padding-bottom:12px;font-size:10.5px}.v7-match-opportunity{grid-template-columns:1fr auto;padding:15px 2px 12px}.v7-match-opportunity h3{font-size:18px}.v7-match-opportunity p{font-size:10.5px}.v7-match-score{min-width:78px;padding:11px 8px;border-radius:17px}.v7-match-score strong{font-size:23px}.v7-match-reason-box{padding:11px;margin-bottom:11px}.v7-match-reasons{grid-template-columns:1fr 1fr}.v7-match-reasons>div:nth-child(3){grid-column:1/-1}.v7-match-foot>span{font-size:9.5px}.v7-match-foot>a{width:40px;height:40px;border-radius:13px}
  .v7-search-strip{padding-bottom:29px}.v7-search-shell{grid-template-columns:1fr;padding:8px;border-radius:21px}.v7-search-shell label,.v7-search-shell .btn{height:51px;min-height:51px;border-radius:14px}
  .v7-featured-wrap{padding-bottom:24px}.v7-featured-courses{padding-top:27px}.v7-section-label h2{font-size:22px}.v7-section-label>a{font-size:10.5px}.v7-featured-course{min-height:0;grid-template-columns:1fr;padding:20px;border-radius:25px}.v7-featured-copy h3{font-size:21px}.v7-featured-copy>p{font-size:11.5px}.v7-featured-media{display:none}.v7-featured-center{margin-bottom:14px}
  .public-mode.v7-route-home main>.section{padding-block:34px}

  body.public-mode .v5-public-bottom{right:12px!important;left:12px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important;height:auto!important;min-height:70px!important;padding:6px!important;border:1px solid #d9e5eb!important;border-radius:22px!important;background:rgba(255,255,255,.95)!important;backdrop-filter:blur(24px) saturate(160%)!important;box-shadow:0 17px 46px rgba(10,44,68,.18)!important;overflow:visible!important}
  body.public-mode .v5-public-bottom .v5-bottom-item{min-width:0!important;height:58px!important;gap:3px!important;border-radius:16px!important;color:#6a7a8c!important;font-size:9.2px!important;font-weight:800!important;transition:.18s ease!important}
  body.public-mode .v5-public-bottom .v5-bottom-item svg{width:20px!important;height:20px!important}
  body.public-mode .v5-public-bottom .v5-bottom-item.active{position:relative;background:linear-gradient(180deg,#edf9f7,#e1f4f1)!important;color:#087e79!important;transform:translateY(-2px)}
  body.public-mode .v5-public-bottom .v5-bottom-item.active:before{content:"";position:absolute;top:-3px;width:27px;height:3px;border-radius:999px;background:var(--v7-teal)}
}

@media(max-width:420px){
  .container{width:calc(100% - 22px)}
  .v7-hero-copy h1{font-size:39px}.v7-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v7-hero-actions .btn{min-width:0}.v7-match-opportunity p{max-width:190px}.v7-match-reasons strong{font-size:10.5px}
}

@media(prefers-reduced-motion:reduce){.v7-match-progress i,.v7-public-nav a,.v7-header-primary{transition:none!important}}

/* ===== V8.2: keep the approved V7/V9 hero and suppress the legacy homepage hero ===== */
body.public-mode.v7-route-home main>section:first-child{display:none!important}
/* Extra compatibility with historical hero classes used across Yusr releases. */
body.public-mode.v7-route-home main>.hero,
body.public-mode.v7-route-home main>.home-hero,
body.public-mode.v7-route-home main>.public-hero{display:none!important}
