/*
Theme Name: Recipe Panel
Theme URI: https://recipepanel.com
Author: Recipe Panel
Description: Official theme for Recipe Panel — a warm, teal-toned recipe blog. Implements the "Recipe Homepage v2" design (hero, feature tiles, recipe grid, promo panel, how-it-works, FAQ, newsletter) plus single post, post navigation, archive loop, category menu and a sidebar on single posts.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: recipepanel
*/

@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Sacramento&display=swap");

:root{
  --teal-700:#41645F;--teal-600:#5A8783;--teal-500:#6F9E9A;--teal-400:#8FB5B1;--teal-300:#B8D5C8;--teal-200:#D3E5DC;--teal-100:#E7F0EA;--teal-50:#F1F7F3;
  --sand-500:#E8D5B5;--sand-600:#CDAE7C;--sand-100:#F7EEDE;
  --navy-900:#223944;--navy-800:#34515E;--navy-700:#456573;--navy-500:#6B848F;--navy-400:#93A7B0;--navy-200:#DDE4E7;
  --white:#FFFFFF;

  --brand:var(--teal-500);--brand-hover:var(--teal-600);--brand-press:var(--teal-700);
  --brand-soft:var(--teal-50);--brand-soft-strong:var(--teal-300);
  --accent-script:var(--teal-500);

  --surface-page:#FBFCFB;--surface-band:var(--teal-50);--surface-muted:var(--sand-100);--surface-card:var(--white);
  --text-heading:var(--navy-900);--text-body:var(--navy-800);--text-muted:var(--navy-700);--text-on-brand:var(--white);
  --border-hairline:var(--navy-200);--border-brand:var(--teal-300);
  --rating-star:var(--sand-600);--focus-ring:var(--teal-500);

  --shadow-photo:0 18px 40px rgba(52,81,94,.16);
  --shadow-button:0 8px 20px rgba(111,158,154,.35);
  --shadow-card:0 6px 18px rgba(34,57,68,.08);
  --shadow-card-hover:0 14px 30px rgba(34,57,68,.13);
  --shadow-nav:0 2px 12px rgba(34,57,68,.06);

  --font-sans:"Poppins","Segoe UI",system-ui,sans-serif;
  --font-script:"Sacramento",cursive;

  --fs-display:44px;--fs-h1:36px;--fs-h2:28px;--fs-h3:20px;--fs-h4:17px;
  --fs-body:15px;--fs-body-sm:13px;--fs-caption:11px;--fs-micro:10px;
  --fs-script-lg:34px;--fs-script:26px;

  --lh-tight:1.15;--lh-heading:1.25;--lh-body:1.75;--lh-script:1;
  --fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;
  --ls-tight:-.01em;--ls-wide:.06em;--ls-caps:.12em;

  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--space-10:72px;--space-11:96px;--space-12:120px;
  --gutter-card:14px;--gap-grid:22px;--section-y:96px;--section-y-tight:64px;--container:1140px;--container-narrow:720px;

  --radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--radius-circle:50%;
  --radius-card:var(--radius-lg);--radius-photo:var(--radius-md);--radius-button:var(--radius-pill);--radius-input:var(--radius-pill);

  --ease-out:cubic-bezier(.22,.61,.36,1);
  --dur-fast:120ms;--dur-base:200ms;--dur-slow:340ms;
  --transition-control:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out);
  --transition-card:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);
  --lift-hover:translateY(-4px);
}

/* ---------- reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }
body{margin:0;overflow-x:hidden;background:var(--surface-page);color:var(--text-body);font:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5{margin:0;color:var(--text-heading);font-family:var(--font-sans);font-weight:var(--fw-semibold);line-height:var(--lh-heading)}
p{margin:0}
img{display:block;max-width:100%}
a{color:var(--brand);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}
a:hover{color:var(--brand-hover)}
button{font-family:inherit;cursor:pointer}
ul{margin:0;padding:0;list-style:none}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}

.rp-wrap{max-width:var(--container);margin:0 auto;padding:0 24px}
.rp-wrap-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 24px}
.rp-script{font-family:var(--font-script);color:var(--accent-script);line-height:var(--lh-script)}
.screen-reader-text{position:absolute;left:-9999px}

/* ---------- buttons ---------- */
.rp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 26px;border-radius:var(--radius-button);border:1px solid transparent;font:var(--fw-medium) var(--fs-body-sm)/1 var(--font-sans);letter-spacing:.02em;background:var(--brand);color:var(--text-on-brand);box-shadow:var(--shadow-button);transition:var(--transition-control)}
.rp-btn:hover{background:var(--brand-hover);color:var(--text-on-brand);transform:var(--lift-hover)}
.rp-btn:active{transform:scale(.97)}
.rp-btn-outline{background:transparent;color:var(--text-heading);border-color:var(--border-hairline);box-shadow:none}
.rp-btn-outline:hover{background:var(--brand-soft);color:var(--text-heading);border-color:var(--border-brand)}
.rp-btn-soft{background:var(--brand-soft);color:var(--brand-press);box-shadow:none}
.rp-btn-soft:hover{background:var(--brand-soft-strong);color:var(--brand-press)}
.rp-btn-sm{height:38px;padding:0 18px;font-size:12px}

