/* Caledonian — cos-woocommerce.css
   Scoped under .woocommerce and .cos-woocommerce */

/* ── Notices ──────────────────────────────────────────────── */
.woocommerce-notices-wrapper { padding-inline: var(--cos-section-h); }
.woocommerce-message, .woocommerce-info { background: rgba(201,168,76,.08); border-top: 3px solid var(--cos-gold); padding: 1rem 1.25rem; font-family: var(--cos-font-ui); font-size: .875rem; }
.woocommerce-error { background: rgba(248,113,113,.08); border-top: 3px solid #f87171; padding: 1rem 1.25rem; }
.woocommerce-message a, .woocommerce-info a { color: var(--cos-gold); }

/* ── Product loop ─────────────────────────────────────────── */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(3,1fr); gap: clamp(16px,2vw,28px); list-style: none; padding: 0; margin: 0; }
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 580px) { .woocommerce ul.products { grid-template-columns: 1fr; } }

.woocommerce ul.products li.product a img { width: 100%; height: auto; display: block; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--cos-font-display); font-size: 1.0625rem; font-weight: 400; color: var(--cos-cream); margin: .75rem 0 .25rem; }
.woocommerce ul.products li.product .price { font-family: var(--cos-font-ui); font-size: .875rem; color: var(--cos-gold); }

/* ── Single product ───────────────────────────────────────── */
.single-product .product_title { font-family: var(--cos-font-scotland); font-size: clamp(1.875rem,4vw,3.25rem); font-weight: normal; color: var(--cos-navy); letter-spacing: .01em; }
.single-product .woocommerce-product-details__short-description { font-family: var(--cos-font-body); font-size: .9375rem; line-height: 1.8; color: rgba(11,25,38,.72); }
.single-product .price { font-family: var(--cos-font-ui); font-size: 1.25rem; color: var(--cos-gold); }

/* Add to cart button — matches cos-btn--primary */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--cos-font-ui); font-size: .6875rem; font-weight: 400;
  letter-spacing: .20em; text-transform: uppercase; text-decoration: none;
  white-space: nowrap; padding: .9375rem 2.5rem;
  background: var(--cos-gold); color: var(--cos-navy);
  border: 1px solid var(--cos-gold); border-radius: 0;
  cursor: pointer; transition: background-color .35s, color .35s;
}
.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover { background: transparent; color: var(--cos-gold); }

/* INCI block */
.cos-product__inci { margin-top: 1.5rem; padding: 1rem 1.25rem; background: rgba(11,25,38,.04); border-left: 2px solid rgba(201,168,76,.3); }
.cos-product__inci-label { font-family: var(--cos-font-ui); font-size: .625rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(11,25,38,.45); margin-bottom: .5rem; }
.cos-product__inci-list { font-family: var(--cos-font-ui); font-size: .75rem; line-height: 1.7; color: rgba(11,25,38,.65); }
.cos-product__allergen-note { margin-top: 1rem; font-family: var(--cos-font-ui); font-size: .6875rem; line-height: 1.65; color: rgba(11,25,38,.45); max-width: none; }

/* ── Cart / Checkout ──────────────────────────────────────── */
.woocommerce-cart table.cart td, .woocommerce-cart table.cart th { font-family: var(--cos-font-ui); font-size: .875rem; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout h3 { font-family: var(--cos-font-display); font-weight: 400; }
.woocommerce form .form-row label { font-family: var(--cos-font-ui); font-size: .75rem; letter-spacing: .06em; }
.woocommerce form .form-row input.input-text { font-family: var(--cos-font-ui); border: 1px solid rgba(11,25,38,.2); padding: .75rem 1rem; border-radius: 0; }
.woocommerce form .form-row input.input-text:focus { outline: 2px solid var(--cos-gold); outline-offset: -1px; box-shadow: none; border-color: var(--cos-gold); }
