/**
 * Atelier — Account area shell, shared across T24 Dashboard, T25 Orders,
 * T26 Addresses (and later T27/T28).
 * Source: design/store-theme/01-atelier-fashion/pages/T24 Account Dashboard.dc.html
 */

/* T24 Account Dashboard — suppress Magento's default account chrome that
 * bleeds in above our self-contained themed dashboard block. The design has
 * its own title + nav + info/address/order cards (atl-account-*), and the
 * artboard contains no core page-title and no default dashboard widgets. The
 * default left sidebar is already dropped by the 1column page layout; these
 * rules hide the core page-title H1 ("My Account") and the default dashboard
 * CONTENT widgets (contact info / address book / newsletter boxes) which
 * render in `content` alongside our block. CSS (not referenceBlock remove) to
 * avoid the orphaned-module-reference 500 class. Scoped to the dashboard body
 * class so no other account page is affected. */
body.atl-page-account-dashboard .page-title-wrapper,
body.atl-page-account-dashboard .block-dashboard-info,
body.atl-page-account-dashboard .block-dashboard-addresses,
body.atl-page-account-dashboard .block-dashboard-orders,
body.atl-page-account-dashboard .block-reviews-dashboard,
body.atl-page-account-dashboard .box-newsletter { display: none; }

/* T25 My Orders — same rationale as the dashboard above: 1column drops the
 * default sidebar; hide Magento's default order-history chrome (core
 * page-title + the default orders table / empty "no orders" message / pager /
 * back toolbar) so only our themed block shows. The themed markup uses
 * atl-account-* classes so there's no collision with these default selectors.
 * Scoped to the orders body class. */
body.atl-page-account-orders .page-title-wrapper,
body.atl-page-account-orders .orders-history,
body.atl-page-account-orders .table-wrapper.orders-history,
body.atl-page-account-orders .order-products-toolbar,
body.atl-page-account-orders .message.info.empty,
body.atl-page-account-orders .column.main > .actions-toolbar { display: none; }

/* T26 Address Book — same rationale: 1column drops the default sidebar; hide
 * Magento's default address chrome (core page-title + the default/additional
 * address blocks) so only our themed block shows. Themed markup uses
 * atl-account-* classes, no collision. Scoped to the addresses body class. */
body.atl-page-account-addresses .page-title-wrapper,
body.atl-page-account-addresses .block-addresses-default,
body.atl-page-account-addresses .block-addresses-list,
body.atl-page-account-addresses .column.main > .actions-toolbar { display: none; }

/* T27 Account Information / Profile — same rationale: 1column drops the
 * default sidebar; hide Magento's default edit form + core page-title so only
 * our themed profile+newsletter block shows. Themed markup uses atl-account-*
 * classes, no collision. Scoped to the profile body class. */
body.atl-page-account-profile .page-title-wrapper,
body.atl-page-account-profile .form-edit-account,
body.atl-page-account-profile .column.main > .actions-toolbar { display: none; }

/* T28 My Activity (Reviews/Downloads/Cards) — same rationale: 1column drops
 * the default sidebar; hide Magento's default "My Product Reviews" chrome
 * (core page-title + the default reviews list/table/toolbar) so only our
 * themed activity block shows. Themed markup uses atl-account-* classes, no
 * collision. Scoped to the activity body class. */
body.atl-page-account-activity .page-title-wrapper,
body.atl-page-account-activity .table-wrapper.reviews,
body.atl-page-account-activity .block.review-list,
body.atl-page-account-activity .products-reviews,
body.atl-page-account-activity .toolbar,
body.atl-page-account-activity .message.info.empty,
body.atl-page-account-activity .column.main > .actions-toolbar { display: none; }

.atl-account-heading { padding: 40px 40px 0; }
.atl-account-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.12; margin: 0; font-size: 42px; text-wrap: balance; }

.atl-account-layout { display: grid; grid-template-columns: 250px 1fr; gap: 36px; padding: 28px 40px 0; align-items: start; }

