
.gse-page{
    --green:#214F3C;
    width:100%;
    background:#FAF7F0;
    color:#183D2E;
    font-family:Manrope,Arial,sans-serif;
    overflow:hidden;
}
.gse-page *{box-sizing:border-box}
.gse-inner{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:34px 28px 68px;
}

.gse-hero{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    gap:54px;
    align-items:center;
    margin-bottom:46px;
}
.gse-hero-copy{padding:26px 8px}
.gse-hero-eyebrow{
    display:block;
    font-size:14px;
    font-weight:800;
    letter-spacing:.18em;
    color:var(--green);
}
.gse-hero h1{
    font-family:Prata,Georgia,serif;
    font-size:76px;
    line-height:.98;
    letter-spacing:-.045em;
    margin:12px 0 20px;
    font-weight:400;
}
.gse-hero-copy p{
    max-width:650px;
    margin:0;
    font-size:18px;
    line-height:1.65;
    color:#6E6C63;
}
.gse-hero-pills{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:26px;
}
.gse-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    padding:0 16px;
    border:1px solid rgba(33,79,60,.18);
    border-radius:999px;
    background:#fffaf2;
    font-size:12px;
    font-weight:800;
    transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease,background .3s ease;
}
.gse-pill-primary{background:#F3E9D6}
.gse-pill svg{
    width:16px;height:16px;
    fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
    transition:transform .3s ease;
}
.gse-pill:hover{
    transform:translateY(-4px) scale(1.025);
    box-shadow:0 12px 28px rgba(33,79,60,.12);
}
.gse-pill:hover svg{transform:rotate(12deg) scale(1.12)}

.gse-hero-media{
    overflow:hidden;
    border-radius:28px;
}
.gse-hero-media img{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    border-radius:28px;
}

.gse-product{
    display:grid;
    grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);
    gap:58px;
    align-items:start;
    border-top:1px solid rgba(33,79,60,.08);
    padding:34px 0 56px;
}
.gse-main-image{
    background:#F3E9D6;
    aspect-ratio:1/1;
    border-radius:28px;
    overflow:hidden;
}
.gse-main-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:contain;
    object-position:center;
    transition:opacity .18s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}
.gse-main-image:hover img{transform:scale(1.015)}
.gse-thumbs{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
}
.gse-thumb{
    border:1px solid transparent;
    background:#F3E9D6;
    border-radius:14px;
    aspect-ratio:1/1;
    overflow:hidden;
    padding:0;
    cursor:pointer;
    transition:.25s ease;
}
.gse-thumb img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.gse-thumb.active{
    border-color:var(--green);
    box-shadow:0 0 0 2px rgba(33,79,60,.08);
}

