/*
Theme Name: Nguyễn Roastery
Theme URI: https://nguyenroastery.com
Author: Nguyễn Roastery
Description: Theme cà phê đặc sản Việt Nam — trang chủ, cửa hàng trưng bày, B2B và Blog. Chuyển đổi từ thiết kế React (AI Studio) sang WordPress, đã hardening bảo mật.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nguyen-roastery
*/

/* ===== Design tokens (giữ nguyên palette gốc) ===== */
:root {
  --font-headline: "Noto Serif", Georgia, serif;
  --font-body: "Inter", -apple-system, sans-serif;

  --c-primary: #32170d;
  --c-secondary: #675d4e;
  --c-tertiary: #735c00;
  --c-background: #faf9f6;
  --c-surface: #faf9f6;
  --c-on-surface: #1a1c1a;
  --c-on-surface-variant: #504440;
  --c-surface-container: #efeeeb;
  --c-surface-container-high: #e9e8e5;
  --c-surface-container-low: #f4f3f1;
  --c-surface-container-lowest: #ffffff;
  --c-outline: #83746f;
  --c-outline-variant: #d5c3bd;
  --c-primary-container: #4b2c20;
  --c-on-primary: #ffffff;
  --c-secondary-fixed: #efe0cd;
  --c-on-secondary-fixed-variant: #4f4538;
  --c-tertiary-fixed: #ffe088;
  --c-tertiary-container: #cba72f;
  --c-on-tertiary-container: #4e3d00;

  --shadow-editorial: 0 10px 30px rgba(51, 51, 51, 0.06);
  --radius: 12px;
  --radius-lg: 24px;
}

/* ===== Reset / base ===== */
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--c-background);
  color: var(--c-on-surface);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--c-primary); text-decoration: none; }
a:hover { color: var(--c-tertiary); }
h1, h2, h3, h4 { font-family: var(--font-headline); color: var(--c-primary); line-height: 1.15; margin: 0 0 .5em; }
button { font-family: inherit; cursor: pointer; }

.nr-container { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
@media (min-width: 1024px) { .nr-container { padding: 0 48px; } }

.nr-eyebrow {
  display: inline-block; color: var(--c-tertiary); font-weight: 700;
  letter-spacing: .2em; font-size: 12px; text-transform: uppercase; margin-bottom: 12px;
}
.nr-shadow { box-shadow: var(--shadow-editorial); }

/* ===== Buttons ===== */
.nr-btn {
  display: inline-flex; align-items: center; gap: 8px; border: none;
  border-radius: var(--radius); padding: 14px 32px; font-weight: 600;
  font-size: 16px; transition: all .25s ease; text-decoration: none;
}
.nr-btn-primary { background: var(--c-primary-container); color: var(--c-on-primary); }
.nr-btn-primary:hover { transform: scale(1.04); color: var(--c-on-primary); }
.nr-btn-gold { background: var(--c-tertiary); color: #fff; font-weight: 700; }
.nr-btn-gold:hover { background: var(--c-tertiary-container); color: var(--c-on-tertiary-container); }
.nr-btn-outline { background: transparent; border: 1px solid var(--c-outline-variant); color: var(--c-on-primary); }
.nr-btn-outline:hover { background: rgba(255,255,255,.1); color: var(--c-on-primary); }

/* ===== Header ===== */
.nr-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 32px;
  background: rgba(250, 249, 246, .85);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--c-surface-container-high);
}
body.admin-bar .nr-header { top: 32px; }
.nr-brand { display: flex; align-items: center; gap: 10px; }
.nr-brand svg { width: 26px; height: 26px; color: var(--c-tertiary); }
.nr-brand .nr-logo-text { font-family: var(--font-headline); font-weight: 700; font-size: 24px; color: var(--c-primary); margin: 0; }
.nr-nav { display: none; }
@media (min-width: 900px) {
  .nr-nav { display: flex; align-items: center; gap: 32px; margin-left: 40px; }
}
.nr-nav ul { display: flex; gap: 32px; list-style: none; margin: 0; padding: 0; }
.nr-nav a { font-size: 14px; font-weight: 500; color: var(--c-on-surface-variant); padding-bottom: 4px; }
.nr-nav a:hover { color: var(--c-primary); }
.nr-nav .current-menu-item > a, .nr-nav .current_page_item > a {
  color: var(--c-primary); border-bottom: 2px solid var(--c-tertiary);
}
.nr-header-left { display: flex; align-items: center; }
.nr-header-right { display: flex; align-items: center; gap: 16px; }
.nr-search-form { display: none; align-items: center; background: var(--c-surface-container-high); border-radius: var(--radius); padding: 8px 14px; width: 250px; }
@media (min-width: 1100px) { .nr-search-form { display: flex; } }
.nr-search-form input {
  background: transparent; border: none; outline: none; font-size: 14px;
  width: 100%; margin-left: 8px; color: var(--c-on-surface);
}
.nr-search-form button { background: none; border: none; padding: 0; color: var(--c-secondary); display: flex; }
.nr-contact-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--c-secondary-fixed); color: var(--c-on-secondary-fixed-variant);
  padding: 9px 16px; border-radius: var(--radius); font-size: 14px; font-weight: 700;
}
.nr-contact-pill:hover { background: var(--c-tertiary-fixed); color: var(--c-on-secondary-fixed-variant); }

