/* ============================================================
   CSN Theme — WooCommerce styling
   Catalog mode: no prices/cart; CTAs are "Inquire to Order".
   ============================================================ */

/* ---- Undo Woo's global img height:auto inside site chrome ---- */
.woocommerce-page .site-header__logo-img,
.woocommerce .site-header__logo-img {
    height: 50px !important;
    width: auto !important;
}
.woocommerce-page .site-header__sponsor-img,
.woocommerce .site-header__sponsor-img {
    height: 64px !important;
    width: auto !important;
}
@media (max-width: 900px) {
    .woocommerce-page .site-header__sponsor-img,
    .woocommerce .site-header__sponsor-img {
        height: 52px !important;
    }
}
.woocommerce-page .site-footer img,
.woocommerce .site-footer img {
    height: auto;
    max-width: 160px;
}

/* ---- Layout wrapper ---- */
.woo-wrap {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
}
.woo-shop-intro {
    margin-top: 1rem;
    max-width: 760px;
    color: var(--text-muted, rgba(255, 255, 255, 0.75));
}
.woo-shop-intro a { color: var(--csn-gold); }

/* Hide Woo's own page title / result count / ordering (we render our own) */
.woo-wrap .woocommerce-products-header,
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce-breadcrumb {
    display: none;
}

/* ---- Product grid (shop + related) ---- */
.woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    margin: 0 !important;
    padding: 0 !important;
}
@media (max-width: 1100px) {
    .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 800px) {
    .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
    .woocommerce ul.products { grid-template-columns: 1fr; }
}
.woocommerce ul.products li.product {
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    background: #fff;
    border: 1px solid var(--border-light, #e5e7eb);
    border-radius: var(--radius, 10px);
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(15, 26, 46, 0.08);
    display: flex;
    flex-direction: column;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.woocommerce ul.products li.product:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(15, 26, 46, 0.14);
}
.woocommerce ul.products li.product img {
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    margin: 0 !important;
    display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: var(--font-display, "Barlow Condensed", sans-serif);
    font-size: 1.2rem !important;
    font-weight: 700;
    line-height: 1.2;
    padding: 1rem 1rem 0.35rem !important;
    color: var(--text-primary, #0f1a2e);
}
.woocommerce ul.products li.product .btn {
    margin: 0.85rem 1rem 1.25rem;
    align-self: flex-start;
}

/* ---- Single product ---- */
.woo-wrap--product { padding-top: 3rem; }
.woocommerce div.product {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 3rem;
    align-items: start;
}
@media (max-width: 860px) {
    .woocommerce div.product { grid-template-columns: 1fr; gap: 1.5rem; }
}
.woocommerce div.product div.images,
.woocommerce div.product div.summary {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}
.woocommerce div.product div.images img {
    border-radius: var(--radius, 10px);
    box-shadow: 0 18px 48px rgba(15, 26, 46, 0.16);
}
.woocommerce div.product .product_title {
    font-family: var(--font-display, "Barlow Condensed", sans-serif);
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 800;
    line-height: 1.05;
    color: var(--text-primary, #0f1a2e);
    margin-bottom: 1rem;
}
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--text-secondary, #4b5563);
    margin-bottom: 1.25rem;
}
.woocommerce div.product .product_meta {
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--border-light, #e5e7eb);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary, #6b7280);
}
.woocommerce div.product .product_meta a { color: var(--csn-red, #c8102e); }

/* Related products */
.woocommerce .related.products,
.woocommerce section.related {
    grid-column: 1 / -1;
    margin-top: 3.5rem;
}
.woocommerce .related.products > h2,
.woocommerce section.related > h2 {
    font-family: var(--font-display, "Barlow Condensed", sans-serif);
    font-size: 1.7rem;
    font-weight: 800;
    margin-bottom: 1.25rem;
    color: var(--text-primary, #0f1a2e);
}

/* ---- Hide everything cart/review related (catalog mode) ---- */
.woocommerce div.product .woocommerce-tabs,
.woocommerce #reviews,
.woocommerce div.product form.cart,
.woocommerce div.product p.price,
.woocommerce ul.products li.product .price,
.woocommerce-page .widget_shopping_cart,
.woocommerce .woocommerce-info--cart {
    display: none !important;
}

/* ---- Buttons: map Woo buttons onto theme button language ---- */
.woocommerce a.button,
.woocommerce button.button {
    background: var(--csn-red, #c8102e) !important;
    color: #fff !important;
    border-radius: var(--radius-sm, 6px) !important;
    font-family: var(--font-display, "Barlow Condensed", sans-serif);
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 0.65rem 1.2rem !important;
    transition: background 0.15s ease, transform 0.15s ease;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover {
    background: var(--csn-red-dark, #a30d26) !important;
    transform: translateY(-1px);
}

/* Woo notices in theme colors */
.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--csn-navy, #0f1a2e) !important;
}
.woocommerce-message::before,
.woocommerce-info::before {
    color: var(--csn-navy, #0f1a2e) !important;
}

/* ---- Polish: tags, eyebrows, back link ---- */
.woocommerce ul.products li.product { position: relative; }
.woo-card-tag {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    z-index: 2;
}
.woo-eyebrow {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--csn-gold, #ffb81c);
    margin-bottom: 0.6rem;
}
.woo-back { margin-top: 1.75rem !important; }
.woo-back a {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--text-secondary, #6b7280);
    text-decoration: none;
}
.woo-back a:hover { color: var(--csn-red, #c8102e); }

/* Loop titles in display face, uppercase-ish weight like homepage cards */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 1.25rem !important;
}

/* Single product summary rhythm */
.woocommerce div.product div.summary > * + * { margin-top: 0.35rem; }
.woocommerce div.product .csn-inquire { margin-top: 1.5rem !important; }
.woocommerce div.product .csn-inquire + p { margin-top: 0.75rem !important; }

/* ---- Grid anchoring fix: Woo's clearfix pseudo-elements become grid items ---- */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
    content: none !important;
    display: none !important;
}

/* ---- Intro description: breathing room before the grid ---- */
.woo-wrap .page-description {
    max-width: 760px;
    font-size: 1.05rem;
    line-height: 1.65;
    color: var(--text-secondary, #4b5563);
    margin-bottom: 3rem;
}

/* ---- Stronger title band ---- */
.woo-band {
    background:
        radial-gradient(circle at 18% 30%, rgba(200, 16, 46, 0.18), transparent 38%),
        linear-gradient(135deg, var(--csn-navy, #0f1a2e) 0%, #07101f 100%);
    padding: 4.5rem 0 3.25rem !important;
}
.woo-band__sub {
    margin-top: 0.85rem;
    max-width: 640px;
    color: rgba(255, 255, 255, 0.72);
}
