/*
Theme Name: Race Club
Theme URI: https://raceclub.dk
Author: Race Club
Description: Race Club 2027. Sort, rød og grå med magasinets typografi (Anton og Poppins). Forsiden er bygget af redigerbare blokke og mønstre.
Version: 1.4.1
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: raceclub
*/

/* Farver og skrift ligger i theme.json. Her er kun det, theme.json ikke kan udtrykke. */

:root {
	--rc-sort: var(--wp--preset--color--sort);
	--rc-grafit: var(--wp--preset--color--grafit);
	--rc-linje: var(--wp--preset--color--linje);
	--rc-graa: var(--wp--preset--color--graa);
	--rc-soelv: var(--wp--preset--color--soelv);
	--rc-hvid: var(--wp--preset--color--hvid);
	--rc-roed: var(--wp--preset--color--roed);
	--rc-roed-tekst: var(--wp--preset--color--roed-tekst);
	--rc-pad: clamp(16px, 5vw, 72px);
}

body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { text-wrap: balance; }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--rc-roed-tekst); outline-offset: 3px; }

/* ---------- Sidemargen ---------- */
.rc-section, .rc-facts-wrap, .rc-header, .rc-footer, .rc-main { padding-left: var(--rc-pad); padding-right: var(--rc-pad); }

/* ---------- Fælles småting ---------- */
.rc-eyebrow { font-size: 11px !important; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--rc-soelv); margin: 0; }
.rc-eyebrow.is-red, .rc-red { color: var(--rc-roed-tekst); }
.rc-muted { color: var(--rc-soelv); }
.rc-lead { font-size: clamp(16px, 1.6vw, 19px); color: var(--rc-soelv); max-width: 44ch; }
.rc-section { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 110px); }
.rc-section.is-tight-top { padding-top: 0; }
.rc-grafit-bg { background: var(--rc-grafit); }
.rc-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 40px; }
.rc-sec-head h2 { margin-top: 14px; }
.rc-sec-head > * { margin-block: 0; }
.rc-sec-head > p { max-width: 40ch; }

/* Knapper */
.wp-block-button.is-style-rc-ghost .wp-block-button__link { background: transparent; color: var(--rc-hvid); border: 1px solid rgba(243, 242, 239, .35); }
.wp-block-button.is-style-rc-ghost .wp-block-button__link:hover { border-color: var(--rc-hvid); background: transparent; color: var(--rc-hvid); }
.wp-block-button.is-style-rc-link .wp-block-button__link { background: transparent; color: var(--rc-hvid); padding: 0 0 4px; border-radius: 0; border-bottom: 1px solid var(--rc-roed); }
.wp-block-button.is-style-rc-link .wp-block-button__link:hover { color: var(--rc-roed-tekst); }
.wp-block-button__link { transition: background .2s, border-color .2s, color .2s; }
.rc-btn-sm .wp-block-button__link { padding: 10px 16px; font-size: 11px; }

/* ---------- Header ---------- */
.rc-header { position: sticky; top: 0; z-index: 50; background: rgba(11, 11, 12, .88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid var(--rc-linje); padding-top: 16px; padding-bottom: 16px; }
.admin-bar .rc-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rc-header { top: 0; position: relative; } }
.rc-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rc-header .rc-logo { margin: 0; flex: none; }
.rc-header .rc-logo img { height: 40px; width: auto; display: block; }
.rc-header .wp-block-navigation { font-size: 13px; gap: 28px; }
.rc-header .wp-block-navigation a { color: var(--rc-soelv); text-decoration: none; }
.rc-header .wp-block-navigation a:hover { color: var(--rc-hvid); }
.rc-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--rc-sort); color: var(--rc-hvid); padding: 24px; }
.rc-header .wp-block-navigation__responsive-container.is-menu-open a { color: var(--rc-hvid); font-size: 18px; }
.rc-header .wp-block-buttons { flex-wrap: nowrap; gap: 10px; }
@media (max-width: 600px) { .rc-header .rc-hide-mobile { display: none; } .rc-header .rc-logo img { height: 32px; } }

/* ---------- Hero ---------- */
.rc-hero.wp-block-cover { padding: clamp(110px, 14vw, 170px) var(--rc-pad) 72px; align-items: flex-end; }
.rc-hero .wp-block-cover__image-background { object-position: center 30%; }
.rc-hero .wp-block-cover__background { background: linear-gradient(0deg, var(--rc-sort) 0%, rgba(11,11,12,0) 40%), linear-gradient(90deg, rgba(11,11,12,.94) 0%, rgba(11,11,12,.72) 45%, rgba(11,11,12,.25) 100%) !important; opacity: 1 !important; }
.rc-hero .wp-block-cover__inner-container { position: relative; width: 100%; max-width: var(--wp--style--global--wide-size); margin: 0 auto; z-index: 2; }
.rc-hero h1 { max-width: 9.5em; margin-top: 18px; }
.rc-hero .wp-block-buttons { margin-top: 34px; }

/* ---------- Nøgletal ---------- */
.rc-facts { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 !important; border-top: 1px solid var(--rc-linje); border-bottom: 1px solid var(--rc-linje); }
.rc-facts > .wp-block-column, .rc-facts > .wp-block-group { padding: 28px 20px 26px 0; margin: 0 !important; }
.rc-facts > * + * { padding-left: 24px !important; border-left: 1px solid var(--rc-linje); }
.rc-facts .rc-num { font-family: var(--wp--preset--font-family--display); font-size: clamp(34px, 4vw, 52px); line-height: 1; margin: 0; font-variant-numeric: tabular-nums; }
.rc-facts .rc-num + p { font-size: 12px; letter-spacing: .08em; color: var(--rc-soelv); margin-top: 10px; }
@media (max-width: 760px) {
	.rc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rc-facts > *:nth-child(3) { padding-left: 0 !important; border-left: 0; }
	.rc-facts > *:nth-child(n+3) { border-top: 1px solid var(--rc-linje); }
}

/* ---------- Om ---------- */
.rc-about { gap: clamp(28px, 6vw, 88px) !important; align-items: center !important; }
.rc-about .rc-photo img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.rc-about h2 { margin: 14px 0 24px; }
.rc-about p { max-width: 50ch; color: var(--rc-soelv); }
.rc-about p.rc-big { color: var(--rc-hvid); font-size: 18px; }
.rc-values { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 !important; margin-top: 34px !important; border-top: 1px solid var(--rc-linje); }
.rc-values > * { padding: 18px 16px 18px 0; border-bottom: 1px solid var(--rc-linje); margin: 0 !important; }
.rc-values p { margin: 0; color: var(--rc-soelv); font-size: 13px; }
.rc-values p strong { display: block; color: var(--rc-hvid); font-weight: 500; font-size: 14px; }
@media (max-width: 781px) { .rc-about .rc-photo img { aspect-ratio: 16 / 10; } }