.atl-account-nav { background: var(--atl-surface); border: 1px solid var(--atl-border); padding: 10px 0; position: sticky; top: 24px; }
.atl-account-nav a { display: block; padding: 11px 20px; font-size: 13.5px; text-decoration: none; color: var(--atl-text-muted); border-left: 3px solid transparent; }
.atl-account-nav a[data-active] { color: var(--atl-accent); font-weight: 600; border-left-color: var(--atl-accent); background: var(--atl-accent-tint); }
.atl-account-nav a:focus-visible { outline: 2px solid var(--atl-focus-ring); outline-offset: -2px; }

.atl-account-content { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.atl-account-greeting { font-size: 14px; color: var(--atl-text-muted); margin: 0; }

.atl-account-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.atl-account-card { background: var(--atl-surface); border: 1px solid var(--atl-border); padding: 22px; }
.atl-account-card-label { font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--atl-text-muted); margin-bottom: 10px; }
.atl-account-card-body { font-size: 14px; line-height: 1.8; }
.atl-account-card-actions { display: flex; gap: 14px; margin-top: 10px; }
.atl-account-card-actions a, .atl-account-card a.atl-account-card-link { font-size: 12.5px; color: var(--atl-accent); text-decoration: none; }

.atl-account-panel { background: var(--atl-surface); border: 1px solid var(--atl-border); }
.atl-account-panel-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--atl-border); }
.atl-account-panel-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.12; margin: 0; font-size: 18px; text-wrap: balance; }
.atl-account-panel-head a { font-size: 13px; color: var(--atl-accent); text-decoration: none; }

.atl-account-row { display: grid; grid-template-columns: 1.2fr 1fr 1fr 0.7fr 0.9fr 0.8fr; gap: 12px; align-items: center; padding: 14px 22px; border-bottom: 1px solid var(--atl-border); font-size: 13.5px; }
.atl-account-row:last-child { border-bottom: none; }
.atl-account-row-id { font-family: monospace; }
.atl-account-row-muted { color: var(--atl-text-muted); }
.atl-account-row-view { color: var(--atl-accent); text-decoration: none; text-align: right; }

.atl-account-badge { font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 999px; border: 1px solid; opacity: 0.9; }
.atl-account-badge--processing { color: var(--atl-accent); border-color: var(--atl-accent); }
.atl-account-badge--shipped { color: var(--atl-warning); border-color: var(--atl-warning); }
.atl-account-badge--delivered { color: var(--atl-success); border-color: var(--atl-success); }
.atl-account-badge--refunded { color: var(--atl-error); border-color: var(--atl-error); }

/* T25 Orders — order list table */
.atl-account-row--orders { grid-template-columns: 1.2fr 1fr 1fr 0.7fr 0.9fr 1fr; }
.atl-account-row-head { font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--atl-text-muted); padding: 14px 22px; }
.atl-account-row-actions { text-align: right; font-size: 13.5px; }
.atl-account-row-actions a { color: var(--atl-accent); text-decoration: none; }

/* T25 Orders — order detail panel */
.atl-account-detail-head { padding: 20px 24px; border-bottom: 1px solid var(--atl-border); display: flex; align-items: center; gap: 14px; }
.atl-account-detail-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.12; margin: 0; font-size: 19px; text-wrap: balance; }
.atl-account-detail-actions { margin-left: auto; display: flex; gap: 16px; font-size: 12.5px; }
.atl-account-detail-actions a { color: var(--atl-accent); text-decoration: none; }

.atl-account-tabs { display: flex; gap: 2px; padding: 14px 24px 0; }
.atl-account-tab { padding: 10px 16px; font-size: 13px; font-weight: 600; cursor: pointer; color: var(--atl-text-subtle); border-bottom: 2px solid transparent; background: none; border-left: none; border-right: none; border-top: none; font-family: inherit; }
.atl-account-tab[data-active] { border-bottom-color: var(--atl-accent); color: var(--atl-accent); }
.atl-account-tab:focus-visible { outline: 2px solid var(--atl-focus-ring); outline-offset: 2px; }

