:root {
  --brand: #843c53;
  --green: var(--brand);
  --deep: #572d3d;
  --yellow: #f3cb70;
  --ink: #302b2e;
  --muted: #70696b;
  --line: #dfd8d7;
  --soft: #f0ebea;
  --shadow: 0 16px 38px rgb(64 34 46 / 9%);
}

body { background: #f3f2f0; }
.announcement { color: #f8f0ee; }
.site-header { background: rgb(250 249 247 / 96%); }
.logo span { color: #c78d4d; }
.search { background: #f0edeb; border-color: var(--line); }
.search:focus-within { border-color: #ac7b89; box-shadow: 0 0 0 3px rgb(132 60 83 / 12%); }
.search input::placeholder { color: #81797a; }
.search kbd { border-color: #d8cecd; }
.hero p { color: #eee1e3; }
.hero-visual:after,
html[dir=ltr] .hero-visual:after { background: none; }
.hero-sticker { box-shadow: 0 5px 22px rgb(50 22 32 / 20%); }
.image-caption { background: rgb(65 34 43 / 70%); }
.hero-stats span { color: #e5cdd3; }
.benefits [data-icon] { color: var(--brand); }
.category-card:hover { border-color: #b88c9a; }
.category-card.selected { background: #f6e9ed; border-color: var(--brand); }
.category-image { background: #f1e8e9; }
.category-card:nth-child(6n+2) .category-image { background: #f5eee6; }
.category-card:nth-child(6n+3) .category-image { background: #ece9e7; }
.category-card:nth-child(6n+4) .category-image { background: #f0e9e6; }
.category-card:nth-child(6n+5) .category-image { background: #ebe8ea; }
.product-section { background: #ebe8e6; border-color: #ddd5d4; }
.catalog-controls select { border-color: #d8cecd; }
.filter { border-color: #ded2d4; }
.filters > .filter { flex: 0 0 auto; }
.product-card { border-color: #e4dcda; }
.product-card:hover { border-color: #c7a5ae; }
.product-info { border-top-color: #eee9e7; }
.product-badge { color: #813c50; background: #f7e8ed; border-color: #e9cbd4; }
.product-brand, .old-price { color: #756c6e; }
.add-button, .card-quantity { color: var(--brand); background: #f8e9ed; border-color: #e8cbd3; }
.page-button, .page-direction { border-color: #d8cecd; }
.pantry-banner { background: #e8e0e2; border-color: #d9cbd0; }
.pantry-banner .eyebrow { color: #785f68; }
.pantry-banner h2 em { color: var(--brand); }
.pantry-banner p { color: #675a60; }
.pantry-list { background: #faf8f5; border-color: #dacfd0; box-shadow: 0 15px 38px rgb(71 39 52 / 10%); }
.pantry-list:before { background: rgb(178 150 159 / 45%); }
.pantry-list > div { border-color: #e6dddc; }
.pantry-list [data-icon] { color: var(--brand); border-color: #c59eac; }
.pantry-list small, .list-footer { color: #796d72; }
footer { color: #faf0ee; }
.footer-top p, .footer-message span, .footer-bottom { color: #e3cbd0; }
dialog { box-shadow: 0 24px 90px rgb(57 28 40 / 24%); }
dialog::backdrop { background: rgb(42 24 32 / 55%); }
.cart-empty [data-icon] { color: var(--brand); }
.toast { background: var(--deep); }

@media (max-width: 680px) {
  .header-main {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "logo actions" "search search";
    gap: 10px 8px;
    padding-block: 11px;
  }
  .header-main > .logo { grid-area: logo; justify-self: start; font-size: 37px; }
  .header-actions { grid-area: actions; gap: 8px; }
  .search { grid-area: search; grid-column: 1 / -1; }
  .language { gap: 4px; }
  .hero h1 { font-size: clamp(39px, 11vw, 48px); }
  html[lang=fr] .hero h1 { font-size: clamp(38px, 10.5vw, 52px); }
  .mobile-nav { background: rgb(250 249 247 / 97%); border-top-color: var(--line); box-shadow: 0 -6px 24px rgb(70 35 46 / 7%); }
  .mobile-nav-link { color: #786e71; }
  .mobile-nav-link.active { background: #f3e4e9; }
  .mobile-cart-icon b { color: var(--deep); }
  .product-section { margin-inline: 0; }
}

@media (max-width: 430px) {
  .catalog-controls { grid-template-columns: minmax(0, 1fr); }
  .product-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .product-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); min-height: 184px; }
  .product-photo { height: 100%; min-height: 184px; padding: 18px 10px; }
  .product-info { padding: 11px 12px; border-top: 0; border-inline-start: 1px solid #eee9e7; }
  .product-name { min-height: 0; margin-top: 3px; -webkit-line-clamp: 2; line-height: 1.55; }
  .product-unit { line-height: 1.4; }
  .product-bottom { padding-top: 6px; gap: 5px; }
  .product-bottom > div:first-child { min-height: 0; }
  .price { font-size: 21px; }
  .old-price { margin-top: 0; }
  .add-button { min-height: 44px; }
  .cart-item { display: grid; grid-template-columns: 58px minmax(0, 1fr); grid-template-areas: "image info" "remove info"; align-items: start; gap: 4px 12px; }
  .cart-item img { grid-area: image; }
  .cart-item-info { grid-area: info; }
  .cart-item .remove { grid-area: remove; align-self: start; min-width: 0; padding: 0; }
}

@media (max-width: 350px) {
  .header-main > .logo { font-size: 34px; }
  .product-card { grid-template-columns: 100px minmax(0, 1fr); }
  .product-info { padding-inline: 10px; }
  .price { font-size: 19px; }
}