/* ---------- Afdelinger ---------- */
.rc-depts { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px !important; background: var(--rc-linje); border: 1px solid var(--rc-linje); }
.rc-dept { background: var(--rc-sort); padding: 26px 22px 24px; display: flex; flex-direction: column; gap: 14px; min-height: 260px; margin: 0 !important; transition: background .2s; }
.rc-dept:hover { background: var(--rc-grafit); }
.rc-dept > * { margin: 0 !important; }
.rc-dept h3 { font-size: 28px; }
.rc-dept .rc-day { font-size: 12px; color: var(--rc-soelv); letter-spacing: .06em; }
.rc-dept .rc-next { margin-top: auto !important; border-top: 1px solid var(--rc-linje); padding-top: 14px; }
.rc-dept .rc-next p { margin: 0; font-size: 14px; }
.rc-dept .rc-next .rc-eyebrow { font-size: 10.5px !important; color: var(--rc-roed-tekst); }
.rc-dept .rc-next p.rc-place { font-size: 12.5px; color: var(--rc-soelv); }
@media (max-width: 980px) { .rc-depts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .rc-depts { grid-template-columns: 1fr; } .rc-dept { min-height: 0; } }

.rc-joint { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px !important; margin-top: 20px !important; }
.rc-joint > .wp-block-group { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; padding: 22px; background: var(--rc-grafit); border: 1px solid var(--rc-linje); margin: 0 !important; }
.rc-joint .rc-date { text-align: center; min-width: 64px; border-right: 1px solid var(--rc-linje); padding-right: 20px; margin: 0; }
.rc-joint .rc-date p { margin: 0; }
.rc-joint .rc-date .rc-day-num { font-family: var(--wp--preset--font-family--display); font-size: 40px; line-height: 1; }
.rc-joint .rc-date .rc-month { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-joint .rc-joint-text > * { margin: 0; }
.rc-joint h3 { font-size: 22px; }
.rc-joint .rc-joint-text p:last-child { font-size: 13px; color: var(--rc-soelv); margin-top: 4px; }
@media (max-width: 760px) { .rc-joint { grid-template-columns: 1fr; } }

/* ---------- Medlemskab ---------- */
.rc-member-grid { gap: clamp(28px, 6vw, 80px) !important; }
.rc-perks { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rc-linje); }
.rc-perks li { display: grid; grid-template-columns: 70px minmax(0, 1fr); gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--rc-linje); align-items: baseline; color: var(--rc-soelv); font-size: 14px; }
.rc-perks li strong { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 30px; line-height: 1; color: var(--rc-hvid); }
.rc-perks li em { font-style: normal; color: var(--rc-hvid); font-weight: 500; display: block; }
.rc-price { border: 1px solid var(--rc-linje); padding: 30px !important; background: var(--rc-sort); }
.rc-price > * { margin-block: 0; }
.rc-price .rc-amount { font-family: var(--wp--preset--font-family--display); font-size: 56px; line-height: 1; margin-top: 18px; }
.rc-price .rc-amount small { display: block; margin-top: 8px; font-family: var(--wp--preset--font-family--tekst); font-size: 14px; line-height: 1.4; color: var(--rc-soelv); }
.rc-price p { margin-top: 12px; color: var(--rc-soelv); font-size: 14px; }
.rc-price p.rc-amount { color: var(--rc-hvid); font-size: 56px; margin-top: 18px; }
.rc-price .wp-block-buttons { margin-top: 26px; }
.rc-price .wp-block-button { width: 100%; }
.rc-price .wp-block-button__link { width: 100%; }

/* ---------- Extra ---------- */
.rc-extra-grid { gap: 20px !important; }
.rc-xcard { background: var(--rc-grafit); border: 1px solid var(--rc-linje); display: flex; flex-direction: column; }
.rc-xcard > .wp-block-image { margin: 0; }
.rc-xcard > .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; display: block; }
.rc-xcard .rc-xbody { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.rc-xcard .rc-xbody > * { margin: 0; }
.rc-xcard h3 { font-size: 26px; }
.rc-xcard .rc-xbody > p { font-size: 13.5px; color: var(--rc-soelv); }
.rc-tag { display: inline-block; align-self: flex-start; font-size: 10.5px !important; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; padding: 5px 9px; border: 1px solid var(--rc-roed); }
.rc-xcard .rc-meta { margin-top: auto !important; padding-top: 14px; border-top: 1px solid var(--rc-linje); display: flex; justify-content: space-between; gap: 12px; font-size: 13px; }
.rc-xcard .rc-meta p { margin: 0; font-size: 13px; color: var(--rc-hvid); }
.rc-xcard .rc-meta p:last-child { font-weight: 500; }

/* ---------- Citat ---------- */
.rc-quote.wp-block-cover { padding: clamp(70px, 10vw, 140px) var(--rc-pad); }
.rc-quote .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); margin: 0 auto; }
.rc-quote blockquote { margin: 0; padding: 0; border: 0; }
.rc-quote blockquote p { font-family: var(--wp--preset--font-family--display); font-size: clamp(30px, 4.4vw, 56px); line-height: 1.08; text-transform: uppercase; margin: 0; max-width: 22ch; }
.rc-quote blockquote cite { display: block; margin-top: 26px; font-style: normal; font-size: 13px; color: var(--rc-soelv); }

/* ---------- Magasin ---------- */
.rc-mag { gap: clamp(28px, 6vw, 80px) !important; align-items: center !important; }
.rc-mag .wp-block-image img { box-shadow: 0 30px 60px rgba(0, 0, 0, .6); }
.rc-mag h2 { margin: 14px 0 20px; }
.rc-mag p { color: var(--rc-soelv); max-width: 52ch; }
.rc-mag .wp-block-buttons { margin-top: 28px; gap: 20px; align-items: center; }
@media (max-width: 781px) { .rc-mag .wp-block-image { max-width: 240px; } }

/* ---------- Kontakt / introaften ---------- */
.rc-contact { border-top: 1px solid var(--rc-linje); gap: clamp(28px, 6vw, 80px) !important; }
.rc-contact h2 { margin: 14px 0 20px; }
.rc-contact p { color: var(--rc-soelv); max-width: 46ch; }
.rc-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--rc-linje); counter-reset: rc; }
.rc-steps li { counter-increment: rc; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--rc-linje); color: var(--rc-soelv); font-size: 14px; }
.rc-steps li::before { content: counter(rc); font-family: var(--wp--preset--font-family--display); font-size: 26px; line-height: 1; color: var(--rc-hvid); }
.rc-steps li strong { color: var(--rc-hvid); font-weight: 500; display: block; }

/* Kontaktperson */
.rc-contact-card { margin: 28px 0 !important; padding: 18px 0; border-top: 1px solid var(--rc-linje); border-bottom: 1px solid var(--rc-linje); }
.rc-contact-card > * { margin: 0; }
.rc-contact .rc-contact-card p { color: var(--rc-soelv); }
.rc-contact .rc-contact-card p.rc-contact-name { color: var(--rc-hvid); font-size: 18px; font-weight: 500; margin-top: 6px; }
.rc-contact-card a { color: var(--rc-hvid); text-decoration: none; }
.rc-contact-card a:hover { color: var(--rc-roed-tekst); }

