/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Template: Divi
Author: Elegant Themes
Author URI: http://www.elegantthemes.com
Description: Smart. Flexible. Beautiful. Divi is the most powerful theme in our collection.
Version: 4.27.4.1757426479
Updated: 2025-09-09 14:01:19

*/


/* ===============================
   Global Typography
   =============================== */

/* Headings (Desktop default) */
h1 { font-size: 3rem; line-height: 1em; }
h2 { font-size: 3rem; line-height: 1em; }
h3 { font-size: 2.1rem; line-height: 1em; }
h4 { font-size: 1.8rem; line-height: 1em; }
h5 { font-size: 1.6rem; line-height: 1em; }
h6 { font-size: 1.4rem; line-height: 1em; }

/* ===============================
   Navigation / Menus
   =============================== */
#main-header .nav li a {
  font-size: 1rem;
  line-height: 1.7em;
}

#top-menu li li a {
  font-size: 0.95rem;
}

/* Mobile menu */
.et_mobile_menu li a {
  font-size: 1rem;
}

/* ===============================
   Buttons
   =============================== */
.et_pb_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
button,
input[type="submit"] {
  font-size: 1rem;
  line-height: 1.7em;
  text-transform: none;
}

/* ===============================
   Forms & Inputs
   =============================== */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  font-size: 1rem;
  line-height: 1.7em;
}

/* ===============================
   WooCommerce
   =============================== */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title {
  font-size: 1.8rem; /* close to H4/H5 */
  line-height: 1.2em;
}

.woocommerce ul.products li.product ,
.woocommerce div.product {
  font-size: 1.4rem;
  line-height: 1.2em;
}

/* ===============================
   Tablet (max-width: 980px)
   =============================== */
@media (max-width: 980px) {
  h1 { font-size: 2.54rem; }
  h2 { font-size: 2.54rem; }
  h3 { font-size: 1.9rem; }
  h4 { font-size: 1.7rem; }
  h5 { font-size: 1.6rem; }
  h6 { font-size: 1.35rem; }

  #main-header .nav li a,
  .et_mobile_menu li a,
  .et_pb_button,
  button,
  input[type="submit"],
  input[type="text"],
  input[type="email"],
  input[type="password"],
  textarea,
  select {
    font-size: 1rem;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce div.product .product_title {
    font-size: 1.6rem;
  }

  .woocommerce ul.products li.product ,
  .woocommerce div.product {
    font-size: 1.3rem;
  }
}

/* ===============================
   Mobile (max-width: 767px)
   =============================== */
@media (max-width: 767px) {
  h1 { font-size: 2.54rem; }
  h2 { font-size: 2.54rem; }
  h3 { font-size: 1.9rem; }
  h4 { font-size: 1.7rem; }
  h5 { font-size: 1.5rem; }
  h6 { font-size: 1.35rem; }

  #main-header .nav li a,
  .et_mobile_menu li a,
  .et_pb_button,
  button,
  input[type="submit"],
  input[type="text"],
  input[type="email"],
  input[type="password"],
  textarea,
  select {
    font-size: 0.95rem;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce div.product .product_title {
    font-size: 1.5rem;
  }

  .woocommerce ul.products li.product ,
  .woocommerce div.product {
    font-size: 1.2rem;
  }
}

/* ================================
   UNIVERSAL "KASVU" GROW EFFECTS
   Add class "kasvu" in Divi module > Advanced > CSS Class
   ================================ */

/* --- Base grow (default for any module) --- */
.kasvu {
  transition: transform 0.2s ease-in-out;
}

.kasvu:hover {
  transform: scale(1.1);
}

/* --- Product Images (e.g. WooCommerce) --- */
.kasvu img {
  transition: transform 0.2s ease-in-out;
}

.kasvu img:hover {
  transform: scale(1.1);
}

/* --- Buttons --- */
.kasvu.et_pb_button {
  transition: transform 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.kasvu.et_pb_button:hover {
  transform: scale(1.05); /* smaller zoom so buttons don't look oversized */
}

/* --- Sections / Rows / Columns with Backgrounds --- */
.kasvu.et_pb_section,
.kasvu.et_pb_row,
.kasvu.et_pb_column {
  transition: transform 0.3s ease-in-out;
}

.kasvu.et_pb_section:hover,
.kasvu.et_pb_row:hover,
.kasvu.et_pb_column:hover {
  transform: scale(1.03); /* subtle zoom for layout containers */
}

/* --- Header styling --- */
/*set the Divi menu dropdown auto width*/
@media only screen and (min-width: 981px) {
	.nav li ul {
		width: fit-content;
		display: flex;
		flex-direction: column;
	}

	.nav li li {
		white-space: nowrap;
	}

	.nav li li a {
		width: auto !important;
	}
}

/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}


/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: #00d263;
	background: #f0f3f6;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	display: block;
	bottom: 10px;
	line-height: 0;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

/* Desktop & tablet: fluid but limited */
.haku {
  width: clamp(200px, 30vw, 400px); /* min 200px, scales with screen, max 400px */
  box-sizing: border-box;
}

/* Mobile: full width inside menu */
@media (max-width: 767px) {
  .haku {
    width: 100% !important;  /* stretch full width */
    max-width: none;         /* remove any max constraint */
  }
}

.product-sku {
    font-size: 0.8em;
    color: #555;
    margin-bottom: 10px;
	margin-top: 0;
}

.woocommerce ul.products li.product a img,
.woocommerce div.product div.images img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
    background: #fff !important;
    aspect-ratio: 1 / 1 !important;
    padding: 10px; /* optional spacing */
}