#fso-root[hidden],.fso-cart-rail[hidden],.fso-rail-controls[hidden]{display:none!important}
#fso-root{position:fixed;inset:0;z-index:2147483000;direction:ltr;color:#222;font-family:inherit}
#fso-root *,.fso-cart-rail *{box-sizing:border-box}
#fso-root .fso-overlay{position:absolute;inset:0;background:rgba(14,21,32,.6)}
#fso-root .fso-panel{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,780px);height:auto;max-height:min(90vh,910px);max-height:min(90dvh,910px);border-radius:20px 20px 0 0;background:#fff;box-shadow:0 10px 45px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;animation:fso-slide .24s ease-out}
@keyframes fso-slide{from{transform:translate(-50%,35px);opacity:.7}to{transform:translate(-50%,0);opacity:1}}
#fso-root .fso-handle{width:56px;height:5px;margin:10px auto 6px;background:#cad0d7;border-radius:9px;flex-shrink:0}
#fso-root .fso-top{display:flex;align-items:center;justify-content:space-between;padding:12px 21px 16px;border-bottom:1px solid #edf0f3;gap:12px;flex-shrink:0}
#fso-root .fso-added{font-size:15px;font-weight:750;color:#157b45}
#fso-root .fso-actions{display:flex;align-items:center;gap:12px}
#fso-root .fso-cart-link{display:inline-block;padding:10px 17px;background:#eaf0f5;color:#1c3247;border-radius:25px;font-size:13px;font-weight:650;white-space:nowrap;text-decoration:none}
#fso-root button.fso-close{appearance:none!important;border:0!important;background:transparent!important;color:#33435b!important;font-size:30px!important;width:37px;height:37px;line-height:32px;padding:0!important;box-shadow:none!important;cursor:pointer}
#fso-root .fso-main{min-height:0;display:flex;flex-direction:column;overflow:hidden}
#fso-root h2{font-size:21px;font-weight:800;line-height:1.4;margin:18px 22px 3px;color:#18232f}
#fso-root .fso-intro{font-size:12px;margin:0 22px 14px;color:#768493;line-height:1.7}
#fso-root .fso-items{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px}
#fso-root .fso-group{border-top:1px solid #edf0f2;margin:0 18px}
#fso-root .fso-group-title{display:flex;align-items:baseline;gap:12px;padding:20px 3px 9px}
#fso-root .fso-group-title h3{color:#1a3548;font-size:16px;font-weight:800;margin:0;line-height:1.4}
#fso-root .fso-group-title span{font-size:11px;color:#8a96a0}
#fso-root .fso-card{display:flex;min-width:0;gap:15px;padding:12px 4px;border-bottom:1px solid #f0f2f4;align-items:stretch;background:#fff}
#fso-root .fso-card:last-child{border-bottom:0}
#fso-root .fso-card-img{width:104px;flex:0 0 104px;display:flex;align-items:center;justify-content:center;background:#fafbfd;border-radius:10px;overflow:hidden}
#fso-root .fso-card-img img{width:100%!important;height:105px!important;max-width:100%;object-fit:contain!important;margin:0!important}
#fso-root .fso-card-content{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px;justify-content:center}
#fso-root .fso-card-name{font-size:13px;font-weight:630;color:#233241!important;text-decoration:none!important;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#fso-root .fso-card-reason{margin:0;color:#327459;font-size:11px;line-height:1.6}
#fso-root .fso-card-reason.fso-check{color:#92652b}
#fso-root .fso-card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
#fso-root .fso-card-price{color:#18232f;font-size:13px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}
#fso-root .fso-card-price del{font-size:11px;color:#99a0a8}
#fso-root .fso-card-price ins{text-decoration:none}
#fso-root button.fso-add,.fso-cart-rail button.fso-add,#fso-root a.fso-choose,.fso-cart-rail a.fso-choose{appearance:none!important;border:1px solid #e6e9ee!important;background:#eff6f9!important;color:#11648a!important;border-radius:50%!important;font-size:26px!important;line-height:1!important;padding:0!important;width:38px!important;height:38px!important;min-height:38px!important;flex:0 0 38px;cursor:pointer;box-shadow:none!important}
#fso-root button.fso-add:hover,.fso-cart-rail button.fso-add:hover,#fso-root a.fso-choose:hover,.fso-cart-rail a.fso-choose:hover{background:#e2eef6!important}
#fso-root button.fso-add:disabled,.fso-cart-rail button.fso-add:disabled{cursor:default;opacity:.55}
#fso-root .fso-review,.fso-cart-rail .fso-review{display:inline-block;font-size:12px;font-weight:700;text-decoration:none!important;color:#18688e!important;border:1px solid #e0eaf0;background:#f5f9fb;border-radius:16px;padding:8px 10px;white-space:nowrap}
#fso-root .fso-muted,.fso-cart-rail .fso-muted{padding:14px;color:#6c7b88;font-size:13px}
#fso-root .fso-empty{text-align:center;margin:12px 20px 24px;border-radius:12px;background:#f5f8fa}
#fso-root .fso-unavailable,.fso-cart-rail .fso-unavailable{font-size:12px;color:#a0a0a0;white-space:nowrap}
body.fso-open{overflow:hidden!important}
.single_add_to_cart_button.fso-waiting,.add_to_cart_button.fso-waiting{position:relative!important;color:transparent!important;cursor:progress!important}
.single_add_to_cart_button.fso-waiting *,.add_to_cart_button.fso-waiting *{opacity:0!important}
.single_add_to_cart_button.fso-waiting:after,.add_to_cart_button.fso-waiting:after{content:none!important;display:none!important}
.single_add_to_cart_button.fso-waiting:before,.add_to_cart_button.fso-waiting:before{content:""!important;display:block!important;position:absolute!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;width:20px!important;height:20px!important;border:2px solid rgba(255,255,255,.4)!important;border-top-color:white!important;border-radius:50%!important;background:none!important;margin:0!important;padding:0!important;opacity:1!important;z-index:5;animation:fso-spin .7s linear infinite!important;box-sizing:border-box!important;transform:none!important;margin-top:-10px!important;margin-left:-10px!important;transform-origin:center center!important}
@keyframes fso-spin{from{rotate:0deg}to{rotate:360deg}}
@media(min-width:800px){#fso-root .fso-panel{bottom:22px;border-radius:20px;max-height:min(87vh,890px)}}
@media(max-width:540px){#fso-root .fso-panel{padding-bottom:env(safe-area-inset-bottom)}#fso-root .fso-top{padding:8px 14px 12px}#fso-root h2{font-size:19px;margin:13px 15px 4px}#fso-root .fso-intro{margin:0 15px 8px}#fso-root .fso-group{margin:0 10px}#fso-root .fso-group-title{padding-top:15px}#fso-root .fso-card{gap:10px}#fso-root .fso-card-img{width:83px;flex-basis:83px}#fso-root .fso-card-img img{height:90px!important}#fso-root .fso-card-name{font-size:12px}#fso-root .fso-card-price{font-size:12px}#fso-root .fso-review{font-size:11px;padding:7px}}
@media(prefers-reduced-motion:reduce){#fso-root .fso-panel{animation:none}.single_add_to_cart_button.fso-waiting:before,.add_to_cart_button.fso-waiting:before{animation-duration:1.7s!important}}

/* Version 1.3.1: + links for products requiring variation selection. */
#fso-root a.fso-choose,.fso-cart-rail a.fso-choose{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;font-weight:400!important;line-height:1!important;touch-action:manipulation}

/* 1.3.2: Pixel-centered action glyphs using CSS geometry, not font baselines.
 * Follow Woodmart's primary accent (fallback sampled from the live checkout). */
#fso-root button.fso-add,#fso-root a.fso-choose,
.fso-cart-rail button.fso-add,.fso-cart-rail a.fso-choose{
    --fso-plus-accent:var(--wd-primary-color,#3679bd);
    -webkit-appearance:none!important;appearance:none!important;
    box-sizing:border-box!important;position:relative!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    vertical-align:middle!important;overflow:hidden!important;
    width:40px!important;min-width:40px!important;max-width:40px!important;
    height:40px!important;min-height:40px!important;max-height:40px!important;
    flex:0 0 40px!important;padding:0!important;margin:0!important;
    border:1px solid #e2e9ef!important;border-radius:50%!important;
    background:#f0f6fb!important;color:var(--fso-plus-accent)!important;
    font-size:0!important;line-height:0!important;letter-spacing:0!important;
    text-indent:0!important;box-shadow:none!important;
    text-decoration:none!important;cursor:pointer!important;
    transform:none!important;transition:background-color .15s ease,border-color .15s ease!important;
    -webkit-tap-highlight-color:transparent;
}
#fso-root button.fso-add::before,#fso-root button.fso-add::after,
#fso-root a.fso-choose::before,#fso-root a.fso-choose::after,
.fso-cart-rail button.fso-add::before,.fso-cart-rail button.fso-add::after,
.fso-cart-rail a.fso-choose::before,.fso-cart-rail a.fso-choose::after{
    content:''!important;display:block!important;
    position:absolute!important;top:50%!important;left:50%!important;
    right:auto!important;bottom:auto!important;
    margin:0!important;padding:0!important;border:0!important;
    width:17px!important;height:2.5px!important;
    background:currentColor!important;border-radius:2px!important;
    transform:translate(-50%,-50%)!important;opacity:1!important;
    box-shadow:none!important;pointer-events:none!important;
}
#fso-root button.fso-add::after,#fso-root a.fso-choose::after,
.fso-cart-rail button.fso-add::after,.fso-cart-rail a.fso-choose::after{
    transform:translate(-50%,-50%) rotate(90deg)!important;
}
#fso-root button.fso-add:hover:not(:disabled):not(.fso-add-success),
#fso-root a.fso-choose:hover,
.fso-cart-rail button.fso-add:hover:not(:disabled):not(.fso-add-success),
.fso-cart-rail a.fso-choose:hover{background:#e8f1f9!important}
#fso-root button.fso-add:focus-visible,#fso-root a.fso-choose:focus-visible,
.fso-cart-rail button.fso-add:focus-visible,.fso-cart-rail a.fso-choose:focus-visible{
    outline:2px solid var(--fso-plus-accent)!important;outline-offset:3px!important;
}
#fso-root button.fso-add:disabled,.fso-cart-rail button.fso-add:disabled{
    cursor:default!important;opacity:1!important;
}
#fso-root button.fso-add.fso-is-loading::before,
.fso-cart-rail button.fso-add.fso-is-loading::before{
    display:none!important;
}
#fso-root button.fso-add.fso-is-loading::after,
.fso-cart-rail button.fso-add.fso-is-loading::after{
    width:17px!important;height:17px!important;
    border-radius:50%!important;background:transparent!important;
    border:2px solid #c4d9eb!important;border-top-color:var(--fso-plus-accent)!important;
    box-sizing:border-box!important;
    /* Fixed layout centering: no translate() to orbit while the ring rotates. */
    margin-top:-8.5px!important;margin-left:-8.5px!important;
    transform:none!important;transform-origin:center center!important;
    animation:fso-button-spin .7s linear infinite!important;
}
/* Rotate the ring without translating it. The ring's box is centered by margins;
   a translated transform plus independent rotate causes orbital motion in WebKit. */
@keyframes fso-button-spin{
    from{rotate:0deg}
    to{rotate:360deg}
}
#fso-root button.fso-add.fso-add-success,
.fso-cart-rail button.fso-add.fso-add-success{
    background:#21834e!important;border-color:#21834e!important;color:white!important;
}
#fso-root button.fso-add.fso-add-success::before,
.fso-cart-rail button.fso-add.fso-add-success::before{display:none!important}
#fso-root button.fso-add.fso-add-success::after,
.fso-cart-rail button.fso-add.fso-add-success::after{
    background:transparent!important;border:solid white!important;
    border-width:0 2.3px 2.3px 0!important;border-radius:0!important;
    width:7px!important;height:12px!important;
    transform:translate(-50%,-60%) rotate(45deg)!important;
}
/* Defensive guard against links injected by WooCommerce's generic add-to-cart UI. */
#fso-root .fso-card-bottom > a.added_to_cart,
.fso-cart-rail .fso-card-bottom > a.added_to_cart{display:none!important}
@media(prefers-reduced-motion:reduce){
    #fso-root button.fso-add,.fso-cart-rail button.fso-add{transition:none!important}
    #fso-root button.fso-add.fso-is-loading::after,
    .fso-cart-rail button.fso-add.fso-is-loading::after{animation-duration:1.5s!important}
}

/* 1.3.3 inline variation selection for purchasable WooCommerce variations. */
#fso-root .fso-variation-menu,.fso-cart-rail .fso-variation-menu{width:100%;max-width:100%;border:1px solid #dde9f0;background:#f5f9fc;border-radius:10px;padding:9px;margin-top:7px;text-align:left;box-sizing:border-box}
#fso-root .fso-variation-menu[hidden],.fso-cart-rail .fso-variation-menu[hidden]{display:none!important}
#fso-root .fso-variation-menu>strong,.fso-cart-rail .fso-variation-menu>strong{display:block;font-size:12px;color:#334b61;margin-bottom:6px}
#fso-root button.fso-variation-pick,.fso-cart-rail button.fso-variation-pick{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:9px!important;width:100%!important;height:auto!important;min-height:36px!important;max-width:100%!important;padding:8px!important;border:1px solid #dfe7ee!important;border-radius:7px!important;background:#fff!important;box-shadow:none!important;color:#233a4b!important;text-align:left!important;font-size:12px!important;line-height:1.4!important;margin:0 0 5px!important;white-space:normal!important;cursor:pointer!important}
#fso-root button.fso-variation-pick:hover,.fso-cart-rail button.fso-variation-pick:hover{border-color:var(--wd-primary-color,#3679bd)!important}
#fso-root .fso-var-price,.fso-cart-rail .fso-var-price{color:var(--wd-primary-color,#3679bd);font-weight:700;flex-shrink:0;font-size:11px}
#fso-root .fso-variation-pick.fso-is-loading,.fso-cart-rail .fso-variation-pick.fso-is-loading{opacity:.6;cursor:wait!important}
#fso-root .fso-variation-pick.fso-add-success,.fso-cart-rail .fso-variation-pick.fso-add-success{border-color:#167746!important;background:#eaf8f0!important;color:#167746!important}

/* 1.3.4: Multi-variation actions are readable buttons, never unstyled squares.
   Covers drawer AND both WooCommerce cart rails. */
#fso-root button.fso-variation-trigger,
.fso-cart-rail button.fso-variation-trigger,
#fso-root a.fso-choose,
.fso-cart-rail a.fso-choose {
    --fso-plus-accent:var(--wd-primary-color,#0084c7);
    box-sizing:border-box!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:auto!important;min-width:94px!important;max-width:none!important;
    height:40px!important;min-height:40px!important;max-height:40px!important;
    flex:0 0 auto!important;
    padding:0 12px!important;margin:0!important;
    border-radius:22px!important;border:1px solid #dce8f0!important;
    appearance:none!important;-webkit-appearance:none!important;
    background:#f0f6fb!important;color:var(--fso-plus-accent)!important;
    font-family:inherit!important;font-size:12px!important;font-weight:700!important;
    line-height:1.2!important;letter-spacing:0!important;text-indent:0!important;
    white-space:nowrap!important;text-transform:none!important;
    text-decoration:none!important;box-shadow:none!important;
    cursor:pointer!important;transition:background-color .15s ease!important;
}
#fso-root button.fso-variation-trigger::before,#fso-root button.fso-variation-trigger::after,
.fso-cart-rail button.fso-variation-trigger::before,.fso-cart-rail button.fso-variation-trigger::after,
#fso-root a.fso-choose::before,#fso-root a.fso-choose::after,
.fso-cart-rail a.fso-choose::before,.fso-cart-rail a.fso-choose::after{
    content:none!important;display:none!important;
}
#fso-root button.fso-variation-trigger:hover,
.fso-cart-rail button.fso-variation-trigger:hover,
#fso-root a.fso-choose:hover,.fso-cart-rail a.fso-choose:hover{background:#e8f1f9!important}
#fso-root button.fso-variation-trigger:focus-visible,
.fso-cart-rail button.fso-variation-trigger:focus-visible,
#fso-root a.fso-choose:focus-visible,.fso-cart-rail a.fso-choose:focus-visible{
    outline:2px solid var(--fso-plus-accent)!important;outline-offset:3px!important;
}

/* Let pricing and See Options share narrow cart-rail cards without overflow. */
#fso-root .fso-card-bottom,.fso-cart-rail .fso-card-bottom{flex-wrap:wrap!important}