.gse-product-info{padding:18px 4px}
.gse-product-kicker{
    display:block;
    color:var(--green);
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
}
.gse-product-info h2{
    margin:12px 0 14px;
    font-family:Prata,Georgia,serif;
    font-size:48px;
    line-height:1.05;
    font-weight:400;
}
.gse-product-intro{
    font-size:16px;
    line-height:1.7;
    color:#6E6C63;
}
.gse-included{margin:26px 0 20px}
.gse-included strong{font-size:16px}
.gse-included ul{
    list-style:none;
    padding:0;
    margin:14px 0 0;
    display:grid;
    gap:10px;
}
.gse-included li{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:15px;
}
.gse-included-default{
    width:22px;height:22px;
    border-radius:50%;
    display:grid;
    place-items:center;
    flex:0 0 22px;
    background:var(--green);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.gse-included-icon{
    width:24px;height:24px;
    object-fit:contain;
    flex:0 0 24px;
}
.gse-price-row{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding-top:22px;
    margin-top:24px;
    border-top:1px solid rgba(33,79,60,.10);
}
.gse-price{
    font-size:34px;
    font-weight:800;
    color:var(--green);
}
.gse-price del{font-size:15px;color:#999;font-weight:500;margin-left:8px}
.gse-price ins{text-decoration:none}
.gse-discount{
    min-height:30px;
    display:inline-flex;
    align-items:center;
    padding:0 10px;
    border-radius:999px;
    background:#F3E9D6;
    font-size:10px;
    font-weight:800;
}
.gse-qty-wrap{margin-top:20px}
.gse-qty-wrap label{
    display:block;
    font-size:12px;
    font-weight:700;
    margin-bottom:8px;
}
.gse-qty{
    display:inline-grid;
    grid-template-columns:40px 52px 40px;
    border:1px solid rgba(33,79,60,.20);
    border-radius:12px;
    overflow:hidden;
}
.gse-qty button,.gse-qty input{
    height:44px;
    border:0;
    background:#fff;
    text-align:center;
}
.gse-qty input{
    border-left:1px solid rgba(33,79,60,.10);
    border-right:1px solid rgba(33,79,60,.10);
    appearance:textfield;
}
.gse-qty button{cursor:pointer;font-size:18px}
.gse-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:18px;
}
.gse-add,.gse-buy,.gse-options{
    min-height:52px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:0 18px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
    text-decoration:none;
    transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease;
}
.gse-add{
    border:1px solid var(--green);
    background:#FAF7F0;
    color:var(--green);
}
.gse-buy{
    border:1px solid var(--green);
    background:var(--green);
    color:#fff;
}
.gse-options{
    border:1px solid var(--green);
    color:var(--green);
}
.gse-add svg,.gse-buy svg{
    width:20px;height:20px;
    fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
    transition:transform .3s ease;
}
.gse-add:hover,.gse-buy:hover,.gse-options:hover{
    transform:translateY(-3px);
    box-shadow:0 11px 25px rgba(33,79,60,.13);
}
.gse-add:hover svg{transform:translateX(-2px) rotate(-7deg) scale(1.08)}
.gse-buy:hover svg{transform:translateY(-2px) scale(1.12)}
.gse-add.is-loading,.gse-buy.is-loading{
    opacity:.65;
    pointer-events:none;
}

.gse-trust{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:24px;
    padding-top:20px;
    border-top:1px solid rgba(33,79,60,.08);
}
.gse-trust-item{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:7px;
    color:#6E6C63;
    font-size:10px;
    line-height:1.3;
    transition:transform .28s ease;
}
.gse-trust-item:hover{transform:translateY(-4px)}
.gse-trust-item img{
    width:30px;height:30px;
    object-fit:contain;
    transition:transform .3s ease;
}
.gse-trust-item:hover img{transform:rotate(6deg) scale(1.1)}
.gse-trust-fallback{
    width:30px;height:30px;
    border:1px solid rgba(33,79,60,.25);
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--green);
    font-weight:800;
    transition:.3s ease;
}
.gse-trust-item:hover .gse-trust-fallback{
    transform:rotate(8deg) scale(1.08);
    background:var(--green);
    color:#fff;
}

.gse-benefits{padding:62px 0 24px}
.gse-benefits-head{
    text-align:center;
    max-width:900px;
    margin:0 auto 38px;
}
.gse-benefits-head>span{
    display:block;
    color:var(--green);
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
}
.gse-benefits-head h2{
    margin:10px 0 0;
    font-family:Prata,Georgia,serif;
    font-size:52px;
    line-height:1.04;
    font-weight:400;
}
.gse-benefit-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.gse-benefit{
    text-align:center;
    padding:18px 28px 24px;
    border-right:1px solid rgba(33,79,60,.10);
    transition:transform .34s cubic-bezier(.2,.7,.2,1);
}
.gse-benefit:last-child{border-right:0}
.gse-benefit:hover{transform:translateY(-8px)}
.gse-benefit-icon{
    width:72px;height:72px;
    border-radius:50%;
    display:grid;
    place-items:center;
    margin:0 auto 17px;
    background:#F3E9D6;
    transition:transform .34s cubic-bezier(.2,.7,.2,1),box-shadow .34s ease;
}
.gse-benefit-icon img{
    width:40px;height:40px;
    object-fit:contain;
    transition:transform .34s ease;
}
.gse-benefit-icon>span{
    color:var(--green);
    font-size:22px;
}
.gse-benefit:hover .gse-benefit-icon{
    transform:translateY(-6px) rotate(5deg) scale(1.08);
    box-shadow:0 14px 30px rgba(33,79,60,.10);
}
.gse-benefit h3{
    margin:0 0 8px;
    font-size:16px;
}
.gse-benefit p{
    margin:0;
    font-size:13px;
    line-height:1.55;
    color:#6E6C63;
}
.gse-empty{
    padding:30px;
    border:1px dashed #d8d1c5;
    border-radius:18px;
    background:#fffaf2;
    text-align:center;
    color:#5f5a51;
}

@media(max-width:1024px){
    .gse-hero{grid-template-columns:1fr 1.08fr;gap:32px}
    .gse-product{grid-template-columns:1fr 1fr;gap:34px}
    .gse-trust{grid-template-columns:1fr 1fr}
}

