/* V199: scoped presentation polish. No catalogue, consent or purchase logic. */

/* The historical body * font guard must not override the editorial signup. */
html body .rm-newsletter-backdrop :is(.rm-newsletter-content, .rm-newsletter-content *) {
  font-family: var(--rm-brand-body-font, Arial, Helvetica, sans-serif) !important;
}
html body .rm-newsletter-content h2 {
  font-family: var(--rm-brand-heading-font, Arial, Helvetica, sans-serif) !important;
  font-weight: 700;
  line-height: 1.08;
  text-wrap: balance;
}
html body .rm-newsletter-form input::placeholder {
  font-family: var(--rm-brand-body-font, Arial, Helvetica, sans-serif) !important;
}
html body .rm-newsletter-content :is(.rm-newsletter-copy, .rm-newsletter-consent, .rm-newsletter-privacy) {
  font-weight: 400;
  line-height: 1.55;
}
html body .rm-newsletter-form label { margin: 0 0 3px; }
html body .rm-newsletter-close.rm-close-control {
  border: 0 !important;
  border-radius: 4px !important;
  background: var(--rm-news-bg, #fff) !important;
  color: var(--rm-news-text, #171b21) !important;
  box-shadow: none !important;
}
/* Preserve the existing single centred SVG and 44px touch target. */
html body .rm-newsletter-backdrop :is(input, button, a):focus-visible {
  outline: 2px solid var(--rm-news-text, #171b21) !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}
html body .rm-newsletter-form input[type=email]:focus-visible {
  border-color: var(--rm-news-text, #171b21);
}
html body .rm-newsletter-no-thanks { min-height: 44px; }
/* Short laptop/tablet viewports remain scrollable, including keyboard zoom. */
html body .rm-newsletter-dialog { overflow-y: auto; }

/* Keep Studio brand fonts; improve hierarchy within existing product copy. */
html body :is(.card[data-product-card], .mobile-shop-product-card[data-product-card]) {
  transform: none !important;
}
html body :is(.card[data-product-card] .card-body, .mobile-shop-product-card[data-product-card] .mobile-shop-product-copy) {
  padding: 16px;
}
html body :is(.card[data-product-card] .card-body h3, .mobile-shop-product-card[data-product-card] h3) {
  margin-block: 8px 6px;
  line-height: 1.3;
  overflow-wrap: anywhere;
  color: var(--rm-brand-text, var(--navy, #071e3d));
}
html body :is(.card-maker, .mobile-shop-maker) {
  color: var(--rm-brand-muted, #526068);
  font-size: 11px;
  line-height: 1.5;
  letter-spacing: .04em;
}
html body :is(.rm-card-confidence-v145, .rm-mobile-confidence-v145) {
  font-weight: 400;
  line-height: 1.45;
  color: var(--rm-brand-muted, #526068);
}
html body .rm-card-footer { gap: 12px; align-items: end; }
html body :is(.rm-card-add, .mobile-product-add) { min-width: 44px; min-height: 44px; }

/* Align purchasing controls and galleries with the square catalogue. */
html body .pdp-media :is(.pdp-carousel, .pdp-thumb) { border-radius: 0 !important; }
html body .product-summary :is(.pdp-primary-btn, .rm-product-offer-copy) {
  border-radius: 4px !important;
  box-shadow: none !important;
}
html body .product-summary .pdp-primary-btn {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  padding: 14px 20px;
}
html body .product-summary .rm-product-offer-copy {
  background: transparent;
  border: 1px solid var(--rm-brand-border, #d8d3c9);
  padding: 16px;
  line-height: 1.5;
}
html body .rm-pdp-nav-v145 > button { border-radius: 4px; min-height: 44px; }
html body :is(.mobile-shop-controls > button, .pdp-primary-btn, .pdp-thumb, .rm-card-add, .mobile-product-add):focus-visible {
  outline: 2px solid var(--rm-brand-text, #071e3d);
  outline-offset: 4px;
}
@media (min-width:1280px) {
  /* Equal two-line label space avoids one-line/two-line baseline jitter. */
  html body .rm-single-navigation .rm-category-mega-tab > :is(a, button) {
    line-height: 1.35;
    text-align: center;
    text-wrap: balance;
  }
}
@media (max-width:640px) {
  html body :is(.card[data-product-card] .card-body, .mobile-shop-product-card[data-product-card] .mobile-shop-product-copy) { padding: 12px; }
  html body .rm-newsletter-content h2 { font-size: clamp(28px, 7.8vw, 34px); }
  html body .rm-newsletter-content { padding: 24px 22px; }
  html body .rm-pdp-nav-v145 { flex-wrap: wrap; gap: 12px; }
  html body .rm-pdp-nav-v145 nav { flex-basis: 100%; }
}
@media (prefers-reduced-motion:reduce) {
  html body :is(.rm-card-add, .mobile-product-add, .pdp-primary-btn, .rm-newsletter-dialog) { transition: none !important; }
}
