/* IDEA3D25 Cart v1.0 */

body.i3c-cart-page {
    --i3c-purple:#6d28d9;
    --i3c-violet:#7b20ff;
    --i3c-dark:#171449;
    --i3c-muted:#747185;
    --i3c-line:#e9e5ef;
    --i3c-soft:#f8f5ff;
}

body.i3c-cart-page .entry-header,
body.i3c-cart-page .page-title,
body.i3c-cart-page .woocommerce-notices-wrapper:empty {
    display:none !important;
}

.i3c-shell,
.i3c-shell * {
    box-sizing:border-box;
}

.i3c-shell {
    width:min(calc(100% - 34px),1300px);
    margin:0 auto;
    padding:38px 0 54px;
}

.i3c-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}

.i3c-heading > div:first-child > span,
.i3c-summary-title > span {
    display:block;
    margin-bottom:3px;
    color:var(--i3c-violet);
    font-size:10px;
    font-weight:900;
    letter-spacing:.10em;
}

.i3c-heading h1 {
    margin:0;
    color:var(--i3c-dark);
    font-size:clamp(2rem,3vw,3rem);
    line-height:1;
    letter-spacing:-.04em;
}

.i3c-step {
    display:flex;
    align-items:center;
    gap:7px;
    color:#aaa5b1;
    font-size:10px;
}

.i3c-step span {
    display:grid;
    width:24px;
    height:24px;
    place-items:center;
    border:1px solid #ddd8e5;
    border-radius:50%;
    background:#fff;
    font-weight:900;
}

.i3c-step span.is-active {
    border-color:var(--i3c-violet);
    color:#fff;
    background:linear-gradient(135deg,var(--i3c-violet),#5634e8);
}

.i3c-step b {
    color:#8a8594;
    font-size:9px;
}

.i3c-step span.is-active + b {
    color:var(--i3c-dark);
}

.i3c-step i {
    width:25px;
    height:1px;
    background:#ddd8e5;
}

.i3c-layout {
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(330px,.65fr);
    gap:30px;
    align-items:start;
}

.i3c-items {
    min-width:0;
}

.i3c-items-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    margin-bottom:10px;
    padding:0 2px;
    color:var(--i3c-muted);
    font-size:10px;
}

.i3c-items-head strong {
    color:var(--i3c-dark);
    font-size:11px;
}

.i3c-products {
    display:grid;
    gap:12px;
}

.i3c-product {
    display:grid;
    grid-template-columns:132px minmax(0,1fr);
    gap:18px;
    padding:14px;
    border:1px solid var(--i3c-line);
    border-radius:17px;
    background:#fff;
    box-shadow:0 8px 26px rgba(38,20,83,.035);
}

.i3c-thumb {
    display:block;
    width:132px;
    height:132px;
    overflow:hidden;
    border-radius:13px;
    background:#f5f3f8;
}

.i3c-thumb img {
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}

.i3c-product-info {
    display:grid;
    align-content:space-between;
    gap:14px;
    min-width:0;
}

.i3c-product-top {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
}

.i3c-3d-badge {
    display:inline-flex;
    margin-bottom:5px;
    padding:4px 7px;
    border-radius:999px;
    color:var(--i3c-purple);
    background:#f2eaff;
    font-size:8px;
    font-weight:900;
}

.i3c-product h2 {
    margin:0;
    font-size:16px;
    line-height:1.2;
}

.i3c-product h2 a {
    color:var(--i3c-dark) !important;
    text-decoration:none !important;
}

.i3c-meta,
.i3c-meta dl {
    margin:6px 0 0 !important;
    color:var(--i3c-muted);
    font-size:10px;
}

.i3c-meta dt,
.i3c-meta dd {
    display:inline;
    float:none !important;
    margin:0 3px 0 0 !important;
}

.i3c-unit-price {
    flex:0 0 auto;
    color:var(--i3c-dark);
    font-size:14px;
    font-weight:900;
}

.i3c-product-bottom {
    display:flex;
    align-items:center;
    gap:14px;
}


.i3c-qty-control {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
}