/* ---------- header / navbar ---------- */
.rp-header{position:relative;background:var(--surface-page);box-shadow:var(--shadow-nav)}
.rp-navbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0}
.rp-logo{display:flex;align-items:center;gap:8px;font-weight:var(--fw-semibold);color:var(--text-heading);font-size:19px}
.rp-logo img,.rp-logo svg{height:36px;width:auto;display:block}
.rp-logo:hover{color:var(--text-heading)}

/* WordPress's native custom-logo markup (Appearance > Customize > Site Identity) isn't
   wrapped in .rp-logo, so it needs its own size cap or it renders at the uploaded file's
   raw dimensions (e.g. 512x512). */
.custom-logo-link{display:flex;align-items:center;line-height:0}
.custom-logo-link img.custom-logo{height:36px!important;width:auto!important;max-height:36px;max-width:200px;object-fit:contain;display:block}
.rp-nav-links{display:flex;align-items:center;gap:32px}
.rp-nav-links a{color:var(--text-body);font-weight:var(--fw-medium);font-size:var(--fs-body-sm);padding:6px 0;position:relative}
.rp-nav-links a:hover,.rp-nav-links a.current{color:var(--text-heading)}
.rp-nav-links a.current::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--brand);border-radius:2px}
.rp-nav-cta{display:flex;align-items:center;gap:14px}
.rp-nav-toggle{display:none;background:none;border:none;padding:8px;color:var(--text-heading)}
.rp-nav-toggle svg{width:24px;height:24px}
.rp-mobile-menu{display:none}

/* ---------- hero ---------- */
.rp-hero{max-width:var(--container);margin:0 auto;padding:20px 24px 72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.rp-hero-copy{display:grid;gap:24px;justify-items:start}
.rp-hero-eyebrow{font-size:var(--fs-script-lg);margin-left:6px}
.rp-hero h1{font-size:var(--fs-display);line-height:var(--lh-tight);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);max-width:20ch;margin-top:-18px;text-wrap:balance}
.rp-hero p{font-size:var(--fs-body);font-weight:var(--fw-light);line-height:var(--lh-body);color:var(--text-body);max-width:42ch}
.rp-hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.rp-hero-media{position:relative;display:grid;place-items:center}
.rp-hero-media .rp-blob{position:absolute;inset:8% 6%;border-radius:var(--radius-circle);background:var(--brand-soft-strong)}
.rp-hero-media img,.rp-hero-media svg{position:relative;width:100%;max-width:440px;filter:drop-shadow(0 18px 40px rgba(52,81,94,.16))}

.rp-rating{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-body-sm);color:var(--text-body)}
.rp-rating .stars{color:var(--rating-star);letter-spacing:2px}
.rp-rating .stars svg{width:16px;height:16px;fill:var(--rating-star)}

/* ---------- feature band ---------- */
.rp-features{background:var(--surface-band);padding:64px 24px}
.rp-features-grid{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;justify-items:center}
.rp-feature-tile{text-align:center;display:grid;gap:16px;justify-items:center;max-width:280px}
.rp-feature-tile img,.rp-feature-tile svg{width:72px;height:72px}
.rp-feature-tile p{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-heading);line-height:1.6}

/* ---------- section heading ---------- */
.rp-section{max-width:var(--container);margin:0 auto;padding:var(--section-y) 24px;position:relative}
.rp-section-tight{padding:var(--section-y-tight) 24px}
.rp-section-heading{display:grid;gap:10px;justify-items:start}
.rp-section-heading.center{justify-items:center;text-align:center}
.rp-section-heading .eyebrow{font-family:var(--font-script);font-size:var(--fs-script);color:var(--accent-script)}
.rp-section-heading h2{font-size:var(--fs-h2);letter-spacing:var(--ls-tight)}
.rp-section-heading .body{max-width:46ch;font-size:var(--fs-body);font-weight:var(--fw-light);color:var(--text-body);line-height:var(--lh-body)}

