/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
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: astra-child
Template: astra
*/

/* =====================================================
   Custom CSS (migrated from WP Additional CSS)
   Source: post_id 3521 26.01.28 이 아래부터 코드를 넣을것
   ===================================================== */

/* =====================================================
   Search results (Products) – image + grid tuning (PC+Mobile) 26.01.28 검색결과 이미지 크기 조정
   ===================================================== */

/* 1) Product grid: force consistent card layout */
.search-split-preview .search-products-grid,
.search-split-preview ul.products.search-products-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: start;
}

/* 2) Product image: prevent oversized thumbnails */
.search-split-preview .search-products-grid li.product a img,
.search-split-preview .search-products-grid li.product img {
  width: 100%;
  height: auto;
  max-width: 260px;     /* PC default: adjust 220~320 if you want */
  max-height: 260px;    /* keep cards tidy */
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

/* 3) Make each product card visually consistent */
.search-split-preview .search-products-grid li.product {
  display: flex;
  flex-direction: column;
}

.search-split-preview .search-products-grid li.product .woocommerce-loop-product__title {
  margin-top: 12px;
  line-height: 1.3;
  font-size: 16px;
}

/* Optional: keep price spacing neat */
.search-split-preview .search-products-grid li.product .price {
  margin-top: 6px;
}

/* -----------------------
   Tablet
   ----------------------- */
@media (max-width: 980px) {
  .search-split-preview .search-products-grid,
  .search-split-preview ul.products.search-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .search-split-preview .search-products-grid li.product a img,
  .search-split-preview .search-products-grid li.product img {
    max-width: 220px;
    max-height: 220px;
  }
}

/* -----------------------
   Mobile
   ----------------------- */
@media (max-width: 520px) {
  .search-split-preview .search-products-grid,
  .search-split-preview ul.products.search-products-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .search-split-preview .search-products-grid li.product a img,
  .search-split-preview .search-products-grid li.product img {
    max-width: 200px;
    max-height: 200px;
  }

  .search-split-preview .search-products-grid li.product .woocommerce-loop-product__title {
    font-size: 16px;
  }
}
/* ================================
   Search results – product image sizing
   ================================ */

.search-split-preview ul.products.search-products-grid li.product a img{
  width: 100%;
  max-width: 260px;   /* PC */
  height: auto;
  display: block;
  margin: 0 auto;
}

.search-split-preview ul.products.search-products-grid li.product{
  padding: 16px;
}

@media (max-width: 768px){
  .search-split-preview ul.products.search-products-grid li.product a img{
    max-width: 180px; /* 모바일 */
  }
}


/* =====================================================
   Hide sticky add-to-cart on request-only categories (Astra variations across devices)
   ===================================================== */
body.single-product.product_cat-purchase-request .astra-sticky-add-to-cart,
body.single-product.product_cat-purchase-request .astra-mobile-sticky-add-to-cart,
body.single-product.product_cat-purchase-request .ast-sticky-add-to-cart,
body.single-product.product_cat-purchase-request .ast-sticky-add-to-cart-wrapper,
body.single-product.product_cat-purchase-request .wc-sticky-product,
body.single-product.product_cat-purchase-request .sticky-add-to-cart,

body.single-product.product_cat-tx .astra-sticky-add-to-cart,
body.single-product.product_cat-tx .astra-mobile-sticky-add-to-cart,
body.single-product.product_cat-tx .ast-sticky-add-to-cart,
body.single-product.product_cat-tx .ast-sticky-add-to-cart-wrapper,
body.single-product.product_cat-tx .wc-sticky-product,
body.single-product.product_cat-tx .sticky-add-to-cart {
  display: none !important;
}


/* =====================================================
   WPForms image choice – selected state highlight 
   ===================================================== */
.wpforms-image-choices input:checked + label,
.wpforms-image-choices .wpforms-selected {
    border: 3px solid #2b7cff !important;
    background: #f0f6ff;
    box-shadow: 0 0 0 2px rgba(43, 124, 255, 0.15);
    transform: scale(1.03);
    transition: all 0.2s ease-in-out;
}

/* =====================================================
   Hover effect for better UX 
   ===================================================== */
.wpforms-image-choices label:hover {
    transform: scale(1.02);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    cursor: pointer;
}

/* =====================================================
   테스트: 폼/테마 CSS보다 무조건 이기게 
   ===================================================== */
#wpforms-form-3975 .wpforms-field-32 {
    background-color: #f6f9fc;
    padding: 16px;
    border-radius: 6px;
    border: 1px solid #e1e8f0;
}
/* =====================================================
   ✅ MC4WP Inline Bar – 중앙 정렬 (최종 권장) *
   ===================================================== */
