/* ================================================
   Fhemistry - Single Product Page (Full Overhaul)
   Colors: #53242c #e97a9c #c9a87c #faf8f5
   Fonts: Spartan (body), Montserrat (heading), Beautiful Bloom (title)
   Body copy baseline: 1.6rem (short description, summary, tabs, meta, trust, forms).
   Readable text: #3a3336 body, #5a4f52 muted, #53242c brand
   ================================================ */

/* ================================================
   WC GLOBAL FONT & RESET OVERRIDES
   WooCommerce default CSS uses very specific selectors.
   We nuke them all here with !important.
   ================================================ */
.woocommerce div.product,
.woocommerce div.product p,
.woocommerce div.product span,
.woocommerce div.product div,
.woocommerce div.product td,
.woocommerce div.product th,
.woocommerce div.product li,
.woocommerce div.product label,
.woocommerce div.product a,
.woocommerce div.product input,
.woocommerce div.product select,
.woocommerce div.product textarea,
.woocommerce .related.products,
.woocommerce .related.products span,
.woocommerce .related.products a,
.woocommerce .related.products p {
    font-family: 'Spartan', sans-serif !important;
}

.woocommerce div.product h1,
.woocommerce div.product h2,
.woocommerce div.product h3,
.woocommerce div.product h4,
.woocommerce div.product h5,
.woocommerce div.product h6,
.woocommerce .related.products h2,
.woocommerce .related.products h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-family: 'Montserrat', sans-serif !important;
}

/* ================================================
   WRAPPER
   ================================================ */
.fc-single-product-wrap {
    padding: 30px 0 60px;
}

/* ================================================
   BREADCRUMB
   ================================================ */
.fc-product-breadcrumb {
    margin-bottom: 24px;
}
.fc-breadcrumb {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.5 !important;
    color: #5a4f52 !important;
}
.fc-breadcrumb a {
    color: #53242c !important;
    text-decoration: none;
    transition: color 0.2s;
}
.fc-breadcrumb a:hover {
    color: #e97a9c;
}
.fc-breadcrumb-sep {
    margin: 0 8px;
    color: #9a8b8f;
}

/* ================================================
   TWO-COLUMN LAYOUT
   ================================================ */
.fc-product-layout {
    display: grid !important;
    grid-template-columns: 55% 45%;
    gap: 40px;
    align-items: start;
}

/* Override WC default float layout */
.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
    width: 100% !important;
    float: none !important;
}
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    width: 100% !important;
    float: none !important;
}

/* ================================================
   GALLERY COLUMN
   ================================================ */
.fc-product-gallery-col {
    position: relative;
}
.fc-product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
}
.fc-product .summary {
    width: 100% !important;
    float: none !important;
}

/* Summary column: default body tone (headings/price keep their own rules) */
.woocommerce div.product .summary,
.woocommerce div.product div.summary {
    font-size: 1.6rem !important;
    color: #3a3336 !important;
}

/* ================================================
   BADGES
   ================================================ */
.fc-product-badges {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 10;
    display: flex;
    gap: 8px;
}
.fc-badge {
    display: inline-block;
    padding: 5px 14px;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-radius: 50px;
    color: #fff;
}
.fc-badge--new {
    background: #c9a87c;
}
.fc-badge--sale {
    background: #e97a9c;
}
.fc-badge--bestseller {
    background: #53242c;
}
/* Hide WC default sale badge */
.fc-product .onsale,
.woocommerce span.onsale {
    display: none !important;
}

/* ================================================
   DETAILS COLUMN
   ================================================ */
.fc-product-details-col {
    padding-top: 10px;
}

/* ================================================
   PRODUCT TITLE
   ================================================ */
h1.fc-product-title,
.woocommerce div.product .product_title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #53242c !important;
    line-height: 1.3 !important;
    margin: 0 0 12px !important;
}

/* ================================================
   RATING
   ================================================ */
