.auth-page{min-height:100vh;padding:calc(var(--nav-height) + 70px) 5% 80px;display:grid;grid-template-columns:1fr minmax(380px,520px);gap:70px;align-items:center;background:#f5f1e9}.auth-visual{min-height:560px;border-radius:4px;padding:70px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(0deg,rgba(18,52,46,.82),rgba(18,52,46,.08)),url('../../images/interiors/interior-02.jpg') center/cover}.auth-visual span,.auth-eyebrow{color:#c7a775;font-size:.78rem}.auth-visual h1{font-size:clamp(2.5rem,5vw,5rem);margin:.2em 0}.auth-visual p{font-size:1.05rem}.auth-card{background:#fff;padding:50px;border-radius:22px;box-shadow:0 22px 70px rgba(30,54,48,.1)}.auth-card h2{font-size:2rem;margin:.35em 0}.auth-card>p{color:#74817d}.auth-card form{display:flex;flex-direction:column;gap:17px;margin-top:30px}.auth-card label{display:flex;flex-direction:column;gap:8px;color:#425851;font-size:.85rem}.auth-card input:not([type=checkbox]){width:100%;border:1px solid #dedbd4;border-radius:12px;padding:13px;background:#fdfdfc;outline:none}.auth-card input:focus{border-color:#a88452;box-shadow:0 0 0 3px rgba(168,132,82,.12)}.auth-check{flex-direction:row!important;align-items:center}.auth-submit{border:0;border-radius:12px;padding:14px;background:#173b35;color:#fff;cursor:pointer;font-weight:700}.auth-switch{text-align:center;font-size:.84rem}.auth-switch a{color:#9b7442}.form-error{color:#b44747}.account-page{min-height:80vh;padding:calc(var(--nav-height) + 70px) 7% 90px;background:#f6f3ed}.account-page>header{max-width:1100px;margin:auto auto 35px}.account-page>header span{color:#a47d47}.account-page h1{font-size:2.6rem;margin:.2em 0}.account-page header p{color:#74817d}.account-panel{max-width:1100px;margin:auto;background:#fff;padding:30px;border-radius:20px;box-shadow:0 18px 50px rgba(30,54,48,.08)}.account-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ebe7df;padding-bottom:18px}.account-head a,.account-empty a{color:#9b7442}.account-order{display:grid;grid-template-columns:1fr auto;gap:15px;padding:20px 0;border-bottom:1px solid #eee;text-decoration:none;color:#243c36}.account-order span{display:flex;flex-direction:column}.account-order small{color:#7d8985}.account-empty{text-align:center;padding:70px 20px}.account-empty p{color:#77837f}@media(max-width:850px){.auth-page{grid-template-columns:1fr;padding-top:calc(var(--nav-height) + 30px)}.auth-visual{display:none}.auth-card{padding:30px}}

/* username login + forgot-password / OTP additions */
.auth-row{flex-direction:row!important;align-items:center;justify-content:space-between;gap:12px}
.auth-forgot{color:#9b7442;font-size:.82rem;text-decoration:none;white-space:nowrap}
.auth-forgot:hover{text-decoration:underline}
.auth-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-grid-2 label{gap:8px}
.auth-resend{margin-top:12px;width:100%;border:1px solid #dedbd4;background:#fbf9f5;color:#5c6b65;border-radius:12px;padding:11px;font-size:.82rem;cursor:pointer}
.auth-resend:disabled{opacity:.6;cursor:not-allowed}
.auth-resend:not(:disabled):hover{border-color:#a88452;color:#173b35}
.auth-card form + form{margin-top:0}
@media(max-width:600px){.auth-grid-2{grid-template-columns:1fr}.auth-row{flex-wrap:wrap}}

/* show/hide password */
.pwd-field{position:relative}
.pwd-field input{padding-left:44px!important}
.pwd-toggle{position:absolute;top:50%;left:6px;transform:translateY(-50%);width:32px;height:32px;border:0;background:none;color:#9aa6a1;cursor:pointer;display:grid;place-items:center;border-radius:8px;padding:0}
.pwd-toggle:hover{background:#f3ede1;color:#173b35}
.pwd-toggle svg{width:19px;height:19px}
.pwd-toggle.is-visible{color:#173b35}
/* default = password hidden: plain eye + a slash through it ("click to reveal") */
.pwd-toggle:not(.is-visible)::after{content:"";position:absolute;left:7px;right:7px;top:50%;height:1.5px;background:currentColor;transform:rotate(-45deg);border-radius:2px}

/* simple centered success card (password-reset confirmation) */
.auth-success-card{text-align:center}
.auth-success-icon{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:#eaf3ee;color:#2f7a56;display:grid;place-items:center}
.auth-success-icon svg{width:28px;height:28px}
.auth-success-card h2{margin-bottom:10px}
.auth-success-card>p{margin-bottom:26px}

/* ============================================================
   CUSTOMER ACCOUNT PANEL — deliberately lighter/simpler than the
   admin CMS: warm ivory background, soft cards, minimal chrome.
   ============================================================ */
.account-shell{ min-height:80vh; padding: calc(var(--nav-height) + 60px) 6% 90px; background:#f6f3ed; }
.account-shell-head{ max-width:1100px; margin:0 auto 32px; }
.account-shell-head span{ color:#a47d47; font-size:.82rem; }
.account-shell-head h1{ font-family:var(--font-display); font-size:2.2rem; margin:.2em 0 0; color:#1c332e; }

.account-layout{ max-width:1100px; margin:0 auto; display:grid; grid-template-columns:220px 1fr; gap:32px; align-items:start; }

.account-nav{ display:flex; flex-direction:column; gap:2px; background:#fff; border:1px solid #ece7dc; border-radius:16px; padding:10px; position:sticky; top:calc(var(--nav-height) + 20px); }
.account-nav a{ padding:12px 14px; border-radius:11px; color:#5c6b65; font-size:.92rem; text-decoration:none; transition:background .18s ease, color .18s ease; }
.account-nav a:hover{ background:#f7f4ee; color:#1c332e; }
.account-nav a.is-active{ background:#f3ede1; color:#173b35; font-weight:600; }
.account-nav-divider{ height:1px; background:#ece7dc; margin:8px 6px; }
.account-nav-logout{ width:100%; text-align:right; border:0; background:none; padding:12px 14px; border-radius:11px; color:#a3453f; font-size:.92rem; cursor:pointer; transition:background .18s ease; }
.account-nav-logout:hover{ background:#fbeeed; }

.account-content{ min-width:0; }
.account-alert{ background:#eaf3ee; color:#285b48; padding:12px 16px; border-radius:12px; margin-bottom:18px; font-size:.88rem; }
.account-alert.error{ background:#fff0f0; color:#9c3535; }

.account-greeting h2{ font-family:var(--font-display); font-size:1.7rem; margin:0 0 4px; color:#1c332e; }
.account-greeting p{ color:#7d8985; margin:0 0 26px; }

.account-section{ margin-bottom:28px; }
.account-section h3{ font-size:1rem; color:#1c332e; margin:0 0 12px; }
.account-section-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.account-section-head h2{ font-family:var(--font-display); font-size:1.5rem; margin:0; color:#1c332e; }
.account-section-head a{ color:#9b7442; font-size:.88rem; text-decoration:none; }

.account-order-list{ display:flex; flex-direction:column; gap:10px; }
.account-order-row{
  display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap;
  background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:18px 20px;
  text-decoration:none; color:#243c36; transition:box-shadow .2s ease, border-color .2s ease;
}
.account-order-row:hover{ border-color:#d9c9a3; box-shadow:0 10px 26px rgba(30,54,48,.06); }
.account-order-row-main{ display:flex; flex-direction:column; gap:5px; }
.account-order-row-main b{ font-size:.95rem; }
.account-order-status{ display:inline-flex; width:fit-content; font-size:.74rem; color:#9b7442; background:#f7f0e2; padding:3px 10px; border-radius:20px; }
.account-order-row-meta{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; color:#7d8985; font-size:.84rem; }
.account-order-row-meta strong{ color:#1c332e; font-size:.95rem; }
.account-order-row-cta{ color:#9b7442; font-size:.82rem; white-space:nowrap; }

.account-shortcuts{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:28px; }
.account-shortcut{ background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:20px; text-decoration:none; color:#1c332e; display:flex; flex-direction:column; gap:5px; transition:box-shadow .2s ease, border-color .2s ease; }
.account-shortcut:hover{ border-color:#d9c9a3; box-shadow:0 10px 26px rgba(30,54,48,.06); }
.account-shortcut b{ font-size:.95rem; }
.account-shortcut span{ color:#7d8985; font-size:.82rem; }

.account-empty--compact{ background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:26px 20px; text-align:center; }
.account-empty--compact p{ color:#7d8985; margin:0 0 10px; }
.account-empty--compact a{ color:#9b7442; }

.account-wishlist-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:20px; }

.account-address-list{ display:flex; flex-direction:column; gap:14px; margin-bottom:20px; }
.account-address-card{ background:#fff; border:1px solid #ece7dc; border-radius:14px; padding:20px; }
.account-address-card-head{ display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.account-address-card-head b{ font-size:.95rem; color:#1c332e; }
.account-address-default{ font-size:.72rem; color:#9b7442; background:#f7f0e2; padding:3px 10px; border-radius:20px; }
.account-address-card p{ margin:2px 0; color:#5c6b65; font-size:.86rem; }
.account-address-line{ color:#7d8985 !important; }
.account-address-actions{ display:flex; align-items:center; gap:10px; margin-top:14px; }
.account-address-delete{ border:0; background:none; color:#a3453f; font-size:.84rem; cursor:pointer; padding:0; }

.account-inline-edit summary{ cursor:pointer; color:#9b7442; font-size:.86rem; list-style:none; }
.account-inline-edit summary::-webkit-details-marker{ display:none; }
.account-inline-edit[open] summary{ margin-bottom:14px; }
.account-add-address{ background:#fff; border:1px dashed #d9c9a3; border-radius:14px; padding:18px 20px; }
.account-add-address summary{ font-weight:600; }

.account-address-form,.account-profile-form{ display:grid; grid-template-columns:1fr 1fr; gap:14px; max-width:560px; }
.account-address-form label,.account-profile-form label{ display:flex; flex-direction:column; gap:6px; font-size:.82rem; color:#5c6b65; }
.account-address-form label.full{ grid-column:1/-1; }
.account-address-form input,.account-address-form textarea,
.account-profile-form input{
  border:1px solid #dedbd4; border-radius:11px; padding:11px 13px; background:#fdfdfc; outline:none; font-size:.9rem;
}
.account-address-form input:focus,.account-address-form textarea:focus,.account-profile-form input:focus{
  border-color:#a88452; box-shadow:0 0 0 3px rgba(168,132,82,.12);
}
.account-address-form textarea{ min-height:80px; resize:vertical; }
.account-profile-form input:disabled{ background:#f2f0ea; color:#93a09a; }
.account-check{ flex-direction:row !important; align-items:center; gap:8px !important; grid-column:1/-1; }
.account-check input{ width:auto; }
.account-submit{ grid-column:1/-1; width:fit-content; border:0; border-radius:12px; padding:12px 26px; background:#173b35; color:#fff; cursor:pointer; font-weight:700; font-size:.88rem; }
.account-profile-divider{ grid-column:1/-1; height:1px; background:#ece7dc; margin:6px 0; }
.account-hint{ grid-column:1/-1; color:#7d8985; font-size:.78rem; margin:-8px 0 0; }

@media(max-width:900px){
  .account-layout{ grid-template-columns:1fr; }
  .account-nav{ position:static; flex-direction:row; overflow-x:auto; gap:4px; padding:8px; }
  .account-nav a,.account-nav-logout{ white-space:nowrap; padding:10px 14px; }
  .account-nav-divider{ display:none; }
  .account-nav form{ flex-shrink:0; }
  .account-shortcuts{ grid-template-columns:1fr; }
  .account-address-form,.account-profile-form{ grid-template-columns:1fr; }
}
@media(max-width:600px){
  .account-shell{ padding: calc(var(--nav-height) + 30px) 5% 60px; }
  .account-order-row{ flex-direction:column; align-items:flex-start; }
  .account-order-row-meta{ align-items:flex-start; }
}
