/* ==========================================================================
   Inkrino — WooCommerce styles (loaded after WooCommerce's own CSS)
   ========================================================================== */

/* Product grids */
.woocommerce ul.products, ul.products {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.75rem, 2vw, 1.5rem);
  list-style: none; margin: 0 0 1rem; padding: 0;
}
@media (min-width: 750px) { .woocommerce ul.products, ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 990px) { .woocommerce ul.products, ul.products { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); } }
.woocommerce ul.products::before, .woocommerce ul.products::after, ul.products::before, ul.products::after { display: none !important; }
.woocommerce ul.products li.product, ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; padding: 0; text-align: left; }
.woocommerce ul.products li.product.card, ul.products li.product.card { display: flex !important; flex-direction: column; }
.card__media-wrap, .card__media { width: 100%; }
.woocommerce ul.products li.product .card__media img, ul.products li.product .card__media img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; }
ul.products li.product .price, .woocommerce ul.products li.product .price { color: #111; font-size: 1rem; font-weight: 700; margin: 0; }
.price del { color: rgb(var(--c-muted)); font-weight: 400; opacity: 1; margin-right: .35rem; }
.price ins { text-decoration: none; color: var(--badge-sale); }
.card__quick .btn.added::after, .card__quick .btn.loading::after { display: none; }
.card__quick .added_to_cart { display: none !important; }
.card__quick a.btn.loading { opacity: .6; }

/* Buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .single_add_to_cart_button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 52px; padding: .85rem 1.8rem;
  font-family: var(--font-body); font-weight: 700; font-size: .95rem; line-height: 1.2;
  background: #111; color: #fff; border: 2px solid #111; border-radius: var(--btn-radius); box-shadow: 4px 4px 0 #111;
  transition: transform .2s, box-shadow .2s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce button.button.alt:hover, .woocommerce .single_add_to_cart_button:hover {
  background: #111; color: #fff; transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #111;
}
.woocommerce button.button.alt.disabled, .woocommerce button.button:disabled { opacity: .45; background: #111; color: #fff; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border: 2px solid #111; border-radius: var(--radius-sm); background: #fff; color: #111; padding: 1rem 1.25rem 1rem 3rem; box-shadow: 4px 4px 0 #111;
}
.woocommerce-message::before { color: #1FA971; }
.woocommerce-info::before { color: #7C5CFF; }
.woocommerce-error::before { color: #D64545; }
.woocommerce-message a.button { min-height: 40px; padding: .4rem 1rem; box-shadow: none; float: right; }

/* Toolbar pieces */
.toolbar .woocommerce-result-count { margin: 0; font-size: .88rem; color: rgb(var(--c-muted)); }
.toolbar .woocommerce-ordering { margin: 0; }
.toolbar .woocommerce-ordering select {
  appearance: none; min-height: 42px; padding: .4rem 2.5rem .4rem 1rem; font-size: .88rem; border-radius: var(--radius-sm);
  border: 1.5px solid rgb(var(--c-border)); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23777' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1rem center / 16px;
}
.facet__price-form .btn { margin-top: .25rem; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: .4rem; margin-top: 3rem; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: 999px; font-weight: 700; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: #111; color: #fff; }

/* Mobile-safe layout: grid children may shrink below their content width */
.collection-layout > div, .woocommerce div.product > * { min-width: 0; }
.toolbar { flex-wrap: wrap; position: static; }
.toolbar .woocommerce-ordering select { max-width: 100%; }
@media (max-width: 749px) { .toolbar__count { display: none; } }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); position: relative; margin-top: 1rem; }
@media (min-width: 990px) {
  .woocommerce div.product { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
  .woocommerce div.product .summary { position: static; align-self: start; }
}
.woocommerce div.product > * { grid-column: 1 / -1; }
@media (min-width: 990px) {
  .woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; }
  .woocommerce div.product > .summary { grid-column: 2; }
}
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product > .gallery-main__badges { position: absolute; top: 1rem; left: 1rem; z-index: 5; grid-column: auto; }
.woocommerce div.product div.images .flex-viewport, .woocommerce div.product div.images .woocommerce-product-gallery__image:only-child {
  border-radius: var(--radius); overflow: hidden; border: 1px solid rgb(var(--c-border)); background: #fff;
}
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: .6rem; margin-top: .75rem; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 76px !important; float: none !important; }
.woocommerce div.product div.images .flex-control-thumbs li img { border-radius: var(--radius-sm); border: 2px solid transparent; opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active, .woocommerce div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: #111; }
.woocommerce div.product .woocommerce-product-gallery__trigger { background: #fff; border: 1.5px solid #111; }

.woocommerce div.product .summary > * + * { margin-top: 1.1rem; }
.woocommerce div.product .summary .eyebrow { margin-bottom: 0; }
.woocommerce div.product .product_title { font-size: calc(clamp(1.6rem, 3vw, 2.4rem)); margin: .4rem 0 0; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: #111; font-size: 1.5rem; font-weight: 700; }
.woocommerce div.product .woocommerce-product-details__short-description { color: rgb(var(--c-muted)); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; margin: 0; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-width: 200px; }
.woocommerce div.product form.variations_form { display: block; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 1rem; border: 0; }
.woocommerce div.product form.cart .variations tr { display: block; margin-bottom: 1.1rem; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0; text-align: left; line-height: 1.4; }
.woocommerce div.product form.cart .variations th label { font-weight: 700; font-size: .9rem; margin-bottom: .55rem; display: block; }
.woocommerce div.product form.cart .variations select { min-width: 220px; min-height: 46px; padding: .5rem 1rem; border: 1.5px solid rgb(var(--c-border)); border-radius: var(--radius-sm); background: #fff; }
.woocommerce div.product form.cart .variations select.is-enhanced { position: absolute; opacity: 0; pointer-events: none; height: 1px; width: 1px; min-width: 0; }
.woocommerce div.product form.cart .reset_variations { font-size: .8rem; margin-top: .4rem; display: inline-block; }
.woocommerce div.product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .75rem; }
.woocommerce .quantity { display: inline-flex; align-items: center; border: 1.5px solid rgb(var(--c-border)); border-radius: var(--btn-radius); background: #fff; height: 52px; }
.woocommerce .quantity .qty { width: 46px; border: 0; background: none; text-align: center; font-weight: 700; -moz-appearance: textfield; }
.woocommerce .quantity .qty::-webkit-outer-spin-button, .woocommerce .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.woocommerce .quantity .ink-qty-btn { width: 40px; height: 100%; border: 0; background: none; font-size: 1.1rem; cursor: pointer; }
.woocommerce div.product .product_meta { font-size: .82rem; color: rgb(var(--c-muted)); display: grid; gap: .2rem; }
.woocommerce div.product .product_meta a { color: inherit; }
.woocommerce-variation-price .price { font-size: 1.5rem; }
.woocommerce div.product .stock { font-weight: 700; font-size: .88rem; }
.woocommerce div.product .stock.in-stock { color: #1FA971; }

/* Swatches built by theme.js from variation selects */
.ink-swatches { display: flex; flex-wrap: wrap; gap: .5rem; }
.ink-swatches button { font: inherit; }
.ink-swatches .option__pill.is-selected { background: #111; color: #fff; border-color: #111; }
.ink-swatches .option__swatch-label { background: none; padding: 0; }
.ink-swatches .option__swatch-label.is-selected { border-color: #111; }
.ink-swatches .is-unavailable { opacity: .35; }
.ink-option-value { font-weight: 400; color: rgb(var(--c-muted)); }

/* Tabs → accordions look */
.woocommerce div.product .woocommerce-tabs { margin-top: 2rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 1.5rem; display: flex; flex-wrap: wrap; gap: .5rem; overflow: visible; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border: 1.5px solid rgb(var(--c-border)); background: #fff; border-radius: 999px; margin: 0; padding: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: .55rem 1.1rem; font-weight: 700; color: #111; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: #111; border-color: #111; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 860px; font-size: 1rem; line-height: 1.75; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
.related.products > h2, .upsells.products > h2 { font-size: calc(clamp(1.75rem, 3.4vw, 2.75rem)); margin: 3rem 0 1.5rem; }

/* Size chart link */
.option__header-link { cursor: pointer; margin-bottom: .5rem; }

/* Reviews */
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-radius: var(--radius-sm); border-color: rgb(var(--c-border)); }
.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #F5A623; }

/* Forms (account, checkout fallback) */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
  min-height: 48px; padding: .7rem 1rem; border: 1.5px solid rgb(var(--c-border)); border-radius: var(--radius-sm); background: #fff;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: .25rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: .6rem .9rem; border-radius: 8px; text-decoration: none; font-weight: 700; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #111; color: #fff; }

/* Cart & checkout blocks */
.wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
  background: #111 !important; color: #fff !important; border-radius: var(--btn-radius) !important; min-height: 54px; font-weight: 700 !important;
  box-shadow: 4px 4px 0 #111; border: 2px solid #111 !important;
}
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select {
  border-radius: var(--radius-sm) !important;
}
.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { margin-top: 1.5rem; }
.wc-block-components-product-badge { border-radius: 999px; }
