.c3-button, .c3-small-button, .c3-atc-button, .c3-sticky-atc__button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--c3-black);
  border-radius: var(--radius-sm);
  padding-inline: var(--space-6);
  background: var(--c3-white);
  color: var(--c3-black);
  font-size: var(--fs-small);
  font-weight: 700;
  letter-spacing: .03em;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  transition: background var(--motion-fast) ease, color var(--motion-fast) ease, opacity var(--motion-fast) ease;
}
.c3-button--primary, .c3-atc-button, .c3-sticky-atc__button { background: var(--c3-black); color: var(--c3-white); }
.c3-button--primary:hover, .c3-atc-button:hover, .c3-sticky-atc__button:hover { background: var(--c3-black-hover); }
.c3-button--secondary:hover { background: var(--c3-surface); }
.c3-button[disabled], .c3-atc-button[disabled], .c3-small-button[disabled] { cursor: not-allowed; opacity: .38; }
.c3-small-button { min-height: 44px; padding-inline: var(--space-4); font-size: .75rem; }
.c3-badge { display: inline-flex; width: fit-content; border: 1px solid var(--c3-border-strong); border-radius: var(--radius-pill); padding: var(--space-1) var(--space-3); font-size: var(--fs-micro); font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.c3-rating { display: inline-flex; align-items: center; gap: var(--space-2); font-size: var(--fs-small); font-weight: 500; }
.c3-rating > span { letter-spacing: .06em; }
.c3-text-link, .c3-section-link { font-size: var(--fs-small); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.c3-product-card { display: flex; min-width: 0; flex-direction: column; }
.c3-product-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1; background: var(--c3-white); }
.c3-product-card__media .c3-visual-photo,
.c3-product-card__media img,
.c3-product-card__image { width: 100%; height: 100%; object-fit: cover; object-position: center; background: var(--c3-white); transition: transform var(--motion-default) ease; }
.c3-product-card:hover .c3-product-card__image, .c3-product-card:hover .c3-visual-photo { transform: scale(1.015); }
.c3-product-card__body { display: flex; flex: 1; flex-direction: column; gap: var(--space-2); padding: var(--space-4) var(--space-1) var(--space-1); }
.c3-product-card__body h3 { margin: 0; font-size: 1.25rem; }
.c3-product-card__body > p { margin: 0; color: var(--c3-text-secondary); font-size: var(--fs-small); }
.c3-product-card__footer { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: auto; padding-top: var(--space-3); }
.c3-bundle-grid { align-items: stretch; }
.c3-bundle-card { display:flex; overflow: hidden; flex-direction:column; height:100%; border: 1px solid var(--c3-border); border-radius: var(--radius-md); background: var(--c3-white); }
.c3-bundle-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c3-white); }
.c3-bundle-card__media .c3-visual-photo,
.c3-bundle-card__media img,
.c3-bundle-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.c3-bundle-card__body { display: flex; flex:1; flex-direction:column; gap: var(--space-4); padding: var(--space-5); }
.c3-bundle-card__body > * { margin: 0; }
.c3-bundle-card__body > .c3-button { width:100%; margin-top:auto; }
.c3-bundle-card__title { display: flex; align-items: start; justify-content: space-between; gap: var(--space-4); }
.c3-bundle-card__title h3, .c3-bundle-card__title p { margin: 0; }
.c3-bundle-card__title p, .c3-bundle-card__body > p { color: var(--c3-text-secondary); }
.c3-bundle-card__body ul { margin: 0; padding-left: var(--space-5); }
.c3-bundle-card__saving,
.c3-bundle-card__value { color: var(--c3-black) !important; font-size: var(--fs-small); font-weight: 700; }
.c3-bestseller-card__value { margin: 0; color: var(--c3-text-secondary); font-size: .78rem; }
.c3-outofstock-tag { color: var(--c3-text-secondary); font-size: var(--fs-micro); font-weight: 700; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.c3-is-outofstock .c3-product-card__media, .c3-is-outofstock .c3-bundle-card__media, .c3-is-outofstock .c3-bestseller-card__media { opacity: .55; }
.c3-is-outofstock h3 a, .c3-is-outofstock .c3-bundle-card__title h3 { text-decoration: line-through; text-decoration-thickness: 1px; color: var(--c3-text-secondary); }
.c3-is-outofstock .c3-product-card__footer .c3-small-button, .c3-is-outofstock .c3-bundle-card .c3-button { pointer-events: auto; opacity: .7; }
.c3-review-card { display: flex; min-height: 250px; flex-direction: column; border: 1px solid var(--c3-border); border-radius: var(--radius-md); padding: var(--space-6); background: var(--c3-white); }
.c3-review-card__stars { margin-bottom: var(--space-5); letter-spacing: .08em; }
.c3-review-card blockquote { margin: 0 0 var(--space-6); font-size: 1.0625rem; font-weight: 500; line-height: 1.5; }
.c3-review-card footer { display: grid; margin-top: auto; color: var(--c3-text-secondary); font-size: var(--fs-micro); gap: var(--space-1); }
.c3-review-card footer strong { color: var(--c3-black); font-size: var(--fs-small); }
.c3-accordion-list details, .c3-product-accordions details { border-top: 1px solid var(--c3-border); }
.c3-accordion-list details:last-child, .c3-product-accordions details:last-child { border-bottom: 1px solid var(--c3-border); }
.c3-accordion-list summary, .c3-product-accordions summary { display: flex; min-height: 56px; align-items: center; justify-content: space-between; padding-block: var(--space-3); font-size: var(--fs-small); font-weight: 700; letter-spacing: .02em; list-style: none; }
.c3-accordion-list summary::-webkit-details-marker, .c3-product-accordions summary::-webkit-details-marker { display: none; }
.c3-accordion-list summary::after, .c3-product-accordions summary::after { content: "+"; font-size: 1.25rem; font-weight: 400; }
.c3-accordion-list details[open] summary::after, .c3-product-accordions details[open] summary::after { content: "−"; }
.c3-accordion-list details p, .c3-product-accordions details p { max-width: 680px; padding: 0 var(--space-6) var(--space-5) 0; color: var(--c3-text-secondary); }
@media (min-width: 768px) { .c3-bundle-card__body { padding: 28px; } }

.c3-review-card { padding: 0; overflow: hidden; }
.c3-review-card__media { background: var(--c3-surface); }
.c3-review-card__visual { border: 0; }
.c3-review-card__content { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.c3-review-card__content blockquote { font-size: 1.1rem; }
.c3-review-product { display: grid; grid-template-columns: 64px 1fr 20px; align-items: center; gap: 12px; border-top: 1px solid var(--c3-border); padding: 12px; }
.c3-review-product__visual { width: 64px; height: 64px; }
.c3-review-product__visual > span { font-size: 7px; }
.c3-review-product > span { display: grid; gap: 3px; min-width: 0; }
.c3-review-product small { font-size: .58rem; font-weight: 700; }
.c3-review-product strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.c3-product-card__brand { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; border:0; background:#000; color:#fff; }
.c3-product-card__brand img { width:min(54%,230px); height:auto; object-fit:contain; }
.c3-product-card__brand-name { max-width:80%; font-size:.68rem; letter-spacing:.12em; text-align:center; text-transform:uppercase; }
.c3-review-card__media { aspect-ratio:4/5; overflow:hidden; }
.c3-review-card__media img,.c3-review-card__media video { width:100%; height:100%; object-fit:cover; }
.c3-review-product .c3-product-card__brand { width:64px; height:64px; min-height:64px; gap:2px; }
.c3-review-product .c3-product-card__brand img { width:72%; }
.c3-review-product .c3-product-card__brand-name { display:none; }
