:root {
    --color-primary: #111827;
    --color-primary-hover: #030712;
    --color-secondary: #4B5563;
    --color-secondary-hover: #374151;
    --color-accent: #0D9488;
    --color-accent-hover: #0F766E;
    --color-accent-light: #F0FDFA;
    --bg-page: #FAFAFA;
    --bg-surface: #FFFFFF;
    --bg-subtle: #F4F4F5;
    --bg-muted: #E4E4E7;
    --border-default: #E4E4E7;
    --border-strong: #18181B;
    --border-subtle: #F4F4F5;
    --text-primary: #09090B;
    --text-secondary: #52525B;
    --text-muted: #71717A;
    --font-primary: 'Plus Jakarta Sans', sans-serif;
    --font-heading: 'Space Grotesk', sans-serif;
    --font-mono: 'JetBrains Mono', monospace;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: auto;
}

body {
    margin: 0;
    padding: 0;
    background-color: var(--bg-page);
    color: var(--text-primary);
    font-family: var(--font-primary);
    line-height: 1.65;
}

.font-heading {
    font-family: var(--font-heading);
}

.font-mono-code {
    font-family: var(--font-mono);
}

.text-muted {
    color: #71717A !important;
}

.border-grid {
    border-color: var(--border-default);
}

.site-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.btn-primary-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-primary);
    color: #FFFFFF;
    border: 1px solid var(--color-primary);
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 0;
}

.btn-primary-custom:hover {
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}

.btn-secondary-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 0;
}

.btn-secondary-custom:hover {
    background-color: var(--bg-subtle);
}

.btn-accent-custom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-accent);
    color: #FFFFFF;
    border: 1px solid var(--color-accent);
    padding: 0.75rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-radius: 0;
}

.btn-accent-custom:hover {
    background-color: var(--color-accent-hover);
    border-color: var(--color-accent-hover);
}

/* ===== header ===== */
.site-header {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #FFFFFF;
}

.site-header a,
.site-header button {
    border-radius: 0;
}

