/* ==============================
   Polished Image & Caption Styles
   ============================== */

/* Click to Enlarge caption */
.image-caption {
    display: block;
    text-align: center;
    font-size: 0.85rem;
    color: #555;
    margin-top: 0.25rem;
}
/* Match "Click to Enlarge" caption to product description style */
#box-product .image-caption {
    font-weight: bold !important;
    line-height: 1.4;
    letter-spacing: 0.5px;
    color: #555 !important;
}


/* Hover effect on main product image */
#box-product .main-image:hover {
    transform: scale(1.03);       /* slight zoom */
    transition: transform 0.3s ease;
    cursor: pointer;
}

/* Smooth transition for images */
#box-product img {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Optional subtle shadow on hover */
#box-product .main-image:hover img {
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Rounded corners for image thumbnails */
#box-product .main-image img {
    border-radius: 6px;
}
/* new */
/* ==============================
   Footer: outer box (full-width background)
   ============================== */
#footer,
#copyright {
  width: 100%;                     
  background-color: var(--footer-bg, #f8f8f8);
  padding-top: 20px;
  padding-bottom: 20px;
  box-sizing: border-box;
  border-top: 1px solid #ddd;
}

/* ==============================
   Inner container matches offcanvas-body
   ============================== */
#footer .fourteen-forty,
#copyright .fourteen-forty {
  max-width: 1200px;              /* match offcanvas-body */
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Columns inside footer */
#footer .columns,
#copyright .columns {
  width: 100%;
   flex-wrap: wrap;
  justify-content: space-between;
}



/* ==============================
   Responsive adjustments
   ============================== */
@media (max-width: 767px) {
  #footer .fourteen-forty,
  #copyright .fourteen-forty {
    padding-left: 10px;
    padding-right: 10px;
  }
  #footer .columns {
    flex-direction: column;
  }
  #footer .information,
  #footer .contact {
    flex: 1 1 100%;
    margin-bottom: 15px;
  }
}
@media (max-width: 767px) {
  #box-product .image-caption {
    display: none;
  }
}
/* product listing stuff */

/* ========== Product Listing - Unified Tighter Vertical Spacing ========== */
.listing.products article.product {
    margin-bottom: 12px;          /* vertical space between product boxes */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Image wrapper */
.listing.products article.product .image-wrapper {
    max-height: 200px;            /* desktop: control image height */
    overflow: hidden;             /* crop tall images */
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 6px;
    border-radius: 0.25rem;
}

/* Image itself */
.listing.products article.product .image-wrapper img {
    width: 100%;                  /* responsive width */
    height: 100%;                 /* fills wrapper vertically */
    object-fit: cover;            /* crop rather than stretch */
    display: block;
    aspect-ratio: unset !important; /* override inline aspect-ratio */
}

/* Info section */
.listing.products article.product .info {
    padding: 2px 0;
    margin: 0;
}

/* Price spacing */
.listing.products article.product .price-wrapper {
    margin-top: 2px;
}

/* Preview button spacing */
.listing.products article.product .preview {
    margin-top: 2px;
}

/* ===== Responsive adjustments ===== */
@media (max-width: 992px) {
    .listing.products article.product .image-wrapper {
        max-height: 250px;
    }
}

@media (max-width: 768px) {
    .listing.products article.product .image-wrapper {
        max-height: 300px;
    }

    .listing.products article.product .info {
        padding: 4px 0;
    }

    .listing.products article.product .price-wrapper {
        margin-top: 4px;
    }
}
/* ===============================
   Category header image
   =============================== */
#box-category .thumbnail img {
    width: 100%;
    height: auto !important;      /* let image scale naturally */
    max-height: 200px;            /* prevents huge vertical space */
    object-fit: cover;            /* fills the box without stretching */
    aspect-ratio: auto !important; /* overrides inline 3/2 */
    display: block;
    margin: 0 auto;
}