.i3c-qty-label {
    color:#6f687a;
    font-size:9px;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.i3c-qty-stepper {
    display:grid;
    grid-template-columns:42px 52px 42px;
    align-items:stretch;
    overflow:hidden;
    min-height:42px;
    border:1px solid #dcd6e6;
    border-radius:12px;
    background:#fff;
    box-shadow:0 2px 8px rgba(38,25,70,.05);
}

.i3c-qty-btn {
    display:grid;
    width:42px;
    min-width:42px;
    height:42px;
    place-items:center;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:#faf8fd !important;
    color:#5f21d6 !important;
    font-size:20px !important;
    font-weight:800 !important;
    line-height:1 !important;
    cursor:pointer;
    transition:background .15s ease,color .15s ease,transform .08s ease;
}

.i3c-qty-btn:hover:not(:disabled) {
    background:#f0e9ff !important;
    color:#4a16b7 !important;
}

.i3c-qty-btn:active:not(:disabled) {
    transform:scale(.94);
}

.i3c-qty-btn:focus-visible {
    position:relative;
    z-index:2;
    outline:2px solid #7b20ff;
    outline-offset:-2px;
}

.i3c-qty-btn:disabled {
    color:#c8c1cf !important;
    background:#f7f5f9 !important;
    cursor:not-allowed;
}

.i3c-qty-minus {
    border-right:1px solid #ebe6f0 !important;
}

.i3c-qty-plus {
    border-left:1px solid #ebe6f0 !important;
}

.i3c-qty-stepper .i3c-qty-input {
    display:block !important;
    width:52px !important;
    min-width:52px !important;
    max-width:52px !important;
    height:42px !important;
    min-height:42px !important;
    margin:0 !important;
    padding:0 4px !important;
    border:0 !important;
    border-radius:0 !important;
    outline:0 !important;
    background:#fff !important;
    color:#241d33 !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:850 !important;
    line-height:42px !important;
    box-shadow:none !important;
    appearance:textfield;
    -moz-appearance:textfield;
}

.i3c-qty-stepper .i3c-qty-input::-webkit-inner-spin-button,
.i3c-qty-stepper .i3c-qty-input::-webkit-outer-spin-button {
    margin:0;
    -webkit-appearance:none;
}

.i3c-qty-fixed {
    display:grid;
    min-width:52px;
    min-height:42px;
    place-items:center;
    border:1px solid #dcd6e6;
    border-radius:12px;
    background:#fff;
    color:#241d33;
    font-size:14px;
    font-weight:850;
}

.i3c-qty-status {
    min-width:80px;
    color:#7d7588;
    font-size:8px;
    font-weight:700;
}

.i3c-qty-control.is-updating .i3c-qty-stepper {
    opacity:.65;
    pointer-events:none;
}

.i3c-qty-control.is-error .i3c-qty-stepper {
    border-color:#d92d20;
    box-shadow:0 0 0 2px rgba(217,45,32,.08);
}

@media (max-width: 640px) {
    .i3c-qty-control {
        width:100%;
        flex-wrap:wrap;
        gap:6px 8px;
    }

    .i3c-qty-label {
        width:100%;
    }

    .i3c-qty-stepper {
        grid-template-columns:44px 56px 44px;
        min-height:44px;
    }

    .i3c-qty-btn {
        width:44px;
        min-width:44px;
        height:44px;
        font-size:21px !important;
    }

    .i3c-qty-stepper .i3c-qty-input {
        width:56px !important;
        min-width:56px !important;
        max-width:56px !important;
        height:44px !important;
        min-height:44px !important;
        line-height:44px !important;
        font-size:15px !important;
    }

    .i3c-qty-status {
        flex:1 1 auto;
        min-width:0;
    }
}

.i3c-remove {
    display:inline-flex;
    align-items:center;
    gap:4px;
    color:#9b6670 !important;
    font-size:9px;
    font-weight:800;
    text-decoration:none !important;
}

.i3c-remove svg {
    width:13px;
    height:13px;
    fill:currentColor;
}

.i3c-line-total {
    margin-left:auto;
    color:var(--i3c-purple);
    font-size:15px;
}

.i3c-cart-actions {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-top:18px;
}

.i3c-coupon {
    display:grid;
    gap:5px;
}

.i3c-coupon label {
    color:var(--i3c-dark);
    font-size:9px;
    font-weight:800;
}

.i3c-coupon > div {
    display:flex;
    overflow:hidden;
    border:1px solid #ded9e6;
    border-radius:10px;
}

.i3c-coupon input {
    width:160px;
    min-height:38px;
    padding:7px 10px;
    border:0 !important;
    font-size:10px;
}

.i3c-coupon button,
.i3c-update {
    min-height:38px;
    padding:0 13px;
    border:0;
    border-radius:9px;
    cursor:pointer;
    font-size:9px;
    font-weight:850;
}

.i3c-coupon button {
    border-radius:0;
    color:#fff;
    background:var(--i3c-dark);
}

.i3c-update {
    border:1px solid #ddd7e7;
    color:var(--i3c-purple);
    background:#fff;
}

.i3c-benefits {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:24px;
}

.i3c-benefits > div {
    display:grid;
    grid-template-columns:32px minmax(0,1fr);
    align-items:center;
    gap:8px;
    padding:10px;
    border-radius:12px;
    background:var(--i3c-soft);
}

.i3c-benefits > div > span {
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border-radius:9px;
    color:var(--i3c-purple);
    background:#fff;
}

.i3c-benefits svg {
    width:17px;
    height:17px;
    fill:currentColor;
}

.i3c-benefits strong,
.i3c-benefits small {
    display:block;
}

.i3c-benefits strong {
    color:var(--i3c-dark);
    font-size:9px;
}

.i3c-benefits small {
    margin-top:2px;
    color:var(--i3c-muted);
    font-size:8px;
}

.i3c-summary-card {
    position:sticky;
    top:100px;
    padding:22px;
    border:1px solid var(--i3c-line);
    border-radius:19px;
    background:
        radial-gradient(circle at 100% 0,rgba(123,32,255,.06),transparent 35%),
        #fff;
    box-shadow:0 14px 38px rgba(38,20,83,.06);
}

.i3c-summary-title {
    margin-bottom:18px;
}

.i3c-summary-title h2 {
    margin:0;
    color:var(--i3c-dark);
    font-size:20px;
    letter-spacing:-.03em;
}

.i3c-summary-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 0;
    border-bottom:1px solid #eeeaf3;
    color:var(--i3c-muted);
    font-size:10px;
}