.fc-product-rating {
    margin-bottom: 12px;
}
.fc-product-rating .star-rating,
.woocommerce .star-rating {
    color: #c9a87c !important;
    font-size: 1.6rem;
}

/* ================================================
   PRICE
   ================================================ */
.fc-product-price {
    margin-bottom: 20px;
}
.fc-product-price .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: #53242c !important;
}
.fc-product-price .price del,
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    font-size: 1.35rem !important;
    font-weight: 400 !important;
    color: #7a6e72 !important;
    text-decoration: line-through !important;
    margin-right: 10px;
    opacity: 0.7;
}
.fc-product-price .price ins,
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none !important;
    color: #e97a9c !important;
    font-weight: 700 !important;
}

/* ================================================
   SHORT DESCRIPTION
   ================================================ */
.fc-product-short-desc,
.woocommerce div.product .woocommerce-product-details__short-description {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.65 !important;
    color: #3a3336 !important;
    margin-bottom: 30px !important;
}
.fc-product-short-desc p,
.woocommerce div.product .woocommerce-product-details__short-description p {
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
}
.fc-product-short-desc a,
.woocommerce div.product .woocommerce-product-details__short-description a {
    color: #53242c !important;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.fc-product-short-desc a:hover,
.woocommerce div.product .woocommerce-product-details__short-description a:hover {
    color: #e97a9c !important;
}

/* ================================================
   ADD TO CART SECTION
   ================================================ */
.fc-product-add-to-cart {
    margin-bottom: 24px;
}

/* Hide quantity - AISOM style */
.fc-product-add-to-cart .quantity,
.woocommerce div.product form.cart .quantity {
    display: none !important;
}

/* Add to Cart Button - Full width dark AISOM style */
.fc-product-add-to-cart .single_add_to_cart_button,
.woocommerce div.product form.cart .button,
.woocommerce div.product form.cart .single_add_to_cart_button {
    display: block !important;
    width: 100% !important;
    background: #222 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 16px 52px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: background 0.3s ease !important;
    box-shadow: none !important;
    text-align: center !important;
    line-height: 1.35 !important;
    min-height: 48px !important;
}
.fc-product-add-to-cart .single_add_to_cart_button:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background: #53242c !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Variation selects */
.fc-product-add-to-cart .variations select,
.woocommerce div.product form.cart .variations select {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    padding: 12px 16px !important;
    border: 1px solid #e0d6cf !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #53242c !important;
    width: 100% !important;
    max-width: 100% !important;
}
.fc-product-add-to-cart .variations td.label label,
.woocommerce div.product form.cart .variations td.label label {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    color: #53242c !important;
    font-size: 1.6rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.fc-product-add-to-cart .variations,
.woocommerce div.product form.cart .variations {
    margin-bottom: 20px !important;
}
.fc-product-add-to-cart .variations td,
.woocommerce div.product form.cart .variations td {
    padding: 6px 0 !important;
}

/* Reset link for variations */
.fc-product-add-to-cart .reset_variations,
.woocommerce div.product form.cart .reset_variations {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    color: #e97a9c !important;
    visibility: visible !important;
}

/* ================================================
   TRUST SECTION
   ================================================ */
.fc-trust-section {
    border-top: 1px solid #e8e0d9;
    border-bottom: 1px solid #e8e0d9;
    padding: 24px 0;
    margin-bottom: 24px;
    margin-top: 10px;
    text-align: center;
}
.fc-trust-label {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #5a4f52;
    margin: 0 0 14px !important;
}
.fc-trust-badges {
    display: flex;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
}
.fc-trust-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-family: 'Spartan', sans-serif !important;
    font-size: 1rem;
    line-height: 1.45;
    color: #3a3336;
    transition: color 0.2s;
    max-width: 200px;
}
.fc-trust-badge:hover {
    color: #53242c;
}
.fc-trust-badge svg {
    width: 44px !important;
    height: 44px !important;
    opacity: 0.85;
    transition: opacity 0.2s, transform 0.2s;
}
.fc-trust-badge:hover svg {
    opacity: 1;
    transform: scale(1.08);
}
.fc-trust-badge span {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ================================================
   ACCORDION SECTIONS
   ================================================ */
.fc-accordions {
    margin-bottom: 20px;
    border-top: 1px solid #e8e0d9;
}
.fc-accordion {
    border-bottom: 1px solid #e8e0d9;
}
.fc-accordion-toggle {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 16px 0;
    background: none;
    border: none;
    cursor: pointer;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem;
    font-weight: 600;
    color: #53242c;
    text-align: left;
    gap: 10px;
    transition: color 0.2s;
}
.fc-accordion-toggle:hover {
    color: #e97a9c;
}
.fc-accordion-icon {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: #c9a87c;
}
.fc-accordion-title {
    flex: 1;
}
.fc-accordion-rating {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem;
    font-weight: 400;
    color: #6b6064;
    margin-right: 4px;
}
.fc-accordion-rating .fc-stars {
    color: #c9a87c;
    letter-spacing: 1px;
    margin-right: 4px;
}
.fc-accordion-arrow {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    color: #bbb;
    transition: transform 0.3s ease;
}
.fc-accordion-toggle[aria-expanded="true"] .fc-accordion-arrow {
    transform: rotate(180deg);
}
.fc-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
    padding: 0 0 0 28px;
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem;
    line-height: 1.65;
    color: #3a3336;
}
.fc-accordion-content.fc-accordion-open {
    max-height: 2000px;
    padding: 0 0 18px 28px;
}
.fc-accordion-content p {
    margin: 0 0 10px;
}
.fc-accordion-content p:last-child {
    margin-bottom: 0;
}

/* ================================================
   PRODUCT META
   ================================================ */
.fc-product-meta,
.woocommerce div.product .product_meta {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1rem !important;
    color: #4a4244 !important;
    margin-top: 16px !important;
}
.fc-product-meta .sku,
.woocommerce div.product .product_meta .sku {
    font-weight: 600 !important;
    color: #3a3336 !important;
}
.fc-product-meta a,
.woocommerce div.product .product_meta a {
    color: #53242c !important;
    text-decoration: none !important;
}
.fc-product-meta a:hover,
.woocommerce div.product .product_meta a:hover {
    color: #e97a9c !important;
}

/* ================================================
   PRODUCT TABS
   WooCommerce uses extremely specific selectors.
   Override every single one.
   ================================================ */
.fc-product-tabs-section {
    margin-top: 60px;
}

/* Tab container */
.fc-product-tabs-section .woocommerce-tabs,
.woocommerce div.product .woocommerce-tabs {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Tab list */
.fc-product-tabs-section .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none !important;
    display: flex !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 0 30px !important;
    border-bottom: 2px solid #e8e0d9 !important;
    background: transparent !important;
    overflow: visible !important;
}

/* Tab items */
.fc-product-tabs-section .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
}
.fc-product-tabs-section .woocommerce-tabs ul.tabs li::before,
.fc-product-tabs-section .woocommerce-tabs ul.tabs li::after,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
    content: none !important;
}

