@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root {
  --ink:#151719;
  --text:#171717;
  --muted:#686963;
  --muted-on-dark:#bcbdb9;
  --gold:#f2c13d;
  --gold-soft:#fbf0cd;
  --gold-deep:#94630b;
  --paper:#fafaf7;
  --surface:#f3f2ed;
  --product-backdrop:radial-gradient(ellipse at 48% 25%,#fafaf7,#e9e7e0);
  --white:#fff;
  --line:#e6e5df;
  --danger:#ae4237;
  --radius:18px;
  --radius-lg:30px;
  --shadow:0 20px 60px #15171914;
  --logo-ground-shadow:rgba(21,23,25,.28);
  --logo-top-shade:rgba(9,12,13,.14);
  --logo-body-shade:rgba(9,12,13,.12);
  --font:'Manrope',system-ui,sans-serif;
  color-scheme:light
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--paper);
  color:var(--text);
  font:16px/1.6 var(--font)
}
button,input,select,textarea {
  font:inherit
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
img,svg {
  display:block;
  max-width:100%
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  line-height:1.1;
  letter-spacing:-.045em
}
h1 {
  font-size:clamp(3rem,6.5vw,6.6rem);
  font-weight:800
}
h2 {
  font-size:clamp(2.1rem,4.3vw,4.2rem);
  font-weight:800
}
h3 {
  font-size:clamp(1.25rem,2vw,1.8rem)
}
.container {
  width:min(100% - 48px,1320px);
  margin-inline:auto
}
.surface-white {
  background:var(--white)
}
.footer-dot {
  color:var(--gold)
}
.footer-description {
  color:var(--muted-on-dark);
  max-width:280px;
  margin-top:20px
}
.skip-link {
  position:absolute;
  z-index:200;
  top:-100px;
  left:16px;
  padding:10px;
  background:var(--gold)
}
.skip-link:focus {
  top:10px
}
:focus-visible {
  outline:3px solid var(--gold-deep);
  outline-offset:3px
}
.eyebrow {
  color:var(--gold-deep);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.73rem;
  font-weight:800
}
.muted {
  color:var(--muted)
}
.lead {
  font-size:clamp(1.03rem,1.6vw,1.23rem);
  color:var(--muted);
  max-width:630px
}
.section {
  padding:clamp(70px,8vw,120px) 0
}
.section-head {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:38px
}
.section-head h2 {
  margin:0
}
.arrow-link {
  font-weight:800;
  border-bottom:1px solid currentColor;
  padding-bottom:4px;
  white-space:nowrap
}
.arrow-link:hover {
  color:var(--gold-deep)
}
.btn {
  min-height:52px;
  padding:13px 24px;
  border:1px solid transparent;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:.9rem;
  font-weight:800;
  line-height:1.2;
  transition:transform .2s,background .2s
}
.btn:hover {
  transform:translateY(-2px)
}
.btn-dark {
  background:var(--ink);
  color:var(--white)
}
.btn-dark:hover {
  background:#36393a
}
.btn-gold {
  background:var(--gold);
  color:var(--ink)
}
.btn-gold:hover {
  background:#ffd35d
}
.btn-light {
  background:var(--white);
  color:var(--ink);
  border-color:var(--line)
}
.btn-ghost {
  border-color:var(--ink)
}
.btn-block {
  width:100%
}
.btn:disabled {
  opacity:.5;
  cursor:not-allowed;
  transform:none
}
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:#fafaf7f2;
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line)
}
.header-inner {
  display:flex;
  align-items:center;
  gap:38px;
  min-height:78px
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-.06em;
  line-height:1;
  white-space:nowrap
}
.brand img {
  width:46px;
  height:46px;
  object-fit:cover;
  border-radius:8px
}
.main-nav {
  display:flex;
  align-items:center;
  gap:clamp(13px,2vw,32px);
  margin-right:auto
}
.main-nav a,.header-actions a,.header-actions .account-link {
  font-weight:800;
  font-size:.82rem;
  white-space:nowrap
}
.main-nav a {
  color:#565752
}
.main-nav a:hover,.main-nav a[aria-current=page] {
  color:var(--ink)
}
.header-actions {
  display:flex;
  align-items:center;
  gap:18px
}
.icon-link {
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:40px
}
.icon-link svg {
  width:20px;
  height:20px
}
.cart-count {
  min-width:19px;
  height:19px;
  border-radius:50%;
  background:var(--gold);
  display:grid;
  place-items:center;
  font-size:.65rem
}
.nav-toggle {
  display:none;
  border:0;
  background:none;
  font-weight:800
}
.brand-symbol {
  display:block;
  width:42px;
  height:42px
}
.brand-symbol img {
  width:100%;
  height:100%;
  object-fit:contain
}
.brand-wordmark {
  display:block;
  position:relative;
  width:150px;
  height:27px;
  overflow:hidden
}
.brand .brand-wordmark img {
  position:absolute;
  top:50%;
  left:0;
  width:100%;
  max-width:none;
  height:auto;
  transform:translateY(-50%)
}
#brandSignature .brand-signature {
  display:block;
  font-size:clamp(1rem,1.7vw,1.4rem);
  font-weight:500;
  letter-spacing:.38em;
  text-transform:uppercase
}
.hero-visual #heroSymbol {
  width:min(100%,570px);
  position:relative;
  isolation:isolate
}
.hero-visual #heroSymbol::before {
  content:'';
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 54% 32% at 54% 14%,var(--logo-top-shade),transparent 82%),
    radial-gradient(ellipse 55% 50% at 82% 69%,var(--logo-body-shade),transparent 87%),
    linear-gradient(145deg,transparent 50%,rgba(9,12,13,.07) 100%);
  -webkit-mask-image:url('../assets/defar-symbol.png');
  mask-image:url('../assets/defar-symbol.png');
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat
}
.hero-visual #heroSymbol::after {
  content:'';
  position:absolute;
  z-index:-1;
  left:18%;
  bottom:-2%;
  width:64%;
  height:8%;
  border-radius:50%;
  background:var(--logo-ground-shadow);
  filter:blur(23px);
  transform:rotate(-7deg)
}
.hero-visual #heroSymbol img {
  width:100%;
  height:auto;
  position:relative;
  z-index:1;
  filter:drop-shadow(9px 16px 12px rgba(21,23,25,.13))
}
.hero {
  min-height:670px;
  overflow:hidden;
  background:var(--white)
}
.hero-inner {
  display:grid;
  grid-template-columns:1fr .95fr;
  align-items:center;
  gap:30px;
  min-height:670px
}
.hero-copy {
  padding:85px 0
}
.hero h1 {
  margin:16px 0 24px
}
.hero h1 span {
  display:block
}
.hero .lead {
  margin-bottom:30px
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.hero-visual {
  position:relative;
  display:grid;
  place-items:center;
  align-self:stretch;
  padding-bottom:38px;
  overflow:visible
}
.hero-visual:before {
  content:'';
  width:82%;
  aspect-ratio:1;
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle,#f7e5b7 0%,#faf7ee 48%,transparent 73%)
}
.hero-visual img {
  width:min(100%,600px);
  position:relative
}
.hero-caption {
  position:absolute;
  bottom:60px;
  right:0;
  font-size:.68rem;
  color:var(--muted);
  letter-spacing:.1em;
  text-transform:uppercase
}
.journeys {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px
}
.journey {
  min-height:330px;
  padding:30px;
  border-radius:var(--radius-lg);
  background:var(--surface);
  display:flex;
  flex-direction:column;
  transition:transform .2s
}
.journey:hover {
  transform:translateY(-5px)
}
.journey.feature {
  background:var(--ink);
  color:white
}
.journey small {
  color:var(--gold-deep);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase
}
.journey.feature small {
  color:var(--gold)
}
.journey-mark {
  display:flex;
  align-items:center;
  width:56px;
  height:56px;
  flex:none;
  margin:30px 0 24px;
  color:var(--ink)
}
.journey-mark svg {
  display:block;
  width:100%;
  height:100%
}
.journey.feature .journey-mark {
  color:var(--gold)
}
.journey p {
  color:var(--muted);
  max-width:260px
}
.journey.feature p {
  color:#c3c5c2
}
.journey .arrow-link {
  margin-top:auto;
  width:max-content
}
.product-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:34px 18px
}
.product-media {
  aspect-ratio:1/.9;
  background:var(--product-backdrop);
  border-radius:var(--radius);
  overflow:hidden;
  position:relative;
  display:grid;
  place-items:center
}
.product-media img {
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8%;
  transition:transform .3s
}
.product-media img.product-photo-scene,
.cart-thumb img.product-photo-scene {
  padding:0;
  object-fit:cover
}
.product-card:hover img {
  transform:scale(1.04)
}
.product-placeholder {
  width:60%;
  aspect-ratio:1;
  border-radius:25%;
  background:linear-gradient(135deg,#d0cec6,#f9f8f3 45%,#bbb8af);
  box-shadow:18px 26px 24px #15171925,inset -12px -10px 20px #15171915;
  transform:rotate(-13deg);
  display:grid;
  place-items:center;
  color:#777871;
  font-size:3rem;
  font-weight:800
}
.visual-note {
  position:absolute;
  bottom:15px;
  left:18px;
  font-size:.65rem;
  color:var(--muted);
  letter-spacing:.08em;
  text-transform:uppercase
}
.product-meta {
  padding:17px 2px 0;
  display:flex;
  justify-content:space-between;
  gap:14px
}
.product-meta h3 {
  font-size:1.06rem;
  letter-spacing:-.02em;
  margin:4px 0
}
.product-meta p {
  color:var(--muted);
  font-size:.78rem;
  margin:0
}
.product-meta strong {
  white-space:nowrap;
  font-size:.91rem
}
.badge {
  display:inline-block;
  padding:5px 10px;
  border-radius:99px;
  background:#f8edca;
  color:#684c00;
  font-size:.67rem;
  font-weight:800
}
.product-card .btn {
  margin-top:14px;
  min-height:42px;
  padding:8px 13px;
  font-size:.78rem
}
.statement {
  background:var(--ink);
  color:#fff
}
.statement-inner {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:60px;
  min-height:400px
}
.statement h2 {
  margin:0
}
.statement p {
  color:#c8c9c6;
  max-width:510px
}
.statement .eyebrow {
  color:var(--gold)
}
.page-intro {
  padding:80px 0 56px
}
.page-intro h1 {
  margin:12px 0 22px
}
.filters {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:27px
}
.filter {
  border:1px solid var(--line);
  background:transparent;
  border-radius:99px;
  padding:10px 17px;
  font-size:.77rem;
  font-weight:800
}
.filter.active,.filter:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink)
}
.shop-tools {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-bottom:25px
}
.shop-tools select,.field input,.field textarea,.field select,.search-input {
  width:100%;
  border:1px solid var(--line);
  background:white;
  border-radius:10px;
  padding:13px 15px;
  color:var(--ink)
}
.shop-tools select {
  width:auto
}
.search-input {
  max-width:430px
}
.empty {
  padding:35px 0;
  color:var(--muted)
}
.detail {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:clamp(40px,7vw,100px);
  padding:80px 0 120px
}
.detail .product-media {
  aspect-ratio:1
}
.detail h1 {
  font-size:clamp(2.7rem,4.8vw,5rem);
  margin:15px 0
}
.detail-price {
  font-size:1.7rem;
  font-weight:800;
  margin:18px 0
}
.detail-desc {
  color:var(--muted);
  max-width:530px
}
.detail-actions {
  display:flex;
  gap:10px;
  align-items:center;
  margin:25px 0
}
.qty-input {
  width:78px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px
}
.split {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px
}
.choice {
  min-height:300px;
  padding:38px;
  border-radius:var(--radius-lg);
  background:var(--surface);
  display:flex;
  flex-direction:column;
  align-items:start
}
.choice.dark {
  background:var(--ink);
  color:#fff
}
.choice p {
  color:var(--muted);
  max-width:420px
}
.choice.dark p {
  color:#c3c4c1
}
.choice .btn {
  margin-top:auto
}
.form-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(40px,8vw,130px);
  padding-bottom:110px
}
.form-layout aside h2 {
  font-size:clamp(2rem,3vw,3rem)
}
.form-panel {
  padding:clamp(22px,4vw,48px);
  border-radius:var(--radius-lg);
  background:#fff
}
.field {
  margin-bottom:20px
}
.field label {
  display:block;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:8px
}
.field textarea {
  min-height:140px;
  resize:vertical
}
.field small {
  display:block;
  margin-top:6px;
  color:var(--muted)
}
.form-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px
}
.notice {
  padding:14px 18px;
  border-radius:10px;
  background:var(--surface);
  color:var(--muted);
  font-size:.82rem
}
.notice.error {
  color:var(--danger);
  background:#fae9e5
}
.cart-layout {
  display:grid;
  grid-template-columns:1.5fr .7fr;
  gap:65px;
  padding-bottom:110px
}
.cart-line {
  display:grid;
  grid-template-columns:80px 1fr auto;
  align-items:center;
  gap:20px;
  padding:20px 0;
  border-bottom:1px solid var(--line)
}
.cart-thumb {
  width:80px;
  height:80px;
  background:var(--product-backdrop);
  border-radius:10px;
  display:grid;
  place-items:center;
  font-weight:800;
  color:var(--muted)
}
.cart-line h3 {
  font-size:1rem;
  margin:0 0 4px
}
.cart-line p {
  margin:0;
  color:var(--muted);
  font-size:.77rem
}
.line-price {
  text-align:right;
  font-weight:800
}
.cart-controls {
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:7px
}
.cart-controls button {
  border:0;
  background:transparent;
  padding:0 5px;
  font-weight:800
}
.cart-summary {
  background:var(--surface);
  padding:28px;
  border-radius:var(--radius);
  height:max-content
}
.summary-row {
  display:flex;
  justify-content:space-between;
  gap:15px;
  border-bottom:1px solid #d7d5cb;
  padding:12px 0
}
.summary-row.total {
  font-size:1.2rem;
  font-weight:800;
  border:0
}
.cart-summary .btn {
  margin:18px 0
}
.cart-summary p {
  font-size:.77rem;
  color:var(--muted)
}
.account-grid,.admin-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  padding-bottom:100px
}
.account-tile {
  background:white;
  border-radius:var(--radius);
  padding:27px;
  min-height:150px
}
.account-tile h3 {
  font-size:1.1rem
}
.account-tile p {
  font-size:.82rem;
  color:var(--muted)
}
.admin-shell {
  display:grid;
  grid-template-columns:240px 1fr;
  min-height:70vh
}
.admin-sidebar {
  background:var(--ink);
  color:white;
  padding:32px
}
.admin-sidebar h2 {
  font-size:1.3rem
}
.admin-sidebar h3 {
  margin-top:28px;
  color:var(--gold);
  font-size:.73rem;
  letter-spacing:.1em;
  text-transform:uppercase
}
.admin-sidebar a {
  display:block;
  color:#cbccc9;
  margin:12px 0;
  font-size:.82rem
}
.admin-content {
  padding:48px
}
.site-footer {
  background:var(--ink);
  color:white;
  padding:70px 0 25px
}
.footer-grid {
  display:grid;
  grid-template-columns:2fr repeat(3,1fr);
  gap:30px
}
.footer-grid h3 {
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase
}
.footer-grid a {
  display:block;
  color:#bcbdb9;
  margin:10px 0;
  font-size:.82rem
}
.footer-grid a:hover {
  color:var(--gold)
}
.footer-bottom {
  border-top:1px solid #424547;
  margin-top:60px;
  padding-top:20px;
  color:#a9aba7;
  font-size:.74rem
}
@media(max-width:1100px) {
  .header-inner {
    gap:20px
  }
  .main-nav {
    gap:12px
  }
  .main-nav a,.header-actions a,.header-actions .account-link {
    font-size:.75rem
  }
}
@media(max-width:800px) {
  .nav-toggle {
    display:block;
    margin-left:auto
  }
  .main-nav {
    display:none;
    position:absolute;
    top:78px;
    left:0;
    right:0;
    padding:20px 24px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    flex-direction:column;
    align-items:stretch
  }
  .main-nav.open {
    display:flex
  }
  .header-actions .search-link span,.header-actions .account-link span {
    display:none
  }
  .hero-inner {
    grid-template-columns:1fr;
    gap:0
  }
  .hero-copy {
    padding:70px 0 0
  }
  .hero-visual {
    max-height:500px
  }
  .hero-visual img {
    max-width:450px
  }
  .hero-caption {
    bottom:15px
  }
  .journeys,.product-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .detail,.cart-layout,.form-layout,.statement-inner {
    grid-template-columns:1fr
  }
  .statement-inner {
    padding:75px 0
  }
  .footer-grid {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:560px) {
  .container {
    width:min(100% - 32px,1320px)
  }
  .header-inner {
    min-height:68px;
    gap:12px
  }
  .main-nav {
    top:68px
  }
  .brand {
    font-size:1.1rem
  }
  .brand img {
    width:36px;
    height:36px
  }
  .brand-symbol {
    width:36px;
    height:36px
  }
  .brand-wordmark {
    width:125px;
    height:23px
  }
  .header-actions {
    gap:8px
  }
  .header-actions .search-link {
    display:none
  }
  .hero-copy {
    padding:60px 0 0
  }
  .hero h1 {
    font-size:clamp(2.8rem,12vw,4.5rem)
  }
  .hero-actions .btn {
    width:100%
  }
  .hero-visual {
    max-height:340px
  }
  .hero-visual img {
    max-width:340px
  }
  .journeys,.product-grid,.split,.account-grid,.admin-grid,.form-row {
    grid-template-columns:1fr
  }
  .journey {
    min-height:275px
  }
  .section-head {
    align-items:start;
    flex-direction:column
  }
  .page-intro {
    padding:52px 0 35px
  }
  .shop-tools {
    flex-direction:column
  }
  .shop-tools select,.search-input {
    width:100%;
    max-width:none
  }
  .detail {
    padding-top:25px
  }
  .detail-actions {
    flex-wrap:wrap
  }
  .cart-line {
    grid-template-columns:60px 1fr
  }
  .cart-thumb {
    width:60px;
    height:60px
  }
  .line-price {
    grid-column:2;
    text-align:left
  }
  .footer-grid {
    grid-template-columns:1fr 1fr
  }
  .footer-brand {
    grid-column:1/-1
  }
  .admin-shell {
    grid-template-columns:1fr
  }
  .admin-sidebar {
    padding:24px
  }
  .admin-content {
    padding:28px 16px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important
  }
}
/* Catalogue connecté, variantes de filament et promotions. */
.product-media img{object-fit:contain}.price-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.price-stack del{font-size:.78rem;font-weight:400;color:var(--muted)}.price-stack .badge{white-space:nowrap}.availability{margin-top:14px}.photo-caption{font-size:.75rem;color:var(--muted);margin:14px 0}.variant-picker{margin-top:26px}.variant-picker fieldset{border:0;padding:0;margin:20px 0}.variant-picker legend{font-size:.8rem;font-weight:800;margin-bottom:12px}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{display:flex;gap:8px;align-items:center;min-height:44px;background:white;border:1px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer;font-size:.8rem}.swatch span{width:20px;height:20px;border-radius:50%;border:1px solid #0002}.swatch.selected{border:2px solid var(--ink);padding:7px 11px}.detail-actions button:disabled{opacity:.5;cursor:not-allowed}.cart-thumb img{width:100%;height:100%;object-fit:contain;padding:8%}.cart-line>div{min-width:0}.cart-line p{overflow-wrap:anywhere}
@media(max-width:600px){.product-meta{flex-direction:column}.product-meta .price-stack{flex-direction:row;align-items:center;flex-wrap:wrap}.detail-actions{flex-wrap:wrap}.detail-actions .btn{flex:1}.cart-line{gap:12px}.line-price{font-size:.8rem}}

/* Session controls use the same navigation on desktop and Android. */
.main-nav .admin-nav-link {color:var(--ink);background:var(--gold);border-radius:9px;padding:9px 12px}
.header-actions {flex-shrink:0}
.header-actions>.icon-link svg {flex-shrink:0}
.account-menu {position:relative}
.account-link {border:0;border-radius:10px;background:transparent;color:var(--ink);padding:8px 4px;min-height:44px}
.account-link:hover,.account-link[aria-expanded="true"] {background:var(--surface)}
.account-chevron svg {width:14px;height:14px;transition:transform .15s ease}
.account-link[aria-expanded="true"] .account-chevron svg {transform:rotate(180deg)}
.account-popover {position:absolute;right:0;top:calc(100% + 14px);width:300px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 100px);overflow-y:auto;padding:10px;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 42px #15171926;text-align:left}
.account-popover[hidden] {display:none}
.account-menu-identity {padding:10px 12px 16px;border-bottom:1px solid var(--line);margin-bottom:6px}
.account-menu-identity strong {font-size:.9rem}
.account-menu-identity p {margin:5px 0 0;color:var(--muted);font-size:.78rem;overflow-wrap:anywhere}
.account-menu-links {display:grid;gap:2px}
.account-popover .account-menu-links a,.account-popover .session-logout {display:flex;align-items:center;gap:10px;width:100%;min-height:46px;padding:11px 12px;font-size:.8rem;font-weight:700;white-space:normal;border-radius:9px}
.account-popover svg {width:18px;height:18px;flex:none}
.account-popover .account-menu-links a:hover,.account-popover .session-logout:hover {background:var(--surface)}
.account-popover .session-logout {border:0;border-top:1px solid var(--line);margin-top:6px;background:transparent;color:var(--danger);text-align:left}
.account-popover .session-logout:disabled {opacity:.65;cursor:wait}
@media(max-width:800px) {.account-link {min-width:44px;justify-content:center}.account-popover {position:fixed;top:82px;right:16px}}
@media(max-width:560px) {.account-popover {top:72px}}
@media(max-width:360px) {.header-inner {gap:6px}.brand {gap:6px}.brand-wordmark {width:90px}.nav-toggle {padding:1px 0;min-width:44px;min-height:44px}.header-actions {gap:6px}}

@media(min-width:1241px) {.header-inner {gap:24px}.main-nav {gap:16px}.header-actions {gap:12px}}
@media(min-width:801px) and (max-width:1440px) {.header-actions .search-link span {display:none}}
@media(min-width:801px) and (max-width:1240px) {
 .nav-toggle {display:block;margin-left:auto}
 .main-nav {display:none;position:absolute;top:78px;left:0;right:0;padding:20px 24px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}
 .main-nav.open {display:flex}
}
@media(max-width:1240px) {.main-nav a {min-height:44px;display:flex;align-items:center}}

/* Un retour visible lorsque le navigateur empêche de conserver le panier. */
.cart-feedback {position:fixed;z-index:300;bottom:20px;left:50%;transform:translateX(-50%);width:min(560px,calc(100% - 32px));padding:18px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--gold);border-radius:14px;box-shadow:var(--shadow)}
.cart-feedback[hidden] {display:none}