/* ---------- cards / recipe grid ---------- */
.rp-card{background:var(--surface-card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);transition:var(--transition-card);overflow:hidden}
.rp-card:hover{transform:var(--lift-hover);box-shadow:var(--shadow-card-hover)}
.rp-grid{margin-top:48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-grid)}
.rp-dish-card{display:grid;gap:0}
.rp-dish-photo{aspect-ratio:4/3;overflow:hidden;background:var(--surface-band)}
.rp-dish-photo img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out)}
.rp-dish-card:hover .rp-dish-photo img{transform:scale(1.05)}
.rp-dish-body{padding:var(--gutter-card) 18px 20px;display:grid;gap:8px}
.rp-dish-meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-caption);color:var(--text-muted)}
.rp-dish-body h3{font-size:var(--fs-h4);font-weight:var(--fw-semibold)}
.rp-dish-body h3 a{color:var(--text-heading)}
.rp-dish-body h3 a:hover{color:var(--brand)}
.rp-dish-excerpt{font-size:var(--fs-body-sm);color:var(--text-body);line-height:1.6}
.rp-dish-foot{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.rp-view-more{margin-top:40px;display:flex;justify-content:center}

/* ---------- promo panel ---------- */
.rp-promo-band{background:var(--surface-band);padding:24px}
.rp-promo{max-width:var(--container);margin:0 auto;background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:32px;padding:48px;overflow:hidden}
.rp-promo-copy{display:grid;gap:16px}
.rp-promo-copy .eyebrow{font-family:var(--font-script);font-size:var(--fs-script);color:var(--accent-script)}
.rp-promo-copy h2{font-size:var(--fs-h2)}
.rp-promo-copy p{font-size:var(--fs-body);font-weight:var(--fw-light);color:var(--text-body);max-width:42ch;line-height:var(--lh-body)}
.rp-promo-media{display:flex;justify-content:center}
.rp-promo-media img,.rp-promo-media svg{width:100%;max-width:320px;border-radius:var(--radius-circle)}

/* ---------- how it works steps ---------- */
.rp-steps{margin-top:48px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-grid)}
.rp-step{padding:8px 8px 16px;display:grid;gap:12px}
.rp-step-photo{width:100%;aspect-ratio:1/1;border-radius:var(--radius-photo);overflow:hidden;background:var(--surface-band)}
.rp-step-photo img{width:100%;height:100%;object-fit:cover}
.rp-step-text{display:flex;gap:10px;padding:0 8px}
.rp-step-num{flex:none;width:22px;height:22px;border-radius:var(--radius-circle);background:var(--brand);color:var(--text-on-brand);font-size:var(--fs-micro);font-weight:var(--fw-medium);display:grid;place-items:center}
.rp-step-text span:last-child{font-size:var(--fs-body-sm);font-weight:var(--fw-light);line-height:1.7;color:var(--text-body)}

/* ---------- accordion / faq ---------- */
.rp-accordion{margin-top:40px;display:grid;gap:12px}
.rp-accordion-item{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}
.rp-accordion-item summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;font-weight:var(--fw-medium);color:var(--text-heading);font-size:var(--fs-body)}
.rp-accordion-item summary::-webkit-details-marker{display:none}
.rp-accordion-item summary::after{content:"+";font-size:20px;color:var(--brand);transition:transform var(--dur-base) var(--ease-out)}
.rp-accordion-item[open] summary::after{transform:rotate(45deg)}
.rp-accordion-item .answer{padding:0 22px 20px;color:var(--text-body);font-size:var(--fs-body-sm);line-height:1.7}

/* ---------- newsletter ---------- */
.rp-newsletter{display:grid;gap:20px;justify-items:center;text-align:center}
.rp-newsletter h2{font-size:var(--fs-h2);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);max-width:26ch}
.rp-newsletter p{font-size:var(--fs-body);font-weight:var(--fw-light);color:var(--text-body);max-width:46ch}
.rp-newsletter-form{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;width:100%;max-width:520px}
.rp-input{flex:1 1 220px;min-width:0;height:48px;padding:0 20px;border-radius:var(--radius-input);border:1px solid var(--border-hairline);background:var(--surface-card);font:var(--fw-regular) var(--fs-body-sm)/1 var(--font-sans);color:var(--text-heading)}
.rp-input:focus{border-color:var(--brand)}

