/* Checkout presentation only. Core totals, form names and AJAX targets are unchanged. */
.checkout-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; background:#eef4e9; padding:28px 34px; border-radius:3px 65px 3px 3px; margin:0 0 22px; }
.checkout-eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 8px; font-size:12.00325px; letter-spacing:1.8px; color:#64736c; }
.checkout-eyebrow span { font-size:20.577px; letter-spacing:0; }
#checkout-cart #content .checkout-heading h1,#checkout-checkout #content .checkout-heading h1 { font-size:36.00975px; line-height:1.2; margin:0; color:#43515d; }
.checkout-progress { display:flex; align-items:center; flex-wrap:wrap; gap:14px 32px; padding:0; margin:0 0 32px; list-style:none; }
.checkout-progress li { display:flex; align-items:center; gap:9px; color:#72808a; font-size:13.718px; }
.checkout-progress li>span { display:grid; place-items:center; flex:0 0 31px; height:31px; border:1px solid #dbe3df; background:#f7f9f5; border-radius:50%; font-size:12.00325px; }
.checkout-progress li[aria-current] { color:#435e70; font-weight:600; }
.checkout-progress li[aria-current]>span { background:#587482; border-color:#587482; color:white; }
.checkout-progress .is-complete>span { background:#e8f1e1; border-color:#d3e2ca; color:#617b56; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:start; gap:30px; }
.cart-main { min-width:0; }
#output-cart { overflow:visible; }
#shopping-cart .cart-products { width:100%; border-collapse:separate; border-spacing:0 14px; margin:-14px 0 20px; font-size:14.575375px; }
#shopping-cart .cart-products thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
#shopping-cart .cart-products tbody { display:block; }
#shopping-cart .cart-product { display:grid; grid-template-columns:112px minmax(0,1fr) auto; gap:14px 20px; align-items:center; margin:0 0 18px; border:1px solid #dde5dc; border-radius:20px; padding:22px; background:#fff; box-shadow:0 4px 16px #43515d05; }
#shopping-cart .cart-product>td { display:block; border:0; padding:0; background:transparent; min-width:0; }
#shopping-cart .cart-photo { grid-row:1/3; align-self:start; }
#shopping-cart .cart-photo img.img-thumbnail { width:112px; max-width:112px; height:130px; border:0; border-radius:14px; object-fit:contain; background:white; padding:5px; }
#shopping-cart .cart-product-name { grid-column:2/4; line-height:1.5; }
#shopping-cart .cart-product-name>a { font-size:16.290125px; font-weight:500; color:#495e6d; }
#shopping-cart .cart-product-name ul { color:#6d7983; margin-top:8px; font-size:12.860625px; line-height:1.65; }
#shopping-cart .cart-product-name small { font-size:inherit; }
#shopping-cart .cart-quantity { grid-column:2; grid-row:2/4; align-self:end; }
#shopping-cart .cart-quantity:before { content:attr(data-label); display:block; margin-bottom:7px; font-size:12.00325px; color:#6b7782; }
#shopping-cart .cart-quantity .input-group { display:flex; flex-wrap:nowrap; gap:7px; max-width:190px; }
#shopping-cart .cart-quantity .form-control { width:65px; flex:0 0 65px; min-width:0; height:48px; min-height:48px; padding:6px; text-align:center; font-size:15.43275px; border-radius:11px!important; border-color:#cfdad5; background:#fff; }
#shopping-cart .cart-quantity .btn { flex:0 0 44px; display:grid; place-items:center; width:44px; min-height:48px; padding:8px; border-radius:11px!important; font-size:14.575375px; }
#shopping-cart .cart-quantity .btn-primary { background:#edf2f4; border:1px solid #d6e0e4; color:#526e80; box-shadow:none; }
#shopping-cart .cart-quantity .btn-danger { background:#fbf0ee; border:1px solid #eddcd9; color:#a2665f; }
#shopping-cart .cart-unit-price { grid-column:3; grid-row:2; font-size:12.860625px; color:#71808a; }
#shopping-cart .cart-unit-price:before { content:attr(data-label); display:block; font-size:11.145875px; margin-bottom:3px; }
#shopping-cart .cart-line-total { grid-column:3; grid-row:3; font-size:19.719625px; font-weight:600; color:#435d70; white-space:nowrap; }
.cart-summary { position:sticky; top:190px; border:1px solid #dae5d5; border-radius:22px; padding:27px; background:linear-gradient(130deg,#edf4e7,#f7f9f5); }
.summary-icon { display:grid; place-items:center; width:49px; height:49px; border-radius:50%; background:white; font-size:21.434375px; margin-bottom:16px; }
#shopping-cart .cart-summary h2 { font-size:25.72125px; margin:0 0 20px; color:#4b5b67; }
#shopping-cart .cart-totals { font-size:14.575375px; margin:0 0 24px; }
#shopping-cart .cart-totals td { border:0; border-top:1px solid #d9e3d3; padding:16px 0; vertical-align:middle; overflow-wrap:anywhere; }
#shopping-cart .cart-totals td:first-child { text-align:left!important; padding-right:16px; }
#shopping-cart .cart-totals td:last-child { color:#435d70; font-weight:600; white-space:nowrap; }
#shopping-cart .cart-totals tr:last-child { font-size:21.434375px; }
#checkout-cart .cart-checkout,#checkout-cart #accordion .btn-primary,#checkout-checkout .btn-primary,#checkout-cart .cart-empty .btn-primary,
#modal-shipping .btn-primary,#modal-payment .btn-primary { display:inline-flex; justify-content:center; align-items:center; gap:12px; padding:14px 20px; min-height:54px; background:linear-gradient(135deg,#587482,#405c6d); border:1px solid #526b79; border-radius:13px; color:white; font-size:14.575375px; font-weight:600; line-height:1.4; box-shadow:0 5px 12px #405c6d16; white-space:normal; }
#checkout-cart .cart-checkout { display:flex; width:100%; min-height:60px; justify-content:space-between; }
#checkout-cart .cart-checkout:hover,#checkout-checkout .btn-primary:hover,#modal-shipping .btn-primary:hover,#modal-payment .btn-primary:hover { background:#3c596b!important; border-color:#3c596b; color:white!important; }
#checkout-checkout .btn-primary:disabled { opacity:.55; }
#shopping-cart .cart-continue { display:inline-flex; align-items:center; gap:12px; padding:13px 18px; min-height:50px; font-size:13.718px; border-radius:12px; background:white; border-color:#d9e2db; color:#5b707e; }
#shopping-cart>.cart-layout .cart-main>h2 { font-size:22.29175px; margin:28px 0 12px; }
#shopping-cart .accordion { margin-bottom:25px; }
#shopping-cart .accordion-item { border-radius:13px; overflow:hidden; margin-bottom:10px; }
#shopping-cart .accordion-button { font-size:14.575375px; padding:19px; background:#f4f7f0; color:#526675; }
.cart-empty { text-align:center; padding:50px 24px 60px; border:1px solid #dfe7db; border-radius:24px; background:linear-gradient(130deg,#eff5e9,#fff); }
.cart-empty-icon { display:grid; place-items:center; width:100px; height:100px; border-radius:50%; margin:0 auto 24px; background:white; font-size:41.154px; }
#shopping-cart .cart-empty h1 { font-size:34.295px; }
#shopping-cart .cart-empty p { font-size:16.290125px; color:#657580; margin:20px 0 28px; }
#checkout-checkout .checkout-layout { --bs-gutter-x:30px; align-items:start; }
#checkout-checkout .checkout-details-column { min-width:0; }
#checkout-checkout .checkout-summary-column { min-width:0; }
#checkout-checkout .checkout-panel { padding:28px; border:1px solid #dee6db; border-radius:20px; background:#fff; margin-bottom:22px; }
#checkout-checkout #checkout-register>form>p:first-child { padding:13px 16px; background:#f0f5eb; border-radius:12px; color:#5f6f7b; margin-bottom:25px; font-size:13.718px; }
#checkout-checkout fieldset { min-width:0; margin-bottom:26px; }
#checkout-checkout fieldset:last-child { margin-bottom:0; }
#checkout-checkout legend { font-family:var(--serif); font-size:24.0065px; color:#465965; margin:0 0 22px; padding-bottom:12px; border-bottom:1px solid #e1e8dd; line-height:1.3; }
#checkout-checkout .form-label,#checkout-checkout .form-check-label { font-size:13.718px; line-height:1.6; color:#5a6d7a; margin-bottom:8px; }
#checkout-checkout .form-control,#checkout-checkout .form-select { font-size:14.575375px; line-height:1.5; min-height:54px; border:1px solid #cedbd2; border-radius:12px; background-color:#fff; color:#4b5d6b; padding:12px 14px; }
#checkout-checkout .form-select { padding-right:38px; }
#checkout-checkout .form-control::placeholder { color:#89949c; opacity:1; }
#checkout-checkout .form-control:focus,#checkout-checkout .form-select:focus { border-color:#7e9bab; box-shadow:0 0 0 3px #6e91a31c; }
#checkout-checkout .form-control.is-invalid,#checkout-checkout .form-select.is-invalid { border-color:#bb756a; }
#checkout-checkout .invalid-feedback { font-size:12.860625px; line-height:1.5; }
#checkout-checkout .form-check { padding-top:4px; padding-bottom:4px; }
#checkout-checkout .form-check-input { width:21px; height:21px; cursor:pointer; border-color:#aebeb5; }
#checkout-checkout .form-check-input:checked { background-color:#587482; border-color:#587482; }
#checkout-checkout .form-switch .form-check-input { width:40px; }
#checkout-checkout .form-check-label { cursor:pointer; }
#checkout-checkout .form-text { font-size:12.860625px; line-height:1.6; }
#checkout-checkout #button-register { min-width:180px; }
#checkout-checkout .checkout-method-panel { background:#fbfcf9; }
#checkout-checkout .checkout-method-panel legend { font-size:22.29175px; }
#checkout-checkout .checkout-method-panel .input-group { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0; }
#checkout-checkout .checkout-method-panel .input-group-text { border:1px solid #cedbd2; border-right:0; border-radius:12px 0 0 12px; background:#edf3e7; color:#687e62; justify-content:center; }
#checkout-checkout .checkout-method-panel .input-group>.form-control { width:100%; min-width:0; border-radius:0 12px 12px 0!important; text-overflow:ellipsis; padding-left:9px; font-size:13.718px; }
#checkout-checkout .checkout-method-panel .input-group>.btn { grid-column:1/-1; border-radius:12px!important; margin:12px 0 0; min-height:48px; justify-self:end; min-width:120px; font-size:13.718px; }
#checkout-checkout #input-comment { resize:vertical; min-height:115px; }
#checkout-checkout .checkout-order-summary { background:#f0f5eb; border-color:#d8e4d0; }
#checkout-checkout .order-summary-title { display:flex; align-items:center; gap:12px; font-size:24.0065px; color:#485e6c; margin:0 0 20px; }
.order-summary-title i { font-size:18.86225px; color:#7d9470; }
#checkout-checkout .order-review { margin:0 0 20px; font-size:13.718px; line-height:1.6; }
#checkout-checkout .order-review thead { background:transparent; color:#70808b; font-size:12.00325px; }
#checkout-checkout .order-review td,#checkout-checkout .order-review th { padding:15px 0; border:0; border-bottom:1px solid #dce5d5; }
#checkout-checkout .order-review td:first-child,#checkout-checkout .order-review th:first-child { padding-right:16px; }
#checkout-checkout .order-review td:last-child { white-space:nowrap; font-weight:600; color:#465f71; }
#checkout-checkout .order-review a { color:#526c7a; }
#checkout-checkout .order-review small { font-size:12.00325px; color:#73808a; }
#checkout-checkout .order-review ul { margin-top:7px; }
.order-item-quantity { color:#73818a; margin-right:4px; }
#checkout-checkout .order-review tfoot tr:last-child { font-size:20.577px; }
#checkout-checkout #checkout-payment .btn { width:100%; min-height:60px; font-size:15.43275px; }
#checkout-checkout .alert,#checkout-cart .alert { border-radius:13px; padding:17px 20px; font-size:13.718px; line-height:1.65; }
#modal-shipping .modal-content,#modal-payment .modal-content { border-radius:20px; border:1px solid #dce5d7; background:white; color:#566a78; box-shadow:0 20px 70px #33465226; }
#modal-shipping .modal-header,#modal-payment .modal-header { background:#f0f5eb; border-radius:20px 20px 0 0; padding:21px 24px; }
#modal-shipping .modal-title,#modal-payment .modal-title { font-size:21.434375px; color:#465d6b; }
#modal-shipping .modal-body,#modal-payment .modal-body { padding:24px; font-size:14.575375px; line-height:1.7; }
#modal-shipping .form-check,#modal-payment .form-check { display:flex; align-items:start; gap:12px; padding:16px; margin-bottom:18px; background:#f7f9f4; border:1px solid #dce5d7; border-radius:13px; }
#modal-shipping input[type=radio],#modal-payment input[type=radio] { flex:0 0 20px; width:20px; height:20px; margin-top:5px; accent-color:#587482; }
#modal-shipping label,#modal-payment label { cursor:pointer; font-size:14.575375px; }
@media(max-width:1199.98px) {
  .cart-layout { grid-template-columns:minmax(0,1fr) 300px; gap:22px; }
  #shopping-cart .cart-product { grid-template-columns:85px minmax(0,1fr) auto; padding:18px; gap:12px; }
  #shopping-cart .cart-photo img.img-thumbnail { width:85px; max-width:85px; height:110px; }
  #checkout-checkout .checkout-panel { padding:22px; }
}
@media(max-width:991.98px) {
  .cart-layout { grid-template-columns:minmax(0,1fr); }
  .cart-summary { position:static; }
  #checkout-checkout .checkout-layout { display:block; }
  #checkout-checkout .checkout-details-column,#checkout-checkout .checkout-summary-column { width:100%; }
  #checkout-checkout .checkout-method-panel .input-group { grid-template-columns:44px minmax(0,1fr) auto; }
  #checkout-checkout .checkout-method-panel .input-group>.btn { grid-column:auto; margin:0 0 0 10px; }
}
@media(max-width:575.98px) {
  .checkout-heading { padding:24px 20px; border-top-right-radius:50px; gap:10px; }
  #checkout-cart #content .checkout-heading h1,#checkout-checkout #content .checkout-heading h1 { font-size:29.15075px; }
  .checkout-eyebrow { font-size:10.2885px; letter-spacing:1.2px; }
  .checkout-progress { gap:8px 15px; margin-bottom:24px; }
  .checkout-progress li { font-size:12.00325px; gap:6px; }
  .checkout-progress li>span { flex-basis:26px; height:26px; font-size:11.145875px; }
  #shopping-cart .cart-product { grid-template-columns:74px minmax(0,1fr); gap:13px; padding:17px; border-radius:17px; }
  #shopping-cart .cart-photo { grid-column:1; grid-row:1; }
  #shopping-cart .cart-photo img.img-thumbnail { width:74px; max-width:74px; height:100px; }
  #shopping-cart .cart-product-name { grid-column:2; grid-row:1; }
  #shopping-cart .cart-product-name>a { font-size:14.575375px; line-height:1.5; }
  #shopping-cart .cart-product-name ul { font-size:12.00325px; margin-top:7px; }
  #shopping-cart .cart-product>td.cart-quantity { grid-column:1/-1; grid-row:2; display:flex; justify-content:space-between; align-items:center; gap:10px; }
  #shopping-cart .cart-quantity:before { font-size:12.860625px; margin:0; }
  #shopping-cart .cart-quantity .input-group { max-width:none; gap:7px; }
  #shopping-cart .cart-quantity .form-control { flex-basis:52px; width:52px; }
  #shopping-cart .cart-product>td.cart-unit-price { grid-column:1/-1; grid-row:3; text-align:left!important; display:flex; align-items:center; justify-content:space-between; padding-top:13px; border-top:1px solid #e5ebe1; font-size:13.718px; }
  #shopping-cart .cart-unit-price:before { font-size:12.00325px; margin:0; }
  #shopping-cart .cart-product>td.cart-line-total { grid-column:1/-1; grid-row:4; display:flex; align-items:center; justify-content:space-between; font-size:20.577px; }
  #shopping-cart .cart-line-total:before { content:attr(data-label); font-size:13.718px; font-weight:400; color:#697b87; }
  .cart-summary { padding:23px; border-radius:18px; }
  #shopping-cart .cart-summary h2 { font-size:24.863875px; }
  #shopping-cart .cart-continue { width:100%; justify-content:center; }
  #checkout-checkout .checkout-panel { padding:20px 17px; border-radius:17px; }
  #checkout-checkout legend { font-size:22.29175px; }
  #checkout-checkout .form-label,#checkout-checkout .form-check-label { font-size:13.718px; }
  #checkout-checkout .checkout-method-panel .input-group { grid-template-columns:40px minmax(0,1fr); }
  #checkout-checkout .checkout-method-panel .input-group>.btn { grid-column:1/-1; width:100%; margin:12px 0 0; }
  #checkout-checkout #button-register { width:100%; }
  #checkout-checkout .order-summary-title { font-size:23.149125px; }
  #checkout-checkout .order-review { font-size:13.718px; }
  #checkout-checkout .order-review td:first-child,#checkout-checkout .order-review th:first-child { padding-right:10px; overflow-wrap:anywhere; }
  #checkout-checkout .order-review tfoot tr:last-child { font-size:19.719625px; }
  #checkout-checkout .table-responsive { overflow:visible; }
  #checkout-checkout .form-check-inline { display:block; margin:0 0 9px; }
  .cart-empty { padding:35px 20px; }
  #shopping-cart .cart-empty h1 { font-size:27.436px; }
}
@media(max-width:359.98px) {
  #shopping-cart .cart-product>td.cart-quantity { display:block; }
  #shopping-cart .cart-quantity:before { margin-bottom:8px; }
  #shopping-cart .cart-quantity .input-group { justify-content:flex-start; }
  .checkout-progress { column-gap:12px; }
}

#checkout-cart #accordion .form-control{min-height:54px;border-radius:12px;font-size:14.575375px;background:white}
#checkout-cart #accordion .col-form-label{font-size:13.718px}
#checkout-cart #accordion .btn-danger{min-height:54px;border-radius:12px;padding:12px 18px;font-size:13.718px;background:#fbf0ee;border:1px solid #eddcd9;color:#9a6058}
#checkout-cart #accordion .text-end{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}
