/*
        Theme Name: The Voux Child Theme
        Theme URI: https://themeforest.net/item/the-voux-a-comprehensive-magazine-theme/11400130
        Description: <strong>A Premium theme for magazine, editor, community and more! WordPress Theme by <a href="http://www.themeforest.net/user/fuelthemes">fuelthemes</a></strong> – Update notifications available on Twitter and Themeforest <a href="http://twitter.com/anteksiler">Follow us on twitter</a> – <a href="http://themeforest.net/user/fuelthemes">Follow us on Themeforest</a>
        Version: 1.0.0
        Author: fuelthemes
        Template: thevoux-wp
        Template Version: 6.9.1
        Text Domain: thevoux-wp
        Domain Path: /inc/languages
*/

/* --- Load Custom Font --- */
@font-face {
    font-family: 'EkkamaiNew';
    /* Assumes font file is in a 'fonts' folder within your child theme */
    /* Make sure 'EkkamaiNew.ttf' matches your actual font file name */
    src: url('fonts/EkkamaiNew-Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'iannnnn-DOG';
    /* Assumes font file is in a 'fonts' folder within your child theme */
    /* Make sure 'EkkamaiNew.ttf' matches your actual font file name */
    src: url('fonts/iannnnn-DOG-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SukhumvitSet';
    src: url('fonts/SukhumvitSet-Text.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'SukhumvitSet';
    src: url('fonts/SukhumvitSet-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
/* CSS for Full-Width Slider */
.full-width-slider-wrapper {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    /* You may need to adjust z-index if the theme's header overlaps */
    /* z-index: 0; */
}

/* 
  NOTE: The Voux theme might have a max-width on its main content container.
  You may need to use your browser's Inspector to find the right class 
  and set its max-width to 'none' for the homepage. The following is an example:
*/
body.home .main-content-wrapper {
    max-width: none;
    padding: 0;
}


/* === PASTE ALL CSS FROM YOUR sample.html BELOW THIS LINE === */

.main-slider-container {
    width: 100%;
    max-height: 700px;
    aspect-ratio: 16 / 9;
    position: relative;
    overflow: hidden;
    background-color: #000;
}


        .main-slider-wrapper {
            display: flex;
            height: 100%;
            transition: transform 0.4s ease-out;
            cursor: grab;
            user-select: none;
        }

        .main-slide {
            min-width: 100%;
            height: 100%;
            box-sizing: border-box;
            position: relative;
        }

        .main-slide img {
            margin-top: -40px;
            width: 100%;
            height: 100%; 
            display: block; /* Fix for potential small gap below the image */
            object-fit: cover;
            /* Scale image up to allow for parallax movement without showing edges */
            transform: scale(1.2);
            pointer-events: none;
            object-position: center 25%;
        }

        .main-slide-content {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -40%);
            color: white;
            text-align: center;
            max-width: 80%;
            opacity: 0;
            transition: opacity 0.2s ease-out 0.4s, transform 0.3s ease-out 0.4s;
            pointer-events: none;
        }

        .main-slide.main-slide-active .main-slide-content {
            opacity: 1;
            transform: translate(-50%, -50%);
            pointer-events: auto; /* Allow clicking on the content of the active slide */
        }

        .main-slide-content h2 {
            font-size: 3rem;
            font-family: 'EkkamaiNew', sans-serif;
            font-weight: normal;
            margin: 0 0 1rem 0;
            color: white;
            text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
        }

        .main-slide-content p {
            font-size: 1.25rem;
            font-weight: normal;
            font-family: 'EkkamaiNew', sans-serif;
            color: white;
            text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.7);
        }

        /* Style for the new link wrapper inside the content */
        .main-slide-link {
            color: inherit;
            text-decoration: none;
        }

        .mini-slider-container {
            width: 100%;
            height: calc(100vw / 5 * 9 / 16);
            max-height: 240px;
            overflow: hidden;
            position: relative;
            user-select: none;
            margin-top: 4px;
            margin-bottom: 4px;
        }

        .mini-slider {
            display: flex;
            width: 100%;
            height: 100%;
            position: absolute;
        }

        .mini-slide {
            flex: 0 0 20%;
            height: 100%;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-left:2px;
            margin-right:2px;
	    background-color:black;
        }

        .mini-slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: opacity 0.3s ease;
            pointer-events: none;
            object-position: center 25%;
        }

        .mini-slide:not(.center) img {
            opacity: 0.4;
        }

        .mini-slide.center img {
            opacity: 1;
        }

        .mini-slide .title {
            position: absolute;
            bottom: 20px;
            width: 100%;
            text-align: center;
            color: white;
            font-size: 18px;
            font-family: 'EkkamaiNew', sans-serif;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
            /* background: rgba(0, 0, 0, 0.5); */
            padding: 10px;
            box-sizing: border-box;
            pointer-events: none;
        }

/*
 * Custom Styles for Block Grid Style 2 - Responsive with Custom Gutters
 * -------------------------------------------------------------------- */

/* --- Responsive Gutters --- */
/* The Voux uses the Foundation grid. We override its default spacing
   to create a custom 10px gutter between our two columns. */
.thb-block-grid-style2-wrapper .row {
    margin-left: -2px;
    margin-right: -2px;
}

.thb-block-grid-style2-wrapper .columns {
    padding-left: 2px;
    padding-right: 2px;
    margin-bottom: 10px; /* Adds space when blocks stack on mobile */
}

/* --- Block & Image Styling --- */
.post.post-blockgrid-style2 {
	border: none;
	background-color: #000; /* Fallback color */
	transition: box-shadow 0.3s ease;
    margin-bottom: 0; /* Rely on column margin for spacing */
}

.post.post-blockgrid-style2:hover {
	box-shadow: none;
}

/* This is the key part for the image aspect ratio */
.post.post-blockgrid-style2 .post-gallery {
 /*   aspect-ratio: 1270.5 / 346; /* Enforces your specific aspect ratio */
    aspect-ratio: 1270.5 / 400;
    overflow: hidden; /* Crops the image to fit the container */
    background-color: #f0f0f0; /* Placeholder color while image loads */
    margin-bottom:0px;
}

/* This ensures the link wrapper fills the gallery container, which is crucial for the image sizing. */
.post.post-blockgrid-style2 .post-gallery > a {
    display: block;
    height: 100%;
    position: relative; /* Set positioning context for overlay and title */
}

/* Add a gradient overlay for text readability, similar to style1 */
.post.post-blockgrid-style2 .post-gallery > a:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.6;
    transition: opacity 0.3s ease;
    background-image: linear-gradient(rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
}

.post.post-blockgrid-style2:hover .post-gallery > a:before {
    opacity: 0.8;
}

.post.post-blockgrid-style2 .post-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Fills the container without stretching/distorting the image */
    object-position: center 25%; /* Focuses on the top-center part of the image */
    transition: transform 0.4s ease; /* For a smooth hover effect */
}

.post.post-blockgrid-style2:hover .post-gallery img {
    transform: scale(1.05); /* Adds a subtle zoom on hover */
}

.post.post-blockgrid-style2 .featured-title {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; /* Place title above the gradient overlay */
    width: 85%; /* Prevent title from touching the edges */
    padding: 0;
    text-align: center;
}

.post.post-blockgrid-style2 .featured-title h3 a {
	font-family: 'EkkamaiNew', sans-serif;
	color: #fff;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
    font-size: 1.3rem; /* Adjust font size as needed */
}

figure.post-gallery {
    
}

/*
 * Custom Styles for Category Showcase
 * -------------------------------------------------------------------- */

.thb-category-showcase-wrapper {
    display: flex;
    flex-wrap: nowrap; /* Ensure items stay on one line */
    overflow-x: auto; /* Allow horizontal scrolling on small screens if needed */
    width: 100%;
    margin: 20px 0; /* Add some vertical spacing */
}

.thb-category-showcase-item {
    flex: 1 1 0; /* Each item will grow and shrink equally */
    min-width: 0; /* Important for flexbox shrinking */
    position: relative;
    overflow: hidden; /* Hide anything that spills out */
}

.thb-category-showcase-item a {
    display: block;
    position: relative;
    /* Enforce an aspect ratio to keep all items the same height */
    aspect-ratio: 4 / 3; 
    background-color: #f0f0f0; /* Placeholder color */
}

/* Add a gradient overlay for text readability */
.thb-category-showcase-item a:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    opacity: 0.5;
    transition: opacity 0.3s ease;
    background-image: linear-gradient(rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
}

.thb-category-showcase-item:hover a:before {
    opacity: 0.8;
}

.thb-category-showcase-item img {
    width: 100%;
    height: 100%; /* Fill the container */
    object-fit: cover; /* Crop image to fit, don't distort */
    display: block;
    transition: transform 0.4s ease;
}

.thb-category-showcase-item:hover img {
    transform: scale(1.05); /* Subtle zoom on hover */
}

.thb-category-showcase-title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 2; /* Above the overlay */
    padding: 15px;
    box-sizing: border-box;
    text-align: center;
}

