.cart-page{background:#f7f7f2;min-height:55vh;padding:3rem 0 4.5rem}.cart-title{font-family:"Playfair Display",serif;font-size:clamp(2rem,3vw,3rem);margin:0 0 .4rem}.cart-subtitle{color:#6d6d67;margin-bottom:2rem}.cart-list{display:grid;gap:1rem}.cart-item{background:#fff;border:1px solid #e8e8e2;border-radius:4px;padding:1rem;display:grid;grid-template-columns:150px minmax(0,1fr) 120px 145px;gap:1.5rem;align-items:center}.cart-item-image{display:block;aspect-ratio:1/1;background:#f5f5f1;overflow:hidden}.cart-item-image img{width:100%;height:100%;object-fit:contain}.cart-item-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#777;margin:0 0 .35rem}.cart-item-name{font-family:"Playfair Display",serif;font-size:1.25rem;margin:0 0 .5rem}.cart-item-name a{color:inherit;text-decoration:none}.cart-item-name a:hover{text-decoration:underline}.cart-item-price{font-weight:600;margin:0 0 .75rem}.cart-item-price .was{font-weight:400;color:#888;text-decoration:line-through;margin-left:.35rem}.cart-remove{border:0;background:none;padding:0;color:#555;text-decoration:underline;font-size:.85rem}.cart-remove:hover{color:#000}.cart-quantity label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:#777;margin-bottom:.4rem}.cart-quantity select{width:100%;border:1px solid #cfcfc8;background:#fff;padding:.65rem .75rem}.cart-line-total{text-align:right;font-size:1.15rem;font-weight:700}.cart-summary{margin:2rem 0 0 auto;max-width:480px}.cart-summary-row{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid #d8d8d0;padding-top:1.25rem;font-size:1.25rem;font-weight:700}.cart-note{font-size:.78rem;color:#6f6f69;text-align:right;margin:.6rem 0 1.5rem}.cart-checkout{display:flex;justify-content:flex-end}.cart-checkout .btn{min-width:210px;padding:.85rem 1.5rem;text-transform:uppercase;font-weight:700;letter-spacing:.03em}.cart-empty{background:#fff;border:1px solid #e8e8e2;padding:3rem;text-align:center}.cart-empty i{font-size:2.5rem;display:block;margin-bottom:1rem}.cart-empty h2{font-family:"Playfair Display",serif}.cart-empty .btn{margin-top:1rem}.cart-promo{margin-top:2rem;font-size:.9rem;color:#777}.cart-promo i{margin-right:.35rem}@media(max-width:767.98px){.cart-page{padding:2rem 0 3rem}.cart-item{grid-template-columns:95px 1fr;gap:1rem}.cart-item-image{grid-row:1/3}.cart-quantity{grid-column:2}.cart-line-total{grid-column:2;text-align:left}.cart-summary{max-width:none}.cart-note{text-align:left}.cart-checkout{justify-content:stretch}.cart-checkout .btn{width:100%}}

/* Add-to-cart modal ------------------------------------------------------ */
.prf-cart-modal .modal-dialog { max-width: 540px; }
.prf-cart-modal .modal-content { border: 0; border-radius: 0; box-shadow: 0 22px 60px rgba(0,0,0,.22); }
.prf-cart-modal .modal-header { border-bottom: 1px solid #e8e3da; padding: 1.25rem 1.5rem; }
.prf-cart-modal .modal-title { font-family: 'Playfair Display', serif; font-size: 1.65rem; font-weight: 600; }
.prf-cart-modal .modal-body { padding: 1.5rem; }
.prf-cart-modal-item { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.5rem; }
.prf-cart-modal-image { width: 110px; height: 110px; flex: 0 0 110px; background: #f5f3ef; overflow: hidden; }
.prf-cart-modal-image img { width: 100%; height: 100%; object-fit: contain; }
.prf-cart-modal-copy { min-width: 0; }
.prf-cart-modal-copy h3 { margin: 0 0 .35rem; font-family: 'Playfair Display', serif; font-size: 1.25rem; font-weight: 600; }
.prf-cart-modal-copy p { margin: 0; color: #6c6861; font-size: .9rem; }
.prf-cart-modal-quantity { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid #e8e3da; }
.prf-cart-modal-quantity label { margin: 0; font-weight: 600; }
.prf-cart-modal-quantity select { width: 90px; border: 1px solid #cfc8bd; padding: .65rem .75rem; background: #fff; }
.prf-cart-modal .modal-footer { border-top: 0; padding: 0 1.5rem 1.5rem; gap: .65rem; }
.prf-cart-modal .modal-footer .btn { min-width: 145px; text-transform: uppercase; letter-spacing: .035em; font-weight: 600; }
.prf-cart-modal-success { text-align: center; padding: .5rem .25rem .25rem; }
.prf-cart-modal-success-icon { width: 64px; height: 64px; margin: 0 auto 1rem; border-radius: 50%; display: grid; place-items: center; background: #eef5ef; font-size: 2rem; }
.prf-cart-modal-success h3 { font-family: 'Playfair Display', serif; font-size: 1.55rem; margin-bottom: .5rem; }
.prf-cart-modal-success p { color: #6c6861; margin-bottom: 0; }
.prf-cart-modal-error { color: #a12622; font-size: .9rem; margin: .85rem 0 0; }
@media (max-width: 575.98px) {
  .prf-cart-modal .modal-dialog { margin: .75rem; }
  .prf-cart-modal .modal-header, .prf-cart-modal .modal-body { padding: 1.1rem; }
  .prf-cart-modal .modal-footer { padding: 0 1.1rem 1.1rem; }
  .prf-cart-modal-item { align-items: flex-start; }
  .prf-cart-modal-image { width: 88px; height: 88px; flex-basis: 88px; }
  .prf-cart-modal .modal-footer { display: grid; grid-template-columns: 1fr; }
  .prf-cart-modal .modal-footer .btn { width: 100%; }
}
