/* ==========================================================================
   Redefined Kitchens & Bath — Components. All .rd-* component styles.
   References tokens only. Mobile-first. Luxury: charcoal + antique gold + cream.
   ========================================================================== */

/* ---- Icons ---- */
.rd-icon { width: 1.25em; height: 1.25em; flex: 0 0 auto; }

/* ---- Buttons (refined uppercase tracking = luxury) ---- */
.rd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  font-family: var(--rd-font-body); font-weight: var(--rd-fw-semi);
  font-size: .82rem; line-height: 1; text-align: center;
  text-transform: uppercase; letter-spacing: .12em;
  padding: 1.05em 1.6em; border-radius: var(--rd-radius-sm);
  border: 1px solid transparent; cursor: pointer;
  transition: transform var(--rd-dur) var(--rd-ease), background var(--rd-dur) var(--rd-ease), box-shadow var(--rd-dur) var(--rd-ease), color var(--rd-dur) var(--rd-ease), border-color var(--rd-dur) var(--rd-ease);
}
.rd-btn:hover { transform: translateY(-1px); }
.rd-btn .rd-icon { width: 1.25em; height: 1.25em; }
.rd-btn--lg { font-size: .88rem; padding: 1.2em 2em; }
.rd-btn--block { width: 100%; }
.rd-btn--gold { background: var(--rd-gold); color: var(--rd-ink); }
.rd-btn--gold:hover { background: var(--rd-gold-dark); color: var(--rd-ink); }
.rd-btn--dark { background: var(--rd-ink); color: var(--rd-on-dark); }
.rd-btn--dark:hover { background: var(--rd-char-600); color: #fff; }
.rd-btn--outline { background: transparent; color: var(--rd-ink); border-color: var(--rd-ink); }
.rd-btn--outline:hover { background: var(--rd-ink); color: #fff; }
.rd-btn--outline-light { background: rgba(255,255,255,.04); color: #fff; border-color: rgba(255,255,255,.55); }
.rd-btn--outline-light:hover { background: #fff; color: var(--rd-ink); border-color: #fff; }
.rd-cta-pair { display: flex; flex-wrap: wrap; gap: var(--rd-3); }
.rd-cta-pair .rd-btn { flex: 1 1 auto; min-width: 230px; }

/* ---- Heading group ---- */
.rd-hgroup { max-width: 780px; margin-bottom: var(--rd-6); }
.rd-hgroup--center { margin-inline: auto; text-align: center; }
.rd-hgroup__title { margin: 0 0 .35em; }
.rd-hgroup__lead { font-size: 1.18rem; color: var(--rd-taupe); margin: 0; line-height: 1.6; }
.rd-section--dark .rd-hgroup__lead { color: var(--rd-on-dark-mut); }

/* ---- Checklist ---- */
.rd-checklist { list-style: none; margin: 0 0 var(--rd-5); padding: 0; display: grid; gap: var(--rd-3); }
.rd-checklist li { display: flex; align-items: flex-start; gap: .7em; }
.rd-checklist .rd-icon { color: var(--rd-gold-dark); margin-top: .15em; }

/* ==========================================================================
   Sticky mobile conversion bar
   ========================================================================== */
.rd-cbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
  display: grid; grid-template-columns: 1fr 1fr 1.5fr;
  background: var(--rd-black); box-shadow: 0 -4px 24px rgba(20,20,19,.34);
  padding: max(0px, env(safe-area-inset-bottom));
}
.rd-cbar__btn {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  padding: .6rem .5rem; min-height: var(--rd-bar-h);
  color: #fff; font-family: var(--rd-font-body); font-weight: var(--rd-fw-semi);
  font-size: .68rem; text-transform: uppercase; letter-spacing: .08em;
}
.rd-cbar__btn .rd-icon { width: 1.35em; height: 1.35em; }
.rd-cbar__btn--text { border-inline: 1px solid rgba(255,255,255,.12); }
.rd-cbar__btn--book { background: var(--rd-gold); color: var(--rd-ink); }
.rd-cbar__btn:hover { color: #fff; }
.rd-cbar__btn--call:hover, .rd-cbar__btn--text:hover { background: var(--rd-char-600); }
.rd-cbar__btn--book:hover { background: var(--rd-gold-dark); color: var(--rd-ink); }
@media (min-width: 900px) { .rd-cbar { display: none; } }
@media (max-width: 899px) { body.rd, body { scroll-padding-bottom: var(--rd-bar-h); } .rd-has-cbar { padding-bottom: var(--rd-bar-h); } }

/* ==========================================================================
   Hero
   ========================================================================== */
.rd-hero { position: relative; overflow: hidden; display: flex; align-items: center; background: linear-gradient(160deg, var(--rd-ink) 0%, var(--rd-black) 100%); color: #fff; }
.rd-hero--full { min-height: clamp(540px, 70vh, 760px); }
.rd-hero--compact { min-height: clamp(320px, 42vh, 460px); }
.rd-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
/* Branded hero (no photo yet) — charcoal radial + faded gold diamond watermark + gold accent edge */
.rd-hero--brand { background: radial-gradient(135% 135% at 84% 16%, var(--rd-char-600) 0%, var(--rd-ink) 48%, var(--rd-black) 100%); }
.rd-hero--brand .rd-hero__scrim { background: none; }
.rd-hero--brand::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--rd-gold); }
.rd-hero__brandmark { position: absolute; right: -4%; top: 50%; transform: translateY(-50%); color: var(--rd-gold); opacity: .07; pointer-events: none; }
.rd-hero__brandmark .rd-icon { width: min(70vh, 520px); height: auto; }
.rd-hero__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,20,19,.66) 0%, rgba(20,20,19,.84) 100%); }
.rd-hero--photo .rd-hero__scrim { background: linear-gradient(180deg, rgba(20,20,19,.55) 0%, rgba(20,20,19,.88) 100%); }
.rd-hero__inner { position: relative; padding-block: clamp(3.5rem, 9vw, 7.5rem); max-width: 880px; }
.rd-hero--compact .rd-hero__inner { padding-block: clamp(2.5rem, 6vw, 5rem); }
.rd-hero .rd-eyebrow { color: var(--rd-gold-soft); }
.rd-hero__title { font-size: var(--rd-h1); color: #fff; margin: 0 0 .4em; max-width: 18ch; font-weight: var(--rd-fw-bold); }
.rd-hero__sub { font-size: 1.24rem; color: var(--rd-on-dark); max-width: 56ch; margin: 0 0 var(--rd-6); line-height: 1.6; }
.rd-hero__trust { list-style: none; display: flex; flex-wrap: wrap; gap: var(--rd-5); margin: var(--rd-6) 0 0; padding: 0; }
.rd-hero__trust li { display: flex; align-items: center; gap: .55em; font-size: .95rem; font-weight: var(--rd-fw-med); color: var(--rd-on-dark); }
.rd-hero__trust .rd-icon { color: var(--rd-gold); width: 1.4em; height: 1.4em; }

/* ==========================================================================
   Trust bar
   ========================================================================== */
.rd-trustbar-sec { padding-block: var(--rd-7); }
.rd-trustbar { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--rd-5); grid-template-columns: 1fr; }
.rd-trustbar__item { display: flex; align-items: center; gap: .8em; }
.rd-trustbar__icon { display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 auto; border-radius: 50%; background: #fff; color: var(--rd-ink); box-shadow: var(--rd-shadow); border: 1px solid var(--rd-line); }
.rd-trustbar__icon .rd-icon { color: var(--rd-gold-dark); }
.rd-trustbar__text { display: flex; flex-direction: column; line-height: 1.3; }
.rd-trustbar__text strong { font-family: var(--rd-font-display); color: var(--rd-ink); font-size: 1.05rem; font-weight: var(--rd-fw-semi); }
.rd-trustbar__text small { color: var(--rd-taupe); font-size: .85rem; }
@media (min-width: 640px) { .rd-trustbar { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .rd-trustbar { grid-template-columns: repeat(5, 1fr); } .rd-trustbar__item { flex-direction: column; text-align: center; } }

/* ==========================================================================
   Service cards
   ========================================================================== */
.rd-scards { display: grid; gap: var(--rd-5); grid-template-columns: 1fr; }
@media (min-width: 620px) { .rd-scards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .rd-scards { grid-template-columns: repeat(3, 1fr); } }
.rd-scard {
  display: flex; flex-direction: column; align-items: flex-start;
  background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
  padding: var(--rd-6); box-shadow: var(--rd-shadow);
  transition: transform var(--rd-dur) var(--rd-ease), box-shadow var(--rd-dur) var(--rd-ease), border-color var(--rd-dur) var(--rd-ease);
}
.rd-scard:hover { transform: translateY(-4px); box-shadow: var(--rd-shadow-lg); border-color: var(--rd-gold); }
.rd-scard__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: var(--rd-radius-sm); background: var(--rd-ink); color: var(--rd-gold-soft); margin-bottom: var(--rd-4); }
.rd-scard__icon .rd-icon { width: 1.7em; height: 1.7em; color: var(--rd-gold-soft); }
.rd-scard__title { color: var(--rd-ink); margin: 0 0 .4em; }
.rd-scard__text { color: var(--rd-taupe); margin: 0 0 var(--rd-4); font-size: 1rem; line-height: 1.6; }
.rd-scard__more { margin-top: auto; display: inline-flex; align-items: center; gap: .45em; color: var(--rd-gold-dark); font-family: var(--rd-font-body); font-weight: var(--rd-fw-semi); text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }
.rd-scard:hover .rd-scard__more .rd-icon { transform: translateX(4px); }
.rd-scard__more .rd-icon { width: 1.3em; height: 1.3em; transition: transform var(--rd-dur) var(--rd-ease); }

/* ==========================================================================
   Why us
   ========================================================================== */
.rd-whyus { display: grid; gap: var(--rd-7); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 920px) { .rd-whyus { grid-template-columns: 1fr 1.1fr; } }
.rd-whyus__media img { border-radius: var(--rd-radius); box-shadow: var(--rd-shadow-lg); width: 100%; object-fit: cover; }
.rd-whyus__placeholder { display: grid; place-items: center; aspect-ratio: 4/3; background: radial-gradient(130% 130% at 80% 20%, var(--rd-char-600), var(--rd-ink) 60%, var(--rd-black)); border-radius: var(--rd-radius); color: var(--rd-gold); }
.rd-whyus__placeholder .rd-icon { width: 4.5rem; height: 4.5rem; opacity: .55; }

/* ==========================================================================
   Process (on dark)
   ========================================================================== */
.rd-process { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--rd-6); grid-template-columns: 1fr; }
@media (min-width: 720px) { .rd-process { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1040px) { .rd-process { grid-template-columns: repeat(4, 1fr); } }
.rd-process__step { text-align: center; }
.rd-process__num { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto var(--rd-4); border-radius: 50%; background: transparent; border: 1px solid var(--rd-gold); color: var(--rd-gold); font-family: var(--rd-font-display); font-weight: var(--rd-fw-bold); font-size: 1.5rem; }
.rd-process__title { color: #fff; margin: 0 0 .4em; font-size: var(--rd-h4); }
.rd-process__desc { color: var(--rd-on-dark-mut); margin: 0; font-size: .98rem; line-height: 1.6; }

/* ==========================================================================
   Service-area chips
   ========================================================================== */
.rd-chips { list-style: none; margin: var(--rd-2) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--rd-3); justify-content: center; }
.rd-chip { display: inline-flex; align-items: center; gap: .45em; padding: .6em 1.15em; border-radius: var(--rd-radius-pill); background: #fff; border: 1px solid var(--rd-line); color: var(--rd-ink); font-weight: var(--rd-fw-med); font-size: .95rem; transition: all var(--rd-dur) var(--rd-ease); }
.rd-chip .rd-icon { width: 1.05em; height: 1.05em; color: var(--rd-gold-dark); }
.rd-chip--primary { border-color: var(--rd-gold); }
a.rd-chip:hover { background: var(--rd-ink); color: #fff; border-color: var(--rd-ink); }
a.rd-chip:hover .rd-icon { color: var(--rd-gold-soft); }

/* ==========================================================================
   CTA band
   ========================================================================== */
.rd-cta__inner { text-align: center; max-width: 760px; margin-inline: auto; }
.rd-cta__title { color: #fff; margin: 0 0 .35em; }
.rd-cta__sub { color: var(--rd-on-dark-mut); font-size: 1.18rem; margin: 0 0 var(--rd-6); line-height: 1.6; }
.rd-cta .rd-cta-pair { justify-content: center; }

/* ---- Scroll reveal ---- */
.rd-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--rd-ease), transform .7s var(--rd-ease); }
.rd-reveal.is-in { opacity: 1; transform: none; }

/* ---- Prose (rich text) ---- */
.rd-prose { color: var(--rd-body-ink); font-size: 1.1rem; line-height: var(--rd-lh-body); }
.rd-prose > *:first-child { margin-top: 0; }
.rd-prose h2, .rd-prose h3 { color: var(--rd-ink); margin: 1.6em 0 .5em; }
.rd-prose p { margin: 0 0 1.1em; }
.rd-prose ul, .rd-prose ol { margin: 0 0 1.2em; padding-left: 1.25em; }
.rd-prose li { margin: .4em 0; }
.rd-prose ul li::marker { color: var(--rd-gold-dark); }
.rd-prose a { color: var(--rd-gold-dark); text-decoration: underline; text-underline-offset: 2px; }
.rd-prose strong { color: var(--rd-ink); }
.rd-prose hr { border: 0; border-top: 1px solid var(--rd-line); margin: 2em 0; }

/* ---- FAQ accordion ---- */
.rd-faq { display: grid; gap: var(--rd-3); margin-top: var(--rd-5); }
.rd-faq__item { background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius-sm); overflow: hidden; }
.rd-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 1em; cursor: pointer;
  padding: var(--rd-5) var(--rd-5); font-family: var(--rd-font-display); font-weight: var(--rd-fw-semi);
  color: var(--rd-ink); font-size: 1.1rem; list-style: none; }
