/*
 * Tings Market Reloadly Gift Cards
 * v6.5.2 — official Reloadly artwork and compact two-column purchase flow.
 */

/* Shared gift-card controls ------------------------------------------------ */
.tmds-giftcard-config,
.tmds-giftcard-config * {
    box-sizing: border-box;
}

.tmds-giftcard-config {
    margin: 15px 0 0;
    padding: 18px;
    border: 1px solid #cfe3e8;
    border-radius: 17px;
    background:
        radial-gradient(circle at 100% 0, rgba(18, 184, 202, .10), transparent 34%),
        #fbfeff;
}

.tmds-giftcard-heading {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    margin-bottom: 13px;
}

.tmds-giftcard-heading__icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 13px;
    color: #067f94;
    background: #e8f9fc;
}

.tmds-giftcard-heading__icon .tm-icon {
    width: 21px;
    height: 21px;
}

.tmds-giftcard-heading > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.tmds-giftcard-heading small {
    color: #08788c;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.tmds-giftcard-heading strong {
    color: #071327;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.2;
}

.tmds-giftcard-currency {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 6px 10px;
    border: 1px solid #b8e2e9;
    border-radius: 999px;
    color: #067b90;
    background: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
}

.tmds-giftcard-admin-preview {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0 0 13px;
    padding: 10px 11px;
    border: 1px solid #f2d38a;
    border-radius: 11px;
    color: #664d00;
    background: #fffaf0;
}

.tmds-giftcard-admin-preview .tm-icon {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    color: #9a6b00;
}

.tmds-giftcard-admin-preview > span {
    display: grid;
    gap: 2px;
}

.tmds-giftcard-admin-preview strong {
    font-size: 11px;
    line-height: 1.25;
}

.tmds-giftcard-admin-preview small {
    color: #7b6426;
    font-size: 10px;
    line-height: 1.35;
}

.tmds-giftcard-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    margin: 0 0 15px;
}

.tmds-giftcard-steps span {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    color: #546276;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.tmds-giftcard-steps b {
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    color: #fff;
    background: #0a8fa4;
    font-size: 10px;
    font-weight: 900;
}

.tmds-giftcard-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 11px;
}

.tmds-giftcard-fields label {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    margin: 0;
}

.tmds-giftcard-fields label > span {
    color: #293548;
    font-size: 11.5px;
    font-weight: 850;
    line-height: 1.3;
}

.tmds-giftcard-fields label > span em {
    color: #7a8798;
    font-size: 9px;
    font-style: normal;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.tmds-giftcard-fields abbr.required {
    border: 0 !important;
    text-decoration: none !important;
}

.tmds-giftcard-fields input,
.tmds-giftcard-fields select,
.tmds-giftcard-fields textarea {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 1px solid #bbc8d0 !important;
    border-radius: 10px !important;
    color: #071327 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    line-height: 1.35;
}

.tmds-giftcard-fields input,
.tmds-giftcard-fields select {
    min-height: 45px;
    padding: 9px 11px !important;
}

.tmds-giftcard-fields textarea {
    min-height: 76px;
    padding: 10px 11px !important;
    resize: vertical;
}

.tmds-giftcard-fields input:focus,
.tmds-giftcard-fields select:focus,
.tmds-giftcard-fields textarea:focus {
    border-color: #12b8ca !important;
    outline: 0 !important;
    box-shadow: 0 0 0 3px rgba(18, 184, 202, .14) !important;
}

.tmds-giftcard-fields small {
    color: #69778a;
    font-size: 10px;
    line-height: 1.35;
}

.tmds-giftcard-span {
    grid-column: 1 / -1;
}

.tmds-giftcard-amount-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}

.tmds-giftcard-amount-wrap input {
    border-radius: 10px 0 0 10px !important;
}

.tmds-giftcard-amount-wrap > span {
    display: grid;
    place-items: center;
    min-width: 55px;
    padding: 0 11px;
    border: 1px solid #bbc8d0;
    border-left: 0;
    border-radius: 0 10px 10px 0;
    color: #3f4d60;
    background: #f4f7f8;
    font-size: 11px;
    font-weight: 900;
}

.tmds-giftcard-quote {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    margin: 14px 0 12px;
    padding: 12px 14px;
    border: 1px solid #b7e3ea;
    border-radius: 12px;
    color: #086f83;
    background: #edfafd;
    font-size: 12px;
    line-height: 1.35;
}

.tmds-giftcard-quote strong {
    flex: 0 0 auto;
    color: #071327;
    font-size: 20px;
    font-weight: 950;
    letter-spacing: -.025em;
}

.tmds-giftcard-quote.is-ready {
    border-color: #91dbc5;
    color: #086c4e;
    background: #effcf7;
}

.tmds-giftcard-quote.is-working {
    opacity: .72;
}

.tmds-giftcard-quote.is-error {
    border-color: #f1b8b4;
    color: #a32b25;
    background: #fff4f3;
}

.tmds-giftcard-consent {
    display: grid;
    grid-template-columns: 19px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    padding: 12px;
    border: 1px solid #d7e0e5;
    border-radius: 12px;
    color: #405066;
    background: #fff;
    cursor: pointer;
}

.tmds-giftcard-consent input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    margin: 1px 0 0 !important;
    accent-color: #0a91a6;
}

.tmds-giftcard-consent > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.tmds-giftcard-consent strong {
    color: #17283b;
    font-size: 11.5px;
    font-weight: 900;
    line-height: 1.25;
}

.tmds-giftcard-consent small {
    color: #5e6e82;
    font-size: 10px;
    line-height: 1.45;
}

.tmds-giftcard-security {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 11px 0 0;
    color: #627186;
}

.tmds-giftcard-security__icon {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 999px;
    color: #087e92;
    background: #e8f9fc;
}

.tmds-giftcard-security__icon .tm-icon {
    width: 14px;
    height: 14px;
}

.tmds-giftcard-security > span:last-child {
    display: grid;
    gap: 1px;
}

.tmds-giftcard-security strong {
    color: #314055;
    font-size: 10.5px;
}

.tmds-giftcard-security small {
    font-size: 9.5px;
    line-height: 1.35;
}