/* Mobile menu */
.nr-menu-toggle { display: inline-flex; background: none; border: none; color: var(--c-primary); }
@media (min-width: 900px) { .nr-menu-toggle { display: none; } }
.nr-mobile-nav { display: none; position: fixed; top: 60px; left: 0; right: 0; z-index: 49;
  background: var(--c-surface-container-lowest); border-bottom: 1px solid var(--c-outline-variant);
  padding: 16px 32px 24px; }
.nr-mobile-nav.open { display: block; }
.nr-mobile-nav ul { list-style: none; margin: 0; padding: 0; }
.nr-mobile-nav li { border-bottom: 1px solid var(--c-surface-container-high); }
.nr-mobile-nav a { display: block; padding: 14px 0; font-weight: 500; }

/* ===== Hero ===== */
.nr-hero { position: relative; min-height: 80vh; display: flex; align-items: center; overflow: hidden; background: var(--c-primary); margin-top: 60px; }
.nr-hero-bg { position: absolute; inset: 0; opacity: .6; }
.nr-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.nr-hero-bg::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, var(--c-primary) 0%, rgba(50,23,13,.4) 55%, transparent 100%); }
.nr-hero-content { position: relative; z-index: 10; max-width: 760px; padding: 80px 0; }
.nr-hero .nr-eyebrow { color: var(--c-tertiary-fixed); }
.nr-hero h1 { color: var(--c-on-primary); font-size: clamp(40px, 6vw, 68px); font-weight: 700; }
.nr-hero p { color: rgba(255,255,255,.8); font-size: 20px; max-width: 560px; }

/* ===== Sections ===== */
.nr-section { padding: 96px 0; }
.nr-section-low { background: var(--c-surface-container-low); }
.nr-section-dark { background: var(--c-primary); color: var(--c-on-primary); }
.nr-section-dark h2, .nr-section-dark h3 { color: var(--c-on-primary); }
.nr-section-dark .nr-eyebrow { color: var(--c-tertiary-fixed); }
.nr-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 56px; }
.nr-section-head h2 { font-size: clamp(32px, 4vw, 48px); margin: 0; }
.nr-link-arrow { font-weight: 500; display: inline-flex; align-items: center; gap: 8px; }

/* Story */
.nr-story-grid { display: grid; gap: 64px; align-items: center; }
@media (min-width: 1024px) { .nr-story-grid { grid-template-columns: 1fr 1fr; } }
.nr-story-img { position: relative; }
.nr-story-img .main { aspect-ratio: 4/5; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-editorial); }
.nr-story-img .main img { width: 100%; height: 100%; object-fit: cover; }
.nr-story-features { display: grid; gap: 32px; }
@media (min-width: 700px) { .nr-story-features { grid-template-columns: 1fr 1fr; } }
.nr-quote { padding: 32px; background: var(--c-surface-container-lowest); border-left: 4px solid var(--c-tertiary);
  border-radius: 16px; box-shadow: var(--shadow-editorial); }
.nr-quote p { font-family: var(--font-headline); font-style: italic; color: rgba(50,23,13,.8); font-size: 18px; margin: 0 0 16px; }

/* ===== Product cards ===== */
.nr-grid-3 { display: grid; gap: 36px; grid-template-columns: 1fr; }
@media (min-width: 640px) { .nr-grid-3 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nr-grid-3 { grid-template-columns: 1fr 1fr 1fr; } }
.nr-card {
  display: flex; flex-direction: column; background: var(--c-surface-container-lowest);
  border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-editorial);
  transition: transform .3s ease; position: relative;
}
.nr-card:hover { transform: translateY(-8px); }
.nr-card-img { position: relative; aspect-ratio: 4/5; overflow: hidden; background: var(--c-surface-container); }
.nr-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.nr-card:hover .nr-card-img img { transform: scale(1.08); }
.nr-card-tag { position: absolute; top: 12px; left: 12px; background: var(--c-tertiary-container);
  color: var(--c-on-tertiary-container); font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; padding: 4px 8px; border-radius: 4px; }