/* Formularer fra plugins (Contact Form 7, WPForms, Gravity Forms m.fl.) */
.rc-contact input:not([type=submit]):not([type=checkbox]):not([type=radio]), .rc-contact select, .rc-contact textarea {
	font: inherit; color: var(--rc-hvid); background: var(--rc-grafit); border: 1px solid var(--rc-linje); border-radius: 2px; padding: 13px 14px; width: 100%;
}
.rc-contact input[type=submit], .rc-contact button[type=submit] { font: 600 12px/1 var(--wp--preset--font-family--tekst); letter-spacing: .14em; text-transform: uppercase; background: var(--rc-roed); color: #fff; border: 0; border-radius: 2px; padding: 14px 22px; cursor: pointer; }

/* ---------- Footer ---------- */
.rc-footer { border-top: 1px solid var(--rc-linje); padding-top: 44px; padding-bottom: 36px; font-size: 13px; color: var(--rc-soelv); }
.rc-footer .rc-footer-cols { gap: 28px !important; }
.rc-footer img { height: 30px; width: auto; }
.rc-footer h4 { font-family: var(--wp--preset--font-family--tekst); font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--rc-hvid); margin: 0 0 10px; }
.rc-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rc-footer a { color: var(--rc-soelv); text-decoration: none; }
.rc-footer a:hover { color: var(--rc-hvid); }
.rc-footer .rc-copy { border-top: 1px solid var(--rc-linje); padding-top: 18px; margin-top: 32px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; font-size: 12px; }
.rc-footer .rc-copy p { margin: 0; }

/* ---------- Almindelige sider og indlæg ---------- */
.rc-page-title { padding-top: clamp(48px, 7vw, 96px); padding-bottom: 24px; }
h1.rc-page-title, .rc-page-title h1 { font-size: var(--wp--preset--font-size--x-large); }
.rc-main .wp-block-post-content a { color: var(--rc-hvid); text-decoration-color: var(--rc-roed); text-underline-offset: 3px; }
.rc-main .wp-block-post-content p { color: var(--rc-soelv); }
.rc-main .wp-block-post-template { gap: 32px; }
.rc-main .wp-block-post-date { color: var(--rc-soelv); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }


/* ---------- Forsidefilm og sidetoppe ---------- */
.rc-hero .wp-block-cover__video-background { object-position: center 40%; }
.rc-hero.is-page.wp-block-cover { padding-top: clamp(96px, 12vw, 150px); padding-bottom: 56px; }
.rc-hero.is-page h1 { font-size: var(--wp--preset--font-size--x-large); max-width: 14em; }
.rc-hero .wp-block-cover__image-background { object-position: center 40%; }
@media (max-width: 600px) { .rc-hero.wp-block-cover { min-height: 560px !important; } .rc-hero.is-page.wp-block-cover { min-height: 440px !important; } }

/* ---------- Billedmosaik ---------- */
.rc-mosaic { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 17vw, 230px); grid-auto-flow: dense; gap: 8px !important; }
.rc-mosaic > * { margin: 0 !important; overflow: hidden; }
.rc-mosaic .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.rc-mosaic .wp-block-image:hover img { transform: scale(1.03); }
.rc-mosaic .is-tall { grid-row: span 2; }
.rc-mosaic .is-wide { grid-column: span 2; }
@media (max-width: 760px) { .rc-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 160px; } }

/* ---------- Kalender 2027 ---------- */
.rc-cal { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px !important; margin-top: 20px !important; }
.rc-cal-dept { background: var(--rc-grafit); border: 1px solid var(--rc-linje); padding: 26px; margin: 0 !important; }
.rc-cal-dept > * { margin-block: 0; }
.rc-cal-dept h3 { margin-top: 8px; }
.rc-cal-dept .rc-day { font-size: 12px; color: var(--rc-soelv); letter-spacing: .06em; margin-top: 6px; }
.rc-cal-list { list-style: none; margin: 20px 0 0 !important; padding: 0; border-top: 1px solid var(--rc-linje); }
.rc-cal-list li { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; padding: 13px 0; border-bottom: 1px solid var(--rc-linje); font-size: 14px; align-items: baseline; }
.rc-cal-list li:last-child { border-bottom: 0; }
.rc-cal-list strong { font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 18px; text-transform: uppercase; color: var(--rc-roed-tekst); letter-spacing: .02em; }
.rc-cal-list em { display: block; font-style: normal; font-size: 12.5px; color: var(--rc-soelv); margin-top: 2px; }
.rc-note { margin-top: 24px !important; font-size: 13px; }
@media (max-width: 860px) { .rc-cal { grid-template-columns: 1fr; } }

/* ---------- Om os ---------- */
.rc-founder .rc-portrait img { aspect-ratio: 4 / 5; object-fit: cover; object-position: 60% center; width: 100%; }
.rc-sign { margin-top: 28px !important; padding-top: 18px; border-top: 1px solid var(--rc-linje); }
.rc-sign > * { margin: 0; }
.rc-about p.rc-contact-name, .rc-sign .rc-contact-name { color: var(--rc-hvid); font-size: 18px; font-weight: 500; margin-top: 6px; }
.rc-pillars { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px !important; background: var(--rc-linje); border: 1px solid var(--rc-linje); }
.rc-pillar { background: var(--rc-sort); padding: 28px 24px; margin: 0 !important; }
.rc-pillar > * { margin-block: 0; }
.rc-pillar .rc-pillar-num { font-family: var(--wp--preset--font-family--display); color: var(--rc-roed-tekst); font-size: 18px; }
.rc-pillar h3 { font-size: 24px; margin-top: 18px; }
.rc-pillar p:last-child { color: var(--rc-soelv); font-size: 14px; margin-top: 10px; }
@media (max-width: 980px) { .rc-pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .rc-pillars { grid-template-columns: 1fr; } }

.rc-details { border-top: 1px solid var(--rc-linje); border-bottom: 1px solid var(--rc-linje); padding: 6px 0; }
.rc-details summary { cursor: pointer; padding: 16px 0; font-size: 12px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; }
.rc-details summary:hover { color: var(--rc-roed-tekst); }
.rc-details .wp-block-post-content { padding-bottom: 24px; color: var(--rc-soelv); font-size: 14px; }

/* Gammelt sideindhold (medlemsliste, eventliste) */
.rc-legacy { color: var(--rc-soelv); }
.rc-legacy h1, .rc-legacy h2 { font-size: clamp(26px, 3vw, 38px); margin-top: 1.4em; }
.rc-legacy h3, .rc-legacy h4 { font-size: 22px; margin-top: 1.4em; }
.rc-legacy a { color: var(--rc-hvid); text-decoration-color: var(--rc-roed); text-underline-offset: 3px; }
.rc-legacy ul { columns: 3 220px; column-gap: 32px; padding-left: 0; list-style: none; }
.rc-legacy ul li { break-inside: avoid; padding: 6px 0; border-bottom: 1px solid var(--rc-linje); font-size: 14px; }
.rc-legacy img { max-width: 100%; height: auto; }
.rc-legacy-section { padding-bottom: 0; }

