/*
 * GNxM Dual Buy — visual layer
 * v1.0.9
 *
 * Uses the GLOBAL NEXUM button language from the Beehive Child Additional CSS:
 * white base, #11518C border/text, Quicksand 600, 30px radius and blue/red hover border.
 * Selectors remain component-scoped so no global WooCommerce/WCFM buttons are modified.
 */
.gnxm-dual-buy{
    --gnxm-dual-h:46px;
    --gnxm-dual-center:42px;
    --gnxm-dual-blue:#11518C;
    --gnxm-dual-red:#8D1811;
    --gnxm-dual-hover:#EEF5FB;
    --gnxm-dual-disabled-bg:#F5F7F9;
    --gnxm-dual-disabled-text:#9AA4AE;
    --gnxm-dual-shadow:0 3px 5px 0 rgba(4,36,64,.5);

    box-sizing:border-box;
    display:inline-grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:stretch;
    position:relative;
    width:auto;
    max-width:100%;
    min-height:var(--gnxm-dual-h);
    vertical-align:middle;
    isolation:isolate;

    background:#fff;
    border:2px solid var(--gnxm-dual-blue);
    border-radius:30px;
    box-shadow:none;
    overflow:visible;

    font-family:"Quicksand",Verdana,sans-serif!important;
    transition:border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.gnxm-dual-buy--single{
    display:grid;
    width:100%;
    max-width:460px;
    margin:.5rem 0;
}

.gnxm-dual-buy--loop{
    width:100%;
}

/*
 * The two controls are action regions inside ONE capsule.
 * Explicit overrides are required because GNxM's global Additional CSS styles .button.
 */
.gnxm-dual-buy__side,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side{
    box-sizing:border-box!important;
    min-width:0;
    min-height:calc(var(--gnxm-dual-h) - 4px)!important;
    height:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    margin:0!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:0!important;
    outline:0;
    box-shadow:none!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--gnxm-dual-blue)!important;

    font-family:"Quicksand",Verdana,sans-serif!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.2!important;
    text-align:center;
    text-decoration:none!important;
    text-shadow:none!important;
    white-space:nowrap;

    cursor:pointer;
    position:relative;
    z-index:1;
    transition:background-color .16s ease, color .16s ease;
}

.gnxm-dual-buy__here,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__here{
    border-radius:28px 0 0 28px!important;
    padding-right:calc(18px + (var(--gnxm-dual-center) / 2))!important;
}

.gnxm-dual-buy__seller,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__seller{
    border-radius:0 28px 28px 0!important;
    padding-left:calc(18px + (var(--gnxm-dual-center) / 2))!important;
}

/* Independent action hover, while the OUTER capsule carries the GNxM hover border/shadow. */
.gnxm-dual-buy__side:hover,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side:hover,
.gnxm-dual-buy__side:focus-visible,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side:focus-visible{
    margin:0!important;
    padding-top:0!important;
    padding-bottom:0!important;
    border:0!important;
    background:var(--gnxm-dual-hover)!important;
    background-image:none!important;
    color:var(--gnxm-dual-blue)!important;
    box-shadow:none!important;
    filter:none!important;
    text-decoration:none!important;
}

.gnxm-dual-buy:has(.gnxm-dual-buy__side:not(.is-disabled):hover),
.gnxm-dual-buy:has(.gnxm-dual-buy__side:not(.is-disabled):focus-visible){
    border-top-color:var(--gnxm-dual-red);
    border-right-color:var(--gnxm-dual-red);
    border-bottom-color:var(--gnxm-dual-blue);
    border-left-color:var(--gnxm-dual-blue);
    box-shadow:var(--gnxm-dual-shadow);
}

/* Accessible keyboard focus without changing geometry. */
.gnxm-dual-buy__side:focus-visible{
    outline:2px solid rgba(17,81,140,.32)!important;
    outline-offset:-4px;
}

/* Integrated channel medallion: fixed size, fully contained by the capsule geometry. */
.gnxm-dual-buy__center{
    box-sizing:border-box;
    width:var(--gnxm-dual-center);
    height:var(--gnxm-dual-center);
    min-width:var(--gnxm-dual-center);
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:5;

    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    pointer-events:none;

    background:#fff;
    border:2px solid var(--gnxm-dual-blue);
    border-radius:50%;
    box-shadow:0 1px 3px rgba(4,36,64,.16);

    transition:border-color .16s ease, background-color .16s ease, box-shadow .16s ease, filter .16s ease;
}

.gnxm-dual-buy:has(.gnxm-dual-buy__side:not(.is-disabled):hover) .gnxm-dual-buy__center,
.gnxm-dual-buy:has(.gnxm-dual-buy__side:not(.is-disabled):focus-visible) .gnxm-dual-buy__center{
    border-top-color:var(--gnxm-dual-red);
    border-right-color:var(--gnxm-dual-red);
    border-bottom-color:var(--gnxm-dual-blue);
    border-left-color:var(--gnxm-dual-blue);
}

.gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy__seller-logo{
    box-sizing:border-box;
    position:absolute;
    inset:3px;
    width:calc(100% - 6px)!important;
    height:calc(100% - 6px)!important;
    max-width:none!important;
    object-fit:cover;
    border-radius:50%;
    margin:0!important;
    transition:opacity .16s ease, transform .16s ease, filter .16s ease;
}

.gnxm-dual-buy__gnxm-logo{opacity:1;transform:scale(1);}
.gnxm-dual-buy__seller-logo{opacity:0;transform:scale(.98);}
.gnxm-dual-buy__gnxm-mark{
    font-family:"Quicksand",Verdana,sans-serif;
    font-size:10px;
    font-weight:700;
    line-height:1;
    color:var(--gnxm-dual-blue);
}

/* Both channels available: GNxM by default; hovered/focused side identifies its processor. */
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__seller:hover) .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__seller:hover) .gnxm-dual-buy__gnxm-mark,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__seller:focus-visible) .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__seller:focus-visible) .gnxm-dual-buy__gnxm-mark{
    opacity:0;
}
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__seller:hover) .gnxm-dual-buy__seller-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__seller:focus-visible) .gnxm-dual-buy__seller-logo{
    opacity:1;
    transform:scale(1);
}
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__here:hover) .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__here:hover) .gnxm-dual-buy__gnxm-mark,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__here:focus-visible) .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__here:focus-visible) .gnxm-dual-buy__gnxm-mark{
    opacity:1;
}
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__here:hover) .gnxm-dual-buy__seller-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="1"]:has(.gnxm-dual-buy__here:focus-visible) .gnxm-dual-buy__seller-logo{
    opacity:0;
}

/* Disabled channel remains part of the SAME capsule and never receives interactive feedback. */
.gnxm-dual-buy__side.is-disabled,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side.is-disabled,
.gnxm-dual-buy__side.is-disabled:hover,
.woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side.is-disabled:hover{
    margin:0!important;
    border:0!important;
    background:var(--gnxm-dual-disabled-bg)!important;
    background-image:none!important;
    color:var(--gnxm-dual-disabled-text)!important;
    box-shadow:none!important;
    cursor:not-allowed!important;
    pointer-events:none!important;
    filter:none!important;
    opacity:1!important;
}

/* The medallion represents the channel that remains usable. */
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="0"] .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="0"] .gnxm-dual-buy__gnxm-mark{
    opacity:1;
    filter:none;
}
.gnxm-dual-buy[data-here-enabled="1"][data-seller-enabled="0"] .gnxm-dual-buy__seller-logo{opacity:0;}

.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="1"] .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="1"] .gnxm-dual-buy__gnxm-mark{opacity:0;}
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="1"] .gnxm-dual-buy__seller-logo{
    opacity:1;
    transform:scale(1);
    filter:none;
}

/* No usable purchase channel: preserve geometry while clearly communicating inactivity. */
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="0"]{
    border-color:#CBD2D8;
    box-shadow:none;
}
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="0"] .gnxm-dual-buy__center{
    filter:grayscale(1);
    background:var(--gnxm-dual-disabled-bg);
    border-color:#CBD2D8;
    box-shadow:none;
}
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="0"] .gnxm-dual-buy__gnxm-logo,
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="0"] .gnxm-dual-buy__gnxm-mark{opacity:.72;}
.gnxm-dual-buy[data-here-enabled="0"][data-seller-enabled="0"] .gnxm-dual-buy__seller-logo{opacity:0;}

.gnxm-dual-buy__legacy-hidden{display:none!important;}

/* Tablet/mobile: keep one dual capsule, preserve touch height, reduce only internal spacing/type. */
@media (max-width:767.98px){
    .gnxm-dual-buy{
        --gnxm-dual-h:46px;
        --gnxm-dual-center:40px;
        width:100%;
    }
    .gnxm-dual-buy__side,
    .woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side{
        min-height:42px!important;
        padding-left:12px!important;
        padding-right:12px!important;
        font-size:12.5px!important;
    }
    .gnxm-dual-buy__here,
    .woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__here{
        padding-right:calc(12px + (var(--gnxm-dual-center) / 2))!important;
    }
    .gnxm-dual-buy__seller,
    .woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__seller{
        padding-left:calc(12px + (var(--gnxm-dual-center) / 2))!important;
    }
}

@media (max-width:420px){
    .gnxm-dual-buy__side,
    .woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__side{
        padding-left:8px!important;
        padding-right:8px!important;
        font-size:12px!important;
        letter-spacing:-.01em;
    }
    .gnxm-dual-buy__here,
    .woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__here{
        padding-right:calc(8px + (var(--gnxm-dual-center) / 2))!important;
    }
    .gnxm-dual-buy__seller,
    .woocommerce .gnxm-dual-buy .button.gnxm-dual-buy__seller{
        padding-left:calc(8px + (var(--gnxm-dual-center) / 2))!important;
    }
}

@media (prefers-reduced-motion:reduce){
    .gnxm-dual-buy,
    .gnxm-dual-buy__side,
    .gnxm-dual-buy__center,
    .gnxm-dual-buy__gnxm-logo,
    .gnxm-dual-buy__seller-logo{
        transition:none!important;
    }
}
