/* Server-rendered cart and checkout. One rule per component, shared across viewports. */
.cart-page .cart-main{padding:67px 0 80px;min-height:65vh;color:#39362f}
.cart-page .cart-main>.container{width:calc(100% - 96px);max-width:1120px;margin:auto;padding:0}
.cart-page .cart-heading{max-width:none;margin:0 0 18px}
.cart-page .cart-heading h1{margin:0;text-align:center;font:400 64px/1.05 var(--serif,Georgia,serif)}
.cart-page .cart-app-back{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 16px;margin:0 0 18px;background:#e8e4db;color:#48533d;border:0;border-radius:999px;font:400 13px/1.3 var(--sans,Arial,sans-serif);text-decoration:none}
.cart-page .cart-app-back .fa-chevron-left{font-family:"Nuve Cart Regular";font-style:normal;font-weight:400;font-size:11px;line-height:1;margin-right:8px}
.cart-page .cart-app-back .fa-chevron-left::before{content:"\f053"}
.cart-page .cart-layout{display:block}
.cart-page .cart-app-status{font-size:13px;color:#48533d;margin:0 0 12px}
.cart-page .cart-app-status:empty{display:none}
.cart-page .cart-items{background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 4px 24px #0000000d}
.cart-page .cart-item{display:block;position:relative;overflow:hidden;border:0;padding:0;margin:0}
.cart-page .cart-item-surface{position:relative;z-index:1;display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;align-items:center;padding:28px;background:#fff;transition:transform .2s ease}
.cart-page .cart-item:not(:last-child) .cart-item-surface{padding-bottom:14px}
.cart-page .cart-item+.cart-item .cart-item-surface{padding-top:14px}
.cart-page .cart-item-media{display:block;width:200px;height:150px;padding:0;border:0;border-radius:14px;overflow:hidden;background:transparent}
.cart-page .cart-item-media img{display:block;width:100%;height:100%;object-fit:cover;border-radius:14px}
.cart-page .cart-item-copy{width:100%;min-width:0;align-self:center;margin:0;padding:0}
.cart-page .cart-item-copy h2,.cart-page .cart-item-copy h2 a{margin:0;font:400 28px/1.12 var(--serif,Georgia,serif);font-synthesis:none;letter-spacing:normal;color:#39362f;text-decoration:none}
.cart-page .cart-item-copy .cart-line-total{display:block;margin:6px 0 12px;padding:0;font:400 18px/1.4 var(--sans,Arial,sans-serif);letter-spacing:normal;color:#39362f;text-align:left;white-space:nowrap}
.cart-page .cart-item-variant{display:block;margin:0 0 8px;font-size:12px;color:#70665c}
.cart-page .cart-item-copy .cart-controls{display:flex;align-items:center;justify-content:flex-end;gap:0;width:100%;max-width:none;margin:0;padding:0;min-height:44px}
.cart-page .cart-controls [hidden],.cart-page .cart-controls .cart-remove{display:none!important}
.cart-page .cart-stepper{display:inline-flex;align-items:center;flex:0 0 auto;gap:0;margin-left:auto;background:transparent;border:0;border-radius:0;box-shadow:none;font-family:var(--sans,Arial,sans-serif);line-height:1}
.cart-page .cart-stepper button{display:grid;place-items:center;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;border:0;background:transparent;color:#48533d;font:400 24px/1 var(--sans,Arial,sans-serif);letter-spacing:0;text-transform:none;text-decoration:none;cursor:pointer}
.cart-page .cart-step-count{display:grid;place-items:center;min-width:26px;height:44px;color:#39362f;font:400 18px/1 var(--sans,Arial,sans-serif);font-variant-numeric:tabular-nums}
.cart-page .cart-stepper button:disabled{opacity:.4}
.cart-page .cart-swipe-delete{display:none}
.cart-page .cart-summary{position:static;max-width:none;margin:0;padding:20px 28px 0;background:transparent;color:#39362f;border:0;border-radius:0;box-shadow:none}
.cart-page .cart-summary>h2{display:none}
.cart-page .cart-summary dl{margin:0}
.cart-page .cart-summary .cart-total{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:4px 0 20px;border:0}
.cart-page .cart-total dt{font:500 22px/1.4 var(--sans,Arial,sans-serif);color:#39362f}
.cart-page .cart-total dd{margin:0;font:500 22px/1.4 var(--sans,Arial,sans-serif);color:#39362f;white-space:nowrap}
.cart-page .cart-summary .cart-app-next{display:flex;align-items:center;justify-content:center;width:100%;max-width:320px;min-height:52px;margin:0 0 0 auto;padding:14px 20px;border:0;border-radius:999px;background:#211b18;color:#fff;font:600 14px/1.4 var(--sans,Arial,sans-serif);letter-spacing:0;text-transform:none;text-decoration:none}
.cart-page .cart-app-next[aria-disabled=true]{opacity:.5;pointer-events:none}
/* Separate checkout, using the existing purchase-contact endpoint. */
.cart-page .cart-app-checkout .cart-summary{padding:0;background:transparent;border-radius:0}
.cart-page .purchase-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;margin:16px 0 0}
.cart-page .purchase-contact-form>p{grid-column:1/-1;margin:0;line-height:1.6}
.cart-page .purchase-contact-field{display:grid;grid-template-rows:auto 52px;grid-auto-rows:auto;align-self:start;align-content:start;gap:8px;min-width:0}
.cart-page .purchase-contact-field label{margin:0;color:#39362f;font-size:13px;line-height:1.4}
.cart-page .purchase-contact-field input,.cart-page .purchase-contact-field select{display:block;box-sizing:border-box;width:100%;height:52px;min-height:52px;max-height:52px;margin:0;padding:13px 12px;border:1px solid #cbbfb4;border-radius:12px;background:#fffdf9;color:#342f2a;font:400 14px/1.4 var(--sans,Arial,sans-serif)}
.cart-page .purchase-contact-field small{display:block;margin:0;color:#70665c;font-size:12px;line-height:1.6;overflow-wrap:break-word}
.cart-page .purchase-contact-field select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2348533d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px}
.cart-page .purchase-contact-actions{display:grid;grid-column:1/-1;gap:10px;align-content:start;min-width:0;padding-top:0}
.cart-page .purchase-contact-actions>button{display:flex;align-items:center;justify-content:center;width:100%;height:52px;min-height:52px;max-width:none;margin:0;padding:13px 20px;border:0;border-radius:999px;background:#211b18;color:#fff;font:600 14px/1.4 var(--sans,Arial,sans-serif);letter-spacing:0;text-transform:none}
.cart-page .purchase-contact-actions>.purchase-contact-note{margin:0;color:#70665c;font-size:12px;line-height:1.6}
@media(min-width:768px) and (max-width:1100px){
 .cart-page .cart-main>.container{width:calc(100% - 48px)}
 .cart-page .cart-item-surface{grid-template-columns:160px minmax(0,1fr);gap:20px;padding:22px}
 .cart-page .cart-item-media{width:160px;height:120px}
}
@media(max-width:767px){
 body.cart-page,.cart-page .cart-main{background:#f7f5ee}
 .cart-page .site-header,.cart-page .site-header.scrolled{position:relative;top:auto;background:#f7f5ee;backdrop-filter:none;box-shadow:none;border:0;transition:none}
 .cart-page .site-header::after,.cart-page .site-footer,.cart-page .whatsapp-float{display:none}
 .cart-page .cart-main{padding:3px 0 170px;min-height:calc(100dvh - 75px)}
 .cart-page .cart-main>.container{width:100%;max-width:640px;padding:0 20px}
 .cart-page .cart-heading h1{font-size:38px;line-height:1.1}
 .cart-page .cart-items{background:transparent;border-radius:0;overflow:visible}
 .cart-page .cart-item{margin:0 0 24px;border-radius:14px}
 .cart-page .cart-item-surface,.cart-page .cart-item:not(:last-child) .cart-item-surface,.cart-page .cart-item+.cart-item .cart-item-surface{grid-template-columns:min(140px,36vw) minmax(0,1fr);grid-template-rows:auto;gap:0 14px;padding:0;min-height:0;background:#f7f5ee}
 .cart-page .cart-item-media{width:min(140px,36vw);height:auto;aspect-ratio:4/3}
 .cart-page .cart-item-copy h2,.cart-page .cart-item-copy h2 a{font-size:25px}
 .cart-page .cart-swipe-delete{display:grid;place-items:center;position:absolute;right:0;top:0;bottom:0;width:88px;height:100%;min-height:0;margin:0;padding:0;border:0;background:#a44b3e;color:#fff;font:400 12px/1.4 var(--sans,Arial,sans-serif);visibility:hidden;cursor:pointer}
 .cart-page .cart-item.is-swiped .cart-swipe-delete{visibility:visible}
 .cart-page .cart-item.is-swiped .cart-item-surface{transform:translateX(-88px)}
 .cart-page .cart-main:not(.cart-app-checkout) .cart-summary{position:fixed;bottom:0;left:0;right:0;z-index:20;padding:16px 20px calc(16px + env(safe-area-inset-bottom));background:#f7f5ee;border:0;border-radius:0;box-shadow:none}
 .cart-page .cart-summary .cart-app-next{max-width:none}
 .cart-page .cart-total dt,.cart-page .cart-total dd{font-size:18px}
 .cart-page .cart-app-checkout{padding-bottom:30px}
 .cart-page .cart-app-checkout .cart-summary{padding:0;background:transparent;border-radius:0}
 .cart-page .purchase-contact-form{grid-template-columns:minmax(0,1fr);gap:22px}
 .cart-page .purchase-contact-actions{padding-top:0;margin-top:8px}
 .cart-page .cart-empty{min-height:60dvh;padding:30px 16px;background:transparent}
 .cart-page .cart-empty h1{font-size:40px;line-height:1.05}
}
@media(prefers-reduced-motion:reduce){.cart-page .cart-item-surface{transition:none}}

.cart-page .purchase-contact-name{grid-column:auto}

.cart-page .purchase-contact-actions #purchase-zone-help{display:block;width:100%;margin:0;text-align:center;font-size:12px;line-height:1.6;color:#70665c}

@media(max-width:767px){
 .cart-page .cart-items{background:transparent;box-shadow:none;border-radius:0}
 .cart-page .cart-item-surface{background:transparent}
}

.checkout-mobile-total{display:none}
@media(max-width:767px){
 .cart-page .cart-app-checkout{padding-bottom:calc(180px + env(safe-area-inset-bottom,0px))}
 .cart-page .cart-app-checkout .cart-summary>dl{display:none}
 .cart-page .cart-app-checkout .purchase-contact-actions{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;gap:16px;margin:0;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));background:#fbf8f4}
 .cart-page .checkout-mobile-total{display:flex;align-items:center;justify-content:space-between;gap:16px;font:500 18px/1.4 var(--sans,Arial,sans-serif);color:#39362f}
 .cart-page .checkout-mobile-total strong{font:inherit;white-space:nowrap}
 .cart-page .purchase-contact-field #purchase-zone-help{text-align:center;font-size:12px;line-height:1.6;margin:4px 0 0}
}

/* One mobile bottom-bar geometry for cart and checkout. */
@media(max-width:767px){
 .cart-page .cart-main:not(.cart-app-checkout) .cart-summary,
 .cart-page .cart-app-checkout .purchase-contact-actions{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0;padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));background:#fbf8f4;border:0;border-radius:0;box-shadow:none}
 .cart-page .cart-main:not(.cart-app-checkout) .cart-summary .cart-total,
 .cart-page .checkout-mobile-total{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:26px;height:26px;margin:0;padding:0;border:0;font:500 18px/26px var(--sans,Arial,sans-serif)}
 .cart-page .cart-main:not(.cart-app-checkout) .cart-summary .cart-total :is(dt,dd),
 .cart-page .checkout-mobile-total :is(span,strong){margin:0;padding:0;font:inherit;color:#39362f}
 .cart-page .cart-main:not(.cart-app-checkout) .cart-summary .cart-app-next,
 .cart-page .cart-app-checkout .purchase-contact-actions>button{box-sizing:border-box;width:100%;max-width:none;height:52px;min-height:52px;margin:0;padding:13px 20px;font:600 14px/1.4 var(--sans,Arial,sans-serif)}
}