@media(max-width:767px){
    .gse-inner{
        width:100%;
        max-width:none;
        padding:16px 12px 44px;
    }
    .gse-hero{
        grid-template-columns:1fr;
        gap:18px;
        margin-bottom:28px;
    }
    .gse-hero-media{order:1}
    .gse-hero-copy{order:2;padding:4px}
    .gse-hero-media img{
        width:100%;
        height:auto;
        aspect-ratio:auto;
        object-fit:contain;
    }
    .gse-hero h1{font-size:48px}
    .gse-hero-copy p{font-size:15px}

    .gse-product{
        grid-template-columns:1fr;
        gap:20px;
        padding-top:18px;
    }
    .gse-product-info{padding:4px}
    .gse-product-info h2{font-size:38px}

    .gse-main-image{
        aspect-ratio:auto;
        min-height:0;
    }
    .gse-main-image img{
        width:100%;
        height:auto;
        object-fit:contain;
    }
    .gse-thumbs{
        grid-template-columns:repeat(4,1fr);
        gap:8px;
    }

    .gse-actions{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .gse-add,.gse-buy,.gse-options{
        min-height:44px;
        padding:0 8px;
        font-size:10px;
        gap:6px;
    }
    .gse-add svg,.gse-buy svg{
        width:16px;height:16px;
    }

    .gse-trust{grid-template-columns:1fr 1fr}
    .gse-benefits{padding:46px 0 22px}
    .gse-benefits-head h2{font-size:42px}
    .gse-benefit-grid{grid-template-columns:1fr 1fr}
    .gse-benefit{
        border-right:0;
        border-bottom:1px solid rgba(33,79,60,.10);
        padding:18px 14px;
    }
}


/* v2.1.0 — TRUE FULL WIDTH + WooCommerce image gallery + mobile buttons side-by-side */
.elementor-widget-glowie_set,
.elementor-widget-glowie_set > .elementor-widget-container{
    width:100% !important;
    max-width:none !important;
}

.elementor-widget-glowie_set .gse-page{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
}

.elementor-widget-glowie_set.gse-layout-full .gse-inner{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding-left:clamp(22px,4vw,72px) !important;
    padding-right:clamp(22px,4vw,72px) !important;
}

.elementor-widget-glowie_set.gse-layout-contained .gse-page{
    width:100vw !important;
    max-width:100vw !important;
}

/* Do not let the Elementor parent container visually box the widget. */
.elementor-widget-glowie_set{
    align-self:stretch !important;
}
.elementor-widget-glowie_set .gse-hero,
.elementor-widget-glowie_set .gse-product,
.elementor-widget-glowie_set .gse-benefits{
    width:100%;
}

/* WooCommerce main image + gallery must remain visible and clean. */
.gse-main-image{
    position:relative;
}
.gse-main-image img[data-woo-main="1"]{
    opacity:1 !important;
    visibility:visible !important;
}
.gse-thumbs{
    width:100%;
}

/* Stronger, more vivid hover. */
.gse-pill:hover,
.gse-add:hover,
.gse-buy:hover{
    filter:saturate(1.08);
}

/* MOBILE: every pair of buttons stays on ONE ROW. */
@media(max-width:767px){
    .elementor-widget-glowie_set .gse-page{
        width:100vw !important;
        max-width:100vw !important;
        margin-left:calc(50% - 50vw) !important;
        margin-right:calc(50% - 50vw) !important;
    }

    .elementor-widget-glowie_set .gse-inner{
        width:100% !important;
        max-width:none !important;
        padding-left:12px !important;
        padding-right:12px !important;
    }

    .gse-hero-pills{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        gap:8px !important;
        flex-wrap:nowrap !important;
        width:100%;
    }

    .gse-hero-pills .gse-pill{
        width:100%;
        min-width:0;
        padding:0 8px;
        font-size:9px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }

    .gse-actions{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        gap:8px !important;
        width:100%;
    }

    .gse-actions .gse-add,
    .gse-actions .gse-buy{
        width:100%;
        min-width:0;
        white-space:nowrap;
    }

    .gse-thumbs{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
}


/* v2.2.0 — stronger WooCommerce image resolver */
.gse-main-image{
    background:#F3E9D6;
}
.gse-main-image > img{
    position:relative;
    z-index:1;
}
.gse-image-warning{
    position:absolute;
    z-index:2;
    inset:auto 18px 18px;
    padding:10px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.92);
    color:#7b2f2f;
    font-size:12px;
    line-height:1.4;
    text-align:center;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}


/* v2.3.0 — product featured image + product gallery always visible */
.gse-thumbs{
    display:flex !important;
    flex-wrap:wrap;
    gap:10px;
    margin-top:12px;
}
.gse-thumb{
    width:86px;
    flex:0 0 86px;
}
@media(max-width:767px){
    .gse-thumbs{
        display:grid !important;
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:8px;
    }
    .gse-thumb{
        width:auto;
        flex:auto;
    }
}


/* v2.4.0 — main WooCommerce image fix */
.gse-main-image{
    background:transparent !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}
.gse-main-image > img,
.gse-main-image .gse-main-product-image{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    opacity:1 !important;
    visibility:visible !important;
    object-position:center !important;
    position:relative !important;
    z-index:2 !important;
}


/* v2.5.0 — MAIN PRODUCT IMAGE: no beige gaps + keeps rounded corners */
.gse-main-image{
    background:transparent !important;
    border-radius:28px;
    overflow:hidden !important;
}

/* Default: use the real image aspect ratio. No crop, no top/bottom gaps. */
.elementor-widget-glowie_set.gse-product-fit-natural .gse-main-image,
.elementor-widget-glowie_set:not(.gse-product-fit-cover):not(.gse-product-fit-contain) .gse-main-image{
    aspect-ratio:auto !important;
    height:auto !important;
    min-height:0 !important;
    display:block !important;
}

.elementor-widget-glowie_set.gse-product-fit-natural .gse-main-image > img,
.elementor-widget-glowie_set.gse-product-fit-natural .gse-main-image .gse-main-product-image,
.elementor-widget-glowie_set:not(.gse-product-fit-cover):not(.gse-product-fit-contain) .gse-main-image > img,
.elementor-widget-glowie_set:not(.gse-product-fit-cover):not(.gse-product-fit-contain) .gse-main-image .gse-main-product-image{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    border-radius:inherit !important;
}

/* Optional fill mode */
.elementor-widget-glowie_set.gse-product-fit-cover .gse-main-image{
    aspect-ratio:1/1 !important;
}
.elementor-widget-glowie_set.gse-product-fit-cover .gse-main-image > img,
.elementor-widget-glowie_set.gse-product-fit-cover .gse-main-image .gse-main-product-image{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:inherit !important;
}

/* Optional contain mode */
.elementor-widget-glowie_set.gse-product-fit-contain .gse-main-image{
    aspect-ratio:1/1 !important;
    background:#F3E9D6 !important;
}
.elementor-widget-glowie_set.gse-product-fit-contain .gse-main-image > img,
.elementor-widget-glowie_set.gse-product-fit-contain .gse-main-image .gse-main-product-image{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    border-radius:inherit !important;
}

/* Thumbnails keep their rounded corners too */
.gse-thumb,
.gse-thumb img{
    border-radius:14px !important;
}

/* Mobile keeps exactly the same natural, no-gap behavior */
@media(max-width:767px){
    .elementor-widget-glowie_set.gse-product-fit-natural .gse-main-image,
    .elementor-widget-glowie_set:not(.gse-product-fit-cover):not(.gse-product-fit-contain) .gse-main-image{
        aspect-ratio:auto !important;
        height:auto !important;
    }
    .elementor-widget-glowie_set.gse-product-fit-natural .gse-main-image > img,
    .elementor-widget-glowie_set.gse-product-fit-natural .gse-main-image .gse-main-product-image,
    .elementor-widget-glowie_set:not(.gse-product-fit-cover):not(.gse-product-fit-contain) .gse-main-image > img,
    .elementor-widget-glowie_set:not(.gse-product-fit-cover):not(.gse-product-fit-contain) .gse-main-image .gse-main-product-image{
        width:100% !important;
        height:auto !important;
    }
}


/* v2.6.0 — WooCommerce product description */
.gse-product-intro p{
    margin:0 0 10px;
}
.gse-product-intro p:last-child{
    margin-bottom:0;
}
.gse-product-intro ul,
.gse-product-intro ol{
    margin:10px 0 0;
    padding-left:20px;
}


/* v2.7.0 — click-to-edit affordance inside Elementor */
.elementor-editor-active .elementor-widget-glowie_set [data-gse-section]{
    cursor:pointer;
}
.elementor-editor-active .elementor-widget-glowie_set [data-gse-section]:hover{
    outline:1px dashed rgba(183,79,255,.70);
    outline-offset:4px;
}
\n\n/* =========================================================\n   v2.8.0 — BENEFIT CUSTOM ICON IMAGE FILLS ENTIRE BADGE\n   ========================================================= */\n.gse-benefit-icon.has-image{\n    padding:0 !important;\n    overflow:hidden !important;\n    background:transparent !important;\n    border:0 !important;\n    display:block !important;\n}\n.gse-benefit-icon.has-image img{\n    width:100% !important;\n    height:100% !important;\n    min-width:100% !important;\n    min-height:100% !important;\n    max-width:none !important;\n    max-height:none !important;\n    display:block !important;\n    object-fit:cover !important;\n    object-position:center center !important;\n    margin:0 !important;\n    padding:0 !important;\n    border:0 !important;\n    border-radius:50% !important;\n}\n@media(hover:hover) and (pointer:fine){\n  .gse-benefit:hover .gse-benefit-icon.has-image{\n    transform:translateY(-6px) scale(1.06) !important;\n  }\n  .gse-benefit:hover .gse-benefit-icon.has-image img{\n    transform:scale(1.04) !important;\n  }\n}\n@media(max-width:767px){\n  .gse-benefit-icon.has-image img{\n    width:100% !important;\n    height:100% !important;\n    object-fit:cover !important;\n  }\n}\n

/* =========================================================
   v2.9.0 — BENEFIT ICON = DIRECT IMAGE
   Uploaded image is the icon itself. No beige badge behind it.
   ========================================================= */

.gse-benefit-icon{
    width:var(--gse-benefit-icon-size,72px) !important;
    height:var(--gse-benefit-icon-size,72px) !important;
}

.gse-benefit-icon.has-image{
    width:var(--gse-benefit-icon-size,72px) !important;
    height:var(--gse-benefit-icon-size,72px) !important;
    padding:0 !important;
    margin:0 auto 17px !important;
    background:none !important;
    background-color:transparent !important;
    background-image:none !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.gse-benefit-icon.has-image::before,
.gse-benefit-icon.has-image::after{
    content:none !important;
    display:none !important;
}

.gse-benefit-icon.has-image img{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    transform:scale(var(--gse-benefit-icon-zoom,1.6)) !important;
    transform-origin:center center !important;
    transition:transform .32s cubic-bezier(.2,.7,.2,1),filter .32s ease !important;
}

@media(hover:hover) and (pointer:fine){
    .gse-benefit:hover .gse-benefit-icon.has-image{
        transform:translateY(-5px) !important;
        box-shadow:none !important;
        background:transparent !important;
    }

    .gse-benefit:hover .gse-benefit-icon.has-image img{
        transform:scale(calc(var(--gse-benefit-icon-zoom,1.6) * 1.04)) !important;
        filter:saturate(1.04) contrast(1.02);
    }
}

@media(max-width:767px){
    .gse-benefit-icon.has-image{
        background:transparent !important;
        box-shadow:none !important;
    }

    .gse-benefit-icon.has-image img{
        object-fit:contain !important;
    }
}


/* =========================================================
   v3.0.0 — BENEFIT IMAGE CLIPPED INTO A TRUE CIRCLE
   Image itself fills the circle. No separate beige badge.
   ========================================================= */

.gse-benefit-icon.has-image{
    width:var(--gse-benefit-icon-size,72px) !important;
    height:var(--gse-benefit-icon-size,72px) !important;
    aspect-ratio:1 / 1 !important;
    padding:0 !important;
    margin:0 auto 17px !important;

    /* TRUE CIRCLE */
    border-radius:50% !important;
    overflow:hidden !important;

    /* No extra badge/background */
    background:transparent !important;
    background-color:transparent !important;
    background-image:none !important;
    border:0 !important;
    box-shadow:none !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.gse-benefit-icon.has-image img{
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    max-width:none !important;
    max-height:none !important;

    /* Fill the circular crop */
    object-fit:cover !important;
    object-position:center center !important;

    display:block !important;
    margin:0 !important;
    padding:0 !important;

    /* Image itself is circular */
    border-radius:50% !important;
    border:0 !important;
    background:transparent !important;

    transform:scale(var(--gse-benefit-icon-zoom,1.6)) !important;
    transform-origin:center center !important;
}

/* Never allow the old badge pseudo-elements to appear */
.gse-benefit-icon.has-image::before,
.gse-benefit-icon.has-image::after{
    display:none !important;
    content:none !important;
}

/* Hover keeps circle shape intact */
@media(hover:hover) and (pointer:fine){
    .gse-benefit:hover .gse-benefit-icon.has-image{
        border-radius:50% !important;
        overflow:hidden !important;
        background:transparent !important;
    }

    .gse-benefit:hover .gse-benefit-icon.has-image img{
        transform:scale(calc(var(--gse-benefit-icon-zoom,1.6) * 1.04)) !important;
    }
}

@media(max-width:767px){
    .gse-benefit-icon.has-image,
    .gse-benefit-icon.has-image img{
        border-radius:50% !important;
    }
}
