/* Customer accounts and cart share the established theme tokens. */
.nav-icon { display:inline-flex; align-items:center; justify-content:center; position:relative; min-width:28px; min-height:40px; flex-shrink:0 }
.account-menu { position:relative; flex-shrink:0 }
.account-menu summary { cursor:pointer; list-style:none }
.account-menu summary::-webkit-details-marker { display:none }
.account-dropdown { position:absolute; inset-block-start:calc(100% + 12px); inset-inline-end:0; width:210px; max-width:calc(100vw - 32px); padding:8px; z-index:40; background:var(--paper); border:1px solid var(--line); box-shadow:0 12px 32px #0002 }
.account-dropdown a,.account-dropdown button { display:flex; align-items:center; width:100%; min-height:44px; padding:10px 14px; color:var(--ink); background:transparent; border:0; text-align:start; font-size:13px; cursor:pointer }
.account-dropdown a:hover,.account-dropdown button:hover { background:var(--surface) }
.account-dropdown form { border-block-start:1px solid var(--line); margin-block-start:4px; padding-block-start:4px }
@media(prefers-reduced-motion:no-preference) {
  .account-menu[open] .account-dropdown { animation:account-dropdown-enter .14s var(--ease) }
  @keyframes account-dropdown-enter { from { opacity:0; transform:translateY(-4px) } to { opacity:1; transform:none } }
}
.cart-count { position:absolute; inset-block-start:0; inset-inline-end:-7px; min-width:17px; height:17px; padding:0 3px; border-radius:50%; background:var(--button); color:var(--on-button); font:10px/17px var(--sans); text-align:center }
.account-page { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,7vw,120px); padding-block:80px 100px; align-items:start }
.account-intro h1,.cart-page h1 { font:clamp(34px,5vw,64px)/1.15 var(--display); overflow-wrap:anywhere; margin-block:16px 24px }
.account-intro>p { color:var(--muted); line-height:1.8; overflow-wrap:anywhere }
.account-panel { padding:clamp(22px,4vw,48px); background:var(--card); border:1px solid var(--line) }
.account-panel h2 { font:28px var(--display); margin-block:0 28px }
.account-form { display:grid; gap:20px }
.form-field { display:grid; gap:8px; min-width:0 }
.form-field label { font-size:13px; font-weight:600 }
.form-field input { border:1px solid var(--line); background:var(--paper); color:var(--ink); padding:12px 14px; width:100%; min-width:0; border-radius:0 }
.egyptian-phone { display:flex; align-items:center; border:1px solid var(--line); background:var(--paper); color:var(--ink); min-width:0 }
.phone-prefix { display:flex; align-items:center; gap:8px; padding-inline:12px; border-inline-end:1px solid var(--line); white-space:nowrap; flex-shrink:0 }
.egypt-flag { flex-shrink:0 }
.form-field .egyptian-phone input { border:0; flex:1; min-height:48px; background:transparent; direction:ltr; text-align:left }
.egyptian-phone:focus-within { outline:2px solid var(--focus); outline-offset:2px }
.egyptian-phone input:focus-visible { outline:none }
.form-field small,.muted,.account-switch { color:var(--muted); font-size:13px; line-height:1.7 }
.account-switch { margin-block:28px 0 }
.account-switch a,.text-button { text-decoration:underline; text-underline-offset:4px }
.text-button { border:0; background:transparent; color:var(--ink); padding:8px 0; cursor:pointer; font-size:13px; display:inline-block }
.field-errors { display:grid; gap:4px }
.field-errors:empty { display:none }
.field-errors,.form-error,.cart-issue { color:var(--ink); font-size:13px; line-height:1.6 }
.form-error,.cart-issue { background:var(--blush); padding:10px 12px; border-inline-start:3px solid var(--focus) }
.account-navigation { display:grid; gap:18px; padding-block:24px; margin-block:24px; border-block:1px solid var(--line) }
.account-navigation [aria-disabled=true] { color:var(--muted); display:flex; gap:12px; flex-wrap:wrap }
.flash-messages { padding-block:16px }
.flash-message { margin:0; padding:12px 16px; border:1px solid var(--line); background:var(--surface); font-size:14px }
.cart-page { padding-block:60px 100px; max-width:1100px }
.cart-lines { border-block-start:1px solid var(--line) }
.cart-line { display:grid; grid-template-columns:100px minmax(0,1fr) auto; gap:24px; padding-block:26px; border-block-end:1px solid var(--line); align-items:start }
.cart-image { background:var(--surface); display:block; overflow:hidden }
.cart-image img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover }
.cart-item-name { font-size:17px; line-height:1.5; font-weight:600; overflow-wrap:anywhere }
.cart-item-copy { min-width:0; overflow-wrap:anywhere }
.cart-unit-price,.cart-variant { font-size:13px; margin-block:8px; color:var(--muted) }
.cart-item-actions { display:flex; gap:18px; flex-wrap:wrap; align-items:center }
.quantity-form { display:flex; gap:12px; align-items:center }
.quantity-form input,.product-purchase input { width:66px; min-height:42px; padding:7px; background:var(--paper); color:var(--ink); border:1px solid var(--line) }
.cart-line-subtotal { font-size:14px; font-weight:600; white-space:nowrap; margin-block:3px }
.cart-summary { max-width:440px; margin-inline-start:auto; padding-block:28px; display:grid; gap:18px }
.cart-summary>p:first-child { display:flex; justify-content:space-between; gap:20px }
.cart-summary p { margin:0 }
.cart-empty { text-align:center; padding:60px 12px }
.cart-empty h2 { font:32px var(--display) }
.cart-empty p { color:var(--muted); line-height:1.8; margin-block:16px 30px }
.product-purchase { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-block:22px 12px }
.product-purchase label { font-size:13px }
.product-purchase input { height:52px }
.product-purchase .button { flex:0 0 auto; min-width:170px; height:52px; justify-content:center }
.cart-feedback { font-size:13px; line-height:1.6; color:var(--muted) }
.cart-feedback:empty { display:none }
.cart-drawer { position:fixed; inset:0; inset-inline-start:auto; margin:0; width:min(100%,520px); max-width:100%; height:100dvh; max-height:100dvh; padding:28px; border:0; background:var(--paper); color:var(--ink); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 0 60px #0003 }
.cart-drawer::backdrop { background:#0007 }
.drawer-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding-block-end:22px; border-block-end:1px solid var(--line) }
.drawer-heading h2 { font:30px var(--display); margin:0 }
.drawer-close { width:42px; height:42px; font-size:32px; line-height:1; background:transparent; border:1px solid var(--line); color:var(--ink); cursor:pointer }
.cart-drawer .cart-line { grid-template-columns:72px minmax(0,1fr); gap:16px }
.cart-drawer .cart-line-subtotal { grid-column:2; margin-block-start:-8px }
.cart-drawer .cart-summary { max-width:none }
.cart-drawer .cart-item-name { font-size:15px }
body.cart-open { overflow:hidden }
[data-cart-form][aria-busy=true] button { opacity:.6; cursor:progress }
@media(max-width:1200px) { .nav-actions { gap:14px } .desktop-nav { gap:16px } }
@media(max-width:760px) {
  .account-menu { position:static }
  .nav-shell { position:relative }
  .account-dropdown { inset-block-start:calc(100% + 1px) }
  .account-page { grid-template-columns:1fr; padding-block:40px 60px; gap:28px }
  .account-intro h1 { margin-block:12px }
  .cart-page { padding-block:36px 60px }
  .cart-line { grid-template-columns:76px minmax(0,1fr); gap:16px }
  .cart-line-subtotal { grid-column:2; margin-block-start:-8px }
  .cart-drawer { padding:20px }
  .nav-actions { gap:12px }
  .nav-divider { display:none }
}
@media(max-width:420px) {
  .product-purchase .button { flex-basis:100%; min-width:0 }
  .nav-shell { width:calc(100% - 28px); gap:8px }
  .nav-actions { gap:7px }
  .nav-shell .wordmark { font-size:20px; letter-spacing:-1px }
  .nav-shell .wordmark img { width:100px; height:auto }
  .theme-control select { padding-inline:2px; max-width:62px; font-size:11px }
  .theme-control>span:not(.visually-hidden) { display:none }
  .locale-switch { font-size:11px }
  .nav-icon { min-width:23px }
  .menu-toggle { width:25px }
  .cart-drawer { padding:16px }
  .account-panel { padding:20px }
}
