/* My Reg Plate 1.7 — shared finishing details, loaded after theme and Core. */
:root {
  --mrp-radius: 12px;
  --mrp-shadow: 0 6px 24px rgb(20 36 59 / 5%);
}
body { line-height: 1.65; }
.brand { flex-shrink: 0; }
.brand-icon { gap: 3px; }
.site-nav a { display: inline-block; padding-block: 12px; }
.site-nav .sub-menu { border-radius: 10px; box-shadow: var(--mrp-shadow); }
.site-nav .sub-menu a { padding-block: 3px; }
.utility-row { min-height: 36px; font-size: 12px; }
.header-cta, .mrp-button, .ph-buy, .ph-search button, .ph-filters button, #ph-checkout-submit {
  min-height: 48px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.4;
  transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.header-cta { padding: 13px 20px; }
.hero-layout { padding-block: 72px 58px; }
.hero h1 { font-size: clamp(46px, 5.1vw, 72px); letter-spacing: -.045em; }
.hero-intro { color: #dae2ee; font-size: 17px; line-height: 1.8; max-width: 48ch; }
.hero-search-label { font-size: 14px; font-weight: 600; }
.hero .ph-search { border-radius: 12px; padding: 8px; gap: 8px; }
.hero .ph-search input { border-radius: 6px; min-height: 54px; font-size: 17px; padding-inline: 16px; }
.hero .ph-search button { padding-inline: 22px; }
.popular { gap: 9px; font-size: 12px; margin-top: 18px; color: #c6d2e4; }
.popular a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border-radius: 6px; font-size: 12px; }
.hero-assurance { color: #c6d2e4; font-size: 12px; line-height: 1.65; }
.trust-row { padding-block: 28px; gap: 24px; }
.trust-item { gap: 12px; }
.trust-icon { width: 38px; height: 38px; background: #edf3ff; }
.trust-icon svg { width: 21px; height: 21px; }
.trust-item strong { font-size: 13px; line-height: 1.45; }
.trust-item div > span { margin-top: 3px; font-size: 12px; line-height: 1.55; }
.browse-section { padding-block: 64px 48px; }
.section-header { gap: 24px; align-items: center; margin-bottom: 28px; }
.section-header h2, .ph-catalogue-heading h2 { font-size: clamp(29px, 3vw, 38px); line-height: 1.2; letter-spacing: -.035em; }
.eyebrow, .ph-eyebrow { font-size: 12px; letter-spacing: .09em; }
.text-link { font-size: 14px; display: inline-flex; align-items: center; min-height: 44px; }
.browse-card { border-radius: var(--mrp-radius); padding: 26px 22px 24px; gap: 24px; background: #fff; }
.browse-card:hover { background: #f6f9ff; box-shadow: var(--mrp-shadow); }
.browse-card h3 { font-size: 17px; line-height: 1.35; margin-bottom: 7px; }
.browse-card p { font-size: 13px; line-height: 1.6; max-width: none; }
.browse-arrow { top: 22px; right: 18px; color: #185bda; }
.category-note { margin-top: 17px; font-size: 12px; line-height: 1.7; }
.home-catalogue { padding-block: 58px 46px; }
.ph-catalogue-heading { align-items: center; }
.ph-catalogue-heading > span { font-size: 12px; padding: 7px 12px; border-radius: 20px; background: #eaf0f8; color: #354963; }
.ph-filters { border-radius: var(--mrp-radius); padding: 22px; gap: 16px; }
.ph-filters label { font-size: 13px; letter-spacing: 0; }
.ph-filters input, .ph-filters select { height: 48px; font-size: 15px; border-radius: 6px; background: #fff; border-color: #c8d2df; }
.ph-filters button { height: 48px; }
.ph-grid { gap: 22px; }
.ph-card { border-radius: var(--mrp-radius); box-shadow: 0 2px 5px rgb(20 36 59 / 2%); }
.ph-card:hover { box-shadow: var(--mrp-shadow); border-color: #8caedc; }
.ph-card-label { font-size: 12px; padding: 18px 20px 0; }
.ph-card-label > span:first-child { border-radius: 5px; padding: 5px 9px; }
.ph-plate-wrap { min-height: 130px; padding: 24px 20px; }
.ph-card-bottom { padding: 19px 20px; gap: 12px; flex-wrap: wrap; }
.ph-card-bottom strong { font-size: 26px; font-weight: 750; font-variant-numeric: tabular-nums; }
.ph-card-bottom small { font-size: 12px; margin-top: 4px; }
.ph-buy { min-height: 44px; padding: 11px 15px; font-size: 13px; }
.ph-browse-more { margin-top: 32px; }
.ph-fineprint { font-size: 12px; line-height: 1.8; }
.ph-notice { border-radius: 8px; font-size: 13px; padding: 14px 17px; }
.ph-pagination { gap: 16px; font-size: 14px; flex-wrap: wrap; }
.ph-pagination a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 16px; border-radius: 8px; }
.ph-dialog { border-radius: 16px; padding: 30px; }
.ph-dialog-close { width: 40px; height: 40px; border-radius: 8px; }
.ph-dialog > p:not(.ph-eyebrow):not(.ph-dialog-total) { font-size: 14px; }
.ph-registration-details p, .ph-consent { font-size: 13px; }
.how-section { padding-block: 80px; }
.help-section { padding-block: 72px; background: #f7f9fc; }
.help-layout { gap: 60px; }
.faq-list details, .mrp-faqs details {
  border: 1px solid #dce4ef;
  border-radius: var(--mrp-radius);
  padding: 19px 22px;
  margin: 0 0 12px;
  background: #fff;
}
.faq-list details:first-child, .mrp-faqs details:first-child { padding-top: 19px; }
.faq-list details[open], .mrp-faqs details[open] { border-color: #b7cbed; box-shadow: var(--mrp-shadow); }
.faq-list summary, .mrp-faqs summary { min-height: 28px; font-size: 16px; line-height: 1.5; }
.faq-list details p, .mrp-faqs details > p { font-size: 15px; line-height: 1.85; margin-top: 14px; }
.closing-cta { padding-block: 46px; }
.closing-cta h2 { font-size: clamp(27px, 3vw, 36px); line-height: 1.2; }
.site-footer { padding-top: 58px; }
.footer-links { font-size: 14px; gap: 4px; }
.footer-links a { padding-block: 7px; line-height: 1.5; }
.footer-links h2 { font-size: 14px; margin-bottom: 12px; }
.footer-brand p, .footer-contact p { font-size: 14px; }
.footer-contact-link { min-height: 44px; }
.page-content { padding-block: 38px 72px; }
.mrp-page-heading { max-width: 860px; margin-bottom: 40px; }
.mrp-page-heading h1 { font-size: clamp(36px, 4.4vw, 56px); line-height: 1.1; }
.mrp-page-heading > p:last-child { max-width: 62ch; }
.mrp-breadcrumb { margin-bottom: 26px; }
.mrp-about-layout, .mrp-contact-grid, .mrp-help-page-grid { gap: 48px; }
.mrp-about-story p { max-width: 62ch; }
.mrp-about-promise { background: #faf9f5; border-color: #e7e4da; padding: 32px; border-radius: 16px; }
.mrp-about-promise li { border-color: #e3dfd3; }
.mrp-about-promise li span { font-size: 15px; }
.mrp-contact-form-panel { border-radius: 16px; box-shadow: var(--mrp-shadow); }
.mrp-guide-notes { gap: 26px; }
.mrp-guide-notes article { background: #f7f9fc; border: 1px solid #dce4ef; border-radius: 14px; padding: 28px; }
.mrp-guide-notes h2 { font-size: 26px; }
.mrp-guide-notes article > p:last-child { margin-bottom: 0; }
.mrp-page-contact-strip { padding: 32px; }
.mrp-business-details { background: #f7f9fc; border: 1px solid #dce4ef; border-radius: 14px; padding: 28px; }

@media (max-width: 1100px) {
  .trust-row { gap: 18px; }
  .trust-item { gap: 9px; }
  .browse-card { padding-inline: 19px; }
  .ph-card-bottom { padding-inline: 16px; }
  .ph-card-bottom strong { font-size: 23px; }
  .ph-buy { padding-inline: 12px; font-size: 12px; }
  .mrp-about-layout, .mrp-contact-grid, .mrp-help-page-grid, .help-layout { gap: 32px; }
}
@media (max-width: 960px) {
  .hero-layout { padding-block: 54px 46px; }
  .hero-intro { font-size: 16px; }
  .trust-item strong { font-size: 13px; }
  .mobile-navigation { max-height: calc(100dvh - 112px); overflow-y: auto; overscroll-behavior: contain; }
  .mobile-navigation a[aria-current=page] { background: #edf3ff; border-radius: 6px; padding-inline: 12px; }
  .section-header { align-items: flex-start; }
  .section-header > .text-link { align-self: flex-end; }
  .browse-card { padding: 24px; }
}
@media (max-width: 780px) {
  .mrp-about-layout, .mrp-contact-grid, .mrp-help-page-grid { gap: 28px; }
  .mrp-guide-notes { grid-template-columns: 1fr; gap: 18px; }
  .how-section { padding-block: 56px; }
}
@media (max-width: 640px) {
  .ph-shell { width: calc(100% - 36px); }
  .utility-row { min-height: 30px; }
  .hero-layout { padding-block: 42px 36px; }
  .hero h1 { font-size: clamp(38px, 10.8vw, 52px); line-height: 1.08; }
  .hero-intro { font-size: 15px; }
  .hero-search-label { font-size: 13px; }
  .hero-assurance { max-width: 100%; font-size: 12px; }
  .trust-row { gap: 22px 14px; padding-block: 24px; }
  .trust-icon { width: 32px; height: 32px; }
  .trust-item { align-items: flex-start; gap: 9px; }
  .trust-item strong { font-size: 12px; }
  .trust-item div > span { font-size: 12px; }
  .browse-section { padding-block: 42px 32px; }
  .section-header { flex-direction: column; gap: 12px; margin-bottom: 21px; }
  .section-header > .text-link { align-self: flex-start; }
  .section-header h2, .ph-catalogue-heading h2 { font-size: 29px; }
  .home-catalogue { padding-block: 40px 32px; }
  .ph-grid { gap: 18px; }
  .ph-card-bottom strong { font-size: 26px; }
  .ph-buy { font-size: 13px; }
  .ph-filters { padding: 17px; gap: 14px; }
  .ph-filters input, .ph-filters select { font-size: 16px; }
  .help-section { padding-block: 44px; }
  .help-layout { gap: 28px; }
  .faq-list details, .mrp-faqs details { padding: 17px 18px; }
  .faq-list details:first-child, .mrp-faqs details:first-child { padding-top: 17px; }
  .faq-list summary, .mrp-faqs summary { font-size: 15px; }
  .faq-list details p, .mrp-faqs details > p { font-size: 14px; margin-right: 0; }
  .closing-cta { padding-block: 34px; }
  .closing-cta .header-cta { min-height: 48px; }
  .site-footer { padding-block: 42px 25px; }
  .footer-links a { min-height: 44px; padding-block: 11px; }
  .footer-links { gap: 0; }
  .page-content { padding-block: 25px 42px; }
  .mrp-page-heading { margin-bottom: 29px; }
  .mrp-page-heading h1 { font-size: clamp(34px, 9vw, 44px); }
  .mrp-about-promise, .mrp-contact-form-panel, .mrp-guide-notes article, .mrp-business-details { padding: 23px; }
  .mrp-page-contact-strip { padding: 26px; }
}
@media (max-width: 540px) {
  .hero .ph-search { flex-direction: column; gap: 7px; }
  .hero .ph-search button { width: 100%; min-height: 48px; font-size: 14px; }
  .hero .ph-search button span { display: inline; }
  .popular > span { flex-basis: 100%; }
  .browse-grid { grid-template-columns: 1fr; gap: 12px; }
  .browse-card { display: grid; grid-template-columns: 142px minmax(0, 1fr); align-items: center; gap: 14px; padding: 20px 18px; }
  .browse-plate { font-size: 24px; padding-inline: 9px; letter-spacing: .01em; justify-self: start; }
  .browse-card h3 { font-size: 16px; margin-bottom: 5px; }
  .browse-card p { font-size: 12px; }
  .browse-arrow { display: none; }
  .ph-plate { font-size: clamp(32px, 9.5vw, 40px); }
  .ph-plate-wrap { min-height: 124px; }
  .ph-card-bottom { padding: 18px 20px; }
  .ph-dialog { padding: 23px; }
  .ph-dialog-plate { font-size: 34px; }
  .how-section { padding-block: 44px; }
  .closing-cta > .ph-shell { align-items: flex-start; }
}
@media (max-width: 360px) {
  .ph-shell { width: calc(100% - 28px); }
  .browse-card { grid-template-columns: 125px minmax(0, 1fr); padding: 18px 14px; gap: 12px; }
  .browse-plate { font-size: 22px; padding-inline: 7px; }
  .ph-card-bottom { padding-inline: 16px; gap: 8px; }
  .ph-card-bottom strong { font-size: 24px; }
  .hero h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