/* ---------- footer ---------- */
.rp-footer{border-top:1px solid var(--border-hairline);background:var(--surface-page)}
.rp-footer-inner{max-width:var(--container);margin:0 auto;padding:56px 24px 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.rp-footer-brand{display:grid;gap:12px;max-width:280px}
.rp-footer-brand p{font-size:var(--fs-body-sm);color:var(--text-body);line-height:1.7}
.rp-footer h4{font-size:var(--fs-body-sm);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-heading);margin-bottom:14px}
.rp-footer ul{display:grid;gap:10px}
.rp-footer a{font-size:var(--fs-body-sm);color:var(--text-body)}
.rp-footer a:hover{color:var(--brand)}
.rp-footer-bottom{border-top:1px solid var(--border-hairline);padding:20px 24px;display:flex;gap:20px;flex-wrap:wrap;justify-content:center;font-size:var(--fs-caption);font-weight:var(--fw-light);color:var(--text-muted)}

.rp-back-top{position:fixed;right:24px;bottom:24px;z-index:60;width:48px;height:48px;border-radius:var(--radius-circle);background:var(--surface-card);border:1px solid var(--border-hairline);color:var(--text-heading);font-size:18px;display:grid;place-items:center;box-shadow:var(--shadow-card);transition:var(--transition-control);opacity:0;pointer-events:none}
.rp-back-top.is-visible{opacity:1;pointer-events:auto}
.rp-back-top:hover{background:var(--brand);color:var(--text-on-brand)}

/* ---------- generic page layout (blog / archive / single) ---------- */
.rp-page-header{background:var(--surface-band);padding:56px 24px;text-align:center}
.rp-page-header h1{font-size:var(--fs-h1)}
.rp-page-header p{margin-top:10px;color:var(--text-body)}
.rp-content-layout{max-width:var(--container);margin:0 auto;padding:64px 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.rp-content-layout.has-sidebar{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.rp-post-loop{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-grid)}
.rp-content-layout.has-sidebar .rp-post-loop{grid-template-columns:repeat(2,minmax(0,1fr))}

/* pagination */
.rp-pagination{margin-top:48px;display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.rp-pagination a,.rp-pagination span{min-width:40px;height:40px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-heading);background:var(--surface-card);box-shadow:var(--shadow-card)}
.rp-pagination a:hover{background:var(--brand);color:var(--text-on-brand)}
.rp-pagination .current{background:var(--brand);color:var(--text-on-brand)}

/* single post */
.rp-single{max-width:820px}
.rp-single-header{display:grid;gap:16px;margin-bottom:32px}
.rp-single-cat a{display:inline-block;font-size:var(--fs-caption);font-weight:var(--fw-semibold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--brand-press);background:var(--brand-soft);padding:6px 14px;border-radius:var(--radius-pill)}
.rp-single-header h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}
.rp-single-meta{display:flex;gap:18px;flex-wrap:wrap;align-items:center;color:var(--text-muted);font-size:var(--fs-body-sm)}
.rp-single-meta img{width:32px;height:32px;border-radius:var(--radius-circle)}
.rp-single-thumb{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-photo);margin-bottom:40px}
.rp-single-thumb img{width:100%}
.rp-entry-content{font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body)}
.rp-entry-content h2{font-size:var(--fs-h2);margin-top:40px;margin-bottom:16px}
.rp-entry-content h3{font-size:var(--fs-h3);margin-top:32px;margin-bottom:12px}
.rp-entry-content p{margin-bottom:20px}
.rp-entry-content ul,.rp-entry-content ol{margin:0 0 20px 22px;padding:0;display:grid;gap:8px}
.rp-entry-content ul{list-style:disc}
.rp-entry-content ol{list-style:decimal}
.rp-entry-content img{border-radius:var(--radius-lg);margin:24px 0}
.rp-entry-content blockquote{margin:24px 0;padding:16px 24px;border-left:3px solid var(--brand);background:var(--brand-soft);border-radius:0 var(--radius-md) var(--radius-md) 0;font-style:italic;color:var(--text-heading)}
.rp-entry-content a{text-decoration:underline}
.rp-tags{margin-top:32px;display:flex;gap:8px;flex-wrap:wrap}
.rp-tags a{font-size:var(--fs-caption);padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-band);color:var(--text-heading)}
.rp-tags a:hover{background:var(--brand);color:var(--text-on-brand)}

