/* GRZ Porto Voucher Product Layout - scoped, Porto-safe styling */
body.grz-pvl-active .grz-pvl-template {
    background: transparent !important;
    min-height: 70vh;
    padding: 12px 0 68px;
    border: 0 !important;
}

body.grz-pvl-active .grz-pvl-template,
body.grz-pvl-active .grz-pvl-template * {
    box-sizing: border-box;
}

/* Remove common Porto/WooCommerce separators that can leak above the custom layout. */
body.grz-pvl-active.single-product .product,
body.grz-pvl-active.single-product .product-summary-wrap,
body.grz-pvl-active.single-product .summary-before,
body.grz-pvl-active.single-product .summary,
body.grz-pvl-active main.grz-pvl-template,
body.grz-pvl-active .grz-pvl-shell {
    border-top: 0 !important;
}

body.grz-pvl-active .grz-pvl-shell {
    --grz-pvl-accent: #ff3f8e;
    --grz-pvl-violet: #7457ff;
    --grz-pvl-bg: #fff;
    --grz-pvl-text: #070d1d;
    --grz-pvl-muted: #677086;
    --grz-pvl-soft: #f8f7f4;
    --grz-pvl-line: #e4e0d8;
    --grz-pvl-line-strong: #d8d3ca;
    --grz-pvl-shadow: 0 18px 45px rgba(30, 28, 22, 0.10);
    --grz-pvl-shadow-soft: 0 12px 28px rgba(30, 28, 22, 0.075);
    width: min(1280px, calc(100vw - 64px));
    margin: 0 auto;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color: var(--grz-pvl-text);
}

body.grz-pvl-active .grz-pvl-form.cart {
    display: block;
    margin: 0;
    padding: 0;
}

body.grz-pvl-active .grz-pvl-hero {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    gap: 34px;
    align-items: center;
    padding: 0 0 32px;
}

body.grz-pvl-active .grz-pvl-hero.no-description {
    padding-bottom: 28px;
}

body.grz-pvl-active .grz-pvl-hero.has-description {
    padding-bottom: 40px;
}

body.grz-pvl-active .grz-pvl-hero-media {
    display: flex;
    align-items: center;
    justify-content: center;
}

body.grz-pvl-active .grz-pvl-image-card,
body.grz-pvl-active .grz-pvl-fallback-card {
    width: 200px;
    height: 80px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 22px 42px rgba(35, 20, 60, 0.18);
}

body.grz-pvl-active .grz-pvl-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    display: block;
}

body.grz-pvl-active .grz-pvl-fallback-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 18px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background:
        radial-gradient(circle at 72% 32%, rgba(255, 63, 142, 0.42), transparent 36%),
        linear-gradient(135deg, #1b1238, #090720 70%);
}

body.grz-pvl-active .grz-pvl-fallback-card strong {
    font-size: 20px;
    line-height: 1;
    font-style: italic;
    font-weight: 900;
}

body.grz-pvl-active .grz-pvl-fallback-card span {
    margin-top: 8px;
    font-size: 10px;
    font-weight: 800;
}

body.grz-pvl-active .grz-pvl-eyebrow {
    margin-bottom: 8px;
    color: var(--grz-pvl-accent);
    font-size: 12px;
    line-height: 1.2;
    letter-spacing: 0.38em;
    text-transform: uppercase;
    font-weight: 800;
}

body.grz-pvl-active .grz-pvl-title {
    margin: 0;
    color: var(--grz-pvl-text);
    font-size: clamp(34px, 4vw, 46px);
    line-height: 0.98;
    font-weight: 900;
    letter-spacing: -0.06em;
}

body.grz-pvl-active .grz-pvl-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 0;
}

body.grz-pvl-active .grz-pvl-hero.has-description .grz-pvl-badges {
    margin-bottom: 16px;
}

body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon) {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 32px;
    padding: 0 14px;
    border: 1px solid var(--grz-pvl-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 8px 18px rgba(30, 28, 22, 0.04);
    color: #1d2638;
    font-size: 13px;
    font-weight: 800;
}

body.grz-pvl-active .grz-pvl-badge-icon {
    color: #111827;
    font-size: 14px;
    line-height: 1;
}

body.grz-pvl-active .grz-pvl-badge-flash {
    color: #17be72;
}

body.grz-pvl-active .grz-pvl-description {
    max-width: 760px;
    color: var(--grz-pvl-muted);
    font-size: 13px;
    line-height: 1.65;
}

body.grz-pvl-active .grz-pvl-description p {
    margin: 0 0 8px;
}

body.grz-pvl-active .grz-pvl-description strong,
body.grz-pvl-active .grz-pvl-description b {
    color: var(--grz-pvl-accent);
}

body.grz-pvl-active .grz-pvl-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 356px;
    gap: 26px;
    align-items: start;
}

body.grz-pvl-active .grz-pvl-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

body.grz-pvl-active .grz-pvl-section-head h2 {
    margin: 0;
    color: var(--grz-pvl-text);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -0.04em;
}

body.grz-pvl-active .grz-pvl-section-head p {
    margin: 0;
    color: var(--grz-pvl-muted);
    font-size: 12px;
    font-weight: 700;
}

body.grz-pvl-active .grz-pvl-ticket-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
}

body.grz-pvl-active .grz-pvl-ticket {
    --grz-pvl-ticket-split: 128px;
    --grz-pvl-ticket-radius: 14px;
    --grz-pvl-ticket-cut: 20px;
    appearance: none;
    position: relative;
    display: grid;
    grid-template-columns: var(--grz-pvl-ticket-split) minmax(0, 1fr) auto;
    align-items: center;
    gap: 0;
    width: 100%;
    min-height: 92px;
    padding: 0;
    border: 1px solid rgba(228, 224, 216, 0.98);
    border-radius: var(--grz-pvl-ticket-radius);
    background:
        radial-gradient(170px 92px at 8% -24%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0) 58%),
        linear-gradient(135deg, #fff 0%, #fff 58%, #fbfaf8 100%);
    color: var(--grz-pvl-text);
    box-shadow: var(--grz-pvl-shadow-soft);
    cursor: pointer;
    text-align: left;
    overflow: hidden;
    isolation: isolate;
    transition: border-color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

body.grz-pvl-active .grz-pvl-ticket:hover {
    transform: translateY(-1px);
    box-shadow: var(--grz-pvl-shadow);
}

body.grz-pvl-active .grz-pvl-ticket.is-selected {
    border-color: var(--grz-pvl-accent);
    background:
        radial-gradient(190px 98px at 8% -25%, rgba(255, 63, 142, 0.12), rgba(255, 63, 142, 0) 62%),
        linear-gradient(135deg, #fff 0%, #fff 60%, #fff8fb 100%);
    box-shadow: 0 18px 42px rgba(255, 63, 142, 0.10), var(--grz-pvl-shadow-soft);
}

body.grz-pvl-active .grz-pvl-ticket::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: calc(var(--grz-pvl-ticket-radius) - 1px);
    background:
        radial-gradient(210px 82px at 18% -18%, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0) 62%),
        linear-gradient(110deg, rgba(255, 255, 255, 0.62), rgba(255, 255, 255, 0) 45%);
    pointer-events: none;
    z-index: 0;
}

body.grz-pvl-active .grz-pvl-ticket.is-selected::before {
    background:
        radial-gradient(210px 82px at 18% -18%, rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0) 62%),
        radial-gradient(180px 80px at var(--grz-pvl-ticket-split) 0, rgba(255, 63, 142, 0.10), rgba(255, 63, 142, 0) 58%);
}

body.grz-pvl-active .grz-pvl-ticket::after {
    content: "";
    position: absolute;
    top: calc((var(--grz-pvl-ticket-cut) / 2) + 8px);
    bottom: calc((var(--grz-pvl-ticket-cut) / 2) + 8px);
    left: var(--grz-pvl-ticket-split);
    border-left: 1px dashed #d9d5ce;
    pointer-events: none;
    z-index: 1;
}

body.grz-pvl-active .grz-pvl-ticket.is-selected::after {
    border-left-color: rgba(255, 63, 142, 0.30);
}

body.grz-pvl-active .grz-pvl-notch {
    position: absolute;
    left: var(--grz-pvl-ticket-split);
    width: var(--grz-pvl-ticket-cut);
    height: var(--grz-pvl-ticket-cut);
    margin-left: calc(var(--grz-pvl-ticket-cut) / -2);
    border: 1px solid rgba(228, 224, 216, 0.98);
    border-radius: 999px;
    background: var(--grz-pvl-bg, #fff);
    box-shadow: none;
    pointer-events: none;
    z-index: 6;
}

body.grz-pvl-active .grz-pvl-ticket.is-selected .grz-pvl-notch {
    border-color: var(--grz-pvl-accent);
    background: var(--grz-pvl-bg, #fff);
}

body.grz-pvl-active .grz-pvl-notch-top {
    top: calc(var(--grz-pvl-ticket-cut) / -2);
}

body.grz-pvl-active .grz-pvl-notch-bottom {
    bottom: calc(var(--grz-pvl-ticket-cut) / -2);
}

body.grz-pvl-active .grz-pvl-ticket-denom,
body.grz-pvl-active .grz-pvl-ticket-body,
body.grz-pvl-active .grz-pvl-ticket-price {
    position: relative;
    z-index: 2;
}

body.grz-pvl-active .grz-pvl-ticket-denom {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    padding: 12px 12px;
}

body.grz-pvl-active .grz-pvl-ticket-denom strong {
    font-size: 26px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.06em;
}

body.grz-pvl-active .grz-pvl-ticket-denom i {
    display: block;
    width: 14px;
    height: 14px;
    margin: 8px 0 7px;
    border-radius: 4px;
    transform: rotate(45deg);
    background: var(--grz-pvl-accent);
    opacity: 0.88;
}

body.grz-pvl-active .grz-pvl-ticket-denom small {
    color: #8b8491;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.28em;
    font-weight: 900;
}

body.grz-pvl-active .grz-pvl-ticket-body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: 13px 8px 13px 22px;
}

body.grz-pvl-active .grz-pvl-ticket-name {
    display: block;
    color: #171b28;
    font-size: 15px;
    line-height: 1.12;
    font-weight: 850;
    letter-spacing: -0.02em;
}

body.grz-pvl-active .grz-pvl-ticket-name em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    border-radius: 50%;
    background: #16bd70;
    color: #fff;
    font-style: normal;
    font-size: 12px;
    vertical-align: 1px;
}

body.grz-pvl-active .grz-pvl-ticket-note {
    display: block;
    margin-top: 8px;
    color: var(--grz-pvl-muted);
    font-size: 12px;
    font-weight: 700;
}

body.grz-pvl-active .grz-pvl-ticket-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    min-width: 96px;
    padding: 13px 14px 13px 0;
}

body.grz-pvl-active .grz-pvl-ticket-price del {
    color: #9b968e;
    font-size: 12px;
    line-height: 1.1;
    font-weight: 700;
}

body.grz-pvl-active .grz-pvl-ticket-price strong,
body.grz-pvl-active .grz-pvl-ticket-price strong .woocommerce-Price-amount {
    margin-top: 3px;
    color: var(--grz-pvl-accent);
    font-size: 19px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.04em;
    white-space: nowrap;
}

body.grz-pvl-active .grz-pvl-ticket-price small {
    display: inline-flex;
    align-items: center;
    height: 22px;
    margin-top: 8px;
    padding: 0 7px;
    border-radius: 7px;
    background: rgba(23, 190, 114, 0.12);
    color: #0dae64;
    font-size: 10px;
    font-weight: 950;
    white-space: nowrap;
}

body.grz-pvl-active .grz-pvl-empty {
    padding: 22px;
    border: 1px solid var(--grz-pvl-line);
    border-radius: 14px;
    background: #fff;
    color: var(--grz-pvl-muted);
    box-shadow: var(--grz-pvl-shadow-soft);
}

body.grz-pvl-active .grz-pvl-side {
    display: grid;
    gap: 14px;
}