/* ---------- Benefits ---------- */
.rc-benefit-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px !important; background: var(--rc-linje); border: 1px solid var(--rc-linje); }
.rc-benefit { background: var(--rc-sort); padding: 26px 24px; margin: 0 !important; }
.rc-benefit > * { margin-block: 0; }
.rc-benefit h3 { font-size: 24px; }
.rc-benefit p { color: var(--rc-soelv); font-size: 14px; margin-top: 8px; }
@media (max-width: 860px) { .rc-benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .rc-benefit-grid { grid-template-columns: 1fr; } }
.rc-about .rc-photo img { width: 100%; }
.rc-stats { gap: clamp(24px, 4vw, 56px) !important; }
.rc-stat { border-top: 1px solid var(--rc-linje); padding-top: 22px; }
.rc-stat > * { margin-block: 0; }
.rc-stat .rc-num { font-family: var(--wp--preset--font-family--display); font-size: clamp(48px, 6vw, 80px); line-height: 1; color: var(--rc-hvid); }
.rc-stat p { color: var(--rc-soelv); margin-top: 12px; }
.rc-stat p.rc-big { color: var(--rc-hvid); font-size: 18px; }

/* ---------- Extra-siden ---------- */
.rc-xcard.is-text .rc-xbody { padding-top: 26px; }
.rc-xcard .rc-meta { flex-wrap: wrap; }

/* ---------- Kontakt ---------- */
.rc-contact.is-top { border-top: 0; }
.rc-page-h1 { font-size: var(--wp--preset--font-size--x-large) !important; margin: 14px 0 20px; }
.rc-contact p.rc-big { color: var(--rc-hvid); font-size: 18px; }
.rc-person { display: flex !important; gap: 18px; align-items: center; }
.rc-person .rc-avatar { margin: 0; flex: none; }
.rc-person .rc-avatar img { width: 88px; height: 88px; object-fit: cover; object-position: 60% 20%; border-radius: 50%; display: block; }
.rc-person > .wp-block-group > * { margin: 0; }
.rc-company { font-size: 13px; }

/* Formular */
.rc-form { display: grid; gap: 14px; background: var(--rc-grafit); border: 1px solid var(--rc-linje); padding: clamp(20px, 3vw, 32px); scroll-margin-top: 100px; }
.rc-form label { display: grid; gap: 6px; font-size: 11px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-form input, .rc-form select, .rc-form textarea { font: 300 15px/1.4 var(--wp--preset--font-family--tekst); letter-spacing: 0; text-transform: none; color: var(--rc-hvid); background: var(--rc-sort); border: 1px solid var(--rc-linje); border-radius: 2px; padding: 12px 14px; width: 100%; box-sizing: border-box; }
.rc-form input:focus, .rc-form select:focus, .rc-form textarea:focus { border-color: var(--rc-soelv); outline: none; }
.rc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .rc-form-row { grid-template-columns: 1fr; } }
.rc-form button { justify-self: start; font: 600 12px/1 var(--wp--preset--font-family--tekst); letter-spacing: .14em; text-transform: uppercase; background: var(--rc-roed); color: #fff; border: 0; border-radius: 2px; padding: 15px 24px; cursor: pointer; transition: background .2s; }
.rc-form button:hover { background: #B01215; }
.rc-form .rc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rc-form-note { font-size: 12px; color: var(--rc-graa); margin: 0; }
.rc-form-note a { color: var(--rc-soelv); }
.rc-form-ok, .rc-form-err { display: none; margin: 0; padding: 12px 14px; font-size: 14px; border-left: 2px solid var(--rc-roed); background: var(--rc-sort); }
.rc-form-ok:target, .rc-form-err:target { display: block; }
.rc-contact .rc-form p { max-width: none; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
.rc-terms-section { padding-bottom: clamp(40px, 5vw, 64px); }
.rc-about .rc-steps { margin-top: 28px !important; }

/* ---------- Intro og tilmelding ---------- */
.rc-anchor { scroll-margin-top: 90px; }
.rc-intro-list em a { color: var(--rc-hvid); font-weight: 500; text-decoration: none; border-bottom: 1px solid var(--rc-roed); }
.rc-intro-list em a:hover { color: var(--rc-roed-tekst); }
.rc-intro-list em { margin-top: 6px !important; }
.rc-signup .rc-perks { margin-top: 18px !important; }
.rc-earlybird { margin-top: 28px !important; }
.rc-earlybird .rc-amount small { max-width: 34ch; }
.rc-form-title { font-size: clamp(28px, 3vw, 40px) !important; margin: 10px 0 22px !important; }
.rc-small { font-size: 13px; margin-top: 16px !important; }
.rc-small a { color: var(--rc-hvid); }
.rc-form .rc-check { display: flex; gap: 12px; align-items: flex-start; text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 300; color: var(--rc-soelv); }
.rc-form .rc-check input { width: 18px; height: 18px; flex: none; margin-top: 1px; padding: 0; accent-color: var(--rc-roed); }
.rc-form .rc-check a { color: var(--rc-hvid); }

/* Billedtekster i mosaikken */
.rc-mosaic .wp-block-image { position: relative; }
.rc-mosaic .wp-element-caption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 28px 14px 12px; font-size: 10.5px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--rc-hvid); text-align: left; background: linear-gradient(0deg, rgba(11,11,12,.85), rgba(11,11,12,0)); }
.rc-action .wp-block-image img { filter: saturate(1.05) contrast(1.04); }
.rc-intro-list li { grid-template-columns: 118px minmax(0, 1fr); }

/* ---------- Billedkarrusel ---------- */
.rc-carousel-section { overflow: hidden; --rc-edge: max(var(--rc-pad), calc((100vw - 1240px) / 2)); }
.rc-carousel-wrap { position: relative; }
.rc-carousel { display: flex !important; flex-wrap: nowrap; gap: 8px !important; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--rc-edge); scrollbar-width: none; margin-left: calc(-1 * var(--rc-pad)) !important; margin-right: calc(-1 * var(--rc-pad)) !important; padding: 0 var(--rc-edge); max-width: none !important; width: auto !important; }
.rc-carousel::-webkit-scrollbar { display: none; }
.rc-carousel > .wp-block-image { flex: 0 0 auto; margin: 0 !important; position: relative; overflow: hidden; scroll-snap-align: start; height: clamp(300px, 36vw, 500px); }
.rc-carousel > .wp-block-image img { height: 100%; width: auto; max-width: none; display: block; object-fit: cover; transition: transform .8s ease, filter .4s ease; filter: saturate(.92); }
.rc-carousel > .wp-block-image:hover img { transform: scale(1.03); filter: none; }
.rc-carousel .wp-element-caption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 40px 16px 14px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--rc-hvid); text-align: left; background: linear-gradient(transparent, rgba(0,0,0,.75)); }
.rc-carousel-nav { display: flex; align-items: center; gap: 10px; justify-content: flex-end; margin-top: 18px; }
.rc-carousel-nav button { width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(243, 242, 239, .35); background: transparent; color: var(--rc-hvid); font-size: 20px; line-height: 1; cursor: pointer; display: grid; place-items: center; transition: border-color .2s, background .2s; }
.rc-carousel-nav button:hover { border-color: var(--rc-roed); background: var(--rc-roed); }
.rc-carousel-bar { flex: 1; height: 2px; background: var(--rc-linje); margin-right: 14px; position: relative; overflow: hidden; }
.rc-carousel-bar span { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--rc-roed); transition: width .3s ease; }
@media (max-width: 781px) { .rc-carousel > .wp-block-image { height: 340px; max-width: 86vw; } .rc-carousel > .wp-block-image img { width: 100%; } }