.thb-category-showcase-title h3 {
    font-family: 'EkkamaiNew', sans-serif; /* Using a font from your theme */
    color: #fff;
    font-size: 1.5rem; /* Adjust as needed */
    margin: 0;
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
    line-height: 1.2;
}
        
/*
 * Custom Styles for Subcategory Filter Widget
 * -------------------------------------------------------------------- */

/* Widget container - remove theme's default styling like borders and background */
.widget.widget_subcategory_filter_widget {
    border: none;
    background: transparent;
    padding: 0;
    box-shadow: none;
}

/* Widget Title - make it larger and more prominent */
.widget.widget_subcategory_filter_widget .widget-title {
    font-size: 3rem; /* Larger font size */
    font-family: 'EkkamaiNew', sans-serif; /* Using one of your custom fonts */
    text-align: center;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eaeaea; /* A subtle underline */
}
.widget.style5>strong {
    font-size: 40px;
}
/* Dropdown wrapper - for positioning the custom arrow */
.subcategory-dropdown-widget {
    position: relative;
}

/* The modern dropdown select element */
.subcategory-dropdown-widget select {
    /* Reset appearance to hide default browser styles */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    /* Box Model & Sizing */
    width: 100%;
    padding: 15px 40px 15px 20px; /* Extra padding on the right for the arrow */
    margin: 0;
    box-sizing: border-box;

    /* Typography */
    font-family: sans-serif; /* A clean, standard font */
    font-size: 1rem;
    color: #333;
    line-height: 1.5;

    /* Style */
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 8px; /* Rounded corners */
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Focus state for the dropdown */
.subcategory-dropdown-widget select:focus {
    outline: none;
    border-color: #555;
    box-shadow: 0 0 0 3px rgba(85, 85, 85, 0.1);
}

/* Custom dropdown arrow using a pseudo-element with an inline SVG */
.subcategory-dropdown-widget::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    pointer-events: none; /* So it doesn't block clicks on the select */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%23555555'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

div#category-title {
    display: none;
}