.atl-account-items { padding: 6px 24px 0; }
.atl-account-item-row { display: grid; grid-template-columns: 1fr 110px 60px 90px; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--atl-border); font-size: 13.5px; align-items: center; }
.atl-account-item-name { font-weight: 500; }
.atl-account-item-meta { font-size: 12px; color: var(--atl-text-subtle); }
.atl-account-item-sku { font-family: monospace; color: var(--atl-text-subtle); }
.atl-account-item-price { text-align: right; }

.atl-account-totals-wrap { display: flex; justify-content: flex-end; padding: 14px 0; }
.atl-account-totals { width: 260px; display: flex; flex-direction: column; gap: 7px; }
.atl-account-totals-row { display: flex; justify-content: space-between; font-size: 13px; color: var(--atl-text-muted); }
.atl-account-totals-row--grand { font-size: 15px; font-weight: 600; color: var(--atl-text); border-top: 1px solid var(--atl-border-strong); padding-top: 7px; }

.atl-account-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 6px 24px 24px; }
.atl-account-detail-box { border: 1px solid var(--atl-border); padding: 16px; }
.atl-account-detail-box-label { font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--atl-text-muted); margin-bottom: 8px; }
.atl-account-detail-box-body { font-size: 13px; line-height: 1.8; color: var(--atl-text-muted); }
.atl-account-detail-box-body a { color: var(--atl-accent); text-decoration: none; }

/* T26 Addresses */
.atl-account-addr-row { display: flex; align-items: center; gap: 14px; padding: 14px 22px; border-bottom: 1px solid var(--atl-border); font-size: 13.5px; }
.atl-account-addr-row:last-child { border-bottom: none; }
.atl-account-addr-label { font-weight: 600; width: 90px; flex-shrink: 0; }
.atl-account-addr-summary { color: var(--atl-text-subtle); flex: 1; }
.atl-account-addr-row a { color: var(--atl-accent); text-decoration: none; }
.atl-account-addr-row a.atl-account-addr-delete { color: var(--atl-text-subtle); }

.atl-account-form { background: var(--atl-surface); border: 1px solid var(--atl-border); padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.atl-account-form-title { font-family: 'Cormorant Garamond', serif; font-weight: 400; line-height: 1.12; margin: 0; font-size: 18px; text-wrap: balance; }
.atl-account-form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.atl-account-form-row-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.atl-account-form-checks { display: flex; gap: 18px; font-size: 13px; color: var(--atl-text-muted); }
.atl-account-form-checks label { display: flex; gap: 7px; align-items: center; }
.atl-account-form-checks input { accent-color: var(--atl-accent); }
.atl-account-form-save { width: fit-content; }

/* T27 Profile / Newsletter */
.atl-account-form-checks-row { display: flex; gap: 18px; font-size: 13.5px; color: var(--atl-text-muted); }
.atl-account-form-checks-row label { display: flex; gap: 7px; align-items: center; }
.atl-account-form-checks-row input { accent-color: var(--atl-accent); }
.atl-account-newsletter-option { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; }
.atl-account-newsletter-option input { accent-color: var(--atl-accent); margin-top: 3px; }
.atl-account-newsletter-desc { font-size: 12.5px; color: var(--atl-text-muted); }
.atl-account-form-save--secondary { padding: 10px 20px; font-size: 13px; }

/* T28 Reviews / Downloads / Payment methods / Product alerts */
.atl-account-panel-title--sm { font-size: 17px; }
.atl-account-review-head { display: grid; grid-template-columns: 1fr 110px 110px 90px; gap: 12px; padding: 12px 22px; font-size: 11.5px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--atl-text-muted); border-bottom: 1px solid var(--atl-border); }
.atl-account-review-row { display: grid; grid-template-columns: 1fr 110px 110px 90px; gap: 12px; padding: 13px 22px; border-bottom: 1px solid var(--atl-border); font-size: 13.5px; }
.atl-account-review-row:last-child { border-bottom: none; }
.atl-account-review-stars { color: var(--atl-accent); }

