/*
Theme Name: HLSM Farm Modern
Theme URI: https://hlsmfarm.uk/
Description: Modernised replacement for the original HLSM Farm/Bones theme. Preserves the site's existing design while removing the legacy Bones framework and obsolete WooCommerce overrides.
Version: 1.0.0
Requires at least: 6.7
Requires PHP: 7.4
Text Domain: hlsmfarm-modern
*/

/* WooCommerce summary layout retained from the original theme. */
.woocommerce #content div.product div.summary,
.woocommerce div.product div.summary,
.woocommerce-page #content div.product div.summary,
.woocommerce-page div.product div.summary {
    float: none !important;
    position: relative;
}


/* 2026 HLSM cleanup */
.hlsm-season-notice{margin:1.25rem 0;padding:1rem;border:2px solid currentColor;text-align:center}.woocommerce .sidebar,.woocommerce #sidebar{display:none!important}.woocommerce div.product .woocommerce-tabs{clear:both}.woocommerce-Reviews .commentlist{list-style:none;margin-left:0;padding-left:0}.woocommerce-Reviews .review{margin:0 0 1.25rem;padding-bottom:1rem;border-bottom:1px solid #ddd}

/* Beef / WooCommerce product page layout */
.single-product .site-main,
.single-product main {
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px 24px 50px;
}

.woocommerce div.product {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    align-items: flex-start;
}

.woocommerce div.product div.images,
.woocommerce div.product div.woocommerce-product-gallery {
    float: none !important;
    width: calc(48% - 20px) !important;
    margin: 0 !important;
}

.woocommerce div.product div.images img,
.woocommerce div.product div.woocommerce-product-gallery img {
    width: 100%;
    max-width: 520px;
    height: auto;
    display: block;
    margin: 0 auto;
}

.woocommerce div.product div.summary {
    float: none !important;
    width: calc(52% - 20px) !important;
    margin: 0 !important;
}

.woocommerce div.product .product_title {
    margin-top: 0;
    margin-bottom: 15px;
    line-height: 1.1;
}

.woocommerce div.product p.price {
    margin: 0 0 20px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
    line-height: 1.6;
    margin-bottom: 22px;
}

.woocommerce div.product form.cart {
    margin: 25px 0;
}

.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .upsells {
    width: 100%;
    flex-basis: 100%;
    margin-top: 35px;
}

/* Mobile */
@media (max-width: 768px) {
    .single-product .site-main,
    .single-product main {
        padding: 18px 16px 35px;
    }

    .woocommerce div.product {
        display: block;
    }

    .woocommerce div.product div.images,
    .woocommerce div.product div.woocommerce-product-gallery,
    .woocommerce div.product div.summary {
        width: 100% !important;
        margin: 0 0 25px !important;
    }

    .woocommerce div.product div.images img,
    .woocommerce div.product div.woocommerce-product-gallery img {
        max-width: 100%;
    }

    .woocommerce div.product .product_title {
        font-size: 1.8rem;
    }
}


/* Global mobile improvements */
@media (max-width: 768px) {

    body {
        overflow-x: hidden;
    }

    .container,
    .site-main,
    main,
    .content,
    .entry-content {
        width: 100%;
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }

    img {
        max-width: 100%;
        height: auto;
    }

    h1 {
        font-size: 2rem;
        line-height: 1.15;
    }

    h2 {
        font-size: 1.6rem;
        line-height: 1.2;
    }

    h3 {
        font-size: 1.3rem;
        line-height: 1.25;
    }

    p {
        line-height: 1.6;
    }

    .shop-section,
    .rooms-container,
    .about-section {
        width: 100%;
        box-sizing: border-box;
    }

    .shot_list_section,
    .rooms-container {
        display: block;
    }

    .item-holder,
    .room-block {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 24px !important;
        float: none !important;
    }

    .product-item,
    .room-image {
        min-height: 260px;
        background-size: cover;
        background-position: center;
    }

    .title_content {
        padding: 20px 16px;
        text-align: center;
    }

    .about-section .container {
        margin: 0 auto;
        padding: 24px 18px;
    }

    nav ul,
    .menu {
        max-width: 100%;
    }

    input,
    select,
    textarea,
    button,
    .button {
        max-width: 100%;
        box-sizing: border-box;
    }

    table {
        width: 100%;
        display: block;
        overflow-x: auto;
    }
}