.header .header_top {border-bottom:0px}
.header {background:none;position:absolute}
.header.style5 .nav_holder.dark {background:none;}
.header.fixed {background:#ffffff;}

.header .nav_holder.dark .full-menu-container .full-menu > li > a {
color:#aaa;
}
.header.style5 .nav_holder.dark .mobile-toggle span {
background-color:#aaa;
}
.header.style5 .nav_holder.dark .quick_search:not(.active) .search_icon, .header.style5 .nav_holder.dark .social_header svg, .header.style5 .nav_holder.dark .quick_cart svg {
    fill: #aaa;
}
.cat-title-full {
color:#fff;
}
@media (max-width: 768px) {
  .main-slide-content h2 {
    font-size: 1rem;
	line-height:1;
  display: -webkit-box;
  -webkit-line-clamp: 2;      /* จำนวนบรรทัด */
  -webkit-box-orient: vertical;
  overflow: hidden;
  }
 .post.post-blockgrid-style2 .featured-title h3 a {
	font-size: 1rem;
	line-height:1;
  display: -webkit-box;
  -webkit-line-clamp: 2;      /* จำนวนบรรทัด */
  -webkit-box-orient: vertical;
  overflow: hidden;
 } 

.main-slide-content p {
display:none;
}
.main-slide.main-slide-active .main-slide-content {
margin-top:50px;
}
.post.post-blockgrid-style2 .featured-title h3 {
line-height:1;
}