/* ---------- Nyhedsbrev ---------- */
.rc-news-section { background: var(--rc-grafit); border-top: 1px solid var(--rc-linje); padding-top: clamp(40px, 6vw, 72px) !important; padding-bottom: clamp(40px, 6vw, 72px) !important; }
.rc-news-cols { align-items: center !important; gap: clamp(24px, 5vw, 72px) !important; }
.rc-news-section h3 { margin: 8px 0 10px; }
.rc-news-row { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 10px; align-items: end; }
.rc-news-row button { height: 50px; white-space: nowrap; }
.rc-news .rc-form-note { font-size: 12px; }
@media (max-width: 781px) { .rc-news-row { grid-template-columns: 1fr; } }

/* ---------- Summer Party-film ---------- */
.rc-film { margin: 0 !important; background: #000; border: 1px solid var(--rc-linje); }
.rc-film video { display: block; width: 100%; aspect-ratio: 1280 / 536; object-fit: cover; background: #000; }

/* ---------- Gæst ---------- */
.rc-gaest-section { border-top: 1px solid var(--rc-linje); }

/* ---------- AI-chat ---------- */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.rc-chat { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 999; font-family: var(--wp--preset--font-family--tekst); }
.rc-chat-open { display: flex; align-items: center; gap: 10px; background: var(--rc-roed); color: #fff; border: 0; border-radius: 999px; padding: 14px 20px 14px 16px; font: 600 12px/1 var(--wp--preset--font-family--tekst); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
.rc-chat-open::before { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H8l-4 4z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v12H8l-4 4z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat; }
.rc-chat-open:hover { background: #B01215; }
.rc-chat.is-open .rc-chat-open { display: none; }
.rc-chat-panel { width: min(380px, calc(100vw - 32px)); height: min(560px, calc(100vh - 100px)); display: flex; flex-direction: column; background: var(--rc-grafit); border: 1px solid var(--rc-linje); box-shadow: 0 20px 60px rgba(0,0,0,.6); }
.rc-chat-panel[hidden] { display: none; }
.rc-chat-panel header { display: flex; justify-content: space-between; align-items: start; padding: 16px 18px; border-bottom: 1px solid var(--rc-linje); border-top: 3px solid var(--rc-roed); }
.rc-chat-panel header p { margin: 0; }
.rc-chat-title { font-family: var(--wp--preset--font-family--display); text-transform: uppercase; font-size: 22px; color: var(--rc-hvid); }
.rc-chat-sub { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-chat-close { background: none; border: 0; color: var(--rc-soelv); font-size: 28px; line-height: 1; cursor: pointer; padding: 0 4px; }
.rc-chat-log { flex: 1; overflow-y: auto; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.rc-chat-msg { max-width: 86%; padding: 10px 13px; font-size: 14px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--rc-hvid); background: var(--rc-sort); border: 1px solid var(--rc-linje); }
.rc-chat-msg.is-bruger { align-self: flex-end; background: var(--rc-roed); border-color: var(--rc-roed); }
.rc-chat-msg.is-wait { color: var(--rc-soelv); font-style: italic; }
.rc-chat-msg a { color: inherit; text-decoration: underline; }
.rc-chat-form { display: flex; gap: 8px; padding: 12px 14px 8px; border-top: 1px solid var(--rc-linje); }
.rc-chat-form textarea { flex: 1; resize: none; font: 300 15px/1.4 var(--wp--preset--font-family--tekst); color: var(--rc-hvid); background: var(--rc-sort); border: 1px solid var(--rc-linje); padding: 10px 12px; min-height: 44px; max-height: 120px; }
.rc-chat-form textarea:focus { border-color: var(--rc-soelv); outline: none; }
.rc-chat-form button { width: 44px; background: var(--rc-roed); color: #fff; border: 0; font-size: 18px; cursor: pointer; }
.rc-chat-form button:disabled { opacity: .5; cursor: default; }
.rc-chat-note { margin: 0; padding: 0 14px 12px; font-size: 11px; line-height: 1.5; color: var(--rc-soelv); }
.rc-chat-note a { color: var(--rc-hvid); }
@media (max-width: 600px) { .rc-chat-open span { display: none; } .rc-chat-open { padding: 16px; } .rc-chat-panel { height: calc(100vh - 32px); } }

/* ---------- Topmenu (sidens egen WordPress-menu) ---------- */
.rc-header-inner > .rc-menu { margin: 0; flex: 1; display: flex; justify-content: center; }
.rc-menu { position: relative; }
.rc-menu-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px 18px; flex-wrap: wrap; justify-content: center; }
.rc-menu-list > li { position: relative; display: flex; align-items: center; }
.rc-menu-list a { color: var(--rc-soelv); text-decoration: none; font-size: 13px; padding: 8px 0; display: block; white-space: nowrap; }
.rc-menu-list a:hover, .rc-menu-list .current-menu-item > a { color: var(--rc-hvid); }
.rc-menu-list .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: -16px; min-width: 230px; background: var(--rc-grafit); border: 1px solid var(--rc-linje); border-top: 2px solid var(--rc-roed); box-shadow: 0 16px 40px rgba(0,0,0,.5); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s; z-index: 60; }
.rc-menu-list .sub-menu a { padding: 10px 16px; }
.rc-menu-list li:hover > .sub-menu, .rc-menu-list li:focus-within > .sub-menu, .rc-menu-list li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.rc-menu-list .menu-item-has-children > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translateY(-3px) rotate(45deg); }
.rc-sub-toggle { display: none; }
.rc-menu-toggle { display: none; background: none; border: 1px solid var(--rc-linje); width: 44px; height: 44px; cursor: pointer; border-radius: 2px; }
.rc-burger, .rc-burger::before, .rc-burger::after { display: block; width: 18px; height: 1.5px; background: var(--rc-hvid); margin: 0 auto; position: relative; transition: transform .2s, background .2s; }
.rc-burger::before, .rc-burger::after { content: ""; position: absolute; left: 0; }
.rc-burger::before { top: -6px; } .rc-burger::after { top: 6px; }
.rc-menu.is-open .rc-burger { background: transparent; }
.rc-menu.is-open .rc-burger::before { transform: translateY(6px) rotate(45deg); }
.rc-menu.is-open .rc-burger::after { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 1360px) {
	.rc-header-inner > .rc-menu { order: 3; flex: none; }
	.rc-menu-toggle { display: grid; place-items: center; }
	.rc-menu { position: static; }
	.rc-header .wp-block-buttons { margin-left: auto; }
	.rc-menu-panel { display: none; position: absolute; left: 0; right: 0; top: 100%; height: calc(100vh - var(--rc-menu-top, 73px)); height: calc(100dvh - var(--rc-menu-top, 73px)); overflow-y: auto; background: var(--rc-sort); border-top: 1px solid var(--rc-linje); padding: 12px var(--rc-pad) 40px; z-index: 55; }
	.rc-menu.is-open .rc-menu-panel { display: block; }
	.rc-menu-list { flex-direction: column; align-items: stretch; gap: 0; }
	.rc-menu-list > li { flex-wrap: wrap; border-bottom: 1px solid var(--rc-linje); }
	.rc-menu-list > li > a { flex: 1; font-size: 20px; color: var(--rc-hvid); padding: 16px 0; }
	.rc-menu-list .menu-item-has-children > a::after { display: none; }
	.rc-sub-toggle { display: block; width: 44px; height: 44px; background: none; border: 0; cursor: pointer; position: relative; }
	.rc-sub-toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-right: 1.5px solid var(--rc-hvid); border-bottom: 1.5px solid var(--rc-hvid); transform: translate(-50%, -70%) rotate(45deg); transition: transform .2s; }
	.rc-menu-list li.is-open > .rc-sub-toggle::after { transform: translate(-50%, -30%) rotate(-135deg); }
	.rc-menu-list .sub-menu { position: static; display: none; width: 100%; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; background: none; padding: 0 0 12px 12px; min-width: 0; }
	.rc-menu-list li.is-open > .sub-menu { display: block; }
	.rc-menu-list .sub-menu a { font-size: 16px; padding: 10px 0; }
	html.rc-menu-lock { overflow: hidden; }
}
html.rc-menu-lock .rc-chat { display: none; }

/* ---------- Kalender i nyt design (inc/kalender.php) ---------- */
.rc-events-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px 32px; margin-bottom: 32px; }
.rc-events-head h2 { margin: 10px 0 0; }
.rc-events-filter, .rc-members-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.rc-events-filter button, .rc-members-tabs button { font: 500 12px/1 var(--wp--preset--font-family--tekst); letter-spacing: .12em; text-transform: uppercase; color: var(--rc-soelv); background: transparent; border: 1px solid var(--rc-linje); border-radius: 999px; padding: 11px 16px; cursor: pointer; transition: border-color .2s, color .2s, background .2s; }
.rc-events-filter button:hover, .rc-members-tabs button:hover { color: var(--rc-hvid); border-color: rgba(243, 242, 239, .5); }
.rc-events-filter button[aria-pressed=true], .rc-members-tabs button[aria-selected=true] { background: var(--rc-roed); border-color: var(--rc-roed); color: #fff; }
.rc-ev-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 28px 24px; }
.rc-ev[hidden] { display: none; }
.rc-ev a { display: flex; flex-direction: column; height: 100%; color: var(--rc-hvid); text-decoration: none; }
.rc-ev-img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--rc-grafit); }
.rc-ev-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.rc-ev a:hover .rc-ev-img img { transform: scale(1.04); }
.rc-ev-noimg { display: grid; place-items: center; height: 100%; font-family: var(--wp--preset--font-family--display); font-size: 48px; color: var(--rc-linje); }
.rc-ev-badge { position: absolute; left: 12px; top: 12px; font: 600 10px/1 var(--wp--preset--font-family--tekst); letter-spacing: .16em; text-transform: uppercase; background: rgba(11, 11, 12, .8); color: var(--rc-hvid); padding: 8px 10px; }
.rc-ev-badge.is-red { background: var(--rc-roed); color: #fff; }
.rc-ev-body { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; }
.rc-ev-date { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--rc-roed-tekst); }
.rc-ev-title { font-family: var(--wp--preset--font-family--display); font-size: 22px; line-height: 1.12; text-transform: uppercase; }
.rc-ev a:hover .rc-ev-title { color: var(--rc-roed-tekst); }
.rc-ev-meta { font-size: 13px; color: var(--rc-soelv); }
.rc-ev.is-past { opacity: .72; }
.rc-ev.is-past:hover { opacity: 1; }
.rc-ev-past-title { margin: 72px 0 28px; font-size: 22px; }
.rc-ev-more { margin-top: 32px; font: 600 12px/1 var(--wp--preset--font-family--tekst); letter-spacing: .14em; text-transform: uppercase; color: var(--rc-hvid); background: transparent; border: 1px solid rgba(243, 242, 239, .35); border-radius: 2px; padding: 14px 22px; cursor: pointer; }
.rc-ev-more:hover { border-color: var(--rc-hvid); }
.rc-ev-more[hidden], .rc-ev-empty[hidden] { display: none; }