/* ===============================
   Product listing images
   =============================== */
.listing.products .product .image-wrapper img {
    width: 100%;                  /* fills its container */
    height: auto;                 /* natural height */
    max-height: 320px;            /* optional: cap tall images */
    object-fit: cover;            /* crop without distortion */
    display: block;
    margin: 0 auto;
}

/* ===============================
   Remove extra spacing from image wrappers
   =============================== */
.listing.products .product .image-wrapper {
    padding: 0;
    margin: 0 auto;
}
/* ---------- Compact Product Grid ---------- */
:root {
    --gutter-y: 5px; /* vertical spacing between sections/cards */
    --gutter-x: 5px; /* horizontal spacing between products */
}

.listing.products.columns {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gutter-x) var(--gutter-y); /* horizontal and vertical spacing */
}

.listing.products.columns .product {
    margin: 0; /* remove default margin, gap handles spacing */
    flex: 1 1 calc(33.333% - var(--gutter-x)); /* 3 products per row, adjust if needed */
    box-sizing: border-box;
}

.listing.products.columns .image-wrapper {
    margin-bottom: 5px; /* space between image and text */
}

.listing.products.columns .info {
    padding: 0; /* optional, remove extra padding around product info */
}

@media (max-width: 992px) {
    .listing.products.columns .product {
        flex: 1 1 calc(50% - var(--gutter-x)); /* 2 per row on tablet */
    }
}

@media (max-width: 576px) {
    .listing.products.columns .product {
        flex: 1 1 100%; /* 1 per row on phone */
    }
}
/* ===============================
   Category Page Specific Spacing
   =============================== */
body.page-category-pillowcases-c-1 {

    /* Space below category heading */
    #box-category .category-header,
    .page-category-heading {
        margin-bottom: 1.5rem;
    }

    /* Space above and below product listing grid */
    .listing.products,
    .listing.products.columns {
        margin-top: 1.5rem;
        margin-bottom: 2rem;
    }

    /* Space before footer and subtle border */
    footer {
        margin-top: 3rem;
        padding-top: 2rem;
        border-top: 1px solid #ddd;
    }
}

/* Responsive tweak for mobile */
@media (max-width: 768px) {
    body.page-category-pillowcases-c-1 {

        #box-category .category-header,
        .page-category-heading {
            margin-bottom: 2rem;
        }

        .listing.products,
        .listing.products.columns {
            margin-top: 2rem;
            margin-bottom: 3rem;
        }

        footer {
            margin-top: 4rem;
            padding-top: 2.5rem;
        }
    }
}

/* ===============================
   Category Header Image Spacing
   =============================== */
body.page-category-pillowcases-c-1 #box-category .thumbnail {
    margin-bottom: 1.5rem;  /* space between header image and product grid */
}

/* Optional: slightly more on mobile for readability */
@media (max-width: 768px) {
    body.page-category-pillowcases-c-1 #box-category .thumbnail {
        margin-bottom: 2rem;
    }
}
/* ===============================
   Pillowcases Category Page Layout Tweaks
   =============================== */
body.page-category-pillowcases-c-1 {

    /* Space below category heading */
    #box-category .category-header,
    .page-category-heading {
        margin-bottom: 1.5rem;
    }

    /* Space below category header image */
    #box-category .thumbnail {
        margin-bottom: 1.5rem;
    }

    /* Space above and below product listing grid */
    .listing.products,
    .listing.products.columns {
        margin-top: 1.5rem;
        margin-bottom: 2rem;
    }

    /* Space before footer and subtle border */
    footer {
        margin-top: 3rem;
        padding-top: 2rem;
        border-top: 1px solid #ddd;
    }
}

/* ===============================
   Responsive adjustments for mobile
   =============================== */