.mc4wp-inlinebar{
  max-width: 900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.mc4wp-inlinebar__row{
  justify-content: flex-start !important;
}

.kso-mycred-balance{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin: 0 0 20px 0;
}
.kso-mycred-balance .label{ font-weight:600; }
.kso-mycred-balance .value{ font-weight:700; }
/* ES: force transparent header background */
html[lang^="es"] .ast-transparent-header .site-header,
html[lang^="es"] .ast-transparent-header .main-header-bar,
html[lang^="es"] .ast-transparent-header .ast-primary-header-bar {
  background: transparent !important;
  box-shadow: none !important;
  border-bottom: 0 !important;
}

/* =====================================================
   Request-only: hide ONLY add-to-cart button (simple + variable), keep qty */
body.single-product.product_cat-purchase-request form.cart button.single_add_to_cart_button,
body.single-product.product_cat-purchase-request form.cart button[type="submit"],
body.single-product.product_cat-tx form.cart button.single_add_to_cart_button,
body.single-product.product_cat-tx form.cart button[type="submit"]{
  display:none !important;
}

/* =====================================================
   Keep quantity visible */
body.single-product.product_cat-purchase-request form.cart .quantity,
body.single-product.product_cat-tx form.cart .quantity{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* =====================================================
   Astra sticky add to cart (optional but recommended) */
body.single-product.product_cat-purchase-request .astra-sticky-add-to-cart,
body.single-product.product_cat-purchase-request .astra-mobile-sticky-add-to-cart,
body.single-product.product_cat-tx .astra-sticky-add-to-cart,
body.single-product.product_cat-tx .astra-mobile-sticky-add-to-cart{
  display:none !important;
}

/* =========================
   1️⃣ HOME (Front Page) - WHITE SEARCH
========================= */
.home .site-header input[type="search"],
.home .site-header .search-field,
.home .ast-search-icon,
.home .ast-search-menu-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  border-color: #ffffff !important;
  background: transparent !important;
}

.home .site-header input[type="search"]::placeholder {
  color: #ffffff !important;
  opacity: 1;
}


/* =========================
   2️⃣ SUB PAGES - BLACK SEARCH
========================= */
body:not(.home) .site-header input[type="search"],
body:not(.home) .site-header .search-field,
body:not(.home) .ast-search-icon,
body:not(.home) .ast-search-menu-icon svg {
  color: #000000 !important;
  fill: #000000 !important;
  border-color: #000000 !important;
  background: transparent !important;
}

body:not(.home) .site-header input[type="search"]::placeholder {
  color: #000000 !important;
  opacity: 1;
}

/* Hide on desktop & tablet */
.mobile-only-search {
  display: none;
}

/* Show only on mobile */
@media (max-width: 768px) {
  .mobile-only-search {
    display: block;
  }
}


/* =========================
   📱 MOBILE ONLY OVERRIDE
   (Off-canvas / Header Search)
========================= */
@media (max-width: 768px) {

  /* HOME - mobile */
  .home .ast-header-search input[type="search"],
  .home .ast-search-box input[type="search"] {
    color: #ffffff !important;
    border-color: #ffffff !important;
  }

  .home .ast-header-search input::placeholder,
  .home .ast-search-box input::placeholder {
    color: #ffffff !important;
  }

  /* SUB PAGES - mobile */
  body:not(.home) .ast-header-search input[type="search"],
  body:not(.home) .ast-search-box input[type="search"] {
    color: #000000 !important;
    border-color: #000000 !important;
  }

  body:not(.home) .ast-header-search input::placeholder,
  body:not(.home) .ast-search-box input::placeholder {
    color: #000000 !important;
  }

}


/* =========================
   FIX: TOGGLE BORDER + HAMBURGER ONLY (NO X)
   SUB PAGES (Mobile + Tablet) 26.01.28 해결됨.
========================= */
@media (max-width: 1024px) {

  /* 1) 버튼(테두리/패딩) */
  body:not(.home) .ast-mobile-header-wrap .menu-toggle,
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle {
    border: 1.5px solid #000 !important;
    border-radius: 4px !important;
    padding: 6px 8px !important;
    background: transparent !important;
  }

  /* 2) (핵심) X/Close 아이콘 계열은 전부 숨김
        - Astra 버전에 따라 close 아이콘 클래스/구조가 달라서 넓게 커버 */
  body:not(.home) .ast-mobile-header-wrap .menu-toggle [class*="close"],
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle [class*="close"],
  body:not(.home) .ast-mobile-header-wrap .menu-toggle [class*="Close"],
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle [class*="Close"],
  body:not(.home) .ast-mobile-header-wrap .menu-toggle [aria-label*="Close"],
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle [aria-label*="Close"],
  body:not(.home) .ast-mobile-header-wrap .menu-toggle [aria-label*="close"],
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle [aria-label*="close"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  /* 3) 햄버거(삼선) 아이콘은 항상 보이게 강제 */
  body:not(.home) .ast-mobile-header-wrap .menu-toggle svg,
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle svg {
    display: inline-block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 20px !important;
    height: 20px !important;
  }

  /* 4) 아이콘 색 강제 (stroke 기반도 같이 커버) */
  body:not(.home) .ast-mobile-header-wrap .menu-toggle svg *,
  body:not(.home) .ast-mobile-header-wrap .ast-menu-toggle svg * {
    fill: #000 !important;
    stroke: #000 !important;
  }
}






/* =========================
   FIX: HOME off-canvas search
   (Mobile toggle menu opened)
   Make text/placeholder visible 26.01.28 모바일 메인 검색창 안보이는 이슈<-해결 안됨
========================= */
@media (max-width: 768px) {

  /* 오프캔버스(모바일 메뉴 패널) 안의 검색창 */
  .home .ast-mobile-popup .ast-search-box input[type="search"],
  .home .ast-mobile-popup .ast-search-menu-icon + .search-field,
  .home .ast-mobile-popup input[type="search"],
  .home .ast-mobile-popup .search-field {
    color: #000000 !important;
    border-color: #000000 !important;
    background: transparent !important;
  }

  .home .ast-mobile-popup input[type="search"]::placeholder,
  .home .ast-mobile-popup .search-field::placeholder {
    color: #000000 !important;
    opacity: 1 !important;
  }
}
@media (max-width: 768px) {
  .home .ast-mobile-popup input[type="search"]::-webkit-input-placeholder { color:#000 !important; }
}

/* =========================
   FIX (Hard Override):
   HOME mobile off-canvas search text/placeholder 26.01.28
========================= */
@media (max-width: 768px) {

  /* 메뉴가 열렸을 때 body에 붙는 클래스들(테마/설정에 따라 다름) */
  body.home.ast-main-header-nav-open input[type="search"],
  body.home.ast-main-header-nav-open input[type="text"],
  body.home.ast-main-header-nav-open .search-field,
  body.home.ast-main-header-nav-open .ast-search-box input,

  body.home.ast-header-break-point input[type="search"],
  body.home.ast-header-break-point input[type="text"],
  body.home.ast-header-break-point .search-field,
  body.home.ast-header-break-point .ast-search-box input,

  /* 오프캔버스/모바일 팝업 영역(클래스가 다를 수 있어서 넓게) */
  body.home .ast-mobile-popup input[type="search"],
  body.home .ast-mobile-popup input[type="text"],
  body.home .ast-mobile-popup .search-field,
  body.home .ast-mobile-popup .ast-search-box input,

  body.home .ast-mobile-popup-content input[type="search"],
  body.home .ast-mobile-popup-content input[type="text"],
  body.home .ast-mobile-popup-content .search-field,
  body.home .ast-mobile-popup-content .ast-search-box input,

  body.home .ast-builder-menu-mobile input[type="search"],
  body.home .ast-builder-menu-mobile input[type="text"],
  body.home .ast-builder-menu-mobile .search-field,
  body.home .ast-builder-menu-mobile .ast-search-box input {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important; /* 모바일 크롬/삼성브라우저에서 가끔 필요 */
    caret-color: #000 !important;
  }

  body.home.ast-main-header-nav-open input::placeholder,
  body.home.ast-header-break-point input::placeholder,
  body.home .ast-mobile-popup input::placeholder,
  body.home .ast-mobile-popup-content input::placeholder,
  body.home .ast-builder-menu-mobile input::placeholder {
    color: #000 !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #000 !important;
  }

  /* iOS/일부 안드로이드 placeholder 변형 커버 */
  body.home.ast-main-header-nav-open input::-webkit-input-placeholder,
  body.home.ast-header-break-point input::-webkit-input-placeholder,
  body.home .ast-mobile-popup input::-webkit-input-placeholder,
  body.home .ast-mobile-popup-content input::-webkit-input-placeholder,
  body.home .ast-builder-menu-mobile input::-webkit-input-placeholder {
    color: #000 !important;
    opacity: 1 !important;
  }
}

@media (max-width: 768px) {
  .mobile-account-icon {
    display: inline-flex;
    align-items: center;
    color: #000;
  }
}
