/*
Theme Name: Blossom Fashion Child
Theme URI: https://blossomthemes.com/wordpress-themes/blossom-fashion/
Description: Child theme for Blossom Fashion
Author: Your Name
Author URI: https://yourwebsite.com
Template: blossom-fashion
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: blossom-fashion-child
*/

/* Import parent theme styles */
@import url("../blossom-fashion/style.css");

/* Custom styles will go here */

/* Footer Styles */
.site-footer {
    background-color: #000;
    padding: 20px 0;
    text-align: center;
}

.site-info {
    display: none !important;
}

/* 頁面標題樣式 */
.page-header {
    padding: 60px 15px 30px;
    text-align: center;
    margin: 0;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    min-height: 120px;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.page-title {
    margin: 0 0 10px;
    font-size: 38px;
    line-height: 1.3;
    color: #333;
    width: 100%;
    text-align: center;
    font-weight: 700;
}

.entry-header,
.woocommerce-products-header {
    padding: 60px 15px 30px;  /* 增加底部間距 */
    text-align: center;
    margin: 0;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    min-height: 120px;
    width: 100%;
    box-sizing: border-box;
}

.page-title,
.entry-title,
.woocommerce-products-header__title {
    margin: 0 0 10px;  /* 添加底部間距 */
    font-size: 38px;  /* 稍微調整字體大小 */
    line-height: 1.3;  /* 調整行高 */
    color: #333;
    width: 100%;
    text-align: center;
    font-weight: 700;
}

.woocommerce-products-header__title.page-title {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

/* 搜尋框樣式 */
.site-header .nav-holder .form-holder {
    z-index: 9999 !important;
}

/* 搜尋框輸入欄位樣式 */
.site-header .nav-holder .form-holder .search-form input[type="search"] {
    border: 2px solid #dd9933 !important;
    border-radius: 4px !important;
    padding: 10px 15px !important;
    transition: all 0.3s ease !important;
}

.site-header .nav-holder .form-holder .search-form input[type="search"]:focus {
    outline: none !important;
    border-color: #dd9933 !important;
    box-shadow: 0 0 5px rgba(221, 153, 51, 0.5) !important;
}

@media only screen and (max-width: 767px) {
    .site-header .nav-holder .form-holder {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(255, 255, 255, 0.98) !important;
        z-index: 99999 !important;
        display: none;
    }

    .site-header .nav-holder .form-holder .search-form {
        max-width: 90% !important;
        width: 100% !important;
        padding: 0 15px 10px !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        border-bottom: 1px solid #dd9933 !important;
    }

    .site-header .nav-holder .form-holder .btn-close-form {
        top: 20px !important;
        right: 20px !important;
    }

    /* 手機版搜尋框樣式優化 */
    .site-header .nav-holder .form-holder .search-form input[type="search"] {
        font-size: 18px !important;
        padding: 15px !important;
        margin-bottom: 10px !important;
    }

    .site-header .site-branding {
        padding: 20px;
    }

    .main-navigation {
        padding: 0 20px;
    }

    /* 調整logo和標題在手機版的大小和間距 */
    .site-branding .site-title {
        font-size: 24px;
        margin: 0 0 5px;
    }

    .site-branding .site-description {
        font-size: 14px;
    }

    .featured-image-wrapper {
        margin: 0 20px 20px 20px;
        width: calc(100% - 40px);
    }
    
    .featured-image {
        max-width: 100%;
    }

    .page-header,
    .entry-header,
    .woocommerce-products-header {
        padding: 40px 15px 20px;
        min-height: 90px;
    }

    .page-title,
    .entry-title,
    .woocommerce-products-header__title {
        font-size: 30px;  /* 調整手機版字體大小 */
        margin: 0 0 5px;  /* 調整手機版間距 */
    }

    #primary {
        padding: 15px 0 0;  /* 調整手機版內容區域上方間距 */
    }

    #banner-slider .owl-nav {
        display: none !important;
    }

    #banner-slider .owl-dots {
        position: absolute !important;
        bottom: 15px !important;
        left: 0 !important;
        right: 0 !important;
        display: flex !important;
        justify-content: center !important;
        gap: 8px !important;
        z-index: 999 !important;
        pointer-events: auto !important;
    }

    #banner-slider .owl-dot {
        width: 12px !important;
        height: 12px !important;
        background: rgba(0, 0, 0, 0.5) !important;
        border-radius: 50% !important;
        display: block !important;
        margin: 0 5px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    #banner-slider .owl-dot.active {
        background: #000 !important;
        transform: scale(1.2) !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .banner {
        margin: 0 30px -80px; /* 平板版調整重疊距離 */
        width: calc(100% - 60px);
    }

    .site-content {
        margin: 0 20px;
        width: calc(100% - 40px);
    }
}

