/*
 * Side Hustle Evaluator V6 mobile-first hardening.
 * Loaded after main.css so these rules safely improve earlier versions.
 */
html{overflow-x:hidden;-webkit-text-size-adjust:100%}
body{overflow-wrap:anywhere;overflow-x:hidden}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(31,107,79,.35);outline-offset:3px}
iframe,video,embed,object{max-width:100%}
.wp-block-image img,.wp-post-image{height:auto}
.alignwide{max-width:1180px;margin-left:auto;margin-right:auto}
.alignfull{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw)}
.site-header,.site-footer,main{max-width:100%}
.brand{min-width:0;max-width:min(58vw,340px)}
.brand>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.custom-logo-link{display:flex;align-items:center;min-width:0}
.custom-logo{max-width:min(220px,48vw)}
.menu-toggle{min-width:46px;min-height:46px;border-radius:10px;align-items:center;justify-content:center}
.menu-toggle[aria-expanded="true"]{background:var(--soft)}
.button,.favourite-button,.watch-button,.compare-link,.tab-button,.search-submit{min-height:44px}
input[type="text"],input[type="email"],input[type="url"],input[type="number"],input[type="search"],input[type="date"],input[type="password"],select,textarea{font-size:16px;max-width:100%}
textarea{min-height:130px;resize:vertical}
.entry-content,.article-content,.tab-panel,.review-card,.metric-card,.info-card{min-width:0}
.entry-content pre,.article-content pre{max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch}
.entry-content table,.article-content table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.income-table-wrap,.comparison-table-wrap,.tab-list{scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.income-table-wrap,.comparison-table-wrap{max-width:100%;border-radius:14px}
.hustle-card,.review-card,.category-card,.widget,.filter-panel,.submission-form,.finder-form{min-width:0}
.card-body p,.review-card p,.update-item p{overflow-wrap:anywhere}
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.page-numbers{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px}

@media (max-width:782px){
  .admin-bar .site-header{top:46px}
}
@media (min-width:783px){
  .admin-bar .site-header{top:32px}
}

@media (max-width:900px){
  .header-inner{gap:12px}
  .header-cta{display:none}
  .menu-toggle{display:inline-flex;margin-left:auto}
  .primary-nav{display:none;position:absolute;left:14px;right:14px;top:calc(100% + 8px);max-height:calc(100vh - 96px);overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px;box-shadow:0 18px 50px rgba(24,52,40,.16)}
  .admin-bar .primary-nav{max-height:calc(100vh - 142px)}
  .primary-nav.is-open{display:block}
  .primary-nav .menu{display:grid;gap:2px}
  .primary-nav .menu li{margin:0}
  .primary-nav .menu a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border-radius:10px}
  .primary-nav .menu a:hover,.primary-nav .current-menu-item>a{background:var(--soft);color:var(--brand)}
  body.menu-is-open{overflow:hidden}
}

