/* ============================================================
   AVA MOBILLI — magazinul online
   Se încarcă după main.css, pages.css și wordpress.css și le ajustează pentru
   un magazin: fundal alb, antet lipicios cu categorii, prețuri și butoane de
   coș vizibile, etichete fără majuscule și fără animații la derulare.
   ============================================================ */

:root {
  --paper: #ffffff;          /* fundalul paginii */
  --porcelain: #f5f3ef;      /* panouri, câmpuri, benzi */
  --sand: #ece7df;           /* fundalul fotografiilor */
  --line: #e6e1d9;
  --line-2: #d3ccc1;
  --mute: #74685a;
  --sale: #b8321a;           /* reduceri: insignă, economie */
  --orange: var(--sale);
  --hdr-h: 64px;
}

/* ---------- bază ---------- */
body { background: var(--paper); }
h1, h2, h3, h4 { font-weight: 420; line-height: 1.1; letter-spacing: -0.01em; }
.serif-em { font-style: normal; }

/* Butoanele nu se mai ridică la hover; se schimbă doar culoarea. */
.btn { will-change: auto; transition: background var(--f), color var(--f), border-color var(--f); }
.btn:hover, .btn:active { transform: none; }

/* Etichetele: litere obișnuite, fără spațiere lărgită și fără linia din față. */
.eyebrow { text-transform: none; letter-spacing: 0; font-size: var(--t--1); color: var(--mute); }
.eyebrow::before { display: none; }
.link {
  text-transform: none; letter-spacing: 0; font-size: 0.9375rem; font-weight: 600;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;
  padding-bottom: 0; white-space: nowrap;
}
.link::after { display: none; }
.link:hover { text-decoration-thickness: 2px; }
.link--brass { color: var(--ink); }
.bg-espresso .link--brass, .bg-emerald .link--brass { color: var(--on-dark); }
.fact span, .li__rm, .jpost__meta, .hero__chip .k { text-transform: none; letter-spacing: 0; }
.ftr__col h4 { text-transform: none; letter-spacing: 0; font-family: var(--sans); font-size: var(--t-0); font-weight: 600; }
.contact__block h4 { text-transform: none; letter-spacing: 0; }

/* Insignele de produs */
.tag { text-transform: none; letter-spacing: 0; font-size: 0.75rem; font-weight: 700; padding: 0.3em 0.65em; border-radius: 6px; line-height: 1.3; }
.tag--sale { background: var(--sale); border-color: var(--sale); }
.tag--ltd { background: #fff; color: var(--ink); border-color: #fff; }

/* Prețul: prețul curent îngroșat, prețul întreg tăiat după el. */
.price-now { font-weight: 700; color: var(--ink); }
.price-was { color: var(--mute); font-size: 0.85em; font-weight: 400; }

/* ---------- începutul paginilor: antetul e acum în fluxul paginii ---------- */
.phero { padding-top: clamp(1.25rem, 1rem + 1vw, 2rem); padding-bottom: clamp(1.25rem, 1rem + 1.5vw, 2.25rem); }
.phero__title { font-size: clamp(1.9rem, 1.4rem + 1.8vw, 3rem); line-height: 1.08; }
.phero__lead { font-size: 1.0625rem; margin-top: 0.8rem; }
.crumbs { margin-bottom: 1rem; }
.page-body { padding-top: clamp(1.25rem, 1rem + 1vw, 2rem); padding-bottom: clamp(3rem, 6vw, 6rem); }
.page-body--tall { padding-block: clamp(3rem, 8vw, 7rem); }

/* ============================================================
   BARA DE SUS
   ============================================================ */
.topbar { background: var(--espresso); color: var(--on-dark); font-size: 0.8125rem; }
.topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 36px; }
.topbar__facts { display: flex; flex-wrap: wrap; gap: 0.3rem 1.75rem; }
.topbar__facts li { display: inline-flex; align-items: center; gap: 0.55rem; }
.topbar__facts li::before {
  content: ""; width: 9px; height: 5px; margin-top: -3px;
  border-left: 1.5px solid var(--brass-2); border-bottom: 1.5px solid var(--brass-2);
  transform: rotate(-45deg);
}
.topbar__links { display: flex; gap: 1.4rem; }
.topbar__links a { color: var(--on-dark-mute); }
.topbar__links a:hover, .topbar__links a[aria-current] { color: var(--on-dark); }

