/* Royal Office Premium 3.0 — Cart and cart drawer */
body#cart #wrapper { padding-bottom:55px; }
body#cart #main { padding-top:8px; }
.ro-cart-heading { display:flex; align-items:center; gap:13px; margin:3px 0 20px; }
.ro-cart-heading__icon { width:46px; height:46px; display:grid; place-items:center; border-radius:13px; background:var(--ro-accent-soft); color:var(--ro-accent); font-size:18px; }
.ro-cart-heading h1 { margin:0; font-size:2rem; font-weight:850; }
.ro-cart-heading span { display:block; margin-top:3px; color:#8794a6; font-size:11px; }
body#cart .cart-grid { align-items:flex-start; }
body#cart .cart-container { overflow:hidden; margin:0 0 14px; }
body#cart .cart-container .card-block:first-child { display:none; }
body#cart .cart-container .separator { display:none; }
body#cart .cart-overview { padding:0; }
body#cart .cart-item { padding:17px 18px; border-bottom:1px solid #edf1f5; }
body#cart .cart-item:last-child { border-bottom:0; }
body#cart .product-line-grid-left img { border:1px solid #edf1f5; border-radius:10px; background:#fff; padding:5px; }
body#cart .product-line-info a.label { color:var(--ro-text); font-size:13px; font-weight:800; }
body#cart .product-line-info .product-discount { font-size:11px; }
body#cart .product-price { color:var(--ro-accent); font-size:15px; font-weight:850; }
body#cart .product-line-grid-body > .product-line-info { margin-bottom:5px; }
body#cart .bootstrap-touchspin { border-radius:9px; overflow:hidden; border:1px solid #dfe6ee; box-shadow:none; }
body#cart .bootstrap-touchspin input { border:0; min-height:38px; text-align:center; }
body#cart .bootstrap-touchspin .btn-touchspin { border:0; background:#f7f9fb; }
body#cart .remove-from-cart { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:#fff3f5; color:#dd4559; }
body#cart .remove-from-cart:hover { background:#dd4559; color:#fff; }
body#cart .cart-summary { position:sticky; top:14px; overflow:hidden; border-radius:14px; }
body#cart .cart-summary .card-block { padding:18px; }
body#cart .cart-summary-line { display:flex; align-items:center; justify-content:space-between; gap:15px; color:#617187; font-size:12px; }
body#cart .cart-summary-line .value { color:var(--ro-text); font-weight:750; }
body#cart .cart-summary-line.cart-total { padding-top:14px; margin-top:8px; border-top:1px solid var(--ro-line); font-size:14px; }
body#cart .cart-summary-line.cart-total .value { color:var(--ro-accent); font-size:20px; font-weight:900; }
body#cart .checkout .btn-primary { width:100%; min-height:50px; border-radius:10px; font-size:12px; }
body#cart .checkout .btn-primary::before { content:"\f023"; font-family:"Font Awesome 6 Pro"; margin-right:8px; }
body#cart .label[href] { display:inline-flex; align-items:center; gap:6px; margin:3px 0 16px; color:#6d7c90; font-size:11px; font-weight:700; }
.ro-cart-reassurance { margin-top:12px; display:grid; gap:8px; }
.ro-cart-reassurance__item { display:flex; align-items:center; gap:10px; padding:10px 12px; border:1px solid #edf1f5; border-radius:10px; background:#fbfcfe; color:#65758a; font-size:10.5px; }
.ro-cart-reassurance__item i { width:20px; color:var(--ro-accent); text-align:center; font-size:13px; }

/* Add-to-cart modal as premium right drawer */
#blockcart-modal.modal { padding-right:0 !important; }
#blockcart-modal .modal-dialog { position:fixed; top:0; right:0; bottom:0; width:min(460px,100%); max-width:460px; height:100%; margin:0; transform:translate3d(100%,0,0); transition:transform .28s cubic-bezier(.2,.7,.2,1); }
#blockcart-modal.show .modal-dialog,#blockcart-modal.in .modal-dialog { transform:translate3d(0,0,0); }
#blockcart-modal .modal-content { height:100%; border:0; border-radius:0; box-shadow:-18px 0 60px rgba(12,39,70,.16); display:flex; flex-direction:column; }
#blockcart-modal .modal-header { flex:0 0 auto; display:flex; align-items:center; gap:12px; min-height:70px; padding:18px 20px; border-bottom:1px solid var(--ro-line); background:#fff; }
#blockcart-modal .modal-title { display:flex; align-items:center; gap:9px; margin:0; color:var(--ro-text); font-size:14px; font-weight:850; text-align:left !important; }
#blockcart-modal .modal-title i { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:#ebf9f2; color:var(--ro-success); }
#blockcart-modal .close { order:2; margin-left:auto; width:34px; height:34px; display:grid; place-items:center; border-radius:9px; background:#f5f7fa; color:#718096; opacity:1; }
#blockcart-modal .modal-body { flex:1 1 auto; overflow:auto; padding:20px; }
#blockcart-modal .modal-body > .row { display:block; margin:0; }
#blockcart-modal .divide-right,#blockcart-modal .modal-body .col-md-7 { width:100%; max-width:none; padding:0; border:0; }
#blockcart-modal .divide-right > .row { display:grid; grid-template-columns:110px 1fr; gap:15px; margin:0 0 20px; padding:0 0 20px; border-bottom:1px solid var(--ro-line); }
#blockcart-modal .divide-right .col-md-6 { width:auto; max-width:none; padding:0; }
#blockcart-modal .product-image { width:110px; height:110px; object-fit:contain; border:1px solid var(--ro-line); border-radius:12px; padding:8px; }
#blockcart-modal .product-name { margin:0 0 8px; color:var(--ro-text); font-size:13px; line-height:1.35; font-weight:850; }
#blockcart-modal .product-price { margin:0 0 8px; color:var(--ro-accent); font-size:18px; font-weight:900; }
#blockcart-modal .cart-content { padding:0; }
#blockcart-modal .cart-products-count { color:#7a879a; font-size:11px; }
#blockcart-modal .cart-content > p { display:flex; justify-content:space-between; gap:14px; margin:8px 0; color:#69788d; font-size:11px; }
#blockcart-modal .cart-content > p .value { color:var(--ro-text); font-weight:800; }
#blockcart-modal .product-total { margin-top:14px !important; padding-top:14px; border-top:1px solid var(--ro-line); font-size:13px !important; }
#blockcart-modal .product-total .value { color:var(--ro-accent) !important; font-size:19px; }
#blockcart-modal .cart-content-btn { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:20px; }
#blockcart-modal .cart-content-btn .btn { min-height:46px; border-radius:10px; font-size:10px; display:flex; align-items:center; justify-content:center; }

@media(max-width:767.98px){
  body#cart .cart-item { padding:13px 10px; }
  body#cart .cart-grid-right { margin-top:18px; }
  body#cart .cart-summary { position:static; }
  #blockcart-modal .cart-content-btn { grid-template-columns:1fr; }
}
