/* Side Cart Panel - scoped to avoid conflict with existing #cart-panel .cart-panel */

/* Cart Page */
.cart-page{max-width:1140px;margin:0 auto;padding:40px 20px}
.cart-page-title{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:400;text-align:center;margin-bottom:40px;text-transform:uppercase;letter-spacing:2px}
.cart-page-layout{display:grid;grid-template-columns:1fr 380px;gap:40px;align-items:start}
.cart-table{width:100%}
.cart-table th{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1px;padding:12px 15px;border-bottom:1px solid #e0e0e0;text-align:left}
.cart-table td{font-family:'Montserrat',sans-serif;font-size:13px;padding:20px 15px;border-bottom:1px solid #f0f0f0;vertical-align:middle}
.cart-table .product-thumbnail{width:80px}
.cart-table .product-thumbnail img{width:70px;height:70px;object-fit:cover}
.cart-table .product-name a{color:#000;text-decoration:none;font-weight:500}
.cart-table .product-name a:hover{text-decoration:underline}
.cart-table .product-quantity{width:120px}
.cart-table .qty-wrap{display:flex;align-items:center;border:1px solid #ddd;width:fit-content}
.cart-table .qty-btn{width:32px;height:32px;border:none;background:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:#666}
.cart-table .qty-btn:hover{background:#f5f5f5;color:#000}
.cart-table .qty-input{width:40px;height:32px;border:none;border-left:1px solid #ddd;border-right:1px solid #ddd;text-align:center;font-size:13px;font-family:'Montserrat',sans-serif}
.cart-table .product-remove{width:30px;text-align:center}
.cart-table .remove-btn{background:none;border:none;font-size:20px;color:#999;cursor:pointer}
.cart-table .remove-btn:hover{color:#000}
.cart-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:15px;flex-wrap:wrap}
.cart-coupon{display:flex;gap:10px}
.cart-coupon input{font-family:'Montserrat',sans-serif;font-size:12px;padding:10px 15px;border:1px solid #ddd;width:200px}
.cart-coupon button{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:10px 20px;border:none;background:#fff;color:#000;cursor:pointer}
.cart-coupon button:hover{text-decoration:underline}
.cart-update-btn{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding:10px 20px;border:none;background:#fff;color:#000;cursor:pointer}
.cart-update-btn:hover{text-decoration:underline}

/* Cart Summary */
.cart-summary{border:1px solid #e0e0e0;padding:30px}
.cart-summary h2{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;margin:0 0 25px;text-transform:uppercase;letter-spacing:1px}
.cart-summary-row{display:flex;justify-content:space-between;font-family:'Montserrat',sans-serif;font-size:13px;padding:12px 0;border-bottom:1px solid #f0f0f0}
.cart-summary-row.total{font-weight:600;font-size:14px;border-bottom:none;margin-top:5px}
.cart-summary-shipping{font-size:12px;color:#666}
.cart-summary-shipping label{display:flex;align-items:center;gap:8px;cursor:pointer}
.cart-summary-shipping input[type="checkbox"]{accent-color:#000}
.cart-summary-dest{font-size:12px;margin-top:10px}
.cart-summary-dest a{color:#000;font-weight:500}
.cart-checkout-btn{display:block;width:100%;text-align:center;padding:15px;margin-top:25px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:#000 !important;color:#fff !important;border:1px solid #000;cursor:pointer;text-decoration:none !important;transition:all .2s}
.cart-checkout-btn:hover{background:#fff !important;color:#000 !important}

/* Cart Extras */
.cart-extras{margin-top:25px;border-top:1px solid #f0f0f0;padding-top:20px}
.cart-extra-item{display:flex;align-items:center;gap:10px;padding:10px 0;font-family:'Montserrat',sans-serif;font-size:13px;border-bottom:1px solid #f5f5f5}
.cart-extra-item input[type="checkbox"]{accent-color:#000}
.cart-extra-item a{color:#1a6e3c;text-decoration:none}

/* Checkout Page */
.checkout-page{max-width:1140px;margin:0 auto;padding:40px 20px}
.checkout-page-title{font-family:'Montserrat',sans-serif;font-size:24px;font-weight:400;text-align:center;margin-bottom:40px;text-transform:uppercase;letter-spacing:2px}
.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:50px;align-items:start}
.checkout-section-title{font-family:'Libre Baskerville',Georgia,serif;font-size:22px;color:#c4572a;margin:0 0 25px;font-weight:400}
.checkout-form .form-row{margin-bottom:18px}
.checkout-form .form-row label{display:block;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:500;margin-bottom:6px;color:#000;text-transform:uppercase}
.checkout-form .form-row label .required{color:#c4572a}
.checkout-form .form-row.form-row--two{display:flex;gap:18px}
.checkout-form .form-row-half{flex:1}
.checkout-form input[type="text"],.checkout-form input[type="email"],.checkout-form input[type="tel"],.checkout-form textarea,.checkout-form select{width:100%;font-family:'Montserrat',sans-serif;font-size:13px;padding:12px 15px;border:1px solid #ddd;border-radius:0;box-sizing:border-box;color:#000;background:#fff}
.checkout-form textarea{height:80px;resize:vertical}
.checkout-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center}
.checkout-form .form-row-checkbox{display:flex;align-items:flex-start;gap:8px}
.checkout-form .form-row-checkbox input{margin-top:3px;accent-color:#000}
.checkout-form .form-row-checkbox label{font-size:12px;text-transform:none;font-weight:400;line-height:1.5}
.checkout-radio{display:flex;gap:15px;margin-bottom:20px}
.checkout-radio label{display:flex;align-items:center;gap:6px;font-family:'Montserrat',sans-serif;font-size:13px;cursor:pointer}
.checkout-radio input{accent-color:#000}

/* Order Summary */
.order-summary{border:1px solid #e0e0e0;padding:30px;position:sticky;top:120px}
.order-summary h2{font-family:'Libre Baskerville',Georgia,serif;font-size:22px;color:#c4572a;margin:0 0 20px;font-weight:400}
.order-summary-header{display:flex;justify-content:space-between;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;padding-bottom:10px;border-bottom:1px solid #e0e0e0;color:#c4572a}
.order-item{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #f0f0f0;font-family:'Montserrat',sans-serif;font-size:13px}
.order-item-img{width:50px;height:50px;flex-shrink:0}
.order-item-img img{width:100%;height:100%;object-fit:cover}
.order-item-name{flex:1;font-size:12px;line-height:1.4}
.order-item-qty{font-size:12px;color:#666;margin-left:4px}
.order-item-price{font-weight:500;white-space:nowrap;min-width:70px;text-align:right}
.order-totals{margin-top:15px}
.order-totals-row{display:flex;justify-content:space-between;font-family:'Montserrat',sans-serif;font-size:13px;padding:8px 0}
.order-totals-row.subtotal{color:#c4572a;font-weight:500}
.order-totals-row.shipping{font-size:12px}
.order-totals-row.total{font-weight:600;font-size:15px;border-top:1px solid #e0e0e0;padding-top:15px;margin-top:5px;color:#c4572a}
.order-coupon{margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}
.order-coupon p{font-family:'Montserrat',sans-serif;font-size:12px;color:#666;margin:0 0 8px}
.order-coupon-row{display:flex;gap:8px}
.order-coupon-row input{flex:1;font-family:'Montserrat',sans-serif;font-size:12px;padding:10px;border:1px solid #ddd}
.order-coupon-row button{font-family:'Montserrat',sans-serif;font-size:11px;font-weight:600;padding:10px 15px;background:#000;color:#fff;border:none;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}

/* Payment */
.payment-section{margin-top:30px}
.payment-section h3{font-family:'Libre Baskerville',Georgia,serif;font-size:20px;color:#000;margin:0 0 20px;font-weight:400}
.payment-method{border:1px solid #ddd;margin-bottom:10px;padding:15px}
.payment-method label{display:flex;align-items:center;gap:10px;font-family:'Montserrat',sans-serif;font-size:13px;cursor:pointer}
.payment-method input[type="radio"]{accent-color:#000}
.payment-method .card-icons{display:flex;gap:5px;margin-left:auto}
.payment-method .card-icons img{height:24px}
.payment-card-fields{margin-top:15px;padding:15px;background:#f9f9f9;border:1px solid #eee}
.payment-card-row{margin-bottom:12px}
.payment-card-row label{display:block;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:500;margin-bottom:5px}
.payment-card-row input{width:100%;font-family:'Montserrat',sans-serif;font-size:13px;padding:10px;border:1px solid #ddd;box-sizing:border-box}
.payment-card-half{display:flex;gap:15px}
.payment-card-half > div{flex:1}
.checkout-terms{margin-top:20px;font-family:'Montserrat',sans-serif;font-size:12px}
.checkout-terms label{display:flex;align-items:flex-start;gap:8px}
.checkout-terms a{color:#000;font-weight:500}
.place-order-btn{display:block;width:100%;text-align:center;padding:16px;margin-top:20px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:#000;color:#fff;border:1px solid #000;cursor:pointer;transition:all .2s}
.place-order-btn:hover{background:#fff;color:#000}
.secure-payment{text-align:center;margin-top:10px;font-family:'Montserrat',sans-serif;font-size:11px;color:#666}
.secure-payment i{margin-right:4px}

/* Contact section in order summary */
.checkout-contact{margin-top:20px;border-top:1px solid #e0e0e0;padding-top:20px}
.checkout-contact h3{font-family:'Libre Baskerville',Georgia,serif;font-size:18px;color:#c4572a;margin:0 0 15px;font-weight:400}
.checkout-contact p{font-family:'Montserrat',sans-serif;font-size:12px;line-height:1.8;margin:0 0 5px}
.checkout-contact a{color:#1a6e3c;text-decoration:none}

/* "You may be interested" section */
.cart-recommendations{margin-top:60px}
.cart-recommendations h2{font-family:'Libre Baskerville',Georgia,serif;font-size:20px;font-weight:400;margin-bottom:30px}
.cart-rec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cart-rec-item{text-align:center}
.cart-rec-item img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:10px}
.cart-rec-item .rec-name{font-family:'Montserrat',sans-serif;font-size:12px;color:#000;text-decoration:none;display:block;margin-bottom:5px}
.cart-rec-item .rec-price{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:500}
.cart-back-shop{margin-top:30px}
.cart-back-shop a{font-family:'Montserrat',sans-serif;font-size:13px;color:#000;text-decoration:none}
.cart-back-shop a:hover{text-decoration:underline}

/* Footer guarantees bar */
.guarantees-bar{display:flex;justify-content:center;gap:60px;padding:40px 20px;margin-top:40px;border-top:1px solid #e0e0e0}
.guarantee-item{text-align:center;font-family:'Montserrat',sans-serif}
.guarantee-item strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px}
.guarantee-item p{font-size:11px;color:#666;margin:0;max-width:200px;line-height:1.5}

/* Responsive */
@media(max-width:991px){
  .cart-page-layout{grid-template-columns:1fr}
  .checkout-layout{grid-template-columns:1fr}
  .order-summary{position:static}
  .cart-rec-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
  .cart-panel{width:100%}
  .cart-table th{display:none}
  .cart-table,.cart-table tbody,.cart-table tr,.cart-table td{display:block;width:100%}
  .cart-table tr{padding:15px 0;border-bottom:1px solid #eee;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
  .cart-table .product-thumbnail{width:60px}
  .cart-table .product-name{flex:1}
  .cart-table .product-price{font-size:12px}
  .cart-table .product-quantity{width:auto}
  .cart-table .product-subtotal{margin-left:auto}
  .cart-table .product-remove{position:absolute;right:0;top:15px}
  .cart-coupon{flex-direction:column}
  .cart-coupon input{width:100%}
  .checkout-form .form-row-half{width:100%;display:block}
  .checkout-form .form-row-half + .form-row-half{margin-left:0}
  .guarantees-bar{flex-direction:column;gap:20px;align-items:center}
  .payment-card-half{flex-direction:column;gap:10px}
  .cart-rec-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .cart-page,.checkout-page{padding:20px 15px}
  .cart-summary,.order-summary{padding:20px}
  .cart-rec-grid{grid-template-columns:1fr 1fr}
}