.atl-account-list-row { display: flex; align-items: center; gap: 14px; padding: 13px 22px; border-bottom: 1px solid var(--atl-border); font-size: 13.5px; }
.atl-account-list-row:last-child { border-bottom: none; }
.atl-account-list-row-grow { flex: 1; }
.atl-account-list-row-meta { font-size: 12px; color: var(--atl-text-subtle); }
.atl-account-list-row a { color: var(--atl-accent); text-decoration: none; }
.atl-account-list-row a.atl-account-list-row-delete { margin-left: auto; color: var(--atl-text-subtle); }
.atl-account-list-row-brand { font-weight: 700; width: 100px; }
.atl-account-list-row-card { font-family: monospace; }

.atl-account-empty-note { font-size: 12.5px; color: var(--atl-text-subtle); margin: 0; }

@media (max-width: 1024px) {
  .atl-account-row--orders { grid-template-columns: 1fr 1fr; }
  .atl-account-row-actions { text-align: left; }
  .atl-account-item-row { grid-template-columns: 1fr 80px; row-gap: 4px; }
  .atl-account-item-sku { display: none; }
  .atl-account-detail-grid { grid-template-columns: 1fr; }
  .atl-account-tabs { overflow-x: auto; }
  .atl-account-addr-row { flex-wrap: wrap; }
  .atl-account-form-row-2, .atl-account-form-row-3 { grid-template-columns: 1fr; }
  .atl-account-review-head, .atl-account-review-row { grid-template-columns: 1fr 1fr; row-gap: 4px; }
  .atl-account-list-row { flex-wrap: wrap; }
}

@media (max-width: 1024px) {
  .atl-account-heading, .atl-account-layout { padding-left: 20px; padding-right: 20px; }
  .atl-account-title { font-size: 30px; }
  .atl-account-layout { grid-template-columns: 1fr; gap: 20px; }
  .atl-account-nav { position: static; }
  .atl-account-cards { grid-template-columns: 1fr; }
  .atl-account-row { grid-template-columns: 1fr 1fr; row-gap: 6px; }
  .atl-account-row-view { text-align: left; }
}

/* T25 Order detail page (sales_order_view) — same rationale as the other
 * account pages: 1column drops the default sidebar; hide Magento's default
 * order-view chrome (core page-title + status/date, the order links tabs, the
 * default items table, the address/payment info blocks and comments) so only
 * our themed detail block shows. Themed markup uses atl-account-* classes, no
 * collision. Scoped to the order-view body class. */
body.atl-page-account-order-view .page-title-wrapper,
body.atl-page-account-order-view .order-status,
body.atl-page-account-order-view .order-date,
body.atl-page-account-order-view .order-actions-toolbar,
body.atl-page-account-order-view .order-links,
body.atl-page-account-order-view .order-details-items,
body.atl-page-account-order-view .block-order-details-view,
body.atl-page-account-order-view .block-order-details-comments,
body.atl-page-account-order-view .column.main > .actions-toolbar { display: none; }

/* T25 Order detail — tabs render as links on the real page (they navigate to
 * the native invoice/shipment/creditmemo views) and item rows gain a leading
 * product thumbnail column fed by the OrderView ViewModel. */
a.atl-account-tab { text-decoration: none; display: inline-block; }
.atl-account-item-row--view { grid-template-columns: 44px 1fr 110px 60px 90px; }
.atl-account-item-thumb { width: 44px; height: 56px; object-fit: cover; background: var(--atl-border); display: block; }

@media (max-width: 1024px) {
  .atl-account-item-row--view { grid-template-columns: 44px 1fr 80px; }
}

