/**
 * Mini-Zshop Gift Cards frontend styles.
 */

.mgc-giftcard-builder {
    --mgc-ink: #17212b;
    --mgc-muted: #66717d;
    --mgc-line: #dfe4e8;
    --mgc-soft: #f7f8fa;
    --mgc-green: #3f8f45;
    --mgc-red: #d94135;
    --mgc-gold: #c7962f;
    --mgc-blue: #1f6e8c;
    --mgc-teal: #2fb3a3;
    position: relative;
    isolation: isolate;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, 440px);
    gap: 28px;
    width: 100%;
    margin: 28px 0 36px;
    padding: 26px;
    border: 1px solid #d9e0e6;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.96) 0%, rgba(247,251,250,0.96) 48%, rgba(246,242,232,0.96) 100%),
        repeating-linear-gradient(135deg, rgba(23,33,43,0.04) 0 1px, transparent 1px 14px);
    color: var(--mgc-ink);
    box-shadow: 0 22px 55px rgba(23, 33, 43, 0.12);
    overflow: hidden;
    box-sizing: border-box;
}

.mgc-giftcard-builder *,
.mgc-giftcard-builder *::before,
.mgc-giftcard-builder *::after {
    box-sizing: border-box;
}

.mgc-giftcard-builder::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, rgba(63,143,69,0.08), transparent 36%),
        linear-gradient(180deg, transparent 62%, rgba(199,150,47,0.1));
    pointer-events: none;
}

.mgc-builder-main {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 20px;
    min-width: 0;
}

.mgc-builder-heading {
    display: grid;
    gap: 4px;
}

.mgc-kicker {
    color: var(--mgc-green);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.mgc-builder-heading h3 {
    margin: 0;
    color: var(--mgc-ink);
    font-size: 30px;
    line-height: 1.15;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

.mgc-builder-section {
    display: grid;
    gap: 12px;
    padding: 0 0 18px;
    border-bottom: 1px solid var(--mgc-line);
}

.mgc-builder-section:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.mgc-section-label {
    color: var(--mgc-ink);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.mgc-amount-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(78px, 1fr));
    gap: 8px;
}

.mgc-amount-chip {
    min-height: 42px;
    padding: 9px 10px;
    border: 1px solid var(--mgc-line);
    border-radius: 8px;
    background: #fff;
    color: var(--mgc-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    cursor: pointer;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.mgc-amount-chip:hover,
.mgc-amount-chip:focus-visible {
    border-color: var(--mgc-green);
    box-shadow: 0 0 0 3px rgba(63, 143, 69, 0.14);
    outline: 0;
}

.mgc-amount-chip.is-active {
    border-color: var(--mgc-green);
    background: #eef7ef;
    color: #1f6e28;
}

.mgc-message-presets {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: -4px;
}

.mgc-message-presets button {
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #ccd6de;
    border-radius: 8px;
    background: #fff;
    color: var(--mgc-ink);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    transition: border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}

.mgc-message-presets button:hover,
.mgc-message-presets button:focus-visible {
    border-color: var(--mgc-green);
    color: #1f6e28;
    box-shadow: 0 0 0 3px rgba(63, 143, 69, 0.13);
    outline: 0;
}

.mgc-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.mgc-date-time-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(120px, 160px);
    gap: 12px;
    align-items: start;
}

.mgc-giftcard-builder .form-row,
#pwgc-purchase-container .pwgc-field-container {
    margin: 0 0 12px !important;
}

.mgc-giftcard-builder label,
#pwgc-purchase-container .pwgc-label {
    display: block;
    margin: 0 0 6px;
    color: var(--mgc-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

.mgc-giftcard-builder .input-text,
.mgc-giftcard-builder input[type="email"],
.mgc-giftcard-builder input[type="text"],
.mgc-giftcard-builder input[type="number"],
.mgc-giftcard-builder input[type="date"],
.mgc-giftcard-builder textarea,
#pwgc-purchase-container .pwgc-input-text,
#pwgc-purchase-container #pwgc-message,
#pwgc-purchase-container #pwgc-custom-amount,
#pwgc-purchase-container select {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    min-height: 42px;
    border: 1px solid var(--mgc-line);
    border-radius: 8px;
    background: #fff;
    color: var(--mgc-ink);
    box-shadow: none;
}

.mgc-giftcard-builder textarea,
#pwgc-purchase-container #pwgc-message {
    min-height: 112px;
    resize: vertical;
}

