/* FOCO Prints — woocommerce.css
   WooCommerce-specific overrides. Kept scoped via .fp-woo wrapper and .woocommerce core class.
*/

/* Shop layout */
.fp-shop-header { text-align: center; margin-bottom: 2rem; }
.fp-shop-header__title { margin-bottom: 0.5rem; }

.fp-shop-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 2rem;
    align-items: start;
}
@media (max-width: 900px) {
    .fp-shop-layout { grid-template-columns: 1fr; }
    .fp-shop-sidebar { order: 2; }
}

.fp-sidebar__widget { background: var(--fp-c-paper-soft); border: 1px solid var(--fp-c-border); border-radius: var(--fp-radius); padding: 1rem; margin-bottom: 1rem; }
.fp-sidebar__widget-title { margin: 0 0 0.5rem; font-size: 1rem; }

/* Ordering + result count */
.woocommerce-result-count, .woocommerce-ordering { font-size: 0.875rem; color: var(--fp-c-ink-muted); }
.woocommerce-ordering select { padding: 0.5rem 0.75rem; border: 1px solid var(--fp-c-border); border-radius: var(--fp-radius-sm); background: var(--fp-c-paper); }

/* Product grid */
ul.products {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 1.25rem;
}
ul.products li.product {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
}

.fp-product-card {
    position: relative;
    background: var(--fp-c-paper);
    border: 1px solid var(--fp-c-border);
    border-radius: var(--fp-radius-lg);
    overflow: hidden;
    display: flex; flex-direction: column;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fp-product-card:hover { transform: translateY(-2px); box-shadow: var(--fp-shadow-lg); }
.fp-product-card__link { display: flex; flex-direction: column; flex: 1; color: inherit; }
.fp-product-card__link:hover { text-decoration: none; color: inherit; }
.fp-product-card__media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--fp-c-paper-soft); }
.fp-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s ease; }
.fp-product-card:hover .fp-product-card__media img { transform: scale(1.03); }
.fp-product-card__body { padding: 0.875rem 1rem 0.5rem; flex: 1; display: flex; flex-direction: column; gap: 0.25rem; }
.fp-product-card__title { font-size: 1rem; font-weight: 600; margin: 0; color: var(--fp-c-ink); line-height: 1.3; }
.fp-product-card__price { color: var(--fp-c-brand); font-weight: 700; font-size: 1rem; }
.fp-product-card__price del { color: var(--fp-c-ink-muted); font-weight: 400; margin-right: 0.25rem; }
.fp-product-card__price ins { background: transparent; text-decoration: none; color: var(--fp-c-sale); }
.fp-product-card__rating .star-rating { font-size: 0.75rem; }
.fp-product-card__actions { padding: 0 1rem 1rem; }
.fp-product-card__actions .button {
    display: block; width: 100%; text-align: center;
    background: var(--fp-c-teal) !important; color: var(--fp-c-paper) !important;
    padding: 0.625rem 1rem !important; border-radius: var(--fp-radius) !important;
    font-weight: 600 !important; text-decoration: none;
}
.fp-product-card__actions .button:hover { background: var(--fp-c-teal-dark) !important; }
.fp-product-card__actions .added_to_cart { display: block; text-align: center; margin-top: 0.5rem; font-size: 0.875rem; }

/* Single product */
.fp-product__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
    margin-bottom: 3rem;
}
@media (max-width: 900px) {
    .fp-product__hero { grid-template-columns: 1fr; gap: 1.5rem; }
}

.fp-product__gallery { position: relative; }
.fp-product__gallery .woocommerce-product-gallery { border-radius: var(--fp-radius-lg); overflow: hidden; }
.fp-product__gallery img { border-radius: var(--fp-radius-lg); }

.fp-product__summary-inner { position: sticky; top: calc(var(--fp-header-height) + 1rem); }