/* post navigation (prev/next) */
.rp-post-nav{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rp-post-nav .nav-item{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px;display:grid;gap:6px;transition:var(--transition-card)}
.rp-post-nav .nav-item:hover{transform:var(--lift-hover);box-shadow:var(--shadow-card-hover)}
.rp-post-nav .nav-next{text-align:right}
.rp-post-nav .label{font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-muted)}
.rp-post-nav .title{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-heading)}

/* author box */
.rp-author-box{margin-top:48px;display:flex;gap:18px;padding:24px;background:var(--surface-band);border-radius:var(--radius-lg)}
.rp-author-box img{width:64px;height:64px;border-radius:var(--radius-circle)}
.rp-author-box h4{font-size:var(--fs-body)}
.rp-author-box p{font-size:var(--fs-body-sm);color:var(--text-body);margin-top:4px}

/* comments */
.rp-comments{margin-top:56px}
.rp-comments h3{font-size:var(--fs-h3);margin-bottom:24px}
.comment-list{display:grid;gap:20px;margin:0 0 32px}
.comment-body{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}
.comment-author .fn{font-weight:var(--fw-medium);color:var(--text-heading);font-style:normal}
.comment-meta{font-size:var(--fs-caption);color:var(--text-muted);margin-bottom:8px}
.comment-content p{font-size:var(--fs-body-sm);color:var(--text-body)}
.comment-reply-link{font-size:var(--fs-caption);color:var(--brand)}
.comment-respond input:not([type=submit]),.comment-respond textarea{width:100%;padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-hairline);font:var(--fs-body-sm) var(--font-sans);margin-bottom:14px}
.comment-respond textarea{border-radius:var(--radius-md)}
.comment-respond .submit,.rp-btn[type=submit]{border:none}

/* ---------- sidebar ---------- */
.rp-sidebar{display:grid;gap:32px;align-content:start}
.rp-widget{background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:24px}
.rp-widget h3,.rp-widget .widget-title{font-size:var(--fs-body);text-transform:uppercase;letter-spacing:var(--ls-caps);color:var(--text-heading);margin-bottom:18px}
.rp-widget ul{display:grid;gap:12px}
.rp-widget ul a{font-size:var(--fs-body-sm);color:var(--text-body);display:flex;justify-content:space-between;gap:8px}
.rp-widget ul a:hover{color:var(--brand)}
.rp-search-form{display:flex;gap:8px}
.rp-search-form input[type=search]{flex:1;height:44px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid var(--border-hairline)}
.rp-search-form button{width:44px;height:44px;border-radius:var(--radius-circle);background:var(--brand);color:var(--text-on-brand);border:none;display:grid;place-items:center}
.rp-widget-recent{display:grid;gap:14px}
.rp-widget-recent li{display:flex;gap:12px;align-items:center}
.rp-widget-recent img{width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover;flex:none}
.rp-widget-recent .title{font-size:var(--fs-body-sm);font-weight:var(--fw-medium);color:var(--text-heading);line-height:1.4}
.rp-tagcloud{display:flex;flex-wrap:wrap;gap:8px}
.rp-tagcloud a{font-size:var(--fs-caption)!important;padding:6px 14px;border-radius:var(--radius-pill);background:var(--surface-band);color:var(--text-heading)}

/* 404 */
.rp-404{text-align:center;padding:120px 24px}
.rp-404 .code{font-family:var(--font-script);font-size:80px;color:var(--accent-script)}

/* ---------- responsive ---------- */
@media (max-width: 960px){
  .rp-hero{grid-template-columns:1fr;padding-bottom:56px}
  .rp-hero-media{order:-1}
  .rp-features-grid{grid-template-columns:1fr;gap:32px}
  .rp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rp-promo{grid-template-columns:1fr}
  .rp-footer-inner{grid-template-columns:1fr 1fr}
  .rp-content-layout.has-sidebar{grid-template-columns:1fr}
  .rp-content-layout.has-sidebar .rp-post-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 720px){
  .rp-nav-links{position:absolute;top:100%;left:0;right:0;background:var(--surface-page);box-shadow:var(--shadow-nav);flex-direction:column;align-items:flex-start;padding:20px 24px;gap:16px;display:none}
  .rp-nav-links.is-open{display:flex}
  .rp-nav-toggle{display:inline-flex}
  .rp-nav-cta .rp-btn{display:none}
  .rp-grid,.rp-post-loop,.rp-content-layout.has-sidebar .rp-post-loop{grid-template-columns:1fr}
  .rp-steps{grid-template-columns:1fr}
  .rp-post-nav{grid-template-columns:1fr}
  .rp-footer-inner{grid-template-columns:1fr;gap:28px}
  .rp-hero h1{font-size:32px}
}