.mgc-custom-amount {
    display: grid !important;
    grid-template-columns: 120px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 2px 0 0;
}

.mgc-hint,
#pwgc-purchase-container .pwgc-subtitle {
    display: block;
    margin-top: 5px;
    color: var(--mgc-muted) !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
}

.mgc-design-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.mgc-design-option {
    display: grid !important;
    grid-template-columns: auto 24px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 10px;
    border: 1px solid var(--mgc-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.74);
    cursor: pointer;
    transition: border-color 0.16s ease, background 0.16s ease, box-shadow 0.16s ease;
}

.mgc-design-option input {
    margin: 0;
}

.mgc-design-option:hover,
.mgc-design-option:focus-within,
.mgc-design-option.is-active {
    border-color: rgba(63, 143, 69, 0.62);
    background: #fff;
    box-shadow: 0 10px 26px rgba(23, 33, 43, 0.08);
}

.mgc-design-swatch {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(23, 33, 43, 0.18);
}

.mgc-design-swatch--race { background: linear-gradient(135deg, #d94135 0%, #17212b 100%); }
.mgc-design-swatch--birthday { background: linear-gradient(135deg, #ee7c5a 0%, #f3c94c 100%); }
.mgc-design-swatch--thanks { background: linear-gradient(135deg, #3f8f45 0%, #7cb8a4 100%); }
.mgc-design-swatch--holiday { background: linear-gradient(135deg, #215c5f 0%, #c7962f 100%); }
.mgc-design-swatch--starter { background: linear-gradient(135deg, #1f6e8c 0%, #8fd6c8 100%); }
.mgc-design-swatch--podium { background: linear-gradient(135deg, #20242c 0%, #d5a23f 100%); }
.mgc-design-swatch--workshop { background: linear-gradient(135deg, #39424e 0%, #d66f3f 100%); }
.mgc-design-swatch--clubnight { background: linear-gradient(135deg, #3e3a8f 0%, #2fb3a3 100%); }
.mgc-design-swatch--team { background: linear-gradient(135deg, #51464d 0%, #cf6f89 100%); }
.mgc-design-swatch--summer { background: linear-gradient(135deg, #1f8a70 0%, #f0b84d 100%); }

.mgc-design-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.mgc-design-copy span,
.mgc-design-copy small {
    overflow-wrap: anywhere;
}

.mgc-design-copy span {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
}

.mgc-design-copy small {
    color: var(--mgc-muted);
    font-size: 11px;
    line-height: 1.25;
}

.mgc-preview-panel {
    position: sticky;
    top: 18px;
    z-index: 1;
    align-self: start;
}

.summary .mgc-giftcard-builder,
.entry-summary .mgc-giftcard-builder,
.product-info .mgc-giftcard-builder,
.nasa-product-info-wrap .mgc-giftcard-builder {
    grid-template-columns: 1fr;
    max-width: 100%;
    padding: 22px;
    overflow: hidden;
}

.summary .mgc-preview-panel,
.entry-summary .mgc-preview-panel,
.product-info .mgc-preview-panel,
.nasa-product-info-wrap .mgc-preview-panel {
    position: static;
    order: -1;
}

.summary .mgc-field-grid,
.entry-summary .mgc-field-grid,
.product-info .mgc-field-grid,
.nasa-product-info-wrap .mgc-field-grid,
.summary .mgc-date-time-row,
.entry-summary .mgc-date-time-row,
.product-info .mgc-date-time-row,
.nasa-product-info-wrap .mgc-date-time-row {
    grid-template-columns: 1fr;
}

.summary .mgc-amount-options,
.entry-summary .mgc-amount-options,
.product-info .mgc-amount-options,
.nasa-product-info-wrap .mgc-amount-options {
    grid-template-columns: 1fr;
}

.summary .mgc-custom-amount,
.entry-summary .mgc-custom-amount,
.product-info .mgc-custom-amount,
.nasa-product-info-wrap .mgc-custom-amount {
    grid-template-columns: 1fr;
}

.summary .mgc-builder-heading h3,
.entry-summary .mgc-builder-heading h3,
.product-info .mgc-builder-heading h3,
.nasa-product-info-wrap .mgc-builder-heading h3 {
    font-size: 26px;
}

/* Gift card product detail page */
body.mgc-giftcard-product-page {
    --mgc-giftcard-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 240px);
}

body.mgc-giftcard-product-page .product-page {
    background:
        linear-gradient(180deg, #f7faf8 0%, #fff 42%, #f8f2e6 100%);
}

body.mgc-giftcard-product-page .nasa-toggle-layout-side-sidebar,
body.mgc-giftcard-product-page .products-arrow,
body.mgc-giftcard-product-page .impress-product-content {
    display: none !important;
}

body.mgc-giftcard-product-page .nasa-product-details-page.modern.nasa-layout-new {
    max-width: 1460px;
    margin: 0 auto 48px;
    padding: 28px 22px 42px;
    box-sizing: border-box;
}

body.mgc-giftcard-product-page .nasa-product-details-page.modern.nasa-layout-new > .nasa-single-product-slide {
    padding: 28px;
    border: 1px solid #dbe4e1;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(255,255,255,0.96) 0%, rgba(246,251,249,0.94) 50%, rgba(251,246,235,0.94) 100%),
        repeating-linear-gradient(135deg, rgba(23,33,43,0.045) 0 1px, transparent 1px 18px);
    box-shadow: 0 26px 70px rgba(23, 33, 43, 0.12);
    overflow: visible;
}

body.mgc-giftcard-product-page .nasa-product-details-page .focus-info {
    display: grid !important;
    grid-template-columns: minmax(340px, 420px) minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 0;
}

body.mgc-giftcard-product-page .nasa-product-details-page .focus-info::before,
body.mgc-giftcard-product-page .nasa-product-details-page .focus-info::after {
    display: none;
}

body.mgc-giftcard-product-page .nasa-product-details-page .focus-info > .columns,
body.mgc-giftcard-product-page .nasa-product-details-page .product-gallery,
body.mgc-giftcard-product-page .nasa-product-details-page .product-info {
    float: none !important;
    width: auto !important;
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

body.mgc-giftcard-product-page .nasa-product-details-page .product-gallery {
    position: relative;
    top: auto;
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
}

body.mgc-giftcard-product-page .nasa-product-details-page .product-info {
    min-width: 0;
    position: relative !important;
    top: auto !important;
    z-index: 1;
}

body.mgc-giftcard-product-page .nasa-product-info-wrap,
body.mgc-giftcard-product-page .nasa-product-info-scroll,
body.mgc-giftcard-product-page .product-info .cart.variations_form,
body.mgc-giftcard-product-page .cart.variations_form.mgc-giftcard-layout-form,
body.mgc-giftcard-product-page .product-info .cart.variations_form .woocommerce-variation-add-to-cart,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart {
    width: 100%;
    max-width: none;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity {
    display: grid;
    grid-template-columns: 40px minmax(48px, 1fr) 40px;
    flex: 0 0 138px;
    width: 138px;
    min-width: 138px;
    height: 46px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    background: #fff;
    float: none;
    text-align: center;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity.hidden,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity.hidden-tag {
    display: none !important;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity input.qty {
    order: 2;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    height: 44px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-right: 1px solid #e2e8f0;
    border-left: 1px solid #e2e8f0;
    border-radius: 0;
    background: #fff;
    color: #111827;
    font-weight: 850;
    line-height: 44px;
    text-align: center;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .minus,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .plus {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #f8fafc;
    color: #475569;
    line-height: 1;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .minus {
    order: 1;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .plus {
    order: 3;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .minus:hover,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .plus:hover,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .minus:focus-visible,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .plus:focus-visible {
    background: #fff1f2;
    color: #f73030;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .minus:focus-visible,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .plus:focus-visible {
    outline: 3px solid rgba(247, 48, 48, 0.22);
    outline-offset: -3px;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .minus svg,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity .plus svg {
    width: 15px;
    height: 15px;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    flex: 1 1 260px;
    max-width: none;
    min-height: 46px;
    margin: 0;
}

body.mgc-giftcard-product-page .cart.variations_form.mgc-enhanced-giftcard-form > table.variations,
body.mgc-giftcard-product-page .cart.variations_form.mgc-enhanced-giftcard-form .single_variation {
    display: none !important;
}

body.mgc-giftcard-product-page .product-info .entry-title {
    max-width: 780px;
    margin: 0 0 12px;
    color: #17212b;
    font-size: 32px;
    line-height: 1.12;
    overflow-wrap: anywhere;
}

body.mgc-giftcard-product-page .product-info .nasa-single-product-price {
    margin: 0 0 14px;
    color: #1f6e28;
    font-weight: 800;
}

body.mgc-giftcard-product-page .product-info .woocommerce-product-details__short-description {
    max-width: 760px;
    margin: 0 0 18px;
    padding: 14px 16px;
    border-left: 3px solid #3f8f45;
    border-radius: 8px;
    background: #f0f7f2;
    color: #26323d;
}

body.mgc-giftcard-product-page .mzs-attr-badges {
    margin: 0 0 14px;
}

body.mgc-giftcard-product-page .focus-info > .cart.variations_form.mgc-giftcard-layout-form {
    grid-column: 1 / -1;
    grid-row: 2;
    clear: none;
    margin-top: 8px;
}

body.mgc-giftcard-product-page .mzs-attr-badges .mzs-badge--category,
body.mgc-giftcard-product-page .mzs-attr-badges .mzs-badge--attr,
body.mgc-giftcard-product-page .mzs-attr-badges .mzs-badge--sku {
    display: none;
}

body.mgc-giftcard-product-page .woocommerce-product-gallery {
    padding: 16px;
    border: 1px solid #dce5e1;
    border-radius: 8px;
    background:
        linear-gradient(180deg, #fff 0%, #f5f8f6 100%);
    box-shadow: 0 16px 36px rgba(23, 33, 43, 0.08);
}

body.mgc-giftcard-product-page .product-gallery .nasa-main-wrap,
body.mgc-giftcard-product-page .product-gallery .nasa-item-main-image-wrap,
body.mgc-giftcard-product-page .product-gallery .easyzoom,
body.mgc-giftcard-product-page .product-gallery .product-image,
body.mgc-giftcard-product-page .product-gallery img {
    border-radius: 8px;
}

body.mgc-giftcard-product-page .product-gallery img {
    background: #fff;
}

body.mgc-giftcard-product-page .product-gallery .nasa-thumb-wrap,
body.mgc-giftcard-product-page .product-gallery .product-image-btn,
body.mgc-giftcard-product-page .product-gallery .main-images .item-wrap:not(.first) {
    display: none !important;
}

body.mgc-giftcard-product-page .product-gallery .row,
body.mgc-giftcard-product-page .product-gallery .columns,
body.mgc-giftcard-product-page .product-gallery .nasa-main-wrap,
body.mgc-giftcard-product-page .product-gallery .product-images-slider,
body.mgc-giftcard-product-page .product-gallery .nasa-main-image-default-wrap,
body.mgc-giftcard-product-page .product-gallery .main-images,
body.mgc-giftcard-product-page .product-gallery .item-wrap.first,
body.mgc-giftcard-product-page .product-gallery .nasa-item-main-image-wrap,
body.mgc-giftcard-product-page .product-gallery .easyzoom,
body.mgc-giftcard-product-page .product-gallery .product-image {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.mgc-giftcard-product-page .summary .mgc-giftcard-builder,
body.mgc-giftcard-product-page .entry-summary .mgc-giftcard-builder,
body.mgc-giftcard-product-page .product-info .mgc-giftcard-builder,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-giftcard-builder,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-giftcard-builder {
    grid-template-columns: minmax(0, 1fr) minmax(360px, 460px);
    grid-template-areas: "main preview";
    gap: 32px;
    align-items: start;
    max-width: none;
    margin: 22px 0 30px;
    padding: 28px;
    overflow: visible;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-builder-main {
    grid-area: main;
    width: 100%;
    max-width: none;
    justify-self: stretch;
}

body.mgc-giftcard-product-page .summary .mgc-preview-panel,
body.mgc-giftcard-product-page .entry-summary .mgc-preview-panel,
body.mgc-giftcard-product-page .product-info .mgc-preview-panel,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-preview-panel,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-panel {
    grid-area: preview;
    position: sticky;
    top: var(--mgc-giftcard-sticky-top);
    order: initial;
    align-self: start;
    justify-self: stretch;
    width: 100%;
    max-width: 460px;
    min-width: 0;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-card {
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 326px;
    padding: 26px;
}

body.mgc-giftcard-product-page .summary .mgc-field-grid,
body.mgc-giftcard-product-page .entry-summary .mgc-field-grid,
body.mgc-giftcard-product-page .product-info .mgc-field-grid,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-field-grid,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-field-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.mgc-giftcard-product-page .summary .mgc-date-time-row,
body.mgc-giftcard-product-page .entry-summary .mgc-date-time-row,
body.mgc-giftcard-product-page .product-info .mgc-date-time-row,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-date-time-row,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-date-time-row {
    grid-template-columns: minmax(0, 1fr) minmax(120px, 160px);
}

body.mgc-giftcard-product-page .summary .mgc-amount-options,
body.mgc-giftcard-product-page .entry-summary .mgc-amount-options,
body.mgc-giftcard-product-page .product-info .mgc-amount-options,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-amount-options,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-amount-options {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.mgc-giftcard-product-page .summary .mgc-custom-amount,
body.mgc-giftcard-product-page .entry-summary .mgc-custom-amount,
body.mgc-giftcard-product-page .product-info .mgc-custom-amount,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-custom-amount,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-custom-amount {
    grid-template-columns: 120px minmax(0, 1fr);
}

body.mgc-giftcard-product-page .summary .mgc-builder-heading h3,
body.mgc-giftcard-product-page .entry-summary .mgc-builder-heading h3,
body.mgc-giftcard-product-page .product-info .mgc-builder-heading h3,
body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-builder-heading h3,
body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-builder-heading h3 {
    font-size: 30px;
}

body.mgc-giftcard-product-page .mgc-design-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.mgc-giftcard-product-page .mgc-preview-card {
    min-height: 340px;
}

body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-amount {
    font-size: 50px;
}

.mgc-preview-card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto min-content min-content 1fr auto;
    min-height: 330px;
    aspect-ratio: 1.58 / 1;
    padding: 24px;
    border-radius: 8px;
    color: #fff;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(23, 33, 43, 0.18);
}

.mgc-preview-card > :not(.mgc-preview-art) {
    position: relative;
    z-index: 2;
}

.mgc-preview-card--race {
    background:
        linear-gradient(135deg, #d94135, #17212b),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.16) 0 12px, transparent 12px 24px);
}

.mgc-preview-card--birthday {
    background:
        repeating-linear-gradient(100deg, rgba(255,255,255,0.16) 0 8px, transparent 8px 24px),
        linear-gradient(135deg, #ee7c5a 0%, #f3c94c 100%);
}

.mgc-preview-card--thanks {
    background:
        linear-gradient(135deg, #2d7140 0%, #7cb8a4 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.1) 0 1px, transparent 1px 12px);
}

.mgc-preview-card--holiday {
    background:
        linear-gradient(135deg, #215c5f 0%, #c7962f 100%),
        repeating-linear-gradient(135deg, rgba(255,255,255,0.12) 0 10px, transparent 10px 20px);
}

.mgc-preview-card--starter {
    background:
        linear-gradient(135deg, #1f6e8c 0%, #8fd6c8 100%),
        repeating-linear-gradient(0deg, rgba(255,255,255,0.12) 0 1px, transparent 1px 14px);
}

.mgc-preview-card--podium {
    background:
        linear-gradient(135deg, #20242c 0%, #d5a23f 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.12) 0 9px, transparent 9px 18px);
}

.mgc-preview-card--workshop {
    background:
        linear-gradient(135deg, #39424e 0%, #d66f3f 100%),
        repeating-linear-gradient(135deg, rgba(255,255,255,0.12) 0 1px, transparent 1px 12px);
}

.mgc-preview-card--clubnight {
    background:
        linear-gradient(135deg, #3e3a8f 0%, #2fb3a3 100%),
        repeating-linear-gradient(90deg, rgba(255,255,255,0.08) 0 1px, transparent 1px 16px);
}

.mgc-preview-card--team {
    background:
        linear-gradient(135deg, #51464d 0%, #cf6f89 100%),
        repeating-linear-gradient(45deg, rgba(255,255,255,0.1) 0 8px, transparent 8px 18px);
}

.mgc-preview-card--summer {
    background:
        linear-gradient(135deg, #1f8a70 0%, #f0b84d 100%),
        repeating-linear-gradient(120deg, rgba(255,255,255,0.11) 0 2px, transparent 2px 18px);
}

.mgc-preview-art {
    position: absolute;
    top: 24px;
    right: 48px;
    z-index: 1;
    width: min(42%, 180px);
    height: auto;
    pointer-events: none;
    opacity: 0.66;
    filter: drop-shadow(0 16px 26px rgba(23, 33, 43, 0.16));
    transform: rotate(-4deg);
}

.mgc-preview-topline {
    align-self: start;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
    opacity: 0.88;
}

.mgc-preview-event {
    justify-self: start;
    margin-top: 10px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,0.36);
    border-radius: 8px;
    background: rgba(255,255,255,0.12);
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.mgc-preview-amount {
    margin: 22px 0 10px;
    font-size: 54px;
    font-weight: 900;
    line-height: 0.95;
    overflow-wrap: anywhere;
}

.mgc-preview-recipient {
    font-size: 18px;
    font-weight: 800;
}

.mgc-preview-message {
    margin-top: 12px;
    min-height: 58px;
    font-size: 14px;
    line-height: 1.45;
    opacity: 0.92;
    overflow-wrap: anywhere;
}

.mgc-preview-footer {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
    font-size: 12px;
    line-height: 1.35;
}

.mgc-enhanced-giftcard-form table.variations {
    display: none !important;
}

#pwgc-purchase-container.mgc-giftcard-builder {
    display: grid !important;
    flex-basis: 100% !important;
}

#pwgc-purchase-container #pwgc-custom-amount-form.pwgc-hidden {
    display: grid;
}

#pwgc-purchase-container #pwgc-email-preview-container {
    width: 100%;
    min-height: 420px;
    border: 1px solid var(--mgc-line);
    border-radius: 8px;
}

#pwgc-purchase-container #pwgc-email-preview-container:not([src]) {
    display: none !important;
}

#pwgc-purchase-container #pwgc-email-preview-button {
    margin-top: 8px;
}

/* Redeem form */
body.mgc-unified-code-field .woocommerce-form-coupon-toggle,
body.mgc-unified-code-field form.checkout_coupon,
body.mgc-unified-code-field .woocommerce-cart-form .actions .coupon {
    display: none !important;
}

.mgc-redeem-form {
    margin: 1.5em 0;
}

.mgc-redeem-form--cart {
    max-width: 560px;
}

.mgc-redeem-form h3 {
    margin-bottom: 0.5em;
}

.mgc-redeem-row,
.mgc-balance-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.mgc-redeem-form .mgc-redeem-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 10px;
    max-width: 480px;
    align-items: stretch;
}

.mgc-card-input {
    max-width: 280px;
    font-family: "Courier New", monospace;
    letter-spacing: 0;
    text-transform: uppercase;
}

.mgc-redeem-form .mgc-card-input {
    width: 100%;
    max-width: none;
    min-height: 48px;
    font-family: inherit;
    font-weight: 600;
    border-radius: 6px;
}

.mgc-redeem-form .mgc-apply-btn {
    min-height: 48px;
    padding-inline: 18px;
    border-radius: 6px;
    white-space: nowrap;
}

.mgc-redeem-message {
    margin-top: 6px;
    font-size: 0.9em;
}

.mgc-redeem-hint {
    display: block;
    max-width: 480px;
    margin: 8px 0 0;
    color: #666;
    font-size: 0.9em;
    line-height: 1.45;
}

.mgc-success { color: #3f8f45; }
.mgc-error { color: #d94135; }

.mgc-turnstile-container {
    margin: 10px 0;
}

tr.mgc-gift-card-discount th,
tr.mgc-gift-card-discount td {
    background: #eef7ef;
}

.mgc-remove-card {
    margin-left: 6px;
    color: #a00;
    font-size: 0.9em;
    text-decoration: none;
}

.mgc-remove-card:hover {
    color: #d94135;
}

@media (max-width: 640px) {
    .mgc-redeem-form .mgc-redeem-row {
        grid-template-columns: 1fr;
    }

    .mgc-redeem-form .mgc-apply-btn {
        width: 100%;
    }
}

/* Balance checker */
.mgc-balance-checker {
    max-width: 560px;
}

.mgc-balance-intro {
    margin: 0 0 14px;
    color: #555;
    line-height: 1.5;
}

.mgc-balance-result {
    margin-top: 14px;
    margin-bottom: 1em;
    padding: 1em;
    border-radius: 8px;
    background: #eef7ef;
}

.mgc-balance-amount {
    font-size: 1.3em;
    font-weight: 800;
}

.mgc-balance-amount .mgc-value {
    color: #3f8f45;
}

.mgc-balance-note {
    margin-top: 8px;
    color: #555;
    line-height: 1.45;
}

.mgc-balance-error {
    padding: 0.5em;
    color: #d94135;
}

.mgc-tag {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 0.8em;
    font-weight: 700;
}

.mgc-tag--active { background: #e6f5e8; color: #2d7140; }
.mgc-tag--inactive { background: #f0f0f0; color: #666; }
.mgc-tag--expired { background: #fde8e8; color: #b32d2e; }

.mgc-history-table {
    margin-top: 1em;
}

.mgc-history-table th,
.mgc-history-table td {
    padding: 6px 10px;
    text-align: left;
}

@media (max-width: 900px) {
    .mgc-giftcard-builder {
        grid-template-columns: 1fr;
        padding: 22px;
    }

    .mgc-preview-panel {
        position: static;
    }

    .mgc-builder-heading h3 {
        font-size: 26px;
    }

    .mgc-preview-amount {
        font-size: 46px;
    }
}

@media (max-width: 560px) {
    .mgc-giftcard-builder {
        padding: 18px;
    }

    .mgc-field-grid,
    .mgc-date-time-row,
    .mgc-design-options {
        grid-template-columns: 1fr;
    }

    .mgc-custom-amount {
        grid-template-columns: 1fr;
    }

    .mgc-preview-footer {
        display: grid;
    }

    .mgc-preview-card {
        min-height: 300px;
        padding: 20px;
        aspect-ratio: auto;
    }

    .mgc-preview-art {
        width: min(56%, 170px);
        opacity: 0.58;
    }

    .mgc-preview-amount {
        font-size: 38px;
    }
}

@media (max-width: 1180px) {
    body.mgc-giftcard-product-page .nasa-product-details-page .focus-info {
        grid-template-columns: 1fr;
    }

    body.mgc-giftcard-product-page .nasa-product-details-page .product-gallery,
    body.mgc-giftcard-product-page .product-info .entry-title,
    body.mgc-giftcard-product-page .mzs-attr-badges,
    body.mgc-giftcard-product-page .product-info .nasa-single-product-price,
    body.mgc-giftcard-product-page .product-info .woocommerce-product-details__short-description,
    body.mgc-giftcard-product-page .product-info .cart.variations_form,
    body.mgc-giftcard-product-page .focus-info > .cart.variations_form.mgc-giftcard-layout-form {
        grid-column: 1;
        grid-row: auto;
    }

    body.mgc-giftcard-product-page .nasa-product-details-page .product-gallery {
        position: static;
        width: 100% !important;
        max-width: 620px;
        margin: 0 auto;
    }

    body.mgc-giftcard-product-page .product-info .cart.variations_form,
    body.mgc-giftcard-product-page .focus-info > .cart.variations_form.mgc-giftcard-layout-form {
        margin-top: 20px;
    }
}

@media (max-width: 900px) {
    body.mgc-giftcard-product-page {
        --mgc-giftcard-sticky-top: calc(var(--wp-admin--admin-bar--height, 0px) + 132px);
    }

    body.mgc-giftcard-product-page .nasa-product-details-page.modern.nasa-layout-new {
        padding: 18px 12px 34px;
    }

    body.mgc-giftcard-product-page .nasa-product-details-page.modern.nasa-layout-new > .nasa-single-product-slide {
        padding: 18px;
    }

    body.mgc-giftcard-product-page .product-info .entry-title {
        font-size: 28px;
    }

    body.mgc-giftcard-product-page .summary .mgc-giftcard-builder,
    body.mgc-giftcard-product-page .entry-summary .mgc-giftcard-builder,
    body.mgc-giftcard-product-page .product-info .mgc-giftcard-builder,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-giftcard-builder,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-giftcard-builder {
        grid-template-columns: 1fr;
        grid-template-areas:
            "preview"
            "main";
        gap: 20px;
    }

    body.mgc-giftcard-product-page .summary .mgc-preview-panel,
    body.mgc-giftcard-product-page .entry-summary .mgc-preview-panel,
    body.mgc-giftcard-product-page .product-info .mgc-preview-panel,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-preview-panel,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-panel {
        position: sticky;
        top: var(--mgc-giftcard-sticky-top);
        z-index: 12;
        order: -2;
        justify-self: center;
        max-width: 560px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-card {
        min-height: 248px;
        padding: 20px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-amount {
        font-size: 42px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-message {
        min-height: 44px;
        max-height: 44px;
        overflow: hidden;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-footer {
        margin-top: 12px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form input,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form textarea,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form button,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-design-option {
        scroll-margin-top: calc(var(--mgc-giftcard-sticky-top) + 270px);
    }

    body.mgc-giftcard-product-page .summary .mgc-field-grid,
    body.mgc-giftcard-product-page .entry-summary .mgc-field-grid,
    body.mgc-giftcard-product-page .product-info .mgc-field-grid,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-field-grid,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-field-grid,
    body.mgc-giftcard-product-page .summary .mgc-date-time-row,
    body.mgc-giftcard-product-page .entry-summary .mgc-date-time-row,
    body.mgc-giftcard-product-page .product-info .mgc-date-time-row,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-date-time-row,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-date-time-row,
    body.mgc-giftcard-product-page .summary .mgc-custom-amount,
    body.mgc-giftcard-product-page .entry-summary .mgc-custom-amount,
    body.mgc-giftcard-product-page .product-info .mgc-custom-amount,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-custom-amount,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-custom-amount,
    body.mgc-giftcard-product-page .mgc-design-options {
        grid-template-columns: 1fr;
    }

    body.mgc-giftcard-product-page .summary .mgc-amount-options,
    body.mgc-giftcard-product-page .entry-summary .mgc-amount-options,
    body.mgc-giftcard-product-page .product-info .mgc-amount-options,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-amount-options,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-amount-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.mgc-giftcard-product-page .summary .mgc-builder-heading h3,
    body.mgc-giftcard-product-page .entry-summary .mgc-builder-heading h3,
    body.mgc-giftcard-product-page .product-info .mgc-builder-heading h3,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-builder-heading h3,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-builder-heading h3 {
        font-size: 26px;
    }
}

@media (max-width: 560px) {
    body.mgc-giftcard-product-page .nasa-product-details-page.modern.nasa-layout-new {
        padding: 12px 8px 28px;
    }

    body.mgc-giftcard-product-page .nasa-product-details-page.modern.nasa-layout-new > .nasa-single-product-slide {
        padding: 14px;
    }

    body.mgc-giftcard-product-page .product-info .entry-title {
        font-size: 24px;
    }

    body.mgc-giftcard-product-page .summary .mgc-amount-options,
    body.mgc-giftcard-product-page .entry-summary .mgc-amount-options,
    body.mgc-giftcard-product-page .product-info .mgc-amount-options,
    body.mgc-giftcard-product-page .nasa-product-info-wrap .mgc-amount-options,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-amount-options {
        grid-template-columns: 1fr;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-giftcard-builder {
        padding: 14px;
        gap: 16px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-card {
        min-height: 218px;
        padding: 16px;
        aspect-ratio: 1.58 / 1;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-art {
        top: 18px;
        right: 18px;
        width: min(45%, 135px);
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-amount {
        margin: 14px 0 6px;
        font-size: 34px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-topline,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-event,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-footer {
        font-size: 10px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-event {
        margin-top: 6px;
        padding: 5px 8px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-recipient {
        font-size: 15px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-message {
        margin-top: 8px;
        min-height: 34px;
        max-height: 34px;
        font-size: 11px;
        line-height: 1.35;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-preview-footer {
        gap: 8px;
        margin-top: 8px;
        padding-top: 8px;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .quantity {
        flex-basis: 100%;
        width: 100%;
        min-width: 0;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
        flex: 1 1 calc(100% - 58px);
        min-width: 0;
        width: auto;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .woocommerce-variation-add-to-cart .mwl-btn--single {
        flex: 0 0 48px;
        width: 48px;
        margin-left: 0;
    }

    body.mgc-giftcard-product-page .mgc-giftcard-layout-form input,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form textarea,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form button,
    body.mgc-giftcard-product-page .mgc-giftcard-layout-form .mgc-design-option {
        scroll-margin-top: 240px;
    }
}