.tmds-giftcard-unavailable {
    margin: 0 0 13px !important;
    padding: 11px 12px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
}

.tmds-giftcard-price-from {
    font-weight: 900;
}

/* Single gift-card product page ------------------------------------------- */
body.tmds-reloadly-gift-product {
    --tmds-gift-navy: #071327;
    --tmds-gift-aqua: #12b8ca;
    --tmds-gift-aqua-dark: #087e92;
    --tmds-gift-yellow: #ffd000;
    --tmds-gift-border: #d8e3e7;
    background: #fff;
}

/* Final icon normalization. Older product-page rules filled line icons and
 * turned Lucide paths into solid bars. Keep every gift-page icon stroked. */
body.tmds-reloadly-gift-product .tm-icon,
body.tmds-reloadly-gift-product .tings-product-share .tm-icon,
body.tmds-reloadly-gift-product .tings-product-assurances .tm-icon {
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}

body.tmds-reloadly-gift-product .tm-product-cart-rail {
    display: none !important;
}

body.tmds-reloadly-gift-product main.tmds-platform-single-product {
    width: min(calc(100% - 32px), 1540px) !important;
    max-width: 1540px !important;
    margin-inline: auto !important;
    padding: 22px 0 72px !important;
}

body.tmds-reloadly-gift-product .tings-product-layout {
    grid-template-columns:
        minmax(390px, 1.06fr)
        minmax(295px, .74fr)
        minmax(405px, .92fr);
    column-gap: clamp(24px, 2.3vw, 38px);
    row-gap: 18px;
}

body.tmds-reloadly-gift-product .tings-product-info .product_meta {
    display: none !important;
}

body.tmds-reloadly-gift-product .tings-product-context {
    margin-bottom: 8px;
}

body.tmds-reloadly-gift-product .tings-product-context a {
    display: inline-flex;
    align-items: center;
    min-height: 27px;
    padding: 5px 9px;
    border: 1px solid #cde7eb;
    border-radius: 999px;
    color: #087a8e;
    background: #f0fbfd;
    font-size: 10.5px;
    font-weight: 850;
    text-decoration: none;
}

