/**
 * Grimages UI – customer account (body .gri-account): nav (tmpl/account.php) + HikaShop / Joomla pages.
 */

/* ---------- Layout: nav | page ---------- */
.gri-v2 .gri-account { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: var(--space-6); align-items: start; padding: var(--space-5) 0 var(--space-7); }
.gri-v2 .gri-account__content { min-width: 0; font: 400 15px/22px var(--font-body); color: var(--ink); }

/* HikaShop's own account menu and "Retour" toolbar are replaced by the nav */
.gri-v2.gri-account .hika_cpanel_side_bar,
.gri-v2.gri-account .gri-account__content .hika_toolbar .hika_toolbar_btn:has(a[href*="task=cpanel"]),
.gri-v2.gri-account--dashboard .hikashop_cpanel_main_interface { display: none !important; }
.gri-v2.gri-account .hika_cpanel_main_data { width: 100% !important; max-width: none; flex: 1 1 auto !important; padding: 0 !important; }

/* ---------- Nav ---------- */
.gri-v2 .gri-account__nav { position: sticky; top: 152px; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2 .gri-account__me { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-1) var(--space-1) var(--space-4); border-bottom: 1px solid var(--line); margin-bottom: var(--space-3); }
.gri-v2 .gri-account__avatar { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, var(--magenta-500), var(--violet-700)); color: #fff; font: 800 17px/1 var(--font-display); }
.gri-v2 .gri-account__who { display: flex; flex-direction: column; min-width: 0; }
.gri-v2 .gri-account__who strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--violet-900); }
.gri-v2 .gri-account__who span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; color: var(--ink-muted); }
.gri-v2 .gri-account__menu { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.gri-v2 .gri-account__menu li { margin: 0; }
.gri-v2 .gri-account__menu li::before { content: none !important; }
.gri-v2 .gri-account__menu a:not(#gri-none) { display: flex; align-items: center; gap: var(--space-3); padding: 10px var(--space-3); border-radius: var(--radius-sm); font: 700 15px/20px var(--font-body); color: var(--ink) !important; text-decoration: none; transition: background var(--dur-fast), color var(--dur-fast); }
.gri-v2 .gri-account__menu a:not(#gri-none):hover { background: var(--surface-2); }
.gri-v2 .gri-account__menu a.is-active:not(#gri-none) { background: var(--violet-050); color: var(--violet-900) !important; }
.gri-v2 .gri-account__menu .gri-icon,
.gri-v2 .gri-account__menu .gri-icon svg { width: 20px; height: 20px; color: var(--violet-700); flex: none; }
/* Stéphanie's dashboard (Super Users only), set apart above « Me déconnecter » */
.gri-v2 .gri-account__staff { margin-top: var(--space-2) !important; padding-top: var(--space-2); border-top: 1px solid var(--line); }
.gri-v2 .gri-account__staff + .gri-account__logout { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.gri-v2 .gri-account__logout { margin-top: var(--space-2) !important; padding-top: var(--space-2); border-top: 1px solid var(--line); }
.gri-v2 .gri-account__logout a:not(#gri-none) { color: var(--ink-muted) !important; font-weight: 400; }
.gri-v2 .gri-account__logout .gri-icon,
.gri-v2 .gri-account__logout .gri-icon svg { color: var(--ink-muted); }

/* ---------- Dashboard ---------- */
.gri-v2 .gri-dash__hello { margin-bottom: var(--space-5); }
.gri-v2 .gri-dash__title:not(#gri-none) { margin: 0 0 var(--space-1); font: 800 clamp(26px, 2.6vw, 34px)/1.15 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-dash__hello p { margin: 0; color: var(--ink-muted); }
.gri-v2 .gri-dash__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.gri-v2 .gri-dash__card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2 .gri-dash__order { grid-row: span 2; }
.gri-v2 .gri-dash__h:not(#gri-none) { display: flex; align-items: center; gap: var(--space-2); margin: 0; font: 800 18px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-dash__h .gri-icon,
.gri-v2 .gri-dash__h .gri-icon svg { width: 20px; height: 20px; color: var(--magenta-500); }
.gri-v2 .gri-dash__points .gri-dash__h .gri-icon svg { color: var(--yellow-400); fill: currentColor; }
.gri-v2 .gri-dash__count { margin-left: auto; padding: 2px 10px; border-radius: var(--radius-pill); background: var(--violet-050); font: 700 13px/18px var(--font-body); color: var(--violet-900); }
.gri-v2 .gri-dash__orderhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2); }
.gri-v2 .gri-dash__orderhead strong { color: var(--violet-900); }
.gri-v2 .gri-dash__orderbody { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-md); background: var(--surface-2); }
.gri-v2 .gri-dash__thumbs { display: flex; }
.gri-v2 .gri-dash__thumbs img { width: 48px; height: 48px; margin-right: -10px; padding: 3px; border: 2px solid var(--surface); border-radius: 50%; background: #fff; object-fit: contain; box-shadow: var(--shadow-card); }
.gri-v2 .gri-dash__thumbs--lg { display: grid; grid-template-columns: repeat(5, minmax(0, 64px)); gap: var(--space-2); min-width: 0; }
.gri-v2 .gri-dash__thumbs--lg img { width: 100%; height: auto; aspect-ratio: 1; margin-right: 0; border-radius: var(--radius-md); }
.gri-v2 .gri-dash__ordersum { display: flex; flex-direction: column; align-items: flex-end; font-size: 14px; color: var(--ink-muted); }
.gri-v2 .gri-dash__ordersum strong { font: 800 20px/1.2 var(--font-body); color: var(--magenta-500); }
.gri-v2 .gri-dash__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.gri-v2 .gri-dash__actions a.gri-btn:not(#gri-none) { color: var(--on-brand) !important; text-decoration: none; }
.gri-v2 .gri-account a.gri-btn.gri-btn--outline:not(#gri-none),
.gri-v2 .gri-account a.gri-btn.gri-btn--ghost:not(#gri-none) { color: var(--violet-700) !important; }
.gri-v2 .gri-dash__actions .gri-icon,
.gri-v2 .gri-dash__actions .gri-icon svg { width: 16px; height: 16px; }
.gri-v2 a.gri-dash__more:not(#gri-none) { display: inline-flex; align-items: center; gap: 2px; margin-top: auto; font: 700 14px/20px var(--font-body); color: var(--violet-700) !important; text-decoration: none; }
.gri-v2 a.gri-dash__more:hover { text-decoration: underline; }
.gri-v2 .gri-dash__more .gri-icon,
.gri-v2 .gri-dash__more .gri-icon svg { width: 16px; height: 16px; }
.gri-v2 .gri-dash__big { margin: 0; font: 800 30px/1 var(--font-display); color: var(--violet-900); }
.gri-v2 .gri-dash__muted,
.gri-v2 .gri-dash__empty { margin: 0; color: var(--ink-muted); }
.gri-v2 .gri-dash__card > a.gri-btn:not(#gri-none) { align-self: flex-start; color: var(--on-brand) !important; text-decoration: none; }
.gri-v2 .gri-dash__addrs { display: grid; gap: var(--space-3); margin: 0; }
.gri-v2 .gri-dash__addrs dt { font: 700 12px/16px var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--ink-muted); }
.gri-v2 .gri-dash__addrs dd { display: flex; flex-direction: column; margin: 0; font-size: 14px; }

/* ---------- Tablet / phone: the nav becomes a row of tabs ---------- */
@media (max-width: 991.98px) {
  .gri-v2 .gri-account { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding-top: var(--space-3); }
  .gri-v2 .gri-account__nav { position: static; padding: 0; border: 0; background: none; }
  .gri-v2 .gri-account__me { display: none; }
  .gri-v2 .gri-account__menu { display: flex; gap: var(--space-2); overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--bs-gutter-x, 1.5rem) * -.5); padding: 2px calc(var(--bs-gutter-x, 1.5rem) * .5); }
  /* edge to edge: as far as the column's gutter (Bootstrap: 12 px), not 16 px (the page scrolled sideways by 4 px) */
  .gri-v2 .gri-account__menu::-webkit-scrollbar { display: none; }
  .gri-v2 .gri-account__menu li { flex: none; }
  .gri-v2 .gri-account__menu a:not(#gri-none) { padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: var(--surface); font-size: 14px; white-space: nowrap; }
  .gri-v2 .gri-account__menu a.is-active:not(#gri-none) { border-color: var(--violet-700); }
  .gri-v2 .gri-account__logout,
  .gri-v2 .gri-account__staff { margin: 0 !important; padding: 0; border: 0; }
  .gri-v2 .gri-dash__grid { grid-template-columns: minmax(0, 1fr); }
  .gri-v2 .gri-dash__order { grid-row: auto; }
}

/* ---------- Orders (initOrders: one design-system card per HikaShop order) ---------- */
.gri-v2.gri-account--orders .gri-account__content > #hikashop_order_listing > .hika_toolbar,
.gri-v2.gri-account--orders .hk-card-order > :not(.gri-order),
.gri-v2.gri-account--orders .hikashop_order_listing p.alert-info { display: none !important; }
.gri-v2 .gri-orders__title:not(#gri-none) { margin: 0 0 var(--space-4); font: 800 clamp(26px, 2.6vw, 34px)/1.15 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }

/* Search and filters */
.gri-v2:is(.gri-account--orders, .gri-account--downloads) #adminForm > .hk-row-fluid { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); margin: 0 0 var(--space-4) !important; }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) #adminForm > .hk-row-fluid > [class*="hkc-"] { width: auto !important; max-width: none; flex: 0 1 auto; padding: 0 !important; float: none !important; }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .hikashop_search_block:not(#gri-none) { display: flex; align-items: center; width: min(320px, 100%); height: 44px; padding: 3px; border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--surface); box-shadow: none; }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .hikashop_search_block:focus-within { border-color: var(--magenta-500); box-shadow: 0 0 0 3px var(--magenta-050); }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .hikashop_search_block input:not(#gri-none) { flex: 1; min-width: 0; height: 36px; padding: 0 var(--space-3); border: 0 !important; background: none !important; box-shadow: none !important; font: 400 15px/1 var(--font-body); }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .hikashop_search_block button:not(#gri-none) { height: 36px; padding: 0 var(--space-4); border: 0 !important; border-radius: var(--radius-pill) !important; background: var(--violet-700) !important; color: #fff !important; box-shadow: none !important; font: 700 14px/1 var(--font-body); }
.gri-v2.gri-account--orders .hikashop_order_sort { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); font-size: 14px; color: var(--ink-muted); }
.gri-v2.gri-account--orders .hikashop_order_sort br { display: none; }
.gri-v2.gri-account--orders .hikashop_order_sort select:not(#gri-none) { height: 40px; padding: 0 36px 0 var(--space-3); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background-color: var(--surface); font: 700 14px/1 var(--font-body); color: var(--ink); }

/* Card */
.gri-v2.gri-account--orders .hk-card-order:not(#gri-none) { margin: 0 0 var(--space-4); padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.gri-v2 .gri-order { display: grid; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2 .gri-order__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); }
.gri-v2 .gri-order__num { font: 800 18px/1.2 var(--font-display); color: var(--violet-900); }
.gri-v2 .gri-order__date { color: var(--ink-muted); font-size: 14px; }
.gri-v2 .gri-order__head .gri-badge { margin-left: auto; }
.gri-v2 .gri-order__body { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); border-radius: var(--radius-md); background: var(--surface-2); }
.gri-v2 .gri-order__thumbs { display: flex; align-items: center; }
.gri-v2 .gri-order__thumbs img,
.gri-v2 .gri-order__more { width: 52px; height: 52px; margin-right: -10px; padding: 3px; border: 2px solid var(--surface); border-radius: 50%; background: #fff; object-fit: contain; box-shadow: var(--shadow-card); }
.gri-v2 .gri-order__more { display: grid; place-items: center; font: 700 13px/1 var(--font-body); color: var(--violet-900); background: var(--violet-050); }
.gri-v2 .gri-order__sum { display: flex; flex-direction: column; align-items: flex-end; font-size: 14px; color: var(--ink-muted); }
.gri-v2 .gri-order__sum strong { font: 800 20px/1.2 var(--font-body); color: var(--magenta-500); }
.gri-v2 .gri-order__ship { display: flex; align-items: center; gap: var(--space-2); font-size: 14px; color: var(--ink-muted); }
.gri-v2 .gri-order__ship .gri-icon,
.gri-v2 .gri-order__ship .gri-icon svg { width: 16px; height: 16px; color: var(--violet-700); }
.gri-v2 .gri-order__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.gri-v2 .gri-order__actions a.gri-btn:not(#gri-none) { color: var(--on-brand) !important; text-decoration: none; }
.gri-v2 .gri-order__actions .gri-icon,
.gri-v2 .gri-order__actions .gri-icon svg { width: 16px; height: 16px; }
.gri-v2 .gri-orders__note { margin: var(--space-2) 0 0; padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--violet-050); color: var(--violet-900); font-size: 14px; }
.gri-v2 .gri-orders__note a:not(#gri-none) { font-weight: 700; color: var(--violet-700) !important; }
.gri-v2.gri-account--orders .hikashop_order_listing .pagination .limit,
.gri-v2.gri-account--orders .hikashop_order_listing .hikashop_results_counter { font-size: 13px; color: var(--ink-muted); }
.gri-v2.gri-account--orders .hikashop_order_listing .pagination:not(:has(a)) .limit { display: none; }
.gri-v2 .gri-order__body--total { justify-content: flex-end; }

/* ---------- Order detail (header from tmpl/account.php, HikaShop order view below) ---------- */
.gri-v2 .gri-orderhead { display: grid; gap: var(--space-2); margin-bottom: var(--space-5); }
.gri-v2 a.gri-orderhead__back:not(#gri-none) { display: inline-flex; align-items: center; gap: 2px; justify-self: start; font: 700 14px/20px var(--font-body); color: var(--violet-700) !important; text-decoration: none; }
.gri-v2 .gri-orderhead__back .gri-icon,
.gri-v2 .gri-orderhead__back .gri-icon svg { width: 16px; height: 16px; }
.gri-v2 .gri-orderhead__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.gri-v2 .gri-orderhead__title:not(#gri-none) { margin: 0; font: 800 clamp(26px, 2.6vw, 34px)/1.15 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-orderhead__meta { margin: 0; color: var(--ink-muted); }
.gri-v2 .gri-orderhead__meta strong { color: var(--magenta-500); }
.gri-v2 .gri-orderhead__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); }
.gri-v2 .gri-orderhead__actions a.gri-btn:not(#gri-none) { text-decoration: none; }
.gri-v2 .gri-orderhead__actions .gri-icon,
.gri-v2 .gri-orderhead__actions .gri-icon svg { width: 16px; height: 16px; }

.gri-v2.gri-account--orders #hikashop_order_main .hikashop_header_title,
.gri-v2.gri-account--orders #hikashop_order_main .hikashop_order_main_table > tbody > tr:first-child { display: none !important; }
.gri-v2.gri-account--orders .hikashop_order_main_table,
.gri-v2.gri-account--orders .hikashop_order_main_table > tbody,
.gri-v2.gri-account--orders .hikashop_order_main_table > tbody > tr,
.gri-v2.gri-account--orders .hikashop_order_main_table > tbody > tr > td { display: block; width: 100%; margin: 0; padding: 0; border: 0; background: none; }
.gri-v2.gri-account--orders .hikashop_order_main_table > tbody > tr:empty,
.gri-v2.gri-account--orders .hikashop_order_main_table > tbody > tr:has(> td:empty) { display: none; }

/* Addresses: two cards */
.gri-v2.gri-account--orders .hikashop_order_main_table td > table,
.gri-v2.gri-account--orders .hikashop_order_main_table td > table > tbody { display: block; width: 100%; }
.gri-v2.gri-account--orders .hikashop_order_main_table td > table > tbody > tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-bottom: var(--space-4); }
.gri-v2.gri-account--orders .hikashop_order_main_table td > table > tbody > tr > td { display: block; padding: 0; border: 0; }
.gri-v2.gri-account--orders fieldset.adminform:not(#gri-none) { height: 100%; margin: 0; padding: var(--space-4) var(--space-5); border: 1px solid var(--line) !important; border-radius: var(--radius-lg); background: var(--surface) !important; box-shadow: none !important; font: 400 15px/22px var(--font-body); color: var(--ink); }
.gri-v2.gri-account--orders fieldset.adminform legend:not(#gri-none) { float: left; width: 100%; margin: 0 0 var(--space-2); padding: 0; font: 800 17px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2.gri-account--orders fieldset.adminform p { margin: 0; }

/* Products: list rows like the checkout */
.gri-v2.gri-account--orders #htmlfieldset_products:not(#gri-none) { margin-bottom: var(--space-4); }
.gri-v2.gri-account--orders #htmlfieldset_products table { width: 100%; border: 0; border-collapse: collapse; }
.gri-v2.gri-account--orders #htmlfieldset_products thead { display: none; }
.gri-v2.gri-account--orders #htmlfieldset_products tbody tr[class^="row"] { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto auto; grid-template-areas: "img name qty total" "img name unit total"; align-items: center; column-gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--line); background: none !important; }
.gri-v2.gri-account--orders #htmlfieldset_products td { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
.gri-v2.gri-account--orders #htmlfieldset_products td::before { content: none !important; }
.gri-v2.gri-account--orders .hikashop_order_item_image_value { grid-area: img; }
.gri-v2.gri-account--orders .hikashop_order_item_image_value img { width: 64px; height: 64px; padding: 4px; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-card); object-fit: contain; }
.gri-v2.gri-account--orders .hikashop_order_item_name_value { grid-area: name; }
.gri-v2.gri-account--orders .hikashop_order_item_name_value a:not(#gri-none),
.gri-v2.gri-account--orders .hikashop_order_product_name:not(#gri-none) { font: 700 15px/21px var(--font-body) !important; text-transform: none !important; color: var(--ink) !important; text-decoration: none; }
.gri-v2.gri-account--orders .hikashop_order_item_name_value a:not(#gri-none):hover { color: var(--magenta-500) !important; }
.gri-v2.gri-account--orders .hikashop_order_item_quantity_value { grid-area: qty; color: var(--ink-muted); font-size: 14px; }
.gri-v2.gri-account--orders .hikashop_order_item_quantity_value::after { content: " ×"; }
.gri-v2.gri-account--orders .hikashop_order_item_price_value { grid-area: unit; color: var(--ink-muted); font-size: 14px; }
.gri-v2.gri-account--orders .hikashop_order_item_total_value { grid-area: total; min-width: 80px; text-align: right; font-weight: 800; color: var(--ink); }
.gri-v2.gri-account--orders .hikashop_order_item_total_value span { color: var(--ink) !important; }

/* Totals */
.gri-v2.gri-account--orders #htmlfieldset_products tbody tr:not([class^="row"]) { display: flex; justify-content: flex-end; gap: var(--space-5); padding: 6px 0; }
.gri-v2.gri-account--orders #htmlfieldset_products tbody tr:not([class^="row"]) td:empty { display: none; }
.gri-v2.gri-account--orders #htmlfieldset_products tbody tr:not([class^="row"]) td { color: var(--ink-muted); }
.gri-v2.gri-account--orders #htmlfieldset_products tbody tr:not([class^="row"]):last-child td { font-weight: 800; color: var(--magenta-500) !important; font-size: 18px; }

/* Shipping and payment methods */
.gri-v2.gri-account--orders .hikashop_order_shipping_method,
.gri-v2.gri-account--orders .hikashop_order_payment_method { display: inline-flex; margin: 0 var(--space-2) var(--space-2) 0 !important; padding: 6px var(--space-3); border-radius: var(--radius-pill); background: var(--surface-2); font-size: 14px; color: var(--ink); }

@media (max-width: 767.98px) {
  .gri-v2.gri-account--orders .hikashop_order_main_table td > table > tbody > tr { grid-template-columns: minmax(0, 1fr); }
  .gri-v2.gri-account--orders #htmlfieldset_products tbody tr[class^="row"] { grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img qty total"; }
  .gri-v2.gri-account--orders .hikashop_order_item_price_value { display: none !important; }
}
.gri-v2.gri-account--orders fieldset.adminform legend + * { clear: both; }
.gri-v2.gri-account--orders #htmlfieldset_products > table { clear: both; }

/* ---------- Addresses ---------- */
.gri-v2.gri-account--addresses #hikashop_address_listing > .hika_toolbar { display: none !important; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_default { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin-bottom: var(--space-5); }
.gri-v2.gri-account--addresses #hikashop_user_addresses_default dl { display: grid; gap: var(--space-1); margin: 0; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_default dt,
.gri-v2.gri-account--addresses #hikashop_user_addresses_default dd { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left !important; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_default label { font: 700 14px/20px var(--font-body); color: var(--ink); white-space: normal; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > .hk-row-fluid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin: 0 !important; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > .hk-row-fluid > [class*="hkc-"] { display: flex; flex-direction: column; gap: var(--space-3); width: auto !important; max-width: none; padding: 0 !important; float: none !important; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show h3:not(#gri-none) { margin: 0; font: 800 19px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-addr--account:not(#gri-none) { position: relative; grid-template-columns: minmax(0, 1fr); grid-template-areas: "text" "actions"; margin: 0; cursor: default; }
.gri-v2 .gri-addr--account .gri-addr__text { grid-area: text; display: flex; flex-direction: column; font: 400 15px/22px var(--font-body); }
.gri-v2 .gri-addr--account .gri-addr__default { position: absolute; top: var(--space-3); right: var(--space-3); }
.gri-v2 .gri-addr--account:has(.gri-addr__default) { border-color: var(--violet-700); background: var(--violet-050); }
.gri-v2.gri-account--addresses .gri-addr-add:not(#gri-none) { display: flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: 56px; border: 2px dashed var(--line-strong); border-radius: var(--radius-md); font: 700 15px/20px var(--font-body); color: var(--violet-700) !important; text-decoration: none; }
.gri-v2.gri-account--addresses .gri-addr-add:not(#gri-none):hover { border-color: var(--violet-700); background: var(--violet-050); }
.gri-v2.gri-account--addresses .gri-addr-add .gri-icon,
.gri-v2.gri-account--addresses .gri-addr-add .gri-icon svg { width: 20px; height: 20px; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > div[style*="margin-top"] { margin: 0 !important; }

/* ---------- Forms in the account (HikaShop address form, Joomla profile) ---------- */
.gri-v2.gri-account .gri-account__content .hkform-group,
.gri-v2.gri-account .gri-account__content .control-group { display: flex !important; flex-direction: column; gap: var(--space-1); margin: 0 0 var(--space-3) !important; }
.gri-v2.gri-account .gri-account__content .hkform-group > [class*="hkc-"],
.gri-v2.gri-account .gri-account__content .control-group > .control-label,
.gri-v2.gri-account .gri-account__content .control-group > .controls { width: 100% !important; max-width: none; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left !important; }
.gri-v2.gri-account .gri-account__content label:not(.btn):not(.hikaradio-label):not(#gri-none) { font: 700 14px/20px var(--font-body) !important; color: var(--ink) !important; }
.gri-v2.gri-account .gri-account__content input[type="text"],
.gri-v2.gri-account .gri-account__content input[type="email"],
.gri-v2.gri-account .gri-account__content input[type="tel"],
.gri-v2.gri-account .gri-account__content input[type="password"],
.gri-v2.gri-account .gri-account__content select {
  width: 100% !important;
  max-width: 560px;
  height: 48px !important;
  padding: 0 var(--space-4) !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--radius-sm) !important;
  background-color: var(--surface) !important;
  box-shadow: none !important;
  font: 400 16px/1 var(--font-body) !important;
  color: var(--ink) !important;
}
.gri-v2.gri-account .gri-account__content select { padding-right: var(--space-8) !important; }
.gri-v2.gri-account .gri-account__content input:focus,
.gri-v2.gri-account .gri-account__content select:focus { border-color: var(--magenta-500) !important; box-shadow: 0 0 0 3px var(--magenta-050) !important; outline: none; }
.gri-v2.gri-account .gri-account__content .input-group:has(input[type="password"]) { display: flex; max-width: 560px; }
.gri-v2.gri-account .gri-account__content .input-group:has(input[type="password"]) input { border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important; }
.gri-v2.gri-account .gri-account__content .input-group:has(input[type="password"]) .btn { border: 1px solid var(--line-strong) !important; border-left: 0 !important; border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important; background: var(--surface-2) !important; color: var(--violet-700) !important; }
.gri-v2.gri-account .gri-account__content .hikashop_field_required_label,
.gri-v2.gri-account .gri-account__content .star { color: var(--magenta-500); }
.gri-v2.gri-account .gri-account__content fieldset { margin: 0 0 var(--space-4); padding: 0; border: 0; }
.gri-v2.gri-account .gri-account__content legend:not(#gri-none) { margin-bottom: var(--space-3); font: 800 20px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }

/* Buttons of HikaShop and Joomla forms */
.gri-v2.gri-account .gri-account__content .hikabtn:not(.gri-btn):not(.hika_toolbar .hikabtn):not(#gri-none),
.gri-v2.gri-account .gri-account__content button.btn:not(.gri-btn):not([class*="input-password"]):not(#gri-none) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 46px;
  padding: 0 var(--space-5) !important;
  border: 0 !important;
  border-radius: var(--radius-pill) !important;
  background: var(--violet-700) !important;
  background-image: none !important;
  box-shadow: 0 4px 0 var(--violet-900) !important;
  color: #fff !important;
  font: 700 15px/1 var(--font-body) !important;
  text-shadow: none;
}
.gri-v2.gri-account .gri-account__content button.btn.btn-danger:not(.gri-btn):not([class*="input-password"]):not(#gri-none),
.gri-v2.gri-account .gri-account__content .hikashop_address_cancel_button:not(#gri-none),
.gri-v2.gri-account .gri-account__content .hikashop_checkout_address_cancel_button:not(#gri-none) { background: transparent !important; box-shadow: none !important; color: var(--violet-700) !important; }
.gri-v2.gri-account .gri-account__content .hikabtn .fa,
.gri-v2.gri-account .gri-account__content .hikabtn .fas,
.gri-v2.gri-account .com-users-profile__edit-submit [class^="icon-"] { display: none; }

@media (max-width: 767.98px) {
  .gri-v2.gri-account--addresses #hikashop_user_addresses_default,
  .gri-v2.gri-account--addresses #hikashop_user_addresses_show > .hk-row-fluid { grid-template-columns: minmax(0, 1fr); }
}

/* HikaShop lays its account pages out on a 12-column grid (hkc-md-9, hkc-md-6 spans): our nav replaces its
   side bar, so its main column takes the whole row, and our own grids decide the columns. */
.gri-v2.gri-account #hikashop_dashboard > .hika_cpanel_main_data { grid-column: 1 / -1 !important; }
.gri-v2.gri-account #hikashop_dashboard { display: block !important; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > .hk-row-fluid > [class*="hkc-"] { grid-column: auto !important; }

/* Joomla profile form */
.gri-v2.gri-account .gri-account__content form.com-users-profile__edit-form.well { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
/* Floated, the legend leaves the fieldset's border line and sits inside the card */
.gri-v2.gri-account .gri-account__content fieldset > legend:not(#gri-none) { float: left !important; display: block; width: 100%; padding: 0; border: 0; }
.gri-v2.gri-account .gri-account__content .control-group { clear: both; }
.gri-v2.gri-account .gri-account__content .com-users-profile__edit fieldset,
.gri-v2.gri-account .gri-account__content .com-users-profile__edit-form fieldset { padding: var(--space-5) !important; border: 1px solid var(--line) !important; border-radius: var(--radius-lg) !important; background: var(--surface); box-shadow: none; }
.gri-v2.gri-account .com-users-profile__edit-submit .controls { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.gri-v2.gri-account .gri-account__content .form-text,
.gri-v2.gri-account .gri-account__content .text-muted { font-size: 13px; color: var(--ink-muted) !important; }
.gri-v2.gri-account .gri-account__content .password-group .progress,
.gri-v2.gri-account .gri-account__content meter { max-width: 560px; }

/* ---------- Favorites (initFavorites; favourites lot, mock-up validated 2026-10-16) ---------- */
/* HikaShop's parts stay in the form, hidden: its table (our rows are built from it), its settings */
.gri-v2.gri-account--favorites #hikashop_cart_product_listing[hidden],
.gri-v2.gri-account--favorites #hikashop_show_cart_form dl.hika_options[hidden] { display: none !important; }

/* No flash of HikaShop's raw page (its table, prices, toolbar) before initFavorites builds ours: the content is
   hidden until .is-gri-ready; shown anyway after 2 s if the script did not run */
.gri-v2.gri-account--favorites .hika_cpanel_main_data:not(.is-gri-ready):has(#hikashop_show_cart_form) { opacity: 0; animation: gri-fav-reveal 0s 2s forwards; }
@keyframes gri-fav-reveal { to { opacity: 1; } }
/* step C, a list opened from its share link: HikaShop's page hidden until initSharedList built ours (2 s at most) */
.gri-v2.gri-sharedlist main.gri-main:not(.is-gri-ready) { opacity: 0; animation: gri-fav-reveal 0s 2s forwards; }
.gri-v2 .gri-shared { max-width: 1120px; margin: 0 auto; }
.gri-v2 .gri-shared__lead { margin: calc(-1 * var(--space-3)) 0 var(--space-5); font: 400 16px/24px var(--font-body); color: var(--ink-muted); }
.gri-v2 .gri-favl--shared .gri-favl__row { grid-template-columns: 64px minmax(0, 1fr) 120px 196px; grid-template-areas: "img name stock add"; }
@media (max-width: 991.98px) {
  .gri-v2 .gri-favl--shared .gri-favl__row { grid-template-columns: 64px minmax(0, 1fr); grid-template-areas: "img name" ". stock" ". add"; }
}
@media (max-width: 575.98px) {
  .gri-v2 .gri-favl--shared .gri-favl__row { grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "img name" "stock stock" "add add"; }
}
.gri-v2 .gri-favl--shared .gri-favl__row > :nth-child(4) { grid-area: add; }

/* header: eyebrow, the list's name + pencil, meta | « Mes listes » */
.gri-v2 .gri-favh { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--space-3) var(--space-4); margin-bottom: var(--space-5); }
.gri-v2 .gri-favh__main { min-width: 0; }
.gri-v2 .gri-favh__eyebrow { margin: 0 0 var(--space-1); font: 700 13px/18px var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--magenta-500); }
.gri-v2 .gri-favh__title { display: flex; align-items: center; gap: var(--space-3); }
.gri-v2 h1.gri-favh__name:not(#gri-none) { margin: 0; font: 400 clamp(28px, 4vw, 36px)/1.15 var(--font-display); color: var(--violet-900, var(--violet-700)); overflow-wrap: anywhere; }
.gri-v2 .gri-favh__rename { flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--violet-050, #f3eef9); color: var(--violet-700); cursor: pointer; transition: background-color var(--dur-fast), transform .15s var(--ease-bounce, ease); }
.gri-v2 .gri-favh__rename:hover { background: var(--violet-100, #e6dcf2); transform: scale(1.06); }
.gri-v2 .gri-favh__rename:focus-visible { outline: 2px solid var(--violet-700); outline-offset: 2px; }
.gri-v2 .gri-favh__rename .gri-icon, .gri-v2 .gri-favh__rename .gri-icon svg { width: 18px; height: 18px; }
/* « Supprimer la liste »: same round button, quieter; red on hover */
.gri-v2 .gri-favh__delete { flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; margin-left: calc(-1 * var(--space-2)); padding: 0; border: 0; border-radius: 50%; background: none; color: var(--ink-muted); cursor: pointer; transition: background-color var(--dur-fast), color var(--dur-fast); }
.gri-v2 .gri-favh__delete:hover { background: var(--danger-050); color: var(--danger); }
.gri-v2 .gri-favh__delete:focus-visible { outline: 2px solid var(--violet-700); outline-offset: 2px; }
.gri-v2 .gri-favh__delete .gri-icon, .gri-v2 .gri-favh__delete .gri-icon svg { width: 18px; height: 18px; }
.gri-v2 .gri-favh__meta { display: flex; align-items: center; gap: 6px; margin: var(--space-2) 0 0; font: 400 15px/20px var(--font-body); color: var(--ink-muted); }
.gri-v2 .gri-favh__meta .gri-icon, .gri-v2 .gri-favh__meta .gri-icon svg { width: 15px; height: 15px; }
.gri-v2 .gri-favh__lists { position: relative; margin-top: var(--space-3); }
.gri-v2 .gri-favh__switch { display: inline-flex; align-items: center; gap: var(--space-2); height: 44px; padding: 0 var(--space-4); border: 1px solid var(--line-strong); border-radius: var(--radius-pill); background: var(--surface); font: 700 15px/1 var(--font-body); color: var(--ink); cursor: pointer; }
.gri-v2 .gri-favh__switch:hover { border-color: var(--violet-700); }
.gri-v2 .gri-favh__switch .gri-icon, .gri-v2 .gri-favh__switch .gri-icon svg { width: 18px; height: 18px; transition: transform var(--dur-base); }
.gri-v2 .gri-favh__switch[aria-expanded="true"] .gri-icon { transform: rotate(180deg); }
.gri-v2 .gri-favh__new, .gri-v2 .gri-favm__new { display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) 0; border: 0; background: none; font: 700 15px/20px var(--font-body); color: var(--violet-700); cursor: pointer; }
.gri-v2 .gri-favh__new:hover, .gri-v2 .gri-favm__new:hover { color: var(--magenta-500); }
.gri-v2 .gri-favh__new .gri-icon, .gri-v2 .gri-favh__new .gri-icon svg,
.gri-v2 .gri-favm__new .gri-icon, .gri-v2 .gri-favm__new .gri-icon svg { width: 18px; height: 18px; }
.gri-v2 .gri-favm { position: absolute; z-index: 20; top: calc(100% + 8px); right: 0; width: min(320px, calc(100vw - 32px)); padding: var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-raised); }
.gri-v2 .gri-favm[hidden] { display: none; }
.gri-v2 .gri-favm ul { margin: 0; padding: 0 0 var(--space-2); list-style: none; border-bottom: 1px solid var(--line); }
.gri-v2 .gri-favm li a:not(#gri-none) { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-sm); color: var(--ink) !important; text-decoration: none; }
.gri-v2 .gri-favm li a:hover, .gri-v2 .gri-favm li a[aria-current] { background: var(--violet-050, #f3eef9); }
.gri-v2 .gri-favm li b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 15px/20px var(--font-body); }
.gri-v2 .gri-favm li small { font: 400 13px/18px var(--font-body); color: var(--ink-muted); white-space: nowrap; }
.gri-v2 .gri-favm li .gri-icon, .gri-v2 .gri-favm li .gri-icon svg { width: 18px; height: 18px; color: var(--violet-700); }
.gri-v2 .gri-favm__new { width: 100%; padding: var(--space-3); }

/* actions, selection bar */
.gri-v2 .gri-fav__bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin-bottom: var(--space-3); }
.gri-v2 .gri-fav__bar a.gri-btn--outline:not(#gri-none) { text-decoration: none; }
.gri-v2 .gri-fav__bar .gri-icon, .gri-v2 .gri-fav__bar .gri-icon svg { width: 18px; height: 18px; }
.gri-v2 .gri-fav__sel { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-5); margin-bottom: var(--space-3); padding: var(--space-3) var(--space-4); border-radius: var(--radius-md); background: var(--violet-050, #f6f2fa); }
.gri-v2 .gri-fav__sel .gri-check span { font: 700 15px/20px var(--font-body); }
.gri-v2 .gri-fav__count { min-width: 9ch; font: 400 15px/20px var(--font-body); color: var(--ink-muted); }
.gri-v2 .gri-fav__link { padding: 0; border: 0; background: none; font: 700 15px/20px var(--font-body); color: var(--violet-700); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.gri-v2 .gri-fav__link:hover { color: var(--magenta-500); }
.gri-v2 .gri-fav__link--danger { color: var(--danger); }
.gri-v2 .gri-fav__link[disabled] { opacity: .45; cursor: default; text-decoration: none; }

/* rows: checkbox | picture | name | stock | « Ajouter au panier » | trash — fixed columns, every row lines up */
.gri-v2 .gri-favl { margin: 0; padding: 0 var(--space-5); list-style: none; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2 .gri-favl__row { display: grid; grid-template-columns: 24px 64px minmax(0, 1fr) 120px 196px 40px; grid-template-areas: "cb img name stock add del"; align-items: center; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }
.gri-v2 .gri-favl__row:last-child { border-bottom: 0; }
.gri-v2 .gri-favl__cb { grid-area: cb; width: 20px; height: 20px; margin: 0; accent-color: var(--violet-700); }
.gri-v2 .gri-favl__img { grid-area: img; display: block; width: 64px; height: 64px; padding: 4px; border-radius: var(--radius-sm); background: #fff; box-shadow: var(--shadow-card); }
.gri-v2 .gri-favl__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gri-v2 .gri-favl__name { grid-area: name; display: flex; align-items: center; gap: var(--space-3); min-width: 0; }
.gri-v2 .gri-favl__name a:not(#gri-none) { font: 700 15px/21px var(--font-body); color: var(--ink) !important; text-decoration: none; }
.gri-v2 .gri-favl__name a:not(#gri-none):hover { color: var(--magenta-500) !important; }
.gri-v2 .gri-favl__row.is-out .gri-favl__name a:not(#gri-none) { color: var(--ink-muted) !important; }
.gri-v2 .gri-favl__stock { grid-area: stock; display: inline-flex; align-items: center; gap: 6px; font: 700 14px/20px var(--font-body); white-space: nowrap; }
.gri-v2 .gri-favl__stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.gri-v2 .gri-favl__stock.is-in { color: var(--success); }
.gri-v2 .gri-favl__stock.is-out { color: var(--danger); }
.gri-v2 .gri-favl__row > :nth-child(5) { grid-area: add; }
.gri-v2 .gri-favl__add:not(#gri-none) { width: 100%; justify-content: center; text-decoration: none; }
.gri-v2 .gri-favl__add .gri-icon, .gri-v2 .gri-favl__add .gri-icon svg { width: 16px; height: 16px; }
.gri-v2 button.gri-favl__add[disabled] { border-color: transparent; background: var(--surface-sunken, #f1eef4); color: var(--ink-muted); box-shadow: none; cursor: default; opacity: 1; }
.gri-v2 .gri-favl__del { grid-area: del; display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--ink-muted); cursor: pointer; }
.gri-v2 .gri-favl__del:hover { background: var(--danger-050); color: var(--danger); }
.gri-v2 .gri-favl__del[disabled] { opacity: .4; cursor: wait; }
.gri-v2 .gri-favl__del .gri-icon, .gri-v2 .gri-favl__del .gri-icon svg { width: 18px; height: 18px; }

@media (max-width: 991.98px) {
  .gri-v2 .gri-favl__row { grid-template-columns: 24px 64px minmax(0, 1fr) 40px; grid-template-areas: "cb img name del" ". . stock stock" ". . add add"; row-gap: var(--space-2); }
  .gri-v2 .gri-favl__stock { justify-self: start; }
}
@media (max-width: 575.98px) {
  .gri-v2 .gri-favh__lists { width: 100%; margin-top: 0; }
  .gri-v2 .gri-favh__switch { width: 100%; justify-content: space-between; }
  .gri-v2 .gri-favm { left: 0; right: auto; width: 100%; }
  .gri-v2 .gri-fav__bar > * { flex: 1 1 100%; justify-content: center; }
  .gri-v2 .gri-favl { padding: 0 var(--space-3); }
  .gri-v2 .gri-favl__row { grid-template-columns: 24px 56px minmax(0, 1fr) 40px; grid-template-areas: "cb img name del" "stock stock stock stock" "add add add add"; column-gap: var(--space-3); }
  .gri-v2 .gri-favl__img { width: 56px; height: 56px; }
  .gri-v2 .gri-favl__stock { justify-self: end; }
}

.gri-v2 .gri-qty--sm { height: 40px; }
/* buttons as high as the 40 px box (their hover background overflowed it: 46 px, the default size) */
.gri-v2 .gri-qty--sm button { width: 38px; height: 38px; }
.gri-v2 .gri-qty--sm input.hikashop_product_quantity_field:not(#gri-none) { width: 40px !important; height: 36px !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: center; box-shadow: none !important; font: 700 15px/1 var(--font-body) !important; }
/* Preprod remark 5: a parent saved before the format was asked: the heart « Choisis ton format » next to its name */
.gri-v2 .gri-fav__pick { flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--surface); color: var(--magenta-500); cursor: pointer; transition: transform .15s var(--ease-bounce, ease), background-color .15s; }
.gri-v2 .gri-fav__pick:hover { background: var(--magenta-050, #fdeef6); transform: scale(1.06); }
.gri-v2 .gri-fav__pick:focus-visible { outline: 2px solid var(--violet-700); outline-offset: 2px; }
.gri-v2 .gri-fav__pick[disabled] { opacity: .5; cursor: wait; }
.gri-v2 .gri-fav__pick .gri-icon, .gri-v2 .gri-fav__pick .gri-icon svg { width: 20px; height: 20px; }
@media (prefers-reduced-motion: reduce) { .gri-v2 .gri-fav__pick, .gri-v2 .gri-favh__rename { transition: none; } }
/* rename / new list Dialog: the field takes the panel's width */
.gri-dialog--share .gri-share__opt { grid-template-columns: 20px minmax(0, 1fr); align-items: start; }
.gri-dialog--share .gri-share__opt input { margin-top: 2px; }
.gri-dialog--share .gri-share__opt span { display: grid; gap: 2px; min-width: 0; }
.gri-dialog--share .gri-share__opt b { white-space: normal; }
.gri-dialog--share .gri-share__opt small { white-space: normal; font-size: 14px; line-height: 20px; }
.gri-dialog--share .gri-share__link { display: grid; gap: var(--space-2); margin-top: var(--space-2); }
.gri-dialog--share .gri-share__link[hidden] { display: none; }
.gri-dialog--share .gri-share__label { font: 700 14px/20px var(--font-body); }
.gri-dialog--share .gri-share__row { display: flex; gap: var(--space-2); }
.gri-dialog--share .gri-share__row .gri-input { flex: 1; min-width: 0; height: 44px; font-size: 14px; }
.gri-dialog--share .gri-share__row .gri-btn { flex: none; }
.gri-dialog--share .gri-share__row .gri-icon[hidden] { display: none; }
.gri-dialog--share .gri-share__send { justify-self: start; }
.gri-dialog--share .gri-share__note { margin: 0; font: 400 13px/18px var(--font-body); color: var(--ink-muted); }
@media (max-width: 575.98px) { .gri-dialog--share .gri-share__row { flex-direction: column; } .gri-dialog--share .gri-share__row .gri-input { flex: none; width: 100%; } .gri-dialog--share .gri-share__send { justify-self: stretch; } }
.gri-dialog--favname .gri-favname { max-width: none; margin: var(--space-3) 0 var(--space-5); text-align: left; }
@media (max-width: 767.98px) {
  .gri-v2:is(.gri-account--orders, .gri-account--downloads) .hikashop_search_block:not(#gri-none) { width: 100%; }
  .gri-v2:is(.gri-account--orders, .gri-account--downloads) #adminForm > .hk-row-fluid > [class*="hkc-"] { width: 100% !important; }
}

/* Orders toolbar: search pill (magnifier + round arrow) | count and two compact filters, one row */
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-account__content #adminForm > .hk-row-fluid { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-account__content .hikashop_search_block:not(#gri-none) { display: flex; align-items: center; gap: var(--space-2); width: min(340px, 100%); height: 44px; padding: 0 4px 0 var(--space-3); }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-osearch__icon,
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-osearch__icon svg { flex: none; width: 18px; height: 18px; color: var(--ink-muted); }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-account__content .hikashop_search_block input[type="text"]:not(#gri-none) { flex: 1; min-width: 0; max-width: none; height: 40px !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; font-size: 15px !important; }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-account__content .hikashop_search_block button.gri-osearch__go:not(#gri-none) {
  flex: none;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  min-height: 0;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--violet-700) !important;
  box-shadow: none !important;
  color: #fff !important;
}
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-account__content .hikashop_search_block button.gri-osearch__go:hover { background: var(--violet-900) !important; }
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-osearch__go .gri-icon,
.gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-osearch__go .gri-icon svg { width: 18px; height: 18px; }
.gri-v2.gri-account--orders .gri-account__content .hikashop_order_sort { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--space-2); }
.gri-v2.gri-account--orders .gri-account__content .hikashop_order_sort select:not(#gri-none) { width: auto !important; max-width: 220px; height: 40px !important; padding: 0 36px 0 var(--space-3) !important; border-radius: var(--radius-pill) !important; font: 700 14px/1 var(--font-body) !important; }

@media (max-width: 767.98px) {
  .gri-v2:is(.gri-account--orders, .gri-account--downloads) .gri-account__content .hikashop_search_block:not(#gri-none) { width: 100%; }
  .gri-v2.gri-account--orders .gri-account__content .hikashop_order_sort { justify-content: flex-start; }
  .gri-v2.gri-account--orders .gri-account__content .hikashop_order_sort select:not(#gri-none) { flex: 1 1 140px; max-width: none; }
}
.gri-v2.gri-account--orders .gri-account__content .hikashop_order_sort select:not(#gri-none) { margin: 0 !important; vertical-align: middle; }

/* ---------- Downloads (initDownloads) ---------- */
/* Toolbar: the orders search pill (rules above); the period filter like the orders filters */
.gri-v2.gri-account--downloads .hikashop_search_block label { display: none !important; }
.gri-v2.gri-account--downloads .gri-account__content .hikashop_filters_block select:not(#gri-none) { width: auto !important; max-width: 240px; height: 40px !important; margin: 0 !important; padding: 0 36px 0 var(--space-3) !important; border-radius: var(--radius-pill) !important; font: 700 14px/1 var(--font-body) !important; }
.gri-v2.gri-account--downloads #hikashop_download_listing > .hika_toolbar,
.gri-v2.gri-account--downloads #hikashop_downloads[hidden] { display: none !important; }
.gri-v2 .gri-dl__head .gri-orders__title:not(#gri-none) { margin-bottom: var(--space-1); }
.gri-v2 .gri-dl__lead { margin: 0 0 var(--space-5); color: var(--ink-muted); }

.gri-v2 .gri-dl__list { display: flex; flex-direction: column; gap: var(--space-4); }
.gri-v2 .gri-dl__item { padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2 .gri-dl__itemhead { display: flex; flex-direction: column; gap: 2px; margin-bottom: var(--space-3); }
.gri-v2 a.gri-dl__name:not(#gri-none),
.gri-v2 .gri-dl__name { font: 800 18px/1.25 var(--font-display); color: var(--violet-900) !important; text-decoration: none; }
.gri-v2 a.gri-dl__name:not(#gri-none):hover { color: var(--violet-700) !important; text-decoration: underline; }
.gri-v2 .gri-dl__meta { font-size: 14px; color: var(--ink-muted); }
.gri-v2 .gri-dl__files { margin: 0; padding: 0; list-style: none; }
.gri-v2 .gri-dl__file { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-3) 0; border-top: 1px solid var(--line); }
.gri-v2 .gri-dl__ficon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--violet-050); color: var(--violet-700); }
.gri-v2 .gri-dl__ficon svg { width: 18px; height: 18px; }
.gri-v2 .gri-dl__fname { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gri-v2 .gri-dl__fname strong { font-weight: 700; overflow-wrap: anywhere; }
.gri-v2 .gri-dl__fname small { display: block; font-size: 13px; color: var(--ink-muted); }
.gri-v2 .gri-dl__fname small::first-letter { text-transform: uppercase; }
.gri-v2 .gri-dl__file .gri-btn { flex: none; }
.gri-v2 .gri-dl__file .gri-btn svg { width: 16px; height: 16px; }
.gri-v2 .gri-dl__none { margin: 0; padding: var(--space-5); border-radius: var(--radius-lg); background: var(--surface-2); text-align: center; color: var(--ink-muted); }
.gri-v2 .gri-dl__empty { display: flex; flex-direction: column; align-items: center; gap: var(--space-2); padding: var(--space-7) var(--space-5); border: 1px dashed var(--line-strong); border-radius: var(--radius-lg); text-align: center; }
.gri-v2 .gri-dl__emptyicon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: var(--space-2); border-radius: 50%; background: var(--violet-050); color: var(--violet-700); }
.gri-v2 .gri-dl__emptyicon svg { width: 28px; height: 28px; }
.gri-v2 .gri-dl__empty h2:not(#gri-none) { margin: 0; font: 800 22px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-dl__empty p { max-width: 44ch; margin: 0 0 var(--space-3); color: var(--ink-muted); }
.gri-v2 .gri-dl__pager { margin-top: var(--space-5); }
.gri-v2 .gri-dl__pager .hikashop_results_counter { display: none; }

@media (max-width: 575.98px) {
  .gri-v2 .gri-dl__item { padding: var(--space-4); }
  .gri-v2 .gri-dl__file { flex-wrap: wrap; }
  .gri-v2 .gri-dl__file .gri-btn { width: 100%; justify-content: center; }
}

/* ---------- Addresses: cards and form (initAddresses) ---------- */
/* The two « par défaut » dropdowns: replaced by « Utiliser par défaut » on each card */
.gri-v2.gri-account--addresses #hikashop_user_addresses_default { display: none !important; }
.gri-v2.gri-account--addresses div.hikashop_user_address.gri-addr--account:not(#gri-none) { display: grid; gap: var(--space-3); min-height: 0; padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: none; }
.gri-v2.gri-account--addresses div.hikashop_user_address.gri-addr--account:has(.gri-addr__default):not(#gri-none) { border-color: var(--violet-700); box-shadow: inset 0 0 0 1px var(--violet-700); background: var(--violet-050); }
.gri-v2.gri-account--addresses .gri-addr--account .gri-addr__default { top: var(--space-4); right: var(--space-4); }
.gri-v2.gri-account--addresses .gri-addr--account .gri-addr__name { padding-right: 96px; font-weight: 700; }
.gri-v2.gri-account--addresses .gri-addr--account .gri-addr__phone { margin-top: var(--space-1); color: var(--ink-muted); font-size: 14px; }
.gri-v2.gri-account--addresses .gri-addr--account .gri-addr__actions { display: flex; align-items: center; gap: var(--space-4); padding-top: var(--space-3); border-top: 1px solid var(--line); }
.gri-v2.gri-account--addresses .gri-addr--account:has(.gri-addr__default) .gri-addr__actions { border-color: rgba(55, 0, 107, .14); }
.gri-v2.gri-account--addresses .gri-addr__delete { margin-left: auto; }
.gri-v2.gri-account--addresses button.gri-addr__setdefault { padding: 0; border: 0; background: none; font: 700 14px/20px var(--font-body); color: var(--ink-muted); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.gri-v2.gri-account--addresses button.gri-addr__setdefault:hover { color: var(--violet-700); }
.gri-v2.gri-account--addresses .gri-addr-add:not(#gri-none) { border-radius: var(--radius-lg); }

/* Form: a card, the checkout's 12-column grid */
.gri-v2.gri-account--addresses .gri-addr-edit { padding: var(--space-6); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2.gri-account--addresses .gri-addr-edit__title:not(#gri-none) { margin: 0 0 var(--space-5); font: 800 22px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2.gri-account--addresses .gri-addr-edit > fieldset.hkform-horizontal { border: 0 !important; padding: 0 !important; display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4) var(--space-3); margin: 0; }
.gri-v2.gri-account--addresses .gri-addr-edit fieldset > * { grid-column: 1 / -1; min-width: 0; margin: 0 !important; }
.gri-v2.gri-account--addresses .gri-addr-edit .hkform-group input,
.gri-v2.gri-account--addresses .gri-addr-edit .hkform-group select,
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search input { max-width: none !important; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_title { grid-column: span 2; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_firstname,
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_lastname { grid-column: span 6; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_title ~ .hikashop_address_address_firstname,
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_title ~ .hikashop_address_address_lastname { grid-column: span 5; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_company,
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_vat,
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_country,
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_telephone { grid-column: span 6; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_street { grid-column: span 9; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_street_number { grid-column: span 3; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_post_code { grid-column: span 4; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_city { grid-column: span 8; }
.gri-v2.gri-account--addresses .gri-addr-edit .hkform-group[hidden] { display: none !important; }
.gri-v2.gri-account--addresses .gri-addr-edit .hikashop_field_required_label { display: none !important; }
.gri-v2.gri-account--addresses .gri-optional { font-weight: 400; color: var(--ink-muted); }
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search { display: block; padding: var(--space-4); border-radius: var(--radius-md); background: var(--violet-050); }
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search dt,
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search dd { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left !important; }
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search label { display: inline-flex !important; align-items: center; gap: var(--space-2); margin-bottom: var(--space-1); }
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search label .gri-icon,
.gri-v2.gri-account--addresses .gri-addr-edit .gri-addr-search label .gri-icon svg { width: 18px; height: 18px; color: var(--violet-700); }
.gri-v2.gri-account--addresses .gri-addr-search__help { margin: var(--space-2) 0 0; font: 400 13px/18px var(--font-body); color: var(--ink-muted); }
.gri-v2.gri-account--addresses button.gri-addr-more { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: var(--space-1); padding: 0; border: 0; background: none; font: 700 14px/20px var(--font-body); color: var(--violet-700); cursor: pointer; }
.gri-v2.gri-account--addresses button.gri-addr-more .gri-icon,
.gri-v2.gri-account--addresses button.gri-addr-more .gri-icon svg { width: 16px; height: 16px; }
.gri-v2.gri-account--addresses .gri-addr-actions { display: flex; justify-content: flex-end; align-items: center; gap: var(--space-3); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--line); }
.gri-v2.gri-account--addresses .gri-addr-actions .gri-btn:not(#gri-none) { min-height: 48px; padding: 0 var(--space-6) !important; }
.gri-v2.gri-account--addresses .gri-addr-actions .gri-btn--ghost:not(#gri-none) { box-shadow: none !important; background: transparent !important; color: var(--violet-700) !important; }

@media (max-width: 767.98px) {
  .gri-v2.gri-account--addresses .gri-addr-edit { padding: var(--space-4); }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_title { grid-column: span 4; }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_title ~ .hikashop_address_address_firstname { grid-column: span 8; }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_title ~ .hikashop_address_address_lastname,
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_company,
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_vat,
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_country,
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_telephone { grid-column: 1 / -1; }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_street { grid-column: span 8; }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_street_number { grid-column: span 4; }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_post_code { grid-column: span 5; }
  .gri-v2.gri-account--addresses .gri-addr-edit .hikashop_address_address_city { grid-column: span 7; }
  .gri-v2.gri-account--addresses .gri-addr-actions { flex-direction: column-reverse; align-items: stretch; }
}

/* Addresses: sections one under the other, cards in a grid, « + Nouvelle adresse » on the title row */
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > .hk-row-fluid:not(#gri-none) { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > .hk-row-fluid > .gri-addrs:not(#gri-none) { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); align-items: stretch; gap: var(--space-4); }
.gri-v2.gri-account--addresses .gri-addrs > * { margin: 0 !important; }
.gri-v2.gri-account--addresses .gri-addrs__head { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-2) var(--space-4); }
.gri-v2.gri-account--addresses .gri-addrs > .gri-addr--account:has(.gri-addr__default) { order: -1; }
.gri-v2.gri-account--addresses .gri-addrs__head { order: -2; }
.gri-v2.gri-account--addresses .gri-addrs .gri-addr--account:not(#gri-none) { grid-template-rows: 1fr auto; padding: var(--space-4); }
.gri-v2.gri-account--addresses .gri-addrs .gri-addr--account .gri-addr__actions { flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.gri-v2.gri-account--addresses .gri-addrs__head .gri-addr-add:not(#gri-none) { display: inline-flex; min-height: 40px; padding: 0 var(--space-4); border: 1px solid var(--violet-700); border-radius: var(--radius-pill); background: var(--surface); font-size: 14px; }
.gri-v2.gri-account--addresses .gri-addrs__head .gri-addr-add:not(#gri-none):hover { background: var(--violet-050); }
.gri-v2.gri-account--addresses .gri-addrs__head .gri-addr-add .gri-icon,
.gri-v2.gri-account--addresses .gri-addrs__head .gri-addr-add .gri-icon svg { width: 18px; height: 18px; }
/* Single list (an address without type: HikaShop drops the two columns) */
.gri-v2.gri-account--addresses .gri-addrs--flat #hikashop_user_addresses_default:not(#gri-none) { display: grid !important; padding: var(--space-4); border-radius: var(--radius-lg); background: var(--surface-2); }
.gri-v2.gri-account--addresses .gri-addrs--flat #hikashop_user_addresses_default select:not(#gri-none) { max-width: none; border-radius: var(--radius-pill) !important; }
.gri-v2.gri-account--addresses #hikashop_user_addresses_show > .gri-addrs:not(#gri-none) { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); align-items: stretch; gap: var(--space-4); }
.gri-v2.gri-account--addresses .gri-addrs__head--flat { justify-content: flex-end; }
.gri-v2.gri-account--addresses .gri-addrs > .gri-addr-add:not(#gri-none),
.gri-v2.gri-account--addresses .gri-addrs__head .gri-addr-add:not(#gri-none) { display: inline-flex; min-height: 40px; padding: 0 var(--space-4); border: 1px solid var(--violet-700); border-radius: var(--radius-pill); background: var(--surface); font-size: 14px; }
.gri-v2.gri-account--addresses .gri-addr__types { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-bottom: var(--space-2); }
.gri-v2.gri-account--addresses .gri-addr__type { padding: 2px var(--space-2); border-radius: var(--radius-pill); background: var(--surface-2); font: 700 11px/16px var(--font-body); letter-spacing: .04em; text-transform: uppercase; color: var(--ink-muted); }
.gri-v2.gri-account--addresses .gri-addr--account:has(.gri-addr__default) .gri-addr__type { background: var(--surface); }
.gri-v2.gri-account--addresses .gri-addr--account:has(.gri-addr__types) .gri-addr__name { padding-right: 0; }

/* ---------- Favourites lists (initWishlists) and empty favourites ---------- */
.gri-v2.gri-account--favorites #hikashop_carts_listing > .header,
.gri-v2.gri-account--favorites #hikashop_carts_listing > .hika_toolbar,
.gri-v2.gri-account--favorites #hikashop_cart_listing[hidden] { display: none !important; }
.gri-v2 .gri-favs__head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-4); }
.gri-v2 .gri-favs__head .gri-orders__title:not(#gri-none) { margin-bottom: var(--space-1); }
.gri-v2 .gri-favs__head .gri-dl__lead { max-width: 60ch; margin-bottom: 0; }
.gri-v2 .gri-favs__head a.gri-btn:not(#gri-none) { text-decoration: none; }
.gri-v2 .gri-favs__head .gri-btn svg { width: 16px; height: 16px; }
.gri-v2 .gri-favs { display: flex; flex-direction: column; gap: var(--space-3); }
.gri-v2 .gri-favs__item { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-4) var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
.gri-v2 .gri-favs__item.is-current { border-color: var(--violet-700); box-shadow: inset 0 0 0 1px var(--violet-700); }
.gri-v2 .gri-favs__icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--magenta-050); color: var(--magenta-500); }
.gri-v2 .gri-favs__icon svg { width: 22px; height: 22px; }
.gri-v2 .gri-favs__body { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.gri-v2 a.gri-favs__name:not(#gri-none) { font: 800 18px/1.25 var(--font-display); color: var(--violet-900) !important; text-decoration: none; }
.gri-v2 a.gri-favs__name:not(#gri-none):hover { text-decoration: underline; }
.gri-v2 .gri-favs__meta { font-size: 14px; color: var(--ink-muted); }
.gri-v2 .gri-favs__body .gri-badge { margin-top: var(--space-1); }
.gri-v2 .gri-favs__actions { display: flex; align-items: center; gap: var(--space-3); }
.gri-v2 .gri-favs__actions a.gri-btn:not(#gri-none) { color: var(--on-brand) !important; text-decoration: none; }
.gri-v2 a.gri-favs__setcurrent:not(#gri-none) { font: 700 14px/20px var(--font-body); color: var(--ink-muted) !important; text-decoration: underline; text-underline-offset: 3px; }
.gri-v2 button.gri-favs__delete { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: none; color: var(--danger, #b3261e); cursor: pointer; }
.gri-v2 button.gri-favs__delete:hover { background: var(--surface-2); }
.gri-v2 button.gri-favs__delete svg { width: 18px; height: 18px; }
/* Empty favourites list (show page): only the empty state */
.gri-v2 .gri-fav--empty .gri-fav__bar a[onclick*="moveProductsToCart"],
.gri-v2 .gri-fav--empty .gri-fav__bar button,
.gri-v2 .gri-fav--empty #hikashop_cart_product_listing { display: none !important; }
.gri-v2 .gri-fav--empty .gri-fav__empty { margin-bottom: var(--space-4); }
@media (max-width: 575.98px) {
  .gri-v2 .gri-favs__item { grid-template-columns: 40px minmax(0, 1fr); padding: var(--space-4); }
  .gri-v2 .gri-favs__icon { width: 40px; height: 40px; }
  .gri-v2 .gri-favs__actions { grid-column: 1 / -1; flex-wrap: wrap; }
}

/* ---------- Registration page (HikaShop ctrl=user&task=form; the Joomla one redirects here), initEmailFirst ---------- */
.gri-v2 form.gri-register { max-width: 720px; margin: 0 auto; padding: var(--space-6) 0 var(--space-7); font: 400 16px/24px var(--font-body); color: var(--ink); }
.gri-v2 .gri-register__head { margin: 0 0 var(--space-5); text-align: center; }
.gri-v2 .gri-register__title:not(#gri-none) { margin: 0 0 var(--space-2); font: 800 clamp(28px, 3vw, 38px)/1.1 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-register__text { max-width: 560px; margin: 0 auto var(--space-2); color: var(--ink-muted); }
.gri-v2 .gri-register__login { margin: 0; font-size: 15px; }
.gri-v2 .gri-register__login a:not(#gri-none) { color: var(--violet-700) !important; font-weight: 700; }
.gri-v2 .gri-register .hikashop_user_registration_page > fieldset.input { margin: 0; padding: var(--space-6); border: 0; border-radius: var(--radius-lg); background: var(--surface); box-shadow: inset 0 0 0 1px var(--line); }
.gri-v2 .gri-register .gri-register__section:not(#gri-none) { width: 100%; margin: var(--space-6) 0 var(--space-4); padding: var(--space-5) 0 0; border: 0; border-top: 1px solid var(--line); font: 800 22px/1.2 var(--font-display) !important; text-transform: none !important; color: var(--violet-900) !important; }
.gri-v2 .gri-register .gri-register__section.is-first:not(#gri-none) { margin-top: 0; padding-top: 0; border-top: 0; }
.gri-v2 .gri-register .hkform-horizontal > :not(.hkform-group) { grid-column: 1 / -1; }
.gri-v2 .gri-register .hikashop_user_registration_page fieldset fieldset { margin: 0; padding: 0; border: 0; }
.gri-v2 .gri-register .hkform-horizontal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-4); }
.gri-v2 .gri-register .hkform-group { grid-column: 1 / -1; display: flex; flex-direction: column; gap: var(--space-1); margin: 0 0 var(--space-4) !important; padding: 0 !important; }
.gri-v2 .gri-register :is(#hikashop_address_address_firstname, #hikashop_address_address_lastname, #hikashop_address_address_street, #hikashop_address_address_street_number, #hikashop_address_address_post_code, #hikashop_address_address_city, #hikashop_registration_password_line, #hikashop_registration_password2_line) { grid-column: auto; }
.gri-v2 .gri-register .hkform-group > [class*="hkc-"] { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; text-align: left !important; }
.gri-v2 .gri-register .hkform-group > .hkc-sm-4:empty { display: none; }
.gri-v2 .gri-register .hkcontrol-label:not(#gri-none) { font: 700 14px/20px var(--font-body) !important; color: var(--ink) !important; }
.gri-v2 .gri-register .hikashop_field_required_label { color: var(--magenta-500); }
.gri-v2 .gri-register .hkform-group :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select):not(#gri-none) { width: 100% !important; max-width: none; height: 48px !important; padding: 0 var(--space-4) !important; border: 1px solid var(--line-strong) !important; border-radius: var(--radius-sm) !important; background-color: var(--surface) !important; box-shadow: none !important; font: 400 16px/24px var(--font-body) !important; color: var(--ink) !important; }
.gri-v2 .gri-register .hkform-group select:not(#gri-none) { padding-right: var(--space-8) !important; }
.gri-v2 .gri-register .hkform-group :is(input, select):focus { border-color: var(--magenta-500) !important; box-shadow: 0 0 0 3px var(--magenta-050) !important; outline: none; }
.gri-v2 .gri-register .password-group .input-group > input { border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important; }
.gri-v2 .gri-register .small.text-muted { font-size: 13px; color: var(--ink-muted) !important; }
.gri-v2 .gri-register .hikashop_field_error_msg { display: block; margin-top: var(--space-1); font: 400 14px/20px var(--font-body); color: var(--danger); }
.gri-v2 .gri-register .hikashop_field_error_msg:empty,
.gri-v2 .gri-register .hikashop_field_error_msg[style*="none"] { display: none !important; }
.gri-v2 .gri-register #hikashop_messages_info { margin: 0 0 var(--space-3); padding: var(--space-3) var(--space-4); border: 0; border-radius: var(--radius-md); background: var(--violet-050); color: var(--ink); font-size: 15px; }
.gri-v2 .gri-register #hikashop_messages_info ul { margin: 0; padding: 0; list-style: none; }
.gri-v2 .gri-register .hikashop_registration_privacy_line > .hkcontrol-label a:not(#gri-none) { color: var(--violet-700) !important; font-weight: 700; text-decoration: underline; }
.gri-v2 .gri-register .hikaradios .btn-group { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.gri-v2 .gri-register .hikaradios .hikaradio-label:not(#gri-none) { display: inline-flex; align-items: center; gap: var(--space-2); min-height: 44px; margin: 0; padding: var(--space-2) var(--space-4); border: 1px solid var(--line-strong) !important; border-radius: var(--radius-pill) !important; background: var(--surface) !important; box-shadow: none !important; color: var(--ink) !important; font: 700 14px/20px var(--font-body) !important; text-align: left; white-space: normal; cursor: pointer; }
.gri-v2 .gri-register .hikaradios .hikaradio-label::before { content: ""; flex: none; width: 18px; height: 18px; border: 2px solid var(--line-strong); border-radius: 50%; background: var(--surface); }
.gri-v2 .gri-register .hikaradios .hikaradio-label.active:not(#gri-none) { border-color: var(--violet-700) !important; background: var(--violet-050) !important; color: var(--violet-900) !important; }
.gri-v2 .gri-register .hikaradios .hikaradio-label.active::before { border-color: var(--violet-700); background: radial-gradient(circle, var(--violet-700) 0 45%, var(--surface) 50%); }
.gri-v2 .gri-register .hikashop_registration_required_info_line { color: var(--ink-muted); font-size: 14px; }
.gri-v2 .gri-register .hikashop_registration_button_line { margin: var(--space-2) 0 0 !important; }
.gri-v2 .gri-register button.gri-register__submit:not(#gri-none) { width: 100%; }
.gri-v2 .gri-register #hikashop_registration_recaptcha_line > .hkcontrol-label { display: none; }

@media (max-width: 575.98px) {
  .gri-v2 form.gri-register { padding-top: var(--space-4); }
  .gri-v2 .gri-register .hikashop_user_registration_page > fieldset.input { padding: var(--space-4); }
  .gri-v2 .gri-register .hkform-horizontal { grid-template-columns: minmax(0, 1fr); }
  .gri-v2 .gri-register .hkform-group { grid-column: 1 / -1 !important; }
}

/* passwords side by side: the requirements under the field, so both inputs line up */
.gri-v2 .gri-register #hikashop_registration_password_line > .hkc-sm-8 { display: flex !important; flex-direction: column; }
.gri-v2 .gri-register #hikashop_registration_password_line > .hkc-sm-8 > .small.text-muted { order: 2; margin-top: var(--space-1); }
.gri-v2 .gri-register #hikashop_registration_password_line > .hkc-sm-8 > .password-group { order: 1; }
.gri-v2 .hkform-group[hidden] { display: none !important; }

/* ---------- Preprod remark 22: « Payez maintenant » (order/pay.php override), in the design system ---------- */
.gri-v2 .gri-pay { max-width: 640px; font-family: var(--font-body); color: var(--ink); }
.gri-v2 .gri-pay__eyebrow { margin: 0 0 6px; font: 700 13px/18px var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: var(--magenta-500); }
.gri-v2 .gri-pay h1.gri-pay__title:not(#gri-none) { margin: 0 0 6px !important; font: 800 34px/40px var(--font-display) !important; color: var(--violet-900) !important; letter-spacing: 0 !important; }
.gri-v2 .gri-pay__lead { margin: 0 0 var(--space-5); font: 400 16px/24px var(--font-body); color: var(--ink-muted); }
.gri-v2 .gri-pay__card { margin: 0 0 var(--space-4); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow-card); }
.gri-v2 .gri-pay h2.gri-pay__h:not(#gri-none) { margin: 0 0 var(--space-3) !important; font: 800 19px/24px var(--font-display) !important; color: var(--violet-900) !important; letter-spacing: 0 !important; }
.gri-v2 .gri-pay__items { margin: 0; padding: 0; list-style: none; }
.gri-v2 .gri-pay__item { display: flex; gap: var(--space-3); align-items: center; padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }
.gri-v2 .gri-pay__item:first-child { padding-top: 0; }
.gri-v2 .gri-pay__item img, .gri-v2 .gri-pay__noimg { flex: none; width: 56px; height: 56px; border-radius: var(--radius-sm); object-fit: contain; background: var(--surface-2); }
.gri-v2 .gri-pay__name { display: flex; flex-direction: column; min-width: 0; }
.gri-v2 .gri-pay__name b { font: 700 15px/20px var(--font-body); }
.gri-v2 .gri-pay__name small { font-size: 14px; color: var(--ink-muted); }
.gri-v2 .gri-pay__price { margin-left: auto; font-weight: 700; white-space: nowrap; }
.gri-v2 .gri-pay__rows { display: grid; grid-template-columns: 1fr auto; gap: 6px var(--space-3); margin: var(--space-3) 0 0; font-size: 15px; }
.gri-v2 .gri-pay__rows dt { font-weight: 400; color: var(--ink-muted); }
.gri-v2 .gri-pay__rows dd { margin: 0; text-align: right; font-weight: 700; white-space: nowrap; }
.gri-v2 .gri-pay__rows dd.is-off { color: var(--success); }
.gri-v2 .gri-pay__total { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-3); margin: var(--space-3) 0 0; padding-top: var(--space-3); border-top: 1px solid var(--line); font: 800 18px/24px var(--font-display); color: var(--violet-900); }
.gri-v2 .gri-pay__total span:last-child { font-size: 28px; line-height: 32px; color: var(--magenta-500); white-space: nowrap; }
.gri-v2 .gri-pay a.gri-pay__link:not(#gri-none) { display: inline-block; margin-top: var(--space-3); font: 700 14px/20px var(--font-body); color: var(--violet-700) !important; }
.gri-v2 .gri-pay__methods { display: grid; gap: var(--space-2); }
.gri-v2 .gri-pay__method { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 4px var(--space-3); margin: 0; padding: var(--space-4); border: 2px solid var(--line); border-radius: var(--radius-md); background: var(--surface); cursor: pointer; transition: border-color var(--dur-fast), background var(--dur-fast); }
.gri-v2 .gri-pay__method:has(input:checked) { border-color: var(--violet-700); background: var(--violet-050); }
.gri-v2 .gri-pay__method input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--violet-700); }
.gri-v2 .gri-pay__method b { font: 700 15px/22px var(--font-body); }
.gri-v2 .gri-pay__fee { font-weight: 400; color: var(--ink-muted); }
.gri-v2 .gri-pay__logos { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px; }
.gri-v2 .gri-pay__logos img { height: 26px; width: auto; border-radius: 4px; background: #fff; }
.gri-v2 .gri-pay__desc { grid-column: 2; font-size: 14px; line-height: 20px; color: var(--ink-muted); }
.gri-v2 .gri-pay__desc p { margin: 0; }
.gri-v2 .gri-pay__select select { width: 100%; }
.gri-v2 .gri-pay .gri-pay__go { width: 100%; margin-top: var(--space-2); }
.gri-v2 .gri-pay__go .gri-icon { width: 20px; height: 20px; }
.gri-v2 .gri-pay__safe { display: flex; justify-content: center; align-items: center; gap: 6px; margin: var(--space-3) 0 0; font-size: 14px; color: var(--ink-muted); text-align: center; }
.gri-v2 .gri-pay__safe .gri-icon { flex: none; width: 16px; height: 16px; }
.gri-v2 .gri-pay a.gri-pay__back:not(#gri-none) { display: block; margin: var(--space-4) 0 0; text-align: center; font: 700 15px/20px var(--font-body); color: var(--violet-700) !important; }
@media (max-width: 767.98px) {
  .gri-v2 .gri-pay h1.gri-pay__title:not(#gri-none) { font-size: 28px !important; line-height: 34px !important; }
  .gri-v2 .gri-pay__card { padding: var(--space-4); }
}

/* Preprod remark 24: the points count up (countUp), then the star pops */
.gri-v2 .gri-dash__points [data-gri-count] { font-variant-numeric: tabular-nums; }
.gri-v2 .gri-dash__points.is-counted .gri-dash__h .gri-icon { animation: gri-star-pop .7s var(--ease-bounce, ease-out); }
@keyframes gri-star-pop { 0% { transform: scale(1) rotate(0); } 40% { transform: scale(1.45) rotate(-18deg); } 70% { transform: scale(.92) rotate(8deg); } 100% { transform: scale(1) rotate(0); } }
@media (prefers-reduced-motion: reduce) { .gri-v2 .gri-dash__points.is-counted .gri-dash__h .gri-icon { animation: none; } }
.gri-v2 .gri-dash__points .gri-dash__more { margin-top: var(--space-3); }

/* Preprod remark 25: « Mes informations »: a field the customer cannot change (the username, readonly) looks so:
   greyed, muted text, a lock, no text cursor */
.gri-v2.gri-account--profile input[readonly]:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not(#gri-none),
.gri-v2.gri-account--profile input:disabled:not([type="checkbox"]):not([type="radio"]):not(#gri-none) {
  padding-right: 44px;
  border-color: var(--line) !important;
  background: var(--surface-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6178' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") no-repeat right 14px center / 18px 18px !important;
  color: var(--ink-muted) !important;
  box-shadow: none !important;
  cursor: not-allowed;
}

/* « Mes informations »: no « Annuler » (it led to Joomla's read-only profile page, now sent back here) */
.gri-v2.gri-account--profile button[value="profile.cancel"]:not(#gri-none) { display: none !important; }

}