@media (max-width:760px){
  :root{--radius:15px}
  .container,.narrow{width:min(100% - 28px,1180px)}
  h1{font-size:clamp(2.25rem,11vw,3.8rem);letter-spacing:-.045em}
  h2{font-size:clamp(1.75rem,8vw,2.7rem)}
  h3{font-size:1.2rem}
  .site-header{backdrop-filter:none;background:rgba(255,255,255,.98)}
  .header-inner{min-height:64px}
  .brand-mark{width:36px;height:36px;border-radius:10px;flex:0 0 auto}
  .hero{padding:46px 0 52px;background:radial-gradient(circle at 90% 0,rgba(217,242,112,.3),transparent 34%),linear-gradient(140deg,#f4f8f5,#fff 72%)}
  .hero-grid{gap:30px}
  .hero-copy p{font-size:1.02rem}
  .hero-search{display:grid;grid-template-columns:1fr;margin:24px 0 16px;padding:7px}
  .hero-search input{height:48px;padding:0 12px}
  .hero-search .button{width:100%;margin:6px 0 0}
  .hero-panel{padding:24px;border-radius:20px}
  .big-score strong{font-size:4.5rem}
  .mini-metrics{grid-template-columns:1fr 1fr}
  .section{padding:50px 0}
  .section-tight{padding:40px 0}
  .section-heading{margin-bottom:24px;gap:8px}
  .section-heading>a{display:inline-flex;min-height:44px;align-items:center}
  .category-grid{gap:10px}
  .category-card{min-height:132px;padding:16px}
  .card-grid{gap:16px}
  .card-body{padding:18px}
  .card-image{aspect-ratio:16/9}
  .hustle-card:hover,.category-card:hover{transform:none}
  .split-section{gap:36px}
  .cta-box{padding:26px 22px;border-radius:20px}
  .cta-box .button{width:100%}
  .archive-hero,.article-header{padding:44px 0 34px}
  .archive-layout{gap:26px}
  .filter-panel{padding:18px}
  .filter-panel form,.submission-form{display:grid;gap:14px}
  .filter-panel label,.submission-form label{margin:0}
  .filter-panel input,.filter-panel select,.submission-form input,.submission-form select,.submission-form textarea{width:100%}
  .filter-panel .button{width:100%}
  .clear-filter{display:flex;justify-content:center;align-items:center;min-height:44px}
  .profile-actions{display:grid;grid-template-columns:1fr;gap:9px}
  .profile-actions>*{width:100%;justify-content:center}
  .score-card{padding:20px}
  .metric-card{padding:16px}
  .community-tabs{border-radius:15px}
  .tab-list{padding:8px}
  .tab-button{padding:10px 13px}
  .tab-panel{padding:16px}
  .review-card{padding:18px}
  .review-card-top{flex-direction:column;gap:4px}
  .compare-picker{padding:18px}
  .comparison-table,.income-table{min-width:620px}
  .dashboard-grid{gap:28px}
  .login-card{padding:28px 20px}
  .footer-grid{gap:32px}
  .site-footer{padding:48px 0 22px}
  .footer-bottom{margin-top:32px}
  .author-hero{flex-direction:column}
  .leaderboard-row{padding:15px}
  .finder-form{padding:20px;border-radius:18px}
  .update-timeline{margin-left:5px}
  .update-item{padding-left:22px}
}

@media (max-width:480px){
  .container,.narrow{width:min(100% - 22px,1180px)}
  .hero{padding-top:38px}
  .eyebrow,.panel-kicker{letter-spacing:.12em}
  .hero-trust{display:grid;gap:5px}
  .mini-metrics,.card-metrics,.metric-grid,.category-grid{grid-template-columns:1fr}
  .hero-panel .mini-metrics{grid-template-columns:1fr 1fr}
  .category-card{min-height:108px}
  .card-topline{align-items:flex-start}
  .score-pill{width:40px;height:40px;flex:0 0 auto}
  .score-card{grid-template-columns:1fr}
  .score-card strong{grid-column:auto;grid-row:auto;font-size:3.8rem}
  .community-summary{grid-template-columns:1fr}
  .comparison-table,.income-table{min-width:560px}
  .leaderboard-row{grid-template-columns:36px 1fr;gap:10px}
  .leaderboard-person{align-items:flex-start}
  .leaderboard-person img{width:42px;height:42px}
  .button{padding-inline:16px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Essential editorial and legal pages */
.essential-page-header p{max-width:720px;color:var(--muted);font-size:1.08rem}
.essential-page-layout{display:grid;gap:22px}
.essential-page-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,5vw,52px);box-shadow:0 16px 48px rgba(24,52,40,.07)}
.essential-page-card h2{margin-top:1.8em;font-size:clamp(1.45rem,4vw,2rem)}
.essential-page-card h2:first-child{margin-top:0}
.essential-page-card p,.essential-page-card li{line-height:1.78}
.legal-notice{padding:18px 20px;border:1px solid rgba(177,119,0,.25);border-radius:14px;background:#fff9e9;line-height:1.6}
.footer-legal-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:14px}
.footer-legal-links a{color:inherit;text-decoration:none}
.footer-legal-links a:hover{text-decoration:underline}
@media(max-width:760px){
  .essential-page-card{padding:24px 20px;border-radius:16px}
  .essential-page-header p{font-size:1rem}
}