/* ===== hero_section ===== */
.hero-editorial {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.hero-editorial h1,
.hero-editorial h2,
.hero-editorial h3 {
    font-family: 'Space Grotesk', sans-serif;
    hyphens: auto;
}

.hero-editorial .font-mono {
    font-family: 'JetBrains Mono', monospace;
}

.hero-editorial .featured-card {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.hero-editorial .hero-rail-item a {
    text-decoration: none;
}

.hero-editorial .hero-rail-item a:hover {
    text-decoration: none;
}

/* ===== category_navigation ===== */
.category-nav-block .category-card {
    border-radius: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.category-nav-block .category-link:hover i {
    transform: translateX(4px);
    transition: transform 0.15s ease;
}

.category-nav-block .category-link i {
    transition: transform 0.15s ease;
}

/* ===== article_series ===== */
.article-series-block {
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

.article-series-block .js-series-tab.active {
    background-color: #111827;
    color: #FFFFFF;
    border-color: #18181B;
}

.article-series-block .js-series-tab:not(.active) {
    background-color: #FFFFFF;
    color: #09090B;
    border-color: #E4E4E7;
}

.article-series-block .js-series-tab:not(.active):hover {
    border-color: #18181B;
    background-color: #F4F4F5;
}

/* ===== interactive_quizzes ===== */
.quizzes-block .quiz-option-btn {
    display: flex;
    align-items: flex-start;
    width: 100%;
    text-align: left;
    padding: 0.875rem 1rem;
    background-color: #FAFAFA;
    border: 1px solid #E4E4E7;
    color: #09090B;
    font-size: 0.875rem;
    line-height: 1.45;
    cursor: pointer
}

.quizzes-block .quiz-option-btn:hover:not(:disabled) {
    background-color: #F4F4F5;
    border-color: #111827
}

.quizzes-block .quiz-option-btn.selected-correct {
    background-color: #F0FDFA;
    border-color: #0D9488;
    color: #0F766E
}

.quizzes-block .quiz-option-btn.selected-incorrect {
    background-color: #FEF2F2;
    border-color: #EF4444;
    color: #B91C1C
}

.quizzes-block .quiz-option-btn:disabled {
    cursor: default
}

.quizzes-block .quiz-opt-index {
    flex-shrink: 0;
    width: 1.5rem;
    height: 1.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #E4E4E7;
    color: #18181B;
    font-family: 'JetBrains Mono', monospace;
    font-size: 0.75rem;
    font-weight: 700;
    margin-right: 0.75rem
}

.quizzes-block .quiz-option-btn.selected-correct .quiz-opt-index {
    background-color: #0D9488;
    color: #FFFFFF
}

.quizzes-block .quiz-option-btn.selected-incorrect .quiz-opt-index {
    background-color: #EF4444;
    color: #FFFFFF
}

.quizzes-block .active-quiz-tab {
    border-color: #111827;
    background-color: #111827;
    color: #FFFFFF
}

/* ===== niche_event_calendar ===== */
.event-calendar-section .js-filter-btn {
    border-radius: 0;
    outline: none;
}

.event-calendar-section .js-event-item {
    border-radius: 0;
}

/* ===== newsletter_signup ===== */
.newsletter-block .newsletter-input::placeholder {
    color: #71717A;
    opacity: 1;
}

.newsletter-block .newsletter-input:focus {
    border-color: #0D9488;
}

.newsletter-block .newsletter-submit-btn:focus-visible {
    outline: 2px solid #0D9488;
    outline-offset: 2px;
}

/* ===== recent_articles ===== */
.recent-articles-section {
    hyphens: auto;
}

.recent-articles-section .js-article-card {
    transition: border-color 0.1s ease;
}

.recent-articles-section .js-article-card:hover {
    border-color: #18181B;
}

/* ===== footer ===== */
.site-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-footer__brand-title,
.site-footer__section-title,
.site-footer__disclaimer-title {
    font-family: 'Space Grotesk', sans-serif;
}

.site-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-footer__disclaimer-box {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.site-footer__map-frame {
    filter: grayscale(20%);
}

.site-header {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #FFFFFF;
}

.site-header a,
.site-header button {
    border-radius: 0;
}

.category-header h1 {
    font-family: 'Space Grotesk', sans-serif;
    hyphens: auto;
}

.category-catalog h2,
.category-catalog h3 {
    font-family: 'Space Grotesk', sans-serif;
    hyphens: auto;
}

.category-catalog .catalog-card {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.category-catalog input::placeholder {
    color: #71717A;
    opacity: 1;
}

.site-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-footer__brand-title,
.site-footer__section-title,
.site-footer__disclaimer-title {
    font-family: 'Space Grotesk', sans-serif;
}

.site-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-footer__disclaimer-box {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.site-footer__map-frame {
    filter: grayscale(20%);
}


/* ===== PAGE: disclaimer ===== */
.policy-content{width:100%;max-width:1000px;margin:0 auto;padding:2.5rem 1rem;box-sizing:border-box;color:#09090B;font-family:'Plus Jakarta Sans',sans-serif}.policy-content .policy-editorial-card{background:#FFFFFF;border:1px solid #E4E4E7;padding:2rem 1.5rem;box-shadow:0 1px 2px rgba(0,0,0,0.04)}@media (min-width:768px){.policy-content{padding:4rem 1.5rem}.policy-content .policy-editorial-card{padding:3.5rem 3rem}}.policy-content .policy-meta-date{font-family:'JetBrains Mono',monospace;font-size:0.75rem;line-height:1.4;letter-spacing:0.04em;text-transform:uppercase;color:#71717A;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #E4E4E7}.policy-content .policy-heading-primary{font-family:'Space Grotesk',sans-serif;font-weight:700;color:#09090B;letter-spacing:-0.02em;line-height:1.25;margin-top:2.25rem;margin-bottom:0.875rem;font-size:16px;hyphens:auto;word-break:break-word}@media (min-width:768px){.policy-content .policy-heading-primary{font-size:24px;margin-top:2.75rem;margin-bottom:1rem}}.policy-content .policy-text{font-size:0.9375rem;line-height:1.65;color:#52525B;margin-bottom:1.25rem}@media (min-width:768px){.policy-content .policy-text{font-size:1rem;line-height:1.7}}.policy-content .policy-list{list-style-type:disc;padding-left:1.5rem;margin-top:0.75rem;margin-bottom:1.5rem;color:#52525B;font-size:0.9375rem;line-height:1.65}@media (min-width:768px){.policy-content .policy-list{font-size:1rem;line-height:1.7}}.policy-content .policy-list li{margin-bottom:0.625rem}.policy-content .policy-list li strong{color:#09090B;font-weight:600}.policy-content .policy-link{color:#0D9488;text-decoration:underline;text-underline-offset:3px;font-weight:500;transition:color 0.15s ease}.policy-content .policy-link:hover{color:#0F766E}

/* ===== PAGE: about ===== */
.about-editorial-block { font-family: 'Plus Jakarta Sans', sans-serif; }
.about-editorial-block h1, .about-editorial-block h2, .about-editorial-block h3 { font-family: 'Space Grotesk', sans-serif; hyphens: auto; }
.about-editorial-block .font-mono { font-family: 'JetBrains Mono', monospace; }

/* ===== PAGE: contact ===== */
.birrechnarms-contact-section .birrechnarms-input::placeholder, .birrechnarms-contact-section .birrechnarms-textarea::placeholder { color: #71717A; opacity: 1; } .birrechnarms-contact-section select.birrechnarms-select { color: #09090B; } .birrechnarms-contact-section input:focus, .birrechnarms-contact-section select:focus, .birrechnarms-contact-section textarea:focus { border-color: #111827; background-color: #FFFFFF; }

.comment-item {
    border: 1px solid #E4E4E7;
    background-color: #FFFFFF;
    transition: border-color 0s ease;
}

.comment-item:hover {
    border-color: #18181B;
}

.comment-avatar {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 0;
    object-fit: cover;
    border: 1px solid #E4E4E7;
    display: block;
}

.comment-body {
    color: #52525B;
    line-height: 1.65;
}

.comment-body p {
    margin: 0;
}

.comment-action-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 4px 6px;
    transition: color 0s ease;
}

.reply-comment-item {
    background-color: #FAFAFA;
    border-top: 1px solid #E4E4E7;
    border-right: 1px solid #E4E4E7;
    border-bottom: 1px solid #E4E4E7;
    border-left: 2px solid #111827;
}

.reply-avatar {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 0;
    object-fit: cover;
    border: 1px solid #E4E4E7;
    display: block;
}


/* ===== PAGE TEMPLATE: training ===== */
.site-header {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #FFFFFF;
}

.site-header a,
.site-header button {
    border-radius: 0;
}

.detail-hero h1 {
    hyphens: auto;
}

.detail-body-content {
    hyphens: auto;
}

.detail-body-content p {
    color: #52525B;
    line-height: 1.7;
}

.detail-body-content h2 {
    color: #09090B;
    line-height: 1.25;
}

.detail-body-content h3 {
    color: #09090B;
    line-height: 1.3;
}

.detail-key-points {
    list-style-type: square;
    padding-left: 1.25rem;
}

.detail-key-points li {
    line-height: 1.6;
    color: #52525B;
}

.comment-avatar,
.reply-avatar {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 0;
    border: 1px solid #E4E4E7;
}

.detail-input,
.detail-textarea {
    border-radius: 0;
}

.detail-input::placeholder,
.detail-textarea::placeholder {
    color: #A1A1AA;
    opacity: 1;
}

.site-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-footer__brand-title,
.site-footer__section-title,
.site-footer__disclaimer-title {
    font-family: 'Space Grotesk', sans-serif;
}

.site-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-footer__disclaimer-box {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.site-footer__map-frame {
    filter: grayscale(20%);
}

/* ===== PAGE TEMPLATE: nutrition ===== */
.site-header {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #FFFFFF;
}

.site-header a,
.site-header button {
    border-radius: 0;
}

.detail-hero h1 {
    hyphens: auto;
}

.detail-body-content {
    hyphens: auto;
}

.detail-body-content p {
    color: #52525B;
    line-height: 1.7;
}

.detail-body-content h2 {
    color: #09090B;
    line-height: 1.25;
}

.detail-body-content h3 {
    color: #09090B;
    line-height: 1.3;
}

.detail-key-points {
    list-style-type: square;
    padding-left: 1.25rem;
}

.detail-key-points li {
    line-height: 1.6;
    color: #52525B;
}

.comment-avatar,
.reply-avatar {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 0;
    border: 1px solid #E4E4E7;
}

.detail-input,
.detail-textarea {
    border-radius: 0;
}

.detail-input::placeholder,
.detail-textarea::placeholder {
    color: #A1A1AA;
    opacity: 1;
}

.site-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-footer__brand-title,
.site-footer__section-title,
.site-footer__disclaimer-title {
    font-family: 'Space Grotesk', sans-serif;
}

.site-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-footer__disclaimer-box {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.site-footer__map-frame {
    filter: grayscale(20%);
}

/* ===== PAGE TEMPLATE: lifestyle ===== */
.site-header {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #FFFFFF;
}

.site-header a,
.site-header button {
    border-radius: 0;
}

.detail-hero h1 {
    hyphens: auto;
}

.detail-body-content {
    hyphens: auto;
}

.detail-body-content p {
    color: #52525B;
    line-height: 1.7;
}

.detail-body-content h2 {
    color: #09090B;
    line-height: 1.25;
}

.detail-body-content h3 {
    color: #09090B;
    line-height: 1.3;
}

.detail-key-points {
    list-style-type: square;
    padding-left: 1.25rem;
}

.detail-key-points li {
    line-height: 1.6;
    color: #52525B;
}

.comment-avatar,
.reply-avatar {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 0;
    border: 1px solid #E4E4E7;
}

.detail-input,
.detail-textarea {
    border-radius: 0;
}

.detail-input::placeholder,
.detail-textarea::placeholder {
    color: #A1A1AA;
    opacity: 1;
}

.site-footer {
    font-family: 'Plus Jakarta Sans', sans-serif;
}

.site-footer__brand-title,
.site-footer__section-title,
.site-footer__disclaimer-title {
    font-family: 'Space Grotesk', sans-serif;
}

.site-footer__logo {
    max-width: 44px;
    max-height: 44px;
}

.site-footer__disclaimer-box {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02);
}

.site-footer__map-frame {
    filter: grayscale(20%);
}