.ec-gift-overlay[hidden]{display:none!important}
.ec-gift-overlay{position:fixed;inset:0;z-index:999999;background:rgba(19,24,30,.55);backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center;padding:18px;direction:rtl}
body.ec-gift-open{overflow:hidden}
.ec-gift-modal{position:relative;background:#fff;border-radius:14px;width:min(100%,580px);max-height:calc(100dvh - 36px);overflow-y:auto;box-shadow:0 16px 55px rgba(0,0,0,.2);padding:44px 24px 26px;color:#15212a;outline:none;font-family:inherit}
.ec-gift-close{position:absolute;top:12px;left:15px;border:0;background:transparent;color:#182630;font-size:32px;line-height:1;cursor:pointer;padding:2px 7px}
.ec-gift-head{text-align:center;margin-bottom:20px}.ec-gift-head h2{font-size:clamp(25px,3vw,36px);font-weight:800;margin:0 0 6px;line-height:1.2}.ec-gift-head p{font-size:17px;margin:0;line-height:1.4}.ec-gift-count{font-size:13px;margin-top:7px;color:#7353a8}
.ec-gift-desktop-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ec-gift-product{border:1px solid #e2e2e2;border-radius:11px;position:relative;cursor:pointer;text-align:center;padding:18px 9px 14px;min-width:0;outline-offset:3px}.ec-gift-product.is-selected{border-color:#ae88d5;background:#f8f4fc;box-shadow:inset 0 0 0 1px #ae88d5}.ec-gift-radio{position:absolute;top:12px;left:12px;width:20px;height:20px;border:1.5px solid #34414d;border-radius:50%;background:#fff}.is-selected>.ec-gift-radio:after{content:'';position:absolute;inset:4px;border-radius:50%;background:#a37acb}.is-selected>.ec-gift-radio{border-color:#a37acb}.ec-gift-product img{width:100%;height:200px;object-fit:contain}.ec-gift-product h3{font-size:15px;line-height:1.35;margin:10px 0 15px;font-weight:700}
.ec-gift-swatches{display:flex;flex-wrap:wrap;justify-content:center;gap:5px}.ec-gift-swatch{border:1px solid #c8c8c8;background:#fff;min-width:29px;min-height:29px;border-radius:6px;padding:4px;cursor:pointer;font-size:10px;line-height:1.1;max-width:100px}.ec-gift-swatch.is-active{outline:2px solid #a27ad0;outline-offset:2px}.ec-gift-swatch span{display:block;overflow-wrap:anywhere}
.ec-gift-actions{display:grid;gap:10px;margin-top:24px}.ec-gift-actions button{border-radius:30px;min-height:48px;padding:10px 15px;cursor:pointer;font:inherit;font-weight:700}.ec-gift-add{background:#aa8bd3;border:0;color:#fff}.ec-gift-add:hover:not(:disabled){background:#9674c4}.ec-gift-add:disabled{opacity:.55;cursor:not-allowed}.ec-gift-skip{background:#fff;border:1px solid #a9a9a9;color:#28323b;font-weight:400!important}.ec-gift-message{font-size:13px;color:#a22;margin:8px 0 0;text-align:center;min-height:0}.ec-gift-message:empty{display:none}.ec-gift-mobile-view{display:none}
@media(max-width:767px){
 .ec-gift-overlay{padding:8px;align-items:center}.ec-gift-modal{width:100%;max-width:420px;max-height:calc(100dvh - 16px);padding:42px 12px max(14px,env(safe-area-inset-bottom));border-radius:15px}.ec-gift-head{margin-bottom:10px}.ec-gift-head h2{font-size:24px}.ec-gift-head p{font-size:13px}.ec-gift-close{top:10px;left:10px;font-size:27px}.ec-gift-desktop-cards{display:none}.ec-gift-mobile-view{display:block}.ec-gift-hero{height:min(34dvh,270px);min-height:170px;position:relative;background:#faf2f3;border-radius:10px;display:flex;align-items:center;justify-content:center}.ec-gift-hero-img{height:95%;width:75%;object-fit:contain}.ec-gift-prev,.ec-gift-next{position:absolute;top:50%;transform:translateY(-50%);width:35px;height:35px;border:1px solid #eee;border-radius:50%;background:white;font-size:19px;cursor:pointer}.ec-gift-prev{right:7px}.ec-gift-next{left:7px}.ec-gift-mobile-title{text-align:center;font-size:16px;margin:8px 0}.ec-gift-mobile-variants{min-height:36px;margin-bottom:12px}.ec-gift-mobile-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ec-gift-mini{position:relative;display:flex;align-items:center;gap:5px;text-align:right;border:1px solid #ddd;background:white;border-radius:10px;min-height:76px;padding:8px 8px 8px 23px;font:inherit;font-size:11px;cursor:pointer}.ec-gift-mini.is-selected{border-color:#aa8bd3;background:#faf6ff}.ec-gift-mini img{width:44px;height:60px;object-fit:contain;flex:none}.ec-gift-mini span:nth-child(2){font-weight:700;line-height:1.3}.ec-gift-mini .ec-gift-radio{width:13px;height:13px;top:8px;left:7px}.ec-gift-mini.is-selected>.ec-gift-radio:after{inset:2px}.ec-gift-actions{margin-top:10px;gap:7px}.ec-gift-actions button{min-height:40px;padding:7px 10px;font-size:13px}
}

/* v1.1: Variation Swatches (GetWooPlugins) integration and overflow protection */
.ec-gift-modal,.ec-gift-modal *{box-sizing:border-box}
.ec-gift-modal{overflow-x:hidden}
.ec-gift-product{overflow:hidden}
.ec-gift-swatches{max-width:100%;min-width:0;gap:8px;padding:5px 4px;align-items:center}
.ec-gift-swatch{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:26px;height:26px;min-width:0;min-height:0;max-width:none;padding:2px;border:1px solid #d4d4d4;border-radius:4px;background:#fff;box-shadow:none;overflow:visible}
.ec-gift-swatch.has-color .ec-gift-swatch-color{display:block;width:100%;height:100%;border-radius:2px}
.ec-gift-swatch .ec-gift-swatch-text{display:block;max-width:75px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.ec-gift-swatch:not(.has-color){width:auto;max-width:85px;padding:2px 6px}
.ec-gift-swatch.is-active{outline:2px solid #aa82d8;outline-offset:2px}
.ec-gift-swatch:focus-visible{outline:3px solid #8052b9;outline-offset:2px}
@media(max-width:767px){.ec-gift-mobile-variants .ec-gift-swatches{justify-content:center;gap:9px}.ec-gift-swatch{width:25px;height:25px}}

/* v1.2.1: Requested visual adjustments only. No cart or variation logic changes. */
.ec-gift-modal .ec-gift-add,
.ec-gift-modal .ec-gift-add:hover:not(:disabled),
.ec-gift-modal .ec-gift-add:focus-visible,
.ec-gift-modal .ec-gift-add:active {
    background-color: #C1B9AF !important;
    border-color: #C1B9AF !important;
}
/* Product order is defined in PHP: [2820, 2812]. Only the image is scaled. */
.ec-gift-desktop-cards > .ec-gift-product:nth-child(2) > img {
    transform: scale(0.85);
    transform-origin: center center;
}
@media (max-width: 767px) {
    /* Large mobile image, only while product 2812 (second gift) is selected. */
    .ec-gift-mobile-view:has(.ec-gift-mobile-cards > .ec-gift-mini:nth-child(2).is-selected) .ec-gift-hero-img {
        transform: scale(0.85);
        transform-origin: center center;
    }
    /* 2812 thumbnail in the mobile gift selector. */
    .ec-gift-mobile-cards > .ec-gift-mini:nth-child(2) > img {
        transform: scale(0.85);
        transform-origin: center center;
    }
}

/* Image swatches from Woo Variation Swatches term metadata. */
.ec-gift-swatch.has-image{width:26px;max-width:none;padding:2px}
.ec-gift-swatch .ec-gift-swatch-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}

/* v1.3.3: Site-green selection accents; visual changes only. */
.ec-gift-count{color:#747b64}
.ec-gift-product.is-selected{border-color:#939781;background:rgba(147,151,129,.09);box-shadow:inset 0 0 0 1px #939781}
.is-selected>.ec-gift-radio{border-color:#939781}
.is-selected>.ec-gift-radio:after{background:#939781}
.ec-gift-swatch.is-active{outline-color:#939781}
.ec-gift-swatch:focus-visible{outline-color:#66704f}
.ec-gift-mini.is-selected{border-color:#939781;background:rgba(147,151,129,.09)}
@media(max-width:767px){
 .ec-gift-mini{min-width:0;overflow:hidden}
 .ec-gift-mini span:nth-child(2){display:block;min-width:0;flex:1 1 auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.35}
 .ec-gift-mobile-title{overflow-wrap:anywhere;white-space:normal;line-height:1.4}
}
