:root {
    --rrkc-white: #FFFFFF;
    --rrkc-off-white: #FBF8F4;
    --rrkc-charcoal: #1F1F1D;
    --rrkc-text: #332A25;
    --rrkc-brown: #4A2F22;
    --rrkc-brown-dark: #2F1F18;
    --rrkc-bronze: #7A4A2C;
    --rrkc-tan: #A66D3F;
    --rrkc-soft: #F4EEE8;
    --rrkc-border: rgba(74,47,34,.18);
    --rrkc-shadow: 0 18px 48px rgba(47,31,24,.10);
    --rrkc-radius: 22px;
}

/* Foundation and theme isolation */
.rrkc-wrap,
.rrkc-guide-content,
.rrkc-related,
.rrkc-service-cta,
.rrkc-card,
.rrkc-feature,
.rrkc-question-box,
.rrkc-search,
.rrkc-wrap *,
.rrkc-guide-content *,
.rrkc-related *,
.rrkc-service-cta * {
    box-sizing: border-box;
}

body.single-rr_paint_guide,
body.single-rr_floor_guide,
body.single-rr_paint_guide .site,
body.single-rr_floor_guide .site,
body.single-rr_paint_guide .site-main,
body.single-rr_floor_guide .site-main,
body.single-rr_paint_guide .content-area,
body.single-rr_floor_guide .content-area,
body.single-rr_paint_guide article,
body.single-rr_floor_guide article,
body.single-rr_paint_guide .entry-content,
body.single-rr_floor_guide .entry-content {
    background: var(--rrkc-white) !important;
    color: var(--rrkc-text) !important;
}

.rrkc-wrap,
.rrkc-guide-content,
.rrkc-related {
    color: var(--rrkc-text) !important;
    background: var(--rrkc-white) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 18px;
    line-height: 1.72;
}

.rrkc-wrap {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 42px 20px 64px;
}

.rrkc-guide-content {
    width: 100%;
    padding: 0;
}