/* Tab links */
.fc-product-tabs-section .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 14px 22px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    color: #6b6064 !important;
    text-decoration: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: all 0.2s !important;
    background: transparent !important;
}

/* Active & hover tab */
.fc-product-tabs-section .woocommerce-tabs ul.tabs li.active a,
.fc-product-tabs-section .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
    color: #53242c !important;
    border-bottom-color: #e97a9c !important;
    background: transparent !important;
}

/* Tab panels */
.fc-product-tabs-section .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.65 !important;
    color: #3a3336 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
/* Long-form tab content: headings, lists, emphasis */
.fc-product-tabs-section .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .panel h3,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h3 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
    line-height: 1.35 !important;
    margin: 1.25em 0 0.65em !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel h3:first-child,
.woocommerce div.product .woocommerce-tabs .panel h3:first-child,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h3:first-child {
    margin-top: 0 !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel h4,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h4 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.85rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
    margin: 1.1em 0 0.5em !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel p,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel p {
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    margin: 0 0 1em !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel ul,
.fc-product-tabs-section .woocommerce-tabs .panel ol,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ul,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel ol {
    font-size: inherit !important;
    line-height: inherit !important;
    color: inherit !important;
    margin: 0 0 1.15em 1.1em !important;
    padding: 0 !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel li,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel li {
    margin-bottom: 0.55em !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel strong,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel strong {
    color: #3a3336 !important;
    font-weight: 600 !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel table.shop_attributes th,
.fc-product-tabs-section .woocommerce-tabs .panel table.shop_attributes td,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes td {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.6 !important;
    color: #3a3336 !important;
    padding: 10px 12px !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel table.shop_attributes th,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel table.shop_attributes th {
    font-weight: 600 !important;
    color: #53242c !important;
}

/* Hide redundant panel h2 (e.g. duplicate "Description" title) */
.fc-product-tabs-section .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
    display: none !important;
}
/* Keep Reviews heading visible for screen readers and structure */
.fc-product-tabs-section .woocommerce-tabs #tab-reviews h2.woocommerce-Reviews-title,
.woocommerce div.product .woocommerce-tabs #tab-reviews h2.woocommerce-Reviews-title {
    display: block !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
    margin: 0 0 1em !important;
}

/* Tab panel links */
.fc-product-tabs-section .woocommerce-tabs .panel a,
.woocommerce div.product .woocommerce-tabs .panel a {
    color: #e97a9c !important;
    text-decoration: underline !important;
}
.fc-product-tabs-section .woocommerce-tabs .panel a:hover,
.woocommerce div.product .woocommerce-tabs .panel a:hover {
    color: #d4687f !important;
}

/* Customer Reviews tab — readable meta and form */
.woocommerce #reviews #comments > h2,
.woocommerce #reviews .woocommerce-Reviews-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
}
.woocommerce #reviews .woocommerce-noreviews,
.woocommerce #reviews #comments .woocommerce-noreviews {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    line-height: 1.65 !important;
    color: #3a3336 !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p,
.woocommerce #reviews #comments ol.commentlist li .description {
    font-size: 1.6rem !important;
    line-height: 1.65 !important;
    color: #3a3336 !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
    font-size: 1.6rem !important;
    color: #5a4f52 !important;
}
.woocommerce #review_form #respond label,
.woocommerce #review_form #respond .comment-form-rating label {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    color: #3a3336 !important;
}
.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond input[type="text"],
.woocommerce #review_form #respond input[type="email"] {
    font-family: 'Spartan', sans-serif !important;
    font-size: 1.6rem !important;
    color: #3a3336 !important;
}
.woocommerce #review_form #respond .form-submit input,
.woocommerce #reviews .form-submit input {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    min-height: 48px !important;
    padding: 12px 24px !important;
}

