/* Cart layout is scoped to this page. */
.cart-page{--cart-green:#087e50;--cart-forest:#133e2d;--cart-ink:#20342a;--cart-muted:#738278;--cart-line:#e5ece5;--size-right-side:360px;background:#f8f9f5}
.cart-page .page-wrapper{padding-bottom:88px}
.cart-page .page-breadcrumbs{margin-bottom:18px}
.cart-page .page-breadcrumbs a{color:#7e8b80}
.cart-page .page-main{gap:28px}
.cart-page .side-left{width:calc(100% - var(--size-right-side) - 28px);min-width:0}
.cart-page .side-right{top:24px}
.cart-page-title{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:0;margin-bottom:28px;padding:10px 0 22px;border-bottom:1px solid #dce7dd;border-radius:0;background:transparent;color:var(--cart-ink)}
.cart-hero-copy,.cart-continue{position:relative;z-index:1}
.cart-eyebrow{display:block;margin-bottom:7px;color:var(--cart-green);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.cart-page-title h1{display:flex;align-items:center;gap:12px;margin:0;color:var(--cart-ink);font-size:clamp(30px,3vw,40px);font-weight:600;line-height:1.15}
.cart-page-title h1 span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;margin-left:0;padding:0 9px;padding-bottom:0;border:0;border-radius:50px;background:#e8f3ea;color:var(--cart-green);font-size:15px;font-weight:600}
.cart-continue{display:inline-flex;align-items:center;gap:10px;padding-bottom:4px;border-bottom:1px solid #a9ceb2;color:var(--cart-green);font-size:14px;font-weight:600;white-space:nowrap}
.cart-continue:hover{color:var(--cart-forest);border-color:var(--cart-forest)}
.cart-continue span{font-size:21px;line-height:1}
.cart-section-title{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;color:var(--cart-ink);font-size:25px;font-weight:650}
.cart-section-title span{color:#95a399;font-size:15px;font-weight:450}
.cart-page .shopping-list-action{align-items:center;margin:0 0 30px;padding:0;border:0;border-radius:0;background:transparent}
.cart-page .shopping-list-action label{margin:0;color:var(--cart-ink);font-size:16px;font-weight:600}
.cart-page .shopping-list-action label input{margin-right:12px}
.cart-page .shopping-list-action a{color:#9c5052;font-size:14px;font-weight:550;text-decoration:underline;text-underline-offset:3px}
.cart-page .shopping-list-action a:hover{color:#c13d46}
.cart-page .form-check-input{width:20px;height:20px;border:1.5px solid #b8c9b9;border-radius:6px;cursor:pointer}
.cart-page .form-check-input:checked{border-color:var(--cart-green);background-color:var(--cart-green)}
.cart-page .form-check-input:focus{box-shadow:0 0 0 3px rgba(8,126,80,.16)}
.cart-page .shopping-list-wrapper{overflow:hidden;margin-bottom:28px!important;border:1px solid #e3ebe3;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(21,52,31,.035)}
.cart-page .shopping-list-wrapper:empty{display:none}
.cart-page .shopping-card,.cart-page .facade-card{margin:0;padding:24px;border:0;border-radius:0;background:#fff;box-shadow:none;transition:background .18s}
.cart-page .shopping-card:not(:last-child),.cart-page .facade-card:not(:last-child){margin:0;border-bottom:1px solid var(--cart-line)}
.cart-page .shopping-card:hover,.cart-page .facade-card:hover{background:#fbfdf9}
.cart-page .shopping-card{display:flex;align-items:center;flex-wrap:nowrap}
.cart-page .shopping-card-check{flex:0 0 20px;margin:0 20px 0 0;align-self:center}
.cart-page .shopping-card-image{flex:0 0 112px;max-width:112px;margin:0 24px 0 0;overflow:hidden;aspect-ratio:1/1;border-radius:4px;background:#f0f2ec}
.cart-page .shopping-card-image img{width:100%;height:100%;object-fit:cover;border-radius:4px}
.cart-page .shopping-card-center{min-width:0;flex:1 1 auto;gap:26px;padding-right:14px}
.cart-page .shopping-card-center h3{margin:0;color:var(--cart-ink);font-size:19px;font-weight:600;line-height:1.32}
.cart-page .shopping-card-center a:hover h3{color:var(--cart-green)}
.cart-page .shopping-card-action{gap:14px 20px;flex-wrap:wrap}
.cart-page .shopping-card-action button,.cart-page .facade-card-action button{color:#798a7d;font-size:14px;font-weight:500;transition:color .18s}
.cart-page .shopping-card-action button:not(:last-child){margin-right:0}
.cart-page .shopping-card-action button i,.cart-page .facade-card-action button i{margin-right:6px;font-size:17px}
.cart-page .shopping-card-action button:hover{color:var(--cart-green)}
.cart-page .shopping-card-action-rubbish:hover,.cart-page .facade-card-action-rubbish:hover{color:#bd4650!important}
.cart-page .shopping-card-right{flex:0 0 182px;width:auto;gap:18px;margin-top:0;padding:0}
.cart-page .shopping-card-price span{margin:0;color:var(--cart-ink);font-size:22px;font-weight:700;white-space:nowrap}
.cart-page .shopping-card-price small{margin-top:3px;color:#9ba69d;font-size:14px}
.cart-page .shopping-card-price .price-unit-note{display:block;color:#8c9c8e;font-size:12px;font-weight:450;line-height:1.2;white-space:normal}
.cart-page .shopping-card-calc{align-items:center;justify-content:flex-end}
.cart-page .shopping-card-calc button{display:inline-flex;flex:0 0 38px;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid #dce8dc;border-radius:50%;background:#fff;color:var(--cart-green);font-size:16px;cursor:pointer;transition:background .18s,border-color .18s}
.cart-page .shopping-card-calc button:hover{border-color:#a5cdb0;background:#edf7ee}
.cart-page .shopping-card-calc button.is-disabled{opacity:.45}
.cart-page .shopping-card-calc input{width:53px;height:38px;margin:0 5px;border:0;background:transparent;color:var(--cart-ink);font-size:17px;font-weight:600;text-align:center;box-shadow:none}
.cart-page .shopping-card-package-note{color:var(--cart-muted);font-size:12px}
.cart-page .shopping-cutting-card{align-items:center}
.cart-page .shopping-cutting-card .shopping-card-image{display:flex;align-items:center;justify-content:center;border:1px dashed #b5d3bc;background:#f2f8f2}
.cart-page .shopping-cutting-scissors{color:var(--cart-green);font-size:48px}
.cart-page .shopping-cutting-card .shopping-card-center{padding-right:0}
.cart-page .shopping-cutting-card .service-badge{margin-left:6px;border-radius:20px;font-size:11px;vertical-align:middle}
.cart-page .shopping-cutting-meta,.cart-page .shopping-cutting-details{color:var(--cart-muted);font-size:14px}
.cart-page .shopping-cutting-info{padding:12px;border-radius:8px;background:#f2f8f2;font-size:13px;line-height:1.5}
.cart-page .shopping-cutting-actions .shopping-cutting-edit,.cart-page .shopping-cutting-actions .shopping-cutting-delete{font-size:14px}
.cart-page .wrapper-facade{overflow:visible;margin-top:34px;border:0;background:transparent;box-shadow:none}
.cart-page .wrapper-facade .cart-section-title{margin-bottom:16px}
.cart-page .facade-card{display:flex;align-items:flex-start;gap:20px;margin:0;border:1px solid var(--cart-line)}
.cart-page .facade-card:first-of-type{border-radius:18px 18px 0 0}
.cart-page .facade-card:last-child{border-radius:0 0 18px 18px}
.cart-page .facade-card:only-of-type{border-radius:18px}
.cart-page .facade-card-check{flex:0 0 20px;align-self:flex-start;margin:5px 0 0}
.cart-page .facade-card-image,.cart-page .facade-card-image-mobile{flex:0 0 104px;max-width:104px;margin:0}
.cart-page .facade-card-image img,.cart-page .facade-card-image-mobile img{max-width:100%;height:auto;object-fit:contain}
.cart-page .facade-card-image-mobile{display:none}
.cart-page .model-run-in-image{position:relative;margin-top:9px;font-size:12px}
.cart-page .model-run-in-image img{width:48px;height:48px;object-fit:contain}
.cart-page .facade-card-right{min-width:0;flex:1}
.cart-page .facade-card-table{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 12px}
.cart-page .facade-card-table-item{min-width:0;width:auto}
.cart-page .facade-card-table-item::after{content:none}
.cart-page .facade-card-table-title{margin:0 0 5px;padding:0;border:0;color:var(--cart-muted);font-size:12px;text-align:left}
.cart-page .facade-card-table-value{display:block;height:auto;color:var(--cart-ink);font-size:15px;font-weight:600;text-align:left;overflow-wrap:anywhere}
.cart-page .facade-card-action{margin-top:16px}
.cart-page .facade-card-action button{padding:0;border:0;background:transparent;cursor:pointer}
.cart-page .shopping-action{overflow:hidden;padding:0;border:1px solid #e3ebe3;border-radius:18px;background:#fff;box-shadow:0 16px 35px rgba(21,52,31,.065)}
.cart-summary-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:26px 26px 20px;color:var(--cart-ink);font-size:23px;font-weight:650}
.cart-summary-count{color:var(--cart-muted);font-size:13px;font-weight:450;white-space:nowrap}
.cart-page .shopping-action-body{margin:0 26px;padding:0 0 20px;border:0}
.cart-page .shopping-action-body ul{margin:0;padding:0}
.cart-page .shopping-action-body ul li:not(:last-child){margin-bottom:12px}
.cart-page .shopping-action-body span{color:var(--cart-muted);font-size:15px}
.cart-page .shopping-action-body span.bolder{color:var(--cart-ink);font-weight:600}
.cart-page .shopping-action-body span.red{color:#a44d4f}
.cart-page .shopping-action-footer{align-items:baseline;gap:8px;margin:0 26px;padding:19px 0 22px;border-top:1px solid var(--cart-line)}
.cart-page .shopping-action-footer span.bigger{color:var(--cart-ink);font-size:17px;font-weight:600}
.cart-page .shopping-action-footer span.blue{color:var(--cart-forest);font-size:26px;font-weight:700;text-align:right;white-space:nowrap}
.cart-page .shopping-action-header{padding:0 26px 24px}
.cart-page .shopping-action-header .button{display:flex;align-items:center;justify-content:space-between;width:100%;height:56px;margin:0 0 12px;padding:0 19px;border-radius:10px;background:var(--cart-green);color:#fff;font-size:16px;font-weight:600}
.cart-page .shopping-action-header .button:hover{background:#066d45}
.cart-page .shopping-action-header .button span{color:inherit;font-size:16px;font-weight:600}
.cart-page .shopping-action-header .button span:last-child{font-size:25px;font-weight:400}
.cart-page .shopping-action-header p{margin:0 0 19px;color:var(--cart-muted);font-size:13px;line-height:1.45}
.cart-page .shopping-cutting-side-button{display:flex;align-items:center;gap:9px;width:100%;height:auto;margin:0;padding:14px 0 0;border:0;border-top:1px solid var(--cart-line);border-radius:0;background:transparent;color:var(--cart-green);font-size:15px;font-weight:600}
.cart-page .shopping-cutting-side-button:hover{color:#075f3e;background:transparent}
.cart-page .shopping-cutting-side-button span:last-child{margin-left:auto;font-size:21px}
.cart-page .shopping-cutting-side-button .shopping-cutting-scissors{font-size:23px;line-height:1}
.cart-page .cart-empty{display:flex;flex-direction:column;align-items:center;padding:68px 24px;border:1px solid var(--cart-line);border-radius:18px;background:#fff;text-align:center}
.cart-page .cart-empty-icon{display:flex;align-items:center;justify-content:center;width:82px;height:82px;margin-bottom:22px;border-radius:50%;background:#ecf6ed;color:var(--cart-green);font-size:34px}
.cart-page .cart-empty h2{margin-bottom:8px;color:var(--cart-ink);font-size:26px}
.cart-page .cart-empty p{margin-bottom:24px;color:var(--cart-muted);font-size:15px}
.cart-page .cart-empty .button{display:inline-flex;align-items:center;gap:20px;min-height:50px;padding:10px 20px;border-radius:10px;background:var(--cart-green);color:#fff;font-size:16px;font-weight:600}.cart-page .cart-empty .button:hover{background:#066d45;color:#fff}.cart-page .cart-empty .button span{color:#fff;font-size:16px;font-weight:600}.cart-page .cart-empty .button span:last-child{font-size:23px;font-weight:400}
.cart-page button:focus-visible,.cart-page a:focus-visible{outline:3px solid #70bb88;outline-offset:3px}
@media(max-width:1199px){.cart-page .page-main{flex-wrap:wrap}.cart-page .side-left{width:100%}.cart-page .side-right{flex:1 1 100%;max-width:none;margin-top:0}.cart-page .shopping-action{max-width:none}}
@media(max-width:767px){
.cart-page .page-wrapper{padding-bottom:48px}
.cart-page-title{display:block;margin-bottom:24px;padding:6px 0 18px}
.cart-page-title h1{font-size:32px}
.cart-page-title h1 span{min-width:30px;height:30px;font-size:14px}
.cart-continue{margin-top:14px;font-size:14px}
.cart-page .shopping-list-action{margin-bottom:22px}
.cart-section-title{font-size:22px}
.cart-page .shopping-card{display:grid;grid-template-columns:20px 92px minmax(0,1fr);align-items:start;gap:0 12px;padding:18px}
.cart-page .shopping-card-check{grid-column:1;grid-row:1;margin:6px 0 0}
.cart-page .shopping-card-image{grid-column:2;grid-row:1;width:92px;max-width:92px;margin:0}
.cart-page .shopping-card-center{grid-column:3;grid-row:1;gap:11px;padding:0}
.cart-page .shopping-card-center h3{font-size:16px}
.cart-page .shopping-card-action{gap:8px 14px}
.cart-page .shopping-card-action button{font-size:12px}
.cart-page .shopping-card-right{grid-column:2/4;grid-row:2;flex:auto;width:100%;flex-direction:row;align-items:end;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--cart-line);text-align:left}
.cart-page .shopping-card-price span{font-size:19px}
.cart-page .shopping-card-calc{width:auto;margin:0 0 0 auto}
.cart-page .shopping-card-package-note{flex:1 1 100%}
.cart-page .shopping-cutting-card .shopping-card-center{grid-column:3}
.cart-page .facade-card{display:grid;grid-template-columns:20px 80px minmax(0,1fr);gap:0 12px;padding:18px}
.cart-page .facade-card-check{grid-column:1}
.cart-page .facade-card-image{display:none}
.cart-page .facade-card-image-mobile{display:block;grid-column:2;width:80px;max-width:80px}
.cart-page .facade-card-right{grid-column:3}
.cart-page .facade-card-table{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cart-page .facade-card-table-title{font-size:11px}
.cart-page .facade-card-table-value{font-size:13px}
}
@media(max-width:420px){
.cart-page .shopping-list-action label{font-size:13px}
.cart-page .shopping-list-action a{font-size:12px}
.cart-page .shopping-card{grid-template-columns:20px 74px minmax(0,1fr);gap:0 9px;padding:14px}
.cart-page .shopping-card-image{width:74px;max-width:74px}
.cart-page .shopping-card-action button{font-size:0}
.cart-page .shopping-card-action button i{font-size:18px}
.cart-page .shopping-card-price span{font-size:17px}
.cart-page .shopping-card-calc button{flex-basis:34px;width:34px;height:34px}
.cart-page .shopping-card-calc input{width:42px;height:34px;margin:0 3px}
.cart-page .shopping-action-footer span.blue{font-size:22px}
}