.rrkc-wrap h1,
.rrkc-wrap h2,
.rrkc-wrap h3,
.rrkc-guide-content h1,
.rrkc-guide-content h2,
.rrkc-guide-content h3,
.rrkc-related h2,
.rrkc-related h3,
.rrkc-service-cta h2 {
    margin-top: 0;
    color: var(--rrkc-brown-dark) !important;
    font-family: "Arial Black", Montserrat, Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.rrkc-wrap p,
.rrkc-guide-content p,
.rrkc-related p,
.rrkc-card p,
.rrkc-feature p {
    color: var(--rrkc-text) !important;
}

.rrkc-wrap a,
.rrkc-guide-content a,
.rrkc-related a {
    color: var(--rrkc-brown) !important;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.rrkc-wrap a:hover,
.rrkc-guide-content a:hover,
.rrkc-related a:hover {
    color: var(--rrkc-bronze) !important;
}

/* Knowledge Center and directory hero */
.rrkc-hero {
    position: relative;
    padding: 34px 0 30px;
    border: 0;
    background: transparent !important;
}

.rrkc-hero::before {
    content: "";
    display: block;
    width: 46px;
    height: 3px;
    margin-bottom: 14px;
    background: var(--rrkc-bronze);
}

.rrkc-eyebrow {
    color: var(--rrkc-bronze) !important;
    font-family: Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.rrkc-hero h1 {
    max-width: 900px;
    margin: 14px 0 14px;
    color: var(--rrkc-brown-dark) !important;
    font-size: clamp(42px, 6vw, 68px);
}

.rrkc-hero p {
    max-width: 780px;
    margin: 0;
    color: var(--rrkc-text) !important;
    font-size: 19px;
    line-height: 1.65;
}

.rrkc-kc-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
    margin: 28px 0 48px;
}

.rrkc-feature {
    display: block;
    min-height: 230px;
    padding: 28px;
    border: 1px solid var(--rrkc-border);
    border-radius: var(--rrkc-radius);
    color: var(--rrkc-text) !important;
    background: var(--rrkc-white) !important;
    box-shadow: 0 12px 32px rgba(47,31,24,.07);
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.rrkc-feature:hover {
    border-color: rgba(122,74,44,.48);
    background: var(--rrkc-white) !important;
    box-shadow: var(--rrkc-shadow);
    transform: translateY(-4px);
}

.rrkc-feature .dashicons {
    width: 38px;
    height: 38px;
    color: var(--rrkc-brown) !important;
    font-size: 38px;
}

.rrkc-feature h2 {
    margin: 18px 0 10px;
    color: var(--rrkc-brown-dark) !important;
    font-size: 26px;
}

.rrkc-feature p {
    color: var(--rrkc-text) !important;
    line-height: 1.58;
}

.rrkc-paint,
.rrkc-floor,
.rrkc-cta {
    border-top: 4px solid var(--rrkc-bronze);
}

.rrkc-section { margin: 48px 0; }
.rrkc-section > h2,
.rrkc-question-box h2 {
    margin-bottom: 22px;
    color: var(--rrkc-brown-dark) !important;
    font-size: 36px;
}

/* Cards */
.rrkc-card-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px;
}

.rrkc-card {
    display: flex;
    min-height: 285px;
    overflow: hidden;
    border: 1px solid var(--rrkc-border);
    border-radius: 20px;
    background: var(--rrkc-white) !important;
    box-shadow: 0 14px 38px rgba(47,31,24,.08) !important;
}

.rrkc-card-body {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 26px;
    background: transparent !important;
}

.rrkc-card-cat {
    color: var(--rrkc-bronze) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.rrkc-card h2,
.rrkc-card h3 {
    margin: 15px 0 12px;
    color: var(--rrkc-brown-dark) !important;
    font-size: 24px;
    line-height: 1.18;
}

.rrkc-card h2 a,
.rrkc-card h3 a {
    color: var(--rrkc-brown-dark) !important;
    text-decoration: none !important;
}

.rrkc-card h2 a:hover,
.rrkc-card h3 a:hover { color: var(--rrkc-bronze) !important; }
.rrkc-card p { color: var(--rrkc-text) !important; line-height: 1.62; }
.rrkc-link { margin-top: auto; color: var(--rrkc-brown) !important; font-weight: 900; }

/* Search and navigation */
.rrkc-search {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 15px;
    align-items: end;
    padding: 22px;
    border: 1px solid var(--rrkc-border);
    border-radius: 22px;
    background: var(--rrkc-off-white) !important;
}

.rrkc-search label {
    display: block;
    margin-bottom: 7px;
    color: var(--rrkc-brown-dark) !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rrkc-search input,
.rrkc-search select {
    width: 100%;
    min-height: 50px;
    padding: 0 14px;
    border: 1px solid var(--rrkc-border) !important;
    border-radius: 13px;
    color: var(--rrkc-text) !important;
    background: var(--rrkc-white) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 17px;
}

.rrkc-search input:focus,
.rrkc-search select:focus {
    border-color: var(--rrkc-bronze) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(122,74,44,.14) !important;
}

.rrkc-search-actions {
    display: flex;
    grid-column: 1 / -1;
    gap: 14px;
    align-items: center;
}

.rrkc-search button {
    min-height: 50px;
    padding: 12px 24px;
    border: 1px solid var(--rrkc-brown-dark) !important;
    border-radius: 999px;
    color: var(--rrkc-white) !important;
    background: var(--rrkc-brown-dark) !important;
    font-family: "Arial Black", Montserrat, Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: none !important;
}

.rrkc-search button:hover {
    color: var(--rrkc-white) !important;
    background: var(--rrkc-bronze) !important;
    border-color: var(--rrkc-bronze) !important;
}

.rrkc-az {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 22px 0;
}

.rrkc-az a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--rrkc-border);
    border-radius: 9px;
    color: var(--rrkc-brown-dark) !important;
    background: var(--rrkc-white) !important;
    text-decoration: none !important;
    font-weight: 700;
}

.rrkc-az a:hover,
.rrkc-az a.active {
    color: var(--rrkc-white) !important;
    background: var(--rrkc-brown-dark) !important;
    border-color: var(--rrkc-brown-dark);
}

.rrkc-count { color: var(--rrkc-brown-dark) !important; font-size: 18px; font-weight: 900; }

.rrkc-question-box {
    padding: 28px;
    border: 1px solid var(--rrkc-border);
    border-radius: 22px;
    background: var(--rrkc-off-white) !important;
}

.rrkc-question-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 10px;
}

.rrkc-question-grid a {
    padding: 13px 15px;
    border: 1px solid var(--rrkc-border);
    border-radius: 11px;
    color: var(--rrkc-brown-dark) !important;
    background: var(--rrkc-white) !important;
    font-weight: 700;
    text-decoration: none !important;
}

.rrkc-question-grid a:hover {
    color: var(--rrkc-white) !important;
    background: var(--rrkc-brown) !important;
}

/* Individual guide content */
.rrkc-guide-content section {
    margin: 32px 0;
}

.rrkc-guide-content section:not(.rrkc-definition):not(.rrkc-important) {
    padding: 0;
    color: var(--rrkc-text) !important;
    background: transparent !important;
}

.rrkc-guide-content section > h2 {
    margin: 0 0 12px;
    color: var(--rrkc-brown-dark) !important;
    font-size: 35px;
}

.rrkc-guide-content section > p {
    margin-bottom: 0;
    color: var(--rrkc-text) !important;
}

.rrkc-definition {
    padding: 28px 30px;
    border-left: 5px solid var(--rrkc-bronze);
    border-radius: 0 18px 18px 0;
    color: var(--rrkc-text) !important;
    background: var(--rrkc-off-white) !important;
    box-shadow: 0 14px 34px rgba(47,31,24,.06);
}

.rrkc-definition h2 { color: var(--rrkc-brown-dark) !important; }
.rrkc-definition p { color: var(--rrkc-text) !important; }

.rrkc-important {
    padding: 28px 30px;
    border: 2px solid var(--rrkc-brown) !important;
    border-radius: 18px;
    color: var(--rrkc-text) !important;
    background: var(--rrkc-white) !important;
}

.rrkc-important > span {
    display: inline-block;
    padding: 6px 13px;
    border-radius: 999px;
    color: var(--rrkc-white) !important;
    background: var(--rrkc-brown) !important;
    font-family: Arial, sans-serif !important;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.rrkc-important h2 { margin-top: 17px; color: var(--rrkc-brown-dark) !important; }
.rrkc-important p { color: var(--rrkc-text) !important; }

/* Related resources */
.rrkc-related {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid var(--rrkc-border);
    color: var(--rrkc-text) !important;
    background: transparent !important;
}

.rrkc-related > h2 {
    margin-bottom: 22px;
    color: var(--rrkc-brown-dark) !important;
    font-size: 35px;
}

.rrkc-related-columns {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 18px;
}

.rrkc-related-columns > div {
    padding: 22px;
    border: 1px solid var(--rrkc-border);
    border-radius: 18px;
    color: var(--rrkc-text) !important;
    background: var(--rrkc-white) !important;
    box-shadow: 0 12px 32px rgba(47,31,24,.06);
}

.rrkc-related-columns h3 {
    margin: 0 0 15px;
    color: var(--rrkc-brown-dark) !important;
    font-size: 24px;
}

.rrkc-related-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rrkc-related-list a,
.rrkc-related-list span {
    display: inline-block;
    padding: 8px 11px;
    border: 1px solid var(--rrkc-border);
    border-radius: 9px;
    color: var(--rrkc-brown) !important;
    background: var(--rrkc-off-white) !important;
    text-decoration: none !important;
}

.rrkc-related-list a:hover {
    color: var(--rrkc-white) !important;
    background: var(--rrkc-brown) !important;
}

/* Service CTA */
.rrkc-service-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 38px 0;
    padding: 30px 32px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 22px;
    color: var(--rrkc-white) !important;
    background: var(--rrkc-brown-dark) !important;
    box-shadow: var(--rrkc-shadow);
}

.rrkc-service-cta span,
.rrkc-service-cta p { color: #F4EEE8 !important; }
.rrkc-service-cta h2 { margin: 6px 0; color: var(--rrkc-white) !important; }

.rrkc-service-cta a,
.rrkc-service-cta a:link,
.rrkc-service-cta a:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 13px 22px;
    border: 1px solid var(--rrkc-tan) !important;
    border-radius: 999px;
    color: var(--rrkc-white) !important;
    background: var(--rrkc-bronze) !important;
    font-family: "Arial Black", Montserrat, Arial, sans-serif !important;
    font-size: 13px;
    font-weight: 900;
    text-decoration: none !important;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: none !important;
}

.rrkc-service-cta a:hover,
.rrkc-service-cta a:focus {
    color: var(--rrkc-brown-dark) !important;
    background: var(--rrkc-white) !important;
    border-color: var(--rrkc-white) !important;
}

/* Admin */
.rrkc-admin-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 20px;
    max-width: 1200px;
}
.rrkc-admin-card {
    padding: 24px;
    border: 1px solid #dcdcde;
    border-radius: 10px;
    background: #fff;
}
.rrkc-admin-card h2 { margin-top: 0; }

@media (max-width: 900px) {
    .rrkc-kc-grid,
    .rrkc-card-grid,
    .rrkc-related-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .rrkc-wrap,
    .rrkc-guide-content { font-size: 17px; }
    .rrkc-wrap { padding: 28px 14px 48px; }
    .rrkc-hero h1 { font-size: 38px; }
    .rrkc-kc-grid,
    .rrkc-card-grid,
    .rrkc-related-columns,
    .rrkc-question-grid,
    .rrkc-admin-grid { grid-template-columns: 1fr; }
    .rrkc-search { grid-template-columns: 1fr; }
    .rrkc-service-cta { align-items: flex-start; flex-direction: column; }
    .rrkc-service-cta a { width: 100%; }
}