/* 確保內容區域樣式正確 */
.site-main {
    background: #fff;
    position: relative;
    z-index: 2;
    padding: 20px 20px 30px;
    border-radius: 20px 20px 0 0;
    margin-top: -20px;
}

/* 首頁圖片區域樣式 */
.homepage-hero {
    width: 100%;
    height: 760px;
    overflow: hidden;
    position: relative;
    margin: 0;
    padding: 0;
}

.homepage-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.placeholder-image {
    width: 100%;
    height: 100%;
    background-color: #f2f2f2;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-b {
    display: none !important;
}

.top-section {
    margin-top: 0;
    position: relative;
    z-index: 2;
}

/* Featured Image Styles */
.featured-image-wrapper {
    width: auto;
    max-width: 100%;
    margin: 0 auto 30px;
    overflow: hidden;
    text-align: center;
}

.featured-image {
    width: auto;
    max-width: 100%;
    height: auto;
    display: inline-block;
    object-fit: contain;
}

/* 分類頁面樣式 */
.category .entry-content {
    margin: 20px 0;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

.category .entry-title {
    margin: 0 0 15px;
    font-size: 24px;
}

.category .entry-title a {
    color: #333;
    text-decoration: none;
}

.category .entry-title a:hover {
    color: #f1d3d3;
}

.category .page-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.category .page-title {
    font-size: 32px;
    margin: 0;
    color: #333;
}

.category .archive-description {
    margin-top: 10px;
    color: #666;
} 

@media only screen and (max-width: 767px) {
    #banner-slider .owl-dots {
        position: absolute !important;
        bottom: 15px !important;
        left: 0 !important;
        right: 0 !important;
        display: flex !important;
        justify-content: center !important;
        gap: 6px !important;
        z-index: 999 !important;
        pointer-events: auto !important;
    }

    #banner-slider .owl-dot {
        width: 8px !important;
        height: 8px !important;
        background: rgba(255, 255, 255, 0.8) !important; /* 白色半透明 */
        border-radius: 50% !important;
        display: block !important;
        margin: 0 3px !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12); /* 細緻陰影 */
        border: 1px solid rgba(0,0,0,0.08);     /* 淡淡的邊框讓白點更明顯 */
        transition: background 0.2s, transform 0.2s;
    }

    #banner-slider .owl-dot.active {
        background: #fff !important; /* 純白 */
        transform: scale(1.2) !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.18); /* 主動點陰影稍大 */
        border: 1.5px solid rgba(0,0,0,0.15);
    }
}

@media (min-width: 1000px) {
    .owl-carousel .owl-stage-outer {
      height: calc(100vw * 5 / 16) !important; /* 16:5 比例 */
      min-height: 300px;
      max-height: 600px; /* 根據您的 banner 圖片最大高度調整 */
      overflow: hidden;
    }
    .owl-carousel .owl-item,
    .owl-carousel .item {
      height: 100% !important;
    }
    .owl-carousel .item img {
      height: 100% !important;
      width: 100%;
      object-fit: cover;
    }
  }

@media (min-width: 768px) {
  #banner-slider .owl-dots,
  .banner .owl-dots {
    display: flex !important;
    justify-content: center;
    margin-top: 20px;
    gap: 8px;
  }
  #banner-slider .owl-dot,
  .banner .owl-dot {
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
    display: block;
    margin: 0 5px;
    opacity: 0.7;
    border: 1.5px solid #ccc;
    transition: opacity 0.2s, transform 0.2s;
  }
  #banner-slider .owl-dot.active,
  .banner .owl-dot.active {
    opacity: 1;
    background: #fff;
    border: 2px solid #111;
    transform: scale(1.2);
  }
}