/* ZBHQLF HANDBAGS — refinement layer 2026-09-04 (desktop + mobile polish) */
:root {
  --ref-radius: 14px;
  --ref-shadow: 0 10px 30px rgba(15, 17, 21, .08);
  --ref-shadow-hover: 0 18px 44px rgba(15, 17, 21, .16);
}
html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }

/* announcement bar */
.utility-bar p { letter-spacing: .02em; font-weight: 500; }

/* hero */
.uk-hero h1 { letter-spacing: -0.02em; line-height: 1.08; }
.uk-hero-kicker { letter-spacing: .12em; text-transform: uppercase; font-size: .78rem; opacity: .9; }
.uk-hero-lead { max-width: 560px; }

/* product cards: unified lift on hover */
.product-card, .uk-product-card {
  border-radius: var(--ref-radius);
  overflow: hidden;
  transition: transform .28s ease, box-shadow .28s ease;
  will-change: transform;
}
.product-card:hover, .uk-product-card:hover { transform: translateY(-4px); box-shadow: var(--ref-shadow-hover); }
.product-card .product-image img, .uk-product-card img { transition: transform .45s ease; }
.product-card:hover .product-image img, .uk-product-card:hover img { transform: scale(1.03); }

/* buttons */
.uk-btn, .buy-button, .add-button, .blog-page-btn, .view-price-link {
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease;
  border-radius: 10px;
}
.uk-btn:hover, .buy-button:hover, .add-button:hover { transform: translateY(-1px); box-shadow: var(--ref-shadow); }
a:focus-visible, button:focus-visible { outline: 2px solid #101114; outline-offset: 2px; border-radius: 4px; }

/* section rhythm */
main > section { scroll-margin-top: 76px; }
.service-strip .service-grid article { border-radius: var(--ref-radius); transition: background-color .2s ease; }

/* footer */
.site-footer a { transition: color .16s ease; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
.footer-grid h4 { letter-spacing: .08em; text-transform: uppercase; font-size: .76rem; opacity: .72; }

/* policy / prose pages */
.cu-prose { max-width: 860px; line-height: 1.78; }
.cu-prose h1 { letter-spacing: -0.015em; margin-bottom: .5em; }
.cu-prose h2 { margin-top: 2.1em; margin-bottom: .55em; letter-spacing: -0.01em; font-size: 1.28em; }
.cu-prose h3 { margin-top: 1.6em; margin-bottom: .4em; font-size: 1.06em; }
.cu-prose p { margin: .85em 0; }
.cu-prose ul, .cu-prose ol { padding-left: 1.25em; }
.cu-prose li { margin: .5em 0; }
.cu-prose table { width: 100%; border-collapse: collapse; margin: 1.2em 0; font-size: .95em; }
.cu-prose th, .cu-prose td { border: 1px solid #e4e4ea; padding: .6em .85em; text-align: left; }
.cu-prose th { background: #f7f7f9; }
.cu-prose .policy-meta { color: #6b6b76; font-size: .9em; }
.cu-prose .cu-wa { display: inline-block; margin-top: .6em; }

/* inputs */
input[type=text], input[type=email], input[type=search], textarea, select { border-radius: 8px; }

/* pagination */
.blog-page-btn { min-width: 40px; text-align: center; }

/* mobile refinements */
@media (max-width: 768px) {
  .utility-bar p { font-size: .78rem; }
  .uk-hero h1 { font-size: clamp(1.75rem, 6.5vw, 2.35rem); }
  .uk-hero-lead { font-size: .95rem; }
  .uk-btn, .buy-button, .add-button, .blog-page-btn, .cu-wa { min-height: 44px; }
  .product-card:hover, .uk-product-card:hover { transform: none; box-shadow: var(--ref-shadow); }
  .product-card:hover .product-image img, .uk-product-card:hover img { transform: none; }
  .cu-prose { padding: 0 2px; }
  .footer-grid { gap: 1.5rem 1.2rem; }
  .service-grid { gap: .9rem; }
  main > section { scroll-margin-top: 62px; }
}

/* accessibility: respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

/* ===== v2 2026-09-04 — visible card restyle + real prices ===== */
.product-grid { gap: 22px; }
.product-card {
  background: #fff;
  border: 1px solid #ececf1;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(15,17,21,.04);
}
.product-card .product-image { background: #f7f7f8; }
.product-card .product-info { padding: 12px 14px 14px; }
.product-card-category {
  text-transform: uppercase; letter-spacing: .09em;
  font-size: .68rem; font-weight: 700; color: #8a7440; margin-bottom: 4px;
}
.product-card h3, .product-card h3 a {
  font-size: .95rem; font-weight: 600; line-height: 1.35; color: #17171c;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; min-height: 2.6em;
}
.product-card .condition { display: none; }
.product-card .price-row, .uk-product-price-row {
  display: flex; align-items: baseline; gap: 8px; margin: 8px 0 10px;
}
.price-was { color: #9a9aa3; text-decoration: line-through; font-size: .85rem; font-weight: 500; }
.price-now { color: #101114; font-weight: 800; font-size: 1.12rem; letter-spacing: -.01em; }
.uk-product-card .price-now { font-size: 1.05rem; }
.product-card .likes {
  background: rgba(255,255,255,.94); border-radius: 999px; padding: 3px 10px;
  font-size: .72rem; box-shadow: 0 2px 8px rgba(0,0,0,.12); font-weight: 500;
}
.product-card .add-button, .product-card button.add-to-cart, .uk-product-card .add-button {
  width: 100%; background: #101114; color: #fff; border: 0; border-radius: 10px;
  padding: 12px 0; font-weight: 600; letter-spacing: .05em; cursor: pointer;
  font-size: .85rem; text-transform: uppercase;
}
.product-card .add-button:hover, .product-card button.add-to-cart:hover { background: #2c2c34; transform: translateY(-1px); }
.shop-pagination { gap: 6px; }
.blog-page-btn {
  border-radius: 9px; border: 1px solid #e3e3e9; background: #fff;
  min-width: 40px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center;
  color: #17171c; font-weight: 500;
}
.blog-page-btn.is-active { background: #101114; color: #fff; border-color: #101114; }
.blog-page-btn:hover:not(.is-active) { border-color: #101114; }
.view-price-link { display: none; }

@media (max-width: 768px) {
  .product-grid { gap: 14px; }
  .product-card .product-info { padding: 10px 11px 12px; }
  .price-now { font-size: 1.02rem; }
  .product-card h3 { font-size: .88rem; }
}

/* v2.1 hard overrides */
.product-card .condition, p.condition { display: none !important; }
.product-card .price-was, .uk-product-price-row .price-was { font-size: .82rem; }
.product-card .price-now { font-size: 1.18rem; }
.uk-product-card h3 { font-weight: 600; }

/* ===== v3 2026-09-04 — premium dark footer + trust strips ===== */
.site-footer {
  background: #101114 !important;
  color: #c9c9d2 !important;
  padding-top: 46px !important;
}
.site-footer h4 { color: #b8a36a !important; }
.site-footer a { color: #b9bac4 !important; }
.site-footer a:hover { color: #fff !important; }
.site-footer p { color: #8f909b !important; }
.footer-trust { text-align: center; padding: 26px 0 6px; margin-top: 26px; border-top: 1px solid rgba(255,255,255,.09); }
.footer-pay { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; }
.footer-pay img { height: 30px; width: auto; display: block; filter: saturate(.9); }
.footer-trust-line { margin-top: 12px; font-size: .78rem; letter-spacing: .05em; color: #8f909b !important; text-transform: uppercase; }

/* PDP trust bar */
.pdp-trust { margin: 14px 0 4px; padding: 14px 14px 12px; border: 1px solid #e8e8ee; border-radius: 12px; background: #fafafc; }
.pdp-trust-row { display: flex; flex-wrap: wrap; gap: 8px 16px; justify-content: center; margin-bottom: 10px; }
.pdpt-item { display: inline-flex; align-items: center; gap: 6px; font-size: .8rem; font-weight: 600; color: #3f4048; }
.pdpt-item svg { color: #1f9d55; flex: none; }
.pdp-pay-row { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.pdp-pay-row img { height: 28px; width: auto; }

@media (max-width: 768px) {
  .site-footer { padding-top: 34px !important; }
  .footer-pay img { height: 26px; }
  .footer-trust-line { font-size: .68rem; }
  .pdp-trust { padding: 11px 10px 10px; }
  .pdpt-item { font-size: .72rem; }
  .pdp-pay-row img { height: 24px; }
}

/* v3.1 2026-09-04 — card images: fill square frame (non-square sources crop, no letterbox) */
.uk-product-media img,
.uk-product-media .hover-img,
.product-card .product-image img,
.product-card .product-image .hover-img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  display: block;
}
.uk-product-media, .product-card .product-image {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* v3.2 2026-09-04 — hero: text never clipped (auto height + readability scrim) */
.uk-hero { height: auto; min-height: 440px; display: flex; align-items: center; }
.uk-hero::after {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,8,12,.30) 0%, rgba(8,8,12,.16) 42%, rgba(8,8,12,.52) 100%);
}
.uk-hero-copy { position: relative; z-index: 2; }
@media (max-width: 768px) {
  .uk-hero { min-height: 0; padding: 64px 0 40px; }
  .uk-hero-copy { padding: 0 18px !important; }
  .uk-hero h1 { font-size: clamp(1.55rem, 7.6vw, 2.05rem); line-height: 1.12; }
  .uk-hero-lead { font-size: .86rem; line-height: 1.5; }
  .uk-hero-actions { flex-wrap: wrap; gap: 9px !important; }
  .uk-btn { padding: 11px 15px; font-size: .78rem; letter-spacing: .03em; }
}

/* v3.3 — mobile hero: two primary CTAs only, everything fits */
@media (max-width: 768px) {
  .uk-hero-actions .uk-btn:nth-child(n+3) { display: none; }
  .uk-hero-actions .uk-btn { flex: 1 1 45%; text-align: center; }
}

/* v3.4 2026-09-04 — square center-crop on EVERY card image type sitewide */
.product-card .product-media,
.uk-review-media,
.uk-blog-media,
.rail-rank-thumb {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.product-card .product-media img,
.uk-review-media img,
.uk-blog-media img,
.rail-rank-thumb img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  display: block;
}

/* v3.5 — all buy buttons: white text on any dark background (old & new) */
.buy-button,
.buy-via-whatsapp,
.buy-via-whatsapp .buy-via-whatsapp-label,
#local-product-whatsapp,
#local-product-buy-now,
#local-product-buy,
#local-product-sticky-buy,
button.add-to-cart,
.product-card .add-button,
.uk-product-card .add-button {
  color: #fff !important;
}
.buy-via-whatsapp svg { color: #fff !important; }

/* v3.6 — payment icons: uniform height, centered rows */
.pdp-pay-row,
.footer-pay {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.pdp-pay-row img,
.footer-pay img {
  height: 26px !important;
  width: auto !important;
  max-width: none;
  object-fit: contain;
  display: inline-block;
  margin: 0 !important;
}
@media (max-width: 768px) {
  .pdp-pay-row img,
  .footer-pay img { height: 22px !important; }
  .pdp-pay-row, .footer-pay { gap: 5px; }
}

/* i18n language switcher 2026-09-04 */
.zbh-lang{position:relative;display:inline-flex;align-items:center}
.zbh-lang button{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid rgba(127,127,140,.4);border-radius:8px;padding:4px 9px;color:inherit;font:600 12px/1 inherit;letter-spacing:.05em;cursor:pointer}
.zbh-lang button b{font-size:9px;opacity:.7}
.zbh-lang ul{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e4e4ea;border-radius:10px;box-shadow:0 12px 30px rgba(15,17,21,.14);list-style:none;margin:0;padding:6px;display:grid;gap:2px;min-width:96px;z-index:60}
.zbh-lang ul a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;color:#1c1c22;font-size:13px;text-decoration:none}
.zbh-lang ul a:hover{background:#f4f4f8}
.utility-actions{display:flex;align-items:center;gap:10px}

/* i18n modal language picker v2 2026-09-04 — overlay popup on click */
.zbh-lang ul {
  position: fixed !important;
  inset: 0; top: 0; left: 0; right: 0;
  background: rgba(12, 12, 18, .58);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 0 !important;
  box-shadow: none !important;
  padding: 24px 20px 30px !important;
  min-width: 0 !important;
  margin: 0 !important;
  z-index: 9999 !important;
}
.zbh-lang ul::before {
  content: "Choose your language";
  color: #fff;
  font: 700 14px/1 inherit;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 12px;
  opacity: .92;
}
.zbh-lang ul::after {
  content: "\00d7";
  position: absolute;
  top: 18px; right: 22px;
  color: #fff;
  font: 400 30px/1 inherit;
  opacity: .75;
  pointer-events: auto;
  cursor: pointer;
}
.zbh-lang ul a {
  background: #fff;
  border-radius: 12px !important;
  padding: 14px 24px !important;
  min-width: 240px;
  justify-content: flex-start !important;
  font-size: 15px !important;
  font-weight: 600;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
  transition: transform .16s ease, background-color .16s ease, color .16s ease;
}
.zbh-lang ul a:hover {
  background: #101114;
  color: #fff !important;
  transform: translateY(-2px);
}
.zbh-lang ul a svg { flex: none; }
@media (max-width: 768px) {
  .zbh-lang ul a { min-width: 210px; padding: 12px 18px !important; font-size: 14px !important; }
}
/* fix 2026-09-15: hidden attr must win over the flex popup (menu auto-opened on every load) */
.zbh-lang ul[hidden]{display:none !important}
