/* ==========================================================================
   Condom Man storefront: design polish
   Loaded after the theme stylesheet on every page. Visual only.
   ========================================================================== */

:root {
  --cm-blue: #3b64a9;
  --cm-blue-dark: #2f5190;
  --cm-ink: #222;
  --cm-text: #555;
  --cm-line: #ececec;
  --cm-soft: #f6f7f9;
  --cm-price: #d26e4b;
}

/* Slightly larger, darker body text for readability (was 14px #666) */
body { font-size: 1.5rem; color: var(--cm-text); }
p { line-height: 1.75; }

/* ---- Breadcrumb bar (product pages) --------------------------------- */
.cm-crumbs { background: var(--cm-soft); border-bottom: 1px solid var(--cm-line); }
.cm-crumbs ol { list-style: none; margin: 0; padding: 1.3rem 0; display: flex; flex-wrap: wrap; gap: .2rem .6rem; font-size: 1.35rem; }
.cm-crumbs li { color: #888; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.cm-crumbs li + li::before { content: "/"; margin-right: .6rem; color: #c4c4c4; }
.cm-crumbs a { color: var(--cm-blue); }
.cm-crumbs a:hover { text-decoration: underline; }
.cm-crumbs li[aria-current] { color: var(--cm-ink); font-weight: 500; }

/* ---- Product page ---------------------------------------------------- */
.product-single .product-name { font-size: 2.8rem; line-height: 1.25; margin-bottom: 1rem; }
.product-single .product-meta { margin-bottom: 1.2rem; }
.product-single .product-meta a { color: var(--cm-blue); }
.product-single .product-price { margin-bottom: .8rem; }
.product-single .cm-short { font-size: 1.5rem; color: var(--cm-text); margin: 0 0 1.8rem; }
.product-single .cm-short p { margin-bottom: .8rem; }
.product-single .product-gallery { position: sticky; top: 9rem; }
.product-single .product-gallery img { border-radius: 10px; }
.product-single .select-box select,
.product-single #color { height: 4.6rem; border-radius: 8px; font-size: 1.5rem; min-width: 22rem; }
.product-single #addbtn { border-radius: 8px; height: 4.6rem; font-size: 1.5rem; }
#stocklevel { font-size: 1.4rem; font-weight: 500; }

.cm-assure { list-style: none; margin: 1.6rem 0 0; padding: 0; display: grid; gap: .8rem; font-size: 1.4rem; color: var(--cm-text); }
.cm-assure i { color: var(--cm-blue); margin-right: .6rem; font-size: 1.6rem; vertical-align: -2px; }
.cm-assure a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

.cm-desc { margin: 1rem 0 2rem; padding: 2.4rem 2.6rem; background: #fff; border: 1px solid var(--cm-line); border-radius: 12px; }
.cm-desc h2 { font-size: 2.2rem; margin-bottom: 1.4rem; }
.cm-desc-body { font-size: 1.5rem; color: var(--cm-text); max-width: 78ch; }
.cm-desc-body h2, .cm-desc-body h3, .cm-desc-body h4 { font-size: 1.8rem; margin: 2rem 0 .8rem; color: var(--cm-ink); }
.cm-desc-body ul { padding-left: 2rem; list-style: disc; }
.cm-desc-body li { margin-bottom: .4rem; }

/* ---- Product cards (category, brand and related lists) --------------- */
.cm-card,
.cm-related .cm-card {
  border: 1px solid var(--cm-line) !important;
  border-radius: 12px;
  padding: 1.4rem !important;
  background: #fff;
  height: calc(100% - 2rem);
  margin-bottom: 2rem;
  display: flex;
  flex-direction: column;
  transition: box-shadow .2s, transform .2s, border-color .2s;
}
.cm-card:hover,
.cm-related .cm-card:hover { box-shadow: 0 10px 28px rgba(0, 0, 0, .08); border-color: #dedede !important; transform: translateY(-2px); }
.cm-card .product-media img { object-fit: contain; max-width: 100%; }
.cm-card .product-details { display: flex; flex-direction: column; flex: 1; padding: 1.2rem .4rem 0 !important; }
.cm-card .product-name,
.cm-related .cm-card .product-name {
  white-space: normal;
  font-size: 1.5rem;
  line-height: 1.4;
  font-weight: 600;
  min-height: 4.2em;
  margin: 0 0 .8rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cm-card .product-name a { color: var(--cm-ink); }
.cm-card .product-name a:hover { color: var(--cm-blue); }
.cm-card .cm-card-price,
.cm-related .cm-card .product-price {
  margin-top: auto;
  background: transparent !important;
  color: var(--cm-price) !important;
  font-size: 1.7rem;
  font-weight: 700;
  padding: 0;
}
.cm-card .cm-card-price ins { color: var(--cm-price); text-decoration: none; }
.product-wrapper .product-wrap { margin-bottom: 0; }

/* ---- Category pages -------------------------------------------------- */
.page-header .page-title { letter-spacing: -.01em; }
.main-content > div:first-child { font-size: 1.5rem; }

/* ---- Small screens --------------------------------------------------- */
@media (max-width: 767px) {
  body { font-size: 1.6rem; }
  .product-single .product-name { font-size: 2.3rem; }
  .product-single .product-gallery { position: static; }
  .cm-desc { padding: 1.8rem 1.6rem; }
  .cm-card .product-name { font-size: 1.4rem; }
  .product-single #color { min-width: 0; width: 100%; }
}