/* T46 Returns RMA */
.atl-account-rma-item { border: 1px solid var(--atl-border); padding: 14px 16px; display: flex; gap: 14px; align-items: center; }
.atl-account-rma-item input[type="checkbox"] { accent-color: var(--atl-accent); }
.atl-account-rma-item-name { flex: 1; font-size: 13.5px; }
.atl-account-rma-item-meta { color: var(--atl-text-subtle); }
.atl-account-rma-item select { width: 90px; padding: 8px 10px; }
.atl-account-rma-item select.atl-account-rma-reason { width: 190px; }

.atl-account-rma-radios { display: flex; gap: 18px; font-size: 13.5px; }
.atl-account-rma-radio { display: flex; gap: 8px; align-items: center; }
.atl-account-rma-radio-dot { width: 15px; height: 15px; border-radius: 50%; border: 2px solid var(--atl-border-strong); }
.atl-account-rma-radio[data-selected] .atl-account-rma-radio-dot { border: 4px solid var(--atl-accent); }

.atl-account-rma-row { display: grid; grid-template-columns: 1fr 1fr 1fr 90px; gap: 12px; padding: 13px 22px; border-bottom: 1px solid var(--atl-border); font-size: 13.5px; align-items: center; }
.atl-account-rma-row:last-child { border-bottom: none; }

.atl-account-rma-stepper { display: flex; align-items: center; }
.atl-account-rma-stage { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; }
.atl-account-rma-stage-num { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; border: 2px solid var(--atl-border-strong); color: var(--atl-text-subtle); }
.atl-account-rma-stage[data-done] .atl-account-rma-stage-num { background: var(--atl-accent); color: var(--atl-band-text); border: none; }
.atl-account-rma-stage-label { font-size: 12px; color: var(--atl-text-muted); }
.atl-account-rma-stage[data-done] .atl-account-rma-stage-label { font-weight: 600; color: var(--atl-text); }
.atl-account-rma-stage-date { font-size: 11px; color: var(--atl-text-subtle); }
.atl-account-rma-connector { height: 2px; flex: 0.7; background: var(--atl-border); margin-bottom: 34px; }
.atl-account-rma-connector[data-done] { background: var(--atl-accent); }

@media (max-width: 1024px) {
  .atl-account-rma-item { flex-wrap: wrap; }
  .atl-account-rma-row { grid-template-columns: 1fr 1fr; row-gap: 4px; }
}

/* ---------------------------------------------------------------------------
 * Native Magento account chrome — restyle to the Atelier look.
 *
 * The themed account pages (Dashboard/Orders/Addresses/Profile/Activity/
 * Order-view) use a 1column layout and render their OWN .atl-account-nav
 * sidebar. But the account pages we did NOT theme (address EDIT form,
 * downloadable products, product reviews, newsletter subscriptions, stored
 * payment methods) fall through to Magento's default 2-column layout, which
 * renders the core `customer_account_navigation` block (`.block-collapsible-nav`
 * / `.account-nav`) and the Compare/Wishlist sidebar widgets in `sidebar.main`.
 * Those default a "second, differently-styled left menu" (the reported #7/#11
 * bug). Rather than risk referenceBlock surgery without vendor source, restyle
 * the native markup here so there is ONE consistent menu look site-wide.
 * ------------------------------------------------------------------------- */