.nr-card-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.nr-card-meta { color: var(--c-tertiary); font-size: 10px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 4px; }
.nr-card-body h3 { font-size: 19px; margin-bottom: 8px; }
.nr-card-body h3 a { color: inherit; }
.nr-card-excerpt { color: var(--c-secondary); font-size: 14px; margin-bottom: 16px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nr-card-foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; }
.nr-price { color: var(--c-primary); font-size: 18px; font-weight: 700; }

/* ===== Shop archive ===== */
.nr-page-top { padding-top: 130px; }
.nr-breadcrumbs { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--c-secondary); margin-bottom: 40px; flex-wrap: wrap; }
.nr-shop-intro { max-width: 760px; margin-bottom: 48px; }
.nr-shop-intro h1 { font-size: clamp(36px, 5vw, 52px); }
.nr-shop-layout { display: flex; flex-direction: column; gap: 48px; padding-bottom: 80px; }
@media (min-width: 1024px) { .nr-shop-layout { flex-direction: row; } }
.nr-shop-sidebar { width: 100%; flex-shrink: 0; }
@media (min-width: 1024px) { .nr-shop-sidebar { width: 260px; } }
.nr-filter-group h3 { font-size: 18px; padding-bottom: 8px; border-bottom: 1px solid var(--c-outline-variant); }
.nr-filter-group ul { list-style: none; padding: 0; margin: 0 0 32px; }
.nr-filter-group li { margin-bottom: 10px; }
.nr-filter-group a { font-size: 14px; color: var(--c-on-surface-variant); }
.nr-filter-group a:hover, .nr-filter-group a.active { color: var(--c-primary); font-weight: 600; }
.nr-shop-main { flex: 1; }
.nr-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; }
.nr-pagination .page-numbers {
  width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
  border-radius: 10px; background: var(--c-surface-container); color: var(--c-on-surface-variant); font-weight: 500;
}
.nr-pagination .page-numbers.current { background: var(--c-primary); color: var(--c-on-primary); font-weight: 700; }

/* ===== Product single ===== */
.nr-product-grid { display: grid; gap: 56px; padding-bottom: 80px; }
@media (min-width: 1024px) { .nr-product-grid { grid-template-columns: 7fr 5fr; } }
.nr-product-gallery .main { border-radius: 16px; overflow: hidden; max-height: 620px; }
.nr-product-gallery .main img { width: 100%; height: 100%; object-fit: cover; }
.nr-product-thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.nr-product-thumbs .thumb { border-radius: var(--radius); overflow: hidden; aspect-ratio: 1; }
.nr-product-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.nr-product-info h1 { font-size: clamp(32px, 4vw, 46px); }
.nr-product-price { font-family: var(--font-headline); font-size: 30px; font-weight: 700; color: var(--c-primary); margin: 16px 0 24px; }
.nr-feature-box { background: var(--c-surface-container-low); padding: 24px; border-radius: var(--radius); margin: 24px 0; }
.nr-feature-box .row { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; font-size: 14px; font-weight: 500; }
.nr-feature-box .row:last-child { margin-bottom: 0; }
.nr-spec-table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
.nr-spec-table th { text-align: left; color: var(--c-secondary); font-weight: 600; padding: 10px 16px 10px 0; width: 40%;
  text-transform: uppercase; font-size: 11px; letter-spacing: .08em; }
.nr-spec-table td { padding: 10px 0; font-weight: 500; }
.nr-spec-table tr { border-bottom: 1px solid var(--c-surface-container-high); }
.nr-buy-box { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.nr-details-acc details { background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-editorial); margin-bottom: 12px; }
.nr-details-acc summary { list-style: none; padding: 18px 20px; cursor: pointer; font-weight: 700; color: var(--c-primary);
  display: flex; justify-content: space-between; align-items: center; }
.nr-details-acc summary::-webkit-details-marker { display: none; }
.nr-details-acc .acc-body { padding: 0 20px 18px; font-size: 14px; color: var(--c-secondary); }

/* ===== B2B ===== */
.nr-b2b-hero { position: relative; min-height: 70vh; display: flex; align-items: center;
  background: var(--c-primary); color: var(--c-on-primary); overflow: hidden; margin-top: 60px; }
