/**
 * Rijderspas product page.
 *
 * Kept separate from the account/card stylesheet so this service page can
 * evolve without increasing specificity on regular WooCommerce products.
 */

body.mzrp-product-page {
    --mzrp-product-ink: #202936;
    --mzrp-product-muted: #647084;
    --mzrp-product-line: #dce3ea;
    --mzrp-product-soft: #f6f8fa;
    --mzrp-product-red: #f52d32;
    --mzrp-product-red-dark: #c82026;
    --mzrp-product-green: #167653;
}

body.mzrp-product-page .mzrp-product-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px 32px;
    align-items: end;
    margin: 0 0 26px;
    padding: clamp(22px, 3vw, 34px);
    border: 1px solid var(--mzrp-product-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(32, 41, 54, 0.055);
}

body.mzrp-product-page .mzrp-product-hero__copy {
    display: grid;
    gap: 10px;
    align-content: center;
}

body.mzrp-product-page .mzrp-product-hero h1 {
    margin: 0;
    color: var(--mzrp-product-ink);
    font-size: clamp(38px, 4.5vw, 58px);
    font-weight: 950;
    line-height: 0.98;
    letter-spacing: -0.035em;
}

body.mzrp-product-page .mzrp-product-hero p {
    max-width: 780px;
    margin: 0;
    color: var(--mzrp-product-muted);
    font-size: clamp(15px, 1.4vw, 17px);
    line-height: 1.58;
}

body.mzrp-product-page .mzrp-product-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    margin: 0;
}

body.mzrp-product-page .mzrp-product-hero__stats {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-top: 18px;
    border-top: 1px solid #e8edf2;
}

body.mzrp-product-page .mzrp-product-hero__stats div {
    position: relative;
    display: grid;
    gap: 3px;
    min-height: 0;
    padding: 0 22px;
    border: 0;
    border-right: 1px solid #e8edf2;
    border-radius: 0;
    background: transparent;
}

body.mzrp-product-page .mzrp-product-hero__stats div:first-child {
    padding-left: 0;
}

body.mzrp-product-page .mzrp-product-hero__stats div:last-child {
    padding-right: 0;
    border-right: 0;
}

body.mzrp-product-page .mzrp-product-hero__stats strong {
    color: var(--mzrp-product-ink);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.25;
}

body.mzrp-product-page .mzrp-product-hero__stats span {
    color: var(--mzrp-product-muted);
    font-size: 13px;
    line-height: 1.35;
}

body.mzrp-product-page .mzrp-kicker {
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--mzrp-product-red-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.055em;
}

body.mzrp-product-page .mzrp-primary-action.button,
body.mzrp-product-page .mzrp-secondary-action.button {
    min-height: 46px;
    padding: 11px 18px !important;
    border-radius: 8px !important;
    font-size: 13px;
    letter-spacing: 0.025em;
}

body.mzrp-product-page .mzrp-primary-action.button:hover,
body.mzrp-product-page .mzrp-primary-action.button:focus-visible {
    border-color: var(--mzrp-product-red-dark) !important;
    background: var(--mzrp-product-red-dark) !important;
    box-shadow: 0 10px 24px rgba(245, 45, 50, 0.22);
    outline: 3px solid rgba(245, 45, 50, 0.17);
    outline-offset: 2px;
}

