/* WP LAB Recipes 1.8.2 — one text family; icon fonts and WordPress admin UI are excluded.
   Inter is reused when already loaded. External font loading is explicit opt-in.
   Components own their text sizes; one base family does not mean identical sizes. */
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-archive,.wplr-community,.wplr-account,.wplr-directory,.wplr-auth,.wplr-floating-chat,.wplr-collection-dialog,.wplr-own-dialog,.wplr-lightbox,.wplr-account-toast,.wplr-portal-header,.wplr-portal-footer) {
  font-family:var(--wplr-font-family,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif)!important;
}
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-archive,.wplr-community,.wplr-account,.wplr-directory,.wplr-auth,.wplr-floating-chat,.wplr-collection-dialog,.wplr-own-dialog,.wplr-lightbox,.wplr-account-toast,.wplr-portal-header,.wplr-portal-footer) :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,option,label,legend,summary,li,dt,dd,td,th,strong,b,em,small,figcaption,span:not(.wplr-icon):not(.fi)) {
  font-family:var(--wplr-font-family,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif)!important;
}
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-community,.wplr-account,.wplr-directory) {
  font-size:var(--wplr-body-size,16px);
  -webkit-font-smoothing:antialiased;
}
/* Blocksy and other theme headings on actual portal pages, never the dashboard. */
body.wplr-design-page {
  font-family:var(--wplr-font-family,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif);
  --theme-font-family:var(--wplr-font-family,Inter,system-ui,sans-serif);
  --theme-heading-font-family:var(--wplr-font-family,Inter,system-ui,sans-serif);
}
body.wplr-design-page :is(#header,#footer,.entry-header) :is(h1,h2,h3,h4,h5,h6,p,a,button,input,textarea,select,option,label,legend,summary,li,dt,dd,td,th,strong,b,em,small,figcaption,span:not(.wplr-icon):not(.fi)) {
  font-family:var(--wplr-font-family,Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif)!important;
}
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-archive,.wplr-community,.wplr-account,.wplr-directory,.wplr-auth,.wplr-floating-chat,.wplr-collection-dialog,.wplr-own-dialog,.wplr-lightbox,.wplr-account-toast,.wplr-portal-header,.wplr-portal-footer) :is(h1,h2,h3,h4,h5,h6) {font-weight:700}
:is(.wplr-home,.wplr-editorial) :is(h1,h2,h3) {text-wrap:balance}
/* Never force text fonts onto .fi::before or a .wplr-icon, nor touch code/pre. */
:is(.wplr-home,.wplr-editorial,.wplr-community,.wplr-account,.wplr-auth,.wplr-collection-dialog) input::file-selector-button {font-family:inherit}
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-archive,.wplr-community,.wplr-account,.wplr-directory,.wplr-auth,.wplr-floating-chat,.wplr-collection-dialog,.wplr-own-dialog,.wplr-lightbox,.wplr-account-toast,.wplr-portal-header,.wplr-portal-footer) :is(a,button,summary),
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-archive,.wplr-community,.wplr-account,.wplr-directory,.wplr-auth,.wplr-floating-chat,.wplr-collection-dialog,.wplr-own-dialog,.wplr-lightbox,.wplr-account-toast,.wplr-portal-header,.wplr-portal-footer) :is(a,button,summary):is(:hover,:focus,:active) {
  text-decoration:none!important;
}
/* Reset decorations on the containing link, not only on its text child. */
:is(.wplr-home,.wplr-editorial) :is(h2,h3,h4) a {
  text-decoration:none!important;border-bottom:0;box-shadow:none;background-image:none;
}
body.wplr-design-page :is(#header,#footer) a:is(:hover,:focus) {text-decoration:none!important}
:is(.wplr-home,.wplr-editorial,.wplr-recipe,.wplr-explorer,.wplr-archive,.wplr-community,.wplr-account,.wplr-directory,.wplr-auth,.wplr-floating-chat,.wplr-collection-dialog,.wplr-own-dialog,.wplr-lightbox,.wplr-account-toast,.wplr-portal-header,.wplr-portal-footer) :is(a,button,summary,input,select,textarea):focus-visible {
  outline:3px solid var(--wplr-accent,#4f7f2c);outline-offset:4px;
}
/* Light transition for ordinary links. White overlay and footer links stay white. */
:is(.wplr-home,.wplr-editorial,.wplr-portal-header,.wplr-portal-footer) a {transition:color .18s ease}
:is(.wplr-home-section-heading,.wplr-tile-body,.wplr-home-card-copy) a:not(.wplr-button):hover {color:var(--wplr-accent,#4f7f2c)}
.wplr-home-card-feature .wplr-home-card-copy a:hover {color:#fff}
.wplr-home-card-feature h3 a:hover {color:#e8f3dc}
.wplr-inline-link:hover,.wplr-tile-link:hover,.wplr-text-button:hover {opacity:.8}
/* Consistent type and colors in the plugin frame without overriding saved theme settings. */
.wplr-portal-header .wplr-portal-menu {gap:4px 12px}
.wplr-portal-header .wplr-portal-menu a {
  padding:10px 9px;font-size:14px;font-weight:600;text-transform:none;letter-spacing:0;
  border-radius:8px;line-height:1.4;
}
.wplr-portal-header .wplr-portal-menu a:hover,
.wplr-portal-header .wplr-portal-menu .current-menu-item>a {background:#f1f6eb;color:var(--wplr-accent,#4f7f2c)}
.wplr-portal-header .wplr-header-actions {gap:10px;flex-shrink:0}
.wplr-portal-header .wplr-header-actions>.wplr-button {
  color:#fff;background:var(--wplr-accent,#4f7f2c);min-height:44px;border-radius:10px;
  font-weight:600;text-transform:none;letter-spacing:0;white-space:nowrap;
}
.wplr-home-header-link .wplr-header-action-label {font-size:13px;font-weight:600}
.wplr-portal-header .wplr-portal-brand {max-width:250px}
.wplr-portal-header .wplr-brand-logo {max-width:220px}
.wplr-footer-motto {font-style:normal;transform:none;font-size:17px;letter-spacing:0}
/* More coherent homepage spacing and card hierarchy. */
.wplr-home {--home-ink:#21372d;--home-muted:#647068;background:#fafbf8;line-height:1.65}
.wplr-home .wplr-home-hero-inner {padding-top:46px;padding-bottom:34px}
.wplr-home .wplr-home-hero h1,.wplr-home .wplr-home-hero h2 {
  font-size:clamp(32px,3.4vw,50px);font-weight:750;line-height:1.15;letter-spacing:-.035em;
  max-width:920px;
}
.wplr-home .wplr-home-hero-inner>p {font-size:var(--wplr-body-size,16px);color:#536657;line-height:1.65;margin:12px 0 24px}
.wplr-home .wplr-home-searchbar {border-radius:12px;padding:6px;gap:8px;box-shadow:0 5px 18px rgba(47,70,30,.06)}
.wplr-home .wplr-home-searchbar input {min-height:46px}
.wplr-home .wplr-home-searchbar .wplr-button {min-height:48px;border-radius:9px}
.wplr-home .wplr-home-filters select {border-radius:9px;min-height:44px;font-size:13px;font-weight:500}
.wplr-home .wplr-home-filters {gap:12px;margin-top:14px}
.wplr-home .wplr-home-content {padding-top:24px}
.wplr-home .wplr-home-featured {gap:18px;margin-bottom:34px}
.wplr-home .wplr-home-card {border-radius:var(--wplr-radius,12px);transition:box-shadow .2s ease,border-color .2s ease}
.wplr-home .wplr-home-card:hover {box-shadow:0 9px 26px rgba(31,56,33,.10);border-color:#cddcc4}
.wplr-home .wplr-home-card-feature:hover {box-shadow:0 8px 24px rgba(22,39,25,.12)}
.wplr-home .wplr-home-card-picture img {transition:transform .35s ease}
.wplr-home .wplr-home-card:hover .wplr-home-card-picture img {transform:scale(1.025)}
.wplr-home .wplr-home-card h3 {font-size:clamp(20px,1.75vw,25px);line-height:1.28;letter-spacing:-.025em;font-weight:700}
.wplr-home .wplr-home-card-feature h3 {font-size:clamp(21px,2vw,28px);line-height:1.2}
.wplr-home .wplr-home-card-feature:first-child h3 {font-size:clamp(28px,3vw,40px);line-height:1.15}
.wplr-home .wplr-home-card-copy {padding:20px}
.wplr-home .wplr-home-card-feature .wplr-home-card-copy {padding:24px}
.wplr-home .wplr-home-card-meta {font-size:12px;letter-spacing:0}
.wplr-home .wplr-home-card-more {font-size:13px;font-weight:600}
.wplr-home .wplr-home-card-more>.wplr-icon,
.wplr-home .wplr-home-section-heading>a>.wplr-icon {transition:transform .18s ease}
.wplr-home .wplr-home-card-more:hover>.wplr-icon,
.wplr-home .wplr-home-section-heading>a:hover>.wplr-icon {transform:translateX(3px)}
.wplr-home :is(.wplr-home-quick,.wplr-home-occasions)>h2,
.wplr-home .wplr-home-section-heading h2 {font-size:clamp(24px,2.2vw,31px);line-height:1.25;letter-spacing:-.03em}
.wplr-home .wplr-home-category-grid {gap:13px}
.wplr-home .wplr-home-category-grid>a {border-radius:12px;border:1px solid transparent;transition:background .2s,border-color .2s,box-shadow .2s;color:#3c6228}
.wplr-home .wplr-home-category-grid>a:hover {background:#e6efdc;border-color:#cfdfc1;box-shadow:0 4px 14px #2e4b2210;transform:none}
.wplr-home .wplr-home-category-grid>a>span:not(.wplr-icon) {font-size:14px;font-weight:600}
.wplr-home .wplr-home-cookbook h2,.wplr-home .wplr-home-tips h2 {font-size:23px;line-height:1.25}
.wplr-home .wplr-home-cookbook,.wplr-home .wplr-home-tips {border-radius:12px}
.wplr-home .wplr-home-occasion {border-radius:12px;transition:box-shadow .2s ease}
.wplr-home .wplr-home-occasion-copy>strong {font-weight:700;font-size:clamp(20px,1.9vw,26px);line-height:1.24;letter-spacing:-.02em}
.wplr-home .wplr-home-occasion:hover {box-shadow:0 8px 24px rgba(22,39,25,.15)}
.wplr-home .wplr-home-pantry,.wplr-home .wplr-home-submit {border-radius:14px}
.wplr-home .wplr-home-pantry h2 {font-size:clamp(28px,3vw,40px);line-height:1.2}
.wplr-home .wplr-home-submit h2 {font-size:23px;line-height:1.3}
.wplr-home .wplr-home-submit p {font-size:14px}
.wplr-home .wplr-home-text-button {font-weight:600}
.wplr-home .wplr-button {font-weight:600;line-height:1.35}
.wplr-home .wplr-button:not(.wplr-button-secondary) {background:var(--wplr-accent,#4f7f2c);color:#fff}
.wplr-home .wplr-button:not(.wplr-button-secondary):hover {color:#fff;filter:brightness(.94)}
.wplr-home .wplr-button-secondary:hover {background:#f1f6e9;filter:none}
.wplr-home-footer h2 {font-size:15px;font-weight:650;letter-spacing:0}
.wplr-home-footer :is(a,button) {font-size:14px}
.wplr-home-footer .wplr-home-footer-brand>p {font-style:normal;font-size:15px;line-height:1.6;transform:none}
.wplr-home-footer a:hover,.wplr-home-footer button:hover {color:#d8ebc7;opacity:1}
.wplr-home-footer .wplr-portal-menu {display:block}
.wplr-home-footer .wplr-portal-menu a {color:#edf3e9;font-size:14px}
/* A single compact row on medium desktops; the existing accessible mobile menu still works. */
@media(min-width:901px) and (max-width:1200px){
  .wplr-portal-header .wplr-portal-top{gap:14px}
  .wplr-portal-header .wplr-portal-menu{gap:3px}
  .wplr-portal-header .wplr-portal-menu a{font-size:13px;padding:8px 6px}
  .wplr-portal-header .wplr-brand-logo{max-width:190px}
  .wplr-portal-header .wplr-home-header-link .wplr-header-action-label{display:none}
  .wplr-portal-header .wplr-home-header-link{width:38px;flex:0 0 38px;padding:0}
}
@media(max-width:900px){
  .wplr-portal-header .wplr-portal-menu a{font-size:14px;padding:11px 10px}
  .wplr-home .wplr-home-hero-inner{padding-top:34px;padding-bottom:28px}
  .wplr-home .wplr-home-card-feature .wplr-home-card-copy{padding:20px}
}
@media(max-width:600px){
  .wplr-home .wplr-home-searchbar input{font-size:16px}
  .wplr-home .wplr-home-card h3{font-size:22px}
  .wplr-home .wplr-home-card-feature:first-child h3{font-size:29px}
  .wplr-home .wplr-home-featured{gap:14px}
  .wplr-home .wplr-home-category-grid{gap:9px}
  .wplr-home .wplr-home-category-grid>a>span:not(.wplr-icon){font-size:13px}
  .wplr-home .wplr-home-section-heading{flex-wrap:wrap;row-gap:8px}
  .wplr-home .wplr-home-submit h2{font-size:22px}
}
@media(max-width:480px){
  .wplr-portal-header .wplr-portal-brand{max-width:170px;min-width:0}
  .wplr-portal-header .wplr-brand-logo{max-width:155px}
  .wplr-portal-header .wplr-header-actions{gap:4px}
  .wplr-portal-header .wplr-header-actions>.wplr-button{min-height:35px;width:35px;padding:0;flex:0 0 35px}
  .wplr-portal-header .wplr-header-actions>.wplr-button>span:not(.wplr-icon){display:none}
  .wplr-home .wplr-home-hero h1{font-size:32px}
}
@media(max-width:360px){
  .wplr-portal-header .wplr-brand-logo{max-width:133px}
  .wplr-portal-header .wplr-portal-top{gap:6px}
  .wplr-portal-header .wplr-home-header-link{width:30px;flex:0 0 30px}
  .wplr-portal-header .wplr-header-actions>.wplr-round-button{width:30px;flex-basis:30px}
}
@media(prefers-reduced-motion:reduce){
  .wplr-home :is(a,.wplr-home-card,.wplr-home-card-picture img,.wplr-icon),.wplr-portal-header a{transition:none!important}
  .wplr-home .wplr-home-card:hover .wplr-home-card-picture img,.wplr-home .wplr-home-card-more:hover>.wplr-icon{transform:none}
}
/* Keep every header action reachable even at 320 px; shrink the logo, not the text labels. */
@media(max-width:480px){
 body.wplr-homepage-page .wplr-portal-header .wplr-portal-top{gap:8px}
 body.wplr-homepage-page .wplr-portal-header .wplr-portal-brand{flex:0 1 170px;min-width:0;max-width:calc(100% - 153px)}
 body.wplr-homepage-page .wplr-portal-header .wplr-brand-logo{max-width:100%;width:auto;height:auto}
 body.wplr-homepage-page .wplr-portal-header .wplr-header-actions{gap:4px;flex:0 0 auto}
}

/* 1.8.4: search boxes have one shared visual/focus boundary. The inner input
   must not inherit theme/editorial input borders, inset shadows or focus rings.
   The parent focus-within ring remains visible for keyboard users as well. */
.wplr-home .wplr-home-searchbar > label > input[type="search"],
.wplr-explorer .wplr-search-label > input[type="search"] {
  -webkit-appearance:none;appearance:none;
  border:0!important;border-radius:0!important;outline:none!important;
  box-shadow:none!important;background:transparent!important;
  min-width:0;max-width:100%;width:100%;flex:1 1 0;
  margin:0;padding:10px 0;height:auto;line-height:1.4;
}
.wplr-home .wplr-home-searchbar > label,
.wplr-explorer .wplr-search-label {
  min-width:0;box-sizing:border-box;
}
.wplr-home .wplr-home-searchbar:focus-within,
.wplr-explorer .wplr-search-label:focus-within {
  border-color:var(--wplr-accent,#4f7f2c);
  box-shadow:0 0 0 2px var(--wplr-accent,#4f7f2c);
}
@media(forced-colors:active) {
  .wplr-home .wplr-home-searchbar:focus-within,
  .wplr-explorer .wplr-search-label:focus-within {
    outline:2px solid Highlight;outline-offset:2px;box-shadow:none;
  }
}