.rd-faq__q::-webkit-details-marker { display: none; }
.rd-faq__q .rd-icon { color: var(--rd-gold-dark); transition: transform var(--rd-dur) var(--rd-ease); transform: rotate(90deg); flex: 0 0 auto; }
.rd-faq__item[open] .rd-faq__q .rd-icon { transform: rotate(-90deg); }
.rd-faq__a { padding: 0 var(--rd-5) var(--rd-5); color: var(--rd-taupe); }
.rd-faq__a p { margin: 0 0 .75em; }

/* ---- Related links (internal linking) ---- */
.rd-related__title { text-align: center; color: var(--rd-ink); margin: 0 0 var(--rd-6); }
.rd-related { display: grid; gap: var(--rd-4); grid-template-columns: 1fr; }
@media (min-width: 620px) { .rd-related { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .rd-related { grid-template-columns: repeat(3, 1fr); } }
.rd-related__card { display: flex; flex-direction: column; gap: .35rem; background: #fff; border: 1px solid var(--rd-line);
  border-radius: var(--rd-radius); padding: var(--rd-5) var(--rd-5); box-shadow: var(--rd-shadow);
  transition: transform var(--rd-dur) var(--rd-ease), box-shadow var(--rd-dur) var(--rd-ease), border-color var(--rd-dur) var(--rd-ease); }
.rd-related__card:hover { transform: translateY(-3px); box-shadow: var(--rd-shadow-lg); border-color: var(--rd-gold); }
.rd-related__label { display: flex; align-items: center; justify-content: space-between; gap: .4em;
  font-family: var(--rd-font-display); font-weight: var(--rd-fw-semi); color: var(--rd-ink); font-size: 1.1rem; }
.rd-related__label .rd-icon { color: var(--rd-gold-dark); width: 1.2em; height: 1.2em; transition: transform var(--rd-dur) var(--rd-ease); }
.rd-related__card:hover .rd-related__label .rd-icon { transform: translateX(4px); }
.rd-related__desc { color: var(--rd-taupe); font-size: .95rem; }

/* ---- Contact ---- */
.rd-contact { display: grid; gap: var(--rd-7); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 900px) { .rd-contact { grid-template-columns: 0.95fr 1.05fr; } }
.rd-contact--solo { max-width: 620px; margin-inline: auto; }
.rd-contact__h { color: var(--rd-ink); margin: 0 0 .35em; }
.rd-contact__lead { color: var(--rd-taupe); font-size: 1.15rem; margin: 0 0 var(--rd-5); line-height: 1.6; }
.rd-contact__actions { display: grid; gap: var(--rd-3); margin-bottom: var(--rd-5); max-width: 440px; }
.rd-contact--solo .rd-contact__actions { margin-inline: auto; }
.rd-contact__meta { list-style: none; margin: 0; padding: var(--rd-5) 0 0; border-top: 1px solid var(--rd-line); display: grid; gap: var(--rd-3); }
.rd-contact__meta li { display: flex; align-items: center; gap: .6em; color: var(--rd-body-ink); }
.rd-contact__meta .rd-icon { color: var(--rd-gold-dark); flex: 0 0 auto; }
.rd-contact__h3 { color: var(--rd-ink); margin: 0 0 var(--rd-4); }
.rd-contact__embed { position: relative; border: 1px solid var(--rd-line); border-radius: var(--rd-radius); overflow: hidden; box-shadow: var(--rd-shadow); background: #fff; }
.rd-contact__embed iframe { width: 100%; min-height: 720px; border: 0; display: block; }

/* ==========================================================================
   Footer (injected site-wide; Astra footer hidden)
   ========================================================================== */
.rd-footer { background: var(--rd-black); color: var(--rd-on-dark-mut); }
.rd-footer a { color: var(--rd-on-dark-mut); }
.rd-footer a:hover { color: #fff; }
.rd-footer__grid { display: grid; gap: var(--rd-6); grid-template-columns: 1fr; padding-block: var(--rd-9) var(--rd-7); }
@media (min-width: 640px) { .rd-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .rd-footer__grid { grid-template-columns: 1.7fr 1fr 1fr 1fr; } }
.rd-footer__name { font-family: var(--rd-font-display); font-weight: var(--rd-fw-bold); font-size: 1.6rem; color: #fff; letter-spacing: .01em; }
.rd-footer__tag { color: var(--rd-gold-soft); font-style: italic; font-family: var(--rd-font-display); margin: .5rem 0 var(--rd-5); }
.rd-footer__nap { list-style: none; margin: 0 0 var(--rd-5); padding: 0; display: grid; gap: .6rem; }
.rd-footer__nap li { display: flex; align-items: center; gap: .6em; font-size: .95rem; }
.rd-footer__nap .rd-icon { color: var(--rd-gold); flex: 0 0 auto; }
.rd-footer__social { list-style: none; margin: var(--rd-5) 0 0; padding: 0; display: flex; gap: .6rem; }
.rd-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: var(--rd-radius-sm); color: var(--rd-on-dark-mut); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.10); transition: color .18s ease, background .18s ease, border-color .18s ease; }
.rd-footer__social a:hover { color: var(--rd-ink); background: var(--rd-gold); border-color: var(--rd-gold); }
.rd-footer__brand .rd-btn { margin-top: var(--rd-2); }
.rd-footer__h { font-family: var(--rd-font-body); color: #fff; font-size: .8rem; text-transform: uppercase; letter-spacing: .16em; font-weight: var(--rd-fw-semi); margin: 0 0 var(--rd-4); }
.rd-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.rd-footer__col a { font-size: .95rem; }
.rd-footer__bar { border-top: 1px solid rgba(255,255,255,.10); }
.rd-footer__bar-inner { display: flex; flex-wrap: wrap; gap: var(--rd-2) var(--rd-5); justify-content: space-between; align-items: center; padding-block: var(--rd-5); font-size: .85rem; color: var(--rd-taupe); }
.rd-footer__legal { display: flex; gap: var(--rd-4); }

/* ==========================================================================
   Blog — style Astra's index + single post with our design tokens
   ========================================================================== */
.blog .ast-article-post, .archive .ast-article-post {
  background: #fff; border: 1px solid var(--rd-line); border-radius: var(--rd-radius);
  box-shadow: var(--rd-shadow); overflow: hidden; padding: 0;
  transition: transform var(--rd-dur) var(--rd-ease), box-shadow var(--rd-dur) var(--rd-ease);
}
.blog .ast-article-post:hover, .archive .ast-article-post:hover { transform: translateY(-4px); box-shadow: var(--rd-shadow-lg); }
.blog .post-thumb img, .archive .post-thumb img { width: 100%; height: 210px; object-fit: cover; }
.blog .entry-header, .blog .entry-content, .archive .entry-header, .archive .entry-content { padding-inline: var(--rd-5); }
.blog .ast-read-more-container, .archive .ast-read-more-container { padding: 0 var(--rd-5) var(--rd-5); }
.blog .entry-title a, .archive .entry-title a { font-family: var(--rd-font-display); color: var(--rd-ink); font-weight: var(--rd-fw-bold); }
.blog .entry-title a:hover, .archive .entry-title a:hover { color: var(--rd-gold-dark); }
.blog .ast-read-more-container a, .archive .ast-read-more-container a { color: var(--rd-gold-dark); font-family: var(--rd-font-body); font-weight: var(--rd-fw-semi); text-transform: uppercase; letter-spacing: .1em; font-size: .78rem; }

.single-post .entry-header { max-width: var(--rd-container-text); margin: 0 auto var(--rd-5); text-align: center; padding-top: var(--rd-7); }
.single-post .entry-title { font-family: var(--rd-font-display); color: var(--rd-ink); font-size: var(--rd-h1); line-height: var(--rd-lh-tight); font-weight: var(--rd-fw-bold); }
.single-post .entry-content { max-width: var(--rd-container-text); margin-inline: auto; font-size: var(--rd-body); }
.single-post .entry-content h2, .single-post .entry-content h3 { font-family: var(--rd-font-display); color: var(--rd-ink); margin: 1.6em 0 .5em; }
.single-post .entry-content p { margin: 0 0 1.1em; line-height: var(--rd-lh-body); }
.single-post .entry-content a { color: var(--rd-gold-dark); text-decoration: underline; text-underline-offset: 2px; }
.single-post .entry-content ul, .single-post .entry-content ol { margin: 0 0 1.2em; padding-left: 1.25em; }
.single-post .entry-content li { margin: .4em 0; }
.single-post .entry-content ul li::marker { color: var(--rd-gold-dark); }
.single-post .entry-content blockquote { border-left: 3px solid var(--rd-gold); margin: 1.5em 0; padding: .5em 0 .5em 1.25em; color: var(--rd-ink); font-style: italic; }
.single-post .entry-content img { border-radius: var(--rd-radius); }
.entry-content .rd-cta { padding-block: var(--rd-6); border-radius: var(--rd-radius); margin-top: var(--rd-7); }

/* ==========================================================================
   Mobile & accessibility hardening
   ========================================================================== */
@media (max-width: 921px) {
  .custom-logo, .ast-logo-title-inline .custom-logo, .site-branding img { max-width: 150px !important; height: auto !important; }
}
html { overflow-x: clip; }
@media (pointer: coarse) { .rd-btn, .rd-chip, .rd-faq__q, .rd-cbar__btn { min-height: 44px; } }
.rd a:focus-visible, .single-post a:focus-visible, .blog a:focus-visible { outline: 3px solid var(--rd-gold-dark); outline-offset: 2px; border-radius: 3px; }

/* Hide Astra's own footer — ours injects outside #colophon via wp_footer. */
.site-footer, footer#colophon, .ast-small-footer, .footer-adv, #footer-widgets { display: none !important; }
