/* Scoped cart layout follows the available shop column, including Lisa split view. */
.cn-cart-island { width:100%; max-width:none; margin:1rem 0; container-type:inline-size; }
.cn-cart-intro { margin:0 0 1.25rem; color:#4d514f; }
.cn-cart-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,20rem);gap:1.5rem;align-items:start; }
.cn-cart-island [data-cart-items] { list-style:none;padding:0;margin:0;display:grid;gap:1rem; }
.cn-cart-island [data-cart-item] { display:grid;grid-template-columns:minmax(0,1fr) 8rem;gap:1rem;padding:1.25rem;border:1px solid #d8d2c7;border-radius:1rem;background:#fff;min-width:0; }
.cn-cart-island [data-cart-item-name] { overflow-wrap:anywhere;font-size:var(--fs-md);font-weight:700;margin:0 0 1rem;line-height:1.4; }
.cn-cart-info {min-width:0;}
.cn-cart-details {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;margin:0;}
.cn-cart-details dt {font-size:var(--fs-sm);color:#62665f;}
.cn-cart-details dd {margin:.15rem 0 0;font-weight:600;overflow-wrap:anywhere;}
.cn-cart-controls {display:flex;flex-direction:column;gap:.5rem;align-items:stretch;}
.cn-cart-controls>span {font-size:var(--fs-sm);color:#62665f;}
.cn-cart-island input {box-sizing:border-box;width:100%;padding:.65rem;border:1px solid #767676;border-radius:.45rem;font:inherit;min-height:44px;}
.cn-cart-island [data-cart-remove] {min-height:44px;font-size:var(--fs-sm);padding:.5rem;}
.cn-cart-prices {grid-column:1/-1;border-top:1px solid #ece6db;padding-top:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:var(--fs-base);}
.cn-cart-prices>span {color:#62665f;}
.cn-cart-summary {border:1px solid #d8d2c7;border-radius:1rem;background:#fff;padding:1.25rem;min-width:0;}
.cn-cart-summary p {margin:0 0 1rem;overflow-wrap:anywhere;}
.cn-cart-summary .btn {display:flex;justify-content:center;width:100%;box-sizing:border-box;}
.cn-cart-island [data-cart-total] {font-size:var(--fs-lg);font-weight:700;border-top:1px solid #ece6db;padding-top:1rem;}
.cn-cart-continue {display:block;text-align:center;padding:.75rem 0 0;}
.cn-cart-empty {border:1px solid #d8d2c7;border-radius:1rem;background:#fff;text-align:center;padding:3rem 1.5rem;}
.cn-cart-empty h2 {font-size:var(--fs-xl);margin:0 0 1.5rem;}
.cn-cart-island [role="alert"] {padding:1rem;border:1px solid #ad3030;border-radius:.35rem;color:#812222;background:#fff5f5;}
.cn-cart-island :disabled {opacity:.65;cursor:wait;}
.cn-cart-island :focus-visible {outline:3px solid currentColor;outline-offset:3px;}
@container (max-width: 54rem) {.cn-cart-layout {grid-template-columns:minmax(0,1fr);}}
@container (max-width: 30rem) {
 .cn-cart-island [data-cart-item] {grid-template-columns:minmax(0,1fr);padding:1rem;}
 .cn-cart-details {grid-template-columns:minmax(0,1fr);}
 .cn-cart-controls {display:grid;grid-template-columns:auto 5rem auto;align-items:center;}
 .cn-cart-prices {flex-direction:column;}
}
@media (max-width: 48rem) {.cn-cart-layout {grid-template-columns:minmax(0,1fr);}}

.cn-cart-product-image {float:left;width:5rem;height:5rem;object-fit:contain;margin:0 1rem .75rem 0;border-radius:.5rem;background:#f8f7f3;}

.cn-cart-shipping {display:grid;gap:.65rem;margin:1rem 0;padding:1rem 0;border-top:1px solid #ece6db;border-bottom:1px solid #ece6db;}
.cn-cart-shipping h3 {font-size:var(--fs-lg);margin:0;}
.cn-cart-shipping select {width:100%;min-height:44px;padding:.6rem;border:1px solid #767676;border-radius:.45rem;font:inherit;background:white;}

.cn-cart-items-column {min-width:0;}
.cn-cart-packages {margin-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem;}
.cn-cart-packages>h2 {grid-column:1/-1;margin:0;font-size:var(--fs-md);}
.cn-cart-package {padding:1rem;border:1px solid #d8d2c7;background:#f8f7f3;border-radius:.75rem;}
.cn-cart-package p {margin:.4rem 0 0;font-size:var(--fs-sm);}

main#main > .section:has(#shop-cart) {padding-top:1.5rem;padding-bottom:2rem;}
main#main > .section:has(#shop-cart) h1 {margin-top:0;margin-bottom:1rem;}
.cn-cart-room {grid-column:1/-1;}

.cn-cart-product-figure {float:left;width:6rem;margin:0 1rem .75rem 0;text-align:center;}
.cn-cart-product-figure .cn-cart-product-image {float:none;margin:0;width:6rem;height:6rem;}
.cn-cart-product-figure figcaption {font-size:var(--fs-sm);color:#62665f;margin-top:.25rem;}

/* Spacious product cards, with a restrained shop-colour accent. */
.cn-cart-island [data-cart-item]{border:1px solid #e8dfd2;border-radius:20px;box-shadow:0 6px 22px #39250a07;background:#fff;padding:1.4rem;gap:1.25rem;}
.cn-cart-island [data-cart-item] h2{font-size:var(--fs-md);line-height:1.35;margin-top:0;}
.cn-cart-details{gap:.75rem 1.25rem;}.cn-cart-details dt{font-size:var(--fs-sm);color:#72695e;}.cn-cart-details dd{font-weight:600;}
.cn-cart-product-figure{width:8rem;margin:0 1.25rem 1rem 0;}.cn-cart-image-button{display:block;width:8rem;height:8rem;padding:.35rem;border:1px solid #ece5db;border-radius:14px;background:#faf9f6;cursor:zoom-in;}.cn-cart-product-figure .cn-cart-product-image{width:100%;height:100%;background:transparent;}
.cn-cart-image-zoom{position:fixed;z-index:1400;box-sizing:border-box;padding:10px;background:#fff;border:1px solid #d8cdbf;border-radius:16px;box-shadow:0 8px 32px #0004;pointer-events:none;}.cn-cart-image-zoom img{width:100%;height:100%;object-fit:contain;display:block;}.cn-cart-image-zoom button{position:absolute;right:10px;top:10px;min-width:44px;min-height:44px;border:1px solid #ddd;border-radius:10px;background:#fff;color:#191919;font-size:24px;pointer-events:auto;cursor:pointer;}.cn-cart-image-zoom button:focus-visible{outline:3px solid #195997;outline-offset:2px;}