body.mzrp-product-page .mzrp-secondary-action.button:hover,
body.mzrp-product-page .mzrp-secondary-action.button:focus-visible {
    border-color: #aeb8c3 !important;
    background: var(--mzrp-product-soft) !important;
    outline: 3px solid rgba(32, 41, 54, 0.09);
    outline-offset: 2px;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail-host {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: 0;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__main {
    display: grid;
    grid-template-columns: minmax(340px, 0.82fr) minmax(440px, 1.18fr);
    gap: clamp(30px, 4vw, 58px);
    align-items: start;
    padding: 0;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__media {
    position: sticky;
    top: 110px;
    min-width: 0;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-frame,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-frame:hover {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid var(--mzrp-product-line);
    border-radius: 12px;
    background: #f4f6f8;
    box-shadow: none;
    transform: none;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-button,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-button:hover,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-button:focus,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-button:active {
    padding: clamp(16px, 3vw, 34px);
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-button:focus-visible {
    outline: 3px solid rgba(245, 45, 50, 0.28);
    outline-offset: -4px;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-button img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__summary {
    display: grid;
    gap: 14px;
    min-width: 0;
    padding: 4px 0 0;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__summary > h1,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__badges,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__sku,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__rating,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__excerpt,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__meta,
body.mzrp-product-page .mre-recommendations {
    display: none !important;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__price {
    margin: 0;
    padding: 0 0 14px;
    border-bottom: 1px solid #e7ecf1;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__price .price {
    color: #174f5e;
    font-size: clamp(22px, 2.4vw, 30px);
    font-weight: 950;
    line-height: 1.15;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__support,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.mzrp-product-page .mzrp-summary-explainer {
    display: grid;
    gap: 14px;
    scroll-margin-top: 120px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.mzrp-product-page .mzrp-summary-explainer__heading {
    display: grid;
    gap: 6px;
}

body.mzrp-product-page .mzrp-summary-explainer__heading h2 {
    margin: 0;
    color: var(--mzrp-product-ink);
    font-size: clamp(23px, 2.2vw, 30px);
    font-weight: 950;
    line-height: 1.12;
    letter-spacing: -0.018em;
}

body.mzrp-product-page .mzrp-summary-explainer__heading p {
    margin: 0;
    color: var(--mzrp-product-muted);
    font-size: 14px;
    line-height: 1.55;
}

body.mzrp-product-page .mzrp-variant-swatches {
    display: grid;
    gap: 9px;
    width: 100%;
    margin: 0;
}

body.mzrp-product-page .mzrp-variant-swatches__label {
    color: var(--mzrp-product-ink);
    font-size: 13px;
    font-weight: 900;
}

body.mzrp-product-page .mzrp-variant-swatches__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

/* The Vue product stylesheet historically gave the holder itself two
 * columns. The new holder contains a labelled radiogroup plus its summary,
 * so those are deliberately stacked and only the options form a 2×2 grid. */
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase .mzrp-variant-swatches {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 9px;
    margin: 0;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase .mzrp-variant-swatches__label,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase .mzrp-variant-swatches__options,
body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase .mzrp-variant-insights {
    grid-column: 1;
    width: 100%;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase .mzrp-variant-swatches__options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__purchase .mzrp-variant-swatch {
    min-height: 90px;
    padding: 12px 13px;
}

body.mzrp-product-page .mzrp-variant-swatch {
    display: grid;
    gap: 7px;
    min-width: 0;
    min-height: 90px;
    padding: 12px 13px;
    border: 1px solid var(--mzrp-product-line);
    border-radius: 9px;
    background: #fff;
    color: var(--mzrp-product-ink);
    text-align: left;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

body.mzrp-product-page .mzrp-variant-swatch:hover {
    border-color: #b7c0ca;
    background: #fafbfc;
    box-shadow: none;
    transform: none;
}

body.mzrp-product-page .mzrp-variant-swatch:focus-visible {
    border-color: var(--mzrp-product-red);
    outline: 3px solid rgba(245, 45, 50, 0.16);
    outline-offset: 2px;
    box-shadow: none;
    transform: none;
}

body.mzrp-product-page .mzrp-variant-swatch.is-selected {
    border-color: var(--mzrp-product-red);
    background: #fff7f7;
    box-shadow: inset 0 0 0 1px var(--mzrp-product-red);
}

body.mzrp-product-page .mzrp-variant-swatch__top {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    align-items: center;
    justify-content: space-between;
}

body.mzrp-product-page .mzrp-variant-swatch__top strong {
    color: var(--mzrp-product-ink);
    font-size: 17px;
    font-weight: 950;
    line-height: 1.15;
}

body.mzrp-product-page .mzrp-variant-swatch__top em {
    width: auto;
    min-height: 0;
    padding: 3px 7px;
    border-radius: 4px;
    background: #eef2f5;
    color: #4f5d6b;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

body.mzrp-product-page .mzrp-variant-swatch.is-selected .mzrp-variant-swatch__top em {
    background: var(--mzrp-product-red);
    color: #fff;
}

body.mzrp-product-page .mzrp-variant-swatch__meta {
    display: grid;
    gap: 2px;
    color: var(--mzrp-product-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

body.mzrp-product-page .mzrp-variant-swatch__meta span:first-child {
    color: #374151;
    font-weight: 850;
}

body.mzrp-product-page .mzrp-variant-insights {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid #d9e3e8;
    border-radius: 9px;
    background: #f7fafb;
}

body.mzrp-product-page .mzrp-variant-insights__intro {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

body.mzrp-product-page .mzrp-variant-insights__intro span {
    color: var(--mzrp-product-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

body.mzrp-product-page .mzrp-variant-insights__intro strong {
    color: var(--mzrp-product-ink);
    font-size: 16px;
    font-weight: 950;
}

body.mzrp-product-page .mzrp-variant-insights__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 0;
}

body.mzrp-product-page .mzrp-variant-insights__grid div {
    display: grid;
    gap: 2px;
    min-width: 0;
    padding: 2px 12px;
    border: 0;
    border-right: 1px solid #dfe7eb;
    border-radius: 0;
    background: transparent;
}

body.mzrp-product-page .mzrp-variant-insights__grid div:first-child {
    padding-left: 0;
}

body.mzrp-product-page .mzrp-variant-insights__grid div:last-child {
    padding-right: 0;
    border-right: 0;
}

body.mzrp-product-page .mzrp-variant-insights dt {
    color: var(--mzrp-product-muted);
    font-size: 10px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

body.mzrp-product-page .mzrp-variant-insights dd {
    margin: 0;
    color: var(--mzrp-product-ink);
    font-size: 18px;
    font-weight: 950;
    line-height: 1.15;
}

body.mzrp-product-page .mzrp-variant-insights small {
    color: var(--mzrp-product-muted);
    font-size: 10px;
    line-height: 1.25;
}

body.mzrp-product-page .mzrp-virtual-note {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    padding: 11px 12px;
    border: 0;
    border-radius: 8px;
    background: #edf8f3;
}

body.mzrp-product-page .mzrp-virtual-note strong {
    flex: 0 0 auto;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--mzrp-product-green);
    font-size: 11px;
}

body.mzrp-product-page .mzrp-virtual-note span {
    color: #315d4b;
    font-size: 12px;
    line-height: 1.45;
}

body.mzrp-product-page .mzrp-guest-packages {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.mzrp-product-page .mzrp-guest-packages li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--mzrp-product-line);
    border-radius: 8px;
    background: #fff;
}

body.mzrp-product-page .mzrp-guest-packages li > span:first-child {
    display: grid;
    gap: 2px;
}

body.mzrp-product-page .mzrp-guest-packages strong {
    color: var(--mzrp-product-ink);
    font-size: 14px;
    font-weight: 950;
}

body.mzrp-product-page .mzrp-guest-packages small {
    color: var(--mzrp-product-muted);
    font-size: 11px;
}

body.mzrp-product-page .mzrp-guest-packages__price {
    display: grid;
    justify-items: end;
    gap: 0;
    white-space: nowrap;
}

body.mzrp-product-page .mzrp-guest-packages__price del {
    color: #8b95a3;
    font-size: 11px;
}

body.mzrp-product-page .mzrp-login-required {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 14px;
    align-items: center;
    margin: 0;
    padding: 14px;
    border: 1px solid #f4c7c9;
    border-radius: 9px;
    background: #fff7f7;
}

body.mzrp-product-page .mzrp-login-required strong {
    color: var(--mzrp-product-ink);
    font-size: 14px;
    font-weight: 950;
}

body.mzrp-product-page .mzrp-login-required span {
    color: var(--mzrp-product-muted);
    font-size: 12px;
    line-height: 1.4;
}

body.mzrp-product-page .mzrp-login-required .button {
    grid-row: 1 / span 2;
    grid-column: 2;
}

body.mzrp-product-page .mzrp-balance-notice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 12px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid #d6e9df;
    border-radius: 9px;
    background: #f2faf6;
}

body.mzrp-product-page .mzrp-balance-notice > span {
    color: #48705e;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

body.mzrp-product-page .mzrp-balance-notice > strong {
    grid-column: 1;
    color: #153e2f;
    font-size: 22px;
    line-height: 1;
}

body.mzrp-product-page .mzrp-balance-notice small {
    font-size: 11px;
    text-transform: uppercase;
}

body.mzrp-product-page .mzrp-balance-notice a {
    grid-row: 1 / span 2;
    grid-column: 2;
    color: #176044;
    font-size: 12px;
    font-weight: 900;
}

body.mzrp-product-page .mzvue-product-detail__purchase form.variations_form,
body.mzrp-product-page .mzvue-product-detail__purchase table.variations,
body.mzrp-product-page .mzvue-product-detail__purchase table.variations tbody,
body.mzrp-product-page .mzvue-product-detail__purchase table.variations tr,
body.mzrp-product-page .mzvue-product-detail__purchase table.variations td {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

body.mzrp-product-page .mzvue-product-detail__purchase table.variations th,
body.mzrp-product-page .mzvue-product-detail__purchase .reset_variations,
body.mzrp-product-page .mzvue-product-detail__purchase .impress-product-content {
    display: none !important;
}

body.mzrp-product-page .mzvue-product-detail__purchase form.variations_form {
    display: grid;
    gap: 12px;
}

body.mzrp-product-page .mzvue-product-detail__purchase .single_variation_wrap {
    display: grid;
    gap: 10px;
}

body.mzrp-product-page .mzvue-product-detail__purchase .woocommerce-variation {
    display: grid;
    gap: 4px;
    min-height: 0;
    margin: 0;
    padding: 0;
}

body.mzrp-product-page .mzvue-product-detail__purchase .woocommerce-variation-price .price {
    color: var(--mzrp-product-ink);
    font-size: 21px;
    font-weight: 950;
}

body.mzrp-product-page .mzvue-product-detail__purchase .woocommerce-variation-description p {
    margin: 0;
    color: var(--mzrp-product-muted);
    font-size: 12px;
    line-height: 1.4;
}

body.mzrp-product-page .mzvue-product-detail__purchase .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 46px;
    gap: 9px;
    align-items: stretch;
}

body.mzrp-product-page .mzvue-product-detail__purchase .quantity,
body.mzrp-product-page .mzvue-product-detail__purchase .single_add_to_cart_button,
body.mzrp-product-page .mzvue-product-detail__purchase .mwl-btn--single {
    min-height: 48px;
    margin: 0 !important;
}

body.mzrp-product-page .mzvue-product-detail__purchase .single_add_to_cart_button,
body.mzrp-product-page .mzvue-product-detail__purchase .single_add_to_cart_button.alt {
    border-radius: 8px !important;
    background: var(--mzrp-product-red) !important;
    font-size: 13px;
    font-weight: 950 !important;
    letter-spacing: 0.025em;
}

body.mzrp-product-page .mzvue-product-detail__purchase .single_add_to_cart_button:hover,
body.mzrp-product-page .mzvue-product-detail__purchase .single_add_to_cart_button:focus-visible {
    background: var(--mzrp-product-red-dark) !important;
    outline: 3px solid rgba(245, 45, 50, 0.16);
    outline-offset: 2px;
}

body.mzrp-product-page .mzvue-product-detail__after {
    margin-top: clamp(40px, 6vw, 76px);
}

body.mzrp-product-page .mzrp-product-deep-dive {
    display: grid;
    gap: 24px;
    margin: 0;
}

body.mzrp-product-page .mzrp-section-heading {
    display: grid;
    gap: 7px;
    max-width: 720px;
}

body.mzrp-product-page .mzrp-section-heading h2 {
    margin: 0;
    color: var(--mzrp-product-ink);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 950;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

body.mzrp-product-page .mzrp-section-heading p {
    margin: 0;
    color: var(--mzrp-product-muted);
    font-size: 15px;
    line-height: 1.6;
}

body.mzrp-product-page .mzrp-how-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--mzrp-product-line);
    border-radius: 10px;
    background: #fff;
}

body.mzrp-product-page .mzrp-how-step {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 5px 12px;
    align-content: center;
    justify-items: stretch;
    min-height: 150px;
    padding: 22px;
    border: 0;
    border-right: 1px solid var(--mzrp-product-line);
    border-radius: 0;
    background: #fff;
    text-align: left;
}

body.mzrp-product-page .mzrp-how-step:last-child {
    border-right: 0;
}

body.mzrp-product-page .mzrp-how-icon {
    grid-row: 1 / span 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #eef7f3;
    box-shadow: none;
}

body.mzrp-product-page .mzrp-how-icon svg {
    width: 20px;
    height: 20px;
}

body.mzrp-product-page .mzrp-how-number {
    top: -7px;
    right: -7px;
    width: 20px;
    height: 20px;
    border-width: 2px;
    font-size: 10px;
}

body.mzrp-product-page .mzrp-how-step h3 {
    align-self: end;
    margin: 0;
    color: var(--mzrp-product-ink);
    font-size: 17px;
    font-weight: 950;
}

body.mzrp-product-page .mzrp-how-step p {
    align-self: start;
    margin: 0;
    color: var(--mzrp-product-muted);
    font-size: 13px;
    line-height: 1.5;
}

body.mzrp-product-page .mzrp-account-cta {
    display: flex;
    gap: 18px;
    align-items: center;
    justify-content: space-between;
    padding: 19px 22px;
    border: 1px solid #eadfca;
    border-radius: 10px;
    background: #fffaf0;
}

body.mzrp-product-page .mzrp-account-cta h3 {
    font-size: 18px;
    font-weight: 950;
}

body.mzrp-product-page .mzrp-account-cta p {
    font-size: 13px;
}

body.mzrp-product-page .mzrp-track-location {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.75fr);
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--mzrp-product-line);
    border-radius: 10px;
    background: #fff;
}

body.mzrp-product-page .mzrp-track-location__copy {
    display: grid;
    gap: 13px;
    align-content: center;
    padding: clamp(22px, 3vw, 34px);
}

body.mzrp-product-page .mzrp-track-location__copy h2 {
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 950;
}

body.mzrp-product-page .mzrp-track-location__copy p {
    font-size: 14px;
}

body.mzrp-product-page .mzrp-track-location__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
}

body.mzrp-product-page .mzrp-track-location__facts div {
    padding: 2px 13px;
    border: 0;
    border-right: 1px solid #e4e9ee;
    border-radius: 0;
    background: transparent;
}

body.mzrp-product-page .mzrp-track-location__facts div:first-child {
    padding-left: 0;
}

body.mzrp-product-page .mzrp-track-location__facts div:last-child {
    padding-right: 0;
    border-right: 0;
}

body.mzrp-product-page .mzrp-track-location__map {
    position: relative;
    isolation: isolate;
    display: block;
    min-height: 360px;
    overflow: hidden;
    margin: 0;
    padding: 0;
    background: #e9efe8;
}

body.mzrp-product-page .mzrp-track-location__map-preview,
body.mzrp-product-page .mzrp-track-location__map-embed,
body.mzrp-product-page .mzrp-track-location__map-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

body.mzrp-product-page .mzrp-track-location__map-preview {
    z-index: 1;
}

body.mzrp-product-page .mzrp-track-location__map-preview::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 42%, rgba(29, 45, 55, 0.08));
    pointer-events: none;
}

body.mzrp-product-page .mzrp-track-location__map-preview svg {
    display: block;
    width: 100%;
    height: 100%;
}

body.mzrp-product-page .mzrp-track-location__map-embed {
    z-index: 2;
    background: #e9efe8;
}

body.mzrp-product-page .mzrp-track-location__map-embed[hidden] {
    display: none;
}

body.mzrp-product-page .mzrp-track-location__map-embed iframe {
    border: 0;
}

body.mzrp-product-page .mzrp-track-location__map.is-loaded .mzrp-track-location__map-preview {
    visibility: hidden;
}

body.mzrp-product-page .mzrp-track-location__map-label {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    z-index: 4;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    align-items: center;
    padding: 11px;
    border: 1px solid rgba(255, 255, 255, 0.82);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 15px 34px rgba(32, 41, 54, 0.18);
    backdrop-filter: blur(10px);
}

body.mzrp-product-page .mzrp-track-location__map-address {
    display: flex;
    min-width: 0;
    gap: 9px;
    align-items: center;
}

body.mzrp-product-page .mzrp-track-location__map-address > i {
    position: relative;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50% 50% 50% 8px;
    background: #ff3155;
    box-shadow: 0 7px 15px rgba(255, 49, 85, 0.24);
    transform: rotate(-45deg) scale(0.72);
}

body.mzrp-product-page .mzrp-track-location__map-address > i::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: #fff;
}

body.mzrp-product-page .mzrp-track-location__map-address > span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

body.mzrp-product-page .mzrp-track-location__map-address strong,
body.mzrp-product-page .mzrp-track-location__map-address small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.mzrp-product-page .mzrp-track-location__map-address strong {
    color: var(--mzrp-product-ink);
    font-size: 13px;
    font-weight: 950;
}

body.mzrp-product-page .mzrp-track-location__map-address small {
    color: var(--mzrp-product-muted);
    font-size: 10px;
}

body.mzrp-product-page .mzrp-track-location__map-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

body.mzrp-product-page .mzrp-track-location__map-action,
body.mzrp-product-page .mzrp-track-location__map-settings {
    min-height: 40px;
    padding: 0 12px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.2;
    cursor: pointer;
}

body.mzrp-product-page .mzrp-track-location__map-action {
    border-color: #ff3155;
    background: #ff3155;
    color: #fff;
}

body.mzrp-product-page .mzrp-track-location__map-action:hover,
body.mzrp-product-page .mzrp-track-location__map-action:focus-visible {
    border-color: #d91f43;
    background: #d91f43;
}

body.mzrp-product-page .mzrp-track-location__map-settings {
    border-color: #cfd8df;
    background: #fff;
    color: var(--mzrp-product-ink);
}

body.mzrp-product-page .mzrp-track-location__map-action:focus-visible,
body.mzrp-product-page .mzrp-track-location__map-settings:focus-visible {
    outline: 3px solid rgba(255, 49, 85, 0.2);
    outline-offset: 2px;
}

body.mzrp-product-page .mzrp-track-location__map-status {
    grid-column: 1 / -1;
    min-height: 0;
    color: #667482;
    font-size: 10px;
    line-height: 1.35;
}

body.mzrp-product-page .mzrp-track-location__map-status:empty {
    display: none;
}

@media (max-width: 980px) {
    body.mzrp-product-page .mzrp-product-hero {
        grid-template-columns: 1fr;
        align-items: start;
    }

    body.mzrp-product-page .mzrp-product-hero__actions {
        justify-content: flex-start;
    }

    body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__main {
        grid-template-columns: minmax(280px, 0.8fr) minmax(380px, 1.2fr);
        gap: 28px;
    }

    body.mzrp-product-page .mzrp-how-step {
        grid-template-columns: 36px minmax(0, 1fr);
        padding: 18px;
    }

    body.mzrp-product-page .mzrp-track-location {
        grid-template-columns: 1fr;
    }

    body.mzrp-product-page .mzrp-track-location__map {
        aspect-ratio: 16 / 10;
        min-height: 0;
    }
}

@media (max-width: 760px) {
    body.mzrp-product-page .mzrp-product-hero {
        gap: 18px;
        margin-bottom: 22px;
        padding: 19px;
    }

    body.mzrp-product-page .mzrp-product-hero h1 {
        font-size: 40px;
    }

    body.mzrp-product-page .mzrp-product-hero__actions,
    body.mzrp-product-page .mzrp-product-hero__actions .button {
        width: 100%;
    }

    body.mzrp-product-page .mzrp-product-hero__stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.mzrp-product-page .mzrp-product-hero__stats div,
    body.mzrp-product-page .mzrp-product-hero__stats div:first-child,
    body.mzrp-product-page .mzrp-product-hero__stats div:last-child {
        padding: 0 0 10px;
        border-right: 0;
        border-bottom: 1px solid #e8edf2;
    }

    body.mzrp-product-page .mzrp-product-hero__stats div:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__main {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__media {
        position: static;
    }

    body.mzrp-product-page.mzvue-product-detail-page .mzvue-product-detail__image-frame {
        aspect-ratio: 1.12 / 1;
    }

    body.mzrp-product-page .mzrp-variant-swatches__options,
    body.mzrp-product-page .mzrp-guest-packages {
        grid-template-columns: 1fr;
    }

    body.mzrp-product-page .mzrp-variant-insights__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.mzrp-product-page .mzrp-login-required {
        grid-template-columns: 1fr;
    }

    body.mzrp-product-page .mzrp-login-required .button {
        grid-row: auto;
        grid-column: auto;
        width: 100%;
        margin-top: 4px;
    }

    body.mzrp-product-page .mzvue-product-detail__purchase .woocommerce-variation-add-to-cart {
        grid-template-columns: 88px minmax(0, 1fr) 46px;
    }

    body.mzrp-product-page .mzrp-how-grid {
        grid-template-columns: 1fr;
    }

    body.mzrp-product-page .mzrp-how-step {
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid var(--mzrp-product-line);
    }

    body.mzrp-product-page .mzrp-how-step:last-child {
        border-bottom: 0;
    }

    body.mzrp-product-page .mzrp-account-cta {
        align-items: stretch;
        flex-direction: column;
    }

    body.mzrp-product-page .mzrp-account-cta .button {
        width: 100%;
    }

    body.mzrp-product-page .mzrp-track-location__facts {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.mzrp-product-page .mzrp-track-location__facts div,
    body.mzrp-product-page .mzrp-track-location__facts div:first-child,
    body.mzrp-product-page .mzrp-track-location__facts div:last-child {
        padding: 0 0 9px;
        border-right: 0;
        border-bottom: 1px solid #e4e9ee;
    }

    body.mzrp-product-page .mzrp-track-location__facts div:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    body.mzrp-product-page .mzrp-track-location__map {
        aspect-ratio: 4 / 3;
        min-height: 300px;
    }

    body.mzrp-product-page .mzrp-track-location__map-label {
        right: 10px;
        bottom: 10px;
        left: 10px;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.mzrp-product-page .mzrp-track-location__map-controls {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    body.mzrp-product-page .mzrp-track-location__map-action,
    body.mzrp-product-page .mzrp-track-location__map-settings {
        width: 100%;
        min-height: 44px;
    }
}

@media (max-width: 440px) {
    body.mzrp-product-page .mzrp-variant-insights__grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.mzrp-product-page .mzrp-variant-insights__grid div,
    body.mzrp-product-page .mzrp-variant-insights__grid div:first-child,
    body.mzrp-product-page .mzrp-variant-insights__grid div:last-child {
        padding: 0 0 8px;
        border-right: 0;
        border-bottom: 1px solid #dfe7eb;
    }

    body.mzrp-product-page .mzrp-variant-insights__grid div:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }

    body.mzrp-product-page .mzvue-product-detail__purchase .woocommerce-variation-add-to-cart {
        grid-template-columns: 82px minmax(0, 1fr);
    }

    body.mzrp-product-page .mzvue-product-detail__purchase .mwl-btn--single {
        grid-column: 1 / -1;
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.mzrp-product-page *,
    body.mzrp-product-page *::before,
    body.mzrp-product-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}
