/* ============================================================
   CART PAGE
   Form-control rules carry `body.woocommerce-cart` so they outrank
   Hello Elementor and WooCommerce core styles.
   ============================================================ */

.lct{--c:#7D029B;--c-dark:#65027E;--plum:#3B0F47;--plum-d:#2C0A36;--txt:#29212C;--mut:#776D79;--line:#EADCEE;--soft:#F7F1FA;position:relative;width:100%;padding:clamp(16px,2vw,30px) clamp(12px,1.8vw,26px) clamp(40px,4vw,70px);font-family:'Cabin',system-ui,-apple-system,sans-serif;color:var(--txt);-webkit-font-smoothing:antialiased}
.lct *{box-sizing:border-box}
.lct h1,.lct h2,.lct h3,.lct p,.lct dl,.lct dt,.lct dd{margin:0;padding:0;border:0}
.lct a{text-decoration:none;box-shadow:none;color:inherit}
.lct :focus-visible{outline:2px solid var(--c);outline-offset:3px}
.lct__w{max-width:1500px;margin:0 auto}
.lct .screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


/* ============================================================
   BANNER + STEPS
   ============================================================ */
.lct__banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;min-height:clamp(140px,12vw,180px);padding:clamp(24px,3vw,40px) clamp(22px,3vw,52px);overflow:hidden;background:linear-gradient(100deg,var(--plum-d) 0%,var(--plum) 46%,var(--c) 100%);border-radius:clamp(14px,1.6vw,24px);color:#fff}
.lct__crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.72)}
.lct .lct__crumb a{color:rgba(255,255,255,.72)}
.lct .lct__crumb a:hover{color:#fff}
.woocommerce .lct h1.lct__h1,.lct .lct__h1{margin:10px 0 0;font-family:'Cabin',sans-serif;font-size:clamp(28px,3.6vw,46px);font-weight:700;line-height:1.08;letter-spacing:-.022em;color:#fff}
.lct .lct__lead{margin-top:8px;max-width:46ch;font-size:clamp(14px,1.05vw,16px);line-height:1.55;color:rgba(255,255,255,.8)}

.lct ol.lct__steps{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.lct li.lct__step{display:flex;align-items:center;gap:9px;margin:0;padding:0;list-style:none;font-size:13.5px;font-weight:600;color:rgba(255,255,255,.62)}
.lct__step i{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1.5px solid rgba(255,255,255,.4);border-radius:50%;font-style:normal;font-size:13px;font-weight:700}
.lct li.lct__step.on,.lct li.lct__step.done{color:#fff}
.lct__step.on i{background:#fff;border-color:#fff;color:var(--c)}
.lct__step.done i{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.7)}
.lct li.lct__bar{width:34px;height:1.5px;margin:0;padding:0;list-style:none;background:rgba(255,255,255,.35)}


/* ============================================================
   NOTICES
   ============================================================ */
body.woocommerce-cart .woocommerce-notices-wrapper:not(:empty){max-width:1500px;margin:clamp(14px,1.6vw,22px) auto 0;font-family:'Cabin',system-ui,sans-serif}
body.woocommerce-cart > .site .woocommerce > .woocommerce-notices-wrapper:not(:empty),
body.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper:not(:empty){padding:0 clamp(12px,1.8vw,26px)}

body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 12px;padding:14px 20px;border:1px solid #EADCEE;border-left:3px solid #7D029B;border-top-width:1px;border-radius:12px;background:#fff;font-size:14.5px;line-height:1.5;color:#29212C;list-style:none}
body.woocommerce-cart .woocommerce-error{border-left-color:#B42828}
body.woocommerce-cart .woocommerce-error li{margin:0;list-style:none}
body.woocommerce-cart .woocommerce-message::before,
body.woocommerce-cart .woocommerce-info::before,
body.woocommerce-cart .woocommerce-error::before{content:none}
body.woocommerce-cart .woocommerce-message a,
body.woocommerce-cart .woocommerce-info a{font-weight:700;color:#7D029B}
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button{order:2;float:none;margin:0;padding:8px 16px;border:1.6px solid #7D029B;border-radius:999px;background:#fff;color:#7D029B;font-size:13px;font-weight:700}


/* ============================================================
   LAYOUT
   ============================================================ */
.lct__layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:clamp(16px,1.8vw,30px);align-items:start;margin-top:clamp(18px,2vw,30px)}
.lct__main{min-width:0}
.lct__side{position:sticky;top:24px;min-width:0}


/* ============================================================
   ITEMS
   ============================================================ */
.lct__card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}

.lct__head,
body.woocommerce-cart .lct li.lct__row{display:grid;grid-template-columns:88px minmax(0,1fr) 110px 136px 110px 36px;gap:18px;align-items:center}

.lct__head{padding:14px 24px;border-bottom:1px solid var(--line);background:var(--soft);font-size:12.5px;font-weight:600;color:var(--mut)}
.lct__head span:first-child{grid-column:span 2}
.lct__head .r{text-align:right}

body.woocommerce-cart .lct ul.lct__rows{margin:0;padding:0 24px;list-style:none}
body.woocommerce-cart .lct li.lct__row{margin:0;padding:22px 0;list-style:none;border-bottom:1px solid var(--line)}
body.woocommerce-cart .lct li.lct__row:last-child{border-bottom:0}

.lct .lct__thumb{position:relative;display:block;width:88px;aspect-ratio:1/1.15;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:radial-gradient(80% 65% at 50% 38%,var(--tint,#F7F1FA) 0%,#fff 78%)}
.lct__thumb img{display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;object-fit:contain;padding:8%}

.lct__info{min-width:0}
.lct .lct__name{display:block;font-size:16px;font-weight:700;line-height:1.3;color:var(--plum);transition:color .3s ease}
.lct a.lct__name:hover{color:var(--c)}
.lct dl.variation{display:grid;grid-template-columns:auto 1fr;gap:3px 8px;margin-top:8px;font-size:13px;line-height:1.45;color:var(--mut)}
.lct dl.variation dt{font-weight:600;color:var(--txt)}
.lct dl.variation dd p{margin:0}
.lct .backorder_notification{margin-top:6px;font-size:12.5px;font-weight:600;color:#B42828}
.lct p.lct__each{display:none;margin-top:8px;font-size:13px;color:var(--mut)}

.lct__unit{font-size:15px;font-weight:600;color:var(--txt)}
.lct__total{font-size:16px;font-weight:700;color:var(--c);text-align:right;white-space:nowrap}

/* ---- quantity ---- */
body.woocommerce-cart .lct .lct__qty{display:inline-flex;align-items:center;justify-self:start;margin:0;border:1.6px solid var(--line);border-radius:999px;background:#fff;overflow:hidden}
body.woocommerce-cart .lct .lct__qty.is-single{border:0}
body.woocommerce-cart .lct .lct__qty div.quantity{display:block;float:none;margin:0;padding:0}
body.woocommerce-cart .lct .lct__qty button.minus,
body.woocommerce-cart .lct .lct__qty button.plus{display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#fff;color:var(--c);font-family:inherit;font-size:18px;font-weight:700;line-height:1;box-shadow:none;cursor:pointer;transition:background .25s ease,color .25s ease}
body.woocommerce-cart .lct .lct__qty button.minus:hover,
body.woocommerce-cart .lct .lct__qty button.plus:hover{background:var(--c);color:#fff}
body.woocommerce-cart .lct .lct__qty button.minus:focus,
body.woocommerce-cart .lct .lct__qty button.plus:focus{background:#fff;color:var(--c)}
body.woocommerce-cart .lct .lct__qty input.qty{width:42px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;font-family:inherit;font-size:15px;font-weight:700;line-height:44px;text-align:center;color:var(--plum);outline:none;-moz-appearance:textfield}
body.woocommerce-cart .lct .lct__qty input.qty::-webkit-outer-spin-button,
body.woocommerce-cart .lct .lct__qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---- remove ---- */
.lct__rmwrap{display:flex;justify-content:flex-end}
body.woocommerce-cart .lct a.lct__rm{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--mut);transition:background .25s ease,color .25s ease,border-color .25s ease}
body.woocommerce-cart .lct a.lct__rm:hover{background:#B42828;border-color:#B42828;color:#fff}
.lct a.lct__rm svg{width:16px;height:16px}


/* ============================================================
   TOOLS: coupon + keep shopping
   ============================================================ */
.lct__tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:18px 24px;border-top:1px solid var(--line);background:var(--soft)}

body.woocommerce-cart .lct .lct__coupon{display:flex;gap:8px;flex:1 1 320px;max-width:420px;margin:0;padding:0;float:none}
body.woocommerce-cart .lct .lct__coupon input#coupon_code{flex:1;width:auto;min-width:0;min-height:46px;margin:0;padding:0 18px;border:1.6px solid var(--line);border-radius:999px;background:#fff;box-shadow:none;font-family:inherit;font-size:14.5px;font-weight:500;color:var(--txt);outline:none;transition:border-color .25s ease,box-shadow .25s ease}
body.woocommerce-cart .lct .lct__coupon input#coupon_code:focus{border-color:var(--c);box-shadow:0 0 0 3px rgba(125,2,155,.1)}
body.woocommerce-cart .lct .lct__coupon button.button{flex:none;width:auto;min-height:46px;margin:0;padding:0 22px;border:1.6px solid var(--plum);border-radius:999px;background:#fff;color:var(--plum);font-family:inherit;font-size:14px;font-weight:700;line-height:1;text-transform:none;box-shadow:none;cursor:pointer;transition:background .25s ease,color .25s ease}
body.woocommerce-cart .lct .lct__coupon button.button:hover,
body.woocommerce-cart .lct .lct__coupon button.button:focus{background:var(--plum);color:#fff}

.lct .lct__back{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--c)}
.lct__back svg{width:16px;height:16px;transition:transform .3s ease}
.lct__back:hover svg{transform:translateX(-4px)}

/* quantities save automatically; the button stays for WooCommerce's script */
body.woocommerce-cart .lct button.lct__update{position:absolute!important;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0;white-space:nowrap}


/* ============================================================
   SUMMARY
   ============================================================ */
.lct__sum{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 50px -32px rgba(50,17,59,.35)}
.lct__sumhead{position:relative;padding:20px 24px 18px;background:var(--c);color:#fff}
.woocommerce .lct .lct__sumhead h2,.lct .lct__sumhead h2{margin:0;font-family:'Cabin',sans-serif;font-size:19px;font-weight:700;color:#fff}
.lct .lct__sumhead p{margin-top:3px;font-size:13px;color:rgba(255,255,255,.78)}
.lct__scallop{position:relative;height:14px;margin-top:-1px;overflow:hidden}
.lct__scallop::before{content:"";position:absolute;inset:0 -12px 0 0;background-image:radial-gradient(circle at 12px 0,var(--c) 11px,transparent 11.5px);background-size:24px 14px;background-repeat:repeat-x}

.lct__sumbody{padding:10px 24px 24px}
.lct__line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;font-size:14.5px;color:var(--mut)}
.lct__line b{font-weight:600;color:var(--txt);text-align:right}
.lct__line small{font-size:13px}
.lct__line.is-disc b{color:#1F7A45}
.lct__line.is-disc small{font-weight:700;color:var(--plum)}
.lct a.woocommerce-remove-coupon{display:block;margin-top:2px;font-size:12px;font-weight:600;color:#B42828}

.lct__grand{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:6px;padding-top:16px;border-top:1px dashed var(--line)}
.lct__grand span{font-size:15px;font-weight:700;color:var(--plum)}
.lct__grand b{font-size:28px;font-weight:700;line-height:1;color:var(--c)}
.lct__grand small,.lct__grand .includes_tax{display:block;margin-top:4px;font-size:12px;font-weight:500;color:var(--mut)}

body.woocommerce-cart .lct a.lct__go{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;margin-top:20px;padding:0 24px;border-radius:999px;background:var(--c);color:#fff;font-size:15.5px;font-weight:700;overflow:hidden;box-shadow:0 14px 30px -14px rgba(125,2,155,.6);transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.lct a.lct__go::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.4),rgba(255,255,255,0));transform:skewX(-18deg);transition:left .65s cubic-bezier(.3,.7,.3,1)}
.lct a.lct__go:hover::before{left:125%}
body.woocommerce-cart .lct a.lct__go:hover{background:var(--c-dark);color:#fff;transform:translateY(-2px);box-shadow:0 22px 38px -16px rgba(125,2,155,.7)}
.lct a.lct__go svg{width:18px;height:18px}

.lct ul.lct__assure{display:flex;flex-direction:column;gap:10px;margin:20px 0 0;padding:18px 0 0;list-style:none;border-top:1px solid var(--line)}
.lct ul.lct__assure li{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:13.5px;line-height:1.45;color:var(--mut)}
.lct__assure svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--c)}

.lct__pay{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.lct__pay i{display:flex;align-items:center;justify-content:center;min-width:52px;height:32px;padding:0 8px;border:1px solid var(--line);border-radius:8px;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.04em;color:var(--plum)}

.lct a.lct__help{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:16px;font-size:13.5px;font-weight:700;color:var(--c)}
.lct__help svg{width:16px;height:16px}
.lct a.lct__help:hover{text-decoration:underline}

.lct__mbar{display:none}


/* ============================================================
   CROSS-SELLS
   ============================================================ */
.lct__more{margin-top:clamp(28px,3vw,44px)}
.woocommerce .lct .lct__more h2,.lct .lct__more h2{margin:0;font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:-.015em;color:var(--plum)}
.lct .lct__more > p{margin-top:4px;font-size:14.5px;color:var(--mut)}
.lct__xs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}
.lct__x{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .3s ease}
.lct__x:hover{border-color:rgba(125,2,155,.35)}
.lct .lct__x .lct__thumb{width:64px;border-radius:10px}
.lct a.lct__xname{display:block;font-size:14px;font-weight:700;line-height:1.3;color:var(--plum)}
.lct a.lct__xname:hover{color:var(--c)}
.lct__xprice{display:block;margin-top:2px;font-size:13px;color:var(--mut)}
.lct__xprice del{opacity:.7}
.lct__xprice ins{text-decoration:none;background:none;font-weight:700;color:var(--c)}
body.woocommerce-cart .lct a.lct__xadd{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:0;border:0;background:none;color:var(--c);font-size:13px;font-weight:700;transition:opacity .25s ease}
body.woocommerce-cart .lct a.lct__xadd.loading{opacity:.5;pointer-events:none}
body.woocommerce-cart .lct a.lct__xadd.added{color:#1F7A45}
body.woocommerce-cart .lct a.lct__xadd::after{content:none!important}
.lct a.lct__xadd svg{width:14px;height:14px}
.lct a.added_to_cart{display:none!important}


/* ============================================================
   EMPTY
   ============================================================ */
.lct__empty{display:flex;flex-direction:column;align-items:center;gap:14px;padding:70px 24px;text-align:center}
.lct__empty svg{width:56px;height:56px;color:var(--c);opacity:.35}
.woocommerce .lct .lct__empty h2,.lct .lct__empty h2{margin:0;font-size:22px;font-weight:700;color:var(--plum)}
.lct .lct__empty p{font-size:15px;color:var(--mut)}
body.woocommerce-cart .lct .lct__empty a.lct__go{width:auto;min-width:240px}
.lct.is-empty .lct__card{margin-top:clamp(18px,2vw,30px)}


/* ============================================================
   PAGE SHELL — full width, no theme title
   ============================================================ */
body.woocommerce-cart:not([class*=elementor-page-]) .site-main,
body.woocommerce-cart #primary.content-area{max-width:none;width:100%;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}
body.woocommerce-cart .site-main > .page-header{display:none}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1180px){
  .lct__layout{grid-template-columns:minmax(0,1fr) 340px}
  .lct__head,
  body.woocommerce-cart .lct li.lct__row{grid-template-columns:80px minmax(0,1fr) 100px 128px 96px 36px;gap:14px}
  .lct .lct__thumb{width:80px}
  .lct__xs{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:980px){
  .lct__layout{grid-template-columns:1fr}
  .lct__side{position:relative;top:auto}
}

@media (max-width:760px){
  .lct{padding-left:16px;padding-right:16px;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px));overflow-x:clip}
  .lct.is-empty{padding-bottom:40px}
  .lct__banner{padding:22px 20px}
  .lct ol.lct__steps{gap:8px}
  .lct li.lct__step{font-size:12.5px}
  .lct__step i{width:26px;height:26px;font-size:12px}
  .lct li.lct__bar{width:18px}

  .lct__head{display:none}
  body.woocommerce-cart .lct ul.lct__rows{padding:0 16px}
  body.woocommerce-cart .lct li.lct__row{grid-template-columns:76px minmax(0,1fr) 36px;grid-template-areas:"thumb info rm" "thumb qty total";gap:10px 14px;align-items:start;padding:18px 0}
  .lct .lct__thumb{grid-area:thumb;width:76px}
  .lct__info{grid-area:info}
  .lct__rmwrap{grid-area:rm}
  body.woocommerce-cart .lct a.lct__rm{width:32px;height:32px}
  .lct__unit{display:none}
  .lct p.lct__each{display:block}
  body.woocommerce-cart .lct .lct__qty{grid-area:qty;align-self:end}
  body.woocommerce-cart .lct .lct__qty button.minus,
  body.woocommerce-cart .lct .lct__qty button.plus{width:36px;height:40px}
  body.woocommerce-cart .lct .lct__qty input.qty{width:34px;height:40px;line-height:40px}
  .lct__total{grid-area:total;grid-column:2 / 4;align-self:center;justify-self:end}

  .lct__tools{padding:16px}
  body.woocommerce-cart .lct .lct__coupon{max-width:none;flex-basis:100%}
  .lct__xs{grid-template-columns:1fr}

  .lct__mbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--line);box-shadow:0 -14px 30px -20px rgba(50,17,59,.35)}
  .lct__mbar small{display:block;font-size:12px;color:var(--mut)}
  .lct__mbar b{font-size:20px;font-weight:700;color:var(--plum)}
  .lct .lct__mbar a{display:flex;align-items:center;justify-content:center;flex:1;max-width:220px;min-height:50px;border-radius:999px;background:var(--c);color:#fff;font-size:15px;font-weight:700;box-shadow:0 12px 24px -12px rgba(125,2,155,.6)}
}

@media (max-width:420px){
  .lct li.lct__step span{display:none}
  .lct li.lct__step.on span{display:inline}
}

@media (prefers-reduced-motion:reduce){
  .lct *{transition:none!important}
}


/* completed steps show a tick instead of their number */
.lct li.lct__step.done i{position:relative;font-size:0}
.lct li.lct__step.done i::after{content:"";width:6px;height:11px;margin-top:-3px;border:solid #fff;border-width:0 2.4px 2.4px 0;transform:rotate(45deg)}