/* Eventside */
.rc-event .rc-page-title .rc-eyebrow a { color: inherit; text-decoration: none; }
.rc-event .rc-page-title .rc-eyebrow a::before { content: "\2190\00a0"; }
.rc-ev-info { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-ev-info .is-red { color: var(--rc-roed-tekst); }
.rc-event .rc-event-image img { aspect-ratio: 21 / 9; object-fit: cover; width: 100%; }
.rc-ev-signup { margin: 40px 0 0; padding: 28px; background: var(--rc-grafit); border: 1px solid var(--rc-linje); }
.rc-ev-signup .bottionrole { margin: 0; }
.rc-ev-signup a, .rc-ev-signup button { font-family: var(--wp--preset--font-family--tekst) !important; }

/* ---------- Medlemsliste (inc/medlemmer.php) ---------- */
.rc-members-head { margin-bottom: 28px; }
.rc-members-head h2 { margin: 10px 0 8px; }
.rc-members-tabs { margin-bottom: 36px; }
.rc-members-tabs button { display: inline-flex; align-items: center; gap: 10px; }
.rc-members-tabs button b { font-weight: 600; opacity: .7; }
.rc-members:not(.is-tabs) .rc-members-tabs { display: none; }
.rc-members-panel[hidden] { display: none; }
.rc-members-panel + .rc-members-panel { margin-top: 48px; }
.rc-members.is-tabs .rc-members-panel { margin-top: 0; }
.rc-members-panel h3 { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; font-size: clamp(24px, 2.6vw, 32px); margin: 0 0 18px; }
.rc-members-panel h3 span { font: 400 12px/1 var(--wp--preset--font-family--tekst); letter-spacing: .14em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-members-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.rc-members-list li > a, .rc-members-list li > div { display: flex; flex-direction: column; height: 100%; color: var(--rc-hvid); text-decoration: none; background: var(--rc-grafit); border: 1px solid var(--rc-linje); transition: border-color .2s, transform .2s; }
.rc-members-list li > a:hover { border-color: var(--rc-roed); transform: translateY(-2px); }
.rc-member-logo { display: grid; place-items: center; aspect-ratio: 1 / 1; background: #fff; padding: 14px; overflow: hidden; }
.rc-member-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.rc-member-logo.is-text { background: var(--rc-sort); font-family: var(--wp--preset--font-family--display); font-size: 34px; letter-spacing: .04em; color: var(--rc-linje); }
.rc-member-name { display: block; padding: 12px 14px 14px; font-size: 14px; line-height: 1.3; }
.rc-members-list a .rc-member-name::after { content: "\2197"; margin-left: 6px; font-size: 11px; color: var(--rc-roed-tekst); }
.rc-members-list a:hover .rc-member-name { color: var(--rc-roed-tekst); }
.rc-members-list div .rc-member-name { color: var(--rc-soelv); }
@media (max-width: 600px) { .rc-members-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .rc-member-logo { padding: 10px; } }

/* ---------- Nyhedsbreve fra Klaviyo (inc/nyhedsbreve.php) ---------- */
.rc-nb { margin-bottom: clamp(56px, 8vw, 96px); }
.rc-nb-signup { font-size: 13px; color: var(--rc-hvid); text-decoration: underline; text-decoration-color: var(--rc-roed); text-underline-offset: 4px; }
.rc-nb-grid .rc-ev-img img { object-position: top center; }
.rc-nb-grid .rc-ev-title { font-size: 20px; }
.rc-nb-grid .rc-ev-meta { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rc-nb-view { max-width: 760px; margin: 0 auto; }
.rc-nb-view .rc-eyebrow a { color: #a20c17; text-decoration: none; }
.rc-nb-view .rc-eyebrow a::before { content: "\2190\00a0"; }
.rc-nb-view h1 { font-size: clamp(30px, 4vw, 48px); line-height: 1.05; margin: 14px 0 10px; color: #0b0b0c; }
.rc-nb-date { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: #6b6b70; margin: 0 0 28px; }
.rc-nb-frame { display: block; width: 100%; min-height: 400px; border: 0; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06), 0 18px 40px -24px rgba(0,0,0,.35); }

/* Tal fra den gamle backend (fx medlemmer pr. afdeling) */
.rc-counter { display: inline-flex; flex-direction: column; gap: 8px; margin: 12px 0; }
.rc-counter-num { font-family: var(--wp--preset--font-family--display); font-size: clamp(44px, 5vw, 68px); line-height: 1; color: var(--rc-hvid); font-variant-numeric: tabular-nums; }
.rc-counter-label { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--rc-soelv); }

/* ---------- Sider fra det gamle tema (Dashboard, profil, medarbejdere m.fl.) ---------- */
body.rc-legacy-template { background: var(--rc-sort) !important; color: var(--rc-hvid); font-family: var(--wp--preset--font-family--tekst); }
.rc-legacy-page { display: flow-root; background: #f4f3f0; color: #16161a; padding: clamp(32px, 5vw, 64px) var(--rc-pad) clamp(48px, 7vw, 96px); min-height: 50vh; }
.rc-legacy-page a { color: #a20c17; }
.rc-legacy-page h1, .rc-legacy-page h2, .rc-legacy-page h3, .rc-legacy-page .page_title { color: #0b0b0c; }
.rc-legacy-page .container { max-width: 1240px; }
.rc-legacy-page input, .rc-legacy-page select, .rc-legacy-page textarea { color: #16161a; }
body.rc-legacy-template .rc-header a, body.rc-legacy-template .rc-footer a { text-decoration: none; }
body.rc-legacy-template .rc-footer p, body.rc-legacy-template .rc-footer ul { margin-top: 0; }
.rc-xcard .rc-xinfo { margin-top: 4px !important; }
.rc-xcard .rc-xinfo .wp-block-button__link { width: 100%; text-align: center; }
.rc-xcard .rc-xinfo .wp-block-button { width: 100%; }

/* Rejser (indholdstypen race_club_travel) */
.rc-rejse-info { margin-top: 48px; padding: clamp(24px, 4vw, 40px); background: var(--rc-grafit); border: 1px solid var(--rc-linje); }
.rc-rejse-info h2 { font-size: clamp(26px, 3vw, 36px); margin: 8px 0 10px; }
.rc-xcard .rc-xmore { margin-top: 4px !important; }
.rc-xcard .rc-xmore .wp-block-button, .rc-xcard .rc-xmore .wp-block-button__link { width: 100%; text-align: center; }
.rc-xcard h3 a { color: inherit; text-decoration: none; }
.rc-xcard h3 a:hover { color: var(--rc-roed-tekst); }
.rc-xcard > .wp-block-image a { display: block; overflow: hidden; }
.rc-xcard > .wp-block-image a img { transition: transform .5s ease; }
.rc-xcard > .wp-block-image a:hover img { transform: scale(1.03); }
.rc-rejse-top { margin-top: 8px; }
.rc-rejse-facts { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); border-top: 1px solid var(--rc-linje); border-bottom: 1px solid var(--rc-linje); }
.rc-rejse-facts li { padding: 16px 20px 16px 0; display: flex; flex-direction: column; gap: 6px; }
.rc-rejse-facts span { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-rejse-facts b { font-weight: 500; font-size: 16px; color: var(--rc-hvid); }
.rc-rejse-image { margin: 0; }
.rc-rejse-image img { display: block; width: 100%; aspect-ratio: 21 / 9; object-fit: cover; }
.rc-rejse-body { margin-top: clamp(32px, 4vw, 48px); font-size: 17px; line-height: 1.65; }
.rc-rejse-body h2 { font-size: clamp(24px, 2.6vw, 32px); margin: 1.6em 0 .5em; }
.rc-rejse-body ul { padding-left: 1.2em; }
.rc-rejse-body .rc-program { list-style: none; padding: 0; border-top: 1px solid var(--rc-linje); }
.rc-rejse-body .rc-program li { display: grid; grid-template-columns: minmax(90px, 170px) 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--rc-linje); }
.rc-rejse-body .rc-program strong { color: var(--rc-roed-tekst); font-weight: 500; }
@media (max-width: 600px) { .rc-rejse-body .rc-program li { grid-template-columns: 1fr; gap: 4px; } }
.rc-back { margin-top: 40px; }
.rc-back a { color: var(--rc-soelv); text-decoration: none; font-size: 14px; }
.rc-back a:hover { color: var(--rc-hvid); }

/* Medlemsbetingelser */
.rc-terms-text { color: var(--rc-soelv); font-size: 15px; line-height: 1.65; }
.rc-terms-text h3 { color: var(--rc-hvid); font-size: 20px; margin: 1.8em 0 .5em; }
.rc-terms-text ul { padding-left: 1.2em; margin: .4em 0 1em; }
.rc-terms-page .rc-terms-text { max-width: 760px; }
.rc-details .rc-terms-text { padding-bottom: 24px; font-size: 14px; }

/* YouTube */
.rc-yt-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 28px 24px; }
.rc-yt-grid li { display: flex; flex-direction: column; gap: 8px; }
.rc-yt-play { position: relative; display: block; width: 100%; padding: 0; border: 0; background: #000; cursor: pointer; aspect-ratio: 16 / 9; overflow: hidden; }
.rc-yt-play img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .85; transition: opacity .3s, transform .5s; }
.rc-yt-play:hover img, .rc-yt-play:focus-visible img { opacity: 1; transform: scale(1.03); }
.rc-yt-icon { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 50%; background: var(--rc-roed); }
.rc-yt-icon::after { content: ""; position: absolute; left: 26px; top: 20px; border-style: solid; border-width: 12px 0 12px 19px; border-color: transparent transparent transparent #fff; }
.rc-yt-frame { width: 100%; aspect-ratio: 16 / 9; border: 0; display: block; }
.rc-yt-title { color: var(--rc-hvid); text-decoration: none; font-weight: 500; line-height: 1.35; }
.rc-yt-title:hover { color: var(--rc-roed-tekst); }

/* Facebook */
.rc-fb-embed { display: flex; justify-content: center; background: var(--rc-grafit); border: 1px solid var(--rc-linje); padding: clamp(12px, 3vw, 32px); }
.rc-fb-embed iframe { max-width: 100%; background: #fff; }

/* Appen */
.rc-app { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 48px; padding: clamp(24px, 4vw, 44px); background: var(--rc-grafit); border: 1px solid var(--rc-linje); }
.rc-app h2 { margin: 8px 0 8px; font-size: clamp(26px, 3vw, 36px); }
.rc-app .rc-muted { margin: 0; max-width: 520px; }
.rc-stores { display: flex; flex-wrap: wrap; gap: 12px; }
.rc-store { display: inline-flex; align-items: center; gap: 10px; padding: 10px 18px 10px 14px; border: 1px solid rgba(243, 242, 239, .35); border-radius: 10px; color: var(--rc-hvid); background: #000; text-decoration: none; min-width: 170px; transition: border-color .2s; }
.rc-store:hover { border-color: var(--rc-hvid); }
.rc-store svg { width: 26px; height: 26px; flex: none; }
.rc-store span { display: flex; flex-direction: column; font-size: 18px; font-weight: 500; line-height: 1.1; }
.rc-store small { font-size: 11px; font-weight: 400; letter-spacing: .04em; color: var(--rc-soelv); }
.rc-app-section:not(:has(.rc-app)) { display: none; }
.rc-legacy.rc-rejse-body ul { columns: auto; padding-left: 1.2em; list-style: disc; }
.rc-legacy.rc-rejse-body ul li { border: 0; padding: 2px 0; font-size: inherit; }
.rc-legacy.rc-rejse-body ul.rc-program { list-style: none; padding-left: 0; border-top: 1px solid var(--rc-linje); }
.rc-legacy.rc-rejse-body ul.rc-program li { padding: 12px 0; border-bottom: 1px solid var(--rc-linje); font-size: 16px; }

/* Stemningsbånd */
.rc-band.wp-block-cover { min-height: clamp(340px, 42vw, 560px) !important; padding: 56px var(--rc-pad); align-items: flex-end; }
.rc-band .wp-block-cover__background { background: linear-gradient(0deg, rgba(11,11,12,.88) 0%, rgba(11,11,12,.2) 55%, rgba(11,11,12,0) 100%) !important; opacity: 1 !important; }
.rc-band .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); margin: 0 auto; }
.rc-band .rc-band-text { font-family: var(--wp--preset--font-family--display); font-size: clamp(28px, 4.2vw, 54px); line-height: 1.05; text-transform: uppercase; max-width: 20ch; margin: 10px 0 0; }
.rc-mosaic.rc-strip { grid-auto-rows: clamp(150px, 15vw, 210px); margin-top: 8px !important; }
.rc-film.rc-film-169 video { aspect-ratio: 16 / 9; object-fit: contain; }
.rc-film-block:not(:has(.rc-film)) { display: none; }
.rc-yt-playlist { max-width: 960px; background: #000; border: 1px solid var(--rc-linje); }

/* To knapper i toppen */
.rc-header .rc-btn-sm .wp-block-button__link { white-space: nowrap; }
@media (min-width: 1361px) and (max-width: 1480px) { .rc-header-inner { gap: 16px; } .rc-header .rc-btn-sm .wp-block-button__link { padding-left: 14px; padding-right: 14px; } }

/* Nedtælling til Early Bird */
.rc-countdown { margin: 18px 0 6px; }
.rc-countdown-label { font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--rc-soelv); margin: 0 0 10px; }
.rc-countdown-units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 360px; }
.rc-countdown-units span { display: flex; flex-direction: column; align-items: center; padding: 12px 4px 10px; background: rgba(0,0,0,.35); border: 1px solid var(--rc-linje); }
.rc-countdown-units b { font-family: var(--wp--preset--font-family--display); font-size: clamp(28px, 3.4vw, 40px); line-height: 1; color: var(--rc-hvid); font-variant-numeric: tabular-nums; }
.rc-countdown-units small { margin-top: 6px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--rc-soelv); }
.rc-countdown.is-done .rc-countdown-units { display: none; }

/* WhatsApp-knapper fra plugins vises ikke (ønsket fra Race Club). Plugin'et kan også bare slås fra. */
.joinchat, #joinchat, .ht-ctc, #ht-ctc-chat, .ht_ctc_chat_greetings_box, .qlwapp, #qlwapp, .wa__btn_popup, .wa__popup_chat_box, #wa, .nta-wa, .nta_wa_button, .wws-popup-container, .wws--bottom-right, .wws--bottom-left, .wa-chat-box, .wa-widget-send-button, .ccw_plugin, .ccw-floating, #whatsapp-chat, .whatsapp-chat, .floating-wpp, .wpp-btn, .float-whatsapp, .whatsapp-float, [class*="getbutton"], #gb-widget-1, .eapps-whatsapp-chat, body > a[href*="wa.me/"], body > a[href*="api.whatsapp.com"], body > div > a[href*="wa.me/"]:only-child, body > div > a[href*="api.whatsapp.com"]:only-child { display: none !important; }
.rc-fb-embed { flex-direction: column; align-items: center; gap: 14px; } .rc-fb-embed p { margin: 0; text-align: center; }

/* Instagram-feed (Trustindex) */
.rc-ig-section:not(:has(.rc-ig)) { display: none; }
.rc-ig-feed { min-height: 120px; }
.rc-ig-feed a { color: inherit; }

/* Sociale ikoner (Ultimate Social Media Icons) i bunden */
.rc-footer .rc-social { margin-top: 18px; }
.rc-footer .rc-social .sfsi_wicons,
.rc-footer .rc-social .sfsiplus_norm_row { float: none !important; }
.rc-footer .rc-social > div { display: flex; flex-wrap: wrap; gap: 8px; width: auto !important; }
.rc-footer .rc-social img { max-width: 36px; height: auto; }

/* Klaviyo-formular i nyhedsbrevsboksen */
.rc-klaviyo:empty { display: none; }
.rc-klaviyo:not(:empty) + .rc-news-kl { display: none; }
.rc-klaviyo form, .rc-klaviyo [data-testid="klaviyo-form"] { background: transparent !important; }

.rc-news-kode { display: block; margin-top: .4em; font-size: .8em; opacity: .7; }