/* ================================================
   RELATED PRODUCTS (CRITICAL FIX)
   WC defaults cause vertical list. Override ALL
   WC selectors with maximum specificity + !important.
   ================================================ */
.fc-related-products {
    margin-top: 60px;
    padding-top: 40px;
    border-top: 1px solid #e8e0d9;
}

/* Reset section.products grid (WC applies grid to .products class) */
.fc-related-products > section.products,
.fc-related-products > section.related.products {
    display: block !important;
    grid-template-columns: none !important;
}

/* Section heading */
.fc-related-products > section > h2,
.fc-related-products .related.products > h2,
.woocommerce div.product .related.products h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 2rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
    text-align: center !important;
    margin-bottom: 30px !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* Products Grid - target EVERY possible WC selector */
.fc-related-products ul.products,
.fc-related-products .related.products ul.products,
.woocommerce .related.products ul.products,
.woocommerce .related ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    clear: both !important;
    font-size: 0 !important; /* Collapse whitespace text nodes in grid */
}
/* Restore font-size on grid items */
.fc-related-products ul.products > li,
.woocommerce ul.products > li {
    font-size: 1.6rem !important;
}

/* Override WC float-based layout on individual items */
.fc-related-products .products li.product,
.fc-related-products ul.products li.product,
.woocommerce .related.products ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 20px 0 !important;
    background: #fff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    text-align: center !important;
    box-shadow: 0 2px 8px rgba(83, 36, 44, 0.06) !important;
    list-style: none !important;
    clear: none !important;
}
.fc-related-products .products li.product:hover,
.woocommerce ul.products li.product:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 12px 30px rgba(83, 36, 44, 0.12) !important;
}

