.sf-gift-card-purchase-form{max-width:920px;margin:0 auto 2rem}.sf-gc-form-card{background:var(--sf-gc-card-bg,#fff);border:1px solid var(--sf-gc-border,#e5e5e5);border-radius:var(--sf-gc-card-radius,0);padding:clamp(22px,4vw,42px);box-shadow:0 18px 45px rgba(0,0,0,.05)}.sf-gc-form-header{margin-bottom:28px}.sf-gc-eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;color:var(--sf-gc-accent,#8c9f8b);font-weight:700}.sf-gc-form-header h2{margin:0 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.08}.sf-gc-form-header p{margin:0;color:#666;max-width:650px}.sf-gc-section{margin-bottom:24px}.sf-gc-section-title,.sf-gc-field label{display:block;font-weight:700;margin-bottom:9px}.sf-gc-amount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px}.sf-gc-amount-option{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--sf-gc-border,#e5e5e5);border-radius:var(--sf-gc-button-radius,0);padding:15px 16px;cursor:pointer;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.sf-gc-amount-option:hover{border-color:var(--sf-gc-accent,#8c9f8b);box-shadow:0 8px 20px rgba(0,0,0,.04)}.sf-gc-amount-option input{accent-color:var(--sf-gc-accent,#8c9f8b)}.sf-gc-amount-option:has(input:checked){border-color:var(--sf-gc-accent,#8c9f8b);box-shadow:0 0 0 1px var(--sf-gc-accent,#8c9f8b)}.sf-gc-custom-amount{margin-top:12px}.sf-gc-custom-amount[hidden]{display:none!important}.sf-gc-custom-amount input,.sf-gc-field input,.sf-gc-field textarea,.sf-gift-card-form input.sf-gc-code-input{width:100%;border:1px solid var(--sf-gc-border,#e5e5e5);border-radius:var(--sf-gc-button-radius,0);padding:13px 15px;background:#fff}.sf-gc-grid{display:grid;gap:18px}.sf-gc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-gc-field{margin:0 0 18px}.sf-gc-field small{font-weight:400;color:#777}.sf-gc-field textarea{resize:vertical}.sf-gc-options{display:grid;gap:12px;margin:22px 0}.sf-gc-check{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--sf-gc-border,#e5e5e5);border-radius:var(--sf-gc-button-radius,0);background:#fafafa}.sf-gc-check input{margin-top:3px;accent-color:var(--sf-gc-accent,#8c9f8b)}.sf-gc-actions{margin-top:26px}.sf-gc-primary-button,.sf-gift-card-form .sf-gc-apply-button,.sf-gift-card-form .sf-gc-remove-button{background:var(--sf-gc-button-bg,#8c9f8b)!important;color:var(--sf-gc-button-text,#fff)!important;border-color:var(--sf-gc-button-bg,#8c9f8b)!important;border-radius:var(--sf-gc-button-radius,0)!important;padding:13px 22px!important;font-weight:700!important;text-transform:none!important}.sf-gift-card-form{margin:1.25rem 0;padding:1.25rem;border:1px solid var(--sf-gc-border,#e5e5e5);border-radius:var(--sf-gc-card-radius,0);background:var(--sf-gc-card-bg,#fff)}.sf-gift-card-form h3{margin-top:0}.sf-gift-card-form p:last-child{margin-bottom:0}@media (max-width:700px){.sf-gc-grid-2{grid-template-columns:1fr}.sf-gc-form-card{padding:22px}.sf-gc-amount-grid{grid-template-columns:1fr 1fr}}

.sf-gift-card-form p:has(.sf-gc-code-input){display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.sf-gift-card-form input.sf-gc-code-input{flex:1 1 260px;margin:0}
.sf-gift-card-form .sf-gc-apply-button{flex:0 0 auto}
.sf-gc-cart-icon,.sf-gc-default-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;object-fit:contain}
.woocommerce-cart-form .product-thumbnail .sf-gc-cart-icon{margin:auto}
@media (max-width:700px){.sf-gift-card-form p:has(.sf-gc-code-input){display:block}.sf-gift-card-form .sf-gc-apply-button{margin-top:10px;width:100%}}

/* v0.3.15: custom amount input sizing and hide native number steppers. */
.sf-gift-card-purchase-form .sf-gc-custom-amount{width:100%;max-width:400px;min-width:0}
.sf-gift-card-purchase-form .sf-gc-custom-amount input[type="number"]{display:block;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box;appearance:textfield;-moz-appearance:textfield}
.sf-gift-card-purchase-form .sf-gc-custom-amount input[type="number"]::-webkit-inner-spin-button,
.sf-gift-card-purchase-form .sf-gc-custom-amount input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:480px){.sf-gift-card-purchase-form .sf-gc-custom-amount{max-width:100%}}

/* v0.3.17: configurable hover colors for gift card buttons. */
.sf-gift-card-purchase-form .sf-gc-primary-button:hover,
.sf-gift-card-purchase-form .sf-gc-primary-button:focus-visible,
.sf-gift-card-form .sf-gc-apply-button:hover,
.sf-gift-card-form .sf-gc-apply-button:focus-visible,
.sf-gift-card-form .sf-gc-remove-button:hover,
.sf-gift-card-form .sf-gc-remove-button:focus-visible{background:var(--sf-gc-button-hover-bg,#758b74)!important;border-color:var(--sf-gc-button-hover-bg,#758b74)!important;color:var(--sf-gc-button-hover-text,#fff)!important;}

.sf-gift-card-purchase-form .sf-gc-recipient-email[hidden]{display:none!important}
.sf-gift-card-purchase-form .sf-gc-recipient-email{margin:0}

/* v0.3.21: streamlined, grouped gift card form. */
.sf-gift-card-purchase-form .sf-gc-step{margin-top:28px;margin-bottom:0}
.sf-gift-card-purchase-form .sf-gc-step-title{font-size:clamp(18px,1.5vw,21px);font-weight:700;line-height:1.3;margin:0 0 17px}
.sf-gift-card-purchase-form .sf-gc-step .sf-gc-field{margin:0}
.sf-gift-card-purchase-form .sf-gc-step .sf-gc-field-full{margin-top:17px}
.sf-gift-card-purchase-form .sf-gc-field label{margin-bottom:0}
.sf-gift-card-purchase-form .sf-gc-field label input,.sf-gift-card-purchase-form .sf-gc-field label textarea{display:block;margin-top:7px}
.sf-gift-card-purchase-form .sf-gc-field textarea{min-height:105px}
.sf-gift-card-purchase-form .sf-gc-delivery-choices{display:grid;gap:10px}
.sf-gift-card-purchase-form .sf-gc-delivery-choice{display:flex;align-items:flex-start;gap:13px;padding:16px 18px;background:#fff;border:1px solid var(--sf-gc-border,#e5e5e5);border-radius:var(--sf-gc-button-radius,0);cursor:pointer}
.sf-gift-card-purchase-form .sf-gc-delivery-choice:has(input:checked){border-color:var(--sf-gc-accent,#8c9f8b)}
.sf-gift-card-purchase-form .sf-gc-delivery-choice input{flex:0 0 auto;margin:4px 0 0;accent-color:var(--sf-gc-accent,#8c9f8b)}
.sf-gift-card-purchase-form .sf-gc-delivery-choice strong,.sf-gift-card-purchase-form .sf-gc-delivery-choice small{display:block}
.sf-gift-card-purchase-form .sf-gc-delivery-choice strong{font-weight:650;line-height:1.35}
.sf-gift-card-purchase-form .sf-gc-delivery-choice small{margin-top:4px;font-size:13px;font-weight:400;color:#666;line-height:1.45}
.sf-gift-card-purchase-form .sf-gc-recipient-email{margin-top:16px!important}
.sf-gift-card-purchase-form .sf-gc-recipient-email>small{display:block;margin-top:7px;color:#666;font-size:13px}
.sf-gift-card-purchase-form .sf-gc-step .sf-gc-options{margin:16px 0 0}
@media(max-width:700px){.sf-gift-card-purchase-form .sf-gc-step{margin-top:24px}}

/* v0.3.31: custom amount is a compact tile directly after the custom choice. */
.sf-gift-card-purchase-form .sf-gc-amount-grid > .sf-gc-custom-amount {
    grid-column:auto;display:flex;align-items:center;gap:8px;min-width:0;width:100%;max-width:none;
    margin:0;padding:15px 12px;border:1px solid var(--sf-gc-border,#e5e5e5);
    border-radius:var(--sf-gc-button-radius,0);background:#fff;box-sizing:border-box;
}
.sf-gift-card-purchase-form .sf-gc-amount-grid > .sf-gc-custom-amount[hidden]{display:none!important}
.sf-gift-card-purchase-form .sf-gc-custom-amount:focus-within{border-color:var(--sf-gc-accent,#8c9f8b);box-shadow:0 0 0 1px var(--sf-gc-accent,#8c9f8b)}
.sf-gift-card-purchase-form .sf-gc-custom-amount .sf-gc-currency-prefix{flex:0 0 auto;display:inline;min-width:0;padding:0;border:0;background:transparent;font-weight:600}
.sf-gift-card-purchase-form .sf-gc-custom-amount input[type="number"]{
    display:block;flex:1 1 0;min-width:0;width:100%!important;max-width:100%!important;
    height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;outline:none!important;
    background:transparent!important;text-align:left;font:inherit;appearance:textfield;-moz-appearance:textfield;
}
.sf-gift-card-purchase-form .sf-gc-custom-amount input[type="number"]::-webkit-inner-spin-button,
.sf-gift-card-purchase-form .sf-gc-custom-amount input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
@media(max-width:700px){
    .sf-gift-card-purchase-form .sf-gc-amount-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .sf-gift-card-purchase-form .sf-gc-amount-option,.sf-gift-card-purchase-form .sf-gc-custom-amount{min-width:0}
}

/* v0.3.32: fixed-width presets, independent custom-amount row, equal tile heights. */
.sf-gift-card-purchase-form .sf-gc-amount-grid {
    display:grid;
    grid-template-columns:repeat(auto-fill, 170px);
    gap:12px;
    justify-content:start;
}
.sf-gift-card-purchase-form .sf-gc-custom-row {
    display:grid;
    grid-template-columns:170px 170px;
    gap:12px;
    margin-top:12px;
    align-items:stretch;
}
.sf-gift-card-purchase-form .sf-gc-amount-grid > .sf-gc-amount-option,
.sf-gift-card-purchase-form .sf-gc-custom-row > .sf-gc-amount-option,
.sf-gift-card-purchase-form .sf-gc-custom-row > .sf-gc-custom-amount {
    box-sizing:border-box;
    min-width:0;
    width:100%;
    height:64px;
    min-height:64px;
    margin:0;
}
.sf-gift-card-purchase-form .sf-gc-custom-row > .sf-gc-custom-amount {
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 14px;
    border:1px solid var(--sf-gc-border,#e5e5e5);
    border-radius:var(--sf-gc-button-radius,0);
    background:#fff;
}
.sf-gift-card-purchase-form .sf-gc-custom-row > .sf-gc-custom-amount[hidden]{display:none!important}
.sf-gift-card-purchase-form .sf-gc-custom-row .sf-gc-currency-prefix {flex:0 0 auto;}
.sf-gift-card-purchase-form .sf-gc-custom-row .sf-gc-custom-amount input[type="number"] {
    display:block!important;
    flex:1 1 0;
    box-sizing:border-box!important;
    min-width:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    outline:none!important;
    line-height:normal!important;
    text-align:left!important;
    appearance:textfield;
}
@media(max-width:700px){
    .sf-gift-card-purchase-form .sf-gc-amount-grid,
    .sf-gift-card-purchase-form .sf-gc-custom-row {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
