/* Amino Club-style catalogue composition, scoped to the catalogue only. */
.catalog-page { background:#fff; color:#111713; }
.catalog-page main { overflow:clip; }
.catalog-page .catalog-page-intro,
.catalog-page .catalog-builder-rail,
.catalog-page .catalog-meta { display:none!important; }

.catalog-page .catalog-page-products {
  display:grid;
  grid-template-columns:minmax(270px,.8fr) minmax(420px,1.35fr) minmax(260px,.55fr);
  column-gap:42px;
  width:100%; max-width:none; margin:0; padding:64px 54px 112px;
}
.catalog-page .catalog-reference-head { display:contents; }
.catalog-page .catalog-reference-head>div { grid-column:1; grid-row:1; align-self:center; }
.catalog-page .catalog-reference-head .catalog-quality-line { display:block; margin-bottom:14px; color:#9a9a9a; font-size:12px; font-weight:800; line-height:1.3; letter-spacing:.2em; text-transform:uppercase; }
.catalog-page .catalog-reference-head h2 { margin:0; color:#101512; font-size:clamp(40px,3.2vw,61px); font-weight:760; line-height:.92; letter-spacing:-.055em; }
.catalog-page .catalog-reference-head h2 em { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.catalog-page .catalog-sort { grid-column:3; grid-row:1; align-self:center; justify-self:stretch; }
.catalog-page .catalog-sort select { width:100%; min-height:62px; border:1px solid #d9dddf; border-radius:999px; background:#fff; padding:0 46px 0 20px; color:#343b4a; font-size:16px; font-weight:650; box-shadow:none; }

.catalog-page .catalog-toolbar { display:contents!important; }
.catalog-page .search-field { grid-column:2; grid-row:1; align-self:center; width:100%; min-height:62px; border:1px solid #d9dddf; border-radius:999px; background:#fafbfc; box-shadow:none; }
.catalog-page .search-field input { font-size:16px; font-weight:500; }

.catalog-page .catalog-offer-strip { grid-column:1/-1; grid-row:2; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; min-height:68px; margin-top:36px; border:1px solid #5c5332; border-radius:21px; padding:12px 22px; background:#071b14; color:#fff; }
.catalog-page .catalog-offer-strip>div { display:flex; align-items:baseline; gap:12px; min-width:0; }
.catalog-page .catalog-offer-strip strong { font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:400; white-space:nowrap; }
.catalog-page .catalog-offer-strip span { color:#9fa89f; font-size:15px; white-space:nowrap; }
.catalog-page .catalog-offer-strip>div:nth-child(2) { justify-content:flex-end; }
.catalog-page .catalog-offer-strip small { color:#bda55f; font-size:11px; font-weight:800; letter-spacing:.14em; }
.catalog-page .catalog-offer-strip b { font-size:14px; font-weight:700; white-space:nowrap; }
.catalog-page .catalog-offer-strip button { min-height:40px; border:1px solid #9c8446; border-radius:999px; padding:0 18px; background:transparent; color:#d9ba68; font:inherit; font-size:13px; font-weight:750; white-space:nowrap; cursor:pointer; }

.catalog-page .filter-bar { grid-column:1/-1; grid-row:3; display:flex!important; flex-wrap:wrap; gap:10px!important; margin-top:28px; padding:0!important; }
.catalog-page .filter-chip { min-height:52px; border:1px solid #d5d8da; border-radius:999px; padding:0 22px; background:#fff; color:#111; font-size:15px; font-weight:720; box-shadow:0 2px 4px rgba(0,0,0,.04); }
.catalog-page .filter-chip.is-active { border-color:#090a0b; background:#090a0b; color:#fff; }
.catalog-page .filter-chip-sprays { color:#fff; border-color:#27bde9; background:#27bde9; }
.catalog-page .filter-chip-sprays.is-active { border-color:#27bde9; background:#27bde9; box-shadow:0 5px 12px rgba(39,189,233,.28); }
.catalog-page .filter-chip-sprays::before { margin-right:8px; content:"●"; color:#fff; font-size:10px; }

.catalog-page .catalog-promo-grid { grid-column:1/-1; grid-row:4; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px; }
.catalog-page .catalog-promo-grid article { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; min-height:128px; border:1px solid #d7dddc; border-radius:24px; padding:20px 22px; background:linear-gradient(105deg,#f0faeb,#edf5ff); }
.catalog-page .catalog-promo-grid article:nth-child(2) { background:linear-gradient(105deg,#fffce7,#f6f1fb); }
.catalog-page .catalog-promo-grid article:nth-child(3) { background:linear-gradient(105deg,#eaf6ff,#f4f0fb); }
.catalog-page .catalog-promo-grid article>span { display:grid; place-items:center; width:58px; aspect-ratio:1; border-radius:50%; background:#f9fac9; color:#15221b; font-family:Georgia,"Times New Roman",serif; font-size:21px; }
.catalog-page .catalog-promo-grid strong { display:block; font-size:17px; line-height:1.15; }
.catalog-page .catalog-promo-grid p { margin:6px 0 0; color:#637069; font-size:13px; line-height:1.35; }
.catalog-page .catalog-promo-grid button,
.catalog-page .catalog-promo-grid a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; border:0; border-radius:999px; padding:0 18px; background:#0a0a0c; color:#fff; font:inherit; font-size:13px; font-weight:750; text-decoration:none; white-space:nowrap; cursor:pointer; }

.catalog-page .product-grid { grid-column:1/-1; grid-row:5; display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; align-items:stretch; width:100%!important; max-width:none!important; gap:34px 18px!important; margin:34px 0 0!important; }
.catalog-page .product-card { display:flex!important; flex-direction:column; min-width:0; height:100%; overflow:hidden; border:1px solid #dadddc; border-radius:28px; background:#fff; box-shadow:0 8px 18px rgba(17,25,20,.035); }
.catalog-page .product-grid>.product-card { grid-column:auto!important; width:auto!important; margin-inline:0!important; }
.catalog-page .product-card>.product-image-wrap { position:relative; display:block; flex:0 0 auto; width:100%; height:auto!important; min-height:0!important; max-height:none!important; aspect-ratio:.86; overflow:hidden; border:0; border-bottom:1px solid #dadddc; border-radius:0; background:linear-gradient(145deg,#e7e7f2,#c8c8e0); }
.catalog-page .product-card:nth-child(4n + 2)>.product-image-wrap { background:linear-gradient(145deg,#e4ebf2,#c6d6e3); }
.catalog-page .product-card:nth-child(4n + 3)>.product-image-wrap { background:linear-gradient(145deg,#f0e3e2,#d9bfc0); }
.catalog-page .product-card:nth-child(4n + 4)>.product-image-wrap { background:linear-gradient(145deg,#e4eee9,#bdd4ca); }
.catalog-page .product-card .product-image { position:absolute!important; inset:4% 9% 0!important; width:82%!important; max-width:none!important; height:96%!important; max-height:none!important; padding:0!important; object-fit:contain!important; transform:none!important; filter:drop-shadow(0 13px 12px rgba(24,35,29,.14)); }
.catalog-page .product-card .product-flag { inset:14px 14px auto auto; z-index:2; border:0; border-radius:999px; padding:7px 13px; background:#74112b; color:#f9df91; font-size:11px; font-weight:800; letter-spacing:.02em; }
.catalog-page .product-card>.product-main { flex:0 0 auto; min-height:0!important; padding:24px 23px 0!important; }
.catalog-page .product-card>.product-main>div { display:flex; flex-direction:column; min-height:0!important; }
.catalog-page .product-card .product-category,
.catalog-page .product-card .product-dosage,
.catalog-page .product-card-stock { display:none!important; }
.catalog-page .product-card h3 { order:1; margin:0!important; font-size:23px!important; font-weight:780; line-height:1.08!important; letter-spacing:-.035em!important; }
.catalog-page .product-card .product-blurb { display:block!important; order:2; min-height:38px; margin:8px 0 0!important; color:#747e8c; font-size:14px!important; font-weight:500; line-height:1.35; }
.catalog-page .product-card>.format-row { display:none!important; }
.catalog-page .product-card>.product-bottom { display:flex!important; flex-direction:column; gap:16px!important; margin:0!important; margin-top:auto!important; padding:16px 23px 22px!important; }
.catalog-page .product-card .product-price-row { display:flex; align-items:baseline; gap:8px; min-height:34px; }
.catalog-page .product-card .product-price-row strong { color:#111713!important; font-size:25px!important; font-weight:780; letter-spacing:-.025em; }
.catalog-page .product-card .price-usd { color:#8b939c; font-size:12px; }
.catalog-page .product-card .product-channels { display:none!important; }
.catalog-page .product-card .product-card-secondary-actions { display:grid!important; grid-template-columns:1fr 1fr; gap:9px; }
.catalog-page .product-card .product-profile-link,
.catalog-page .product-card .product-request-add { display:inline-flex!important; align-items:center; justify-content:center; min-width:0; min-height:51px; border:1px solid #d8d9da; border-radius:999px; padding:0 14px; font:inherit; font-size:15px; font-weight:650; text-decoration:none; cursor:pointer; }
.catalog-page .product-card .product-profile-link { background:#fff; color:#34363a; }
.catalog-page .product-card .product-request-add { gap:8px; border-color:#0a0a0c; background:#0a0a0c; color:#fff; }
.catalog-page .product-card .plain-plus { display:inline-flex!important; align-items:center; justify-content:center; font-size:24px; font-weight:300; line-height:1; transform:translateY(-1px); }
.catalog-page .product-card .product-profile-arrow { display:none; }

@media (max-width:1240px) {
  .catalog-page .catalog-page-products { grid-template-columns:minmax(240px,.75fr) minmax(360px,1.2fr) minmax(200px,.55fr); padding-inline:34px; }
  .catalog-page .product-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  .catalog-page .catalog-promo-grid article { grid-template-columns:auto 1fr; }
  .catalog-page .catalog-promo-grid article>button,
  .catalog-page .catalog-promo-grid article>a { grid-column:2; justify-self:start; }
}

@media (max-width:820px) {
  .catalog-page .catalog-page-products { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; padding:40px 24px 82px!important; }
  .catalog-page .catalog-reference-head>div { grid-column:1; grid-row:1; }
  .catalog-page .catalog-reference-head h2 { font-size:clamp(38px,10vw,50px); }
  .catalog-page .catalog-reference-head .catalog-quality-line { max-width:220px; margin-bottom:9px; font-size:9px; letter-spacing:.14em; }
  .catalog-page .catalog-sort { grid-column:2; grid-row:1; }
  .catalog-page .catalog-sort select { width:156px; min-height:52px; padding-left:18px; font-size:14px; }
  .catalog-page .search-field { grid-column:1/-1; grid-row:2; min-height:62px; margin-top:28px; }
  .catalog-page .search-field input { font-size:17px; }
  .catalog-page .catalog-offer-strip { grid-column:1/-1; grid-row:3; grid-template-columns:1fr auto; gap:12px; min-height:112px; margin-top:18px; padding:18px 20px; }
  .catalog-page .catalog-offer-strip>div { display:grid; gap:3px; }
  .catalog-page .catalog-offer-strip>div:nth-child(2) { display:none; }
  .catalog-page .catalog-offer-strip strong { font-size:22px; }
  .catalog-page .catalog-offer-strip span { white-space:normal; font-size:12px; }
  .catalog-page .catalog-offer-strip button { min-height:42px; padding-inline:14px; font-size:11px; }
  .catalog-page .filter-bar { grid-column:1/-1; grid-row:4; gap:9px!important; margin-top:19px; padding-inline:8px!important; }
  .catalog-page .filter-chip { min-height:45px; padding:0 16px; font-size:13px; }
  .catalog-page .catalog-promo-grid { grid-column:1/-1; grid-row:5; grid-template-columns:1fr; gap:10px; margin-top:22px; }
  .catalog-page .catalog-promo-grid article { min-height:104px; border-radius:20px; }
  .catalog-page .catalog-promo-grid article:nth-child(n+2) { display:none; }
  .catalog-page .product-grid { grid-column:1/-1; grid-row:6; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:18px 10px!important; margin-top:24px; }
  .catalog-page .product-card { border-radius:20px; }
  .catalog-page .product-card>.product-image-wrap { aspect-ratio:.82; }
  .catalog-page .product-card .product-image { height:92%!important; transform:translateY(5%) scale(1.08); }
  .catalog-page .product-card .product-flag { inset:9px 9px auto auto; padding:5px 9px; font-size:8px; }
  .catalog-page .product-card>.product-main { padding:15px 13px 0!important; }
  .catalog-page .product-card h3 { font-size:clamp(17px,4.9vw,22px)!important; }
  .catalog-page .product-card .product-blurb { min-height:34px; margin-top:6px!important; font-size:11px!important; }
  .catalog-page .product-card>.product-bottom { gap:11px!important; padding:11px 13px 14px!important; }
  .catalog-page .product-card .product-price-row strong { font-size:clamp(17px,4.8vw,22px)!important; }
  .catalog-page .product-card .price-usd { display:none; }
  .catalog-page .product-card .product-card-secondary-actions { grid-template-columns:1fr 1fr!important; gap:7px; }
  .catalog-page .product-card .product-profile-link,
  .catalog-page .product-card .product-request-add { min-height:42px!important; padding-inline:8px; font-size:11px; }
  .catalog-page .product-card .plain-plus { width:auto; height:auto; font-size:18px; transform:translateY(-.5px); }
  .catalog-page .product-card .product-profile-link span:first-child,
  .catalog-page .product-card .product-request-add span:last-child { display:inline!important; }
}

@media (max-width:430px) {
  .catalog-page .catalog-page-products { padding-inline:18px!important; }
  .catalog-page .catalog-reference-head h2 { font-size:37px; }
  .catalog-page .catalog-sort select { width:142px; }
  .catalog-page .catalog-promo-grid { display:none; }
  .catalog-page .product-grid { grid-row:5; }
  .catalog-page .product-card .product-blurb { display:none!important; }
  .catalog-page .product-card>.product-bottom { padding-top:10px!important; }
  .catalog-page .product-card .product-profile-link span:first-child,
  .catalog-page .product-card .product-request-add span:last-child { display:inline!important; }
}

/* A catalogue card is a direct navigation target on a phone.  Do not let its
   desktop hover lift consume the first tap, and keep every interactive child
   on the fast-tap gesture path. */
@media (max-width:820px) {
  .catalog-page .product-card,
  .catalog-page .product-card a,
  .catalog-page .product-card button {
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(17,84,57,.12);
  }
}
@media (max-width:820px) and (hover:none) {
  .catalog-page .product-card:hover {
    transform:none;
    border-color:#dadddc;
    box-shadow:0 8px 18px rgba(17,25,20,.035);
  }
  .catalog-page .product-card:hover .product-image {
    transform:translateY(5%) scale(1.08)!important;
  }
}

/* Keep every translated sorting option readable without shrinking the label. */
@media (min-width:821px) and (max-width:1240px) {
  .catalog-page .catalog-page-products {
    grid-template-columns:minmax(210px,.8fr) minmax(0,1.35fr) minmax(245px,.55fr);
    column-gap:24px;
  }
  .catalog-page .catalog-sort select {
    padding-inline:18px 38px;
    font-size:14px;
  }
}
@media (max-width:820px) {
  .catalog-page .catalog-sort {
    min-width:0;
    max-width:none;
  }
  .catalog-page .catalog-sort select {
    width:260px;
    max-width:100%;
    padding-inline:18px 42px;
    font-size:14px;
  }
}
@media (max-width:600px) {
  .catalog-page .catalog-page-products {
    grid-template-columns:minmax(0,1fr);
  }
  .catalog-page .catalog-reference-head>div { grid-column:1; grid-row:1; }
  .catalog-page .catalog-sort {
    grid-column:1;
    grid-row:2;
    justify-self:end;
    width:min(100%,300px);
    margin-top:18px;
  }
  .catalog-page .catalog-sort select { width:100%; }
  .catalog-page .search-field { grid-column:1; grid-row:3; margin-top:18px; }
  .catalog-page .catalog-offer-strip { grid-column:1; grid-row:4; }
  .catalog-page .catalog-offer-strip strong {
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.1;
  }
  .catalog-page .filter-bar { grid-column:1; grid-row:5; }
  .catalog-page .catalog-promo-grid { grid-column:1; grid-row:6; }
  .catalog-page .product-grid { grid-column:1; grid-row:7; }
}
@media (max-width:360px) {
  .catalog-page .product-card .product-card-secondary-actions {
    grid-template-columns:minmax(0,1fr) !important;
  }
}
