/* 6Towns Core v0.3.0: native components and commerce layer. */

.\36 t-type-text-lg { font-size: var(--6t-text-lg); }
.\36 t-type-text-xl { font-size: var(--6t-text-xl); }
.\36 t-type-display-sm { font-size: var(--6t-display-sm); }
.\36 t-type-display-md { font-size: var(--6t-display-md); }
.\36 t-type-display-lg { font-size: var(--6t-display-lg); }

.\36 t-heading__eyebrow {
  margin-bottom: var(--6t-space-3);
  font-size: var(--6t-text-xs);
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
  color: var(--6t-color-muted);
}
.\36 t-heading__title { margin: 0; max-width: 18ch; font-family: var(--6t-font-display); font-weight: 600; letter-spacing: -.035em; line-height: .98; }
.\36 t-heading--center .\36 t-heading__title { margin-inline: auto; }
.\36 t-heading--center { text-align: center; }
.\36 t-heading--right .\36 t-heading__title { margin-left: auto; }
.\36 t-heading--right { text-align: right; }

.\36 t-button,
button.\36 t-button,
a.\36 t-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--6t-space-3);
  min-height: 46px;
  padding: .8rem 1.15rem;
  border: 1px solid var(--6t-color-brand);
  border-radius: var(--6t-radius-pill);
  background: var(--6t-color-brand);
  color: var(--6t-color-surface);
  font-size: var(--6t-text-sm);
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform var(--6t-duration-fast) var(--6t-ease-standard), opacity var(--6t-duration-fast) var(--6t-ease-standard), background var(--6t-duration-fast) var(--6t-ease-standard);
}
.\36 t-button:hover { opacity: .82; }
.\36 t-button:active { transform: translateY(1px); }
.\36 t-button--secondary { background: transparent; color: var(--6t-color-ink); }
.\36 t-button--tertiary { border-color: transparent; background: var(--6t-color-surface-alt); color: var(--6t-color-ink); }
.\36 t-button--text { min-height: auto; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--6t-color-ink); }
.\36 t-button--sm { min-height: 38px; padding: .65rem .9rem; }
.\36 t-button--lg { min-height: 54px; padding: 1rem 1.4rem; font-size: var(--6t-text-md); }
.\36 t-button__arrow { transition: transform var(--6t-duration-fast) var(--6t-ease-standard); }
.\36 t-button:hover .\36 t-button__arrow { transform: translateX(3px); }

.\36 t-card { border: var(--6t-border); border-radius: var(--6t-radius-md); background: var(--6t-color-surface); overflow: clip; }

.\36 t-surface { width: 100%; }
.\36 t-surface--default { background: var(--6t-color-surface); color: var(--6t-color-ink); }
.\36 t-surface--alt { background: var(--6t-color-surface-alt); color: var(--6t-color-ink); }
.\36 t-surface--ink { background: var(--6t-color-ink); color: var(--6t-color-surface); }
.\36 t-surface--accent { background: var(--6t-color-accent); color: var(--6t-color-ink); }
.\36 t-section--none { padding-block: 0; }
.\36 t-section--sm { padding-block: var(--6t-section-sm); }
.\36 t-section--md { padding-block: var(--6t-section-md); }
.\36 t-section--lg { padding-block: var(--6t-section-lg); }
.\36 t-section--xl { padding-block: var(--6t-section-xl); }
.\36 t-prose > :first-child { margin-top: 0; }
.\36 t-prose > :last-child { margin-bottom: 0; }

.\36 t-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 2rem) clamp(.75rem, 1.5vw, 1.5rem);
}
@media (min-width: 768px) {
  .\36 t-product-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .\36 t-product-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.\36 t-product-card { min-width: 0; }
.\36 t-product-card__media { position: relative; display: block; overflow: hidden; background: var(--6t-color-surface-alt); }
.\36 t-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms var(--6t-ease-standard); }
.\36 t-product-card:hover .\36 t-product-card__media img { transform: scale(1.025); }
.\36 t-ratio-4-5 { aspect-ratio: 4 / 5; }
.\36 t-ratio-1-1 { aspect-ratio: 1 / 1; }
.\36 t-product-card__badge { position: absolute; top: .75rem; left: .75rem; padding: .42rem .62rem; border-radius: var(--6t-radius-pill); background: var(--6t-color-surface); color: var(--6t-color-ink); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.\36 t-product-card__content { padding-top: var(--6t-space-4); }
.\36 t-product-card__category { margin-bottom: .35rem; color: var(--6t-color-muted); font-size: var(--6t-text-xs); text-transform: uppercase; letter-spacing: .08em; }
.\36 t-product-card__category a { text-decoration: none; }
.\36 t-product-card__title { margin: 0 0 .35rem; font-family: var(--6t-font-body); font-size: var(--6t-text-md); font-weight: 500; line-height: 1.25; }
.\36 t-product-card__title a { text-decoration: none; }
.\36 t-product-card__price { font-size: var(--6t-text-sm); font-weight: 600; }
.\36 t-product-card__price del { color: var(--6t-color-muted); font-weight: 400; }
.\36 t-product-card__price ins { text-decoration: none; }
.\36 t-product-card__action { display: inline-flex; gap: .4rem; margin-top: var(--6t-space-3); color: inherit; font-size: var(--6t-text-sm); text-decoration: none; border-bottom: 1px solid currentColor; }
.\36 t-product-card__rating { margin-bottom: .35rem; }
.\36 t-notice { padding: var(--6t-space-4); border: var(--6t-border); background: var(--6t-color-surface-alt); }

/* WooCommerce archive: visual normalization without overriding templates. */
.\36 t-commerce .woocommerce ul.products,
.\36 t-commerce .woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(1rem,2vw,2rem) clamp(.75rem,1.5vw,1.5rem);
  margin: 0;
}
.\36 t-commerce .woocommerce ul.products::before,
.\36 t-commerce .woocommerce ul.products::after { display: none; }
.\36 t-commerce .woocommerce ul.products li.product,
.\36 t-commerce .woocommerce-page ul.products li.product { float: none; width: auto; margin: 0; }
.\36 t-commerce .woocommerce ul.products li.product a img { margin-bottom: var(--6t-space-4); background: var(--6t-color-surface-alt); }
.\36 t-commerce .woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-size: var(--6t-text-md); font-weight: 500; }
.\36 t-commerce .woocommerce ul.products li.product .price { color: var(--6t-color-ink); font-size: var(--6t-text-sm); font-weight: 600; }
.\36 t-commerce .woocommerce ul.products li.product .button { margin-top: var(--6t-space-3); border-radius: var(--6t-radius-pill); background: var(--6t-color-brand); color: var(--6t-color-surface); }
@media (min-width: 768px) {
  .\36 t-commerce .woocommerce ul.products,
  .\36 t-commerce .woocommerce-page ul.products { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