@media (max-width: 768px) {
    body.page-category-pillowcases-c-1 {

        #box-category .category-header,
        .page-category-heading {
            margin-bottom: 2rem;
        }

        #box-category .thumbnail {
            margin-bottom: 2rem;
        }

        .listing.products,
        .listing.products.columns {
            margin-top: 2rem;
            margin-bottom: 3rem;
        }

        footer {
            margin-top: 4rem;
            padding-top: 2.5rem;
        }
    }
}
/* ===============================
   Pillowcases Category Page Layout Tweaks - Final
   =============================== */
body.page-category-pillowcases-c-1 {

    /* Space below category heading */
    #box-category .category-header,
    .page-category-heading {
        margin-bottom: 2rem;
    }

    /* Space below category header image */
    #box-category .thumbnail {
        margin-bottom: 2rem;
    }

    /* Space above and below product listing grid */
    .listing.products,
    .listing.products.columns {
        margin-top: 2rem;
        margin-bottom: 2.5rem;
    }

    /* Space before footer and subtle border */
    footer {
        margin-top: 4rem;
        padding-top: 2rem;
        border-top: 1px solid #ddd;
    }
}

/* ===============================
   Responsive adjustments for mobile
   =============================== */
@media (max-width: 768px) {
    body.page-category-pillowcases-c-1 {

        #box-category .category-header,
        .page-category-heading {
            margin-bottom: 2.5rem;
        }

        #box-category .thumbnail {
            margin-bottom: 2.5rem;
        }

        .listing.products,
        .listing.products.columns {
            margin-top: 2.5rem;
            margin-bottom: 3.5rem;
        }

        footer {
            margin-top: 5rem;
            padding-top: 2.5rem;
        }
    }
}
/* ===============================
   Pillowcases Category Page Layout Tweaks - Final
   =============================== */
body.page-category-pillowcases-c-1 {

    /* Space below category heading */
    #box-category .category-header,
    .page-category-heading {
        margin-bottom: 2rem;
    }

    /* Space below category header image */
    #box-category .thumbnail {
        margin-bottom: 2rem;
    }

    /* Space above and below product listing grid */
    .listing.products,
    .listing.products.columns {
        margin-top: 2rem;
        margin-bottom: 2.5rem;
    }

    /* Space before footer and subtle border */
    footer {
        margin-top: 4rem;
        padding-top: 2rem;
        border-top: 1px solid #ddd;
    }
}

/* ===============================
   Responsive adjustments for mobile
   =============================== */
@media (max-width: 768px) {
    body.page-category-pillowcases-c-1 {

        #box-category .category-header,
        .page-category-heading {
            margin-bottom: 2.5rem;
        }

        #box-category .thumbnail {
            margin-bottom: 2.5rem;
        }

        .listing.products,
        .listing.products.columns {
            margin-top: 2.5rem;
            margin-bottom: 3.5rem;
        }

        footer {
            margin-top: 5rem;
            padding-top: 2.5rem;
        }
    }
}

/* ===============================
   Product Description - Balanced Bold
   =============================== */
.listing.products article.product .info,
.listing.products article.product .info * {
    font-weight: bold !important;       /* keeps bold */
    line-height: 1.4;                   /* adds vertical breathing room */
    letter-spacing: 0.5px;              /* subtle spacing for readability */
}

/* ===============================
   Product Description - Balanced Bold + Subtle Color
   =============================== */
.listing.products article.product .info,
.listing.products article.product .info * {
    font-weight: bold !important;       /* keep bold */
    line-height: 1.4;                   /* vertical breathing */
    letter-spacing: 0.5px;              /* subtle spacing */
    color: #555 !important;             /* subtle dark gray, softer than title */
}
/* ===============================
   Product Boxes - Darker Borders
   =============================== */
.listing.products.columns .product {
    border: 1px solid #ccc;       /* light gray border for separation */
    border-radius: 0.25rem;       /* soft corners */
    box-sizing: border-box;
}

/* Optional: subtle shadow on hover for extra depth */
.listing.products.columns .product:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
/* new */