body.tmds-reloadly-gift-product .tings-product-info .product_title {
    max-width: 17ch;
    margin-bottom: 15px !important;
    font-size: clamp(30px, 2.65vw, 43px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.045em !important;
}

/* Guaranteed product art, even when a remote brand logo cannot be imported. */
body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: visible !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery > .woocommerce-product-gallery__wrapper {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    border: 1px solid #d5e4e8 !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(255, 208, 0, .20), transparent 26%),
        radial-gradient(circle at 88% 82%, rgba(18, 184, 202, .22), transparent 28%),
        linear-gradient(145deg, #f9fdfe 0%, #edf8fa 48%, #fefdf7 100%) !important;
    box-shadow: 0 22px 55px rgba(7, 19, 39, .09);
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
    display: grid !important;
    place-items: center;
    min-height: clamp(430px, 42vw, 650px);
    aspect-ratio: auto !important;
    padding: clamp(24px, 4vw, 54px) !important;
    background: transparent !important;
}

.tmds-giftcard-art {
    position: relative;
    isolation: isolate;
    width: min(100%, 540px);
    aspect-ratio: 1.586 / 1;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 14px;
    overflow: hidden;
    padding: clamp(19px, 2.5vw, 30px);
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: clamp(22px, 2.3vw, 31px);
    color: #fff;
    background:
        linear-gradient(132deg, rgba(255,255,255,.10), transparent 36%),
        linear-gradient(135deg, #071327 0%, #0b3344 58%, #078da3 100%);
    box-shadow:
        0 28px 58px rgba(7, 19, 39, .24),
        inset 0 1px 0 rgba(255,255,255,.24);
}

.tmds-giftcard-art::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    background:
        linear-gradient(110deg, transparent 0 48%, rgba(255,255,255,.08) 50%, transparent 52%) 0 0 / 190% 100%,
        repeating-linear-gradient(135deg, transparent 0 18px, rgba(255,255,255,.025) 18px 19px);
}

.tmds-giftcard-art__orb {
    position: absolute;
    z-index: -2;
    display: block;
    border-radius: 999px;
    filter: blur(1px);
}

.tmds-giftcard-art__orb--one {
    width: 210px;
    height: 210px;
    top: -105px;
    right: -72px;
    background: rgba(255, 208, 0, .38);
}

.tmds-giftcard-art__orb--two {
    width: 190px;
    height: 190px;
    bottom: -118px;
    left: -55px;
    background: rgba(18, 184, 202, .46);
}

.tmds-giftcard-art__top,
.tmds-giftcard-art__bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.tmds-giftcard-art__top span {
    font-size: clamp(15px, 1.5vw, 21px);
    font-weight: 950;
    letter-spacing: -.025em;
}

.tmds-giftcard-art__top small {
    padding: 5px 8px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    color: #d9f8fc;
    background: rgba(255,255,255,.08);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.tmds-giftcard-art__brand {
    position: relative;
    align-self: center;
    justify-self: start;
    display: grid;
    place-items: center;
    width: clamp(82px, 11vw, 132px);
    height: clamp(66px, 8vw, 98px);
    padding: 13px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.45);
    border-radius: 20px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 14px 30px rgba(0,0,0,.16);
}

.tmds-giftcard-art__initials {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #087e92;
    font-size: clamp(24px, 3vw, 38px);
    font-weight: 950;
    letter-spacing: -.05em;
}

.tmds-giftcard-art__logo {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #fff;
}

.tmds-giftcard-art__logo[hidden],
.tmds-giftcard-art__brand.is-logo-unavailable .tmds-giftcard-art__logo {
    display: none !important;
}

.tmds-giftcard-art__bottom {
    align-items: end;
}

.tmds-giftcard-art__bottom strong {
    max-width: 70%;
    font-size: clamp(19px, 2.25vw, 31px);
    font-weight: 950;
    line-height: 1.05;
    letter-spacing: -.04em;
}

.tmds-giftcard-art__bottom span {
    max-width: 34%;
    color: #d7f4f7;
    font-size: 9px;
    font-weight: 850;
    line-height: 1.35;
    text-align: right;
    text-transform: uppercase;
    letter-spacing: .055em;
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery .woocommerce-product-gallery__trigger {
    display: none !important;
}

body.tmds-reloadly-gift-product .tings-product-share {
    top: 17px !important;
    right: 17px !important;
    color: #071327 !important;
    border: 1px solid #d3e1e5 !important;
    box-shadow: 0 8px 20px rgba(7,19,39,.09) !important;
}

body.tmds-reloadly-gift-product .tings-product-share .tm-icon {
    width: 19px;
    height: 19px;
}

.tmds-giftcard-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 4px 0 0;
}

.tmds-giftcard-facts > span {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 8px;
    min-height: 46px;
    padding: 10px;
    border: 1px solid #d9e6e9;
    border-radius: 11px;
    color: #46556a;
    background: #fbfdfe;
}

.tmds-giftcard-facts .tm-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    color: #0a8da2;
}

.tmds-giftcard-facts b {
    overflow: hidden;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.25;
    text-overflow: ellipsis;
}

body.tmds-reloadly-gift-product .tings-key-features {
    margin-top: 3px;
    border-color: #d9e5e8;
    box-shadow: none;
}

body.tmds-reloadly-gift-product .tings-key-features__toggle {
    min-height: 50px;
    padding: 13px 15px;
    font-size: 13px;
}

body.tmds-reloadly-gift-product .tings-key-features__content {
    padding: 0 15px 15px;
    color: #46556a;
    font-size: 12px;
    line-height: 1.6;
}

body.tmds-reloadly-gift-product .tings-purchase-card {
    padding: 21px;
    overflow: visible;
    border: 1px solid #d6e2e6;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 208, 0, .12), transparent 25%),
        #f8fbfc;
    box-shadow: 0 18px 42px rgba(7, 19, 39, .09);
}

body.tmds-reloadly-gift-product .tings-purchase-head {
    padding: 2px 2px 0;
}

body.tmds-reloadly-gift-product .tings-purchase-card .price,
body.tmds-reloadly-gift-product .tings-purchase-card .woocommerce-variation-price .price {
    margin-bottom: 3px !important;
    font-size: clamp(31px, 2.6vw, 42px) !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card .stock {
    display: none !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card .tmds-giftcard-security {
    display: none;
}

body.tmds-reloadly-gift-product .tings-purchase-card .quantity {
    width: 100%;
    margin: 14px 0 9px !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card .quantity::before {
    content: 'Number of cards';
}

body.tmds-reloadly-gift-product .tings-purchase-card .quantity .qty {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
    border-radius: 10px !important;
    background: #fff !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card .single_add_to_cart_button {
    min-height: 52px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
}

body.tmds-reloadly-gift-product .tings-product-assurances--gift-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 13px;
    padding-top: 13px;
}

body.tmds-reloadly-gift-product .tings-product-assurances--gift-card span {
    justify-content: center;
    min-height: 34px;
    padding: 7px 8px;
    border: 1px solid #dce7ea;
    border-radius: 9px;
    background: #fff;
    font-size: 9.5px;
    text-align: center;
}

body.tmds-reloadly-gift-product .tings-product-assurances--gift-card .tm-icon {
    width: 15px;
    height: 15px;
}

/* Product details: concise by default; detailed redemption copy stays inside
 * a customer-controlled disclosure instead of filling several screens. */
body.tmds-reloadly-gift-product div.product .woocommerce-tabs {
    margin-top: 46px;
}

body.tmds-reloadly-gift-product div.product .woocommerce-tabs .panel > h2:first-child {
    display: none !important;
}

body.tmds-reloadly-gift-product div.product .woocommerce-tabs .panel {
    padding: clamp(22px, 3vw, 34px) !important;
}

.tmds-giftcard-description {
    display: grid;
    gap: 19px;
}

.tmds-giftcard-description__lead {
    max-width: 850px;
    margin: 0 !important;
    color: #243449 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.tmds-giftcard-description__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.tmds-giftcard-description__grid > div {
    display: grid;
    align-content: start;
    gap: 6px;
    min-height: 112px;
    padding: 16px;
    border: 1px solid #dce7ea;
    border-radius: 13px;
    background: #f9fcfd;
}

.tmds-giftcard-description__grid strong {
    color: #071327;
    font-size: 13px;
    font-weight: 900;
}

.tmds-giftcard-description__grid span {
    color: #58687c;
    font-size: 12px;
    line-height: 1.55;
}

.tmds-giftcard-redeem {
    overflow: hidden;
    border: 1px solid #d8e4e7;
    border-radius: 13px;
    background: #fff;
}

.tmds-giftcard-redeem summary {
    position: relative;
    padding: 15px 46px 15px 16px;
    color: #102238;
    background: #f8fbfc;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    list-style: none;
}

.tmds-giftcard-redeem summary::-webkit-details-marker {
    display: none;
}

.tmds-giftcard-redeem summary::after {
    position: absolute;
    top: 50%;
    right: 18px;
    width: 9px;
    height: 9px;
    content: '';
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-65%) rotate(45deg);
    transition: transform .16s ease;
}

.tmds-giftcard-redeem[open] summary::after {
    transform: translateY(-35%) rotate(225deg);
}

.tmds-giftcard-redeem > div {
    padding: 4px 17px 18px;
    color: #445469;
    font-size: 13px;
    line-height: 1.65;
}

.tmds-giftcard-redeem > div > *:last-child {
    margin-bottom: 0;
}

.tmds-giftcard-description__notice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px 14px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid #f0d48a;
    border-radius: 12px;
    color: #604f22;
    background: #fffaf0;
}

.tmds-giftcard-description__notice strong {
    color: #664d00;
    font-size: 12px;
    font-weight: 900;
}

.tmds-giftcard-description__notice span {
    font-size: 12px;
    line-height: 1.55;
}

/* The chat launcher should never cover recipient fields or the confirmation
 * checkbox. On gift-card pages it becomes a compact icon on the opposite edge. */
@media (min-width: 641px) {
    body.tmds-reloadly-gift-product .tm-live-chat {
        right: auto;
        left: 22px;
        bottom: 22px;
    }

    body.tmds-reloadly-gift-product .tm-live-chat__launcher {
        width: 58px;
        height: 58px;
        min-height: 58px;
        padding: 7px;
    }

    body.tmds-reloadly-gift-product .tm-live-chat__launcher-copy {
        display: none;
    }

    body.tmds-reloadly-gift-product .tm-live-chat__launcher-icon {
        width: 42px;
        height: 42px;
    }

    body.tmds-reloadly-gift-product .tm-live-chat__panel {
        right: auto;
        left: 0;
    }
}

/* Archive/card fallback when the brand image has not yet been downloaded. */
.tmds-giftcard-product-logo {
    object-fit: contain !important;
    object-position: center !important;
    padding: 12px !important;
    background: #f7fbfc !important;
}

/* Customer order display -------------------------------------------------- */
.tmds-order-giftcard-details {
    margin: 12px 0;
    padding: 14px;
    border: 1px solid #d7e9ed;
    border-radius: 10px;
    background: #fbfeff;
}

.tmds-giftcard-status {
    display: inline-flex;
    padding: 3px 8px;
    border-radius: 999px;
    color: #7a5d00;
    background: #fff7e6;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.tmds-giftcard-status.is-delivered {
    color: #067647;
    background: #ecfdf3;
}

.tmds-giftcard-status.is-failed,
.tmds-giftcard-status.is-refunded,
.tmds-giftcard-status.is-held {
    color: #b42318;
    background: #fff1f0;
}

.tmds-order-giftcard-card {
    display: flex;
    flex-direction: column;
    gap: 9px;
    margin: 12px 0;
    padding: 13px;
    border: 1px solid #d9e4e8;
    border-radius: 9px;
    background: #fff;
}

.tmds-order-giftcard-card span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.tmds-order-giftcard-card code {
    display: block;
    padding: 8px;
    border-radius: 6px;
    background: #f2f4f7;
    font-size: 16px;
    word-break: break-all;
}

.tmds-order-giftcard-warning {
    margin-bottom: 0;
    color: #b54708;
    font-weight: 700;
}

/* Responsive -------------------------------------------------------------- */
@media (min-width: 1280px) {
    html body.tmds-reloadly-gift-product {
        padding-right: 0 !important;
    }
}

@media (max-width: 1180px) {
    body.tmds-reloadly-gift-product .tings-product-layout {
        grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr);
        column-gap: 25px;
    }

    body.tmds-reloadly-gift-product .tings-product-info .product_title {
        max-width: none;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
        min-height: 430px;
        padding: 28px !important;
    }
}

