/*
Theme Name: RAWGRAVEL Kompass & Etappen
Theme URI: https://rawgravel.cc/
Author: RAWGRAVEL
Description: Klare, moderne RAWGRAVEL-Variante mit Graublau, Neon-Volt, Kompass-Wasserzeichen und Etappenlinien.
Version: 1.4.3
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: rawgravel
*/

:root {
  --rg-paper: #f4f4f0;
  --rg-soft: #ebebe6;
  --rg-white: #fff;
  --rg-ink: #111;
  --rg-muted: #59616a;
  --rg-blue: #586b7d;
  --rg-orange: #d36a35;
  --rg-petrol: #2e6668;
  --rg-dark: #162326;
  --rg-radius: 20px;
  --rg-shadow: 0 18px 50px rgba(17, 17, 17, .08);
  --rg-shell: 1200px;
  --rg-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--rg-paper); color: var(--rg-ink); font-family: var(--rg-sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: var(--rg-sans); }
body.admin-bar .site-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p { margin: 0 0 1.15rem; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 1rem; font-family: var(--rg-sans); line-height: 1.07; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 7vw, 5.5rem); font-weight: 450; }
h2 { font-size: clamp(2rem, 4.5vw, 4rem); font-weight: 450; }
h3 { font-size: 1.35rem; }
.rg-shell { width: min(var(--rg-shell), calc(100% - 48px)); margin-inline: auto; }
.rg-section { padding: clamp(4.5rem, 10vw, 8rem) 0; }
.rg-section--white { background: var(--rg-white); }
.rg-section--soft { background: var(--rg-soft); }
.rg-eyebrow { color: var(--rg-blue); font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.rg-lead { max-width: 740px; color: var(--rg-muted); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.rg-accent { color: var(--rg-blue); font-family: var(--rg-sans); font-style: italic; font-weight: 400; }
.rg-button, .wp-element-button, button[type="submit"] { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: .6rem; padding: .8rem 1.25rem; border: 1px solid var(--rg-blue); border-radius: 999px; background: var(--rg-blue); color: #fff; font: inherit; font-weight: 720; cursor: pointer; transition: transform .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease, background .2s ease; }
.rg-button:hover, .wp-element-button:hover, button[type="submit"]:hover { border-color: var(--rg-orange); transform: translateY(-2px); background: var(--rg-orange); color: #fff; box-shadow: 0 10px 24px rgba(211, 106, 53, .24); }
.rg-button--orange { border-color: var(--rg-blue); background: var(--rg-blue); }
.rg-button--outline { background: transparent; color: var(--rg-blue); }
.rg-button--outline:hover { border-color: var(--rg-orange); background: var(--rg-orange); color: #fff; }
.rg-button--small { min-height: 38px; padding: .55rem .9rem; font-size: .86rem; }
.rg-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.8rem; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 9999; top: 1rem; left: 1rem; padding: .75rem 1rem; background: #fff; }

.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid rgba(17, 17, 17, .07); background: rgba(244, 244, 240, .93); backdrop-filter: blur(16px); }
.site-header__inner { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 2rem; }
.site-brand { display: inline-flex; flex: 0 0 auto; align-items: center; margin: 0; }
.rg-brand-logo { display: block; object-fit: contain; }
.site-header .site-brand .rg-brand-logo { width: auto !important; max-width: 220px !important; height: 52px !important; }
.rg-wordmark { display: inline-flex; align-items: baseline; gap: .22rem; font-size: 1.1rem; letter-spacing: -.04em; line-height: 1; white-space: nowrap; }
.rg-wordmark strong { font-weight: 800; }
.rg-wordmark b { color: var(--rg-blue); font-size: .82em; letter-spacing: .08em; }
.rg-wordmark em { color: var(--rg-blue); font-family: var(--rg-sans); font-style: italic; font-weight: 400; }
.site-nav ul { display: flex; align-items: center; gap: 1.35rem; margin: 0; padding: 0; list-style: none; }
.site-nav a { font-size: .9rem; font-weight: 650; }
.site-nav a:hover, .site-nav .current-menu-item > a { color: var(--rg-orange); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 24px; height: 2px; margin: 5px auto; background: var(--rg-ink); transition: .2s; }
@media (min-width: 901px) and (max-width: 1320px) {
  .menu-toggle { display: block; }
  .site-nav { position: absolute; inset: 76px 0 auto; display: none; padding: 1rem 24px 1.5rem; background: var(--rg-paper); border-bottom: 1px solid rgba(17, 17, 17, .08); }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; }
}

.rg-hero { padding: clamp(5rem, 12vw, 10rem) 0; }
.rg-hero__grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); }
.rg-hero__copy { max-width: 780px; }
.rg-hero__content > :last-child { margin-bottom: 0; }
.rg-hero__content > p:not(.rg-eyebrow), .rg-hero__content > .wp-block-paragraph:not(.rg-eyebrow) { max-width: 740px; color: var(--rg-muted); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.rg-hero__panel { min-height: 390px; padding: 1rem 0 1rem clamp(2rem, 5vw, 4.5rem); border-left: 1px solid rgba(88, 107, 125, .28); color: var(--rg-ink); display: flex; flex-direction: column; justify-content: center; }
.rg-hero__panel p { color: var(--rg-muted); }
.rg-hero__panel .rg-kicker { color: var(--rg-blue); }
.rg-hero__panel h2 { margin-bottom: 1.35rem; font-size: clamp(1.45rem, 2.3vw, 2rem); }
.rg-hub-nav { display: grid; border-top: 1px solid rgba(88, 107, 125, .25); }
.rg-hub-nav a { position: relative; display: grid; gap: .08rem; padding: .85rem 2rem .85rem 0; border-bottom: 1px solid rgba(88, 107, 125, .25); transition: padding .2s ease, color .2s ease; }
.rg-hub-nav strong { font-size: .96rem; }
.rg-hub-nav span { color: var(--rg-muted); font-size: .76rem; }
.rg-hub-nav b { position: absolute; top: 50%; right: .15rem; font-size: 1.15rem; font-weight: 400; transform: translateY(-50%); transition: transform .2s ease; }
.rg-hub-nav a:hover { padding-left: .45rem; color: var(--rg-orange); }
.rg-hub-nav a:hover b { transform: translate(.3rem, -50%); }
.rg-kicker { font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.rg-brand-list { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.7rem; }
.rg-brand-chip, .rg-badge { display: inline-flex; align-items: center; min-height: 30px; padding: .35rem .7rem; border-radius: 999px; background: var(--rg-soft); color: var(--rg-blue); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-brand-chip.is-active { background: var(--rg-blue); color: #fff; }

.rg-section-head { max-width: 780px; margin-bottom: 2.8rem; }
.page .rg-section-head h1, .blog .rg-section-head h1, .archive .rg-section-head h1, .woocommerce-page .rg-section-head h1 { font-size: clamp(2rem, 4vw, 3.2rem); }
.page .rg-content h2, .woocommerce-page .rg-content h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); }
.page .rg-content h3, .woocommerce-page .rg-content h3 { font-size: clamp(1.1rem, 1.8vw, 1.35rem); }
.rg-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.rg-community-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rg-card { display: flex; min-height: 290px; flex-direction: column; align-items: flex-start; padding: 1.8rem; border: 1px solid rgba(88, 107, 125, .16); background: #fff; box-shadow: 0 10px 28px rgba(17, 17, 17, .035); transition: transform .2s ease, box-shadow .2s ease; }
.rg-card:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow); }
.rg-card__media { display: block; width: calc(100% + 3.6rem); aspect-ratio: 16 / 9; margin: -1.8rem -1.8rem 1.5rem; overflow: hidden; background: var(--rg-soft); }
.rg-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.rg-card:hover .rg-card__media img { transform: scale(1.025); }
.rg-card__meta { margin-bottom: 1.2rem; color: var(--rg-blue); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.rg-card__availability { margin: -.55rem 0 1rem; padding: .35rem .65rem; border-radius: 999px; background: var(--rg-soft); color: var(--rg-blue) !important; font-size: .72rem; font-weight: 800; }
.rg-card p { color: var(--rg-muted); }
.rg-card .rg-actions { margin-top: auto; }
.rg-grid.rg-blog-list { grid-template-columns: minmax(0, 900px); }
.rg-blog-card { display: grid; min-height: 0; grid-template-columns: minmax(200px, 280px) minmax(0, 1fr); padding: 0; overflow: hidden; }
.rg-blog-card:not(.has-post-thumbnail) { grid-template-columns: 1fr; }
.rg-blog-card .rg-card__media { width: 100%; height: auto; min-height: 0; aspect-ratio: 16 / 9; align-self: start; margin: 0; }
.rg-blog-card .rg-card__media img { object-position: center; }
.rg-blog-card__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 1.3rem 1.45rem; }
.rg-blog-card .rg-card__meta { margin-bottom: .65rem; }
.rg-blog-card h2 { margin-bottom: .65rem; font-size: clamp(1.2rem, 2vw, 1.55rem); }
.rg-blog-card p:not(.rg-card__meta) { margin-bottom: .9rem; font-size: .9rem; }
.rg-blog-card .rg-button { min-height: 38px; padding: .5rem .85rem; font-size: .76rem; }
.rg-editorial-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 1rem; }
.rg-editorial-grid--count-1 { grid-template-columns: minmax(0, 780px); }
.rg-editorial-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rg-editorial-grid--count-1 .rg-story--featured,
.rg-editorial-grid--count-2 .rg-story--featured { grid-row: auto; }
.rg-story { display: grid; min-width: 0; grid-template-columns: 150px minmax(0, 1fr); overflow: hidden; border: 1px solid rgba(88, 107, 125, .16); background: #fff; }
.rg-story--featured { grid-row: span 3; grid-template-columns: 1fr; }
.rg-story__media { display: block; min-height: 155px; overflow: hidden; background: var(--rg-soft); }
.rg-story--featured .rg-story__media { min-height: 290px; }
.rg-story__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.rg-story:hover .rg-story__media img { transform: scale(1.025); }
.rg-story__body { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 1.2rem; }
.rg-story--featured .rg-story__body { padding: 1.6rem; }
.rg-story .rg-card__meta { margin-bottom: .65rem; }
.rg-story h3 { margin-bottom: .6rem; font-size: 1.08rem; }
.rg-story--featured h3 { font-size: clamp(1.4rem, 2.6vw, 2rem); }
.rg-story p:not(.rg-card__meta) { display: -webkit-box; margin-bottom: .8rem; overflow: hidden; color: var(--rg-muted); font-size: .88rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.rg-story--featured p:not(.rg-card__meta) { -webkit-line-clamp: 3; }
.rg-story__link { margin-top: auto; color: var(--rg-blue); font-size: .82rem; font-weight: 800; }
.rg-story__link:hover { color: var(--rg-orange); text-decoration: underline; text-underline-offset: .2em; }
#blog { padding-block: clamp(2.8rem, 5vw, 4.5rem); }
#blog .rg-section-head { max-width: 760px; margin-bottom: 1.5rem; }
#blog .rg-section-head h2 { font-size: clamp(1.75rem, 3.2vw, 2.6rem); }
#blog .rg-section-head .rg-lead { font-size: clamp(.95rem, 1.4vw, 1.08rem); }
#blog .rg-editorial-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
#blog .rg-editorial-grid--count-1 { grid-template-columns: minmax(0, 390px); }
#blog .rg-editorial-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 390px)); }
#blog .rg-story { display: flex; flex-direction: column; }
#blog .rg-story__media { min-height: 0; aspect-ratio: 16 / 9; }
#blog .rg-story__body { flex: 1; padding: .95rem; }
#blog .rg-story h3 { margin-bottom: .45rem; font-size: 1rem; line-height: 1.2; }
#blog .rg-story p:not(.rg-card__meta) { margin-bottom: .6rem; font-size: .8rem; line-height: 1.5; -webkit-line-clamp: 2; }
#blog .rg-story .rg-card__meta,
#blog .rg-story__link { font-size: .72rem; }
#blog .rg-actions { margin-top: 1.15rem; }
.rg-newsletter { padding-block: clamp(2.8rem, 5vw, 4.5rem); background: var(--rg-blue); color: #fff; }
.rg-newsletter__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr); gap: clamp(2rem, 7vw, 6rem); align-items: center; }
.rg-newsletter .rg-eyebrow { color: rgba(255, 255, 255, .72); }
.rg-newsletter h2 { margin-bottom: .75rem; font-size: clamp(1.8rem, 3.3vw, 2.8rem); }
.rg-newsletter .rg-accent { color: #fff; }
.rg-newsletter p:not(.rg-eyebrow) { max-width: 520px; margin-bottom: 0; color: rgba(255, 255, 255, .78); font-size: .95rem; }
.rg-newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .65rem; align-items: start; }
.rg-newsletter-form .tnp-field { margin: 0; }
.rg-newsletter-form .tnp-field-email label { display: none; }
.rg-newsletter-form input[type="email"] { width: 100%; min-height: 42px; padding: .65rem .8rem; border: 1px solid rgba(255, 255, 255, .46); border-radius: 7px; background: #fff; color: var(--rg-ink); font: inherit; font-size: .86rem; }
.rg-newsletter-form .tnp-field-button { grid-column: 2; grid-row: 1; }
.rg-newsletter-form input[type="submit"] { min-height: 42px; padding: .62rem 1rem; border: 1px solid var(--rg-orange); border-radius: 999px; background: var(--rg-orange); color: #fff; font: inherit; font-size: .8rem; font-weight: 800; cursor: pointer; }
.rg-newsletter-form input[type="submit"]:hover { border-color: #fff; background: #fff; color: var(--rg-blue); }
.rg-newsletter-form .tnp-field-privacy { grid-column: 1 / -1; color: rgba(255, 255, 255, .75); font-size: .7rem; line-height: 1.45; }
.rg-newsletter-form .tnp-field-privacy input { width: auto; margin: .16rem .4rem 0 0; vertical-align: top; }
.rg-newsletter-form .tnp-field-privacy a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
.rg-editorial-empty { max-width: 760px; padding: 2rem; border-left: 3px solid var(--rg-blue); background: var(--rg-soft); }
.rg-editorial-empty h3 { font-size: 1.45rem; }
.rg-about-teaser { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(2rem, 8vw, 7rem); align-items: start; padding-top: 1.8rem; border-top: 1px solid rgba(88, 107, 125, .25); }
.rg-about-teaser h2 { font-size: clamp(2rem, 4vw, 3.35rem); }
.rg-about-teaser__copy { max-width: 720px; color: var(--rg-muted); font-size: 1.05rem; }
.rg-about-teaser__copy p, body.page .rg-content > p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; text-wrap: pretty; }
.rg-about-teaser__copy .rg-button { margin-top: .6rem; }
.rg-about-photo { width: 100%; max-width: 780px; aspect-ratio: 16 / 9; margin: clamp(2.2rem, 5vw, 3.5rem) 0 1.4rem; overflow: hidden; background: var(--rg-soft); }
.rg-about-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 68%; }
.rg-community-card { min-height: 270px; color: var(--rg-ink); }
.rg-community-card__icon { display: grid; width: 48px; height: 48px; margin-bottom: 1.35rem; place-items: center; border-radius: 50%; background: var(--rg-soft); color: var(--rg-orange); }
.rg-community-card__icon svg { width: 26px; height: 26px; overflow: visible; fill: currentColor; stroke: currentColor; stroke-width: 1.8; }
.rg-community-card__icon-detail { fill: var(--rg-soft); stroke: var(--rg-soft); }
.rg-community-card__icon-dot { fill: currentColor; stroke: none; }
.rg-community-card .rg-card__meta { margin-bottom: .75rem; }
.rg-community-card h3 { font-size: 1.25rem; }
.rg-community-card__link { margin-top: auto; color: var(--rg-blue); font-size: .88rem; font-weight: 800; }
.rg-community-card:hover .rg-community-card__link { color: var(--rg-orange); text-decoration: underline; text-underline-offset: .2em; }
.rg-team-intro p:last-child { margin-bottom: 0; }
.rg-team-content > p:first-child { max-width: 740px; color: var(--rg-muted); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.rg-team-grid,
.rg-team-content .gallery { display: grid !important; max-width: 780px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.2rem, 3vw, 2.2rem); justify-content: start; }
.rg-team-member,
.rg-team-content .gallery-item { width: auto !important; min-width: 0; margin: 0 !important; float: none !important; text-align: left !important; }
.rg-team-member img,
.rg-team-content .gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 5; border: 0 !important; object-fit: cover; background: var(--rg-soft); }
.rg-team-member figcaption,
.rg-team-content .gallery-caption { display: block; padding-top: .8rem; border-top: 2px solid var(--rg-blue); color: var(--rg-ink); font-size: 1.08rem; font-weight: 750; letter-spacing: -.015em; }
.rg-team-profiles { display: grid; margin-top: clamp(2.5rem, 5vw, 4.5rem); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.2rem, 2.2vw, 2rem); align-items: start; }
.rg-team-profile { min-width: 0; padding: .8rem .8rem 1.25rem; border: 1px solid rgba(88, 107, 125, .16); background: #fdfbf6; box-shadow: 0 14px 34px rgba(32, 35, 31, .09); }
.rg-team-profile__polaroid { margin: 0 0 1.15rem; padding: .65rem .65rem .45rem; background: #fff; box-shadow: 0 8px 18px rgba(29, 30, 27, .13); transform: rotate(-.8deg); }
.rg-team-profile--2 .rg-team-profile__polaroid { transform: rotate(.65deg); }
.rg-team-profile--3 .rg-team-profile__polaroid { transform: rotate(-.35deg); }
.rg-team-profile--4 .rg-team-profile__polaroid { transform: rotate(.9deg); }
.rg-team-profile__photo { display: grid; aspect-ratio: 4 / 5; place-items: center; overflow: hidden; background: var(--rg-soft); color: var(--rg-blue); font-size: 3rem; font-weight: 800; }
.rg-team-profile__photo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.04); transition: filter .3s ease, transform .4s ease; }
.rg-team-profile:hover .rg-team-profile__photo img { filter: grayscale(.15) contrast(1.02); transform: scale(1.025); }
.rg-team-profile__polaroid figcaption { min-height: 2.15rem; padding: .55rem .2rem .1rem; color: var(--rg-ink); font-family: "Bradley Hand", "Segoe Print", cursive; font-size: 1rem; text-align: center; }
.rg-team-profile__content { padding: 0 .3rem; }
.rg-team-profile__heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .9rem; }
.rg-team-profile__heading h2 { margin: 0; font-size: 1.35rem; line-height: 1.1; }
.rg-team-profile__guide { display: inline-flex; min-height: 25px; align-items: center; padding: .22rem .55rem; background: var(--rg-orange); color: #fff; font-size: .62rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; clip-path: polygon(4% 8%, 94% 0, 100% 78%, 92% 100%, 5% 92%, 0 20%); }
.rg-team-profile__facts { margin: 0; }
.rg-team-profile__facts div { padding: .55rem 0; border-top: 1px solid rgba(88, 107, 125, .16); }
.rg-team-profile__facts dt,
.rg-team-profile__trait span { color: var(--rg-orange); font-size: .6rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.rg-team-profile__facts dd { margin: .12rem 0 0; color: var(--rg-ink); font-size: .84rem; font-weight: 700; line-height: 1.35; }
.rg-team-profile__trait { margin-top: .75rem; padding: .75rem; background: rgba(233, 228, 217, .68); transform: rotate(-.35deg); }
.rg-team-profile__trait p { margin: .25rem 0 0; color: var(--rg-muted); font-family: "Bradley Hand", "Segoe Print", cursive; font-size: .9rem; line-height: 1.45; }
.rg-team-profile__bio { margin-top: .85rem; color: var(--rg-muted); font-size: .8rem; line-height: 1.5; }
.rg-team-profile__bio p:last-child { margin-bottom: 0; }
.rg-empty { padding: 2rem; border-left: 3px solid var(--rg-blue); background: #fff; }
.rg-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(2rem, 7vw, 6rem); align-items: start; }
.rg-content { min-width: 0; font-size: 1.06rem; overflow-wrap: anywhere; }
.rg-content > * { max-width: 780px; }
.rg-content iframe, .rg-content video, .rg-content embed, .rg-content object { max-width: 100%; }
.rg-content h2, .rg-content h3 { margin-top: 2.4rem; }
.rg-content a:not(.rg-button):not(.rg-calendar-event__main):not(.rg-calendar-event__ics):hover { color: var(--rg-orange); }
.rg-content .rgrm-card-actions a:hover,
.rg-content .rgrm-card-actions a:focus-visible {
  color: #fff !important;
  -webkit-text-fill-color: #fff;
}
.rg-content .rgrm-card-actions a:hover svg,
.rg-content .rgrm-card-actions a:focus-visible svg {
  color: #fff;
  fill: currentColor;
  stroke: currentColor;
}
.rg-sidebar { position: sticky; top: 110px; padding: 1.6rem; border-top: 3px solid var(--rg-blue); background: #fff; box-shadow: var(--rg-shadow); }
.rg-facts { margin: 0; }
.rg-facts div { padding: .8rem 0; border-bottom: 1px solid var(--rg-soft); }
.rg-facts dt { color: var(--rg-muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rg-facts dd { margin: .2rem 0 0; font-weight: 650; }
.single-rg_ride .rg-detail-grid { grid-template-columns: minmax(0, 1fr) 285px; gap: clamp(2rem, 5vw, 4rem); }
.single-rg_ride .rg-section-head h1 { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.08; }
.single-rg_ride .rgrm-route h2 { margin-top: .35rem; font-size: 1.35rem; line-height: 1.2; letter-spacing: -.015em; }
.single-rg_ride .rg-sidebar { padding: 1.1rem 1.2rem; border-top-width: 2px; box-shadow: 0 10px 28px rgba(17, 17, 17, .06); }
.single-rg_ride .rg-sidebar h2 { margin-bottom: .4rem; font-size: 1.08rem; line-height: 1.2; letter-spacing: -.015em; }
.single-rg_ride .rg-facts div { padding: .55rem 0; }
.single-rg_ride .rg-facts dt { font-size: .63rem; }
.single-rg_ride .rg-facts dd { margin-top: .08rem; font-size: .86rem; line-height: 1.35; }
.single-rg_ride .rg-sidebar .rg-actions { gap: .45rem; margin-top: 1rem; }
.single-rg_ride .rg-sidebar .rg-button { min-height: 36px; padding: .48rem .78rem; font-size: .76rem; }

.single-rg_ride .rg-share { margin-top: 1rem; padding-top: .8rem; border-top: 1px solid var(--rg-soft); }
.single-rg_ride .rg-share__label { margin: 0 0 .5rem; color: var(--rg-muted); font-size: .63rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.single-rg_ride .rg-share__actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem; }
.single-rg_ride .rg-share__actions > * {
  display: inline-flex;
  min-width: 0;
  min-height: 34px;
  align-items: center;
  justify-content: center;
  padding: .42rem .32rem;
  border: 1px solid #666d69;
  border-radius: 7px;
  background: transparent;
  color: #39403d;
  font: inherit;
  font-size: .68rem;
  font-weight: 750;
  line-height: 1.1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.single-rg_ride .rg-share__actions > :hover,
.single-rg_ride .rg-share__actions > :focus-visible { border-color: var(--rg-orange); background: var(--rg-orange); color: #fff; transform: translateY(-1px); }
.single-rg_ride .rg-share__hint { margin: .55rem 0 0; color: var(--rg-muted); font-size: .62rem; line-height: 1.35; }
.single-rg_ride .rg-share__status { min-height: 1.2em; margin: .35rem 0 0; color: #39403d; font-size: .64rem; font-weight: 700; line-height: 1.35; }


.single-rg_event .rg-section { padding-top: clamp(2.75rem, 6vw, 4.75rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.single-rg_event .rg-shell { display: grid; grid-template-columns: minmax(0, 780px) minmax(250px, 285px); column-gap: clamp(1.5rem, 4vw, 4rem); align-items: start; justify-content: start; }
.single-rg_event .rg-section-head { grid-column: 1; grid-row: 1; margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.single-rg_event .rg-section-head h1 { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.08; }
.single-rg_event .rg-detail-grid { display: contents; }
.single-rg_event .rg-content { grid-column: 1; grid-row: 2; min-width: 0; font-size: .94rem; line-height: 1.65; }
.single-rg_event .rg-content h2 { font-size: 1.35rem; line-height: 1.2; letter-spacing: -.015em; }
.single-rg_event .rg-sidebar { grid-column: 2; grid-row: 1 / span 2; width: 100%; min-width: 0; max-width: 285px; box-sizing: border-box; align-self: start; margin: 0; padding: 1.1rem 1.2rem; border-top-width: 2px; box-shadow: 0 10px 28px rgba(17, 17, 17, .06); transform: none; }
.single-rg_event .rg-sidebar h2 { margin-bottom: .4rem; font-size: 1.08rem; line-height: 1.2; letter-spacing: -.015em; }
.single-rg_event .rg-facts div { padding: .55rem 0; }
.single-rg_event .rg-facts dt { font-size: .63rem; }
.single-rg_event .rg-facts dd { margin-top: .08rem; font-size: .86rem; line-height: 1.35; }
.single-rg_event .rg-sidebar .rg-actions { gap: .45rem; margin-top: 1rem; }
.single-rg_event .rg-sidebar .rg-button { min-height: 36px; padding: .48rem .78rem; font-size: .76rem; }
.single-rg_event .rg-event-checkout-shortcut { width: 100%; margin: 0; }
.single-rg_event .rg-event-checkout-shortcut .rg-button { width: 100%; }
.single-rg_event #anmeldung { scroll-margin-top: 110px; }
.single-post .rg-section-head h1 { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.08; }
.single-post .rg-detail-grid { grid-template-columns: minmax(0, 1fr) 285px; gap: clamp(2rem, 5vw, 4rem); }
.single-post .rg-sidebar { padding: 1.1rem 1.2rem; border-top-width: 2px; box-shadow: 0 10px 28px rgba(17, 17, 17, .06); }
.single-post .rg-sidebar h2 { margin-bottom: .4rem; font-size: 1.08rem; line-height: 1.2; letter-spacing: -.015em; }
.single-post .rg-facts div { padding: .55rem 0; }
.single-post .rg-facts dt { font-size: .63rem; }
.single-post .rg-facts dd { margin-top: .08rem; font-size: .86rem; line-height: 1.35; }
.rg-sidebar__image { width: calc(100% + 2.4rem); aspect-ratio: 4 / 3; margin: -1.1rem -1.2rem 1rem; overflow: hidden; background: var(--rg-soft); }
.rg-sidebar__image img { display: block; width: 100%; height: 100%; object-fit: cover; }

.rg-form { display: grid; gap: 1rem; }
.rg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.rg-field label { display: block; margin-bottom: .35rem; color: var(--rg-blue); font-size: .78rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.rg-field input, .rg-field textarea, .rg-field select { width: 100%; padding: .85rem 1rem; border: 1px solid #aeb7bd; border-radius: 10px; background: #fff; color: var(--rg-ink); font: inherit; box-shadow: inset 0 1px 2px rgba(17, 17, 17, .04); }
.rg-field input:hover, .rg-field textarea:hover, .rg-field select:hover { border-color: var(--rg-blue); }
.rg-field input:focus, .rg-field textarea:focus, .rg-field select:focus { outline: 2px solid var(--rg-blue); outline-offset: 1px; background: #fff; }
.rg-check { display: flex; gap: .7rem; align-items: flex-start; font-size: .88rem; }
.rg-check input { margin-top: .35rem; }
.rg-contact-page { padding-top: clamp(2.75rem, 6vw, 4.75rem); padding-bottom: clamp(3rem, 6vw, 5rem); }
.rg-contact-page .rg-section-head { margin-bottom: clamp(1.4rem, 3vw, 2rem); }
.rg-contact-page .rg-section-head h1 { font-size: clamp(1.9rem, 3vw, 2.8rem); line-height: 1.08; }
.rg-contact-page .rg-content,
.rg-contact-page .rg-content > * { width: 100%; max-width: 640px; }
.rg-contact-page .rg-contact h2 { margin: 0 0 .45rem; font-size: 1.25rem; line-height: 1.2; letter-spacing: -.015em; }
.rg-contact-page .rg-contact > p { margin-bottom: 1rem; color: var(--rg-muted); font-size: .88rem; }
.rg-contact-page .rg-form { gap: .7rem; }
.rg-contact-page .rg-form-row { gap: .7rem; }
.rg-contact-page .rg-field { margin-bottom: .35rem; }
.rg-contact-page .rg-field label { margin-bottom: .25rem; font-size: .68rem; }
.rg-contact-page .rg-field input,
.rg-contact-page .rg-field textarea,
.rg-contact-page .rg-field select { padding: .62rem .75rem; border-radius: 8px; font-size: .88rem; }
.rg-contact-page .rg-field textarea { min-height: 150px; }
.rg-contact-page .rg-check { gap: .5rem; font-size: .76rem; line-height: 1.45; }
.rg-contact-page button[type="submit"] { min-height: 38px; padding: .52rem .85rem; font-size: .76rem; }
.rg-message { padding: 1rem; border-left: 3px solid var(--rg-petrol); background: #dfe7e4; }
.rg-message--error { border-color: #9a3f32; background: #f0ded8; }
.rg-availability { display: inline-flex; gap: .2rem; align-items: baseline; margin: 0 0 1.25rem; padding: .65rem .9rem; border-radius: 999px; background: var(--rg-soft); color: var(--rg-blue); }
.rg-availability.is-full { background: #f4e3df; color: #8d3023; }
.rg-payment-box { max-width: 680px; padding: 1.35rem; border: 1px solid rgba(88, 107, 125, .2); background: #fff; }
.rg-event-price { margin: 0 0 .6rem; color: var(--rg-ink) !important; font-size: 1.5rem; font-weight: 850; }
.rg-hp { position: absolute !important; left: -9999px !important; }
.single-rg_event #anmeldung { max-width: 620px; }
.single-rg_event #rg-registration-heading { margin: .35rem 0 .7rem; font-size: 1.35rem; }
.single-rg_event .rg-availability { margin-bottom: .9rem; padding: .45rem .7rem; font-size: .78rem; }
.single-rg_event .rg-form { gap: .7rem; }
.single-rg_event .rg-form-row { gap: .7rem; }
.single-rg_event .rg-field label { margin-bottom: .25rem; font-size: .68rem; }
.single-rg_event .rg-field input, .single-rg_event .rg-field textarea, .single-rg_event .rg-field select { padding: .62rem .75rem; border-radius: 8px; font-size: .88rem; }
.single-rg_event .rg-check { gap: .5rem; font-size: .78rem; line-height: 1.45; }
.single-rg_event .rg-payment-box { max-width: 620px; padding: 1rem; }
.single-rg_event .rg-event-price { font-size: 1.2rem; }
.single-rg_event .rg-form .rg-button { min-height: 40px; padding: .6rem 1rem; font-size: .82rem; }

.rg-calendar { display: grid; gap: .75rem; }
.rg-calendar-row { display: grid; grid-template-columns: 105px 1fr auto; align-items: center; gap: 1.2rem; padding: 1.1rem 1.25rem; background: #fff; border-left: 3px solid var(--rg-blue); }
.rg-calendar-date { font-weight: 800; color: var(--rg-blue); }
.rg-calendar-row h3 { margin: 0; font-size: 1.08rem; }
.rg-month-calendar { position: relative; max-width: 100% !important; padding: clamp(1rem, 2vw, 1.4rem); overflow: hidden; border: 1px solid rgba(88, 107, 125, .16); border-radius: 20px; background: rgba(255, 255, 255, .96); box-shadow: 0 18px 42px rgba(31, 34, 30, .09); isolation: isolate; }
.rg-month-calendar::after { position: absolute; z-index: 2; right: -64px; bottom: -78px; width: 360px; height: 360px; background: url("assets/images/brand/rawgravel-logo-on-light.png") left center / 720px auto no-repeat; content: ""; opacity: .04; pointer-events: none; }
.rg-month-calendar > * { position: relative; z-index: 1; }
.rg-month-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; margin-bottom: 1rem; }
.rg-month-toolbar__nav { display: flex; align-items: center; gap: .5rem; }
.rg-month-toolbar h2 { min-width: 200px; margin: 0; font-size: 1.45rem !important; text-align: center; }
.rg-month-toolbar .rg-button { min-height: 38px; padding: .5rem .85rem; font-size: .78rem; }
.rg-month-grid { display: grid; overflow: hidden; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid rgba(88, 107, 125, .2); border-left: 1px solid rgba(88, 107, 125, .2); border-radius: 13px; background: #fff; }
.rg-calendar-weekday { padding: .7rem .45rem; border-right: 1px solid rgba(88, 107, 125, .2); border-bottom: 1px solid rgba(88, 107, 125, .2); color: var(--rg-blue); font-size: .66rem; font-weight: 850; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.rg-calendar-day { min-height: 128px; padding: .5rem; border-right: 1px solid rgba(88, 107, 125, .2); border-bottom: 1px solid rgba(88, 107, 125, .2); background: #fff; }
.rg-calendar-day.is-empty { background: var(--rg-soft); opacity: .55; }
.rg-calendar-day__number { display: block; margin-bottom: .45rem; color: var(--rg-muted); font-size: .72rem; font-weight: 800; }
.rg-calendar-day.is-today .rg-calendar-day__number { display: grid; width: 25px; height: 25px; margin-top: -.15rem; place-items: center; border-radius: 50%; background: var(--rg-blue); color: #fff; }
.rg-calendar-event { display: grid; gap: .15rem; margin-bottom: .38rem; padding: .48rem .55rem; background: var(--rg-orange); color: #fff; line-height: 1.2; }
.rg-calendar-event__main { display: grid; gap: .12rem; color: #fff; }
.rg-calendar-event__time { font-size: .62rem; font-weight: 850; letter-spacing: .04em; }
.rg-calendar-event__title { font-size: .72rem; font-weight: 800; overflow-wrap: anywhere; }
.rg-calendar-event__ics { justify-self: start; margin-top: .18rem; padding: .15rem .35rem; border: 1px solid rgba(255, 255, 255, .72); border-radius: 999px; color: #fff; font-size: .57rem; font-weight: 800; letter-spacing: .04em; }
.rg-calendar-event__ics:hover { background: #fff; color: var(--rg-orange); }
.rg-document-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 240px)); gap: 1.25rem; max-width: 100% !important; align-items: start; justify-content: start; }
.rg-document-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(88, 107, 125, .16); border-radius: var(--rg-radius); background: #fff; box-shadow: 0 10px 30px rgba(17, 17, 17, .04); transition: transform .25s ease, box-shadow .25s ease; }
.rg-document-card:hover { transform: translateY(-4px); box-shadow: var(--rg-shadow); }
.rg-document-card__preview { display: grid; aspect-ratio: 210 / 297; place-items: center; overflow: hidden; border-bottom: 1px solid var(--rg-soft); background: var(--rg-soft); }
.rg-document-card__image { display: block; width: 100%; height: 100%; object-fit: contain; }
.rg-document-card__fallback { display: grid; gap: .55rem; place-items: center; color: var(--rg-blue); text-align: center; }
.rg-document-card__fallback strong { display: grid; width: 72px; aspect-ratio: .78; place-items: center; border: 2px solid var(--rg-blue); border-radius: 6px; font-size: 1.1rem; letter-spacing: .08em; }
.rg-document-card__fallback span { color: var(--rg-muted); font-size: .78rem; }
.rg-document-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1rem; }
.page .rg-content .rg-document-card__body h2 { margin: 0 0 .7rem; font-size: .95rem; line-height: 1.25; letter-spacing: -.015em; overflow-wrap: anywhere; }
.page .rg-content .rgrm-card h3 { font-size: 1.12rem; line-height: 1.2; letter-spacing: -.02em; }
.page .rg-content .rg-card h3 { font-size: 1.12rem; line-height: 1.2; letter-spacing: -.02em; }
.rg-document-card__body p { margin: 0 0 1.1rem; color: var(--rg-muted); font-size: .9rem; }
.rg-document-card__body .rg-button { margin-top: auto; }

.site-footer { padding: 4rem 0 2rem; background: var(--rg-dark); color: #fff; }
.site-footer__newsletter { display: grid; grid-template-columns: minmax(200px, .7fr) minmax(320px, 1.3fr); gap: clamp(1.5rem, 6vw, 5rem); align-items: center; margin-top: 3rem; padding-top: 2.5rem; border-top: 1px solid rgba(255, 255, 255, .15); }
.site-footer__newsletter h2 { margin-bottom: .45rem; color: #fff; font-size: 1.25rem; letter-spacing: -.015em; text-transform: none; }
.site-footer__newsletter p { margin: 0; color: rgba(255, 255, 255, .62); font-size: .84rem; }
.site-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 2rem; }
.site-footer h2 { color: #aeb9c2; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.site-footer a { display: block; margin: .35rem 0; color: rgba(255, 255, 255, .75); }
.site-footer a:hover { color: var(--rg-orange); }
.site-footer__brand { display: inline-block; width: min(230px, 100%); margin: 0 0 1rem; }
.site-footer .site-footer__brand .rg-brand-logo { width: 100% !important; max-width: 230px !important; height: auto !important; }
.site-footer .rg-wordmark { margin-bottom: 1rem; }
.site-footer .rg-wordmark strong { color: #fff; }
.site-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid rgba(255, 255, 255, .15); color: rgba(255, 255, 255, .55); font-size: .78rem; }
.site-footer__legal { display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.site-footer__legal a { margin: 0; }

/* WooCommerce follows the RAWGRAVEL card and button system. */
.rg-content--shop > * { max-width: none; }
.woocommerce-page .rg-section { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.woocommerce-shop .page-title { margin-bottom: 1.25rem; font-size: clamp(1.8rem, 3.2vw, 2.6rem); }
.woocommerce-shop .woocommerce-result-count,
.woocommerce-shop .woocommerce-ordering { margin-bottom: 1.25rem; font-size: .8rem; }
.woocommerce-shop .woocommerce-ordering select { min-height: 34px; padding: .35rem .55rem; border: 1px solid rgba(88, 107, 125, .35); border-radius: 6px; background: #fff; font-size: .78rem; }
.woocommerce .products ul, .woocommerce ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(185px, 225px)); justify-content: start; gap: .9rem; margin: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto; margin: 0; padding: .8rem; border: 1px solid rgba(88, 107, 125, .16); background: #fff; box-shadow: 0 8px 22px rgba(17, 17, 17, .035); }
.woocommerce ul.products li.product a img { aspect-ratio: 1; margin: 0 0 .75rem; object-fit: cover; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.35em; padding: 0; margin: 0 0 .45rem; font-size: .9rem; line-height: 1.18; letter-spacing: -.015em; }
.woocommerce ul.products li.product .price { margin-bottom: .65rem; font-size: .82rem; }
.woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--rg-blue); font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit { min-height: 36px; padding: .52rem .8rem; border-radius: 999px; background: var(--rg-blue); color: #fff; font-size: .76rem; font-weight: 750; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit:hover { background: var(--rg-orange); color: #fff; }
.single-product .rg-content--shop { max-width: 760px; margin-inline: auto; }
.woocommerce div.product { padding: .9rem; background: #fff; }
.single-product div.product .woocommerce-product-gallery { width: 34%; max-width: 255px; }
.single-product div.product .summary { width: 61%; }
.single-product div.product .product_title { margin-bottom: .6rem; font-size: clamp(1.35rem, 2.4vw, 1.75rem); line-height: 1.1; }
.single-product div.product p.price { margin-bottom: .6rem; font-size: 1rem; }
.single-product .woocommerce-product-details__short-description { font-size: .84rem; line-height: 1.5; }
.single-product div.product form.cart { margin-bottom: .8rem; }
.single-product div.product form.cart .button { min-height: 34px; padding: .48rem .78rem; font-size: .74rem; }
.single-product div.product .product_meta { font-size: .72rem; line-height: 1.6; }
.single-product div.product .woocommerce-tabs { padding-top: .75rem; font-size: .82rem; }
.single-product div.product .woocommerce-tabs ul.tabs { margin-bottom: .75rem; }
.single-product div.product .woocommerce-tabs ul.tabs li a { padding: .45rem .65rem; font-size: .72rem; }
.single-product div.product .woocommerce-tabs h2 { margin: 0 0 .55rem; font-size: 1rem; }
.single-product div.product .woocommerce-tabs p { font-size: .82rem; line-height: 1.55; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--rg-petrol); background: #fff; }
.woocommerce-error { border-top-color: #9a3f32; background: #fff; }

@media (max-width: 900px) {
  body.admin-bar .site-header { top: 46px; }
  .menu-toggle { display: block; }
  .site-nav { position: absolute; inset: 76px 0 auto; display: none; padding: 1rem 24px 1.5rem; background: var(--rg-paper); border-bottom: 1px solid rgba(17, 17, 17, .08); }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; }
  .rg-hero__grid { grid-template-columns: 1fr; }
  .rg-detail-grid { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: 2rem; }
  .single-rg_event .rg-shell { display: block; }
  .single-rg_event .rg-detail-grid { display: flex; }
  .single-rg_ride .rg-detail-grid,
  .single-rg_event .rg-detail-grid,
  .single-post .rg-detail-grid { grid-template-columns: minmax(0, 1fr); }
  .rg-hero__panel { min-height: 0; padding: 2rem 0 0; border-top: 1px solid rgba(88, 107, 125, .28); border-left: 0; }
  .rg-sidebar { position: static; inset: auto; width: 100%; min-width: 0; height: auto; max-height: none; margin: 0; align-self: stretch; transform: none; }
  .single-rg_event .rg-sidebar { width: 100%; max-width: none; }
  .rg-detail-grid > .rg-sidebar { order: -1; flex: 0 0 auto; }
  .rg-detail-grid > .rg-content { order: 0; flex: 0 0 auto; clear: both; }
  .rg-detail-grid > .rg-content,
  .rg-detail-grid > .rg-content > * { width: 100%; max-width: 100%; }
  .single-post .rg-sidebar__image { aspect-ratio: 16 / 9; }
  .single-product div.product .woocommerce-product-gallery,
  .single-product div.product .summary { float: none; width: 100%; }
  .single-product div.product .woocommerce-product-gallery { max-width: 420px; margin: 0 auto 1.4rem; }
  .rg-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-community-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-team-grid, .rg-team-content .gallery { grid-template-columns: repeat(2, minmax(0, 190px)); }
  .rg-team-profiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-editorial-grid { grid-template-columns: 1fr; }
  #blog .rg-editorial-grid,
  #blog .rg-editorial-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rg-about-teaser { grid-template-columns: 1fr; gap: 1.2rem; }
  .rg-newsletter__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .rg-story--featured { grid-row: auto; }
  .woocommerce .products ul, .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 225px)); }
}

@media (max-width: 600px) {
  .rg-about-photo { aspect-ratio: 4 / 5; }
  .rg-about-photo img { object-position: center 65%; }
}
@media (max-width: 620px) {
  .rg-shell { width: min(var(--rg-shell), calc(100% - 32px)); }
  .site-header .site-brand .rg-brand-logo { max-width: 185px !important; height: 44px !important; }
  .rg-grid, .rg-form-row, .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__newsletter { grid-template-columns: 1fr; }
  .rg-newsletter-form { grid-template-columns: 1fr; }
  .rg-newsletter-form .tnp-field-button { grid-column: 1; grid-row: auto; }
  .rg-newsletter-form input[type="submit"] { width: 100%; }
  .rg-blog-card { grid-template-columns: 1fr; }
  .rg-blog-card .rg-card__media { min-height: 0; aspect-ratio: 16 / 9; }
  .rg-team-grid, .rg-team-content .gallery { grid-template-columns: minmax(0, 190px); justify-content: center; }
  .rg-team-profiles { grid-template-columns: 1fr; }
  .rg-story { grid-template-columns: 110px minmax(0, 1fr); }
  .rg-story--featured { grid-template-columns: 1fr; }
  .rg-story__media { min-height: 130px; }
  .rg-story--featured .rg-story__media { min-height: 220px; }
  #blog .rg-editorial-grid,
  #blog .rg-editorial-grid--count-2 { grid-template-columns: 1fr; }
  #blog .rg-story__media { min-height: 0; }
  .rg-calendar-row { grid-template-columns: 80px 1fr; }
  .rg-calendar-row .rg-button { grid-column: 1 / -1; }
  .rg-month-toolbar { align-items: stretch; }
  .rg-month-toolbar__nav { width: 100%; justify-content: space-between; }
  .rg-month-toolbar h2 { min-width: 0; font-size: 1.15rem !important; }
  .rg-month-grid { display: block; border: 0; background: transparent; }
	.rg-month-calendar { padding: .8rem; border-radius: 14px; }
	.rg-month-calendar::after { right: -66px; bottom: -58px; width: 230px; height: 230px; background-size: 460px auto; opacity: .035; }
  .rg-calendar-weekday, .rg-calendar-day.is-empty, .rg-calendar-day:not(.has-events) { display: none; }
  .rg-calendar-day { display: grid; min-height: 0; grid-template-columns: 42px minmax(0, 1fr); gap: .65rem; margin-bottom: .6rem; padding: .7rem; border: 1px solid rgba(88, 107, 125, .2); }
  .rg-calendar-day__number { margin: .15rem 0 0; font-size: .8rem; }
  .rg-calendar-day__events { min-width: 0; }
  .rg-calendar-event { margin-bottom: .45rem; padding: .6rem .65rem; }
  .rg-calendar-event__title { font-size: .78rem; }
  .rg-document-grid { grid-template-columns: minmax(0, 240px); justify-content: center; }
  .woocommerce .products ul, .woocommerce ul.products { grid-template-columns: minmax(0, 280px); justify-content: center; }
  .woocommerce ul.products li.product { padding: .65rem; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: .82rem; }
  .single-product div.product { padding: .8rem; }
  .single-product div.product .woocommerce-product-gallery { max-width: 340px; margin: 0 auto 1.25rem; }
  .single-product div.product .product_title { font-size: 1.55rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
