/* ===== Kyso Organics — WooCommerce brand styling ===== */
.woocommerce, .woocommerce-page { font-family:"DM Sans",sans-serif; }

/* Shop archive header */
.woocommerce-products-header__title, .ast-archive-title, .woocommerce-products-header .entry-title{ font-family:"Fraunces",serif !important; color:#2E4318 !important; }
.kyso-shop-intro{ font-family:"DM Sans",sans-serif; color:#3A4632; max-width:640px; margin:6px auto 24px; font-size:16px; line-height:1.55; }
.woocommerce .woocommerce-result-count{ font-family:"DM Sans"; color:#7C8570; }
.woocommerce .woocommerce-ordering select{ border:1px solid #D8E0C8; border-radius:10px; padding:9px 12px; font-family:"DM Sans"; color:#3A4632; background:#fff; }

/* Product grid */
.woocommerce ul.products, .woocommerce-page ul.products{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:24px !important; margin:0 0 40px !important; padding:0 !important; }
@media(max-width:1024px){ .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:18px !important; } }
@media(max-width:600px){ .woocommerce ul.products, .woocommerce-page ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:12px !important; } }

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{ width:auto !important; margin:0 !important; padding:14px !important; float:none !important; background:#fff; border:1px solid #E4E8D8; border-radius:16px; box-shadow:0 2px 10px rgba(46,67,24,0.05); display:flex; flex-direction:column; text-align:left; transition:box-shadow .2s, transform .2s; }
.woocommerce ul.products li.product:hover{ box-shadow:0 8px 22px rgba(46,67,24,0.12); transform:translateY(-3px); }
.woocommerce ul.products li.product a{ text-decoration:none; }
.woocommerce ul.products li.product a img{ border-radius:12px; margin:0 0 12px !important; background:#F4F6EE; aspect-ratio:4/5; object-fit:cover; width:100%; }

/* Category label */
.woocommerce ul.products li.product .kyso-cat{ display:block; font-family:"DM Sans"; font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#5A7A2E; margin-bottom:3px; }

/* Title */
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:"Fraunces",serif !important; font-size:17px !important; line-height:1.25; color:#2E4318 !important; padding:0 0 6px !important; font-weight:500; }

/* Price */
.woocommerce ul.products li.product .price{ color:#5A7A2E !important; font-family:"DM Sans" !important; font-weight:700 !important; font-size:16px !important; margin:0 0 12px !important; }
.woocommerce ul.products li.product .price del{ color:#9AA88A; font-weight:400; }
.woocommerce ul.products li.product .price ins{ text-decoration:none; }

/* Buttons — brand pill */
.woocommerce a.button, .woocommerce button.button, .woocommerce ul.products li.product .button, .woocommerce #respond input#submit, .woocommerce .single_add_to_cart_button, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce #payment #place_order, .woocommerce-checkout button#place_order{ background:#2E4318 !important; color:#fff !important; border-radius:999px !important; font-family:"DM Sans",sans-serif !important; font-weight:600 !important; font-size:14px !important; padding:12px 20px !important; text-transform:none !important; letter-spacing:0 !important; border:none !important; box-shadow:none !important; transition:background .2s; }
.woocommerce ul.products li.product .button{ margin-top:auto !important; width:100%; text-align:center; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce ul.products li.product .button:hover, .woocommerce .single_add_to_cart_button:hover, .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-checkout button#place_order:hover{ background:#8FB429 !important; color:#fff !important; }
.woocommerce ul.products li.product .button.added{ background:#5A7A2E !important; }
.woocommerce a.added_to_cart{ display:inline-block; margin-top:6px; background:transparent !important; color:#2E4318 !important; text-decoration:underline; padding:4px 0 !important; font-size:13px; width:auto; }

/* Sale badge */
.woocommerce span.onsale{ background:#E9C522 !important; color:#2E4318 !important; border-radius:999px !important; font-family:"DM Sans"; font-weight:600; box-shadow:none; }

/* Single product page */
.woocommerce div.product .product_title{ font-family:"Fraunces",serif; color:#2E4318; }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:#5A7A2E !important; font-weight:700; font-family:"DM Sans"; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:"DM Sans"; }
.woocommerce div.product form.cart .quantity input.qty{ border:1px solid #D8E0C8; border-radius:10px; padding:8px; }
.woocommerce nav.woocommerce-breadcrumb{ font-family:"DM Sans"; color:#7C8570; }
.woocommerce nav.woocommerce-breadcrumb a{ color:#5A7A2E; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error{ font-family:"DM Sans"; border-top-color:#8FB429 !important; }
.woocommerce-message::before, .woocommerce-info::before{ color:#8FB429 !important; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span.current{ font-family:"DM Sans"; color:#2E4318; }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:#2E4318; color:#fff; border-radius:8px; }


/* ===== Shop / category archive: site lemon background + centered width ===== */
body.woocommerce-shop, body.post-type-archive-product, body.tax-product_cat { background-color:#F0F5E2 !important; }
body.woocommerce-shop #content, body.woocommerce-shop .site-content, body.woocommerce-shop .ast-container, body.post-type-archive-product #content, body.post-type-archive-product .site-content, body.post-type-archive-product .ast-container, body.tax-product_cat #content, body.tax-product_cat .site-content, body.tax-product_cat .ast-container { background:transparent !important; }
.woocommerce-products-header, .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering, .woocommerce ul.products, .woocommerce-page ul.products, .woocommerce nav.woocommerce-pagination { max-width:1240px; margin-left:auto; margin-right:auto; }
.woocommerce ul.products, .woocommerce-page ul.products { margin-bottom:48px !important; }


/* ===== 'Find your shelf' collection cards: click affordance ===== */
.elementor-element-6d77572, .elementor-element-2e22d88, .elementor-element-f038039, .elementor-element-9efa2dd{ position:relative; overflow:hidden; transition:transform .25s ease, box-shadow .25s ease; }
/* live collections (Hair Care, Skincare): pointer + hover lift */
.elementor-element-6d77572, .elementor-element-2e22d88, .elementor-element-9efa2dd, .elementor-element-f038039{ cursor:pointer; }
.elementor-element-6d77572:hover, .elementor-element-2e22d88:hover, .elementor-element-9efa2dd:hover, .elementor-element-f038039:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(46,67,24,0.22); }
.elementor-element-6d77572:hover img, .elementor-element-2e22d88:hover img, .elementor-element-9efa2dd:hover img, .elementor-element-f038039:hover img{ filter:brightness(0.92); transition:filter .25s ease; }
/* always-visible 'View collection ->' pill (live cards only) */
.elementor-element-6d77572::after, .elementor-element-2e22d88::after, .elementor-element-9efa2dd::after, .elementor-element-f038039::after{ content:"View collection \2192"; position:absolute; left:24px; bottom:22px; z-index:60; display:inline-flex; align-items:center; gap:6px; background:#8FB429; color:#fff; font-family:"DM Sans",sans-serif; font-weight:600; font-size:13px; letter-spacing:.2px; padding:8px 16px; border-radius:999px; box-shadow:0 4px 12px rgba(46,67,24,0.28); transition:transform .25s ease, background .2s ease; pointer-events:none; }
.elementor-element-6d77572:hover::after, .elementor-element-2e22d88:hover::after, .elementor-element-9efa2dd:hover::after, .elementor-element-f038039:hover::after{ background:#2E4318; transform:translateX(3px); }
/* coming-soon tag (Kids, Men) */


@media(max-width:600px){ .elementor-element-6d77572::after,.elementor-element-2e22d88::after,.elementor-element-f038039::after,.elementor-element-9efa2dd::after{ left:14px; bottom:14px; font-size:11px; padding:6px 12px; } }

/* ===== Sectioned shop collections ===== */
.kyso-collection{ max-width:1240px; margin:0 auto; text-align:left; }
.kyso-collection-title{ font-family:"Fraunces",serif; color:#2E4318; font-size:26px; text-align:left; margin:44px 0 18px; padding-bottom:10px; border-bottom:1px solid #D8E0C8; }
.kyso-collection ul.products{ margin-bottom:14px !important; }
.kyso-collection-viewall{ display:inline-block; margin:2px 0 26px; font-family:"DM Sans",sans-serif; font-weight:600; font-size:14px; color:#5A7A2E; text-decoration:none; }
.kyso-collection-viewall:hover{ color:#2E4318; }

/* ===== 5th collection card: Hair Tools — responsive card widths ===== */
.elementor-element-6d77572,.elementor-element-2e22d88,.elementor-element-9efa2dd,.elementor-element-f038039,.elementor-element-ht5f001{ flex:1 1 220px !important; max-width:calc(20% - 16px) !important; width:calc(20% - 16px) !important; }
@media(max-width:1100px){ .elementor-element-6d77572,.elementor-element-2e22d88,.elementor-element-9efa2dd,.elementor-element-f038039,.elementor-element-ht5f001{ max-width:calc(33.33% - 16px) !important; width:calc(33.33% - 16px) !important; } }
@media(max-width:700px){ .elementor-element-6d77572,.elementor-element-2e22d88,.elementor-element-9efa2dd,.elementor-element-f038039,.elementor-element-ht5f001{ max-width:calc(50% - 12px) !important; width:calc(50% - 12px) !important; } }

.elementor-element-ht5f001{ position:relative; overflow:hidden; cursor:pointer; transition:transform .25s ease, box-shadow .25s ease; }
.elementor-element-ht5f001:hover{ transform:translateY(-4px); box-shadow:0 14px 30px rgba(46,67,24,0.22); }
.elementor-element-ht5f001:hover img{ filter:brightness(0.92); }
.elementor-element-ht5f001::after{ content:"View collection \2192"; position:absolute; left:24px; bottom:22px; z-index:60; display:inline-flex; align-items:center; gap:6px; background:#8FB429; color:#fff; font-family:"DM Sans",sans-serif; font-weight:600; font-size:13px; padding:8px 16px; border-radius:999px; box-shadow:0 4px 12px rgba(46,67,24,0.28); pointer-events:none; transition:transform .25s ease, background .2s ease; }
.elementor-element-ht5f001:hover::after{ background:#2E4318; transform:translateX(3px); }


/* ===== Header search ===== */
.kyso-search-wrap{ position:relative; display:inline-flex; align-items:center; margin-right:14px; }
.kyso-search-toggle{ background:none; border:none; cursor:pointer; color:#2E4318; padding:8px; display:flex; align-items:center; justify-content:center; border-radius:50%; transition:background .2s ease; }
.kyso-search-toggle:hover{ background:#F0F5E2; }
.kyso-search-panel{ position:absolute; top:calc(100% + 10px); right:0; background:#fff; border:1px solid #E4E8D8; border-radius:14px; box-shadow:0 12px 30px rgba(46,67,24,0.18); padding:10px; width:0; opacity:0; pointer-events:none; overflow:hidden; transition:width .25s ease, opacity .2s ease; z-index:200; }
.kyso-search-panel.open{ width:280px; opacity:1; pointer-events:auto; }
.kyso-search-panel form{ display:flex; align-items:center; gap:6px; }
.kyso-search-panel input[type=search]{ flex:1; border:1px solid #D8E0C8; border-radius:999px; padding:9px 14px; font-family:"DM Sans",sans-serif; font-size:14px; color:#2E4318; outline:none; min-width:0; }
.kyso-search-panel input[type=search]:focus{ border-color:#8FB429; }
.kyso-search-panel button[type=submit]{ background:#2E4318; color:#fff; border:none; border-radius:50%; width:36px; height:36px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:background .2s ease; }
.kyso-search-panel button[type=submit]:hover{ background:#8FB429; }
@media(max-width:480px){ .kyso-search-panel.open{ width:220px; } .kyso-search-panel{ right:-40px; } }

/* Search results page: reuse the shop's brand card styling */
body.search-results.post-type-archive-product .woocommerce-info,
body search .woocommerce-info { display:none; }



/* ===== Home hero v3: fixed-height media box + text overlay + dots strip below ===== */
.elementor-element-08d295f{ width:100vw !important; max-width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; }
.elementor-element-heromedia1{ position:relative !important; width:100% !important; height:72vh !important; overflow:hidden !important; }
@media(max-width:767px){ .elementor-element-heromedia1{ height:60vh !important; } }
.kyso-hero-slides{ position:absolute !important; inset:0; z-index:0; width:100% !important; height:100% !important; }
.kyso-hero-slide{ position:absolute !important; inset:0; width:100% !important; height:100% !important; background-size:cover !important; background-position:center center !important; background-repeat:no-repeat !important; opacity:0 !important; transition:opacity 1.6s ease !important; }
.kyso-hero-slide.active{ opacity:1 !important; }
.kyso-hero-overlay{ position:absolute !important; inset:0; z-index:1; width:100% !important; height:100% !important; background:linear-gradient(0deg, rgba(20,26,10,0.72) 0%, rgba(20,26,10,0.18) 55%, rgba(20,26,10,0.05) 100%); pointer-events:none; }
.elementor-element-herowrap1{ position:absolute !important; z-index:2 !important; left:6% !important; right:6% !important; bottom:8% !important; max-width:640px; }
.kyso-hero-dots-bar{ width:100%; display:flex; justify-content:center; align-items:center; gap:10px; padding:20px 0; background:#F0F5E2; }
.kyso-hero-dot{ width:9px; height:9px; border-radius:50%; border:1.5px solid #2E4318; background:transparent; padding:0; cursor:pointer; transition:background .3s ease, width .3s ease; }
.kyso-hero-dot.active{ background:#2E4318; width:22px; border-radius:5px; }









/* ===== Real Results: CSS Grid on the ACTUAL card wrapper (.e-con-inner), not the outer element ===== */
.elementor-element-rrrow1 > .e-con-inner{ display:grid !important; grid-template-columns:repeat(2,1fr) !important; gap:24px !important; width:100% !important; }
.elementor-element-rr244, .elementor-element-rr247, .elementor-element-rr246, .elementor-element-rr245{
  width:100% !important; max-width:100% !important; min-width:0 !important; box-sizing:border-box !important;
}
.elementor-element-rr244 img, .elementor-element-rr247 img, .elementor-element-rr246 img, .elementor-element-rr245 img{
  max-height:320px !important; object-fit:cover !important; width:100% !important; max-width:100% !important;
}
@media(max-width:600px){
  .elementor-element-rrrow1 > .e-con-inner{ gap:12px !important; }
  .elementor-element-rr244 img, .elementor-element-rr247 img, .elementor-element-rr246 img, .elementor-element-rr245 img{
    max-height:190px !important;
  }
}

/* ===== "What are you dealing with?" cards: align CTA buttons to bottom regardless of text length ===== */
.elementor-element-d857e45 > .e-con-inner{ align-items:stretch !important; }
.elementor-element-b88bb52, .elementor-element-b1ca182, .elementor-element-7bd2e5e, .elementor-element-f9362f1{
  display:flex !important; flex-direction:column !important; height:100% !important;
}
.elementor-element-b88bb52 .elementor-widget-button, .elementor-element-b1ca182 .elementor-widget-button, .elementor-element-7bd2e5e .elementor-widget-button, .elementor-element-f9362f1 .elementor-widget-button{
  margin-top:auto !important; padding-top:14px !important;
}