/* Product images */
.fc-related-products .products li.product a img,
.fc-related-products .products li.product .woocommerce-loop-product__link img,
.woocommerce ul.products li.product a img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    transition: transform 0.4s ease !important;
}
.fc-related-products .products li.product:hover a img,
.woocommerce ul.products li.product:hover a img {
    transform: scale(1.05) !important;
}

/* Product titles in grid */
.fc-related-products .products li.product .woocommerce-loop-product__title,
.fc-related-products .products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2.woocommerce-loop-product__title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
    padding: 12px 14px 4px !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Product prices in grid */
.fc-related-products .products li.product .price,
.woocommerce ul.products li.product .price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.85rem !important;
    font-weight: 700 !important;
    color: #53242c !important;
    padding: 0 14px !important;
    margin: 4px 0 0 !important;
}
.fc-related-products .products li.product .price del,
.woocommerce ul.products li.product .price del {
    color: #8a7e82 !important;
    font-weight: 400 !important;
    font-size: 1.35rem !important;
}
.fc-related-products .products li.product .price ins,
.woocommerce ul.products li.product .price ins {
    text-decoration: none !important;
    color: #e97a9c !important;
}

/* Add to Cart button in grid */
.fc-related-products .products li.product .button,
.fc-related-products .products li.product a.button,
.fc-related-products .products li.product .add_to_cart_button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.add_to_cart_button {
    display: inline-block !important;
    margin-top: 10px !important;
    padding: 12px 22px !important;
    min-height: 48px !important;
    background: linear-gradient(135deg, #e97a9c, #d4687f) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    line-height: 1.5 !important;
}
.fc-related-products .products li.product .button:hover,
.fc-related-products .products li.product a.button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
    background: linear-gradient(135deg, #d4687f, #c25a6f) !important;
    transform: translateY(-1px) !important;
    color: #fff !important;
}

/* ================================================
   MOBILE STICKY ADD TO CART
   ================================================ */
.fc-sticky-atc {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
    transform: translateY(100%);
    transition: transform 0.3s ease;
}
.fc-sticky-atc--visible {
    transform: translateY(0);
}
.fc-sticky-atc-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    max-width: 600px;
    margin: 0 auto;
}
.fc-sticky-atc-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
    margin-right: 12px;
}
.fc-sticky-atc-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem;
    font-weight: 600;
    color: #53242c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fc-sticky-atc-price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.85rem;
    font-weight: 700;
    color: #e97a9c;
}
.fc-sticky-atc-btn {
    flex-shrink: 0;
    display: inline-block;
    background: linear-gradient(135deg, #e97a9c, #d4687f);
    color: #fff;
    border: none;
    border-radius: 50px;
    padding: 12px 22px;
    min-height: 48px;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
}
.fc-sticky-atc-btn:hover {
    background: linear-gradient(135deg, #d4687f, #c25a6f);
}

/* ================================================
   SECTION SPACING
   ================================================ */
.fc-product-tabs-section,
.fc-related-products {
    margin-top: 60px;
}

/* ================================================
   RESPONSIVE — TABLET (max-width: 991px)
   ================================================ */
@media (max-width: 991px) {
    .fc-product-layout {
        grid-template-columns: 50% 50%;
        gap: 24px;
    }
    h1.fc-product-title,
    .woocommerce div.product .product_title {
        font-size: 1.5rem !important;
    }
    .fc-related-products ul.products,
    .woocommerce .related.products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* ================================================
   RESPONSIVE — MOBILE (max-width: 767px)
   ================================================ */
@media (max-width: 767px) {
    .fc-single-product-wrap {
        padding: 16px 0 100px;
    }
    .fc-product-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    h1.fc-product-title,
    .woocommerce div.product .product_title {
        font-size: 1.35rem !important;
    }
    .fc-product-price .price,
    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 1.5rem !important;
    }

    /* Full-width add to cart */
    .fc-product-add-to-cart .single_add_to_cart_button,
    .woocommerce div.product form.cart .button,
    .woocommerce div.product form.cart .single_add_to_cart_button {
        width: 100% !important;
        text-align: center !important;
        padding: 14px 20px !important;
    }

    /* Quantity full row on mobile */
    .fc-product-add-to-cart .quantity,
    .woocommerce div.product form.cart .quantity {
        margin-right: 0 !important;
        margin-bottom: 12px !important;
        width: 100% !important;
        justify-content: center !important;
    }

    /* Related 2 columns */
    .fc-related-products ul.products,
    .woocommerce .related.products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 14px !important;
    }
    .fc-related-products .products li.product a img,
    .woocommerce ul.products li.product a img {
        height: 200px !important;
    }

    /* Show sticky bar */
    .fc-sticky-atc {
        display: block;
    }

    /* Trust badges responsive */
    .fc-trust-badges {
        gap: 16px;
    }
    .fc-trust-badge svg {
        width: 40px !important;
        height: 40px !important;
    }
    .fc-trust-label {
        font-size: 1.6rem !important;
    }
    .fc-trust-badge,
    .fc-trust-badge span {
        font-size: 1.6rem !important;
    }
}

/* ================================================
   RESPONSIVE — SMALL MOBILE (max-width: 480px)
   ================================================ */
@media (max-width: 480px) {
    .fc-product-tabs-section .woocommerce-tabs ul.tabs,
    .woocommerce div.product .woocommerce-tabs ul.tabs {
        flex-wrap: wrap !important;
    }
    .fc-product-tabs-section .woocommerce-tabs ul.tabs li a,
    .woocommerce div.product .woocommerce-tabs ul.tabs li a {
        padding: 10px 14px !important;
        font-size: 1.6rem !important;
    }

    /* Related still 2 columns at 480px */
    .fc-related-products ul.products,
    .woocommerce ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .fc-related-products .products li.product a img,
    .woocommerce ul.products li.product a img {
        height: 170px !important;
    }
    .fc-related-products .products li.product .woocommerce-loop-product__title,
    .woocommerce ul.products li.product .woocommerce-loop-product__title {
        font-size: 1.35rem !important;
        padding: 10px 10px 4px !important;
        line-height: 1.35 !important;
    }
    .fc-related-products .products li.product .price,
    .woocommerce ul.products li.product .price {
        font-size: 1.5rem !important;
    }
    .fc-related-products .products li.product .button,
    .woocommerce ul.products li.product .button,
    .woocommerce ul.products li.product a.button {
        font-size: 1.25rem !important;
        padding: 12px 16px !important;
        min-height: 48px !important;
    }
}

/* === CRITICAL GRID FIX FOR RELATED PRODUCTS === */
.fc-related-section ul.products,
.fc-related-products ul.products,
section.related ul.products,
.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    width: 100% !important;
}
.fc-related-section ul.products li.product,
.fc-related-products ul.products li.product,
.fc-related-section ul.products li.fc-product-card,
.fc-related-products ul.products li.fc-product-card,
.related.products ul.products li.product {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(83, 36, 44, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.fc-related-section ul.products li:hover,
.fc-related-products ul.products li:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(83, 36, 44, 0.15);
}
.fc-related-section ul.products li img,
.fc-related-products ul.products li img {
    width: 100% !important;
    height: 250px !important;
    object-fit: cover !important;
    display: block;
}
.fc-related-section ul.products li .woocommerce-loop-product__title,
.fc-related-section ul.products li .fc-product-card__title,
.fc-related-products ul.products li h2 {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 600 !important;
    color: #53242c !important;
    text-transform: none !important;
    padding: 12px 14px 4px !important;
    margin: 0 !important;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.fc-related-section ul.products li .price,
.fc-related-products ul.products li .price {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.85rem !important;
    font-weight: 700 !important;
    color: #53242c !important;
    padding: 4px 14px 14px !important;
}
.fc-related-section ul.products li .price del {
    color: #999 !important;
    opacity: 0.7;
}
.fc-related-section ul.products li .price ins {
    color: #e97a9c !important;
    text-decoration: none !important;
}
/* SALE badge in related */
.fc-related-section ul.products li .onsale,
.fc-related-products ul.products li .onsale {
    position: absolute !important;
    top: 10px;
    left: 10px;
    background: #e97a9c !important;
    color: white !important;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    padding: 6px 12px;
    border-radius: 20px;
    z-index: 2;
}
.fc-related-section ul.products li {
    position: relative;
}
/* Responsive */
@media (max-width: 768px) {
    .fc-related-section ul.products,
    .fc-related-products ul.products,
    .related.products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 16px !important;
    }
    .fc-related-section ul.products li img,
    .fc-related-products ul.products li img {
        height: 180px !important;
    }
}
@media (max-width: 480px) {
    .fc-related-section ul.products,
    .fc-related-products ul.products {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 12px !important;
    }
    .fc-related-section ul.products li img,
    .fc-related-products ul.products li img {
        height: 150px !important;
    }
}

/* === FIX: WooCommerce ::before/::after breaking grid === */
.fc-related-section ul.products::before,
.fc-related-section ul.products::after,
.fc-related-products ul.products::before,
.fc-related-products ul.products::after,
.related.products ul.products::before,
.related.products ul.products::after,
ul.products::before,
ul.products::after {
    display: none !important;
    content: none !important;
}
/* Force remove WC float layout */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product,
ul.products li.fc-product-card {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}
/* Add to cart button in related grid */
.fc-related-section ul.products li .button,
.fc-related-products ul.products li .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 10px 14px 14px !important;
    padding: 12px 22px !important;
    background: linear-gradient(135deg, #e97a9c, #d4687f) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 50px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.6rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.05em !important;
    min-height: 48px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}
.fc-related-section ul.products li .button:hover,
.fc-related-products ul.products li .button:hover {
    background: linear-gradient(135deg, #d4687f, #c25a6f) !important;
    transform: translateY(-1px) !important;
}

/* === NUCLEAR GRID FIX === */
body.single-product .fc-related-section ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
}
body.single-product .fc-related-section ul.products.columns-4 > li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    max-width: none !important;
    min-width: 0 !important;
}
body.single-product .fc-related-section ul.products.columns-4 > li:nth-child(n) {
    width: auto !important;
    clear: none !important;
}
@media (max-width: 768px) {
    body.single-product .fc-related-section ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* === TABS SECTION (below gallery/purchase) === */
.fc-product-tabs-section {
    max-width: 900px;
    margin: 60px auto 40px;
    padding: 0 20px;
}
.fc-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #eee;
    margin-bottom: 30px;
}
.fc-tab-btn {
    background: none;
    border: none;
    padding: 14px 22px;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    color: #6b6064;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}
.fc-tab-btn:hover {
    color: #53242c;
}
.fc-tab-btn.fc-tab-active {
    color: #53242c;
    border-bottom-color: #e97a9c;
}
.fc-tab-content {
    display: none;
}
.fc-tab-content.fc-tab-visible {
    display: block;
}
.fc-tab-content {
    font-family: 'Spartan', sans-serif;
    font-size: 1.6rem;
    line-height: 1.65;
    color: #3a3336;
}
.fc-tab-content p {
    font-family: 'Spartan', sans-serif;
    font-size: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0 0 1em;
}
.fc-tab-content ul,
.fc-tab-content ol {
    margin: 0 0 1.15em 1.1em;
    padding: 0;
}
.fc-tab-content li {
    margin-bottom: 0.55em;
}
.fc-tab-content h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 2rem;
    font-weight: 600;
    color: #53242c;
    margin: 1.25em 0 0.65em;
}
.fc-tab-content h3:first-child {
    margin-top: 0;
}
/* Remove old accordion styles from rendering */
.fc-accordions,
.fc-accordion {
    display: none !important;
}

