/* Carrito y proceso de compra */

/* Pedido de invitado en un solo paso */
.checkout-section{
    margin-top:34px;
    padding-top:32px;
    border-top:1px solid var(--line);
}

.checkout-heading{
    margin-bottom:24px;
}

.checkout-heading .eyebrow{
    margin:0 0 6px;
    color:var(--accent-dark);
}

.checkout-heading h2{
    margin:0;
    color:var(--navy);
    font-size:clamp(1.65rem,3vw,2.25rem);
}

.checkout-heading>p:last-child{
    max-width:680px;
    margin:9px 0 0;
    color:var(--muted);
}

.checkout-errors{
    margin-bottom:22px;
    padding:16px 18px;
    border:1px solid #e4aaa0;
    border-radius:9px;
    color:#7f2f21;
    background:#fff1ee;
    font-size:.82rem;
}

.checkout-errors ul{
    margin:8px 0 0;
    padding-left:20px;
}

.tpv-return-message{
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:17px;
    margin:0 0 28px;
    padding:22px 24px;
    border:1px solid #cfd9e5;
    border-radius:13px;
    background:#f7f9fc;
}

.tpv-return-message.is-error{
    border-color:#e4aaa0;
    background:#fff1ee;
}

.tpv-return-message.is-pending{
    border-color:#a9c9e8;
    background:#f0f7ff;
}

.tpv-return-message.is-success{
    border-color:#b9ddca;
    background:#f4fbf7;
}

.tpv-return-icon{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:50%;
    color:#fff;
    background:#476884;
    font-size:1.25rem;
    font-weight:950;
}

.tpv-return-message.is-error .tpv-return-icon{
    background:#b33b2e;
}

.tpv-return-message.is-success .tpv-return-icon{
    background:var(--success);
}

.tpv-return-message .eyebrow{
    margin:0 0 3px;
    color:#476884;
}

.tpv-return-message.is-error .eyebrow{
    color:#9b3025;
}

.tpv-return-message.is-success .eyebrow{
    color:var(--success);
}

.tpv-return-message h1,
.tpv-return-message h2{
    margin:0;
    color:var(--navy);
    font-size:1.35rem;
}

@media(max-width:620px){
    .confirmation-content{
        padding:16px;
    }

    .confirmation-content .tpv-return-message{
        grid-template-columns:1fr;
        min-height:0;
        padding:25px 20px;
    }
}

.tpv-return-message p:not(.eyebrow){
    max-width:720px;
    margin:7px 0 15px;
    color:#475467;
    font-size:.82rem;
}

.confirmation-layout{
    min-height:560px;
}

.confirmation-content{
    padding:34px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--shadow);
}

.confirmation-content .tpv-return-message{
    min-height:260px;
    align-content:center;
    margin:0;
    padding:38px;
}

.confirmation-content>.order-summary{
    margin:18px auto 0;
}

.confirmation-print-actions{
    margin-top:18px;
}

.checkout-form{
    display:grid;
    gap:18px;
}

.checkout-fieldset{
    margin:0;
    padding:20px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
}

.checkout-fieldset legend{
    padding:0 8px;
    color:var(--navy);
    font-size:1rem;
    font-weight:850;
}

