/* Compact gift offer. The site's font and primary colour carry through. */
.lt-gift-wrapper {
    --lt-brand: var(--primary-color, #2a57a4);
    --lt-border: #dce5f0;
    --lt-soft: #f5f8fc;
    box-sizing: border-box;
    width: 100%;
    margin: 12px 0;
    border: 1px solid var(--lt-border);
    border-radius: 9px;
    background: #fff;
    color: var(--lt-brand);
    font: inherit;
    line-height: 1.45;
}

/* The live child theme adds a pink inline-card skin after plugin styles load. */
body.nbd-product-ui.single-product form.variations_form .lt-gift-wrapper.nbd-inline-plugin-gift.lt-gift-wrapper,
body.nbd-product-ui.single-product form.cart.nbd-simple-cart .nbd-simple-purchase-card__gift .lt-gift-wrapper.lt-gift-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 12px 0 !important;
    padding: 0 !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(19, 43, 74, .07) !important;
}

.lt-gift-wrapper *, .lt-cart-gift-wrapper *, .lt-cart-extra-box * { box-sizing: border-box; }

/* Override the theme's uppercase product-summary labels and later child rules. */
.product-summary .lt-gift-wrapper label,
.product-summary .lt-gift-wrapper.nbd-inline-plugin-gift label,
.lt-gift-wrapper label {
    color: var(--lt-brand, var(--primary-color, #2a57a4)) !important;
    font-family: inherit !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.lt-gift-wrapper .lt-gift-header,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-gift-header {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 2px 10px;
    padding: 9px 12px !important;
    border-bottom: 1px solid var(--lt-border);
    border-radius: 8px 8px 0 0;
    background: var(--lt-soft) !important;
}

.lt-gift-wrapper .lt-title,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-title,
.lt-gift-wrapper .lt-main-title {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: var(--lt-brand) !important;
    font-family: inherit !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.45 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.lt-gift-wrapper .lt-min-msg,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-min-msg {
    display: inline-block;
    margin: 0;
    color: #647894;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    text-transform: none;
}

.lt-gift-wrapper .lt-ribbon { display: none !important; }

/* Offer choices and gift rows share one visual grid. */
.lt-gift-wrapper .lt-main-choice,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-main-choice {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    min-width: 0;
    margin: 0 !important;
    padding: 9px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--lt-border) !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.lt-gift-wrapper .lt-main-choice:last-of-type { border-bottom: 0 !important; }
.lt-gift-wrapper .lt-gifts-choice { border-bottom: 0 !important; }
.lt-gift-wrapper .lt-main-choice.is-selected,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-main-choice.is-selected {
    background: #f7faff !important;
    box-shadow: inset 2px 0 0 var(--lt-brand);
}
.lt-gift-wrapper .lt-choice-header { display: flex; align-items: center; gap: 8px; min-width: 0; width: 100%; }

.lt-gift-wrapper .lt-main-choice > input[type="radio"],
.lt-gift-wrapper .lt-choice-header > input[type="radio"],
.lt-gift-wrapper .lt-col-input input[type="radio"] {
    appearance: auto !important;
    flex: 0 0 16px;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin: 0 !important;
    border-radius: 50%;
    accent-color: var(--lt-brand);
    cursor: pointer;
}

.lt-gift-wrapper .lt-main-choice > label,
.lt-gift-wrapper .lt-choice-header > label,
.lt-gift-wrapper .lt-choice-header > .lt-choice-label {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    color: var(--lt-brand) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45;
    text-transform: none !important;
    cursor: pointer;
}

.lt-gift-wrapper .lt-price,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-price {
    display: inline;
    margin-left: 4px;
    color: var(--lt-brand) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-shadow: none !important;
    white-space: nowrap;
}

.lt-gift-wrapper .lt-sub-list-v2,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-sub-list-v2 {
    flex: 0 0 100%;
    min-width: 0;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
}

.lt-gift-wrapper .lt-product-item-v2,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2 {
    display: grid;
    grid-template-columns: 17px 42px minmax(0, 1fr);
    align-items: center;
    column-gap: 8px;
    min-width: 0;
    margin: 0 !important;
    padding: 7px 0 !important;
    border: 0 !important;
    border-top: 1px solid #edf1f6 !important;
    border-radius: 0 !important;
    background: #fff !important;
}

.lt-gift-wrapper .lt-product-item-v2:first-child { border-top: 0 !important; }
.lt-gift-wrapper .lt-product-item-v2.is-selected,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2.is-selected {
    background: #f7faff !important;
}
.lt-gift-wrapper .lt-col-input {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    margin: 0;
    color: var(--lt-brand);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}
.lt-gift-wrapper .lt-col-thumb { width: 42px; height: 42px; }

.lt-gift-wrapper .lt-col-thumb img,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-col-thumb img {
    display: block;
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    margin: 0 !important;
    border: 1px solid #e8edf5;
    border-radius: 5px;
    object-fit: cover;
}

.lt-gift-wrapper .lt-col-info { min-width: 0; }
.lt-gift-wrapper .lt-gift-name,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-gift-name {
    display: block;
    margin: 0 !important;
    color: var(--lt-brand) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4;
    letter-spacing: normal !important;
    text-transform: none !important;
    cursor: pointer;
}

.lt-gift-wrapper .lt-gift-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 3px 7px;
    margin-top: 1px;
    font-size: 12px;
    line-height: 1.3;
}
.lt-gift-wrapper .lt-gift-price,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-gift-price {
    color: var(--lt-brand) !important;
    text-shadow: none !important;
}
.lt-gift-wrapper .lt-price .amount,
.lt-gift-wrapper .lt-gift-price .amount,
.lt-gift-price--cart .amount {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-shadow: none !important;
}
.lt-gift-price del, .lt-gift-original-price {
    color: #78879b !important;
    font-size: 12px;
    font-weight: 400;
    text-decoration: line-through !important;
    opacity: 1;
}
.lt-gift-price .lt-gift-original-price .amount { color: #78879b !important; }
.lt-gift-price ins, .lt-gift-free-price {
    color: var(--lt-brand, var(--primary-color, #2a57a4)) !important;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
}
.lt-gift-price .lt-gift-free-price .amount { color: var(--lt-brand, var(--primary-color, #2a57a4)) !important; }
.lt-gift-price--cart {
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 2px 6px;
    max-width: 100%;
    vertical-align: baseline;
    line-height: 1.35;
    text-align: right;
}
.lt-gift-price--cart del,
.lt-gift-price--cart del .amount {
    color: #78879b !important;
    font-size: 12px;
    font-weight: 400;
}
.lt-gift-price--cart .lt-gift-free-price,
.lt-gift-price--cart .lt-gift-free-price .amount {
    color: var(--primary-color, #2a57a4) !important;
    font-size: 12px;
    font-weight: 600;
}

.lt-gift-wrapper .lt-variation-selector { margin-top: 5px; }
.lt-gift-wrapper .lt-variation-selector label { display: block; margin: 0 0 3px; font-size: 12px !important; }
.lt-gift-wrapper .lt-gift-attr-select {
    max-width: 100%;
    min-height: 32px;
    margin: 0;
    padding: 4px 7px;
    border: 1px solid var(--lt-border);
    border-radius: 5px;
    background: #fff;
    color: var(--lt-brand);
    font: inherit;
    font-size: 12px;
}
.lt-gift-wrapper .lt-gifts-choice.is-disabled .lt-sub-list-v2 { opacity: .5; }
.lt-gift-wrapper input[type="radio"]:focus-visible,
.lt-gift-wrapper .lt-gift-attr-select:focus-visible { outline: 2px solid var(--lt-brand); outline-offset: 2px; }

/* Optional extras use a single compact panel. */
.lt-gift-wrapper .lt-extra-section,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-extra-section {
    margin: 0;
    padding: 8px 12px 9px !important;
    border-top: 1px solid var(--lt-border);
    border-radius: 0 0 8px 8px;
    background: var(--lt-soft) !important;
}
.lt-gift-wrapper .lt-extra-heading,
.lt-gift-wrapper .uudaithem {
    margin: 0 0 4px !important;
    padding: 0 !important;
    color: var(--lt-brand) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    text-transform: none !important;
}
.lt-gift-wrapper .lt-extra-content,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-extra-content {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--lt-brand) !important;
    font-size: 12px;
    line-height: 1.5;
}
.lt-gift-wrapper .lt-extra-content p, .lt-cart-extra-box p { margin: 0 0 4px; }
.lt-gift-wrapper .lt-extra-content p:last-child, .lt-cart-extra-box p:last-child { margin-bottom: 0; }
.lt-gift-wrapper .lt-extra-content ul, .lt-cart-extra-box ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.lt-gift-wrapper .lt-extra-content li, .lt-cart-extra-box li { position: relative; margin: 0 0 2px; padding-left: 16px; }
.lt-gift-wrapper .lt-extra-content li:last-child, .lt-cart-extra-box li:last-child { margin-bottom: 0; }
.lt-gift-wrapper .lt-extra-content li::before, .lt-cart-extra-box li::before {
    position: absolute;
    left: 0;
    color: var(--lt-brand, var(--primary-color, #2a57a4)) !important;
    content: "✓" !important;
    font-size: 12px;
    font-weight: 600 !important;
}

/* Cart and checkout gifts read as ordinary order rows with subtle context. */
.woocommerce-cart tr.lt-gift-row-item td,
.woocommerce-checkout tr.lt-gift-row-item td { padding-top: 8px; padding-bottom: 8px; vertical-align: middle; }
.woocommerce-cart tr.lt-gift-row-item td.product-name,
.woocommerce-cart tr.lt-gift-row-item td.product-thumbnail { padding-left: 10px !important; }
.lt-cart-gift-wrapper { display: flex; align-items: center; gap: 7px; }
.lt-gift-sq-check {
    display: inline-flex;
    flex: 0 0 17px;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    background: #eaf2fd;
    color: var(--primary-color, #2a57a4);
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
}
.woocommerce-cart tr.lt-gift-row-item td.product-thumbnail img {
    display: block !important;
    position: static !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    margin: 0 !important;
    border-radius: 5px;
    object-fit: cover;
}
.lt-gift-display-name { color: var(--primary-color, #2a57a4); font-weight: 500; text-transform: none; }
.lt-gift-tag {
    display: inline-block;
    margin-top: 3px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #edf4fd;
    color: var(--primary-color, #2a57a4) !important;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: normal;
    text-transform: none !important;
}
.lt-qty-locked {
    display: inline-block;
    min-width: 27px;
    padding: 3px 7px;
    border: 1px solid #e5ebf3;
    border-radius: 4px;
    background: #f7f9fc;
    color: var(--primary-color, #2a57a4);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    text-align: center;
}
.lt-cart-extra-box {
    margin-top: 6px;
    padding: 6px 8px;
    border: 1px solid #e3ebf5;
    border-radius: 5px;
    background: #f7f9fc;
    color: var(--primary-color, #2a57a4);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.45;
    text-transform: none;
}
.lt-cart-extra-box strong,
.lt-cart-extra-box .lt-cart-extra-title {
    display: block;
    margin-bottom: 3px;
    color: inherit;
    font-size: 12px;
    font-weight: 600;
    text-transform: none;
}
.lt-cart-extra-box .fa-gift { margin-right: 3px; }
.woocommerce-cart .lt-gift-row-item .product-price,
.woocommerce-cart .lt-gift-row-item .product-subtotal,
.woocommerce-checkout .lt-gift-row-item .product-total { color: var(--primary-color, #2a57a4); font-weight: 600; }
.woocommerce-cart .lt-gift-row-item del,
.woocommerce-checkout .lt-gift-row-item del { color: #78879b; font-weight: 400; }
.woocommerce-cart .lt-gift-row-item ins,
.woocommerce-checkout .lt-gift-row-item ins { color: var(--primary-color, #2a57a4); font-weight: 600; text-decoration: none; }

@media (max-width: 480px) {
    .lt-gift-wrapper { margin: 10px 0; }
    .lt-gift-wrapper .lt-gift-header,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-gift-header,
    .lt-gift-wrapper .lt-main-choice,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-main-choice,
    .lt-gift-wrapper .lt-extra-section,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-extra-section { padding-left: 10px !important; padding-right: 10px !important; }
    .lt-gift-wrapper .lt-product-item-v2,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2 { grid-template-columns: 16px 38px minmax(0, 1fr); column-gap: 7px; }
    .lt-gift-wrapper .lt-col-thumb,
    .lt-gift-wrapper .lt-col-thumb img,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-col-thumb img { width: 38px !important; height: 38px !important; max-width: 38px !important; }
    .lt-cart-extra-box { padding: 5px 7px; }
}

/* Fixed product-page layout: banner, choice cards, gift rows and extra offers. */
.lt-gift-wrapper,
.lt-gift-wrapper.nbd-inline-plugin-gift {
    --lt-hot: #d90e2c;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 12px 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border: 1px solid #e3e8ef !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 3px 12px rgba(19, 43, 74, .07) !important;
    color: #19334f !important;
    font-family: inherit !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}
.lt-gift-wrapper .lt-gift-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    min-height: 64px;
    padding: 8px 11px !important;
    background: linear-gradient(105deg, #0B2A5B, #3FA9F5) !important;
    color: #fff !important;
}
.lt-gift-wrapper .lt-gift-banner__identity {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.lt-gift-wrapper .lt-gift-banner__icon {
    display: inline-flex;
    flex: 0 0 31px;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    color: #fff !important;
}
.lt-gift-wrapper .lt-gift-banner__icon svg { display: block; width: 28px; height: 28px; }
.lt-gift-wrapper .lt-gift-banner__copy { display: grid; gap: 1px; min-width: 0; }
.lt-gift-wrapper .lt-gift-banner__copy .lt-title {
    display: block;
    overflow-wrap: anywhere;
    margin: 0 !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: .1px !important;
    text-transform: none !important;
}
.lt-gift-wrapper .lt-gift-banner__copy > span {
    display: block;
    color: rgba(255,255,255,.92) !important;
    font-size: 10.5px !important;
    line-height: 1.25;
}
.lt-gift-wrapper .lt-gift-banner__saving {
    display: grid;
    flex: 0 0 auto;
    justify-items: center;
    max-width: 43%;
    padding: 5px 8px;
    border-radius: 7px;
    background: #fff !important;
    color: var(--lt-hot) !important;
    text-align: center;
}
.lt-gift-wrapper .lt-gift-banner__saving > span { font-size: 8.5px; font-weight: 600; line-height: 1.2; }
.lt-gift-wrapper .lt-gift-banner__saving > strong {
    max-width: 100%;
    color: var(--lt-hot) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.15;
    overflow-wrap: anywhere;
}
.lt-gift-wrapper .lt-gift-banner__saving .amount,
.lt-gift-wrapper .lt-gift-banner__saving .amount bdi { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
.lt-gift-wrapper .lt-gift-content { display: grid; gap: 7px; min-width: 0; padding: 9px !important; }
.lt-gift-wrapper .lt-min-msg {
    width: fit-content;
    max-width: 100%;
    padding: 4px 8px;
    border-radius: 5px;
    background: #f1f4f8;
    color: #52647a !important;
    font-size: 11px !important;
}
.lt-gift-wrapper .lt-main-choice,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-main-choice {
    display: block !important;
    min-width: 0;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #e2e7ed !important;
    border-radius: 9px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.lt-gift-wrapper .lt-main-choice.is-selected,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-main-choice.is-selected {
    border-color: var(--lt-hot) !important;
    background: #eef6ff !important;
    box-shadow: 0 0 0 1px rgba(11,42,91,.10) !important;
}
.lt-gift-wrapper .lt-choice-header { display: flex; align-items: center; gap: 8px; width: 100%; min-width: 0; }
.lt-gift-wrapper .lt-choice-header > input[type="radio"] {
    flex: 0 0 16px;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin: 0 !important;
    appearance: auto !important;
    accent-color: var(--lt-hot);
}
.lt-gift-wrapper .lt-choice-label,
.lt-gift-wrapper .lt-choice-header > label {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
    color: #203951 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    cursor: pointer;
}
.lt-gift-wrapper .lt-price {
    float: right;
    margin-left: 6px;
    color: var(--lt-hot) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: right;
    white-space: nowrap;
}
.lt-gift-wrapper .lt-price .amount,
.lt-gift-wrapper .lt-gift-value .amount { color: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
.lt-gift-wrapper .lt-gift-value {
    flex: 0 0 auto;
    max-width: 47%;
    margin-left: auto;
    padding: 4px 7px;
    border-radius: 5px;
    background: #eaf5ff;
    color: var(--lt-hot) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-align: right;
}
.lt-gift-wrapper .lt-gifts-choice .lt-sub-list-v2,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-gifts-choice .lt-sub-list-v2 {
    display: grid;
    gap: 5px;
    width: 100%;
    min-width: 0;
    margin: 7px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.lt-gift-wrapper .lt-product-item-v2,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2 {
    display: grid !important;
    grid-template-columns: 16px 62px minmax(0, 1fr) 78px;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 6px 7px !important;
    border: 1px solid #e8ebef !important;
    border-radius: 8px !important;
    background: #fff !important;
}
.lt-gift-wrapper .lt-product-item-v2.is-selected,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2.is-selected { border-color: #b8d6f0 !important; background: #f0f7fe !important; }
.lt-gift-wrapper .lt-col-input {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    min-width: 16px;
    margin: 0;
}
.lt-gift-wrapper .lt-col-input input[type="radio"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px;
    margin: 0 !important;
    appearance: auto !important;
    accent-color: var(--lt-hot);
}
.lt-gift-wrapper .lt-col-input[aria-hidden="true"] {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--lt-hot);
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
}
.lt-gift-wrapper .lt-col-thumb { width: 62px; height: 52px; min-width: 0; }
.lt-gift-wrapper .lt-col-thumb img,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-col-thumb img {
    display: block;
    width: 62px !important;
    height: 52px !important;
    max-width: 62px !important;
    margin: 0 !important;
    border: 1px solid #e8ebef;
    border-radius: 6px;
    background: #f4f2ee;
    object-fit: cover;
    object-position: center;
}
.lt-gift-wrapper .lt-col-info { min-width: 0; overflow-wrap: anywhere; }
.lt-gift-wrapper .lt-gift-name,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-gift-name {
    display: block;
    min-width: 0;
    margin: 0 !important;
    color: #203951 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}
.lt-gift-wrapper .lt-gift-quantity {
    display: inline-block;
    max-width: 100%;
    margin-top: 3px;
    padding: 2px 5px;
    border-radius: 4px;
    background: #eaf5ff;
    color: #0B2A5B !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    overflow-wrap: anywhere;
}
.lt-gift-wrapper .lt-gift-description {
    display: block;
    margin-top: 2px;
    color: #6b7787 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere;
}
.lt-gift-wrapper .lt-gift-row-price { display: grid; justify-items: end; gap: 3px; min-width: 0; }
.lt-gift-wrapper .lt-gift-original-price,
.lt-gift-wrapper del.lt-gift-original-price {
    max-width: 100%;
    color: #8a94a3 !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1.2;
    text-align: right;
    text-decoration: line-through !important;
    overflow-wrap: anywhere;
}
.lt-gift-wrapper .lt-gift-give-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 69px;
    max-width: 100%;
    padding: 6px 5px;
    border-radius: 6px;
    background: #eaf5ff !important;
    color: var(--lt-hot) !important;
    font-size: 10px !important;
    line-height: 1.2;
    text-align: center;
}
.lt-gift-wrapper .lt-gift-give-price > span { font-size: 9px !important; font-weight: 600 !important; }
.lt-gift-wrapper .lt-gift-give-price > strong,
.lt-gift-wrapper .lt-gift-give-price .amount { color: var(--lt-hot) !important; font-size: 12px !important; font-weight: 700 !important; }
.lt-gift-wrapper .lt-extra-section,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-extra-section {
    min-width: 0;
    margin: 1px 0 0 !important;
    padding: 9px 10px 10px !important;
    border: 1px solid #d9eafa !important;
    border-radius: 9px !important;
    background: #f2f8ff !important;
}
.lt-gift-wrapper .lt-extra-heading {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 7px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--lt-hot) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    text-transform: none !important;
}
.lt-gift-wrapper .lt-extra-star {
    display: inline-flex;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e2f1ff;
    color: var(--lt-hot) !important;
    font-size: 14px;
}
.lt-gift-wrapper .lt-extra-content,
.lt-gift-wrapper.nbd-inline-plugin-gift .lt-extra-content {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #304761 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}
.lt-gift-wrapper .lt-extra-content p { margin: 0 0 5px !important; }
.lt-gift-wrapper .lt-extra-content p:last-child { margin-bottom: 0 !important; }
.lt-gift-wrapper .lt-extra-content ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
    gap: 5px 8px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.lt-gift-wrapper .lt-extra-content li {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 35px;
    margin: 0 !important;
    padding: 2px 3px 2px 33px !important;
    color: #304761 !important;
    font-size: 10.5px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere;
}
.lt-gift-wrapper .lt-extra-content li::before {
    position: absolute;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #e2f1ff;
    color: var(--lt-hot) !important;
    content: "◇" !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1;
}
.lt-gift-wrapper .lt-extra-content li:nth-child(2)::before { content: "▦" !important; }
.lt-gift-wrapper .lt-extra-content li:nth-child(3)::before { content: "◉" !important; }
.lt-gift-wrapper .lt-extra-content li:nth-child(4)::before { content: "✦" !important; }
.lt-gift-wrapper .lt-extra-content :focus-visible { outline: 2px solid var(--lt-hot); outline-offset: 2px; }

@media (max-width: 560px) {
    .lt-gift-wrapper .lt-gift-content { padding: 7px !important; }
    .lt-gift-wrapper .lt-gift-banner { min-height: 58px; padding: 7px 9px !important; }
    .lt-gift-wrapper .lt-gift-banner__icon { flex-basis: 27px; width: 27px; height: 27px; }
    .lt-gift-wrapper .lt-gift-banner__copy .lt-title { font-size: 13px !important; }
    .lt-gift-wrapper .lt-gift-banner__copy > span { font-size: 9px !important; }
    .lt-gift-wrapper .lt-gift-banner__saving { padding: 4px 6px; }
    .lt-gift-wrapper .lt-gift-banner__saving > strong { font-size: 14px !important; }
    .lt-gift-wrapper .lt-main-choice { padding: 7px 8px !important; }
    .lt-gift-wrapper .lt-product-item-v2,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2 {
        grid-template-columns: 15px 50px minmax(0, 1fr) 70px;
        gap: 6px;
        padding: 5px !important;
    }
    .lt-gift-wrapper .lt-col-thumb,
    .lt-gift-wrapper .lt-col-thumb img,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-col-thumb img { width: 50px !important; height: 48px !important; max-width: 50px !important; }
    .lt-gift-wrapper .lt-choice-label { font-size: 12px !important; }
    .lt-gift-wrapper .lt-price { font-size: 13px !important; }
    .lt-gift-wrapper .lt-gift-give-price { min-width: 64px; padding: 5px 3px; }
}
@media (max-width: 365px) {
    .lt-gift-wrapper .lt-product-item-v2,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-product-item-v2 {
        grid-template-columns: 14px 42px minmax(0, 1fr) 62px;
        gap: 5px;
        padding: 4px !important;
    }
    .lt-gift-wrapper .lt-col-thumb,
    .lt-gift-wrapper .lt-col-thumb img,
    .lt-gift-wrapper.nbd-inline-plugin-gift .lt-col-thumb img { width: 42px !important; height: 42px !important; max-width: 42px !important; }
    .lt-gift-wrapper .lt-gift-name { font-size: 11px !important; }
    .lt-gift-wrapper .lt-gift-description { font-size: 9px !important; }
    .lt-gift-wrapper .lt-gift-original-price { font-size: 9px !important; }
    .lt-gift-wrapper .lt-gift-give-price { min-width: 58px; gap: 2px; }
    .lt-gift-wrapper .lt-gift-give-price > strong,
    .lt-gift-wrapper .lt-gift-give-price .amount { font-size: 11px !important; }
}

/* A full-width gift panel must not force the quantity and purchase button onto
   separate rows in Flatsome's flex-wrapped add-to-cart area. */
.woocommerce-variation-add-to-cart.lt-gift-purchase-controls,
form.cart.lt-gift-purchase-controls {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    justify-content: start;
    gap: 12px;
    width: 100%;
}
.woocommerce-variation-add-to-cart.lt-gift-purchase-controls > .lt-gift-variation-slot,
.woocommerce-variation-add-to-cart.lt-gift-purchase-controls > .lt-gift-wrapper,
form.cart.lt-gift-purchase-controls > .lt-gift-variation-slot,
form.cart.lt-gift-purchase-controls > .lt-gift-wrapper {
    grid-column: 1 / -1;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 4px !important;
}
.lt-gift-purchase-controls > .lt-gift-variation-slot > .lt-gift-wrapper {
    max-width: 100%;
    margin: 0 !important;
}
.woocommerce-variation-add-to-cart.lt-gift-purchase-controls > .ux-quantity,
.woocommerce-variation-add-to-cart.lt-gift-purchase-controls > .quantity,
form.cart.lt-gift-purchase-controls > .ux-quantity,
form.cart.lt-gift-purchase-controls > .quantity {
    grid-column: 1;
    min-width: 0;
    margin: 0 !important;
}
.woocommerce-variation-add-to-cart.lt-gift-purchase-controls > .single_add_to_cart_button,
form.cart.lt-gift-purchase-controls > .single_add_to_cart_button {
    grid-column: 2;
    justify-self: start;
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    white-space: normal;
}
.lt-gift-variation-loading { margin: 8px 0; padding: 10px 12px; border-radius: 8px; background: #f2f7fc; color: #0B2A5B; font-size: 14px; }
.lt-gift-wrapper--variation-pending { padding: 8px 10px; }
.lt-variation-pending { color: #0B2A5B; font-size: 13px; }
