/* WordPress + WooCommerce compatibility layer for the Conroy 2026 theme.
   Native Woo pages (shop grid, product, cart, checkout, account) inherit the
   brand without touching Woo's markup — ordering behaves exactly as before. */

body {
  background: var(--color-bg);
  color: var(--color-ink);
  font-family: "Archivo", system-ui, sans-serif;
}

.conroy-woo a:not(.button):not(.btn) {
  color: var(--color-cobalt);
}

/* Woo buttons -> brand pills */
.conroy-woo .button,
.conroy-woo button.button,
.conroy-woo .single_add_to_cart_button,
.conroy-woo .checkout-button,
.conroy-woo #place_order,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border-radius: 999px;
  padding: 0.9rem 1.75rem;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.015em;
  background: var(--color-cobalt);
  color: #fff;
  border: 0;
  transition: background-color 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.conroy-woo .button:hover {
  background: oklch(0.43 0.155 258);
  color: #fff;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.conroy-woo #place_order {
  background: var(--color-flash);
  color: var(--color-ink);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.conroy-woo #place_order:hover {
  background: var(--color-flash-deep);
  color: var(--color-ink);
}

/* product grid cards */
.woocommerce ul.products li.product {
  background: var(--color-cloth);
  border-radius: 14px;
  padding: 1rem 1rem 1.25rem;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--color-ink);
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
  color: var(--color-cobalt);
  font-weight: 650;
}
.woocommerce ul.products li.product img {
  border-radius: 10px;
}

/* single product */
.woocommerce div.product .product_title {
  font-weight: 850;
  font-stretch: 125%;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  font-size: clamp(1.7rem, 4vw, 2.6rem);
  color: var(--color-ink);
}

/* notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--color-cobalt);
  background: var(--color-cloth);
  color: var(--color-ink);
  border-radius: 0 0 10px 10px;
}
.woocommerce-message::before,
.woocommerce-info::before {
  color: var(--color-cobalt);
}

/* forms (checkout, account) */
.conroy-woo input.input-text,
.conroy-woo textarea,
.conroy-woo select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid oklch(0.21 0.03 258 / 0.2);
  border-radius: 10px;
  padding: 0.7rem 0.9rem;
  background: #fff;
  color: var(--color-ink);
}

/* tables (cart) */
.woocommerce table.shop_table {
  border: 1px solid oklch(0.21 0.03 258 / 0.12);
  border-radius: 14px;
}

/* breadcrumbs / result count quieter */
.woocommerce .woocommerce-breadcrumb,
.woocommerce .woocommerce-result-count {
  color: var(--color-mist);
}

/* star ratings in brand gold */
.woocommerce .star-rating span::before {
  color: var(--color-flash-deep);
}

/* keep Woo select2 above sticky header */
.select2-container {
  z-index: 60;
}

/* old-content pages rendered through page.php get readable defaults */
.conroy-woo h2 { font-weight: 800; font-size: 1.5rem; margin: 1.5rem 0 0.75rem; }
.conroy-woo p { margin: 0.75rem 0; line-height: 1.65; }
.conroy-woo ul { list-style: disc; padding-left: 1.5rem; }
.conroy-woo ol { list-style: decimal; padding-left: 1.5rem; }

/* ---- Unlayered overrides: WooCommerce ships unlayered img height:auto
   rules that beat Tailwind layer utilities on .woocommerce-page. These
   plain (unlayered) rules restore the intended sizes everywhere. ---- */

header img[alt="Conroy Sliotars.ie"] {
  height: 2.75rem !important;
  width: auto !important;
}
@media (min-width: 640px) {
  header img[alt="Conroy Sliotars.ie"] {
    height: 3rem !important;
  }
}
footer img[alt="Conroy Sliotars.ie"] {
  height: 3.5rem !important;
  width: auto !important;
}

/* container enforcement for Woo content (immune to layer ordering) */
.conroy-woo {
  max-width: 72rem;
  margin-inline: auto;
  padding-inline: 1rem;
}

/* shop archive description + breadcrumb rhythm */
.conroy-woo .woocommerce-breadcrumb {
  margin: 0 0 0.75rem;
  font-size: 0.85rem;
}
.conroy-woo .term-description,
.conroy-woo .page-description {
  color: oklch(0.44 0.028 258);
  margin-bottom: 1rem;
}
.conroy-woo .woocommerce-result-count {
  margin-bottom: 1rem;
}

/* product grid: hard modern grid, immune to the Tailwind columns-4 clash */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 1.25rem;
  columns: auto !important;
  column-count: auto !important;
  margin: 0 0 2rem;
}
.woocommerce ul.products li.product {
  width: auto !important;
  float: none !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product a img {
  width: 100%;
  height: 200px;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
  margin-bottom: 0.75rem;
}

/* single product: constrain gallery + align columns */
.woocommerce div.product div.images img {
  width: 100%;
  height: auto !important;
  border-radius: 12px;
}
.woocommerce div.product form.cart {
  margin: 1.25rem 0;
}
.woocommerce div.product form.cart .button {
  min-height: 3rem;
}

/* ---- shop page top polish ---- */
.woocommerce-shop .woocommerce-breadcrumb { display: none; }
.woocommerce-shop .page-description,
.woocommerce-shop .page-description p {
  color: var(--color-mist);
  font-size: 1.05rem;
  max-width: 62ch;
  margin: 0 0 0.5rem;
}
.woocommerce .woocommerce-result-count {
  font-size: 0.88rem;
  margin: 0.35rem 0 1.75rem;
}
.woocommerce .woocommerce-ordering { margin: 0 0 1.75rem; }
.woocommerce .woocommerce-ordering select {
  border: 1.5px solid oklch(0.21 0.03 258 / 0.2);
  border-radius: 999px;
  padding: 0.55rem 2.25rem 0.55rem 1.1rem;
  font-weight: 600;
  background: #fff;
}
.woocommerce ul.products li.product .price { margin: 0.25rem 0 0.75rem; display: block; }
.woocommerce ul.products li.product .button { font-size: 0.85rem; padding: 0.65rem 1.3rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { line-height: 1.3; }

/* ---- Our Craft hero: dedicated classes (plain CSS, layer-proof) ---- */
.craft-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  opacity: 0.35;
}
.craft-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom,
    oklch(0.165 0.042 258 / 0.86),
    oklch(0.165 0.042 258 / 0.8),
    oklch(0.165 0.042 258 / 0.97));
}
.craft-side-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  padding: 1.75rem;
}

/* ---- shop header: clean navy band, hide Woo's duplicate header ---- */
.woocommerce-shop .woocommerce-products-header,
.woocommerce-shop .conroy-woo > .page-title,
.woocommerce-shop .conroy-woo > .page-description { display: none; }
.conroy-shop-sub {
  margin-top: 1rem;
  color: oklch(0.72 0.035 258);
  max-width: 62ch;
  font-size: 1.05rem;
  line-height: 1.6;
}
.woocommerce .woocommerce-result-count { color: var(--color-mist); }