.checkout-fields{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.checkout-field-wide{
    grid-column:1/-1;
}

.checkout-fieldset label:not(.payment-option){
    display:grid;
    gap:7px;
    color:#475467;
    font-size:.76rem;
    font-weight:750;
}

.checkout-fieldset input[type="text"],
.checkout-fieldset input[type="email"],
.checkout-fieldset input[type="tel"],
.checkout-fieldset textarea{
    width:100%;
    border:1px solid #cbd3dc;
    border-radius:7px;
    color:var(--navy);
    background:#fff;
    font:inherit;
    font-size:.9rem;
    font-weight:500;
}

.checkout-fieldset input[type="text"],
.checkout-fieldset input[type="email"],
.checkout-fieldset input[type="tel"]{
    min-height:45px;
    padding:0 12px;
}

.checkout-fieldset textarea{
    min-height:115px;
    padding:12px;
    resize:vertical;
}

.checkout-fieldset input:focus,
.checkout-fieldset textarea:focus{
    outline:3px solid rgba(217,163,43,.2);
    border-color:var(--accent);
}

.checkout-fieldset input[readonly]{
    color:var(--muted);
    background:#f5f7f9;
}

.payment-options{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.payment-option{
    position:relative;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    gap:12px;
    min-height:106px;
    padding:15px;
    border:1px solid #cfd6de;
    border-radius:11px;
    color:var(--navy);
    background:#fff;
    cursor:pointer;
    transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.payment-option:hover:not(.is-disabled){
    border-color:#c49a2f;
    box-shadow:0 7px 20px rgba(16,42,67,.08);
    transform:translateY(-1px);
}

.payment-option:has(input:checked){
    border-color:var(--accent);
    background:#fffaf0;
    box-shadow:0 0 0 2px rgba(217,163,43,.18);
}

.payment-option input{
    position:absolute;
    top:12px;
    right:12px;
    margin:0;
    accent-color:var(--accent-dark);
}

.payment-option-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:10px;
    color:#fff;
    background:var(--navy);
    font-size:1.15rem;
    font-weight:900;
}

.payment-option-icon svg{
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.payment-option-paypal{
    color:#fff;
    background:#0866b3;
    font-family:Arial,sans-serif;
    font-style:italic;
}

.payment-option-card{
    color:var(--navy);
    background:#e9eef3;
}

.payment-option-transfer{
    color:#17664f;
    background:#e6f3ee;
}

.payment-option-copy{
    display:grid;
    gap:4px;
    padding-right:7px;
}

.payment-option-copy strong{
    font-size:.88rem;
}

.payment-option-copy small{
    color:var(--muted);
    font-size:.7rem;
    line-height:1.42;
}

.payment-option.is-disabled{
    cursor:not-allowed;
    opacity:.67;
    background:#f7f8fa;
}

.payment-option.is-disabled input{
    display:none;
}

.payment-option-badge{
    position:absolute;
    top:9px;
    right:10px;
    padding:3px 7px;
    border-radius:30px;
    color:#647383;
    background:#e8edf1;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.checkout-totals{
    padding:20px;
    border:1px solid #ead9a8;
    border-radius:11px;
    background:#fffaf0;
}

.checkout-totals>div{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:7px 0;
    color:#475467;
    font-size:.86rem;
}

.checkout-totals .checkout-total-row{
    margin-top:7px;
    padding-top:15px;
    border-top:1px solid #ead9a8;
    color:var(--navy);
    font-size:1rem;
}

.checkout-total-row strong{
    font-size:1.35rem;
}

.checkout-totals>p{
    margin:10px 0 0;
    color:var(--muted);
    font-size:.72rem;
}

.checkout-terms{
    display:flex;
    align-items:flex-start;
    gap:10px;
    color:#475467;
    font-size:.8rem;
    cursor:pointer;
}

.checkout-terms input{
    margin-top:2px;
    accent-color:var(--accent);
}

.checkout-submit{
    min-height:52px;
    border:0;
    border-radius:8px;
    color:var(--accent-ink);
    background:var(--accent);
    box-shadow:0 8px 20px rgba(217,163,43,.24);
    font:inherit;
    font-size:1rem;
    font-weight:900;
    cursor:pointer;
}

.checkout-submit:hover{
    color:#fff;
    background:var(--accent-dark);
}

.checkout-submit-note{
    margin:-8px 0 0;
    color:var(--muted);
    font-size:.7rem;
    text-align:center;
}

.order-confirmation{
    display:grid;
    justify-items:center;
    min-height:430px;
    align-content:start;
    padding:45px;
    border:1px solid #b9ddca;
    border-radius:13px;
    background:#f4fbf7;
    text-align:center;
}

.order-confirmation-mark{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    margin-bottom:16px;
    border-radius:50%;
    color:#fff;
    background:var(--success);
    font-size:1.8rem;
    font-weight:900;
}

.order-confirmation .eyebrow{
    margin:0 0 6px;
    color:var(--success);
}

.order-confirmation h1,
.order-confirmation h2{
    margin:0 0 13px;
    color:var(--navy);
    font-size:2rem;
}

.order-confirmation p{
    max-width:620px;
    margin:5px 0;
    color:#475467;
}

.order-duplicate-warning{
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:12px;
    width:min(100%,760px);
    margin-top:20px;
    padding:15px 17px;
    border:1px solid #e6c265;
    border-radius:11px;
    color:#654b0c;
    background:#fff8df;
    text-align:left;
}

.order-duplicate-warning>span{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:50%;
    color:#fff;
    background:#b58208;
    font-size:1rem;
    font-weight:950;
}

.order-duplicate-warning strong{
    display:block;
    color:#553e07;
    font-size:.84rem;
}

.order-duplicate-warning p{
    max-width:none;
    margin:4px 0 7px;
    color:#71591c;
    font-size:.75rem;
    line-height:1.5;
}

.order-confirmation-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin-top:22px;
}

.order-print-button{
    gap:9px;
    border:0;
    font:inherit;
    cursor:pointer;
}

.order-print-button span{
    font-size:1.15rem;
    line-height:1;
}

.order-back-link{
    color:var(--accent-dark);
    font-size:.8rem;
    font-weight:850;
}

.order-back-link:hover{
    text-decoration:underline;
}

.card-payment-redirect{
    display:flex;
    align-items:flex-start;
    gap:14px;
    width:min(100%,620px);
    margin-top:22px;
    padding:20px;
    border:1px solid #cfd9e5;
    border-radius:13px;
    background:#fff;
    text-align:left;
}

.card-payment-redirect h3{
    margin:0 0 5px;
    color:var(--navy);
    font-size:1.1rem;
}

.card-payment-redirect p{
    margin:0 0 14px;
    font-size:.8rem;
}

.card-payment-redirect .checkout-submit{
    width:auto;
    margin:0;
    padding:11px 18px;
}

.bank-transfer-details{
    width:min(100%,760px);
    margin-top:24px;
    padding:24px;
    border:1px solid #b9d5c6;
    border-radius:13px;
    background:#fff;
    text-align:left;
}

.bank-transfer-details>header{
    display:flex;
    align-items:center;
    gap:13px;
}

.bank-transfer-icon{
    display:grid;
    flex:0 0 44px;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:11px;
    color:#fff;
    background:var(--success);
    font-size:1.2rem;
    font-weight:900;
}

.bank-transfer-details .eyebrow{
    margin:0 0 3px;
    color:var(--success);
    font-size:.66rem;
}

.bank-transfer-details h2,
.bank-transfer-details h3{
    margin:0;
    color:var(--navy);
    font-size:1.25rem;
}

.bank-transfer-intro{
    margin:15px 0!important;
    font-size:.82rem;
}

.bank-transfer-data{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1px;
    overflow:hidden;
    margin:0;
    border:1px solid #e2e7eb;
    border-radius:9px;
    background:#e2e7eb;
}

.bank-transfer-data>div{
    min-width:0;
    padding:12px 14px;
    background:#f8fafb;
}

.bank-transfer-data .bank-transfer-wide{
    grid-column:1/-1;
}

.bank-transfer-data dt{
    margin-bottom:4px;
    color:var(--muted);
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
}

.bank-transfer-data dd{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-width:0;
    margin:0;
    color:var(--navy);
    font-size:.82rem;
    font-weight:750;
}

.bank-transfer-data code{
    overflow-wrap:anywhere;
    color:var(--navy);
    font:inherit;
}

.bank-transfer-amount dd strong{
    color:var(--success);
    font-size:1.08rem;
}

.copy-payment-data{
    flex:0 0 auto;
    padding:6px 9px;
    border:1px solid #cbd5dd;
    border-radius:6px;
    color:var(--navy);
    background:#fff;
    font:inherit;
    font-size:.65rem;
    font-weight:850;
    cursor:pointer;
}

.copy-payment-data:hover{
    border-color:var(--accent);
    background:#fffaf0;
}

.bank-transfer-concept{
    display:grid;
    grid-template-columns:1fr auto auto;
    align-items:center;
    gap:12px;
    margin-top:14px;
    padding:14px;
    border-radius:9px;
    color:#694f0e;
    background:#fff5d7;
}

.bank-transfer-concept span{
    font-size:.76rem;
    font-weight:800;
}

.bank-transfer-concept strong{
    color:var(--navy);
    font-size:1.05rem;
    letter-spacing:.035em;
}

.bank-transfer-note{
    margin:14px 0 0!important;
    color:#5b6876!important;
    font-size:.72rem;
    line-height:1.55;
}

.copy-payment-status{
    width:1px;
    height:1px;
    overflow:hidden;
    margin:0!important;
    clip-path:inset(50%);
}

.order-summary{
    width:min(100%,760px);
    margin-top:18px;
    overflow:hidden;
    border:1px solid #d8e0e6;
    border-radius:13px;
    background:#fff;
    text-align:left;
}

.order-summary>header{
    padding:20px 22px 16px;
    border-bottom:1px solid #e4e9ed;
}

.order-summary .eyebrow{
    margin:0 0 4px;
    color:var(--accent-dark);
    font-size:.65rem;
}

.order-summary h2,
.order-summary h3{
    margin:0;
    color:var(--navy);
    font-size:1.2rem;
}

.order-summary-table-wrap{
    overflow-x:auto;
}

.order-summary table{
    width:100%;
    border-collapse:collapse;
}

.order-summary th{
    padding:10px 14px;
    color:var(--muted);
    background:#f7f9fa;
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.04em;
    text-align:right;
    text-transform:uppercase;
}

.order-summary th:first-child{
    text-align:left;
}

.order-summary td{
    padding:13px 14px;
    border-top:1px solid #edf0f2;
    color:#475467;
    font-size:.77rem;
    text-align:right;
    vertical-align:middle;
}

.order-summary td:first-child{
    display:grid;
    gap:3px;
    text-align:left;
}

.order-summary td:first-child small{
    color:var(--muted);
    font-size:.61rem;
    font-weight:850;
    text-transform:uppercase;
}

.order-summary td:first-child strong,
.order-summary td:last-child strong{
    color:var(--navy);
}

.order-summary-totals{
    margin:0;
    padding:13px 22px 18px;
    border-top:1px solid #e4e9ed;
    background:#fbfcfd;
}

.order-summary-totals>div{
    display:flex;
    justify-content:flex-end;
    gap:35px;
    padding:4px 0;
    color:#5b6876;
    font-size:.76rem;
}

.order-summary-totals dt{
    min-width:100px;
    text-align:right;
}

.order-summary-totals dd{
    min-width:90px;
    margin:0;
    color:var(--navy);
    font-weight:800;
    text-align:right;
}

.order-summary-totals>div:last-child{
    margin-top:5px;
    padding-top:10px;
    border-top:1px solid #dfe5e9;
    font-size:.92rem;
    font-weight:900;
}

.order-summary-totals>div:last-child dd{
    color:var(--success);
    font-size:1.08rem;
}

@media(max-width:620px){
    .checkout-fields{
        grid-template-columns:1fr;
    }

    .checkout-field-wide{
        grid-column:auto;
    }

    .checkout-fieldset{
        padding:16px;
    }

    .order-confirmation{
        padding:32px 18px;
    }

    .payment-options{
        grid-template-columns:1fr;
    }

    .payment-option{
        min-height:88px;
    }

    .bank-transfer-details{
        padding:18px 15px;
    }

    .order-duplicate-warning{
        grid-template-columns:30px minmax(0,1fr);
        padding:14px;
    }

    .order-duplicate-warning>span{
        width:28px;
        height:28px;
    }

    .bank-transfer-data{
        grid-template-columns:1fr;
    }

    .bank-transfer-data .bank-transfer-wide{
        grid-column:auto;
    }

    .bank-transfer-concept{
        grid-template-columns:1fr auto;
    }

    .bank-transfer-concept span{
        grid-column:1/-1;
    }

    .order-summary>header{
        padding:17px 15px 14px;
    }

    .order-summary thead{
        display:none;
    }

    .order-summary tr,
    .order-summary td{
        display:block;
    }

    .order-summary tr{
        padding:14px 15px;
        border-top:1px solid #edf0f2;
    }

    .order-summary td,
    .order-summary td:first-child{
        padding:3px 0;
        border:0;
        text-align:left;
    }

    .order-summary td[data-label]{
        display:flex;
        justify-content:space-between;
        gap:20px;
    }

    .order-summary td[data-label]::before{
        content:attr(data-label);
        color:var(--muted);
        font-size:.66rem;
        font-weight:800;
    }

    .order-summary-totals{
        padding:13px 15px 16px;
    }

    .order-summary-totals>div{
        justify-content:space-between;
    }

    .order-confirmation-actions{
        align-items:stretch;
        flex-direction:column;
        width:100%;
    }

    .order-back-link{
        padding:8px;
        text-align:center;
    }
}

@media print{
    @page{
        size:auto;
        margin:12mm;
    }

    body{
        color:#172b3f;
        background:#fff;
        print-color-adjust:exact;
        -webkit-print-color-adjust:exact;
    }

    .site-header,
    .category-sidebar,
    .site-footer,
    .cookie-banner,
    .order-confirmation-actions,
    .order-duplicate-warning,
    .copy-payment-data,
    .copy-payment-status{
        display:none!important;
    }

    .shell.shop-layout{
        display:block;
        width:100%;
        padding:0;
    }

    .cart-content{
        min-height:0;
        padding:0;
        overflow:visible;
        border-radius:0;
        background:#fff;
    }

    .order-confirmation{
        min-height:0;
        padding:0;
        border:0;
        background:#fff;
    }

    .bank-transfer-details,
    .order-summary{
        break-inside:avoid;
        box-shadow:none;
    }

    .bank-transfer-details{
        margin-top:18px;
    }

    .order-summary{
        margin-top:14px;
    }
}

/* Carrito */
.cart-content{
    min-height:620px;
    padding:28px 30px 64px;
    border-radius:14px;
    background:var(--paper);
}

.cart-page-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:28px;
    padding-bottom:22px;
    border-bottom:1px solid var(--line);
}

.cart-page-header .eyebrow{
    margin:0 0 7px;
    color:var(--accent-dark);
}

.cart-page-header h1{
    margin:0;
    color:var(--navy);
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.05;
    letter-spacing:-.045em;
}

.cart-page-header p:not(.eyebrow){
    margin:9px 0 0;
    color:var(--muted);
}

.cart-clear-button,
.cart-remove-button{
    border:0;
    color:#a33a22;
    background:transparent;
    font:inherit;
    font-size:.78rem;
    font-weight:800;
    cursor:pointer;
}

.cart-clear-button:hover,
.cart-remove-button:hover{
    color:var(--accent-dark);
    text-decoration:underline;
}

.cart-page-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) 285px;
    align-items:start;
    gap:24px;
}