.nr-b2b-hero .content { position: relative; z-index: 10; max-width: 760px; padding: 80px 0; }
.nr-b2b-hero h1 { color: var(--c-on-primary); font-size: clamp(38px, 6vw, 64px); }
.nr-b2b-hero h1 em { font-style: italic; color: var(--c-secondary-fixed); }
.nr-b2b-hero p { color: rgba(255,255,255,.8); font-size: 19px; max-width: 560px; margin-bottom: 40px; }
.nr-b2b-hero .side-img { position: absolute; right: 0; top: 0; height: 100%; width: 33%; display: none; }
@media (min-width: 1024px) { .nr-b2b-hero .side-img { display: block; } }
.nr-b2b-hero .side-img img { height: 100%; width: 100%; object-fit: cover; opacity: .55; }
.nr-bento { display: grid; gap: 32px; }
@media (min-width: 900px) { .nr-bento { grid-template-columns: 2fr 1fr; } }
.nr-bento-main { position: relative; overflow: hidden; border-radius: var(--radius-lg);
  background: var(--c-surface-container-low); padding: 48px; min-height: 460px;
  display: flex; flex-direction: column; justify-content: flex-end; }
.nr-bento-main > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .18; }
.nr-bento-main .inner { position: relative; z-index: 2; }
.nr-pill { display: inline-block; background: var(--c-primary); color: var(--c-on-primary);
  padding: 5px 16px; border-radius: 99px; font-size: 12px; font-weight: 700; margin-bottom: 20px; }
.nr-check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
@media (min-width: 700px) { .nr-check-list.cols-2 { grid-template-columns: 1fr 1fr; } }
.nr-check-list li { display: flex; align-items: center; gap: 10px; font-weight: 500; color: var(--c-on-surface-variant); }
.nr-check-list .tick { color: var(--c-tertiary); flex-shrink: 0; }
.nr-section-dark .nr-check-list li { color: var(--c-on-primary); }
.nr-section-dark .nr-check-list .tick { color: var(--c-tertiary-fixed); }
.nr-bento-side { background: var(--c-primary-container); color: var(--c-on-primary);
  border-radius: var(--radius-lg); padding: 40px; display: flex; flex-direction: column; justify-content: space-between; }
.nr-bento-side h3 { color: var(--c-on-primary); font-size: 26px; }
.nr-bento-side img { border-radius: 16px; width: 100%; height: 190px; object-fit: cover; margin: 24px 0; }
.nr-form-wrap { display: grid; gap: 48px; max-width: 1100px; margin: 0 auto; }
@media (min-width: 1024px) { .nr-form-wrap { grid-template-columns: 1fr 1fr; } }
.nr-doc-box { background: var(--c-surface-container-high); border-radius: 32px; padding: 48px;
  display: flex; flex-direction: column; justify-content: center; }