/* ============================================================
   ANTETUL
   ============================================================ */
.hdr {
  position: sticky; inset: 0 auto auto auto; z-index: 80;
  background: #fff; color: var(--ink); border-bottom: 1px solid var(--line);
  transition: box-shadow var(--f);
}
.hdr.solid { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; box-shadow: 0 8px 24px -20px rgba(30, 20, 10, 0.45); }
.hdr__in, .hdr.solid .hdr__in { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2.25rem); min-height: var(--hdr-h); padding-block: 0; }
.hdr__logo { flex: none; display: block; }
.hdr__logo img { height: 40px; width: auto; }
.hdr__cats { flex: 1; min-width: 0; display: flex; gap: clamp(0.9rem, 1.5vw, 1.7rem); }
.hdr__cats a { font-size: 0.9375rem; font-weight: 500; white-space: nowrap; letter-spacing: 0; }
.hdr__cats a.is-sale { color: var(--sale); font-weight: 600; }
.hdr__actions { display: flex; align-items: center; gap: 0.2rem; margin-left: auto; }
.hdr__search {
  display: flex; align-items: center; width: 250px; height: 42px; margin-right: 0.5rem;
  padding: 0 0.3rem 0 1rem; border: 1px solid var(--line-2); border-radius: 999px; background: var(--porcelain);
}
.hdr__search:focus-within { border-color: var(--ink); background: #fff; }
.hdr__search input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font-size: 0.9375rem; }
.hdr__search input::placeholder { color: var(--mute); }
.hdr__search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.hdr__search button { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; }
.hdr__search button:hover { background: var(--line); }
.hdr__search svg { width: 1.1rem; height: 1.1rem; stroke: currentColor; fill: none; stroke-width: 1.6; }
.hdr__search-btn { display: none; }
.cart-count { background: var(--emerald); }

/* Panoul de căutare coboară chiar sub antet, oriunde s-ar afla antetul. */
.hdr .searchpanel { position: absolute; inset: 100% 0 auto 0; }

/* Meniul mobil: listă simplă, sub antet. */
.menu { background: #fff; padding: calc(var(--hdr-h) + 1rem) var(--pad) 2rem; overflow-y: auto; }
.menu__nav { margin-top: 0; }
.menu__nav a { font-family: var(--sans); font-weight: 500; font-size: 1.125rem; padding-block: 0.85rem; }
.menu__nav a.is-sale { color: var(--sale); font-weight: 600; }
.menu__nav a[aria-current] { font-weight: 700; }
body.menu-open .hdr { position: fixed; top: 0; left: 0; right: 0; }

/* ============================================================
   PRIMA PAGINĂ
   ============================================================ */
.home-hero {
  display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(1.5rem, 3.5vw, 4rem); align-items: center;
  padding-block: clamp(1.75rem, 1rem + 3vw, 3.75rem);
}
.home-hero__title { font-size: clamp(2.1rem, 1.3rem + 3vw, 3.6rem); line-height: 1.04; letter-spacing: -0.02em; font-weight: 440; max-width: 15ch; }
.home-hero__lead { font-size: 1.125rem; line-height: 1.55; color: var(--ink-2); max-width: 46ch; margin-top: 1.1rem; }
.home-hero__cta { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.75rem; }
.home-hero__cats { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.home-hero__cats a {
  display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.5rem 0.95rem;
  border: 1px solid var(--line-2); border-radius: 999px; font-size: 0.9375rem; font-weight: 500;
}
.home-hero__cats a:hover { border-color: var(--ink); }
.home-hero__cats a span { font-size: 0.8125rem; font-weight: 600; color: var(--mute); }

/* Produsul evidențiat */
.spot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--porcelain); border-radius: var(--r); overflow: hidden; }
.spot__media { display: block; min-height: 340px; background: var(--sand); }
.spot__media img { width: 100%; height: 100%; object-fit: cover; }
.spot__body { display: flex; flex-direction: column; justify-content: center; gap: 0.45rem; padding: clamp(1.25rem, 1rem + 1.4vw, 2.25rem); }
.spot__tags { margin-bottom: 0.35rem; }
.spot__name { font-family: var(--sans); font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem); font-weight: 600; line-height: 1.2; letter-spacing: 0; }
.spot__name a:hover { text-decoration: underline; text-underline-offset: 3px; }
.spot__tagline { color: var(--mute); font-size: 0.9375rem; }
.spot__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.7rem; margin-top: 0.6rem; font-size: clamp(1.5rem, 1.3rem + 0.6vw, 1.85rem); }
.spot__save { color: var(--sale); font-weight: 600; }
.spot__lead { color: var(--mute); font-size: 0.875rem; }
.spot__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem 1.2rem; margin-top: 1.1rem; }
.spot__cta .btn--card { width: auto; --bg: var(--emerald); --fg: #fff; --bd: var(--emerald); padding: 0.85rem 1.4rem; font-size: 0.9375rem; }
.spot__cta .btn--card:hover { --bg: var(--emerald-2); --bd: var(--emerald-2); }

/* Avantajele */
.perks-bar { background: var(--porcelain); border-block: 1px solid var(--line); }
.perks-bar__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem 2rem; padding-block: 1.15rem; }
.perks-bar__list li { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 0.875rem; line-height: 1.4; }
.perks-bar__list svg { flex: none; width: 1.55rem; height: 1.55rem; stroke: var(--emerald); fill: none; stroke-width: 1.5; }
.perks-bar__list b { display: block; font-size: 0.9375rem; font-weight: 600; color: var(--ink); }
.perks-bar__list li > span > span { color: var(--mute); }