.cart-items{
    display:grid;
    gap:12px;
}

.cart-item{
    display:grid;
    grid-template-columns:105px minmax(0,1fr) 88px 105px;
    align-items:center;
    gap:18px;
    padding:15px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}

.cart-item-image{
    aspect-ratio:1;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:8px;
    color:var(--muted);
    background:#f4f6f8;
    font-size:.68rem;
    text-align:center;
}

.cart-item-image img{
    width:100%;
    height:100%;
    padding:7px;
    object-fit:contain;
    mix-blend-mode:multiply;
}

.cart-item-sku{
    margin:0 0 5px;
    color:var(--muted);
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
}

.cart-item-main h2{
    margin:0;
    color:var(--navy);
    font-size:.92rem;
    line-height:1.38;
}

.cart-item-main h2 a:hover{
    color:var(--accent-dark);
}

.cart-unit-price{
    margin:7px 0 0;
    color:var(--muted);
    font-size:.75rem;
}

.cart-stock-warning{
    margin:7px 0 0;
    color:#a33a22;
    font-size:.74rem;
    font-weight:800;
}

.cart-quantity{
    display:grid;
    gap:6px;
    color:var(--muted);
    font-size:.7rem;
    font-weight:800;
}

.cart-quantity input{
    width:74px;
    height:42px;
    padding:0 8px;
    border:1px solid var(--line);
    border-radius:7px;
    color:var(--navy);
    background:#fff;
    font:inherit;
    font-size:.9rem;
    text-align:center;
}

