/* WinSho Product Extra Quantity - frontend UI v1.7.0 */
.winsho-extra-qty-box,
.winsho-extra-qty-box *{
    box-sizing:border-box;
}

.winsho-extra-qty-box{
    --weq-accent:#71962b;
    --weq-accent-dark:#58751f;
    --weq-text:#2f332d;
    --weq-muted:#747a70;
    --weq-border:#e1e5dc;
    --weq-soft:#f7f9f4;
    --weq-white:#fff;
    width:100%;
    margin:18px 0 20px;
    padding:18px;
    border:1px solid var(--weq-border);
    border-radius:16px;
    background:linear-gradient(180deg,#fff 0%,#fcfdfb 100%);
    box-shadow:0 6px 24px rgba(36,49,26,.045);
    color:var(--weq-text);
}

/* Premium product/range selector shown before the extra quantity control */
.winsho-extra-choice{
    margin:0;
}

.winsho-extra-choice-heading{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin:0 0 13px;
}

.winsho-extra-choice-step{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    margin:0 0 7px;
    padding:3px 8px;
    border-radius:999px;
    background:#f1f6e8;
    color:var(--weq-accent-dark);
    font-size:9px;
    font-weight:800;
    line-height:1;
    letter-spacing:.12em;
}

.winsho-extra-choice-label{
    display:block;
    margin:0;
    color:var(--weq-text);
    font-size:18px;
    font-weight:650;
    line-height:1.25;
    letter-spacing:-.01em;
}

.winsho-extra-choice-help{
    margin:5px 0 0;
    color:var(--weq-muted);
    font-size:12.5px;
    font-weight:400;
    line-height:1.45;
}

.winsho-extra-choice-cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.winsho-extra-choice-card{
    position:relative;
    display:block;
    margin:0!important;
    padding:0!important;
    cursor:pointer;
}

.winsho-extra-choice-card>input{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    pointer-events:none;
}

.winsho-extra-choice-card-inner{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 24px;
    align-items:center;
    gap:11px;
    min-height:82px;
    padding:13px 13px;
    border:1px solid #dde2d8;
    border-radius:14px;
    background:linear-gradient(180deg,#fff 0%,#fdfefd 100%);
    box-shadow:0 2px 7px rgba(36,49,26,.025);
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}

.winsho-extra-choice-card:hover .winsho-extra-choice-card-inner{
    border-color:#cbd5c0;
    box-shadow:0 7px 18px rgba(48,68,28,.07);
    transform:translateY(-1px);
}

.winsho-extra-choice-card-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#f4f6f1;
    color:#5f6759;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}

.winsho-extra-choice-card-icon svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.winsho-extra-choice-card-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.winsho-extra-choice-card-copy strong{
    display:block;
    margin:0;
    color:var(--weq-text);
    font-size:14px;
    font-weight:650;
    line-height:1.25;
    letter-spacing:-.005em;
}

.winsho-extra-choice-card-copy small{
    display:block;
    margin:0;
    color:#7d8379;
    font-size:11.5px;
    font-weight:400;
    line-height:1.35;
}

.winsho-extra-choice-card-check{
    display:flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    border:1px solid #d8ded2;
    border-radius:999px;
    background:#fff;
    color:transparent;
    transition:all .18s ease;
}

.winsho-extra-choice-card-check svg{
    width:13px;
    height:13px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.winsho-extra-choice-card>input:checked + .winsho-extra-choice-card-inner{
    border-color:var(--weq-accent);
    background:linear-gradient(180deg,#fbfdf7 0%,#f3f8ea 100%);
    box-shadow:0 0 0 2px rgba(113,150,43,.08),0 8px 20px rgba(67,91,31,.08);
}

.winsho-extra-choice-card>input:checked + .winsho-extra-choice-card-inner .winsho-extra-choice-card-icon{
    background:#eaf2dc;
    color:var(--weq-accent-dark);
    transform:scale(1.02);
}

.winsho-extra-choice-card>input:checked + .winsho-extra-choice-card-inner .winsho-extra-choice-card-check{
    border-color:var(--weq-accent);
    background:var(--weq-accent);
    color:#fff;
}

.winsho-extra-choice-card>input:focus-visible + .winsho-extra-choice-card-inner{
    outline:3px solid rgba(113,150,43,.18);
    outline-offset:2px;
}

/* Classic dropdown presentation remains available from the product settings. */
.winsho-extra-choice-select-wrap{
    position:relative;
}

.winsho-extra-choice-select-wrap:after{
    content:"";
    position:absolute;
    top:50%;
    right:17px;
    width:8px;
    height:8px;
    border-right:2px solid #3d4339;
    border-bottom:2px solid #3d4339;
    transform:translateY(-65%) rotate(45deg);
    pointer-events:none;
}

.winsho-extra-choice-select{
    display:block!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    height:52px!important;
    min-height:52px!important;
    margin:0!important;
    padding:0 48px 0 15px!important;
    border:1px solid #d9ded4!important;
    border-radius:12px!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--weq-text)!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:52px!important;
    box-shadow:none!important;
    cursor:pointer;
    transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.winsho-extra-choice-select:hover{
    border-color:#cbd2c4!important;
    background-color:#fdfefd!important;
}

.winsho-extra-choice-select:focus{
    outline:none!important;
    border-color:var(--weq-accent)!important;
    box-shadow:0 0 0 3px rgba(113,150,43,.12)!important;
}

.winsho-extra-choice-divider{
    height:1px;
    margin:17px 0;
    background:#edf0e9;
}

.winsho-extra-qty-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin:0;
}

.winsho-extra-qty-title{
    display:block;
    margin:0 0 5px;
    color:var(--weq-text);
    font-size:18px;
    font-weight:600;
    line-height:1.25;
    letter-spacing:-.01em;
}

.winsho-extra-qty-help{
    margin:0;
    color:var(--weq-muted);
    font-size:13px;
    font-weight:400;
    line-height:1.45;
}

.winsho-extra-qty-stock{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-top:8px;
    padding:5px 9px;
    border-radius:999px;
    background:#f1f6e8;
    color:var(--weq-accent-dark);
    font-size:11px;
    font-weight:600;
    line-height:1.2;
}

.winsho-extra-qty-stock:before{
    content:"";
    width:6px;
    height:6px;
    flex:0 0 6px;
    border-radius:50%;
    background:var(--weq-accent);
}

.winsho-extra-qty-stock.is-out{
    background:#fff1f0;
    color:#a83a32;
}
.winsho-extra-qty-stock.is-out:before{background:#c7473e}

/* Dropdown */
.winsho-extra-qty-dropdown-wrap{
    position:relative;
    margin-top:15px;
}

.winsho-extra-qty-dropdown-wrap:after{
    content:"";
    position:absolute;
    top:50%;
    right:18px;
    width:8px;
    height:8px;
    border-right:2px solid #3d4339;
    border-bottom:2px solid #3d4339;
    transform:translateY(-65%) rotate(45deg);
    pointer-events:none;
}

.winsho-extra-qty-dropdown{
    display:block!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    max-height:none!important;
    margin:0!important;
    padding:0 50px 0 16px!important;
    border:1px solid #d9ded4!important;
    border-radius:12px!important;
    background:#fff!important;
    background-image:none!important;
    color:var(--weq-text)!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:500!important;
    line-height:54px!important;
    text-indent:0!important;
    cursor:pointer;
    box-shadow:none!important;
    transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.winsho-extra-qty-dropdown:hover{
    border-color:#cbd2c4!important;
    background-color:#fdfefd!important;
}

.winsho-extra-qty-dropdown:focus{
    outline:none!important;
    border-color:var(--weq-accent)!important;
    box-shadow:0 0 0 3px rgba(113,150,43,.12)!important;
}

.winsho-extra-qty-dropdown option{
    color:#222;
    background:#fff;
    font-size:15px;
    line-height:1.5;
}

/* Preset buttons */
.winsho-extra-qty-presets{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(94px,1fr));
    gap:8px;
    margin-top:15px;
}

.winsho-extra-qty-preset{
    appearance:none;
    min-height:44px;
    margin:0!important;
    padding:10px 12px!important;
    border:1px solid #dce1d7!important;
    border-radius:11px!important;
    background:#fff!important;
    color:var(--weq-text)!important;
    font-family:inherit!important;
    font-size:13px!important;
    font-weight:500!important;
    line-height:1.2!important;
    text-align:center;
    cursor:pointer;
    box-shadow:none!important;
    transition:.18s ease;
}

.winsho-extra-qty-preset:hover{
    border-color:#bfc9b1!important;
    background:#fafcf7!important;
}

.winsho-extra-qty-preset.is-active{
    border-color:var(--weq-accent)!important;
    background:#f3f7eb!important;
    color:var(--weq-accent-dark)!important;
    box-shadow:inset 0 0 0 1px var(--weq-accent)!important;
    font-weight:600!important;
}

/* Number stepper */
.winsho-extra-qty-stepper{
    display:grid;
    grid-template-columns:46px minmax(68px,88px) 46px 1fr;
    align-items:center;
    gap:8px;
    margin-top:15px;
}

.winsho-extra-qty-stepper button{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #dce1d7!important;
    border-radius:11px!important;
    background:#fff!important;
    color:var(--weq-text)!important;
    font-size:21px!important;
    font-weight:400!important;
    line-height:1!important;
    box-shadow:none!important;
    cursor:pointer;
}

.winsho-extra-qty-stepper button:hover{
    border-color:var(--weq-accent)!important;
    color:var(--weq-accent-dark)!important;
}

.winsho-extra-qty-input[type=number]{
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 8px!important;
    border:1px solid #dce1d7!important;
    border-radius:11px!important;
    background:#fff!important;
    color:var(--weq-text)!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:600!important;
    line-height:46px!important;
    text-align:center!important;
    box-shadow:none!important;
}

.winsho-extra-qty-unit{
    padding-left:2px;
    color:var(--weq-muted);
    font-size:13px;
    line-height:1.3;
}



/* Range slider */
.winsho-extra-qty-slider{
    margin-top:15px;
    padding:14px 15px 12px;
    border:1px solid #e2e6dd;
    border-radius:13px;
    background:#fff;
}

.winsho-extra-qty-slider-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.winsho-extra-qty-slider-label{
    color:var(--weq-muted);
    font-size:12px;
    font-weight:500;
    line-height:1.3;
}

.winsho-extra-qty-range-value{
    display:inline-flex;
    align-items:baseline;
    gap:4px;
    padding:6px 10px;
    border-radius:999px;
    background:#f1f6e8;
    color:var(--weq-accent-dark);
    font-size:11px;
    font-weight:600;
    line-height:1;
    white-space:nowrap;
}

.winsho-extra-qty-range-value strong{
    color:inherit;
    font-size:15px;
    font-weight:700;
    line-height:1;
}

.winsho-extra-qty-range{
    --weq-range-progress:0%;
    display:block!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    width:100%!important;
    height:22px!important;
    min-height:22px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    cursor:pointer;
}

.winsho-extra-qty-range::-webkit-slider-runnable-track{
    width:100%;
    height:6px;
    border:0;
    border-radius:999px;
    background:linear-gradient(to right,var(--weq-accent) 0,var(--weq-accent) var(--weq-range-progress),#e5e9e0 var(--weq-range-progress),#e5e9e0 100%);
}

.winsho-extra-qty-range::-moz-range-track{
    width:100%;
    height:6px;
    border:0;
    border-radius:999px;
    background:#e5e9e0;
}

.winsho-extra-qty-range::-moz-range-progress{
    height:6px;
    border-radius:999px;
    background:var(--weq-accent);
}

.winsho-extra-qty-range::-webkit-slider-thumb{
    appearance:none;
    -webkit-appearance:none;
    width:22px;
    height:22px;
    margin-top:-8px;
    border:4px solid #fff;
    border-radius:50%;
    background:var(--weq-accent);
    box-shadow:0 1px 3px rgba(36,49,26,.18),0 0 0 1px rgba(88,117,31,.18);
    transition:transform .15s ease,box-shadow .15s ease;
}

.winsho-extra-qty-range::-moz-range-thumb{
    width:14px;
    height:14px;
    border:4px solid #fff;
    border-radius:50%;
    background:var(--weq-accent);
    box-shadow:0 1px 3px rgba(36,49,26,.18),0 0 0 1px rgba(88,117,31,.18);
}

.winsho-extra-qty-range:hover::-webkit-slider-thumb,
.winsho-extra-qty-range:focus-visible::-webkit-slider-thumb{
    transform:scale(1.08);
    box-shadow:0 2px 6px rgba(36,49,26,.2),0 0 0 4px rgba(113,150,43,.12);
}

.winsho-extra-qty-range:focus-visible::-moz-range-thumb{
    box-shadow:0 2px 6px rgba(36,49,26,.2),0 0 0 4px rgba(113,150,43,.12);
}

.winsho-extra-qty-range-scale{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:4px;
    color:#8a9086;
    font-size:10px;
    font-weight:500;
    line-height:1.2;
}

/* Compact live summary */
.winsho-extra-qty-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:12px;
    padding:0;
    border:0;
}

.winsho-extra-qty-summary>div{
    display:flex;
    min-width:0;
    min-height:58px;
    padding:10px 11px;
    border:1px solid #e7eae3;
    border-radius:11px;
    background:var(--weq-soft);
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
}

.winsho-extra-qty-summary>div>span{
    display:block;
    width:100%;
    overflow:hidden;
    color:var(--weq-muted);
    font-size:10px;
    font-weight:500;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-transform:uppercase;
    letter-spacing:.055em;
}

.winsho-extra-qty-summary>div>strong{
    display:block;
    margin:0;
    color:var(--weq-text);
    font-size:15px;
    font-weight:600;
    line-height:1.2;
    white-space:nowrap;
}

.winsho-extra-qty-summary .woocommerce-Price-amount,
.winsho-extra-qty-summary .amount{
    color:inherit!important;
    font-size:inherit!important;
    font-weight:inherit!important;
}

.winsho-extra-qty-summary .winsho-extra-qty-grand{
    border-color:rgba(113,150,43,.25);
    background:#f2f7e9;
}

.winsho-extra-qty-summary .winsho-extra-qty-grand>strong{
    color:var(--weq-accent-dark);
}

@media (max-width:767px){
    .winsho-extra-choice-cards{grid-template-columns:1fr}
    .winsho-extra-choice-heading{margin-bottom:11px}
    .winsho-extra-choice-label{font-size:17px}
    .winsho-extra-choice-card-inner{min-height:74px;padding:11px 12px}
    .winsho-extra-choice-card-icon{width:40px;height:40px}
    .winsho-extra-choice-card-copy strong{font-size:13.5px}
    .winsho-extra-choice-card-copy small{font-size:11px}
    .winsho-extra-qty-box{
        margin:14px 0 16px;
        padding:15px;
        border-radius:14px;
        box-shadow:none;
    }
    .winsho-extra-qty-title{font-size:17px}
    .winsho-extra-qty-slider{padding:12px 13px 10px}
    .winsho-extra-qty-slider-top{margin-bottom:12px}
    .winsho-extra-qty-range-value{padding:5px 9px}
    .winsho-extra-qty-help{font-size:12.5px}
    .winsho-extra-qty-dropdown{
        height:52px!important;
        min-height:52px!important;
        padding-left:14px!important;
        font-size:14px!important;
        line-height:52px!important;
    }
    .winsho-extra-qty-summary{gap:6px}
    .winsho-extra-qty-summary>div{
        min-height:55px;
        padding:9px;
    }
    .winsho-extra-qty-summary>div>span{font-size:9px}
    .winsho-extra-qty-summary>div>strong{font-size:14px}
}

@media (max-width:420px){
    .winsho-extra-qty-summary{
        grid-template-columns:1fr 1fr;
    }
    .winsho-extra-qty-summary .winsho-extra-qty-grand{
        grid-column:1 / -1;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
    }
    .winsho-extra-qty-summary .winsho-extra-qty-grand>span,
    .winsho-extra-qty-summary .winsho-extra-qty-grand>strong{
        width:auto;
    }
    .winsho-extra-qty-stepper{
        grid-template-columns:44px minmax(60px,80px) 44px 1fr;
        gap:6px;
    }
    .winsho-extra-qty-stepper button,
    .winsho-extra-qty-input[type=number]{
        height:44px!important;
        min-height:44px!important;
    }
}


/* v1.7 flow: base product -> extra quantity -> extra tub type */
.winsho-extra-base-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin:0 0 18px;
    padding:13px 14px;
    border:1px solid #e3e8dd;
    border-radius:13px;
    background:linear-gradient(135deg,#f7f9f3 0%,#fbfcf9 100%);
}
.winsho-extra-base-box__copy{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
}
.winsho-extra-base-box__eyebrow{
    color:var(--weq-accent-dark);
    font-size:9px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.winsho-extra-base-box__copy>strong{
    overflow:hidden;
    color:var(--weq-text);
    font-size:14px;
    font-weight:650;
    line-height:1.35;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.winsho-extra-base-box__copy>small{
    color:var(--weq-muted);
    font-size:11px;
    line-height:1.35;
}
.winsho-extra-base-box__qty{
    display:flex;
    flex:0 0 auto;
    min-width:72px;
    padding:8px 10px;
    border-radius:10px;
    background:#fff;
    box-shadow:inset 0 0 0 1px #e2e6dc;
    color:var(--weq-accent-dark);
    flex-direction:column;
    align-items:center;
    justify-content:center;
    font-size:19px;
    font-weight:750;
    line-height:1;
}
.winsho-extra-base-box__qty small{
    margin-top:3px;
    color:var(--weq-muted);
    font-size:9px;
    font-weight:650;
    line-height:1;
    text-transform:uppercase;
}

.winsho-extra-choice--conditional{
    margin-top:0;
    overflow:hidden;
    opacity:1;
    max-height:520px;
    transform:translateY(0);
    transition:max-height .25s ease,opacity .2s ease,transform .2s ease,margin .2s ease;
}
.winsho-extra-choice--conditional.is-hidden{
    display:block!important;
    max-height:0;
    margin:0!important;
    opacity:0;
    pointer-events:none;
    transform:translateY(-5px);
}
.winsho-extra-choice-divider.winsho-extra-choice-conditional{
    margin:16px 0;
    transition:margin .2s ease,opacity .2s ease;
}
.winsho-extra-choice-divider.winsho-extra-choice-conditional.is-hidden{
    display:block!important;
    height:0;
    margin:0;
    border:0;
    opacity:0;
}

.winsho-extra-qty-breakdown{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
    margin-top:12px;
    color:#667060;
    font-size:11px;
    line-height:1.35;
}
.winsho-extra-qty-breakdown>span{
    display:inline-flex;
    align-items:center;
    min-height:24px;
    padding:4px 8px;
    border-radius:999px;
    background:#f6f8f3;
}
.winsho-extra-qty-breakdown strong{
    margin-right:3px;
    color:var(--weq-text);
    font-weight:700;
}
.winsho-extra-qty-breakdown .is-muted{
    opacity:.52;
}
.winsho-extra-breakdown-choice{
    border:1px solid rgba(113,150,43,.17);
    background:#f2f7e9!important;
    color:var(--weq-accent-dark);
    font-weight:600;
}
.winsho-extra-breakdown-choice.is-hidden{
    display:none!important;
}

/* Step label now also appears above the quantity selector. */
.winsho-extra-qty-head .winsho-extra-choice-step{
    margin-bottom:7px;
}

@media (max-width:767px){
    .winsho-extra-base-box{padding:11px 12px;margin-bottom:15px}
    .winsho-extra-base-box__copy>strong{font-size:13px}
    .winsho-extra-base-box__copy>small{font-size:10px}
    .winsho-extra-base-box__qty{min-width:62px;font-size:17px}
}

@media (max-width:420px){
    .winsho-extra-base-box{align-items:flex-start}
    .winsho-extra-base-box__copy>strong{white-space:normal}
}