@media (max-width: 980px) {
    body.tmds-reloadly-gift-product main.tmds-platform-single-product {
        width: min(calc(100% - 24px), 820px) !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery,
    body.tmds-reloadly-gift-product .tings-product-info,
    body.tmds-reloadly-gift-product .tings-product-options,
    body.tmds-reloadly-gift-product .tings-purchase-card,
    body.tmds-reloadly-gift-product .tings-key-features {
        position: relative !important;
        top: auto !important;
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery {
        order: 1;
    }

    body.tmds-reloadly-gift-product .tings-product-info {
        order: 2;
    }

    body.tmds-reloadly-gift-product .tings-purchase-card {
        order: 3;
    }

    body.tmds-reloadly-gift-product .tings-key-features {
        order: 4;
    }

    body.tmds-reloadly-gift-product .tings-product-info .product_title {
        max-width: 22ch;
    }

    .tmds-giftcard-facts,
    .tmds-giftcard-description__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tmds-giftcard-description__grid > div:last-child {
        grid-column: 1 / -1;
        min-height: 0;
    }
}

@media (max-width: 680px) {
    body.tmds-reloadly-gift-product main.tmds-platform-single-product {
        width: 100% !important;
        padding: 12px 14px 52px !important;
    }

    body.tmds-reloadly-gift-product .tings-product-info .product_title {
        max-width: none;
        font-size: clamp(28px, 9vw, 38px) !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
        min-height: 360px;
        padding: 18px !important;
    }

    .tmds-giftcard-art {
        padding: 18px;
        border-radius: 22px;
    }

    .tmds-giftcard-art__top small {
        display: none;
    }

    .tmds-giftcard-art__bottom strong {
        max-width: 66%;
        font-size: 21px;
    }

    .tmds-giftcard-art__bottom span {
        max-width: 38%;
        font-size: 8px;
    }

    .tmds-giftcard-config {
        padding: 15px;
    }

    .tmds-giftcard-heading {
        grid-template-columns: 39px minmax(0, 1fr) auto;
    }

    .tmds-giftcard-heading__icon {
        width: 39px;
        height: 39px;
    }

    .tmds-giftcard-heading strong {
        font-size: 15px;
    }

    .tmds-giftcard-fields,
    .tmds-giftcard-facts,
    .tmds-giftcard-description__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .tmds-giftcard-span,
    .tmds-giftcard-description__grid > div:last-child {
        grid-column: auto;
    }

    .tmds-giftcard-steps span {
        flex-direction: column;
        align-items: center;
        gap: 4px;
        text-align: center;
    }

    .tmds-giftcard-quote {
        align-items: flex-start;
        flex-direction: column;
    }

    .tmds-giftcard-description__notice {
        grid-template-columns: 1fr;
    }

    body.tmds-reloadly-gift-product .tings-product-assurances--gift-card {
        grid-template-columns: 1fr;
    }
}


/* v6.5.2 final compact storefront overrides -------------------------------- */
/* The product image shown below is the official catalog image returned by
 * Reloadly. These rules only provide a neutral display surface; they do not
 * composite it into Tings-branded artwork. */
body.tmds-reloadly-gift-product main.tmds-platform-single-product {
    width: min(calc(100% - 34px), 1320px) !important;
    max-width: 1320px !important;
    padding: 22px 0 58px !important;
}

body.tmds-reloadly-gift-product .tings-product-layout {
    grid-template-columns: minmax(330px, .88fr) minmax(500px, 1.12fr) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: clamp(26px, 3.2vw, 48px) !important;
    row-gap: 16px !important;
    align-items: start !important;
}

body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery {
    position: sticky !important;
    top: 22px !important;
    grid-column: 1 !important;
    grid-row: 1 / span 3 !important;
    align-self: start !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery > .woocommerce-product-gallery__wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8e5e9 !important;
    border-radius: 22px !important;
    background: #f7fbfc !important;
    box-shadow: 0 14px 34px rgba(7, 19, 39, .07) !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 3 !important;
    padding: clamp(22px, 3.4vw, 40px) !important;
    background: #f7fbfc !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-official-image-link {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    cursor: default !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-official-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 390px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    box-shadow: 0 8px 24px rgba(7, 19, 39, .10) !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-official-image.is-placeholder,
body.tmds-reloadly-gift-product .tmds-giftcard-official-image.is-image-unavailable {
    max-width: 62% !important;
    box-shadow: none !important;
    opacity: .78;
}

body.tmds-reloadly-gift-product .tings-product-share {
    top: 14px !important;
    right: 14px !important;
}

body.tmds-reloadly-gift-product .tings-product-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 2px 0 16px !important;
    border-bottom: 1px solid #dce7ea !important;
}

body.tmds-reloadly-gift-product .tings-product-info .product_title {
    max-width: 24ch !important;
    margin: 8px 0 15px !important;
    font-size: clamp(31px, 3vw, 45px) !important;
    line-height: 1.04 !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 10px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-facts > span {
    min-height: 54px !important;
    padding: 10px 9px !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    text-align: center !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-facts b {
    font-size: 10px !important;
    white-space: normal !important;
}

body.tmds-reloadly-gift-product .tings-product-options {
    grid-column: 2 !important;
    grid-row: 2 !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card {
    position: relative !important;
    top: auto !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    padding: 18px !important;
    overflow: visible !important;
    border: 1px solid #d7e4e8 !important;
    border-radius: 18px !important;
    background: #f8fbfc !important;
    box-shadow: 0 12px 30px rgba(7, 19, 39, .07) !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card .price,
body.tmds-reloadly-gift-product .tings-purchase-card .woocommerce-variation-price .price {
    margin-bottom: 8px !important;
    font-size: clamp(29px, 2.7vw, 39px) !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-config {
    margin-top: 8px !important;
    padding: 16px !important;
    border-radius: 14px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-heading {
    margin-bottom: 10px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-steps {
    margin-bottom: 12px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-fields {
    gap: 11px 10px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-fields input,
body.tmds-reloadly-gift-product .tmds-giftcard-fields select {
    min-height: 42px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-fields textarea {
    min-height: 64px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-quote {
    min-height: 50px !important;
    margin: 11px 0 !important;
    padding: 10px 12px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-consent {
    min-height: 0 !important;
    padding: 12px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-security {
    margin-top: 9px !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card .quantity {
    margin: 12px 0 8px !important;
}

body.tmds-reloadly-gift-product .tings-product-assurances--gift-card {
    margin-top: 11px !important;
    padding-top: 11px !important;
}

body.tmds-reloadly-gift-product .tings-key-features {
    grid-column: 2 !important;
    grid-row: 3 !important;
    margin: 0 !important;
    border-radius: 12px !important;
}

body.tmds-reloadly-gift-product .tings-key-features__toggle {
    min-height: 46px !important;
    padding: 11px 14px !important;
    font-size: 12.5px !important;
}

body.tmds-reloadly-gift-product .tings-key-features__content {
    padding: 0 14px 14px !important;
    font-size: 11.5px !important;
}

body.tmds-reloadly-gift-product div.product .woocommerce-tabs {
    margin-top: 34px !important;
}

body.tmds-reloadly-gift-product div.product .woocommerce-tabs .panel {
    padding: clamp(20px, 2.4vw, 28px) !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-description {
    gap: 14px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-description__lead {
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-description__grid {
    gap: 9px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-description__grid > div {
    min-height: 0 !important;
    padding: 13px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-redeem summary {
    padding: 13px 43px 13px 14px !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-redeem > div {
    padding: 15px !important;
    columns: 2;
    column-gap: 34px;
}

body.tmds-reloadly-gift-product .tmds-giftcard-redeem h4,
body.tmds-reloadly-gift-product .tmds-giftcard-redeem p,
body.tmds-reloadly-gift-product .tmds-giftcard-redeem ul,
body.tmds-reloadly-gift-product .tmds-giftcard-redeem ol {
    break-inside: avoid;
}

body.tmds-reloadly-gift-product .tmds-giftcard-description__notice {
    padding: 12px 14px !important;
}

/* Official Reloadly image on catalog cards: no Tings card composition, no
 * physical-product badge, and no square area with excessive blank space. */
.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__media {
    aspect-ratio: 16 / 10 !important;
    padding: 15px !important;
    background: #f7fbfc !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__image {
    padding: 0 !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__image img,
.tm-platform-product-grid .tm-product-card--gift-card img.tmds-giftcard-product-logo {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__express--digital {
    color: #075d6c !important;
    background: #eaf9fb !important;
    border: 1px solid #bfe6ec !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__express--digital .tm-icon {
    color: #078ca1 !important;
}

@media (max-width: 1100px) and (min-width: 981px) {
    body.tmds-reloadly-gift-product .tings-product-layout {
        grid-template-columns: minmax(300px, .8fr) minmax(460px, 1.2fr) !important;
        column-gap: 26px !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-facts > span {
        min-height: 45px !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
}

@media (max-width: 980px) {
    body.tmds-reloadly-gift-product main.tmds-platform-single-product {
        width: min(calc(100% - 24px), 760px) !important;
        padding-top: 14px !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        gap: 16px !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery,
    body.tmds-reloadly-gift-product .tings-product-info,
    body.tmds-reloadly-gift-product .tings-product-options,
    body.tmds-reloadly-gift-product .tings-purchase-card,
    body.tmds-reloadly-gift-product .tings-key-features {
        position: relative !important;
        top: auto !important;
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery { order: 1; }
    body.tmds-reloadly-gift-product .tings-product-info { order: 2; }
    body.tmds-reloadly-gift-product .tings-product-options { order: 3; }
    body.tmds-reloadly-gift-product .tings-purchase-card { order: 4; }
    body.tmds-reloadly-gift-product .tings-key-features { order: 5; }

    body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
        aspect-ratio: 16 / 10 !important;
        padding: 24px !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-official-image {
        max-height: 330px !important;
    }

    body.tmds-reloadly-gift-product .tings-product-info .product_title {
        max-width: none !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-redeem > div {
        columns: 1;
    }
}

@media (max-width: 680px) {
    body.tmds-reloadly-gift-product main.tmds-platform-single-product {
        width: 100% !important;
        padding: 10px 12px 48px !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
        aspect-ratio: 4 / 3 !important;
        padding: 18px !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-facts > span {
        min-height: 45px !important;
        flex-direction: row !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-fields {
        grid-template-columns: 1fr !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-span {
        grid-column: auto !important;
    }

    body.tmds-reloadly-gift-product div.product .woocommerce-tabs .panel {
        padding: 17px !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-description__grid {
        grid-template-columns: 1fr !important;
    }

    .tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__media {
        aspect-ratio: 16 / 10 !important;
    }
}

/* v6.5.2 FINAL — raw Reloadly image and compact two-column page */
body.tmds-reloadly-gift-product main.tmds-platform-single-product {
    width: min(calc(100% - 32px), 1260px) !important;
    max-width: 1260px !important;
    padding: 20px 0 58px !important;
}

body.tmds-reloadly-gift-product .tings-product-layout {
    grid-template-columns: minmax(340px, .88fr) minmax(460px, 1.12fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: clamp(26px, 3vw, 46px) !important;
    row-gap: 16px !important;
    align-items: start !important;
}

body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery {
    position: sticky !important;
    top: 24px !important;
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: start !important;
}

body.tmds-reloadly-gift-product .tings-product-info {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    padding: 0 0 15px !important;
    border-bottom: 1px solid #dce7ea !important;
}

body.tmds-reloadly-gift-product .tings-purchase-card {
    position: relative !important;
    top: auto !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
    padding: 18px !important;
}

body.tmds-reloadly-gift-product .tings-key-features {
    display: none !important;
}

body.tmds-reloadly-gift-product .tings-product-info .product_title {
    max-width: none !important;
    margin-bottom: 13px !important;
    font-size: clamp(31px, 3.2vw, 46px) !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery > .woocommerce-product-gallery__wrapper {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    border: 1px solid #d8e5e8 !important;
    border-radius: 21px !important;
    background: #fff !important;
    box-shadow: 0 15px 38px rgba(7, 19, 39, .08) !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 1.586 / 1 !important;
    padding: clamp(18px, 3vw, 34px) !important;
    background: #fff !important;
}

body.tmds-reloadly-gift-product .tmds-giftcard-official-image-link {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    cursor: zoom-in;
}

body.tmds-reloadly-gift-product img.tmds-giftcard-official-image,
body.tmds-reloadly-gift-product img.tmds-reloadly-source-image {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 340px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.tmds-reloadly-gift-product img.tmds-reloadly-source-image.is-image-unavailable {
    opacity: .35;
}

.tmds-giftcard-intro {
    max-width: 62ch;
    margin: 13px 0 0 !important;
    color: #536277;
    font-size: 13px;
    line-height: 1.55;
}

body.tmds-reloadly-gift-product div.product .woocommerce-tabs {
    margin-top: 28px !important;
}

body.tmds-reloadly-gift-product div.product .woocommerce-tabs .panel {
    padding: clamp(18px, 2.2vw, 27px) !important;
}

.tmds-giftcard-description {
    gap: 14px !important;
}

.tmds-giftcard-description__lead {
    max-width: none !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.tmds-giftcard-description__grid {
    gap: 9px !important;
}

.tmds-giftcard-description__grid > div {
    min-height: 0 !important;
    padding: 13px 14px !important;
    border-radius: 11px !important;
}

.tmds-giftcard-redeem summary {
    padding: 13px 44px 13px 14px !important;
}

.tmds-giftcard-redeem > div {
    max-height: min(55vh, 520px);
    padding: 13px 16px 17px !important;
    overflow: auto;
    line-height: 1.55 !important;
}

.tmds-giftcard-redeem h4 {
    margin: 16px 0 7px;
    color: #102238;
    font-size: 13px;
    font-weight: 900;
}

.tmds-giftcard-redeem h4:first-child,
.tmds-giftcard-redeem p:first-child,
.tmds-giftcard-redeem ul:first-child,
.tmds-giftcard-redeem ol:first-child {
    margin-top: 0;
}

.tmds-giftcard-redeem p,
.tmds-giftcard-redeem ul,
.tmds-giftcard-redeem ol {
    margin: 0 0 11px;
}

.tmds-giftcard-redeem ul,
.tmds-giftcard-redeem ol {
    padding-left: 21px;
}

.tmds-giftcard-redeem li + li {
    margin-top: 5px;
}

.tmds-giftcard-description__notice {
    padding: 12px 14px !important;
}

/* Raw Reloadly catalog images on Home/Shop/category product cards. */
.tm-product-card--gift-card .tm-product-card__media,
.tm-product-card--gift-card .tm-product-card__image {
    background: #f7fbfc !important;
}

.tm-product-card--gift-card .tm-product-card__image img,
.tm-product-card--gift-card img.tmds-giftcard-product-logo {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: 16px !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #fff !important;
    transform: none !important;
}

.tm-product-card--gift-card .tm-product-card__express--digital {
    color: #fff !important;
    background: #0a98aa !important;
}

@media (max-width: 980px) {
    body.tmds-reloadly-gift-product main.tmds-platform-single-product {
        width: min(calc(100% - 24px), 760px) !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto !important;
        gap: 18px !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery,
    body.tmds-reloadly-gift-product .tings-product-info,
    body.tmds-reloadly-gift-product .tings-purchase-card {
        position: relative !important;
        top: auto !important;
        grid-column: 1 !important;
        grid-row: auto !important;
    }

    body.tmds-reloadly-gift-product .tings-product-layout > .tmds-giftcard-gallery { order: 1; }
    body.tmds-reloadly-gift-product .tings-product-info { order: 2; }
    body.tmds-reloadly-gift-product .tings-purchase-card { order: 3; }
}

@media (max-width: 680px) {
    body.tmds-reloadly-gift-product main.tmds-platform-single-product {
        width: 100% !important;
        padding: 12px 14px 46px !important;
    }

    body.tmds-reloadly-gift-product .tmds-giftcard-gallery .tmds-giftcard-gallery-slide {
        padding: 14px !important;
    }

    body.tmds-reloadly-gift-product img.tmds-giftcard-official-image,
    body.tmds-reloadly-gift-product img.tmds-reloadly-source-image {
        max-height: 250px !important;
    }

    .tm-product-card--gift-card .tm-product-card__image img,
    .tm-product-card--gift-card img.tmds-giftcard-product-logo {
        padding: 11px !important;
    }
}


/* v6.5.3 — compact digital gift-card catalog card -------------------------
 * Gift cards do not need the equal-height physical-merchandise card rhythm.
 * Collapse the card to its content so the delivery/CTA never gets pushed to
 * the bottom of a very tall grid row. Physical cards are intentionally left
 * untouched. */
.tm-platform-product-grid > ul.products > li.tm-product-card.tm-product-card--gift-card {
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__inner {
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border: 1px solid #c9dfe5 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(7, 19, 39, .06) !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__inner:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(18, 184, 202, .72) !important;
    box-shadow: 0 13px 30px rgba(7, 19, 39, .09) !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__media {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #e6eff2 !important;
    background: linear-gradient(180deg,#f8fcfd 0%,#f4f9fa 100%) !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__image {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__image img,
.tm-platform-product-grid .tm-product-card--gift-card img.tmds-giftcard-product-logo {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__body {
    flex: 0 0 auto !important;
    min-height: 0 !important;
    padding: 14px 16px 16px !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__category {
    display: inline-flex !important;
    align-items: center !important;
    align-self: flex-start !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    overflow: visible !important;
    border: 1px solid #c6e9ef !important;
    border-radius: 999px !important;
    color: #08798d !important;
    background: #effafb !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: .045em !important;
    white-space: nowrap !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__title {
    display: -webkit-box !important;
    min-height: 0 !important;
    margin: 9px 0 0 !important;
    overflow: hidden !important;
    color: #071327 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.28 !important;
    letter-spacing: -.012em !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__price {
    margin-top: 11px !important;
    color: #071327 !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__footer {
    margin-top: 13px !important;
    padding-top: 0 !important;
    gap: 9px !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__express--digital {
    align-self: flex-start !important;
    width: auto !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border: 1px solid #c5e8ee !important;
    border-radius: 999px !important;
    color: #075d6c !important;
    background: #effafb !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__express--digital .tm-icon {
    width: 15px !important;
    height: 15px !important;
    color: #078ca1 !important;
}

.tm-platform-product-grid .tm-product-card--gift-card a.tm-product-card__button {
    min-height: 44px !important;
    margin-top: 1px !important;
    padding: 9px 13px !important;
    font-size: 12px !important;
    box-shadow: 0 3px 0 rgba(190, 146, 0, .16) !important;
}

.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__button-icon {
    width: 17px !important;
    height: 17px !important;
}

/* Recommendation rows are already denser; keep the digital card even tighter. */
.tm-platform-product-grid--recommendations .tm-product-card--gift-card .tm-product-card__media {
    padding: 10px 12px !important;
}
.tm-platform-product-grid--recommendations .tm-product-card--gift-card .tm-product-card__body {
    padding: 12px 13px 13px !important;
}
.tm-platform-product-grid--recommendations .tm-product-card--gift-card .tm-product-card__price {
    font-size: 23px !important;
}

@media (max-width: 600px) {
    .tm-platform-product-grid .tm-product-card--gift-card {
        max-width: 390px !important;
    }
    .tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__media {
        aspect-ratio: 16 / 8.8 !important;
        padding: 10px 12px !important;
    }
    .tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__body {
        padding: 13px 14px 14px !important;
    }
    .tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__title {
        font-size: 16px !important;
    }
    .tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__price {
        font-size: 27px !important;
    }
}


/* v6.5.4 — full official image + compact-card grouping -------------------
 * Digital cards have their own catalog rhythm. Their source artwork is never
 * cropped to a merchandise thumbnail ratio, and mixed product loops split
 * compact cards away from tall physical-merchandise cards. */
.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__media {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 14px !important;
    overflow: visible !important;
    background: linear-gradient(180deg,#f8fcfd 0%,#f4f9fa 100%) !important;
}
.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__image {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
}
.tm-platform-product-grid .tm-product-card--gift-card .tm-product-card__image img,
.tm-platform-product-grid .tm-product-card--gift-card img.tmds-giftcard-product-logo {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 11px !important;
    transform: none !important;
}

/* A loop containing only compact products uses smaller natural-width cards. */
.tm-platform-product-grid.tm-product-grid--compact-only > ul.products {
    grid-template-columns: repeat(auto-fit,minmax(230px,285px)) !important;
    align-items: start !important;
    justify-content: start !important;
    gap: 18px !important;
}

/* Mixed loops are separated into a normal merchandise grid and a dedicated
 * compact-products group rather than forcing both card sizes into one row. */
.tm-product-compact-group {
    width: 100%;
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid #dce8ec;
}
.tm-product-compact-group__head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 14px;
}
.tm-product-compact-group__head h3 {
    margin: 0 !important;
    color: #071327 !important;
    font-size: clamp(20px,2vw,27px) !important;
    line-height: 1.1 !important;
    letter-spacing: -.025em !important;
}
.tm-product-compact-group__head p {
    margin: 4px 0 0 !important;
    color: #667085 !important;
    font-size: 13px !important;
}
.tm-product-compact-group > ul.products {
    display: grid !important;
    grid-template-columns: repeat(auto-fit,minmax(230px,285px)) !important;
    align-items: start !important;
    justify-content: start !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.tm-product-compact-group > ul.products::before,
.tm-product-compact-group > ul.products::after { display:none !important; }
.tm-product-compact-group > ul.products > li.tm-product-card {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Once compact cards are moved out, physical cards continue using the full
 * canonical card height within their own grid. */
.tm-platform-product-grid.tm-product-grid--has-compact-group > ul.products > li.tm-product-card:not(.tm-product-card--compact) {
    height: 100% !important;
}

@media(max-width:900px){
    .tm-platform-product-grid.tm-product-grid--compact-only > ul.products,
    .tm-product-compact-group > ul.products {
        grid-template-columns: repeat(2,minmax(0,1fr)) !important;
        justify-content: stretch !important;
    }
}
@media(max-width:600px){
    .tm-platform-product-grid.tm-product-grid--compact-only > ul.products,
    .tm-product-compact-group > ul.products {
        grid-template-columns: 1fr !important;
    }
    .tm-product-compact-group > ul.products > li.tm-product-card,
    .tm-platform-product-grid.tm-product-grid--compact-only > ul.products > li.tm-product-card {
        max-width: 430px !important;
        margin-inline: auto !important;
    }
}


/* v6.6.1 — homepage digital gift-card shelf -------------------------------
 * The homepage should not look like a broken five-column grid when only one
 * or two compact digital products are available. Compact cards sit in a
 * centered, self-contained shelf and naturally expand as the catalog grows. */
.tm-home-product-grid .tm-product-compact-group--home {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 1420px;
    margin: 30px auto 4px !important;
    padding: 24px clamp(18px,2.4vw,34px) 28px !important;
    border: 1px solid #d8e8ed;
    border-radius: 24px;
    background:
        radial-gradient(circle at 8% 10%, rgba(255,207,0,.10), transparent 24%),
        radial-gradient(circle at 92% 88%, rgba(8,184,209,.10), transparent 27%),
        #f9fcfd;
}
.tm-home-product-grid .tm-product-compact-group--home .tm-product-compact-group__head {
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    text-align: center;
}
.tm-home-product-grid .tm-product-compact-group--home .tm-product-compact-group__head h3 {
    font-size: clamp(25px,2.15vw,34px) !important;
}
.tm-home-product-grid .tm-product-compact-group--home .tm-product-compact-group__head p {
    margin-top: 6px !important;
    font-size: 14px !important;
}
.tm-home-product-grid .tm-product-compact-group--home > ul.tm-compact-products--home {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 20px !important;
    width: 100% !important;
}
.tm-home-product-grid .tm-product-compact-group--home > ul.tm-compact-products--home > li.tm-product-card {
    flex: 0 1 300px !important;
    width: min(100%,300px) !important;
    max-width: 300px !important;
}
/* Give a lone card enough visual presence without turning it into a tall
 * apparel card. Two and three card groups remain centered as a unit. */
.tm-home-product-grid .tm-product-compact-group--home > ul.tm-compact-products--count-1 > li.tm-product-card {
    flex-basis: 320px !important;
    width: min(100%,320px) !important;
    max-width: 320px !important;
}
.tm-home-product-grid .tm-product-compact-group--home .tm-product-card--gift-card .tm-product-card__inner {
    background: #fff !important;
}
@media (max-width: 700px) {
    .tm-home-product-grid .tm-product-compact-group--home {
        margin-top: 22px !important;
        padding: 20px 14px 22px !important;
        border-radius: 18px;
    }
    .tm-home-product-grid .tm-product-compact-group--home > ul.tm-compact-products--home > li.tm-product-card,
    .tm-home-product-grid .tm-product-compact-group--home > ul.tm-compact-products--count-1 > li.tm-product-card {
        flex-basis: min(100%,360px) !important;
        width: min(100%,360px) !important;
        max-width: 360px !important;
    }
}

/* v7.2.0 — dedicated homepage gift-card collection ---------------------- */
.tm-home-digital-giftcards{background:#fff!important}
.tm-home-digital-giftcards .tm-home-section__head{align-items:end;text-align:left!important}
.tm-home-digital-giftcards .tm-home-section__head>div{text-align:left!important}
.tm-home-digital-giftcards .tm-home-section__head h2{font-family:inherit!important}
.tm-home-digital-giftcards .tm-home-product-grid{margin-top:16px!important}
.tm-home-digital-giftcards .tm-product-card--gift-card{height:auto!important;max-width:none!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__inner{height:100%!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__media{min-height:0!important;padding:10px!important;background:#f8fbfc!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__image{height:auto!important;min-height:0!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__image img,.tm-home-digital-giftcards .tm-product-card--gift-card img.tmds-giftcard-product-logo{width:100%!important;height:auto!important;max-height:160px!important;object-fit:contain!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__body{padding:10px 11px 12px!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__title{min-height:34px!important;font-family:inherit!important;font-size:13px!important}
.tm-home-digital-giftcards .tm-product-card--gift-card .tm-product-card__price{font-family:inherit!important;font-size:20px!important}
/* Disable the old single-card centered shelf presentation on the new,
 * server-rendered dedicated gift-card section. */
.tm-home-digital-giftcards .tm-product-compact-group--home{margin:0!important;padding:0!important;border:0!important;background:none!important}
.tm-platform-product-grid.tm-home-giftcard-grid.tm-product-grid--compact-only>ul.products{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;justify-content:stretch!important;gap:14px!important}
.tm-platform-product-grid.tm-home-giftcard-grid.tm-product-grid--compact-only>ul.products>li.tm-product-card{width:100%!important;max-width:none!important;margin:0!important}
@media(max-width:1400px){.tm-platform-product-grid.tm-home-giftcard-grid.tm-product-grid--compact-only>ul.products{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:1100px){.tm-platform-product-grid.tm-home-giftcard-grid.tm-product-grid--compact-only>ul.products{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:780px){.tm-platform-product-grid.tm-home-giftcard-grid.tm-product-grid--compact-only>ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:560px){.tm-platform-product-grid.tm-home-giftcard-grid.tm-product-grid--compact-only>ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