.cart-item-actions{
    display:grid;
    justify-items:end;
    gap:8px;
}

.cart-item-actions strong{
    color:var(--navy);
    font-size:1rem;
}

.cart-summary{
    position:sticky;
    top:18px;
    padding:22px;
    border:1px solid #ead9a8;
    border-radius:12px;
    background:#fffaf0;
}

.cart-summary h2{
    margin:0 0 20px;
    color:var(--navy);
    font-size:1.25rem;
}

.cart-summary-row,
.cart-summary-total{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:15px;
    padding:12px 0;
    border-top:1px solid #ead9a8;
    color:#475467;
    font-size:.82rem;
}

.cart-summary-row small{
    max-width:140px;
    color:var(--muted);
    font-size:.7rem;
    text-align:right;
}

.cart-summary-total{
    align-items:center;
    color:var(--navy);
    font-weight:850;
}

.cart-summary-total strong{
    font-size:1.25rem;
}

.cart-checkout-button{
    width:100%;
    min-height:48px;
    margin-top:16px;
    border:0;
    border-radius:8px;
    color:#fff;
    background:var(--navy);
    font:inherit;
    font-weight:850;
}

.cart-checkout-button:disabled{
    cursor:not-allowed;
    opacity:.48;
}

.cart-checkout-note{
    margin:10px 0 0;
    color:var(--muted);
    font-size:.69rem;
    line-height:1.45;
}