.fp-product .product_title { font-size: clamp(1.5rem, 3vw, 2.25rem); margin: 0 0 0.5rem; }
.fp-product .price { font-size: 1.5rem; color: var(--fp-c-brand); font-weight: 700; margin-bottom: 1rem; }
.fp-product .price del { color: var(--fp-c-ink-muted); font-weight: 400; margin-right: 0.5rem; }
.fp-product .price ins { background: transparent; color: var(--fp-c-sale); text-decoration: none; }

.fp-product .woocommerce-product-details__short-description { margin-bottom: 1rem; color: var(--fp-c-ink-muted); }

.fp-product form.cart {
    display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem;
    margin: 1rem 0;
}
.fp-product form.cart .quantity { display: inline-flex; align-items: center; }
.fp-product form.cart .qty {
    width: 64px; padding: 0.75rem 0.5rem; text-align: center;
    border: 1px solid var(--fp-c-border); border-radius: var(--fp-radius); font-size: 1rem;
}
.fp-product form.cart .button, .fp-product .single_add_to_cart_button {
    background: var(--fp-c-teal) !important; color: var(--fp-c-paper) !important;
    border: 0; border-radius: var(--fp-radius) !important;
    padding: 0.875rem 1.75rem !important;
    font-size: 1rem !important; font-weight: 700 !important; letter-spacing: 0.01em;
    flex: 1 1 auto;
}
.fp-product form.cart .button:hover, .fp-product .single_add_to_cart_button:hover { background: var(--fp-c-teal-dark) !important; }

.fp-product .product_meta { font-size: 0.875rem; color: var(--fp-c-ink-muted); margin-top: 1rem; }
.fp-product .product_meta a { color: var(--fp-c-brand); }

/* Variations */
.fp-product table.variations { width: 100%; margin-bottom: 1rem; }
.fp-product table.variations td { padding: 0.5rem 0; }
.fp-product table.variations label { font-weight: 600; }
.fp-product table.variations select {
    width: 100%; padding: 0.625rem 0.75rem; border: 1px solid var(--fp-c-border);
    border-radius: var(--fp-radius); background: var(--fp-c-paper); font-size: 1rem;
}

/* Tabs */
.fp-product__details .woocommerce-tabs {
    border-top: 1px solid var(--fp-c-border);
    padding-top: 2rem;
}
.woocommerce-tabs ul.tabs {
    list-style: none; padding: 0 !important; margin: 0 0 1.5rem !important;
    display: flex; flex-wrap: wrap; gap: 0.5rem;
    border-bottom: 1px solid var(--fp-c-border) !important;
}
.woocommerce-tabs ul.tabs li {
    background: transparent !important; border: 0 !important; margin: 0 !important; padding: 0 !important;
    border-radius: 0 !important;
}
.woocommerce-tabs ul.tabs li a {
    display: inline-block; padding: 0.75rem 1rem !important;
    color: var(--fp-c-ink-muted); font-weight: 600;
    border-bottom: 2px solid transparent;
}
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover {
    color: var(--fp-c-brand); border-bottom-color: var(--fp-c-brand);
    text-decoration: none;
}
.woocommerce-Tabs-panel h2 { font-size: 1.375rem; }

/* Related / upsell / recent strips */
.fp-product__details .related,
.fp-product__details .upsells,
.fp-strip {
    margin-top: 3rem;
}
.fp-product__details .related > h2,
.fp-product__details .upsells > h2,
.fp-strip__title {
    font-size: 1.5rem; margin-bottom: 1rem;
}

/* Cart page */
.woocommerce table.shop_table {
    border: 1px solid var(--fp-c-border) !important;
    border-radius: var(--fp-radius) !important;
    overflow: hidden;
}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals {
    background: var(--fp-c-paper-soft);
    padding: 1.5rem;
    border-radius: var(--fp-radius-lg);
    border: 1px solid var(--fp-c-border);
}
.woocommerce .cart_totals h2 { margin-top: 0; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
    border-radius: var(--fp-radius) !important;
    border-top-color: var(--fp-c-brand) !important;
}

/* Star rating */
.star-rating { color: var(--fp-c-sale); }
.star-rating::before { color: var(--fp-c-border); }