.nr-doc-item { width: 100%; background: #fff; padding: 20px 24px; border-radius: 16px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-bottom: 16px; box-shadow: var(--shadow-editorial); }
.nr-form-box { background: var(--c-primary); color: var(--c-on-primary); border-radius: 32px; padding: 48px;
  box-shadow: 0 25px 50px rgba(0,0,0,.25); }
.nr-form-box h3 { color: var(--c-on-primary); font-size: 28px; margin-bottom: 24px; }
/* Contact Form 7 styling bên trong form box */
.nr-form-box label { display: block; font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; opacity: .75; margin-bottom: 6px; }
.nr-form-box input[type="text"], .nr-form-box input[type="email"], .nr-form-box input[type="tel"], .nr-form-box textarea {
  width: 100%; background: var(--c-primary-container); border: none; border-radius: var(--radius);
  padding: 15px 16px; color: var(--c-on-primary); font-size: 15px; margin-bottom: 18px; outline: none;
}
.nr-form-box input:focus, .nr-form-box textarea:focus { box-shadow: 0 0 0 2px var(--c-tertiary); }
.nr-form-box input::placeholder, .nr-form-box textarea::placeholder { color: rgba(255,255,255,.35); }
.nr-form-box input[type="submit"], .nr-form-box .wpcf7-submit {
  width: 100%; background: var(--c-tertiary); color: #fff; font-weight: 700; font-size: 17px;
  text-transform: uppercase; letter-spacing: .12em; padding: 18px; border: none; border-radius: var(--radius);
  cursor: pointer; transition: background .2s;
}
.nr-form-box input[type="submit"]:hover { background: var(--c-tertiary-container); color: var(--c-on-tertiary-container); }
.nr-form-box .wpcf7-response-output { border-radius: var(--radius); padding: 12px; font-size: 14px; }

/* ===== Blog ===== */
.nr-blog-grid { display: grid; gap: 36px; grid-template-columns: 1fr; padding-bottom: 80px; }
@media (min-width: 640px) { .nr-blog-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .nr-blog-grid { grid-template-columns: 1fr 1fr 1fr; } }
.nr-post-card { background: var(--c-surface-container-lowest); border-radius: var(--radius);
  overflow: hidden; box-shadow: var(--shadow-editorial); display: flex; flex-direction: column; transition: transform .3s; }
.nr-post-card:hover { transform: translateY(-6px); }
.nr-post-card .thumb { aspect-ratio: 16/10; overflow: hidden; background: var(--c-surface-container); }
.nr-post-card .thumb img { width: 100%; height: 100%; object-fit: cover; }
.nr-post-card .body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.nr-post-card .date { font-size: 12px; color: var(--c-secondary); margin-bottom: 16px; }
.nr-post-card h2 { font-size: 21px; }
.nr-post-card h2 a { color: var(--c-primary); }

/* Single post / page content */
.nr-article { max-width: 760px; margin: 0 auto; padding-bottom: 96px; }
.nr-article-header { text-align: center; margin-bottom: 40px; }
.nr-article-header h1 { font-size: clamp(32px, 5vw, 48px); }
.nr-article-meta { color: var(--c-secondary); font-size: 14px; }
.nr-article .featured { border-radius: 16px; overflow: hidden; margin-bottom: 40px; box-shadow: var(--shadow-editorial); }
.nr-content { font-size: 17px; line-height: 1.8; color: var(--c-on-surface-variant); }
.nr-content h2 { font-size: 30px; margin-top: 1.6em; }
.nr-content h3 { font-size: 24px; margin-top: 1.4em; }
.nr-content img { border-radius: var(--radius); }
.nr-content blockquote { border-left: 4px solid var(--c-tertiary); margin: 1.5em 0; padding: 8px 24px;
  background: var(--c-surface-container-low); border-radius: 0 var(--radius) var(--radius) 0;
  font-family: var(--font-headline); font-style: italic; }
.nr-content a { text-decoration: underline; text-underline-offset: 4px; }

/* ===== Footer ===== */
.nr-footer { background: var(--c-surface-container-low); padding: 80px 0 40px; border-top: 1px solid rgba(213,195,189,.25); }
.nr-footer-grid { display: grid; gap: 48px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .nr-footer-grid { grid-template-columns: repeat(4, 1fr); } }
.nr-footer h3 { font-size: 20px; }
.nr-footer h4 { font-family: var(--font-body); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 20px; }
.nr-footer p, .nr-footer li, .nr-footer a { font-size: 14px; color: var(--c-secondary); }
.nr-footer ul { list-style: none; padding: 0; margin: 0; }
.nr-footer li { margin-bottom: 14px; }
.nr-footer-links a { text-decoration: underline; text-underline-offset: 4px; }
.nr-footer-links a:hover { color: var(--c-primary); }
.nr-footer .contact-row { display: flex; gap: 12px; margin-bottom: 14px; }
.nr-footer .contact-row svg { color: var(--c-tertiary); flex-shrink: 0; margin-top: 2px; }
.nr-footer-social { display: flex; gap: 16px; margin-top: 20px; }
.nr-footer-social a { color: var(--c-primary); }
.nr-footer-bottom { margin-top: 64px; padding-top: 32px; border-top: 1px solid rgba(213,195,189,.15);
  text-align: center; font-size: 12px; color: var(--c-secondary); }

/* ===== Misc ===== */
.nr-cert-strip { margin: 80px 0; padding: 64px 24px; background: var(--c-surface-container-low);
  border-radius: 32px; text-align: center; }
.nr-cert-strip h2 { font-style: italic; font-size: 28px; margin-bottom: 40px; }
.nr-cert-items { display: flex; flex-wrap: wrap; justify-content: center; gap: 56px; opacity: .7; }
.nr-cert-items .item { display: flex; flex-direction: column; align-items: center; gap: 10px;
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .15em; }
.nr-empty { text-align: center; padding: 80px 24px; color: var(--c-secondary); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.wp-block-image img { border-radius: var(--radius); }
.aligncenter { margin-left: auto; margin-right: auto; }

@media (max-width: 640px) {
  .nr-section { padding: 64px 0; }
  .nr-hero, .nr-b2b-hero { min-height: 70vh; }
}