/* Secțiunile */
.home-sec { margin-block: clamp(2.25rem, 1.5rem + 2.5vw, 4rem); }
.home-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem 1.5rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.home-sec__head h2 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); font-weight: 440; }

/* Categoriile */
.cats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: clamp(0.75rem, 1.2vw, 1.25rem); }
.cat { display: flex; flex-direction: column; gap: 0.15rem; }
.cat__media { display: block; aspect-ratio: 4 / 5; margin-bottom: 0.6rem; border-radius: var(--r-sm); overflow: hidden; background: var(--sand); }
.cat__media img { width: 100%; height: 100%; object-fit: cover; }
.cat__name { font-size: 1rem; font-weight: 600; }
.cat:hover .cat__name { text-decoration: underline; text-underline-offset: 3px; }
.cat__meta { font-size: 0.875rem; color: var(--mute); }

/* Finisajele */
.finishes { background: var(--espresso); color: var(--on-dark); margin-block: clamp(2.25rem, 1.5rem + 2.5vw, 4rem); padding-block: clamp(2.5rem, 2rem + 3vw, 5rem); }
.finishes__in { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(1.75rem, 4vw, 5rem); align-items: center; }
.finishes__intro h2 { color: var(--on-dark); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.5rem); max-width: 15ch; }
.finishes__intro p { color: var(--on-dark-mute); max-width: 42ch; margin: 1rem 0 1.6rem; }
.finishes .btn--outline { --fg: var(--on-dark); --bd: var(--line-dark); }
.finishes .btn--outline:hover { --bd: var(--on-dark); background: rgba(239, 231, 214, 0.06); }
.samples { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 1.1rem 0.9rem; }
.sample { display: flex; flex-direction: column; gap: 0.5rem; }
.sample__chip { display: block; aspect-ratio: 4 / 3; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22); }
.sample__name { font-size: 0.8125rem; line-height: 1.3; color: var(--on-dark); }
.finishes__sub { font-family: var(--sans); font-size: 0.875rem; font-weight: 600; letter-spacing: 0; color: var(--on-dark); margin: 1.8rem 0 0.75rem; }
.hwlist { display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; font-size: 0.875rem; color: var(--on-dark-mute); }
.hwlist li { display: inline-flex; align-items: center; gap: 0.5rem; }
.hwlist .dot { width: 16px; height: 16px; border: 0; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.24); }

/* Cum comanzi */
.order-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; padding: 0; list-style: none; counter-reset: pas; }
.order-steps li { counter-increment: pas; padding-top: 1rem; border-top: 2px solid var(--ink); }
.order-steps li::before { content: counter(pas); display: block; margin-bottom: 0.4rem; font-size: 1.25rem; font-weight: 700; color: var(--emerald); }
.order-steps h3 { font-family: var(--sans); font-size: 1.0625rem; font-weight: 600; letter-spacing: 0; }
.order-steps p { margin-top: 0.35rem; font-size: 0.9375rem; color: var(--mute); }

/* Proiecte realizate */
.projects-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.5rem; }
.projects-strip a { display: block; aspect-ratio: 1; border-radius: 6px; overflow: hidden; background: var(--sand); }
.projects-strip img { width: 100%; height: 100%; object-fit: cover; }

