.cart-page{background:#f5f7fa}
.cart-page-main{padding-top:44px;padding-bottom:70px;max-width:1190px}
.cart-intro{margin-bottom:30px}
.cart-intro .eyebrow{font-size:12px;letter-spacing:.16em;color:#687987;margin-bottom:12px}
.cart-intro h1{font-size:clamp(38px,6vw,58px);letter-spacing:-2px;line-height:1.1;margin:0}
.cart-intro>p:last-child{font-size:16px;color:#63717e;margin:16px 0 0;line-height:1.6}
.cart-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:28px;align-items:start}
.cart-items{display:grid;gap:16px}
.cart-item,.cart-customer,.cart-summary,.cart-empty{background:white;border:1px solid #dfe5ec;border-radius:22px;padding:26px;min-width:0}
.cart-item-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.cart-category{font-size:12px;line-height:1.4;color:#617b8d;margin:0 0 8px;text-transform:uppercase;letter-spacing:.08em}
.cart-item h2{font-size:23px;line-height:1.25;letter-spacing:-.65px;margin:0}
.cart-remove{border:0;background:none;color:#596c7c;text-decoration:underline;text-underline-offset:4px;font:400 14px var(--font);padding:10px 0;cursor:pointer;min-height:44px}
.cart-item-amount{font-size:15px;line-height:1.55;color:#5e6c7b;margin:12px 0 20px}
.cart-monthly{font-size:13px;color:#407590;padding:8px 11px;background:#eff7fb;border-radius:9px;line-height:1.45;margin:0 0 18px;width:fit-content}
.cart-quantity-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.cart-quantity-row label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#344555}
.cart-quantity-row input{width:88px;min-height:46px;border:1px solid #b9cbd6;border-radius:12px;padding:10px 12px;font:500 18px var(--font);background:#fafcfd;color:#1b384c}
.cart-item-price{text-align:right;display:flex;flex-direction:column;gap:6px}
.cart-item-price strong{font-size:26px;font-weight:650;letter-spacing:-.7px;line-height:1.1}
.cart-item-price span{font-size:13px;color:#687887}
.cart-minimum{font-size:13px;color:#627584;margin:10px 0 0}
.cart-item-details{font-size:14px;line-height:1.6;border-top:1px solid #e7ecf0;margin-top:20px;padding-top:15px;color:#5f6d7d}
.cart-item-details summary{cursor:pointer;color:#36546b;font-weight:550}
.cart-item-details p{margin:12px 0 0}
.cart-summary{position:sticky;top:110px;background:linear-gradient(145deg,#f0f8fe,#fff 65%);border-top:4px solid #79ddf1;box-shadow:0 12px 30px #1531490b}
.cart-summary h2,.cart-customer h2{font-size:23px;letter-spacing:-.5px;line-height:1.3}
.cart-summary dl{margin:24px 0}
.cart-summary dl>div{display:flex;justify-content:space-between;gap:14px;margin:13px 0;font-size:15px}
.cart-summary dd{margin:0;white-space:nowrap;font-weight:550}
.cart-summary .cart-total{border-top:1px solid #d8e3eb;padding-top:19px;font-size:24px;font-weight:650;letter-spacing:-.6px}
.cart-discount{color:#157165}
#coupon-form label{display:block;font-size:14px;margin-bottom:8px}
.cart-coupon-row{display:flex;gap:8px}
.cart-coupon-row input{min-width:0;flex:1;width:100%;border:1px solid #c6d5df;border-radius:10px;min-height:44px;padding:10px;font:400 16px var(--font);text-transform:uppercase}
.cart-coupon-row button{border:1px solid #c6d5df;border-radius:10px;padding:10px 13px;background:#fff;color:#285065;font:600 14px var(--font);cursor:pointer}
#coupon-form>p,.cart-payment-note{font-size:13px;line-height:1.55;color:#637585;margin:10px 0 22px}
.cart-primary{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:14px 20px;border:1px solid #a1dfe8;border-radius:100px;background:var(--pricing-button-gradient);color:#123b4b;font:650 16px/1.4 var(--font);text-decoration:none;cursor:pointer;text-align:center;width:100%}
.cart-primary:hover{background:var(--pricing-button-hover)}
.cart-primary:disabled{opacity:.6;cursor:default}
.cart-payment-note{text-align:center;margin:12px 0 0}
.cart-not-ready{margin-top:18px;padding:14px;background:#f1f5f8;border:1px solid #dfe7ef;border-radius:12px;font-size:14px;line-height:1.55;color:#56697b}
.cart-not-ready p{margin:0 0 9px}
.cart-not-ready a{font-weight:600;color:#235e81;text-underline-offset:4px}
.cart-continue{display:block;width:fit-content;margin:22px auto 0;font-size:14px;color:#4e6b80;text-underline-offset:4px}
.cart-customer{margin-top:24px}
.cart-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-top:22px}
.cart-fields label{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:14px;color:#3f5263}
.cart-fields input{width:100%;min-width:0;min-height:48px;border:1px solid #c6d5df;border-radius:11px;padding:11px 12px;background:#fcfdfe;font:400 16px var(--font)}
.cart-customer>p{font-size:14px;line-height:1.55;color:#647687;margin:19px 0 0}
.cart-layout input:focus-visible,.cart-layout button:focus-visible,.cart-primary:focus-visible{outline:3px solid #8bdaef;outline-offset:3px}
.cart-error,#cart-add-error{font-size:15px;line-height:1.55;color:#8d392b;background:#fff2ee;border:1px solid #e9c6bd;border-radius:13px;padding:15px 18px;margin-bottom:24px}
.cart-empty{max-width:640px;margin:24px auto;padding:44px 32px;text-align:center}
.cart-empty h2{font-size:28px;line-height:1.25}
.cart-empty p{font-size:16px;line-height:1.6;color:#647585;margin:16px 0 26px}
.cart-empty .cart-primary{max-width:320px;margin:0 auto}
.cart-paid-total{display:block;font-size:36px;margin:20px 0 30px}
.pricing-cart-access{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:20px;margin-top:-20px;margin-bottom:24px}
.pricing-cart-access .button-link{background:var(--pricing-button-gradient);color:#153d4c;border-color:#b7e6ec;border-radius:100px;min-height:44px;font-size:14px}
.extras-block .plan-contact{margin-top:18px}
a.plan-contact{text-decoration:none;display:flex;align-items:center;justify-content:center}
.cart-page [hidden],.pricing-page #cart-add-error[hidden]{display:none!important}
@media(max-width:850px){.cart-layout{grid-template-columns:1fr}.cart-summary{position:static}.cart-page-main{max-width:680px}.pricing-cart-access{margin-top:0;justify-content:flex-start}}
@media(max-width:540px){.cart-page-main{padding-top:28px}.cart-item,.cart-customer,.cart-summary{padding:22px 18px;border-radius:18px}.cart-fields{grid-template-columns:1fr}.cart-item h2{font-size:22px}.cart-item-price strong{font-size:25px}.cart-quantity-row{gap:12px}.cart-empty{padding:30px 20px}.cart-item-price span{max-width:24ch;line-height:1.5}}
