/* ============================================================
   MY ACCOUNT + PASSWORD RESET
   Builds on cart.css (banner) and order.css (order view cards).
   ============================================================ */

.lac{--c:#7D029B;--c-dark:#65027E;--plum:#3B0F47;--plum-d:#2C0A36;--txt:#29212C;--mut:#776D79;--line:#EADCEE;--soft:#F7F1FA;--ok:#1F7A45;--bad:#B42828;font-family:'Cabin',system-ui,-apple-system,sans-serif;color:var(--txt);-webkit-font-smoothing:antialiased}
.lct.lac{padding-bottom:clamp(40px,4vw,70px)}
.lac *{box-sizing:border-box}
.lac h2,.lac h3,.lac p,.lac ul,.lac li,.lac dl,.lac dt,.lac dd{margin:0;padding:0;border:0}
.lac ul,.lac li{list-style:none}
.lac a{text-decoration:none}
.lac :focus-visible{outline:2px solid var(--c);outline-offset:3px}
.lct .lac__w{max-width:1280px}

/* ---- page shell ---- */
body.woocommerce-account:not([class*=elementor-page-]) .site-main,
body.woocommerce-account #primary.content-area{max-width:none;width:100%;margin-inline-start:0;margin-inline-end:0;padding-inline-start:0;padding-inline-end:0}

.lac__avatar{display:flex;align-items:center;justify-content:center;flex:none;width:72px;height:72px;border:1.5px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(255,255,255,.16);font-size:26px;font-weight:700;color:#fff}


/* ============================================================
   NOTICES
   ============================================================ */
body.woocommerce-account .lac .woocommerce-notices-wrapper:not(:empty){margin-top:clamp(14px,1.6vw,22px)}
body.woocommerce-account .lac .woocommerce-message,
body.woocommerce-account .lac .woocommerce-info,
body.woocommerce-account .lac .woocommerce-error{display:block;margin:0 0 12px;padding:14px 20px;border:1px solid #EADCEE;border-left:3px solid #7D029B;border-radius:12px;background:#fff;font-size:14.5px;line-height:1.5;color:#29212C;list-style:none}
body.woocommerce-account .lac .woocommerce-message{border-left-color:#1F7A45}
body.woocommerce-account .lac .woocommerce-error{border-left-color:#B42828}
body.woocommerce-account .lac .woocommerce-error li{margin:0;list-style:none}
body.woocommerce-account .lac .woocommerce-message::before,
body.woocommerce-account .lac .woocommerce-info::before,
body.woocommerce-account .lac .woocommerce-error::before{content:none}
body.woocommerce-account .lac .woocommerce-message .button,
body.woocommerce-account .lac .woocommerce-info .button{float:none;margin:0 0 0 10px;padding:6px 14px;border:1.4px solid #7D029B;border-radius:999px;background:#fff;color:#7D029B;font-size:13px;font-weight:700}


/* ============================================================
   FIELDS + BUTTONS
   ============================================================ */
.lac__f{display:flex;flex-direction:column;gap:7px;min-width:0}
.lac__f label{font-size:13.5px;font-weight:600;color:var(--txt)}
body.woocommerce-account .lac .lac__f input{width:100%;min-height:50px;margin:0;padding:0 16px;border:1.6px solid var(--line);border-radius:12px;background:#fff;box-shadow:none;font-family:inherit;font-size:15px;color:var(--txt);outline:none;transition:border-color .25s ease,box-shadow .25s ease}
body.woocommerce-account .lac .lac__f input:focus{border-color:var(--c);box-shadow:0 0 0 3px rgba(125,2,155,.1)}
.lac__pw{position:relative}
body.woocommerce-account .lac .lac__pw input{padding-right:52px}
body.woocommerce-account .lac button.lac__eye{position:absolute;right:6px;top:50%;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;color:var(--mut);cursor:pointer;transform:translateY(-50%)}
body.woocommerce-account .lac button.lac__eye:hover,
body.woocommerce-account .lac button.lac__eye:focus,
body.woocommerce-account .lac button.lac__eye.on{background:var(--soft);color:var(--c)}
.lac__eye svg{width:18px;height:18px}

.lac__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.lac__grid .wide{grid-column:1 / -1}
.lac__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lac__check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}
body.woocommerce-account .lac .lac__check input{width:18px;height:18px;margin:0;accent-color:#7D029B}
.lac a.lac__link{font-size:14px;font-weight:700;color:var(--c)}
.lac a.lac__link:hover{text-decoration:underline}
.lac .lac__hint{font-size:13px;line-height:1.5;color:var(--mut)}

.lac .lac__btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;margin:0;padding:0 26px;border:1.6px solid var(--plum);border-radius:999px;background:#fff;box-shadow:none;color:var(--plum);font-family:inherit;font-size:15px;font-weight:700;line-height:1;text-transform:none;white-space:nowrap;cursor:pointer;transition:background .3s ease,color .3s ease,transform .3s ease}
.lac .lac__btn:hover,.lac .lac__btn:focus{background:var(--plum);color:#fff;transform:translateY(-2px)}
.lac .lac__btn.solid{border-color:var(--c);background:var(--c);color:#fff;box-shadow:0 12px 24px -12px rgba(125,2,155,.6)}
.lac .lac__btn.solid:hover,.lac .lac__btn.solid:focus{border-color:var(--c-dark);background:var(--c-dark)}
.lac .lac__btn.full{width:100%}
.lac .lac__btn.sm{min-height:40px;padding:0 16px;font-size:13.5px}
.lac .lac__btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* password strength meter (WooCommerce) */
.lac .woocommerce-password-strength{margin-top:6px;padding:6px 12px;border-radius:8px;font-size:12.5px;font-weight:700;text-align:left}
.lac .woocommerce-password-hint{display:block;margin-top:6px;font-size:12.5px;line-height:1.5;color:var(--mut)}


/* ============================================================
   SIGNED OUT
   ============================================================ */
.lac__auth{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.8vw,30px);margin-top:clamp(18px,2vw,30px)}
.lac__auth.is-single{grid-template-columns:minmax(0,520px);justify-content:center}
.lac__card{padding:clamp(22px,2.4vw,34px);background:#fff;border:1px solid var(--line);border-radius:20px}
.woocommerce .lac .lac__card h2,.lac .lac__card h2{margin:0;font-family:'Cabin',sans-serif;font-size:22px;font-weight:700;color:var(--plum)}
.lac .lac__card > p{margin-top:6px;font-size:14.5px;line-height:1.55;color:var(--mut)}
.lac__card.tint{background:linear-gradient(180deg,var(--soft) 0%,#fff 70%);border-color:rgba(125,2,155,.25)}

body.woocommerce-account .lac form.lac__form{display:flex;flex-direction:column;gap:16px;margin:22px 0 0;padding:0;border:0;border-radius:0;text-align:left}
.lac .lac__perks{display:grid;gap:10px;margin-top:18px}
.lac__perks li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}
.lac__perks svg{flex:none;margin-top:1px;color:var(--c)}
.lac .lac__guest{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);font-size:13.5px;color:var(--mut)}
.lac .lac__back{align-self:center}

.lac__done{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.lac__doneicon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(31,122,69,.1);color:var(--ok)}
.lac .lac__done > p{max-width:40ch}
.lac__done .lac__btn{margin-top:8px}


/* ============================================================
   SIGNED IN — layout + navigation
   ============================================================ */
.lac__layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(16px,1.8vw,30px);align-items:start;margin-top:clamp(18px,2vw,30px)}

body.woocommerce-account .lac .lac__nav{position:sticky;top:24px;float:none;width:auto;margin:0;padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px}
.lac .lac__nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:12px;font-size:15px;font-weight:600;color:var(--txt);transition:background .25s ease,color .25s ease}
.lac__nav a svg{flex:none;width:19px;height:19px;color:var(--mut);transition:color .25s ease}
.lac .lac__nav a:hover{background:var(--soft);color:var(--c)}
.lac__nav a:hover svg{color:var(--c)}
.lac .lac__nav a.on{background:var(--c);color:#fff}
.lac__nav a.on svg{color:#fff}
.lac .lac__nav a.out{margin-top:6px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;color:var(--mut)}
.lac__nav em{margin-left:auto;padding:2px 9px;border-radius:999px;background:var(--soft);font-style:normal;font-size:12px;font-weight:700;color:var(--c)}
.lac__nav a.on em{background:rgba(255,255,255,.2);color:#fff}

body.woocommerce-account .lac .lac__content{display:flex;flex-direction:column;gap:16px;float:none;width:auto;min-width:0}


/* ============================================================
   SECTIONS
   ============================================================ */
.lac__sec{padding:clamp(18px,2vw,26px);background:#fff;border:1px solid var(--line);border-radius:18px}
.woocommerce .lac .lac__sec h3,.lac .lac__sec h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;font-family:'Cabin',sans-serif;font-size:18px;font-weight:700;color:var(--plum)}
.lac .lac__sec h3 a{font-size:14px;font-weight:700;color:var(--c)}

/* latest order */
.lac__latest{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center}
.lac__cal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:68px;height:76px;border-radius:14px;background:var(--c);color:#fff;box-shadow:0 12px 24px -14px rgba(125,2,155,.7)}
.lac__cal small{font-size:11.5px;font-weight:700;opacity:.85}
.lac__cal b{font-size:28px;font-weight:700;line-height:1}
.lac__cal span{font-size:12px;font-weight:600;opacity:.85}
.lac__cal.is-icon svg{width:28px;height:28px}
.lac__latest strong{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:17px;font-weight:700;color:var(--plum)}
.lac .lac__latest p{margin-top:6px;font-size:14px;color:var(--mut)}

/* badges */
.lac__badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--soft);font-size:12.5px;font-weight:700;color:var(--c);white-space:nowrap}
.lac__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.lac__badge.done{background:rgba(31,122,69,.1);color:var(--ok)}
.lac__badge.hold{background:#FDF3E3;color:#9A5B00}
.lac__badge.bad{background:rgba(180,40,40,.08);color:var(--bad)}

/* tiles */
.lac__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lac .lac__tile{display:flex;flex-direction:column;gap:10px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--txt);transition:border-color .25s ease,transform .3s ease}
.lac .lac__tile:hover{border-color:var(--c);transform:translateY(-2px)}
.lac__tile i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:var(--soft);color:var(--c)}
.lac__tile i svg{width:20px;height:20px}
.lac__tile strong{font-size:15.5px;font-weight:700;color:var(--plum)}
.lac__tile span{font-size:13.5px;line-height:1.45;color:var(--mut)}

/* help */
.lac__help{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.lac__help > svg{flex:none;width:22px;height:22px;color:var(--c)}
.lac__help > div{flex:1;font-size:14px;color:var(--mut)}
.lac__help strong{display:block;font-size:15px;color:var(--plum)}

/* orders */
.lac__orders{display:flex;flex-direction:column;gap:10px}
.lac__order{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto auto auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .25s ease}
.lac__order:hover{border-color:rgba(125,2,155,.35)}
.lac__order strong{display:block;font-size:15.5px;font-weight:700;color:var(--plum)}
.lac__order strong.lac__whenv{font-size:14px}
.lac__order small{display:block;margin-top:2px;font-size:13px;color:var(--mut)}
.lac__order > b{font-size:15.5px;font-weight:700;color:var(--txt);white-space:nowrap}
.lac__acts{display:flex;gap:8px;flex-wrap:wrap}
.lac__pager{display:flex;justify-content:center;gap:8px;margin-top:16px}

.lac__empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 20px;text-align:center}
.lac__empty > svg{width:48px;height:48px;color:var(--c);opacity:.35}
.lac .lac__empty p{font-size:15px;color:var(--mut)}

/* account details */
.lac__pwbox{margin-top:20px;padding:18px;border:1px dashed var(--line);border-radius:14px}
.lac__pwbox summary{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:15px;font-weight:700;color:var(--plum);cursor:pointer;list-style:none}
.lac__pwbox summary::-webkit-details-marker{display:none}
.lac__pwbox summary svg{width:16px;height:16px;color:var(--c);transition:transform .3s ease}
.lac__pwbox[open] summary svg{transform:rotate(180deg)}
.lac__pwbox .lac__grid{margin-top:16px}
.lac__pwbox .lac__hint{margin-top:12px}
.lac__save{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}

/* order view inside the account column */
.lac__content .lok--account{gap:16px}


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .lac__layout{grid-template-columns:1fr}
  body.woocommerce-account .lac .lac__nav{position:relative;top:auto;display:flex;gap:6px;padding:6px;overflow-x:auto;scrollbar-width:none}
  .lac__nav::-webkit-scrollbar{display:none}
  .lac .lac__nav a{flex:none;min-height:42px;padding:0 14px;white-space:nowrap}
  .lac .lac__nav a.out{margin:0;border-top:0;border-radius:12px}
  .lac__order{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}
  .lac__order > :nth-child(2){grid-column:1}
  .lac__order > :nth-child(3){grid-column:2;grid-row:2;justify-self:end}
  .lac__order > :nth-child(4){grid-column:2;grid-row:1;justify-self:end}
  .lac__order > :nth-child(5){grid-column:1 / -1}
  .lac__acts .lac__btn{flex:1}
}
@media (max-width:760px){
  .lct.lac{padding-left:16px;padding-right:16px;padding-bottom:40px}
  .lac__avatar{display:none}
  .lac__auth,.lac__grid,.lac__tiles{grid-template-columns:1fr}
  .lac__latest{grid-template-columns:auto minmax(0,1fr)}
  .lac__latest .lac__btn{grid-column:1 / -1}
  .lac__help{flex-wrap:wrap}
  .lac__help .lac__btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .lac *{transition:none!important}
}