.profile-page {
  --pv2-ink: var(--nb-ink, #233a30);
  --pv2-muted: var(--nb-muted, #46564b);
  --pv2-green: var(--nb-green, #1d5a37);
  --pv2-orange: var(--nb-orange, #ed5c2b);
  --pv2-line: rgb(35 58 48 / 12%);
  --pv2-serif: var(--nb-serif, Georgia, 'Palatino Linotype', serif);
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px;
  width: 100%; max-width: 1120px; margin: 0 auto; padding: 18px 12px 40px;
  color: var(--pv2-ink); background: #f7f4ea;
  font: 13px/1.5 var(--nb-sans, system-ui, sans-serif); isolation: isolate;
}
.profile-page, .profile-page *, .profile-page *::before, .profile-page *::after { box-sizing: border-box; }
.profile-page :where(h1, h2, p, ul) { margin: 0; padding: 0; }
.profile-page ul { list-style: none; }
.profile-page :where(a, button, summary) { -webkit-tap-highlight-color: transparent; }
.profile-page a { color: var(--pv2-green); text-decoration: none; }
.profile-page button { margin: 0; font: inherit; cursor: pointer; }
.profile-page svg { display: block; flex-shrink: 0; }
.profile-page :where(a, button, summary, [tabindex]):focus-visible { outline: 2px solid var(--pv2-green); outline-offset: 3px; }
.profile-page .pv2-column { display: grid; align-content: start; gap: 14px; min-width: 0; }
.profile-page .pv2-panel {
  min-width: 0; padding: 18px; border: 1px solid #fff; border-radius: 20px;
  background: rgb(255 253 247 / 86%);
  box-shadow: 0 8px 24px rgb(31 58 43 / 6%), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(12px) saturate(135%); backdrop-filter: blur(12px) saturate(135%);
  animation: pv2-enter 360ms cubic-bezier(.22, 1, .36, 1) both;
}
.profile-page .pv2-eyebrow { display: block; color: var(--pv2-muted); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.profile-page h1 { color: var(--pv2-ink); font: 400 30px/1.1 var(--pv2-serif); letter-spacing: -.025em; overflow-wrap: anywhere; }
.profile-page h2 { color: var(--pv2-ink); font: 400 18px/1.2 var(--pv2-serif); letter-spacing: -.015em; }
.profile-page .pv2-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.profile-page .pv2-heading .pv2-eyebrow { margin-bottom: 4px; }
.profile-page .pv2-section-icon { color: var(--pv2-green); }
.profile-page .pv2-hero { position: relative; overflow: hidden; border-radius: 22px; background: linear-gradient(125deg, rgb(255 228 192 / 60%), transparent 65%), rgb(255 253 247 / 86%); }
.profile-page .pv2-hero::after { content: ''; position: absolute; top: 0; right: 0; width: 32px; height: 32px; background: var(--pv2-orange); clip-path: polygon(0 0, 100% 0, 100% 100%); pointer-events: none; }
.profile-page .pv2-hero > .pv2-eyebrow { padding-right: 16px; margin-bottom: 18px; }
.profile-page .pv2-identity { display: flex; align-items: center; gap: 14px; }
.profile-page .pv2-avatar { display: grid; place-items: center; flex: 0 0 64px; width: 64px; height: 64px; border-radius: 50%; border: 3px solid rgb(255 255 255 / 85%); background: #e3ecda; color: var(--pv2-green); font: 400 24px/1 var(--pv2-serif); box-shadow: 0 4px 12px rgb(31 58 43 / 7%); }
.profile-page .pv2-person { min-width: 0; }
.profile-page .pv2-phone { display: flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 12px; overflow-wrap: anywhere; }
.profile-page .pv2-email { margin-top: 3px; color: var(--pv2-muted); font-size: 11px; overflow-wrap: anywhere; }
.profile-page .pv2-hero-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--pv2-line); }
.profile-page .pv2-hero-footer p { color: var(--pv2-muted); font-size: 11px; }
.profile-page .pv2-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid transparent; border-radius: 999px; font-size: 12px; font-weight: 700; transition: background .18s, box-shadow .18s; }
.profile-page .pv2-green { background: var(--pv2-green); color: #fffdf7; }
.profile-page .pv2-orange { width: 100%; margin-top: 12px; background: var(--pv2-orange); color: #281d13; }
.profile-page .pv2-orange > span { font-size: 20px; line-height: 1; }
.profile-page .pv2-text-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; font-size: 12px; font-weight: 600; }
.profile-page .pv2-heading > .pv2-text-link { flex-shrink: 0; }
.profile-page .pv2-favourites { animation-delay: 40ms; }
.profile-page .pv2-rail { display: flex; gap: 10px; max-width: 100%; padding: 4px 3px 10px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 3px; scrollbar-width: thin; scrollbar-color: #b4c3af transparent; }
.profile-page .pv2-product { flex: 0 0 122px; min-width: 0; scroll-snap-align: start; }
.profile-page .pv2-product-link { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; width: 100%; padding: 12px 10px; border: 1px solid var(--pv2-line); border-radius: 16px; background: rgb(255 255 255 / 62%); color: var(--pv2-ink); text-align: left; }
.profile-page .pv2-product img { display: block; align-self: center; width: 72px; height: 72px; object-fit: contain; mix-blend-mode: multiply; }
.profile-page .pv2-heart { position: absolute; top: 8px; right: 7px; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #fffdf7; color: #bc403d; }
.profile-page .pv2-heart svg { fill: currentColor; }
.profile-page .pv2-product-name { display: -webkit-box; min-height: 34px; max-height: 34px; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; font-size: 12px; line-height: 17px; overflow-wrap: anywhere; }
.profile-page .pv2-price { color: var(--pv2-green); font-size: 13px; }
.profile-page .pv2-empty { padding: 12px 0 4px; }
.profile-page .pv2-empty-icon { display: inline-flex; color: var(--pv2-green); margin-bottom: 10px; }
.profile-page .pv2-empty p { max-width: 34ch; color: var(--pv2-muted); font-size: 12px; }
.profile-page .pv2-empty strong { color: var(--pv2-ink); font-size: 14px; }
.profile-page .pv2-empty .pv2-text-link { margin-top: 4px; }
.profile-page .pv2-orders { animation-delay: 80ms; }
.profile-page .pv2-order-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--pv2-line); }
.profile-page .pv2-order-row:first-child { border-top: 0; padding-top: 0; }
.profile-page .pv2-order-row:last-child { padding-bottom: 0; }
.profile-page .pv2-order-info { min-width: 0; }
.profile-page .pv2-order-id { display: block; font-size: 12px; overflow-wrap: anywhere; }
.profile-page .pv2-order-info p { color: var(--pv2-muted); font-size: 11px; margin-top: 2px; }
.profile-page .pv2-order-total { align-self: start; font-size: 14px; font-variant-numeric: tabular-nums; }
.profile-page .pv2-status { justify-self: start; max-width: 100%; padding: 4px 8px; border-radius: 999px; background: #efe9da; color: var(--pv2-muted); font-size: 10px; font-weight: 600; overflow-wrap: anywhere; }
.profile-page .pv2-delivered { background: #e8f0e3; color: var(--pv2-green); }
.profile-page .pv2-order-view { justify-self: end; }
.profile-page .pv2-addresses { animation-delay: 120ms; }
.profile-page .pv2-address-row { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 4px 8px; padding: 12px 0; border-top: 1px solid var(--pv2-line); }
.profile-page .pv2-address-list > .pv2-address-row:first-child { padding-top: 0; border-top: 0; }
.profile-page .pv2-address-icon { display: grid; place-items: center; width: 28px; height: 32px; color: var(--pv2-green); }
.profile-page .pv2-address-copy { min-width: 0; }
.profile-page .pv2-address-label { display: flex; align-items: center; flex-wrap: wrap; gap: 5px 8px; }
.profile-page .pv2-address-label strong { font-size: 12px; overflow-wrap: anywhere; }
.profile-page .pv2-selected { padding: 2px 7px; border-radius: 999px; color: var(--pv2-green); background: #e8f0e3; font-size: 10px; font-weight: 600; }
.profile-page .pv2-address-copy p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; margin-top: 3px; color: var(--pv2-muted); font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.profile-page .pv2-address-actions { grid-column: 2; display: flex; gap: 6px; }
.profile-page .pv2-address-actions button { min-width: 44px; min-height: 44px; padding: 6px 10px; border: 0; border-radius: 9px; background: transparent; color: var(--pv2-green); font-size: 12px; font-weight: 600; }
.profile-page .pv2-address-actions button:disabled { color: var(--pv2-muted); opacity: .55; cursor: default; }
.profile-page .pv2-address-empty { color: var(--pv2-muted); font-size: 12px; }
.profile-page .pv2-extra-addresses summary { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--pv2-green); font-size: 12px; cursor: pointer; }
.profile-page summary { list-style: none; }
.profile-page summary::-webkit-details-marker { display: none; }
.profile-page .pv2-extra-open, .profile-page .pv2-extra-addresses[open] .pv2-extra-closed { display: none; }
.profile-page .pv2-extra-addresses[open] .pv2-extra-open { display: inline; }
.profile-page .pv2-extra-addresses[open] > summary { margin-bottom: 10px; }
.profile-page .pv2-more { animation-delay: 160ms; padding-bottom: 8px; }
.profile-page .pv2-more .pv2-heading { margin-bottom: 8px; }
.profile-page .pv2-menu > li + li { border-top: 1px solid var(--pv2-line); }
.profile-page .pv2-menu-row { display: flex; align-items: center; gap: 12px; width: 100%; height: 52px; padding: 0 4px; border: 0; border-radius: 8px; background: transparent; color: var(--pv2-ink); text-align: left; font-size: 13px; }
.profile-page .pv2-menu-row > span:nth-child(2) { flex: 1; }
.profile-page .pv2-menu-count { color: var(--pv2-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
.profile-page .pv2-chevron { display: inline-block; flex: 0 0 6px; width: 6px; height: 6px; margin: 0 4px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.profile-page .pv2-signout { color: #a53d32; }
.profile-page .pv2-data { min-width: 0; padding: 0 18px; }
.profile-page .pv2-data > summary { display: flex; align-items: center; gap: 8px; width: fit-content; min-height: 44px; color: var(--pv2-muted); cursor: pointer; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.profile-page details[open] > summary > .pv2-chevron { transform: rotate(135deg); }
.profile-page .pv2-data-body { padding: 4px 0 12px; }
.profile-page .pv2-data-action + .pv2-data-action { margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--pv2-line); }
.profile-page .pv2-data-action button { min-height: 44px; padding: 0; border: 0; background: transparent; color: #a53d32; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.profile-page .pv2-data-action p { color: var(--pv2-muted); font-size: 11px; }
.profile-page .pv2-data-body > a { justify-content: flex-start; margin-top: 10px; font-size: 11px; }
@keyframes pv2-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (hover: hover) {
  .profile-page .pv2-text-link:hover { text-decoration: underline; text-underline-offset: 3px; }
  .profile-page .pv2-green:hover { background: #164a2d; }
  .profile-page .pv2-orange:hover { box-shadow: inset 0 0 0 2px rgb(40 29 19 / 16%); }
  .profile-page .pv2-product-link:hover { border-color: var(--pv2-green); }
  .profile-page .pv2-menu-row:hover, .profile-page .pv2-address-actions button:enabled:hover { background: rgb(29 90 55 / 6%); }
}
@media (min-width: 600px) {
  .profile-page { padding: 24px 20px 48px; }
  .profile-page .pv2-address-row { grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; }
  .profile-page .pv2-address-actions { grid-column: 3; }
}
@media (min-width: 960px) {
  .profile-page { grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); align-items: start; }
  .profile-page .pv2-hero { padding: 24px; }
  .profile-page .pv2-hero > .pv2-eyebrow { margin-bottom: 24px; }
  .profile-page .pv2-hero-footer { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .profile-page .pv2-panel { animation: none; }
  .profile-page *, .profile-page *::before, .profile-page *::after { transition: none; scroll-behavior: auto; }
  .profile-page .pv2-rail { scroll-snap-type: none; }
}