/* Native account nav container → match .atl-account-nav */
.block-collapsible-nav {
  background: var(--atl-surface);
  border: 1px solid var(--atl-border);
  padding: 10px 0;
}
.block-collapsible-nav .block-collapsible-nav-title,
.block-collapsible-nav > .title {
  padding: 12px 20px 8px;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--atl-text-muted);
}
.block-collapsible-nav .block-collapsible-nav-title strong,
.block-collapsible-nav > .title strong { font-weight: 600; }
.block-collapsible-nav .content,
.block-collapsible-nav .block-collapsible-nav-content { padding: 0; }
.block-collapsible-nav .nav.items,
.account-nav .nav.items { margin: 0; padding: 0; list-style: none; }
.block-collapsible-nav .nav.item,
.account-nav .nav.item { margin: 0; }
.block-collapsible-nav .nav.item > a,
.block-collapsible-nav .nav.item > strong,
.account-nav .nav.item > a,
.account-nav .nav.item > strong {
  display: block;
  padding: 11px 20px;
  font-size: 13.5px;
  font-weight: 400;
  text-decoration: none;
  color: var(--atl-text-muted);
  border-left: 3px solid transparent;
}
.block-collapsible-nav .nav.item > a:hover,
.account-nav .nav.item > a:hover { color: var(--atl-text); background: var(--atl-accent-tint); }
.block-collapsible-nav .nav.item.current > a,
.block-collapsible-nav .nav.item.current > strong,
.account-nav .nav.item.current > a,
.account-nav .nav.item.current > strong {
  color: var(--atl-accent);
  font-weight: 600;
  border-left-color: var(--atl-accent);
  background: var(--atl-accent-tint);
}

/* Native Compare / Wishlist sidebar widgets → tame the default blue chrome so
 * they read as Atelier surface cards rather than raw Magento widgets. */
.block-compare,
.block-wishlist {
  background: var(--atl-surface);
  border: 1px solid var(--atl-border);
  padding: 18px 20px;
  margin-top: 24px;
}
.block-compare .block-title,
.block-wishlist .block-title {
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--atl-text-muted);
  margin-bottom: 12px;
}
.block-compare .block-title strong,
.block-wishlist .block-title strong { font-weight: 600; }
.block-compare .product-item-name a,
.block-wishlist .product-item-name a {
  color: var(--atl-text);
  text-decoration: none;
  font-size: 13px;
}
.block-compare .product-item-name a:hover,
.block-wishlist .product-item-name a:hover { color: var(--atl-accent); }
/* Native account FORM controls (address add/edit, newsletter, native edit
 * forms) → themed field styling. These forms are core Magento markup without
 * .atl-input classes, so Magento's base input[type] rule (hard height:32px,
 * padding:0 9px) squashed them next to the theme's 50px fields (AT-V05).
 * Scoped to body.account so checkout/storefront widgets are untouched. */
body.account .column.main input[type="text"],
body.account .column.main input[type="email"],
body.account .column.main input[type="tel"],
body.account .column.main input[type="password"],
body.account .column.main input[type="number"],
body.account .column.main input[type="url"] {
  height: auto;
  border: 1px solid var(--atl-border-strong);
  background: var(--atl-surface);
  color: var(--atl-text);
  padding: 14px 20px;
  font-size: 14px;
  font-family: 'Jost', sans-serif;
}
body.account .column.main select {
  height: auto;
  border: 1px solid var(--atl-border-strong);
  background: var(--atl-surface);
  color: var(--atl-text);
  padding: 13px 16px;
  font-size: 14px;
  font-family: 'Jost', sans-serif;
}
body.account .column.main .fieldset .field .label,
body.account .column.main .fieldset > .legend {
  font-family: 'Jost', sans-serif;
  font-size: 11.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--atl-text-muted);
}
body.account .column.main .action.primary,
body.account .column.main button.action.save {
  background: var(--atl-accent);
  border: 1px solid var(--atl-accent);
  color: var(--atl-band-text);
  border-radius: 0;
  padding: 14px 28px;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-family: 'Jost', sans-serif;
}

/* Widget action buttons → themed accent buttons instead of blue */
.block-compare .action,
.block-wishlist .action.tocart,
.block-compare .actions-toolbar .action.primary,
.block-wishlist .actions-toolbar .action.primary {
  background: var(--atl-accent);
  border: 1px solid var(--atl-accent);
  color: var(--atl-band-text);
  border-radius: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.block-compare .action.delete,
.block-wishlist .btn-remove,
.block-compare a.action,
.block-wishlist a.action {
  color: var(--atl-text-subtle);
}