/* ================================================
   CRITICAL MOBILE FIX — Product Image & Layout
   ================================================ */
@media (max-width: 767px) {
    /* Limit gallery height on mobile — image was taking entire screen */
    .fc-product-gallery-col,
    .woocommerce div.product div.images {
        max-height: 400px !important;
        overflow: hidden !important;
    }
    .fc-product-gallery-col img,
    .woocommerce div.product div.images img,
    .woocommerce div.product div.images .woocommerce-product-gallery__image img {
        max-height: 380px !important;
        width: auto !important;
        margin: 0 auto !important;
        display: block !important;
        object-fit: contain !important;
    }
    /* Gallery wrapper */
    .woocommerce-product-gallery,
    .woocommerce div.product div.images.woocommerce-product-gallery {
        max-height: 400px !important;
        margin-bottom: 16px !important;
    }
    /* Ensure title/price visible without excessive scroll */
    .fc-product-details-col {
        padding: 0 16px !important;
    }
    /* Badges on mobile - smaller */
    .fc-product-badges {
        top: 8px !important;
        left: 8px !important;
    }
    .fc-badge {
        font-size: 0.75rem !important;
        padding: 3px 10px !important;
    }
    /* Tab section mobile */
    .fc-product-tabs-section {
        padding: 0 16px !important;
        margin: 30px auto 20px !important;
    }
    .fc-tab-btn {
        padding: 10px 16px !important;
        font-size: 0.9375rem !important;
    }
    /* Trust section compact */
    .fc-trust-section {
        padding: 16px !important;
        margin-top: 20px !important;
    }
    .fc-trust-icons svg {
        width: 40px !important;
        height: 24px !important;
    }
    /* Short description */
    .fc-product-short-desc,
    .fc-product-short-desc p {
        font-size: 1.6rem !important;
        line-height: 1.65 !important;
        color: #3a3336 !important;
    }
    /* Meta compact */
    .fc-product-meta {
        font-size: 1.6rem !important;
        color: #4a4244 !important;
    }
    .fc-product-tabs-section .woocommerce-tabs .panel,
    .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        font-size: 1.6rem !important;
    }
    .fc-breadcrumb {
        font-size: 1.6rem !important;
    }
}