.cart-continue-link{
    display:inline-block;
    margin-top:18px;
    color:var(--accent-dark);
    font-size:.78rem;
    font-weight:800;
}

.cart-empty{
    display:grid;
    justify-items:center;
    min-height:360px;
    place-content:center;
    padding:40px;
    border:1px dashed #b9c3ce;
    border-radius:12px;
    text-align:center;
}

.cart-empty strong{
    color:var(--navy);
    font-size:1.5rem;
}

.cart-empty p{
    margin:9px 0 22px;
    color:var(--muted);
}

.cart-notice{
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:1200;
    max-width:min(360px,calc(100vw - 32px));
    padding:14px 18px;
    border-radius:9px;
    color:#fff;
    background:var(--success);
    box-shadow:0 12px 35px rgba(8,25,39,.24);
    font-size:.84rem;
    font-weight:800;
    opacity:0;
    pointer-events:none;
    transform:translateY(18px);
    transition:opacity .18s ease,transform .18s ease;
}

.cart-notice.is-error{
    background:#a33a22;
}

.cart-notice.is-visible{
    opacity:1;
    transform:translateY(0);
}

@media(max-width:1100px){
    .cart-page-grid{
        grid-template-columns:1fr;
    }

    .cart-summary{
        position:static;
    }
}

@media(max-width:760px){
    .cart-content{
        padding:26px 18px 50px;
        border-radius:0;
    }

    .cart-page-header{
        align-items:flex-start;
        flex-direction:column;
    }

    .cart-item{
        grid-template-columns:82px minmax(0,1fr);
        gap:13px;
    }

    .cart-quantity{
        grid-column:2;
    }

    .cart-item-actions{
        grid-column:2;
        grid-template-columns:1fr auto;
        align-items:center;
        justify-items:start;
    }

    .cart-item-actions .cart-remove-button{
        justify-self:end;
    }

    .cart-notice{
        right:16px;
        bottom:16px;
    }
}

.checkout-terms a{
    color:var(--accent-dark);
    font-weight:800;
    text-decoration:underline;
}