.i3c-summary-row strong {
    color:var(--i3c-dark);
}

.i3c-discount strong {
    color:#188949;
}

.i3c-shipping-note {
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:start;
    gap:8px;
    margin:12px 0;
    padding:10px;
    border-radius:10px;
    background:#f8f5ff;
}

.i3c-shipping-note span {
    display:grid;
    width:26px;
    height:26px;
    place-items:center;
    color:var(--i3c-purple);
}

.i3c-shipping-note svg {
    width:17px;
    height:17px;
    fill:currentColor;
}

.i3c-shipping-note p {
    margin:1px 0 0 !important;
    color:var(--i3c-muted);
    font-size:8.5px;
    line-height:1.45;
}

.i3c-total {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    padding:18px 0 14px;
}

.i3c-total span {
    color:var(--i3c-dark);
    font-size:12px;
    font-weight:850;
}

.i3c-total strong {
    color:var(--i3c-purple);
    font-size:22px;
}

.i3c-checkout {
    display:flex;
    min-height:50px;
    align-items:center;
    justify-content:center;
    gap:9px;
    border-radius:11px;
    color:#fff !important;
    background:linear-gradient(135deg,var(--i3c-violet),#5434e8);
    box-shadow:0 10px 24px rgba(109,40,217,.20);
    font-size:11px;
    font-weight:900;
    text-decoration:none !important;
}

.i3c-checkout svg {
    width:17px;
    height:17px;
    fill:currentColor;
}

.i3c-continue {
    display:block;
    margin:12px auto 0;
    color:var(--i3c-muted) !important;
    font-size:9px;
    font-weight:800;
    text-align:center;
    text-decoration:none !important;
}

.i3c-payment {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:18px;
    padding-top:14px;
    border-top:1px solid #eeeaf3;
}

.i3c-payment > span {
    color:var(--i3c-muted);
    font-size:8px;
}

.i3c-payment > div {
    display:flex;
    gap:4px;
}

.i3c-payment b {
    padding:4px 6px;
    border:1px solid #e6e2eb;
    border-radius:5px;
    color:#5b5767;
    font-size:7px;
}

.i3c-empty {
    display:grid;
    max-width:620px;
    place-items:center;
    margin:30px auto;
    padding:55px 25px;
    border:1px solid var(--i3c-line);
    border-radius:22px;
    background:#fff;
    text-align:center;
}

.i3c-empty-icon {
    display:grid;
    width:58px;
    height:58px;
    place-items:center;
    margin-bottom:15px;
    border-radius:18px;
    color:var(--i3c-purple);
    background:#f2eaff;
}

.i3c-empty-icon svg {
    width:30px;
    height:30px;
    fill:currentColor;
}

.i3c-empty h2 {
    margin:0;
    color:var(--i3c-dark);
    font-size:25px;
}

.i3c-empty p {
    max-width:420px;
    margin:9px 0 18px;
    color:var(--i3c-muted);
    font-size:11px;
}

.i3c-empty > a {
    padding:11px 18px;
    border-radius:10px;
    color:#fff !important;
    background:linear-gradient(135deg,var(--i3c-violet),#5434e8);
    font-size:10px;
    font-weight:900;
    text-decoration:none !important;
}

@media (max-width:950px) {
    .i3c-layout {
        grid-template-columns:1fr;
    }

    .i3c-summary-card {
        position:static;
    }
}

@media (max-width:650px) {
    .i3c-shell {
        width:calc(100% - 20px);
        padding:22px 0 34px;
    }

    .i3c-heading {
        align-items:flex-start;
        flex-direction:column;
    }

    .i3c-step {
        width:100%;
        justify-content:center;
    }

    .i3c-step b {
        display:none;
    }

    .i3c-product {
        grid-template-columns:92px minmax(0,1fr);
        gap:11px;
        padding:10px;
    }

    .i3c-thumb {
        width:92px;
        height:92px;
    }

    .i3c-product h2 {
        font-size:13px;
    }

    .i3c-product-top {
        gap:8px;
    }

    .i3c-unit-price {
        font-size:11px;
    }

    .i3c-product-bottom {
        flex-wrap:wrap;
        gap:9px;
    }

    .i3c-line-total {
        width:100%;
        margin-left:0;
        text-align:right;
    }

    .i3c-cart-actions {
        align-items:stretch;
        flex-direction:column;
    }

    .i3c-coupon > div {
        width:100%;
    }

    .i3c-coupon input {
        flex:1;
        width:auto;
    }

    .i3c-benefits {
        grid-template-columns:1fr;
    }

    .i3c-summary-card {
        padding:17px;
        border-radius:15px;
    }
}


/* v1.1 stability */
.i3c-notices {
    margin-bottom: 16px;
}

.i3c-notices:empty {
    display: none;
}

.i3c-notices .woocommerce-message,
.i3c-notices .woocommerce-info,
.i3c-notices .woocommerce-error {
    margin: 0 0 10px !important;
    padding: 12px 14px 12px 42px !important;
    border: 1px solid #e6dffa !important;
    border-radius: 12px !important;
    color: #3c3452 !important;
    background: #faf7ff !important;
    font-size: 10px !important;
    line-height: 1.45 !important;
}

.i3c-notices .woocommerce-message::before,
.i3c-notices .woocommerce-info::before,
.i3c-notices .woocommerce-error::before {
    top: 12px !important;
    left: 14px !important;
    color: var(--i3c-purple) !important;
}

.i3c-update-wrap {
    display: flex;
    align-items: center;
    gap: 9px;
}

.i3c-update-status {
    color: var(--i3c-muted);
    font-size: 8.5px;
    white-space: nowrap;
}

.i3c-update:disabled {
    opacity: .65;
    cursor: wait;
}

@media (max-width:650px) {
    .i3c-update-wrap {
        justify-content: space-between;
    }
}


/* =========================================================
   v1.2 SHIPPING + PAYMENTS
   ========================================================= */

.i3c-free-shipping {
    display: grid;
    gap: 9px;
    margin: -4px 0 22px;
    padding: 14px 16px;
    border: 1px solid #e6ddfa;
    border-radius: 14px;
    background: linear-gradient(90deg,#fbf8ff,#f7f2ff);
}

.i3c-free-shipping-copy {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
}

.i3c-free-shipping-copy strong {
    color: var(--i3c-dark);
    font-size: 10px;
}

.i3c-free-shipping-copy span {
    color: var(--i3c-muted);
    font-size: 8.5px;
    text-align: right;
}

.i3c-free-shipping-bar {
    position: relative;
    height: 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8e1f4;
}

.i3c-free-shipping-bar > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,var(--i3c-violet),#5434e8);
}

.i3c-summary-section {
    margin: 13px 0;
    padding: 12px 0;
    border-top: 1px solid #eeeaf3;
    border-bottom: 1px solid #eeeaf3;
}

.i3c-summary-section + .i3c-summary-section {
    border-top: 0;
    margin-top: -13px;
}

.i3c-summary-section-title {
    display: grid;
    grid-template-columns: 28px minmax(0,1fr);
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.i3c-summary-icon {
    display: grid;
    width: 27px;
    height: 27px;
    place-items: center;
    border-radius: 8px;
    color: var(--i3c-purple);
    background: #f2eaff;
}

.i3c-summary-icon svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.i3c-summary-section-title > div {
    display: grid;
    gap: 1px;
}

.i3c-summary-section-title strong {
    color: var(--i3c-dark);
    font-size: 9.5px;
}

.i3c-summary-section-title small {
    color: var(--i3c-muted);
    font-size: 7.5px;
}

.i3c-shipping-rates {
    display: grid;
    gap: 7px;
}

.i3c-shipping-rate {
    display: grid;
    grid-template-columns: 12px minmax(0,1fr) auto;
    align-items: center;
    gap: 8px;
    padding: 8px 9px;
    border: 1px solid #ebe6f1;
    border-radius: 10px;
    background: #fff;
}

.i3c-shipping-rate.is-selected {
    border-color: #d4c1fa;
    background: #faf7ff;
}

.i3c-shipping-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c5bfce;
}

.i3c-shipping-rate.is-selected .i3c-shipping-dot {
    background: var(--i3c-violet);
    box-shadow: 0 0 0 3px #eee6ff;
}

.i3c-shipping-rate > div {
    display: grid;
    gap: 1px;
}

.i3c-shipping-rate strong {
    color: var(--i3c-dark);
    font-size: 8.5px;
}

.i3c-shipping-rate small {
    color: var(--i3c-muted);
    font-size: 7px;
}

.i3c-shipping-rate b {
    color: var(--i3c-purple);
    font-size: 8.5px;
}

.i3c-gateways {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.i3c-gateway {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 4px 7px;
    border: 1px solid #e5e0e9;
    border-radius: 6px;
    color: #504c5a;
    background: #fff;
    font-size: 7.5px;
    font-weight: 850;
}

.i3c-gateway-paypal {
    color: #173c88;
}

.i3c-gateway-sumup {
    color: #111;
}

.i3c-gateway-empty {
    margin: 0 !important;
    color: var(--i3c-muted);
    font-size: 8px;
    line-height: 1.4;
}

@media (max-width:650px) {
    .i3c-free-shipping-copy {
        display: grid;
        gap: 3px;
    }

    .i3c-free-shipping-copy span {
        text-align: left;
    }
}


/* v1.3 shipping selector */
button.i3c-shipping-rate {
    width: 100%;
    appearance: none;
    cursor: pointer;
    font: inherit;
    text-align: left;
}

button.i3c-shipping-rate:hover {
    border-color: #d4c1fa;
    background: #faf7ff;
}

button.i3c-shipping-rate:disabled {
    opacity: .65;
    cursor: wait;
}


/* v1.4 shipping address */
.i3c-shipping-calculator {
    margin: 0 0 10px;
}

.i3c-shipping-calculator .shipping-calculator-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--i3c-purple) !important;
    font-size: 8px;
    font-weight: 850;
    text-decoration: none !important;
}

.i3c-shipping-calculator .shipping-calculator-form {
    display: grid;
    gap: 7px;
    margin-top: 9px !important;
    padding: 10px;
    border: 1px solid #ebe5f2;
    border-radius: 10px;
    background: #faf8fd;
}

.i3c-shipping-calculator .form-row {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.i3c-shipping-calculator input,
.i3c-shipping-calculator select {
    width: 100% !important;
    min-height: 36px;
    padding: 6px 9px !important;
    border: 1px solid #ddd7e5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: 9px !important;
}

.i3c-shipping-calculator button[name="calc_shipping"] {
    width: 100%;
    min-height: 36px;
    border: 0 !important;
    border-radius: 8px !important;
    color: #fff !important;
    background: linear-gradient(135deg,var(--i3c-violet),#5434e8) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
}


/* IDEA3D25 v1.9 - Nascondi visualizzazione IVA/imposte, senza alterare i calcoli */
.cart_totals .tax-total,
.cart_totals tr.tax-rate,
.cart_totals .includes_tax,
.wc-block-components-totals-taxes,
.wc-block-components-totals-item__description .wc-block-components-product-price__value.is-discounted,
.wc-block-components-totals-footer-item-tax,
.woocommerce-cart .includes_tax {
    display:none !important;
}

/* v1.11 - Shipping v2 è l'unico selettore di consegna */
.i3c-summary .i3c-shipping,
.i3c-summary .shipping-calculator-form,
.i3c-summary .woocommerce-shipping-methods {
    display:none !important;
}

/* v1.12.3 - barra spedizione gratuita dinamica */
.i3c-free-shipping.is-reached .i3c-free-shipping-bar > span{
    width:100%;
}