body.grz-pvl-active .grz-pvl-panel {
    border: 1px solid var(--grz-pvl-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(30, 28, 22, 0.075);
}

body.grz-pvl-active .grz-pvl-order-info {
    padding: 14px;
}

body.grz-pvl-active .grz-pvl-order-info h3 {
    margin: 0 0 14px;
    color: var(--grz-pvl-text);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.grz-pvl-active .grz-pvl-order-info label,
body.grz-pvl-active .grz-pvl-qty-panel label {
    display: block;
    margin-bottom: 8px;
    color: #687084;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

body.grz-pvl-active .grz-pvl-input-wrap {
    position: relative;
}

body.grz-pvl-active .grz-pvl-input-wrap input {
    width: 100%;
    min-height: 46px;
    padding: 0 48px 0 16px;
    border: 1px solid #dedad4;
    border-radius: 12px;
    background: #fff;
    color: var(--grz-pvl-text);
    outline: none;
    box-shadow: none;
    font-size: 14px;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

body.grz-pvl-active .grz-pvl-input-wrap input:focus {
    border-color: var(--grz-pvl-accent);
    box-shadow: 0 0 0 4px rgba(255, 63, 142, 0.10);
}

body.grz-pvl-active .grz-pvl-input-wrap span {
    position: absolute;
    top: 50%;
    right: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    transform: translateY(-50%);
    border: 1px solid #dad5cd;
    border-radius: 50%;
    color: #98938b;
    font-size: 13px;
    font-weight: 800;
}

body.grz-pvl-active .grz-pvl-qty-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px;
}

body.grz-pvl-active .grz-pvl-qty-panel label {
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
    font-size: 14px;
    color: #626a7d;
}

body.grz-pvl-active .grz-pvl-stepper {
    display: grid;
    grid-template-columns: 46px 50px 46px;
    height: 46px;
    overflow: hidden;
    border: 1px solid #dedad4;
    border-radius: 12px;
    background: #fff;
}

body.grz-pvl-active .grz-pvl-stepper button,
body.grz-pvl-active .grz-pvl-stepper input {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: var(--grz-pvl-text);
    box-shadow: none;
    font-size: 18px;
    font-weight: 900;
    text-align: center;
    appearance: textfield;
}

body.grz-pvl-active .grz-pvl-stepper button {
    cursor: pointer;
}

body.grz-pvl-active .grz-pvl-stepper button:hover {
    background: #f6f4ef;
}

body.grz-pvl-active .grz-pvl-stepper input {
    border-right: 1px solid #ece8e0;
    border-left: 1px solid #ece8e0;
    font-size: 15px;
}

body.grz-pvl-active .grz-pvl-stepper input::-webkit-outer-spin-button,
body.grz-pvl-active .grz-pvl-stepper input::-webkit-inner-spin-button {
    margin: 0;
    appearance: none;
}

body.grz-pvl-active .grz-pvl-total-panel {
    padding: 20px;
}

body.grz-pvl-active .grz-pvl-total-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

body.grz-pvl-active .grz-pvl-total-row > strong {
    color: var(--grz-pvl-text);
    font-size: 18px;
    font-weight: 950;
}

body.grz-pvl-active .grz-pvl-total-row > div {
    text-align: right;
}

body.grz-pvl-active .grz-pvl-total-amount,
body.grz-pvl-active .grz-pvl-total-amount .woocommerce-Price-amount {
    display: block;
    color: var(--grz-pvl-accent);
    font-size: 27px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -0.05em;
    white-space: nowrap;
}

body.grz-pvl-active .grz-pvl-credits {
    display: block;
    margin-top: 4px;
    color: #9a948f;
    font-size: 11px;
    font-weight: 800;
}

body.grz-pvl-active .grz-pvl-actions {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
}

body.grz-pvl-active .grz-pvl-cart-btn,
body.grz-pvl-active .grz-pvl-buy-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    margin: 0;
    padding: 0 16px;
    appearance: none;
    text-transform: none;
    border: 0;
    border-radius: 12px;
    box-shadow: none;
    color: #fff;
    cursor: pointer;
    line-height: 1;
    text-decoration: none;
    transition: transform 0.16s ease, filter 0.16s ease, box-shadow 0.16s ease;
}

body.grz-pvl-active .grz-pvl-cart-btn:hover,
body.grz-pvl-active .grz-pvl-buy-btn:hover {
    transform: translateY(-1px);
    filter: brightness(1.02);
}

body.grz-pvl-active .grz-pvl-cart-btn {
    min-width: 60px;
    max-width: 60px;
    padding: 0;
    background: linear-gradient(135deg, var(--grz-pvl-violet), #684dff);
    box-shadow: 0 14px 28px rgba(116, 87, 255, 0.18);
}

body.grz-pvl-active .grz-pvl-cart-icon,
body.grz-pvl-active .grz-pvl-cart-icon svg {
    display: block;
}

body.grz-pvl-active .grz-pvl-cart-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.grz-pvl-active .grz-pvl-buy-btn {
    background: var(--grz-pvl-accent);
    box-shadow: 0 14px 28px rgba(255, 63, 142, 0.18);
    font-size: 15px;
    font-weight: 950;
    letter-spacing: 0.01em;
}

body.grz-pvl-active .grz-pvl-save-future {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 15px 0 0;
    color: #757d8e;
    font-size: 13px;
    font-weight: 700;
}

body.grz-pvl-active .grz-pvl-save-future input {
    width: 17px;
    height: 17px;
    margin: 0;
    border-radius: 4px;
}

body.grz-pvl-active .woocommerce-notices-wrapper,
body.grz-pvl-active .woocommerce-error,
body.grz-pvl-active .woocommerce-message,
body.grz-pvl-active .woocommerce-info {
    width: min(1280px, calc(100vw - 64px));
    margin-right: auto;
    margin-left: auto;
}

@media (max-width: 1080px) {
    body.grz-pvl-active .grz-pvl-main {
        grid-template-columns: 1fr;
    }

    body.grz-pvl-active .grz-pvl-side {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
    }

    body.grz-pvl-active .grz-pvl-total-panel {
        grid-column: span 3;
    }
}

@media (max-width: 820px) {
    body.grz-pvl-active .grz-pvl-template {
        padding-top: 12px;
    }

    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description {
        grid-template-columns: 1fr;
        gap: 22px;
        padding-bottom: 34px;
        text-align: left;
    }

    body.grz-pvl-active .grz-pvl-hero-media {
        justify-content: flex-start;
    }

    body.grz-pvl-active .grz-pvl-ticket-grid {
        grid-template-columns: 1fr;
    }

    body.grz-pvl-active .grz-pvl-side {
        grid-template-columns: 1fr;
    }

    body.grz-pvl-active .grz-pvl-total-panel {
        grid-column: auto;
    }
}

@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-shell {
        width: min(100% - 22px, 1138px);
    }

    body.grz-pvl-active .grz-pvl-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    body.grz-pvl-active .grz-pvl-ticket {
        --grz-pvl-ticket-split: 104px;
        grid-template-columns: var(--grz-pvl-ticket-split) minmax(0, 1fr);
        min-height: 106px;
    }

    body.grz-pvl-active .grz-pvl-ticket-price {
        grid-column: 2;
        align-items: flex-start;
        padding: 0 14px 14px 18px;
    }

    body.grz-pvl-active .grz-pvl-ticket-denom strong {
        font-size: 23px;
    }

    body.grz-pvl-active .grz-pvl-ticket-body {
        padding-left: 18px;
        padding-bottom: 4px;
    }

    body.grz-pvl-active .grz-pvl-total-row {
        align-items: flex-start;
        flex-direction: column;
    }

    body.grz-pvl-active .grz-pvl-total-row > div {
        text-align: left;
    }
}

/* v1.0.3 final Porto cleanup + aligned production layout */
body.grz-pvl-active,
body.grz-pvl-active .page-wrapper,
body.grz-pvl-active .main-content,
body.grz-pvl-active #main,
body.grz-pvl-active #content,
body.grz-pvl-active .site-main,
body.grz-pvl-active .woocommerce,
body.grz-pvl-active .product,
body.grz-pvl-active .product-summary-wrap,
body.grz-pvl-active .summary-before,
body.grz-pvl-active .summary,
body.grz-pvl-active .grz-pvl-template,
body.grz-pvl-active .grz-pvl-shell,
body.grz-pvl-active .grz-pvl-left {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none;
    background-image: none !important;
}

body.grz-pvl-active .grz-pvl-template::before,
body.grz-pvl-active .grz-pvl-template::after,
body.grz-pvl-active .grz-pvl-shell::before,
body.grz-pvl-active .grz-pvl-shell::after,
body.grz-pvl-active .product-summary-wrap::before,
body.grz-pvl-active .product-summary-wrap::after,
body.grz-pvl-active .woocommerce::before,
body.grz-pvl-active .woocommerce::after {
    display: none !important;
    content: none !important;
}

body.grz-pvl-active .grz-pvl-shell {
    width: min(1280px, calc(100vw - 64px));
}

body.grz-pvl-active .grz-pvl-hero {
    padding-bottom: 30px;
}

body.grz-pvl-active .grz-pvl-hero.no-description {
    padding-bottom: 28px;
}

body.grz-pvl-active .grz-pvl-hero.has-description {
    padding-bottom: 40px;
}

body.grz-pvl-active .grz-pvl-left {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.grz-pvl-active .grz-pvl-main {
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 30px;
    align-items: start;
}

body.grz-pvl-active .grz-pvl-section-head {
    min-height: 28px;
    margin-bottom: 12px;
}

body.grz-pvl-active .grz-pvl-section-head p {
    display: none !important;
}

/* Put the order column next to the first voucher row, not next to the title line. */
body.grz-pvl-active .grz-pvl-side {
    padding-top: 40px;
    gap: 14px;
}

/* Ticket card: cleaner real-cut appearance. The white notches cover the straight border and let the card light feel clipped. */
body.grz-pvl-active .grz-pvl-ticket {
    --grz-pvl-ticket-split: 132px;
    --grz-pvl-ticket-radius: 14px;
    --grz-pvl-ticket-cut: 22px;
    border: 0 !important;
    border-radius: var(--grz-pvl-ticket-radius);
    overflow: hidden;
    background:
        radial-gradient(210px 104px at 8% -28%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0) 62%),
        linear-gradient(135deg, #fff 0%, #fff 58%, #fbfaf8 100%);
    box-shadow: inset 0 0 0 1px rgba(224, 220, 213, 0.98), var(--grz-pvl-shadow-soft);
}

body.grz-pvl-active .grz-pvl-ticket:hover {
    box-shadow: inset 0 0 0 1px rgba(214, 209, 201, 0.98), var(--grz-pvl-shadow);
}

body.grz-pvl-active .grz-pvl-ticket.is-selected {
    border: 0 !important;
    background:
        radial-gradient(220px 108px at 8% -26%, rgba(255, 63, 142, 0.13), rgba(255, 63, 142, 0) 64%),
        linear-gradient(135deg, #fff 0%, #fff 58%, #fff7fb 100%);
    box-shadow: inset 0 0 0 1.5px var(--grz-pvl-accent), 0 18px 42px rgba(255, 63, 142, 0.10), var(--grz-pvl-shadow-soft);
}

body.grz-pvl-active .grz-pvl-ticket::before {
    inset: 0;
    border-radius: inherit;
    background:
        radial-gradient(240px 104px at 18% -16%, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0) 62%),
        linear-gradient(110deg, rgba(255, 255, 255, 0.36), rgba(255, 255, 255, 0) 48%);
}

body.grz-pvl-active .grz-pvl-ticket::after {
    top: 17px;
    bottom: 17px;
    left: var(--grz-pvl-ticket-split);
    border-left-color: rgba(214, 210, 203, 0.92);
}

body.grz-pvl-active .grz-pvl-ticket.is-selected::after {
    border-left-color: rgba(255, 63, 142, 0.24);
}

body.grz-pvl-active .grz-pvl-notch {
    left: var(--grz-pvl-ticket-split);
    width: var(--grz-pvl-ticket-cut);
    height: var(--grz-pvl-ticket-cut);
    margin-left: calc(var(--grz-pvl-ticket-cut) / -2);
    background: var(--grz-pvl-bg, #fff);
    border: 1px solid rgba(224, 220, 213, 0.98);
    border-radius: 999px;
    box-shadow: 0 0 0 4px var(--grz-pvl-bg, #fff);
    z-index: 7;
}

body.grz-pvl-active .grz-pvl-ticket.is-selected .grz-pvl-notch {
    border-color: var(--grz-pvl-accent);
    box-shadow: 0 0 0 4px var(--grz-pvl-bg, #fff);
}

body.grz-pvl-active .grz-pvl-notch-top {
    top: calc(var(--grz-pvl-ticket-cut) / -2);
}

body.grz-pvl-active .grz-pvl-notch-bottom {
    bottom: calc(var(--grz-pvl-ticket-cut) / -2);
}

body.grz-pvl-active .grz-pvl-ticket-denom {
    min-height: 90px;
}

body.grz-pvl-active .grz-pvl-ticket-price {
    min-width: 102px;
}

/* Compact, aligned panels matching the final layout. */
body.grz-pvl-active .grz-pvl-panel {
    border-radius: 14px;
    box-shadow: 0 14px 34px rgba(30, 28, 22, 0.065);
}

body.grz-pvl-active .grz-pvl-order-info,
body.grz-pvl-active .grz-pvl-qty-panel,
body.grz-pvl-active .grz-pvl-total-panel {
    padding: 20px;
}

body.grz-pvl-active .grz-pvl-total-panel {
    padding-bottom: 20px;
}

body.grz-pvl-active .grz-pvl-total-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 18px;
    margin-bottom: 18px;
}

body.grz-pvl-active .grz-pvl-total-row > strong {
    align-self: start;
    margin-top: 5px;
    line-height: 1;
    font-size: 22px;
    letter-spacing: -0.05em;
}

body.grz-pvl-active .grz-pvl-total-row > div {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    min-width: 0;
    text-align: right;
}

body.grz-pvl-active .grz-pvl-total-amount,
body.grz-pvl-active .grz-pvl-total-amount .woocommerce-Price-amount {
    font-size: 29px;
    line-height: 1;
}

body.grz-pvl-active .grz-pvl-credits {
    margin-top: 6px;
    font-size: 11px;
}

body.grz-pvl-active .grz-pvl-actions {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
}

body.grz-pvl-active .grz-pvl-cart-btn,
body.grz-pvl-active .grz-pvl-buy-btn {
    min-height: 58px;
}

body.grz-pvl-active .grz-pvl-cart-btn {
    min-width: 64px;
    max-width: 64px;
}

body.grz-pvl-active .grz-pvl-save-future {
    display: none !important;
}

@media (max-width: 1080px) {
    body.grz-pvl-active .grz-pvl-shell {
        width: min(100% - 34px, 1138px);
    }

    body.grz-pvl-active .grz-pvl-main {
        grid-template-columns: 1fr;
    }

    body.grz-pvl-active .grz-pvl-side {
        padding-top: 0;
    }
}

@media (max-width: 820px) {
    body.grz-pvl-active .grz-pvl-shell {
        width: min(100% - 24px, 1138px);
    }

    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description {
        padding-bottom: 26px;
    }
}

@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket {
        --grz-pvl-ticket-split: 104px;
        --grz-pvl-ticket-cut: 20px;
    }

    body.grz-pvl-active .grz-pvl-total-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.grz-pvl-active .grz-pvl-total-row > strong {
        margin-top: 0;
    }

    body.grz-pvl-active .grz-pvl-total-row > div {
        align-items: flex-start;
        text-align: left;
    }
}


/* v1.0.4 final alignment + simplified voucher body */
body.grz-pvl-active .grz-pvl-side {
    /* Align the top of Order information with the first ticket row, not with the heading. */
    padding-top: 60px !important;
}

body.grz-pvl-active .grz-pvl-section-head {
    min-height: 28px;
    margin-bottom: 14px;
}

body.grz-pvl-active .grz-pvl-ticket {
    --grz-pvl-ticket-split: 120px;
    grid-template-columns: var(--grz-pvl-ticket-split) minmax(88px, 1fr) minmax(118px, auto);
}

body.grz-pvl-active .grz-pvl-ticket-body {
    padding: 13px 6px 13px 20px;
    justify-content: center;
}

body.grz-pvl-active .grz-pvl-ticket-note-main {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 0;
    color: #536077;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

body.grz-pvl-active .grz-pvl-ticket-note-main em {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #16bd70;
    color: #fff;
    font-style: normal;
    font-size: 12px;
    line-height: 1;
}

body.grz-pvl-active .grz-pvl-ticket-price {
    min-width: 118px;
    padding-right: 12px;
}

body.grz-pvl-active .grz-pvl-ticket-price del,
body.grz-pvl-active .grz-pvl-ticket-price strong,
body.grz-pvl-active .grz-pvl-ticket-price .woocommerce-Price-amount,
body.grz-pvl-active .grz-pvl-total-amount,
body.grz-pvl-active .grz-pvl-total-amount .woocommerce-Price-amount {
    direction: ltr;
    unicode-bidi: isolate;
}

body.grz-pvl-active .grz-pvl-ticket-price strong,
body.grz-pvl-active .grz-pvl-ticket-price strong .woocommerce-Price-amount {
    font-size: 18px;
}

body.grz-pvl-active .grz-pvl-ticket-price del {
    white-space: nowrap;
}

body.grz-pvl-active .grz-pvl-total-row {
    align-items: center;
}

body.grz-pvl-active .grz-pvl-total-row > strong {
    margin-top: 0;
}

@media (max-width: 1080px) {
    body.grz-pvl-active .grz-pvl-side {
        padding-top: 0 !important;
    }
}

@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket {
        --grz-pvl-ticket-split: 104px;
        grid-template-columns: var(--grz-pvl-ticket-split) minmax(0, 1fr);
    }

    body.grz-pvl-active .grz-pvl-ticket-note-main {
        white-space: normal;
    }

    body.grz-pvl-active .grz-pvl-ticket-price {
        min-width: 0;
        padding-right: 14px;
    }
}


/* v1.0.5 product-level note controls + related products refresh */
body.grz-pvl-active .grz-pvl-ticket-note-main {
    gap: 8px;
}

body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon {
    width: 18px;
    height: 18px;
    min-width: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #16bd70;
    color: #fff;
    padding: 3px;
}

body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--rocket {
    background: #4f7cff;
}
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--shield,
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--check {
    background: #16a34a;
}
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--controller {
    background: #7c4dff;
}
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--diamond {
    background: #0ea5b7;
}
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--fire {
    background: #ff6a3d;
}
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--star {
    background: #ffb300;
}

body.grz-pvl-active .grz-pvl-main,
body.grz-pvl-active .grz-pvl-left,
body.grz-pvl-active .grz-pvl-ticket-grid,
body.grz-pvl-active .grz-pvl-left::after,
body.grz-pvl-active .grz-pvl-shell::after {
    border-bottom: 0 !important;
}

body.grz-pvl-active .grz-pvl-left hr,
body.grz-pvl-active .grz-pvl-main hr,
body.grz-pvl-active .grz-pvl-shell hr,
body.grz-pvl-active .grz-pvl-template hr {
    display: none !important;
}

/* Related products styling that matches the custom voucher theme */
body.grz-pvl-active .related.products,
body.grz-pvl-active .upsells.products,
body.grz-pvl-active .cross-sells {
    margin-top: 34px !important;
    padding-top: 0 !important;
    border-top: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}

body.grz-pvl-active .related.products::before,
body.grz-pvl-active .related.products::after,
body.grz-pvl-active .upsells.products::before,
body.grz-pvl-active .upsells.products::after {
    display: none !important;
    content: none !important;
}

body.grz-pvl-active .related.products > h2,
body.grz-pvl-active .upsells.products > h2,
body.grz-pvl-active .cross-sells > h2,
body.grz-pvl-active .related.products .title,
body.grz-pvl-active .upsells.products .title {
    margin: 0 0 18px !important;
    color: var(--grz-pvl-text) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: -0.04em !important;
    text-transform: none !important;
    border: 0 !important;
}

body.grz-pvl-active .related.products ul.products,
body.grz-pvl-active .upsells.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px !important;
    margin: 0 !important;
}

body.grz-pvl-active .related.products ul.products li.product,
body.grz-pvl-active .upsells.products ul.products li.product {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 16px !important;
    border: 1px solid rgba(228,224,216,.98) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg,#fff 0%,#fff 64%,#fbfaf8 100%) !important;
    box-shadow: var(--grz-pvl-shadow-soft) !important;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

body.grz-pvl-active .related.products ul.products li.product:hover,
body.grz-pvl-active .upsells.products ul.products li.product:hover {
    transform: translateY(-2px);
    border-color: rgba(255,63,142,.3) !important;
    box-shadow: var(--grz-pvl-shadow) !important;
}

body.grz-pvl-active .related.products li.product .product-image,
body.grz-pvl-active .related.products li.product .product-image-inner,
body.grz-pvl-active .related.products li.product .img-thumbnail,
body.grz-pvl-active .upsells.products li.product .product-image,
body.grz-pvl-active .upsells.products li.product .product-image-inner,
body.grz-pvl-active .upsells.products li.product .img-thumbnail {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

body.grz-pvl-active .related.products li.product .woocommerce-loop-product__title,
body.grz-pvl-active .related.products li.product h3,
body.grz-pvl-active .upsells.products li.product .woocommerce-loop-product__title,
body.grz-pvl-active .upsells.products li.product h3 {
    color: var(--grz-pvl-text) !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: -0.02em !important;
    margin: 14px 0 8px !important;
}

body.grz-pvl-active .related.products li.product .price,
body.grz-pvl-active .upsells.products li.product .price {
    color: var(--grz-pvl-accent) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    margin: 8px 0 12px !important;
}

body.grz-pvl-active .related.products li.product .price del,
body.grz-pvl-active .upsells.products li.product .price del {
    opacity: .55;
    margin-right: 6px;
}

body.grz-pvl-active .related.products li.product .button,
body.grz-pvl-active .related.products li.product .add_to_cart_button,
body.grz-pvl-active .related.products li.product .product_type_variable,
body.grz-pvl-active .upsells.products li.product .button,
body.grz-pvl-active .upsells.products li.product .add_to_cart_button,
body.grz-pvl-active .upsells.products li.product .product_type_variable {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(90deg, #ff3f8e, #ff2f84) !important;
    color: #fff !important;
    font-weight: 800 !important;
    text-transform: none !important;
    box-shadow: 0 14px 28px rgba(255,63,142,.22) !important;
}


/* v1.0.6 alignment + stronger separator cleanup */
body.grz-pvl-active .grz-pvl-side {
    align-self: start;
}

body.grz-pvl-active .grz-pvl-shell + *,
body.grz-pvl-active .grz-pvl-shell ~ *,
body.grz-pvl-active .single-product div.related,
body.grz-pvl-active .single-product section.related,
body.grz-pvl-active .single-product .products-related,
body.grz-pvl-active .single-product .products-related-wrap,
body.grz-pvl-active .single-product .products.related,
body.grz-pvl-active .single-product .related.products,
body.grz-pvl-active .single-product .upsells.products,
body.grz-pvl-active .single-product .woocommerce-tabs,
body.grz-pvl-active .single-product .product-share,
body.grz-pvl-active .single-product .share-links,
body.grz-pvl-active .single-product .summary-before,
body.grz-pvl-active .single-product .summary-after {
    border-top: 0 !important;
}

body.grz-pvl-active .single-product .products-related::before,
body.grz-pvl-active .single-product .products-related::after,
body.grz-pvl-active .single-product .products-related-wrap::before,
body.grz-pvl-active .single-product .products-related-wrap::after,
body.grz-pvl-active .single-product .related.products::before,
body.grz-pvl-active .single-product .related.products::after,
body.grz-pvl-active .single-product .upsells.products::before,
body.grz-pvl-active .single-product .upsells.products::after,
body.grz-pvl-active .single-product .woocommerce-tabs::before,
body.grz-pvl-active .single-product .woocommerce-tabs::after {
    display: none !important;
    content: none !important;
}

body.grz-pvl-active .related.products,
body.grz-pvl-active .upsells.products {
    position: relative;
    padding: 10px 0 0 !important;
}

body.grz-pvl-active .related.products > h2,
body.grz-pvl-active .upsells.products > h2,
body.grz-pvl-active .cross-sells > h2 {
    padding-left: 2px !important;
}

/* Product API fields rendered inside the Porto voucher layout.
   The API plugin still owns validation/data; these rules make its fields inherit
   the light GRZ product-layout card instead of the standalone dark validator box. */
body.grz-pvl-active .grz-caller-box--pvl {
    width: auto;
    margin: 0;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-box-inner {
    position: static;
    overflow: visible;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--grz-pvl-text);
    box-shadow: none;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-box-inner::before {
    display: none;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-title-pvl {
    margin: 0 0 14px;
    color: var(--grz-pvl-text);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: -0.02em;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-product-line {
    display: flex;
    gap: 7px;
    flex-wrap: wrap;
    margin: -4px 0 12px;
    color: #837d73;
    font-size: 11px;
    font-weight: 800;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-product-name,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-sku-name {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 4px 8px;
    border: 1px solid #ebe7df;
    border-radius: 999px;
    background: #fbfaf8;
    color: #837d73;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-label {
    display: block;
    margin: 12px 0 8px;
    color: #687084;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-transform: uppercase;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-label::after {
    content: " *";
    color: var(--grz-pvl-accent);
    font-weight: 950;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-user-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: stretch;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-user-id,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-zone-id,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-player-name-display,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-server-id,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-profile-id {
    width: 100%;
    min-height: 46px;
    height: 46px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #dedad4;
    border-radius: 12px;
    background: #fff;
    color: var(--grz-pvl-text);
    outline: none;
    box-shadow: none;
    font-size: 14px;
    line-height: 46px;
    box-sizing: border-box;
    transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-user-id::placeholder,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-zone-id::placeholder,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-player-name-display::placeholder {
    color: #aaa49a;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-user-id:focus,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-zone-id:focus,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-player-name-display:focus,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-server-id:focus,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-profile-id:focus {
    border-color: var(--grz-pvl-accent);
    box-shadow: 0 0 0 4px rgba(255, 63, 142, 0.10);
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-player-name-display[readonly] {
    border-color: #cdebd8;
    background: #fbfffc;
    color: var(--grz-pvl-text);
    opacity: 1;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-player-name-display.is-manual {
    border-color: #f1cc82;
    background: #fffaf0;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn.button,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 46px;
    height: 46px;
    margin: 0;
    padding: 0 14px;
    border: 0 !important;
    border-radius: 12px;
    background: var(--grz-pvl-violet) !important;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(116, 87, 255, 0.18);
    font-size: 13px;
    font-weight: 950;
    line-height: 1;
    text-transform: none;
    white-space: nowrap;
    cursor: pointer;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn:hover,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn:focus {
    filter: brightness(1.04);
    transform: translateY(-1px);
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn[disabled] {
    opacity: 0.62;
    cursor: not-allowed;
    filter: none;
    transform: none;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-server-wrap,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-zone-wrap,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-name-wrap,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-profile-wrap {
    margin-top: 12px;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-status {
    min-height: 18px;
    margin: 9px 0 0;
    font-size: 12px;
    font-weight: 900;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-status.is-error {
    color: #d9365e;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-status.is-success {
    color: #168a43;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-status.is-loading,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-status.is-info {
    color: #5f66d8;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-status.is-manual {
    color: #a36a00;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-wrap {
    margin: 10px 0 0;
    padding: 10px;
    border: 1px solid #ebe7df;
    border-radius: 12px;
    background: #fbfaf8;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-title {
    margin: 0 0 8px;
    color: #837d73;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-account {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid #e3ded5;
    border-radius: 999px;
    background: #fff;
    color: var(--grz-pvl-text);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.1;
    cursor: pointer;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-account:hover,
body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-account:focus {
    border-color: #ffc2d8;
    background: #fff7fa;
    outline: none;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-id {
    color: var(--grz-pvl-text);
    white-space: nowrap;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-sub {
    max-width: 180px;
    overflow: hidden;
    color: #8d877e;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-action {
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 999px;
    background: #eefbf2;
    color: #168a43;
    font-size: 10px;
    font-weight: 950;
    white-space: nowrap;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-name-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-name-label::before {
    content: "✓";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #dcfce7;
    color: #168a43;
    font-size: 11px;
    font-weight: 950;
}

body.grz-pvl-active .grz-caller-box--pvl .grz-caller-name-wrap.is-manual .grz-caller-name-label::before {
    content: "!";
    background: #fff3d2;
    color: #a36a00;
}

@media (max-width: 520px) {
    body.grz-pvl-active .grz-caller-box--pvl .grz-caller-user-row {
        grid-template-columns: 1fr;
    }

    body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn.button,
    body.grz-pvl-active .grz-caller-box--pvl .grz-caller-validate-btn {
        width: 100%;
    }

    body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-list {
        flex-direction: column;
    }

    body.grz-pvl-active .grz-caller-box--pvl .grz-caller-saved-account {
        width: 100%;
        justify-content: space-between;
        border-radius: 10px;
    }
}



/* v1.0.15 — compact Product API order-information bar + modal bridge. */
body.grz-pvl-active .grz-caller-box--compact.grz-caller-box--pvl {
    padding: 16px !important;
    margin: 0 !important;
}
body.grz-pvl-active .grz-caller-box--compact.grz-caller-box--pvl .grz-caller-box-inner {
    position: relative !important;
    overflow: visible !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--grz-pvl-text) !important;
    box-shadow: none !important;
}
body.grz-pvl-active .grz-caller-box--compact.grz-caller-box--pvl .grz-caller-box-inner::before {
    display: none !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-compact-head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 0 10px !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-title-pvl {
    margin: 0 !important;
    color: var(--grz-pvl-text) !important;
    font-size: 15px !important;
    font-weight: 950 !important;
    letter-spacing: -0.02em !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-compact-pill {
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 22px !important;
    padding: 0 8px !important;
    border-radius: 999px !important;
    background: #fff3f8 !important;
    color: var(--grz-pvl-accent) !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-compact-card {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 58px !important;
    padding: 8px !important;
    border: 1px solid #eee6ec !important;
    border-radius: 16px !important;
    background: linear-gradient(180deg, #fff 0%, #fff9fc 100%) !important;
    box-shadow: 0 12px 28px rgba(255, 63, 142, .07) !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-switch-btn,
body.grz-pvl-active .grz-caller-box--compact .grz-caller-edit-btn,
body.grz-pvl-active .grz-caller-box--compact .grz-caller-summary-btn {
    appearance: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font: inherit !important;
    cursor: pointer !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-switch-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #eef3ff, #fdf2f8) !important;
    color: var(--grz-pvl-violet) !important;
    font-size: 18px !important;
    font-weight: 950 !important;
    box-shadow: inset 0 0 0 1px #e8e1f4 !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-switch-btn[disabled] {
    opacity: .38 !important;
    cursor: not-allowed !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-summary-btn {
    display: block !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    color: var(--grz-pvl-text) !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-summary-label {
    display: block !important;
    margin: 0 0 3px !important;
    color: #8b8492 !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-summary-text {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: var(--grz-pvl-text) !important;
    font-size: 14px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-summary-sub {
    display: block !important;
    margin-top: 3px !important;
    overflow: hidden !important;
    color: #8a8490 !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    font-weight: 750 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-edit-btn {
    height: 34px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    background: #f7f4f7 !important;
    color: #6f6470 !important;
    font-size: 11px !important;
    font-weight: 950 !important;
}
body.grz-pvl-active .grz-caller-box--compact.has-confirmed-account .grz-caller-compact-card {
    border-color: #d7f2e0 !important;
    background: linear-gradient(180deg, #fff 0%, #fbfffc 100%) !important;
    box-shadow: 0 12px 28px rgba(22, 190, 112, .08) !important;
}
body.grz-pvl-active .grz-caller-box--compact.has-confirmed-account .grz-caller-switch-btn {
    background: #edfdf4 !important;
    color: #16a466 !important;
    box-shadow: inset 0 0 0 1px #ccefd9 !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-compact-state {
    min-height: 0 !important;
    margin: 8px 2px 0 !important;
    color: #817a86 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    line-height: 1.35 !important;
}
body.grz-pvl-active .grz-caller-box--compact .grz-caller-compact-state:empty {
    display: none !important;
}
@media (max-width: 520px) {
    body.grz-pvl-active .grz-caller-box--compact .grz-caller-compact-card {
        grid-template-columns: 38px minmax(0, 1fr) !important;
    }
    body.grz-pvl-active .grz-caller-box--compact .grz-caller-edit-btn {
        display: none !important;
    }
}



/* Coda compact order-info alignment from product layout v1.0.16 */
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl{padding:14px!important;border-radius:10px!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-box-inner{padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-card{border-radius:10px!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-switch-btn,
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{border-radius:8px!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-pill{border-radius:7px!important;}


/* v1.0.17 — match Coda refined compact account bar */
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-card{grid-template-columns:36px minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:8px 9px!important;border-radius:9px!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-switch-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:36px!important;height:36px!important;min-width:36px!important;padding:0!important;border-radius:8px!important;background:#f2f6ff!important;color:var(--grz-pvl-violet)!important;box-shadow:inset 0 0 0 1px #dce4ff!important;flex:0 0 36px!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-switch-btn span{display:block!important;font-size:16px!important;line-height:1!important;font-weight:950!important;transform:translateY(-1px)!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-btn{display:block!important;width:100%!important;min-width:0!important;padding:0!important;text-align:left!important;cursor:pointer!important;pointer-events:auto!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-label{display:block!important;white-space:nowrap!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-text,
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-sub{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:32px!important;min-width:58px!important;width:58px!important;padding:0 12px!important;border-radius:8px!important;flex:0 0 58px!important;white-space:nowrap!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl.has-confirmed-account .grz-caller-switch-btn{background:#edfdf4!important;color:#168a43!important;box-shadow:inset 0 0 0 1px #ccefd9!important;}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl.has-confirmed-account .grz-caller-edit-btn{background:#f5f2ff!important;color:var(--grz-pvl-violet)!important;}
@media (max-width:520px){body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-card{grid-template-columns:34px minmax(0,1fr) 54px!important;gap:8px!important}body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-switch-btn{width:34px!important;height:34px!important;min-width:34px!important;flex-basis:34px!important}body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{display:inline-flex!important;min-width:54px!important;width:54px!important;flex-basis:54px!important}}


/* v1.0.18 — match Coda v2.2.9: no Account details wording, arrows-only edit button */
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-label{
    display:none!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-text{
    margin:0!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-summary-sub{
    margin-top:3px!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    padding:0!important;
    border-radius:8px!important;
    font-size:0!important;
    flex:0 0 36px!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn span{
    display:block!important;
    font-size:17px!important;
    line-height:1!important;
    font-weight:950!important;
    transform:translateY(-1px)!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-switch-btn span{
    font-size:17px!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl:not(.has-account-draft) .grz-caller-edit-btn,
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl.has-confirmed-account .grz-caller-edit-btn{
    background:#f5f2ff!important;
    color:var(--grz-pvl-violet)!important;
    box-shadow:inset 0 0 0 1px #ded8ff!important;
}
@media (max-width:520px){
    body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-card{
        grid-template-columns:34px minmax(0,1fr) 34px!important;
    }
    body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{
        width:34px!important;
        min-width:34px!important;
        height:34px!important;
        flex-basis:34px!important;
    }
}


/* v1.0.19 — match Coda v2.2.10: remove left single-arrow button */
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-switch-btn{
    display:none!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-card{
    grid-template-columns:minmax(0,1fr) 36px!important;
    gap:10px!important;
}
body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{
    width:36px!important;
    min-width:36px!important;
    flex:0 0 36px!important;
}
@media (max-width:520px){
    body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-compact-card{
        grid-template-columns:minmax(0,1fr) 34px!important;
        gap:8px!important;
    }
    body.grz-pvl-active .grz-pvl-order-info.grz-caller-box--pvl .grz-caller-edit-btn{
        width:34px!important;
        min-width:34px!important;
        flex-basis:34px!important;
    }
}

/* v1.0.20 — product currency PNG logo beside voucher note */
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--custom {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    padding: 2px !important;
    border-radius: 7px !important;
    background: #fff !important;
    color: inherit !important;
    border: 1px solid #e9e3ec !important;
    box-shadow: 0 5px 12px rgba(15, 23, 42, .06) !important;
}
body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--custom img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    background: transparent !important;
}
@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket-note-main em.grz-pvl-note-icon--custom {
        width: 20px !important;
        height: 20px !important;
        min-width: 20px !important;
    }
}


/* v1.0.21 — currency PNG replaces the pink diamond between amount and unit, not the note/rocket icon */
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    margin: 4px 0 4px !important;
    border-radius: 8px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo img {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        max-height: 28px !important;
    }
}


/* v1.0.22 — currency logo replaces the unit/variation text on the left;
   variation label moves into the old instant-topup row; service icon becomes a compact badge. */
body.grz-pvl-active .grz-pvl-ticket-denom {
    gap: 6px !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom > i {
    display: none !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-unit-text {
    display: block !important;
    margin-top: 5px !important;
    color: #8b8491 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: .22em !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo,
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-unit-logo {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    margin: 6px 0 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    overflow: visible !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo img,
body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-unit-logo img {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.grz-pvl-active .grz-pvl-ticket-body {
    align-items: flex-start !important;
    gap: 7px !important;
}
body.grz-pvl-active .grz-pvl-ticket-variation-name {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #171b28 !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 950 !important;
    letter-spacing: -.02em !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    max-width: 100% !important;
    min-height: 24px !important;
    padding: 4px 8px 4px 5px !important;
    border: 1px solid #e6ebff !important;
    border-radius: 8px !important;
    background: #f7f9ff !important;
    color: #4f7cff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge > span {
    display: inline-block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border-radius: 6px !important;
    padding: 3px !important;
    background: #4f7cff !important;
    color: #fff !important;
    font-style: normal !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--star {
    background: #ffb300 !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--shield,
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--check {
    background: #16a34a !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--controller {
    background: #7c4dff !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--diamond {
    background: #0ea5b7 !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--fire {
    background: #ff6a3d !important;
}
@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-unit-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-currency-logo img,
    body.grz-pvl-active .grz-pvl-ticket-denom .grz-pvl-ticket-unit-logo img {
        width: 36px !important;
        height: 36px !important;
        min-width: 36px !important;
        max-width: 36px !important;
        max-height: 36px !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-variation-name {
        font-size: 13px !important;
        white-space: normal !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-service-badge {
        max-width: 100% !important;
        font-size: 10.5px !important;
    }
}


/* v1.0.23 — remove variation name text from voucher cards */
body.grz-pvl-active .grz-pvl-card-unit-name,
body.grz-pvl-active .grz-pvl-ticket-unit-name,
body.grz-pvl-active .grz-pvl-denom-name,
body.grz-pvl-active .grz-pvl-variation-name,
body.grz-pvl-active .grz-pvl-card-variation-name,
body.grz-pvl-active .grz-pvl-ticket-variation-name,
body.grz-pvl-active .grz-pvl-card-reflow-title,
body.grz-pvl-active .grz-pvl-ticket-reflow-title {
    display: none !important;
}
body.grz-pvl-active .grz-pvl-ticket-main,
body.grz-pvl-active .grz-pvl-card-main,
body.grz-pvl-active .grz-pvl-ticket-body {
    min-width: 0 !important;
}
body.grz-pvl-active .grz-pvl-currency-logo,
body.grz-pvl-active .grz-pvl-card-currency-logo,
body.grz-pvl-active .grz-pvl-ticket-currency-logo {
    width: 46px !important;
    height: 46px !important;
    object-fit: contain !important;
}
@media (max-width: 520px) {
    body.grz-pvl-active .grz-pvl-currency-logo,
    body.grz-pvl-active .grz-pvl-card-currency-logo,
    body.grz-pvl-active .grz-pvl-ticket-currency-logo {
        width: 40px !important;
        height: 40px !important;
    }
}

body.grz-pvl-active .grz-pvl-hidden-variation-title {
    display: none !important;
}


/* v1.0.24 — final card reflow:
   left = image only, middle = full variation name, badge = small card label above title. */
body.grz-pvl-active .grz-pvl-ticket {
    --grz-pvl-ticket-split: 104px !important;
    grid-template-columns: var(--grz-pvl-ticket-split) minmax(0, 1fr) minmax(112px, auto) !important;
    align-items: stretch !important;
    min-height: 96px !important;
}
body.grz-pvl-active .grz-pvl-ticket::after {
    left: var(--grz-pvl-ticket-split) !important;
}
body.grz-pvl-active .grz-pvl-notch {
    left: var(--grz-pvl-ticket-split) !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 96px !important;
    padding: 12px !important;
    gap: 0 !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell strong,
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell > i {
    display: none !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-currency-logo,
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-logo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-currency-logo img,
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-logo img {
    display: block !important;
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-text {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    border: 1px solid #ece5ee !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #4f4853 !important;
    font-size: 12px !important;
    line-height: 1.1 !important;
    letter-spacing: .08em !important;
    font-weight: 950 !important;
    text-align: center !important;
    text-transform: uppercase !important;
}
body.grz-pvl-active .grz-pvl-ticket-body {
    display: flex !important;
    min-width: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 7px !important;
    padding: 15px 10px 15px 22px !important;
}
body.grz-pvl-active .grz-pvl-ticket-variation-name {
    display: block !important;
    max-width: 100% !important;
    overflow: visible !important;
    color: #151827 !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    font-weight: 950 !important;
    letter-spacing: -.025em !important;
    text-align: left !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge {
    order: -1 !important;
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    gap: 6px !important;
    max-width: 100% !important;
    min-height: 23px !important;
    padding: 4px 8px 4px 5px !important;
    border: 1px solid #e6ebff !important;
    border-radius: 8px !important;
    background: #f7f9ff !important;
    color: #4f7cff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge > span {
    display: inline-block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    border-radius: 6px !important;
    padding: 3px !important;
    background: #4f7cff !important;
    color: #fff !important;
    font-style: normal !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--star {
    background: #ffb300 !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--shield,
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--check {
    background: #16a34a !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--controller {
    background: #7c4dff !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--diamond {
    background: #0ea5b7 !important;
}
body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon--fire {
    background: #ff6a3d !important;
}
body.grz-pvl-active .grz-pvl-ticket-price {
    min-width: 112px !important;
    padding: 13px 14px 13px 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
}
@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket {
        --grz-pvl-ticket-split: 82px !important;
        grid-template-columns: var(--grz-pvl-ticket-split) minmax(0, 1fr) !important;
        min-height: 104px !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell {
        min-height: 104px !important;
        padding: 10px !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-currency-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-currency-logo img,
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-logo img {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-body {
        padding: 12px 12px 5px 18px !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-variation-name {
        font-size: 13.5px !important;
        line-height: 1.2 !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-service-badge {
        max-width: 100% !important;
        font-size: 10.5px !important;
    }
    body.grz-pvl-active .grz-pvl-ticket-price {
        grid-column: 2 !important;
        min-width: 0 !important;
        padding: 0 12px 12px 18px !important;
        align-items: flex-start !important;
    }
}


/* v1.0.25 — bigger variation name + floating instant label */
body.grz-pvl-active .grz-pvl-ticket {
    position: relative !important;
    min-height: 98px !important;
}

body.grz-pvl-active .grz-pvl-ticket-body {
    position: relative !important;
    justify-content: center !important;
    padding: 22px 12px 13px 22px !important;
    gap: 0 !important;
}

body.grz-pvl-active .grz-pvl-ticket-variation-name {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    color: #101421 !important;
    font-size: 18px !important;
    line-height: 1.12 !important;
    font-weight: 950 !important;
    letter-spacing: -0.04em !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

body.grz-pvl-active .grz-pvl-ticket-service-badge {
    position: absolute !important;
    top: 9px !important;
    left: 22px !important;
    z-index: 8 !important;
    order: unset !important;
    min-height: 22px !important;
    padding: 3px 8px 3px 5px !important;
    border-radius: 999px !important;
    background: #f3f6ff !important;
    border: 1px solid #dfe7ff !important;
    box-shadow: 0 4px 10px rgba(79, 124, 255, 0.08) !important;
    color: #4f6fff !important;
    font-size: 10.5px !important;
    font-weight: 950 !important;
    letter-spacing: -0.01em !important;
    line-height: 1 !important;
}

body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    border-radius: 5px !important;
    padding: 3px !important;
}

body.grz-pvl-active .grz-pvl-ticket-price {
    padding-top: 21px !important;
}

@media (max-width: 560px) {
    body.grz-pvl-active .grz-pvl-ticket {
        min-height: 108px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-body {
        padding: 24px 12px 6px 18px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-variation-name {
        font-size: 16px !important;
        line-height: 1.14 !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-service-badge {
        top: 8px !important;
        left: 18px !important;
        max-width: calc(100% - 28px) !important;
        font-size: 10px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-price {
        padding-top: 0 !important;
    }
}


/* v1.0.26 — product page cleanup, better media, and hard-hide related products */
body.grz-pvl-active .grz-pvl-section-head{display:none!important;}
body.grz-pvl-active .grz-pvl-hero{
    grid-template-columns: 280px minmax(0,1fr)!important;
    gap: 34px!important;
    align-items: stretch!important;
}
body.grz-pvl-active .grz-pvl-hero-media{
    position:relative!important;
    min-height:260px!important;
    padding:18px!important;
    border-radius:28px!important;
    background:
      radial-gradient(circle at 20% 18%, rgba(255,255,255,.95), rgba(255,255,255,0) 28%),
      radial-gradient(circle at 82% 22%, rgba(255, 115, 185, .18), rgba(255,255,255,0) 32%),
      linear-gradient(135deg, #fff5fb 0%, #f8f5ff 52%, #f4fbff 100%)!important;
    border:1px solid #f0e5ef!important;
    box-shadow:0 22px 48px rgba(91, 51, 132, .08)!important;
    overflow:hidden!important;
}
body.grz-pvl-active .grz-pvl-hero-media::before,
body.grz-pvl-active .grz-pvl-hero-media::after{
    position:absolute!important;
    z-index:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:52px!important;
    height:52px!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.82)!important;
    box-shadow:0 12px 28px rgba(69, 45, 92, .10)!important;
    font-size:26px!important;
}
body.grz-pvl-active .grz-pvl-hero-media::before{content:'🐼'!important; top:14px!important; left:14px!important;}
body.grz-pvl-active .grz-pvl-hero-media::after{content:'🎮'!important; right:14px!important; bottom:14px!important;}
body.grz-pvl-active .grz-pvl-image-card,
body.grz-pvl-active .grz-pvl-fallback-card{
    position:relative!important;
    z-index:1!important;
    width:min(100%, 240px)!important;
    height:240px!important;
    margin:auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
    background:#fff!important;
    border:1px solid rgba(243,232,240,.98)!important;
    box-shadow:0 18px 34px rgba(35,20,60,.12)!important;
}
body.grz-pvl-active .grz-pvl-image-card img{object-fit:contain!important; padding:18px!important; background:linear-gradient(180deg,#fff,#fffafe)!important;}
body.grz-pvl-active .grz-pvl-fallback-card{padding:22px!important;}
body.grz-pvl-active.single-product .related.products,
body.grz-pvl-active.single-product .upsells.products,
body.grz-pvl-active.single-product .cross-sells,
body.grz-pvl-active.single-product .products-related,
body.grz-pvl-active.single-product .products-related-wrap,
body.grz-pvl-active.single-product .product-single-related,
body.grz-pvl-active.single-product div.related,
body.grz-pvl-active.single-product section.related{display:none!important;}
@media (max-width: 860px){
  body.grz-pvl-active .grz-pvl-hero{grid-template-columns:1fr!important;}
  body.grz-pvl-active .grz-pvl-hero-media{min-height:220px!important;}
  body.grz-pvl-active .grz-pvl-image-card,
  body.grz-pvl-active .grz-pvl-fallback-card{width:min(100%,220px)!important;height:220px!important;}
}


/* v1.0.27 — premium hero redesign with panda/girly decorative background */
body.grz-pvl-active .grz-pvl-hero,
body.grz-pvl-active .grz-pvl-hero.no-description,
body.grz-pvl-active .grz-pvl-hero.has-description{
    position:relative!important;
    display:grid!important;
    grid-template-columns:240px minmax(0,1fr)!important;
    gap:34px!important;
    align-items:center!important;
    min-height:260px!important;
    padding:26px 28px!important;
    border-radius:32px!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 12% 20%, rgba(255,255,255,.24) 0 8%, transparent 8.5%),
      radial-gradient(circle at 88% 78%, rgba(255,255,255,.18) 0 7%, transparent 7.5%),
      linear-gradient(135deg, rgba(255,255,255,.10) 18%, rgba(255,255,255,0) 18.4%, rgba(255,255,255,0) 24%, rgba(255,255,255,.07) 24.4%, rgba(255,255,255,.07) 28%, rgba(255,255,255,0) 28.4%),
      linear-gradient(120deg, #8d8f96 0%, #84868d 38%, #94969d 68%, #85878e 100%)!important;
    box-shadow:0 28px 56px rgba(49, 39, 70, .10)!important;
}
body.grz-pvl-active .grz-pvl-hero::before,
body.grz-pvl-active .grz-pvl-hero::after{
    position:absolute!important;
    z-index:0!important;
    pointer-events:none!important;
    user-select:none!important;
    opacity:.16!important;
    filter:grayscale(.02)!important;
    text-shadow:0 10px 20px rgba(255,255,255,.08)!important;
}
body.grz-pvl-active .grz-pvl-hero::before{
    content:'🐼  ✦  ♡'!important;
    top:18px!important;
    right:72px!important;
    font-size:52px!important;
    letter-spacing:18px!important;
}
body.grz-pvl-active .grz-pvl-hero::after{
    content:'♡  ✿  🐼'!important;
    right:24px!important;
    bottom:18px!important;
    font-size:44px!important;
    letter-spacing:16px!important;
}
body.grz-pvl-active .grz-pvl-hero-media{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:210px!important;
    padding:0!important;
    border-radius:26px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
}
body.grz-pvl-active .grz-pvl-hero-media::before,
body.grz-pvl-active .grz-pvl-hero-media::after{display:none!important;content:none!important;}
body.grz-pvl-active .grz-pvl-image-card,
body.grz-pvl-active .grz-pvl-fallback-card{
    position:relative!important;
    z-index:2!important;
    width:240px!important;
    height:240px!important;
    margin:0!important;
    border-radius:28px!important;
    overflow:hidden!important;
    background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(255,255,255,.45)!important;
    box-shadow:0 26px 40px rgba(22, 15, 34, .16)!important;
    backdrop-filter:blur(2px)!important;
}
body.grz-pvl-active .grz-pvl-image-card::before,
body.grz-pvl-active .grz-pvl-fallback-card::before{
    content:''!important;
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 32%)!important;
    pointer-events:none!important;
    z-index:2!important;
}
body.grz-pvl-active .grz-pvl-image-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    display:block!important;
    transform:scale(1.02)!important;
}
body.grz-pvl-active .grz-pvl-fallback-card{
    background:
      radial-gradient(circle at 76% 18%, rgba(255, 96, 174, .34), transparent 32%),
      linear-gradient(135deg, #1f163d, #0a0822 72%)!important;
}
body.grz-pvl-active .grz-pvl-hero-copy{
    position:relative!important;
    z-index:2!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-height:210px!important;
    padding:14px 8px 14px 0!important;
}
body.grz-pvl-active .grz-pvl-eyebrow{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    margin:0 0 14px!important;
    color:#f4f6ff!important;
    font-weight:800!important;
}
body.grz-pvl-active .grz-pvl-eyebrow > *{margin:0!important;}
body.grz-pvl-active .grz-pvl-title{
    margin:0 0 16px!important;
    max-width:900px!important;
    color:#fff!important;
    font-size:clamp(28px, 2.6vw, 44px)!important;
    line-height:1.04!important;
    letter-spacing:-.03em!important;
    font-weight:950!important;
    text-transform:uppercase!important;
    text-wrap:balance!important;
}
body.grz-pvl-active .grz-pvl-badges{
    gap:10px!important;
    margin:0 0 16px!important;
}
body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon){
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    padding:7px 13px!important;
    border-radius:999px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:850!important;
}
body.grz-pvl-active .grz-pvl-badge-icon{color:#fff!important;}
body.grz-pvl-active .grz-pvl-badge-flash{color:#ffbdd8!important;}
body.grz-pvl-active .grz-pvl-description,
body.grz-pvl-active .grz-pvl-description p,
body.grz-pvl-active .grz-pvl-description li{
    color:rgba(255,255,255,.96)!important;
    font-size:15px!important;
    line-height:1.58!important;
}
body.grz-pvl-active .grz-pvl-description{
    max-width:860px!important;
    margin:0!important;
}
body.grz-pvl-active .grz-pvl-description strong,
body.grz-pvl-active .grz-pvl-description b{color:#fff!important;}
@media (max-width: 980px){
  body.grz-pvl-active .grz-pvl-hero,
  body.grz-pvl-active .grz-pvl-hero.no-description,
  body.grz-pvl-active .grz-pvl-hero.has-description{
      grid-template-columns:200px minmax(0,1fr)!important;
      min-height:228px!important;
      padding:22px!important;
      gap:24px!important;
  }
  body.grz-pvl-active .grz-pvl-image-card,
  body.grz-pvl-active .grz-pvl-fallback-card{width:200px!important;height:200px!important;}
  body.grz-pvl-active .grz-pvl-title{font-size:clamp(24px, 3.4vw, 34px)!important;}
  body.grz-pvl-active .grz-pvl-hero::before{font-size:42px!important;right:42px!important;top:12px!important;}
  body.grz-pvl-active .grz-pvl-hero::after{font-size:36px!important;right:14px!important;bottom:12px!important;}
}
@media (max-width: 767px){
  body.grz-pvl-active .grz-pvl-hero,
  body.grz-pvl-active .grz-pvl-hero.no-description,
  body.grz-pvl-active .grz-pvl-hero.has-description{
      grid-template-columns:1fr!important;
      min-height:auto!important;
      padding:18px!important;
      gap:16px!important;
      border-radius:24px!important;
  }
  body.grz-pvl-active .grz-pvl-hero::before{font-size:34px!important;right:16px!important;top:10px!important;letter-spacing:10px!important;opacity:.14!important;}
  body.grz-pvl-active .grz-pvl-hero::after{font-size:30px!important;right:10px!important;bottom:10px!important;letter-spacing:8px!important;opacity:.12!important;}
  body.grz-pvl-active .grz-pvl-hero-media,
  body.grz-pvl-active .grz-pvl-hero-copy{min-height:auto!important;}
  body.grz-pvl-active .grz-pvl-image-card,
  body.grz-pvl-active .grz-pvl-fallback-card{width:min(100%, 210px)!important;height:210px!important;margin:0 auto!important;}
  body.grz-pvl-active .grz-pvl-hero-copy{padding:0!important;}
  body.grz-pvl-active .grz-pvl-title{font-size:clamp(21px, 6vw, 29px)!important;line-height:1.08!important;}
  body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon){font-size:12px!important;padding:6px 11px!important;}
  body.grz-pvl-active .grz-pvl-description,
  body.grz-pvl-active .grz-pvl-description p,
  body.grz-pvl-active .grz-pvl-description li{font-size:13.5px!important;line-height:1.5!important;}
}


/* v1.0.28 — clean clear hero, raw image, better spacing, aligned order column */
body.grz-pvl-active .grz-pvl-hero,
body.grz-pvl-active .grz-pvl-hero.no-description,
body.grz-pvl-active .grz-pvl-hero.has-description{
    position: relative !important;
    display: grid !important;
    grid-template-columns: 242px minmax(0, 1fr) !important;
    gap: 34px !important;
    align-items: center !important;
    min-height: 252px !important;
    margin: 0 0 34px !important;
    padding: 26px 30px !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.40) 0 9%, rgba(255,255,255,0) 9.2% 19%, rgba(255,255,255,.22) 19.2% 28%, rgba(255,255,255,0) 28.2%),
        radial-gradient(circle at 87% 68%, rgba(255, 175, 212, .34), rgba(255,255,255,0) 23%),
        radial-gradient(circle at 16% 14%, rgba(255,255,255,.58), rgba(255,255,255,0) 27%),
        linear-gradient(120deg, #f7f7fb 0%, #eceef4 47%, #f9edf5 100%) !important;
    border: 1px solid #ece8ef !important;
    box-shadow: 0 24px 58px rgba(60, 50, 75, .10) !important;
}

body.grz-pvl-active .grz-pvl-hero::before{
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    right: 72px !important;
    bottom: 28px !important;
    width: 142px !important;
    height: 142px !important;
    border-radius: 999px !important;
    opacity: .24 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 25% 23%, #5d6270 0 18px, transparent 19px),
        radial-gradient(circle at 75% 23%, #5d6270 0 18px, transparent 19px),
        radial-gradient(circle at 38% 47%, #5d6270 0 7px, transparent 8px),
        radial-gradient(circle at 62% 47%, #5d6270 0 7px, transparent 8px),
        radial-gradient(ellipse at 50% 59%, #5d6270 0 9px, transparent 10px),
        radial-gradient(circle at 33% 60%, rgba(255,120,174,.55) 0 9px, transparent 10px),
        radial-gradient(circle at 67% 60%, rgba(255,120,174,.55) 0 9px, transparent 10px),
        radial-gradient(circle at 50% 51%, rgba(255,255,255,.98) 0 56px, transparent 57px);
    filter: drop-shadow(0 14px 22px rgba(60, 55, 80, .12)) !important;
}

body.grz-pvl-active .grz-pvl-hero::after{
    content: "♡   ✦   ♡   ✿" !important;
    position: absolute !important;
    z-index: 0 !important;
    right: 34px !important;
    top: 25px !important;
    color: rgba(92, 96, 110, .30) !important;
    font-size: 38px !important;
    line-height: 1 !important;
    letter-spacing: 17px !important;
    pointer-events: none !important;
}

body.grz-pvl-active .grz-pvl-hero-media{
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 220px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.grz-pvl-active .grz-pvl-hero-media::before,
body.grz-pvl-active .grz-pvl-hero-media::after{
    display: none !important;
    content: none !important;
}

body.grz-pvl-active .grz-pvl-image-card,
body.grz-pvl-active .grz-pvl-fallback-card{
    position: relative !important;
    z-index: 2 !important;
    width: 218px !important;
    height: 218px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: transparent !important;
    box-shadow: 0 18px 34px rgba(35, 30, 48, .16) !important;
    backdrop-filter: none !important;
}

body.grz-pvl-active .grz-pvl-image-card::before,
body.grz-pvl-active .grz-pvl-fallback-card::before{
    display: none !important;
    content: none !important;
}

body.grz-pvl-active .grz-pvl-image-card img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: transparent !important;
    transform: none !important;
}

body.grz-pvl-active .grz-pvl-hero-copy{
    position: relative !important;
    z-index: 2 !important;
    min-height: 210px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 0 !important;
}

body.grz-pvl-active .grz-pvl-eyebrow{
    margin: 0 0 13px !important;
    color: #596071 !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
}

body.grz-pvl-active .grz-pvl-title{
    margin: 0 0 16px !important;
    max-width: 900px !important;
    color: #161927 !important;
    font-size: clamp(29px, 2.7vw, 43px) !important;
    line-height: 1.04 !important;
    font-weight: 950 !important;
    letter-spacing: -.045em !important;
    text-transform: uppercase !important;
    text-wrap: balance !important;
}

body.grz-pvl-active .grz-pvl-badges{
    gap: 10px !important;
    margin: 0 0 15px !important;
}

body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon){
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(205, 207, 217, .96) !important;
    background: rgba(255,255,255,.72) !important;
    color: #343948 !important;
    box-shadow: 0 8px 18px rgba(57, 54, 72, .055) !important;
    font-size: 13px !important;
    font-weight: 850 !important;
}

body.grz-pvl-active .grz-pvl-badge-icon{
    color: #6a63ff !important;
}

body.grz-pvl-active .grz-pvl-badge-flash{
    color: #ff4b9a !important;
}

body.grz-pvl-active .grz-pvl-description,
body.grz-pvl-active .grz-pvl-description p,
body.grz-pvl-active .grz-pvl-description li{
    color: #3f4656 !important;
    font-size: 14.5px !important;
    line-height: 1.56 !important;
}

body.grz-pvl-active .grz-pvl-description{
    max-width: 860px !important;
    margin: 0 !important;
}

body.grz-pvl-active .grz-pvl-main{
    margin-top: 0 !important;
    align-items: start !important;
}

body.grz-pvl-active .grz-pvl-side{
    padding-top: 0 !important;
}

body.grz-pvl-active .grz-pvl-left{
    padding-top: 0 !important;
}

@media (max-width: 980px){
    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description{
        grid-template-columns: 200px minmax(0,1fr) !important;
        min-height: 220px !important;
        padding: 22px !important;
        gap: 24px !important;
        margin-bottom: 28px !important;
    }

    body.grz-pvl-active .grz-pvl-image-card,
    body.grz-pvl-active .grz-pvl-fallback-card{
        width: 190px !important;
        height: 190px !important;
    }

    body.grz-pvl-active .grz-pvl-hero::before{
        right: 36px !important;
        bottom: 16px !important;
        width: 112px !important;
        height: 112px !important;
    }

    body.grz-pvl-active .grz-pvl-hero::after{
        right: 18px !important;
        top: 18px !important;
        font-size: 28px !important;
        letter-spacing: 11px !important;
    }
}

@media (max-width: 767px){
    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description{
        grid-template-columns: 1fr !important;
        min-height: auto !important;
        padding: 18px !important;
        gap: 16px !important;
        border-radius: 24px !important;
        margin-bottom: 24px !important;
    }

    body.grz-pvl-active .grz-pvl-image-card,
    body.grz-pvl-active .grz-pvl-fallback-card{
        width: min(100%, 205px) !important;
        height: 205px !important;
        margin: 0 auto !important;
    }

    body.grz-pvl-active .grz-pvl-hero-copy{
        min-height: auto !important;
    }

    body.grz-pvl-active .grz-pvl-title{
        font-size: clamp(22px, 6vw, 30px) !important;
        line-height: 1.08 !important;
    }

    body.grz-pvl-active .grz-pvl-hero::before{
        right: 12px !important;
        bottom: 12px !important;
        width: 92px !important;
        height: 92px !important;
        opacity: .16 !important;
    }

    body.grz-pvl-active .grz-pvl-hero::after{
        right: 10px !important;
        top: 12px !important;
        font-size: 22px !important;
        letter-spacing: 7px !important;
        opacity: .55 !important;
    }
}


/* v1.0.29 — sharper/less rounded layout */
body.grz-pvl-active .grz-pvl-hero,
body.grz-pvl-active .grz-pvl-hero.no-description,
body.grz-pvl-active .grz-pvl-hero.has-description {
    border-radius: 16px !important;
}

body.grz-pvl-active .grz-pvl-image-card,
body.grz-pvl-active .grz-pvl-fallback-card {
    border-radius: 14px !important;
}

body.grz-pvl-active .grz-pvl-panel,
body.grz-pvl-active .grz-pvl-order-info,
body.grz-pvl-active .grz-pvl-qty-panel,
body.grz-pvl-active .grz-pvl-total-panel {
    border-radius: 10px !important;
}

body.grz-pvl-active .grz-pvl-ticket {
    --grz-pvl-ticket-radius: 10px !important;
    border-radius: 10px !important;
}

body.grz-pvl-active .grz-pvl-ticket-service-badge,
body.grz-pvl-active .grz-pvl-ticket-price small {
    border-radius: 7px !important;
}

body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon) {
    border-radius: 10px !important;
}

body.grz-pvl-active .grz-pvl-stepper,
body.grz-pvl-active .grz-pvl-cart-btn,
body.grz-pvl-active .grz-pvl-buy-btn,
body.grz-pvl-active .grz-pvl-input-wrap input {
    border-radius: 9px !important;
}

body.grz-pvl-active .grz-pvl-hero::before {
    border-radius: 26px !important;
}

@media (max-width: 767px) {
    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description {
        border-radius: 14px !important;
    }

    body.grz-pvl-active .grz-pvl-image-card,
    body.grz-pvl-active .grz-pvl-fallback-card {
        border-radius: 12px !important;
    }
}


/* v1.0.30 — product-level hero badge 1 + hero badge 2 mirrors voucher note + better cute doodle background */
body.grz-pvl-active .grz-pvl-badges .grz-pvl-badge-icon {
    display:inline-flex!important;
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    align-items:center!important;
    justify-content:center!important;
    color:#6f66ff!important;
}
body.grz-pvl-active .grz-pvl-badges .grz-pvl-badge-icon svg {
    width:100%!important;
    height:100%!important;
    display:block!important;
}
body.grz-pvl-active .grz-pvl-badges .grz-pvl-badge-flash {
    color:#ff4b9a!important;
}
body.grz-pvl-active .grz-pvl-hero,
body.grz-pvl-active .grz-pvl-hero.no-description,
body.grz-pvl-active .grz-pvl-hero.has-description {
    background:
      linear-gradient(135deg, rgba(255,255,255,.36) 0 9%, rgba(255,255,255,0) 9.2% 19%, rgba(255,255,255,.18) 19.2% 28%, rgba(255,255,255,0) 28.2%),
      linear-gradient(120deg, #f7f7fb 0%, #eceef4 47%, #f9edf5 100%) !important;
}
body.grz-pvl-active .grz-pvl-hero::before {
    content:''!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    pointer-events:none!important;
    background-image:url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='420'%20height='240'%20viewBox='0%200%20420%20240'%3E%0A%3Cg%20stroke='%2523989ead'%20stroke-width='2.1'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.52'%3E%0A%20%20%3Cg%20transform='translate(36%2034)'%3E%0A%20%20%20%20%3Ccircle%20cx='30'%20cy='34'%20r='23'/%3E%0A%20%20%20%20%3Ccircle%20cx='13'%20cy='14'%20r='8'/%3E%0A%20%20%20%20%3Ccircle%20cx='47'%20cy='14'%20r='8'/%3E%0A%20%20%20%20%3Ccircle%20cx='23'%20cy='30'%20r='3.4'/%3E%0A%20%20%20%20%3Ccircle%20cx='37'%20cy='30'%20r='3.4'/%3E%0A%20%20%20%20%3Cpath%20d='M25%2040c3.4%203.4%206.8%203.4%2010.2%200'/%3E%0A%20%20%20%20%3Cpath%20d='M30%2035l-2.6%202.6h5.2z'/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cpath%20d='M166%2048c7-9%2018-9%2024%200%204%207%201%2016-12%2025-13-9-16-18-12-25z'/%3E%0A%20%20%3Cpath%20d='M212%2036l4%209%2010%202-8%206%202%2010-8-5-8%205%202-10-8-6%2010-2z'/%3E%0A%20%20%3Cpath%20d='M306%2042c0%208-5%2013-13%2019-8-6-13-11-13-19%200-7%205-12%2011-12%204%200%207%202%209%205%202-3%205-5%209-5%206%200%2011%205%2011%2012z'/%3E%0A%20%20%3Cg%20transform='translate(315%20136)'%3E%0A%20%20%20%20%3Ccircle%20cx='28'%20cy='30'%20r='21'/%3E%0A%20%20%20%20%3Ccircle%20cx='13'%20cy='13'%20r='7'/%3E%0A%20%20%20%20%3Ccircle%20cx='43'%20cy='13'%20r='7'/%3E%0A%20%20%20%20%3Ccircle%20cx='22'%20cy='27'%20r='3.2'/%3E%0A%20%20%20%20%3Ccircle%20cx='34'%20cy='27'%20r='3.2'/%3E%0A%20%20%20%20%3Cpath%20d='M28%2031l-2.4%202.3h4.8z'/%3E%0A%20%20%20%20%3Cpath%20d='M24%2039c3%202.8%205%202.8%208%200'/%3E%0A%20%20%3C/g%3E%0A%20%20%3Cpath%20d='M111%20170l4%209%2010%202-8%206%202%2010-8-5-8%205%202-10-8-6%2010-2z'/%3E%0A%20%20%3Cpath%20d='M215%20177c4-6%2012-6%2016%200%203%205%201%2011-8%2018-9-7-11-13-8-18z'/%3E%0A%20%20%3Cpath%20d='M252%20165c4%200%207%203%207%207%200%206-5%209-11%2013-6-4-11-7-11-13%200-4%203-7%207-7%203%200%205%201%207%204%202-3%204-4%207-4z'/%3E%0A%3C/g%3E%0A%3C/svg%3E"), url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='420'%20height='240'%20viewBox='0%200%20420%20240'%3E%0A%3Cg%20stroke='%2523b2a6b7'%20stroke-width='1.9'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.38'%3E%0A%20%20%3Cpath%20d='M61%20103c0-7%205-12%2011-12%204%200%208%202%2010%206%202-4%206-6%2010-6%206%200%2011%205%2011%2012%200%208-6%2014-21%2024-15-10-21-16-21-24z'/%3E%0A%20%20%3Cpath%20d='M175%20128l5%209%2010%202-7%207%201%2010-9-5-9%205%201-10-7-7%2010-2z'/%3E%0A%20%20%3Cpath%20d='M240%2088c5%200%209%204%209%209s-4%209-9%209-9-4-9-9%204-9%209-9z'/%3E%0A%20%20%3Cpath%20d='M240%2079v-6M240%20121v-6M223%2097h-6M263%2097h-6M228%2085l-4-4M252%20109l4%204M252%2085l4-4M228%20109l-4%204'/%3E%0A%20%20%3Cpath%20d='M333%20102c0%207-5%2011-11%2016-6-5-11-9-11-16%200-5%204-9%209-9%203%200%205%201%207%204%202-3%204-4%207-4%205%200%209%204%209%209z'/%3E%0A%20%20%3Cg%20transform='translate(23%20162)'%3E%0A%20%20%20%20%3Ccircle%20cx='24'%20cy='27'%20r='18'/%3E%0A%20%20%20%20%3Ccircle%20cx='11'%20cy='12'%20r='6'/%3E%0A%20%20%20%20%3Ccircle%20cx='37'%20cy='12'%20r='6'/%3E%0A%20%20%20%20%3Ccircle%20cx='19'%20cy='24'%20r='2.7'/%3E%0A%20%20%20%20%3Ccircle%20cx='29'%20cy='24'%20r='2.7'/%3E%0A%20%20%20%20%3Cpath%20d='M24%2027l-2%202h4z'/%3E%0A%20%20%20%20%3Cpath%20d='M20%2034c2.3%202.1%205.7%202.1%208%200'/%3E%0A%20%20%3C/g%3E%0A%3C/g%3E%0A%3C/svg%3E") !important;
    background-position:right 28px top 8px, left 26px bottom 10px !important;
    background-repeat:repeat, repeat !important;
    background-size:420px 240px, 420px 240px !important;
    opacity:.52!important;
}
body.grz-pvl-active .grz-pvl-hero::after {
    content:''!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 82% 74%, rgba(255, 188, 219, .18), rgba(255,255,255,0) 18%),
      radial-gradient(circle at 91% 22%, rgba(209, 209, 220, .24), rgba(255,255,255,0) 11%),
      radial-gradient(circle at 16% 16%, rgba(255,255,255,.34), rgba(255,255,255,0) 17%) !important;
}
@media (max-width: 767px) {
  body.grz-pvl-active .grz-pvl-hero::before {
      background-size:260px 150px, 260px 150px !important;
      background-position:right 6px top 6px, left 6px bottom 8px !important;
      opacity:.4!important;
  }
}


/* v1.0.31 — stronger hero doodles */
body.grz-pvl-active .grz-pvl-hero::before {
    content:''!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    pointer-events:none!important;
    background-image:url('data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='520'%20height='280'%20viewBox='0%200%20520%20280'%3E%0A%3Cg%20stroke='%2523838a99'%20stroke-width='2.6'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.82'%3E%0A%20%20%3Cg%20transform='translate(38%2032)'%3E%0A%20%20%20%20%3Ccircle%20cx='36'%20cy='38'%20r='27'/%3E%3Ccircle%20cx='15'%20cy='15'%20r='10'/%3E%3Ccircle%20cx='57'%20cy='15'%20r='10'/%3E%3Ccircle%20cx='28'%20cy='34'%20r='4.2'/%3E%3Ccircle%20cx='44'%20cy='34'%20r='4.2'/%3E%3Cpath%20d='M31%2045c4%204%208%204%2012%200'/%3E%3Cpath%20d='M36%2039l-3%203h6z'/%3E%3C/g%3E%0A%20%20%3Cg%20transform='translate(388%20154)'%3E%0A%20%20%20%20%3Ccircle%20cx='34'%20cy='36'%20r='25'/%3E%3Ccircle%20cx='15'%20cy='16'%20r='9'/%3E%3Ccircle%20cx='53'%20cy='16'%20r='9'/%3E%3Ccircle%20cx='27'%20cy='33'%20r='4'/%3E%3Ccircle%20cx='41'%20cy='33'%20r='4'/%3E%3Cpath%20d='M30%2042c4%203.8%208%203.8%2012%200'/%3E%3Cpath%20d='M36%2037l-3%203h6z'/%3E%3C/g%3E%0A%20%20%3Cpath%20d='M184%2058c8-11%2021-11%2028%200%204%208%201%2019-14%2030-15-11-18-22-14-30z'/%3E%0A%20%20%3Cpath%20d='M238%2044l5%2011%2012%202-9%207%202%2012-10-6-10%206%202-12-9-7%2012-2z'/%3E%0A%20%20%3Cpath%20d='M336%2052c0%209-6%2015-15%2022-9-7-15-13-15-22%200-8%206-13%2013-13%204%200%208%202%2010%206%202-4%206-6%2010-6%207%200%2013%205%2013%2013z'/%3E%0A%20%20%3Cpath%20d='M110%20192l5%2011%2012%202-9%207%202%2012-10-6-10%206%202-12-9-7%2012-2z'/%3E%0A%20%20%3Cpath%20d='M208%20206c5-7%2014-7%2019%200%203%206%201%2013-9%2021-10-8-12-15-10-21z'/%3E%0A%20%20%3Cpath%20d='M274%20190c5%200%209%204%209%209s-4%209-9%209-9-4-9-9%204-9%209-9z'/%3E%3Cpath%20d='M274%20180v-7M274%20225v-7M255%20199h-7M300%20199h-7M261%20186l-5-5M287%20212l5%205M287%20186l5-5M261%20212l-5%205'/%3E%0A%20%20%3Cpath%20d='M455%2070c5%200%2010%204%2010%2010%200%207-6%2011-13%2016-7-5-13-9-13-16%200-6%204-10%2010-10%203%200%206%202%208%205%202-3%205-5%208-5z'/%3E%0A%3C/g%3E%3C/svg%3E'), url('data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='520'%20height='280'%20viewBox='0%200%20520%20280'%3E%0A%3Cg%20stroke='%2523b39eaf'%20stroke-width='2.1'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.68'%3E%0A%20%20%3Cpath%20d='M74%20116c0-8%205-13%2012-13%204%200%208%202%2011%206%203-4%207-6%2011-6%207%200%2012%205%2012%2013%200%209-7%2015-23%2026-16-11-23-17-23-26z'/%3E%0A%20%20%3Cpath%20d='M198%20136l5%2010%2011%202-8%207%202%2011-10-6-10%206%202-11-8-7%2011-2z'/%3E%0A%20%20%3Cpath%20d='M255%2098c6%200%2010%204%2010%2010s-4%2010-10%2010-10-4-10-10%204-10%2010-10z'/%3E%3Cpath%20d='M255%2087v-8M255%20137v-8M234%20108h-8M284%20108h-8M242%2094l-5-5M268%20120l5%205M268%2094l5-5M242%20120l-5%205'/%3E%0A%20%20%3Cpath%20d='M350%20113c0%208-5%2013-12%2018-7-5-12-10-12-18%200-6%204-10%2010-10%203%200%206%202%208%205%202-3%205-5%208-5%206%200%2010%204%2010%2010z'/%3E%0A%20%20%3Cg%20transform='translate(30%20180)'%3E%3Ccircle%20cx='27'%20cy='29'%20r='20'/%3E%3Ccircle%20cx='12'%20cy='13'%20r='7'/%3E%3Ccircle%20cx='42'%20cy='13'%20r='7'/%3E%3Ccircle%20cx='21'%20cy='26'%20r='3.2'/%3E%3Ccircle%20cx='33'%20cy='26'%20r='3.2'/%3E%3Cpath%20d='M27%2029l-2.3%202.2h4.6z'/%3E%3Cpath%20d='M23%2036c2.7%202.4%205.3%202.4%208%200'/%3E%3C/g%3E%0A%20%20%3Cpath%20d='M430%20196l5%2010%2011%202-8%207%202%2011-10-6-10%206%202-11-8-7%2011-2z'/%3E%0A%20%20%3Cpath%20d='M470%20165c5%200%209%204%209%209%200%206-5%2010-11%2015-6-5-11-9-11-15%200-5%204-9%208-9%203%200%206%202%207%205%202-3%204-5%208-5z'/%3E%0A%3C/g%3E%3C/svg%3E'), url('data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='520'%20height='280'%20viewBox='0%200%20520%20280'%3E%0A%3Cg%20stroke='%2523d9a7be'%20stroke-width='1.8'%20fill='none'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='0.52'%3E%0A%20%20%3Cpath%20d='M147%2088c0%206-4%2010-9%2014-5-4-9-8-9-14%200-4%203-8%208-8%203%200%205%202%206%204%201-2%203-4%206-4%205%200%208%204%208%208z'/%3E%0A%20%20%3Cpath%20d='M321%20157c0%206-4%2010-9%2014-5-4-9-8-9-14%200-4%203-8%208-8%203%200%205%202%206%204%201-2%203-4%206-4%205%200%208%204%208%208z'/%3E%0A%20%20%3Cpath%20d='M246%2056l3%207%208%201-6%205%202%207-7-4-7%204%202-7-6-5%208-1z'/%3E%0A%20%20%3Cpath%20d='M407%20106l3%207%208%201-6%205%202%207-7-4-7%204%202-7-6-5%208-1z'/%3E%0A%20%20%3Cpath%20d='M85%20222c4%200%206%202%206%206s-2%206-6%206-6-2-6-6%202-6%206-6z'/%3E%3Cpath%20d='M85%20211v-5M85%20245v-5M70%20228h-5M105%20228h-5'/%3E%0A%3C/g%3E%3C/svg%3E') !important;
    background-position:right 12px top 0, left 6px bottom 0, center center !important;
    background-repeat:repeat, repeat, repeat !important;
    background-size:460px 248px, 460px 248px, 420px 220px !important;
    opacity:.88!important;
}
body.grz-pvl-active .grz-pvl-hero::after {
    content:''!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(circle at 82% 74%, rgba(255, 188, 219, .22), rgba(255,255,255,0) 19%),
      radial-gradient(circle at 91% 22%, rgba(209, 209, 220, .28), rgba(255,255,255,0) 12%),
      radial-gradient(circle at 16% 16%, rgba(255,255,255,.38), rgba(255,255,255,0) 18%) !important;
}
@media (max-width: 980px) {
  body.grz-pvl-active .grz-pvl-hero::before {
      background-size:360px 194px, 360px 194px, 330px 176px !important;
      opacity:.82!important;
  }
}
@media (max-width: 767px) {
  body.grz-pvl-active .grz-pvl-hero::before {
      background-size:280px 150px, 280px 150px, 240px 128px !important;
      background-position:right 0 top 0, left 0 bottom 0, center center !important;
      opacity:.72!important;
  }
}


/* v1.0.32 — real visible hero doodles, not background SVG/data URI */
body.grz-pvl-active .grz-pvl-hero {
    isolation: isolate !important;
}

body.grz-pvl-active .grz-pvl-hero-doodles {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

body.grz-pvl-active .grz-pvl-hero-media,
body.grz-pvl-active .grz-pvl-hero-copy {
    position: relative !important;
    z-index: 3 !important;
}

body.grz-pvl-active .grz-pvl-doodle {
    position: absolute !important;
    display: block !important;
    opacity: .44 !important;
    filter: drop-shadow(0 8px 12px rgba(80, 74, 100, .08)) !important;
}

body.grz-pvl-active .grz-pvl-doodle-panda {
    width: 76px !important;
    height: 76px !important;
    border: 3px solid #7b8190 !important;
    border-radius: 50% !important;
    background:
        radial-gradient(circle at 35% 42%, #7b8190 0 5px, transparent 6px),
        radial-gradient(circle at 65% 42%, #7b8190 0 5px, transparent 6px),
        radial-gradient(ellipse at 50% 58%, #7b8190 0 7px, transparent 8px),
        radial-gradient(circle at 31% 64%, rgba(255, 106, 166, .42) 0 8px, transparent 9px),
        radial-gradient(circle at 69% 64%, rgba(255, 106, 166, .42) 0 8px, transparent 9px),
        rgba(255,255,255,.16) !important;
}

body.grz-pvl-active .grz-pvl-doodle-panda::before,
body.grz-pvl-active .grz-pvl-doodle-panda::after {
    content: "" !important;
    position: absolute !important;
    top: -15px !important;
    width: 24px !important;
    height: 24px !important;
    border: 3px solid #7b8190 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.10) !important;
}

body.grz-pvl-active .grz-pvl-doodle-panda::before {
    left: 8px !important;
}

body.grz-pvl-active .grz-pvl-doodle-panda::after {
    right: 8px !important;
}

body.grz-pvl-active .grz-pvl-doodle-panda-one {
    top: 18px !important;
    right: 215px !important;
    transform: rotate(-8deg) scale(.82) !important;
    opacity: .40 !important;
}

body.grz-pvl-active .grz-pvl-doodle-panda-two {
    right: 54px !important;
    bottom: 36px !important;
    transform: rotate(8deg) scale(.74) !important;
    opacity: .36 !important;
}

body.grz-pvl-active .grz-pvl-doodle-heart {
    width: 38px !important;
    height: 34px !important;
    transform: rotate(-12deg) !important;
}

body.grz-pvl-active .grz-pvl-doodle-heart::before,
body.grz-pvl-active .grz-pvl-doodle-heart::after {
    content: "" !important;
    position: absolute !important;
    width: 22px !important;
    height: 32px !important;
    border: 3px solid #8b8396 !important;
    border-bottom: 0 !important;
    border-radius: 22px 22px 0 0 !important;
    background: transparent !important;
}

body.grz-pvl-active .grz-pvl-doodle-heart::before {
    left: 11px !important;
    transform: rotate(-45deg) !important;
    transform-origin: 0 100% !important;
}

body.grz-pvl-active .grz-pvl-doodle-heart::after {
    left: 0 !important;
    transform: rotate(45deg) !important;
    transform-origin: 100% 100% !important;
}

body.grz-pvl-active .grz-pvl-doodle-heart-one {
    top: 36px !important;
    right: 112px !important;
    opacity: .38 !important;
}

body.grz-pvl-active .grz-pvl-doodle-heart-two {
    right: 292px !important;
    bottom: 34px !important;
    transform: rotate(8deg) scale(.78) !important;
    opacity: .32 !important;
}

body.grz-pvl-active .grz-pvl-doodle-star {
    width: 46px !important;
    height: 46px !important;
}

body.grz-pvl-active .grz-pvl-doodle-star::before,
body.grz-pvl-active .grz-pvl-doodle-star::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 4px !important;
    height: 46px !important;
    border-radius: 999px !important;
    background: #858b99 !important;
    transform: translate(-50%, -50%) !important;
}

body.grz-pvl-active .grz-pvl-doodle-star::after {
    transform: translate(-50%, -50%) rotate(90deg) !important;
}

body.grz-pvl-active .grz-pvl-doodle-star-one {
    top: 46px !important;
    right: 330px !important;
    transform: rotate(45deg) scale(.88) !important;
    opacity: .34 !important;
}

body.grz-pvl-active .grz-pvl-doodle-star-two {
    right: 166px !important;
    bottom: 66px !important;
    transform: rotate(45deg) scale(.62) !important;
    opacity: .30 !important;
}

body.grz-pvl-active .grz-pvl-doodle-flower {
    width: 54px !important;
    height: 54px !important;
    background:
        radial-gradient(circle at 50% 50%, #8d94a3 0 5px, transparent 6px),
        radial-gradient(circle at 50% 16%, transparent 0 10px, #8d94a3 11px 13px, transparent 14px),
        radial-gradient(circle at 84% 50%, transparent 0 10px, #8d94a3 11px 13px, transparent 14px),
        radial-gradient(circle at 50% 84%, transparent 0 10px, #8d94a3 11px 13px, transparent 14px),
        radial-gradient(circle at 16% 50%, transparent 0 10px, #8d94a3 11px 13px, transparent 14px) !important;
    border-radius: 50% !important;
}

body.grz-pvl-active .grz-pvl-doodle-flower-one {
    right: 105px !important;
    bottom: 52px !important;
    opacity: .34 !important;
}

body.grz-pvl-active .grz-pvl-doodle-flower-two {
    top: 88px !important;
    right: 456px !important;
    transform: scale(.72) !important;
    opacity: .28 !important;
}

body.grz-pvl-active .grz-pvl-doodle-spark {
    width: 28px !important;
    height: 28px !important;
    border: 3px solid #a58da0 !important;
    border-radius: 9px !important;
    transform: rotate(45deg) !important;
    opacity: .34 !important;
}

body.grz-pvl-active .grz-pvl-doodle-spark-one {
    top: 126px !important;
    right: 28px !important;
}

body.grz-pvl-active .grz-pvl-doodle-spark-two {
    bottom: 102px !important;
    right: 392px !important;
    transform: rotate(45deg) scale(.65) !important;
}

@media (max-width: 980px) {
    body.grz-pvl-active .grz-pvl-doodle-panda-one {
        right: 120px !important;
        transform: rotate(-8deg) scale(.62) !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-panda-two {
        right: 24px !important;
        transform: rotate(8deg) scale(.58) !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-flower-two,
    body.grz-pvl-active .grz-pvl-doodle-spark-two {
        display: none !important;
    }
}

@media (max-width: 767px) {
    body.grz-pvl-active .grz-pvl-hero-doodles {
        opacity: .75 !important;
    }

    body.grz-pvl-active .grz-pvl-doodle {
        opacity: .28 !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-panda-one {
        top: 12px !important;
        right: 16px !important;
        transform: rotate(-8deg) scale(.50) !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-panda-two {
        display: none !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-heart-one {
        right: 82px !important;
        top: 28px !important;
        transform: rotate(-12deg) scale(.70) !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-star-one,
    body.grz-pvl-active .grz-pvl-doodle-flower-one,
    body.grz-pvl-active .grz-pvl-doodle-spark-one {
        transform: scale(.55) !important;
    }
}


/* v1.0.33 — stronger mobile layout pass */
@media (max-width: 767px){
    body.grz-pvl-active .grz-pvl-shell{
        width: min(100% - 18px, 1280px) !important;
    }

    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description{
        grid-template-columns: 82px minmax(0,1fr) !important;
        gap: 13px !important;
        align-items: center !important;
        min-height: 118px !important;
        margin-bottom: 16px !important;
        padding: 12px !important;
        border-radius: 12px !important;
    }

    body.grz-pvl-active .grz-pvl-hero-doodles{
        opacity: .50 !important;
    }

    body.grz-pvl-active .grz-pvl-doodle{
        transform: scale(.42) !important;
        opacity: .20 !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-panda-one{
        top: -4px !important;
        right: 4px !important;
        transform: rotate(-8deg) scale(.42) !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-heart-one{
        right: 72px !important;
        top: 10px !important;
        transform: rotate(-12deg) scale(.48) !important;
    }

    body.grz-pvl-active .grz-pvl-doodle-star-one,
    body.grz-pvl-active .grz-pvl-doodle-flower-one,
    body.grz-pvl-active .grz-pvl-doodle-spark-one{
        display: none !important;
    }

    body.grz-pvl-active .grz-pvl-hero-media{
        min-height: 82px !important;
        align-self: center !important;
    }

    body.grz-pvl-active .grz-pvl-image-card,
    body.grz-pvl-active .grz-pvl-fallback-card{
        width: 82px !important;
        height: 82px !important;
        margin: 0 !important;
        border-radius: 10px !important;
        box-shadow: 0 10px 20px rgba(35,30,48,.12) !important;
    }

    body.grz-pvl-active .grz-pvl-hero-copy{
        min-height: auto !important;
        justify-content: center !important;
        padding: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-eyebrow{
        margin: 0 0 5px !important;
        font-size: 9px !important;
        letter-spacing: .14em !important;
        line-height: 1.1 !important;
    }

    body.grz-pvl-active .grz-pvl-title{
        margin: 0 0 7px !important;
        font-size: clamp(16px, 5.3vw, 22px) !important;
        line-height: 1.06 !important;
        letter-spacing: -.035em !important;
    }

    body.grz-pvl-active .grz-pvl-badges{
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
        margin: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon){
        min-height: 22px !important;
        padding: 4px 7px !important;
        border-radius: 7px !important;
        font-size: 10px !important;
        line-height: 1 !important;
        gap: 4px !important;
    }

    body.grz-pvl-active .grz-pvl-badges .grz-pvl-badge-icon{
        width: 11px !important;
        height: 11px !important;
        min-width: 11px !important;
    }

    body.grz-pvl-active .grz-pvl-description{
        display: none !important;
    }

    body.grz-pvl-active .grz-pvl-main{
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
    }

    body.grz-pvl-active .grz-pvl-left,
    body.grz-pvl-active .grz-pvl-side{
        width: 100% !important;
        min-width: 0 !important;
        padding-top: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-grid{
        gap: 9px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket{
        --grz-pvl-ticket-split: 70px !important;
        grid-template-columns: var(--grz-pvl-ticket-split) minmax(0,1fr) !important;
        min-height: 86px !important;
        border-radius: 9px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell{
        min-height: 86px !important;
        padding: 8px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-currency-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-logo,
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-currency-logo img,
    body.grz-pvl-active .grz-pvl-ticket-denom.grz-pvl-ticket-logo-cell .grz-pvl-ticket-unit-logo img{
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
        max-height: 42px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-body{
        padding: 18px 10px 6px 13px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-variation-name{
        font-size: 14px !important;
        line-height: 1.14 !important;
        letter-spacing: -.025em !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-service-badge{
        top: 6px !important;
        left: 13px !important;
        min-height: 18px !important;
        padding: 2px 6px 2px 4px !important;
        border-radius: 6px !important;
        font-size: 9px !important;
        gap: 4px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-service-badge em.grz-pvl-note-icon{
        width: 13px !important;
        height: 13px !important;
        min-width: 13px !important;
        padding: 2px !important;
        border-radius: 4px !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-price{
        grid-column: 2 !important;
        padding: 0 10px 9px 13px !important;
        align-items: flex-start !important;
        min-width: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-price strong,
    body.grz-pvl-active .grz-pvl-ticket-price strong .woocommerce-Price-amount{
        font-size: 15px !important;
    }

    body.grz-pvl-active .grz-pvl-panel,
    body.grz-pvl-active .grz-pvl-order-info,
    body.grz-pvl-active .grz-pvl-qty-panel,
    body.grz-pvl-active .grz-pvl-total-panel{
        border-radius: 9px !important;
    }

    body.grz-pvl-active .grz-pvl-qty-panel{
        padding: 11px !important;
    }

    body.grz-pvl-active .grz-pvl-total-panel{
        padding: 12px !important;
    }

    body.grz-pvl-active .grz-pvl-total-row{
        margin-bottom: 12px !important;
    }

    body.grz-pvl-active .grz-pvl-total-row > strong{
        font-size: 15px !important;
    }

    body.grz-pvl-active .grz-pvl-total-amount,
    body.grz-pvl-active .grz-pvl-total-amount .woocommerce-Price-amount{
        font-size: 21px !important;
    }

    body.grz-pvl-active .grz-pvl-actions{
        grid-template-columns: 50px minmax(0,1fr) !important;
        gap: 9px !important;
    }

    body.grz-pvl-active .grz-pvl-cart-btn,
    body.grz-pvl-active .grz-pvl-buy-btn{
        min-height: 48px !important;
        border-radius: 9px !important;
    }

    body.grz-pvl-active .grz-pvl-cart-btn{
        min-width: 50px !important;
        max-width: 50px !important;
    }
}

@media (max-width: 380px){
    body.grz-pvl-active .grz-pvl-hero,
    body.grz-pvl-active .grz-pvl-hero.no-description,
    body.grz-pvl-active .grz-pvl-hero.has-description{
        grid-template-columns: 70px minmax(0,1fr) !important;
        gap: 10px !important;
        padding: 10px !important;
    }

    body.grz-pvl-active .grz-pvl-image-card,
    body.grz-pvl-active .grz-pvl-fallback-card{
        width: 70px !important;
        height: 70px !important;
    }

    body.grz-pvl-active .grz-pvl-title{
        font-size: 16px !important;
    }

    body.grz-pvl-active .grz-pvl-badges span:not(.grz-pvl-badge-icon){
        font-size: 9px !important;
        padding: 4px 6px !important;
    }
}


/* v1.0.34 — SEAGM-style mobile package dropdown */
body.grz-pvl-active .grz-pvl-mobile-package {
    display: none;
}

@media (max-width: 767px) {
    body.grz-pvl-active .grz-pvl-mobile-package {
        display: block !important;
        margin: 0 0 10px !important;
        padding: 11px !important;
        border: 1px solid #eee6ef !important;
        border-radius: 10px !important;
        background: linear-gradient(180deg, #fff 0%, #fffafd 100%) !important;
        box-shadow: 0 10px 24px rgba(30, 28, 44, .055) !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package label {
        display: block !important;
        margin: 0 0 7px !important;
        color: #687084 !important;
        font-size: 10px !important;
        font-weight: 950 !important;
        letter-spacing: .14em !important;
        line-height: 1.1 !important;
        text-transform: uppercase !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-shell {
        position: relative !important;
        display: block !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package-select {
        display: block !important;
        width: 100% !important;
        height: 48px !important;
        min-height: 48px !important;
        margin: 0 !important;
        padding: 0 42px 0 13px !important;
        border: 1px solid #ddd7e1 !important;
        border-radius: 9px !important;
        background: #fff !important;
        color: #151827 !important;
        box-shadow: none !important;
        font-size: 14px !important;
        font-weight: 850 !important;
        line-height: 48px !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        outline: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package-select:focus {
        border-color: var(--grz-pvl-accent) !important;
        box-shadow: 0 0 0 3px rgba(255, 63, 142, .10) !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow {
        position: absolute !important;
        top: 50% !important;
        right: 13px !important;
        transform: translateY(-52%) !important;
        color: #7a7280 !important;
        font-size: 20px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        pointer-events: none !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        margin-top: 9px !important;
        padding: 9px 10px !important;
        border-radius: 8px !important;
        background: #f8f5f8 !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-title {
        min-width: 0 !important;
        overflow: hidden !important;
        color: #4b4652 !important;
        font-size: 12px !important;
        font-weight: 850 !important;
        line-height: 1.2 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-price,
    body.grz-pvl-active .grz-pvl-mobile-selected-price .woocommerce-Price-amount {
        flex: 0 0 auto !important;
        color: var(--grz-pvl-accent) !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    /* Mobile uses dropdown for speed. Keep visual ticket cards hidden but still present for JS/state fallback. */
    body.grz-pvl-active .grz-pvl-ticket-grid {
        display: none !important;
    }
}

@media (min-width: 768px) {
    body.grz-pvl-active .grz-pvl-ticket-grid {
        display: grid !important;
    }
}


/* v1.0.35 — redesigned mobile package selector, no native select */
body.grz-pvl-active .grz-pvl-mobile-package {
    display: none;
}

@media (max-width: 767px) {
    body.grz-pvl-active .grz-pvl-mobile-package {
        position: relative !important;
        display: block !important;
        margin: 0 0 10px !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        z-index: 20 !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package label {
        display: block !important;
        margin: 0 0 7px !important;
        color: #687084 !important;
        font-size: 10px !important;
        font-weight: 950 !important;
        letter-spacing: .14em !important;
        line-height: 1.1 !important;
        text-transform: uppercase !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package-trigger {
        appearance: none !important;
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto 34px !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 10px 9px 10px 13px !important;
        border: 1px solid #e7dfe8 !important;
        border-radius: 10px !important;
        background: linear-gradient(180deg, #fff 0%, #fffafd 100%) !important;
        color: #151827 !important;
        box-shadow: 0 10px 24px rgba(30, 28, 44, .06) !important;
        cursor: pointer !important;
        text-align: left !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-trigger-copy {
        display: block !important;
        min-width: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-title {
        display: block !important;
        overflow: hidden !important;
        color: #151827 !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        line-height: 1.15 !important;
        letter-spacing: -.02em !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-sub {
        display: block !important;
        margin-top: 3px !important;
        overflow: hidden !important;
        color: #8b8492 !important;
        font-size: 10.5px !important;
        font-weight: 800 !important;
        line-height: 1.1 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-price,
    body.grz-pvl-active .grz-pvl-mobile-selected-price .woocommerce-Price-amount {
        display: block !important;
        color: var(--grz-pvl-accent) !important;
        font-size: 14px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 8px !important;
        background: #f5f2ff !important;
        color: var(--grz-pvl-violet) !important;
        line-height: 1 !important;
        transform: none !important;
        pointer-events: none !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        transition: transform .18s ease !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package.is-open .grz-pvl-mobile-select-arrow svg {
        transform: rotate(180deg) !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-options {
        display: none !important;
        margin: 8px 0 0 !important;
        padding: 8px !important;
        border: 1px solid #eee6ef !important;
        border-radius: 10px !important;
        background: #fff !important;
        box-shadow: 0 18px 42px rgba(30, 28, 44, .12) !important;
        max-height: 310px !important;
        overflow: auto !important;
        overscroll-behavior: contain !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package.is-open .grz-pvl-mobile-options {
        display: grid !important;
        gap: 7px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option {
        appearance: none !important;
        display: grid !important;
        grid-template-columns: 42px minmax(0,1fr) auto !important;
        align-items: center !important;
        gap: 10px !important;
        width: 100% !important;
        min-height: 58px !important;
        margin: 0 !important;
        padding: 8px !important;
        border: 1px solid #eee7ef !important;
        border-radius: 9px !important;
        background: #fbfafc !important;
        color: #151827 !important;
        box-shadow: none !important;
        cursor: pointer !important;
        text-align: left !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option.is-selected {
        border-color: #ff8ab9 !important;
        background: #fff5fa !important;
        box-shadow: 0 0 0 3px rgba(255,63,142,.08) !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-logo {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        border-radius: 9px !important;
        background: #fff !important;
        border: 1px solid #eee6ef !important;
        overflow: hidden !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-logo .grz-pvl-ticket-currency-logo,
    body.grz-pvl-active .grz-pvl-mobile-option-logo .grz-pvl-ticket-unit-logo,
    body.grz-pvl-active .grz-pvl-mobile-option-logo .grz-pvl-ticket-currency-logo img,
    body.grz-pvl-active .grz-pvl-mobile-option-logo .grz-pvl-ticket-unit-logo img {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
        margin: 0 !important;
        padding: 0 !important;
        object-fit: contain !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-logo .grz-pvl-ticket-unit-text {
        display: block !important;
        color: #6a6370 !important;
        font-size: 10px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        letter-spacing: .08em !important;
        text-align: center !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-copy {
        display: block !important;
        min-width: 0 !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-copy strong {
        display: block !important;
        overflow: hidden !important;
        color: #151827 !important;
        font-size: 13.5px !important;
        line-height: 1.15 !important;
        font-weight: 950 !important;
        letter-spacing: -.02em !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-copy small {
        display: block !important;
        margin-top: 3px !important;
        overflow: hidden !important;
        color: #8b8492 !important;
        font-size: 10px !important;
        line-height: 1.1 !important;
        font-weight: 800 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-price,
    body.grz-pvl-active .grz-pvl-mobile-option-price .woocommerce-Price-amount {
        color: var(--grz-pvl-accent) !important;
        font-size: 13px !important;
        font-weight: 950 !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    body.grz-pvl-active .grz-pvl-ticket-grid {
        display: none !important;
    }
}

@media (max-width: 380px) {
    body.grz-pvl-active .grz-pvl-mobile-package-trigger {
        grid-template-columns: minmax(0,1fr) auto 30px !important;
        min-height: 54px !important;
        gap: 7px !important;
        padding: 9px 8px 9px 10px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-title {
        font-size: 13px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-selected-price,
    body.grz-pvl-active .grz-pvl-mobile-selected-price .woocommerce-Price-amount {
        font-size: 12.5px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option {
        grid-template-columns: 38px minmax(0,1fr) auto !important;
        gap: 7px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-option-logo {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
    }
}


/* v1.0.36 — hard-center mobile selector chevron */
@media (max-width: 767px) {
    body.grz-pvl-active .grz-pvl-mobile-package-trigger {
        grid-template-columns: minmax(0, 1fr) auto 34px !important;
        align-items: center !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow {
        position: static !important;
        inset: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        place-self: center !important;
        align-self: center !important;
        justify-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        margin: 0 !important;
        line-height: 0 !important;
        box-sizing: border-box !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow svg {
        display: block !important;
        width: 18px !important;
        height: 18px !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important;
        transform-origin: 50% 50% !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-package.is-open .grz-pvl-mobile-select-arrow svg {
        transform: rotate(180deg) !important;
    }
}

@media (max-width: 380px) {
    body.grz-pvl-active .grz-pvl-mobile-package-trigger {
        grid-template-columns: minmax(0, 1fr) auto 30px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow {
        width: 30px !important;
        height: 30px !important;
        min-width: 30px !important;
        min-height: 30px !important;
    }

    body.grz-pvl-active .grz-pvl-mobile-select-arrow svg {
        width: 17px !important;
        height: 17px !important;
    }
}