/* Recomandarea unui client */
.home-quote { max-width: 60ch; }
.home-quote blockquote { font-family: var(--display); font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); line-height: 1.35; }
.home-quote figcaption { margin-top: 1rem; color: var(--mute); }
.home-quote figcaption b { color: var(--ink); font-weight: 600; }

/* ============================================================
   CARDUL DE PRODUS ȘI GRILELE
   ============================================================ */
.pgrid { gap: clamp(1.75rem, 2.4vw, 2.5rem) clamp(0.9rem, 1.4vw, 1.5rem); }
.pgrid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pgrid > * { min-width: 0; }

.pcard { height: 100%; }
.pcard__media { border-radius: var(--r-sm); }
.pcard__media img { transition: opacity 0.3s ease; }
.pcard:hover .pcard__media .img2 { transform: none; }
.pcard__tags { top: 0.65rem; left: 0.65rem; }
.pcard__body { flex: 1; display: flex; flex-direction: column; gap: 0.2rem; padding-top: 0.85rem; }
.pcard__name { font-family: var(--sans); font-size: 1rem; font-weight: 600; line-height: 1.3; letter-spacing: 0; }
.pcard:hover .pcard__name a { text-decoration: underline; text-underline-offset: 3px; }
.pcard__tagline { font-size: 0.875rem; line-height: 1.35; color: var(--mute); display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.pcard__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.1rem 0.55rem; margin-top: 0.35rem; font-size: 1.0625rem; white-space: normal; }
.pcard__save { font-size: 0.8125rem; font-weight: 600; color: var(--sale); }
.pcard__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.9rem; margin: 0.35rem 0 0.85rem; font-size: 0.8125rem; color: var(--mute); }
.pcard__finish { display: inline-flex; align-items: center; gap: 0.45rem; margin: 0; }
.pcard__dots { display: inline-flex; gap: 3px; }
.pcard__dots .dot { width: 12px; height: 12px; box-shadow: none; border-color: rgba(34, 27, 20, 0.2); }