@media (max-width: 480px) {
    .fc-product-gallery-col,
    .woocommerce div.product div.images {
        max-height: 320px !important;
    }
    .fc-product-gallery-col img,
    .woocommerce div.product div.images img {
        max-height: 300px !important;
    }
    h1.fc-product-title,
    .woocommerce div.product .product_title {
        font-size: 1.25rem !important;
    }
    .fc-product-price .price {
        font-size: 1.4rem !important;
    }
    .fc-tab-btn {
        padding: 10px 14px !important;
        font-size: 1.6rem !important;
    }
    .fc-breadcrumb {
        font-size: 1.6rem !important;
    }
}

/* ================================================
   MOBILE STICKY OVERLAP FIX
   When the sticky add-to-cart bar is visible on mobile,
   push scroll-to-top and scroll-to-comments above it.
   Scoped to .single-product (WooCommerce body class).
   ================================================ */
@media (max-width: 768px) {
    /* Ensure sticky bar has highest z-index */
    .fc-sticky-atc {
        z-index: 9999 !important;
    }

    /* Push scroll-to-top button above sticky bar (bar ~60px) */
    .single-product .scroll-to-top {
        bottom: 80px !important;
        z-index: 9998;
    }

    /* Push jump-to-comments bar above sticky bar */
    .single-product .scroll-to-comments {
        bottom: 80px !important;
        z-index: 9997;
    }
}