.btn--card {
  --bg: transparent; --fg: var(--ink); --bd: var(--line-2);
  position: relative; z-index: 2; width: 100%; margin-top: auto;
  padding: 0.72rem 1rem; gap: 0.5rem; font-size: 0.875rem; letter-spacing: 0;
}
.btn--card:hover { --bg: var(--ink); --fg: #fff; --bd: var(--ink); }
.btn--card svg { width: 1.05rem; height: 1.05rem; stroke: currentColor; fill: none; stroke-width: 1.6; }

/* ============================================================
   MAGAZINUL
   ============================================================ */
.shophead__row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.35rem 1rem; }
.shophead__count { color: var(--mute); font-size: 0.9375rem; }
.shophead .phero__lead { font-size: 1rem; max-width: 70ch; }
.shopbar { top: var(--hdr-h); background: color-mix(in srgb, #fff 94%, transparent); }
.chip { font-size: 0.875rem; }
.chip--sale { color: var(--sale); border-color: color-mix(in srgb, var(--sale) 40%, #fff); font-weight: 600; }
.chip--sale span { margin-left: 0.2rem; }
.chip--sale:hover { border-color: var(--sale); }
.chip--sale.active { background: var(--sale); border-color: var(--sale); color: #fff; }
.shopgrid { padding-block: clamp(1.25rem, 2vw, 2rem) clamp(3rem, 6vw, 5rem); }
.empty h2 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }
.placed__title { font-size: clamp(1.9rem, 1.4rem + 1.8vw, 3rem); line-height: 1.1; }

/* ============================================================
   PAGINA DE PRODUS
   ============================================================ */
.pdp__main.media--arch { border-radius: var(--r-sm); }
.pdp__thumb { border-radius: 6px; }
.pdp__thumb.active, .pdp__thumb:hover { border-color: var(--ink); }
.pdp__tags { margin-bottom: 0.7rem; }
.pdp__title { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.6rem); line-height: 1.1; margin: 0 0 0.45rem; }
.pdp__tagline { font-family: var(--sans); font-style: normal; font-size: 1.0625rem; color: var(--mute); }
.pdp__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.8rem; margin: 1.2rem 0 0.2rem; font-family: var(--sans); font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); }
.pdp__price .price-was { font-size: 0.6em; }
.pdp__save { color: var(--sale); font-weight: 600; }
.pdp__vat { color: var(--mute); font-size: 0.875rem; }
.swatch.active { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.pdp__buy { margin: 1.6rem 0 0.9rem; }
.qty button svg { width: 1rem; height: 1rem; stroke: currentColor; fill: none; stroke-width: 1.6; }
.pdp__add { flex: 1; }
.pdp__add svg { width: 1.2em; height: 1.2em; stroke: currentColor; fill: none; stroke-width: 1.6; }
.pdp__pay { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1.1rem; font-size: 0.9375rem; color: var(--ink-2); }
.pdp__pay svg { flex: none; width: 1.3rem; height: 1.3rem; stroke: var(--emerald); fill: none; stroke-width: 1.5; }
.pdp__custom { margin-bottom: 1.5rem; }
.pdp__request { margin: 1.6rem 0 1rem; max-width: 46ch; color: var(--ink-2); }
.pdp__quote { margin-bottom: 1.5rem; }
.price-request { font-weight: 600; }
.pdp__ref { margin-top: 1rem; font-size: 0.8125rem; letter-spacing: 0; color: var(--mute); }
.related { margin-top: clamp(3rem, 5vw, 5rem); margin-bottom: 0; }

/* Sertarul coșului: umbra și focalizarea doar cât e deschis (închis, umbra lui se vedea la marginea paginii). */
.drawer { box-shadow: none; visibility: hidden; transition: transform var(--m) var(--e), visibility 0s linear var(--m); }
body.cart-open .drawer { visibility: visible; box-shadow: -30px 0 80px -40px rgba(20, 14, 8, 0.6); transition: transform var(--m) var(--e); }

/* Bara de cumpărare de pe telefon (vezi store.js) */
.buybar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; align-items: center; gap: 1rem;
  padding: 0.75rem var(--pad) calc(0.75rem + env(safe-area-inset-bottom));
  background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -24px rgba(30, 20, 10, 0.5);
  transform: translateY(110%); transition: transform 0.25s ease;
}
.buybar[hidden] { display: none; }
.buybar.on { transform: none; }
.buybar__info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.buybar__name { font-size: 0.875rem; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buybar__price { font-weight: 700; }
.buybar .btn { padding: 0.8rem 1.3rem; }
body.buybar-on .toasts { bottom: 5.5rem; }

/* ============================================================
   ECRANE MAI MICI
   ============================================================ */
@media (max-width: 1360px) {
  .hdr__search { display: none; }
  .hdr__search-btn { display: grid; }
}
@media (max-width: 1100px) {
  .pgrid--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .perks-bar__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1024px) {
  .topbar__links { display: none; }
  .topbar__facts li:nth-child(n+3) { display: none; }
  .hdr__cats, .hdr__account { display: none; }
  .home-hero { grid-template-columns: minmax(0, 1fr); }
  .home-hero__title { max-width: 20ch; }
  .finishes__in { grid-template-columns: minmax(0, 1fr); }
  .order-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .cats {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--pad) * -1); padding-inline: var(--pad); scroll-padding-inline: var(--pad);
  }
  .cats::-webkit-scrollbar { display: none; }
  .cat { flex: 0 0 38%; scroll-snap-align: start; }
  .projects-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 901px) {
  .buybar { display: none; }
}
@media (max-width: 720px) {
  :root { --hdr-h: 58px; }
  .hdr__logo img { height: 34px; }
  .topbar__in { justify-content: center; min-height: 32px; font-size: 0.75rem; }
  .topbar__facts li:nth-child(n+2) { display: none; }
  .pgrid, .pgrid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 0.75rem; }
  .pcard__tagline, .pcard__finish-n { display: none; }
  .pcard__name { font-size: 0.9375rem; }
  .pcard__price { font-size: 1rem; }
  .btn--card { padding: 0.65rem 0.6rem; font-size: 0.8125rem; }
  .spot { grid-template-columns: minmax(0, 1fr); }
  .spot__media { aspect-ratio: 4 / 3; min-height: 0; }
  .perks-bar__list { gap: 0.9rem 1rem; }
  .perks-bar__list li { font-size: 0.8125rem; }
  .cat { flex-basis: 44%; }
}
@media (max-width: 520px) {
  .order-steps { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .home-hero__cta .btn { flex: 1 1 100%; padding-block: 0.95em; }
  .perks-bar__list { grid-template-columns: minmax(0, 1fr); }
}
