/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by the Elementor team.
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.11
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* --- Typography restored from the former Astra theme ---
   Astra set the site base font-size to 15px and loaded Inter (body) + Lexend
   (headings) at weight 600 / line-height 1.2. Hello supplies none of these, so
   Elementor headings (which never hard-set font/size/line-height) fell back to a
   16px base, the system font stack, weight 500 and line-height 1 — most visible
   on the homepage hero. These restore Astra's typography baseline; any Elementor
   widget with its own per-element typography keeps its higher-specificity values. */
html {
	font-size: 15px;
}
body {
	font-size: 15px;
	font-family: 'Inter', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-family: 'Lexend', sans-serif;
	font-weight: 600;
	line-height: 1.2;
}

/* --- Global base colors restored from the former Astra theme on Hello migration ---
   Astra applied these site-wide via its customizer; Hello does not, so plain
   content/WooCommerce/blog links were falling back to Hello's default #CC3366.
   These are base-level rules — Elementor widgets (header/footer/buttons) keep
   their own higher-specificity colors and are unaffected. */
body {
	color: #494B51;
}
a {
	color: #494B51;
}
a:hover,
a:focus {
	color: #4FBBEC;
}
h1, h2, h3, h4, h5, h6 {
	color: #101218;
}

/* --- WooCommerce price color: brand button blue (#4FBBEC) ---
   Overrides WooCommerce's default olive-gold (#958E09) price color. Matches the
   "Select Options"/add-to-cart button background. Covers both the archive/loop
   price (ul.products li.product) and the single-product price (div.product),
   matching WooCommerce's selector specificity and loading after it. */
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .woocommerce-Price-amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product .price .woocommerce-Price-amount {
	color: #4FBBEC;
}

/* --- Homepage hero slideshow readability tint ---
   The hero (section 8dd3b25) shows white text over a photo slideshow with no
   background overlay, so the copy is hard to read over lighter frames. This drops
   a dark tint inside the slideshow wrapper: the slideshow is absolutely positioned
   at z-index 0 and the text content sits above it in normal flow, so this
   pseudo-element darkens the photos without ever covering the heading/button. */
.elementor-element-8dd3b25 .elementor-background-slideshow::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: rgba(0, 0, 0, 0.4);
	pointer-events: none;
}

/* --- Restore Ken Burns on the homepage hero under reduced motion ---
   Elementor globally zeroes transition durations inside prefers-reduced-motion,
   which stops the hero zoom animation even when slides still rotate. Re-enable
   just the transform transition for this one slideshow so Safari users still get
   the intended effect without changing motion behavior site-wide. */
@media (prefers-reduced-motion: reduce) {
	.elementor-element-8dd3b25 .elementor-background-slideshow__slide__image.elementor-ken-burns {
		transition-property: transform !important;
		transition-duration: 10s !important;
		transition-delay: 0s !important;
		transition-timing-function: linear !important;
	}

	.elementor-element-8dd3b25 .elementor-background-slideshow__slide__image.elementor-ken-burns--active {
		transition-duration: 20s !important;
	}
}

/* --- Ported from Astra child Customizer "Additional CSS" (post 9) on theme migration --- */
a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
	color: white;
}

/* --- My Account page warm treatment (scoped to .woocommerce-account) ---
   Hides the bare theme title + WooCommerce "Login" h2, centers the login into a
   branded card with a blue button, and cards the logged-in dashboard nav.
   Functionality (the [woocommerce_my_account] shortcode) is untouched. */
.woocommerce-account .page-header { display: none; }
.woocommerce-account:not(.logged-in) .woocommerce > h2 { display: none; }
.woocommerce-account .site-main { padding-top: 48px; padding-bottom: 60px; }
.pa-acct-head { text-align: center; max-width: 640px; margin: 0 auto 34px; font-family: 'Inter', sans-serif; }
.pa-acct-head .eb { display: block; font-family: 'Lexend', sans-serif; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; color: #4FBBEC; margin: 0 0 12px; }
.pa-acct-head h2 { font-family: 'Lexend', sans-serif; font-weight: 600; color: #101218; font-size: 34px; line-height: 1.2; margin: 0 0 12px; }
.pa-acct-head p { font-size: 16px; line-height: 1.7; color: #5a5f67; margin: 0; }
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 480px; margin: 0 auto; }
.woocommerce-account form.woocommerce-form-login { background: #fff; border: 1px solid #eef1f4; border-radius: 20px; padding: 34px 32px 30px; box-shadow: 0 22px 48px rgba(16,18,24,.08); margin: 0; }
.woocommerce-account .woocommerce-form-row label { font-family: 'Lexend', sans-serif; font-weight: 600; font-size: 14px; color: #101218; }
.woocommerce-account .woocommerce-form input.input-text { border: 1px solid #d9dee3 !important; border-radius: 10px !important; padding: 12px 14px !important; box-shadow: none !important; }
.woocommerce-account .woocommerce-form input.input-text:focus { border-color: #4FBBEC !important; outline: none !important; box-shadow: 0 0 0 3px rgba(79,187,236,.16) !important; }
.woocommerce-account .woocommerce-form-login__submit { background: #4FBBEC !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-family: 'Lexend', sans-serif !important; font-weight: 600 !important; font-size: 15px !important; padding: 12px 30px !important; box-shadow: none !important; transition: all .18s ease; }
.woocommerce-account .woocommerce-form-login__submit:hover { background: #2fa9df !important; transform: translateY(-1px); }
.woocommerce-account .woocommerce-LostPassword a { color: #4FBBEC; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid #eef1f4; border-radius: 16px; overflow: hidden; box-shadow: 0 8px 20px rgba(16,18,24,.05); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #f1f3f5; }
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 13px 20px; color: #494B51; text-decoration: none; font-family: 'Lexend', sans-serif; font-weight: 500; border-left: 3px solid transparent; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #4FBBEC; border-left-color: #4FBBEC; background: #f6fbfe; }
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: #4FBBEC; background: #f8fafb; }
.pa-acct-help { text-align: center; margin: 32px auto 0; }
.pa-acct-help a { display: inline-flex; align-items: center; gap: 8px; margin: 6px; background: #fff; border: 1px solid #e6eaee; border-radius: 999px; padding: 10px 18px; font-family: 'Lexend', sans-serif; font-weight: 600; font-size: 14px; color: #101218; text-decoration: none; transition: all .18s ease; }
.pa-acct-help a:hover { border-color: #4FBBEC; color: #4FBBEC; transform: translateY(-2px); }

/* --- Cart & Checkout warm treatment (scoped to .woocommerce-cart / .woocommerce-checkout) ---
   Styling only — the [woocommerce_cart] / [woocommerce_checkout] shortcodes are untouched. */
.woocommerce-cart .page-header, .woocommerce-checkout .page-header { display: none; }
.woocommerce-cart .site-main, .woocommerce-checkout .site-main { padding-top: 48px; padding-bottom: 60px; }
.pa-shop-head { text-align: center; max-width: 680px; margin: 0 auto 36px; font-family: 'Inter', sans-serif; }
.pa-shop-head .eb { display: block; font-family: 'Lexend', sans-serif; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; color: #4FBBEC; margin: 0 0 12px; }
.pa-shop-head h2 { font-family: 'Lexend', sans-serif; font-weight: 600; color: #101218; font-size: 34px; line-height: 1.2; margin: 0 0 12px; }
.pa-shop-head p { font-size: 16px; line-height: 1.7; color: #5a5f67; margin: 0; }
/* tables as cards */
.woocommerce-cart table.shop_table, .woocommerce-checkout .woocommerce-checkout-review-order table.shop_table { border: 1px solid #eef1f4 !important; border-radius: 16px !important; overflow: hidden; box-shadow: 0 10px 26px rgba(16,18,24,.06); background: #fff; }
.woocommerce-cart table.shop_table th, .woocommerce-checkout table.shop_table th { font-family: 'Lexend', sans-serif; color: #101218; }
.woocommerce-cart .cart_totals { background: #fff; border: 1px solid #eef1f4; border-radius: 16px; padding: 24px 26px; box-shadow: 0 10px 26px rgba(16,18,24,.06); }
.woocommerce-cart .cart_totals h2, .woocommerce-checkout #order_review_heading, .woocommerce-checkout #customer_details h3, .woocommerce-checkout #ship-to-different-address { font-family: 'Lexend', sans-serif !important; color: #101218 !important; }
/* primary buttons */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button, .woocommerce-checkout #place_order { background: #4FBBEC !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-family: 'Lexend', sans-serif !important; font-weight: 600 !important; font-size: 16px !important; padding: 14px 32px !important; box-shadow: none !important; transition: all .18s ease; width: auto; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover, .woocommerce-checkout #place_order:hover { background: #2fa9df !important; transform: translateY(-1px); }
/* secondary buttons (update cart, apply coupon) */
.woocommerce-cart .actions .button, .woocommerce-cart .coupon .button { background: #fff !important; color: #101218 !important; border: 1px solid #d9dee3 !important; border-radius: 999px !important; font-family: 'Lexend', sans-serif !important; font-weight: 600 !important; padding: 12px 22px !important; }
.woocommerce-cart .actions .button:hover, .woocommerce-cart .coupon .button:hover { border-color: #4FBBEC !important; color: #4FBBEC !important; }
/* inputs */
.woocommerce-cart input.qty, .woocommerce-checkout .form-row input.input-text, .woocommerce-checkout .form-row textarea, .woocommerce-checkout select, .woocommerce-cart .coupon input.input-text { border: 1px solid #d9dee3 !important; border-radius: 10px !important; }
.woocommerce-checkout .form-row input.input-text:focus, .woocommerce-checkout .form-row textarea:focus { border-color: #4FBBEC !important; outline: none !important; box-shadow: 0 0 0 3px rgba(79,187,236,.16) !important; }
/* checkout column cards */
.woocommerce-checkout #customer_details .woocommerce-billing-fields, .woocommerce-checkout #customer_details .woocommerce-shipping-fields, .woocommerce-checkout #customer_details .woocommerce-additional-fields { background: #fff; border: 1px solid #eef1f4; border-radius: 16px; padding: 26px 28px; box-shadow: 0 10px 26px rgba(16,18,24,.06); margin-bottom: 24px; }
.woocommerce-checkout #order_review { background: #fff; border: 1px solid #eef1f4; border-radius: 16px; padding: 24px 26px; box-shadow: 0 10px 26px rgba(16,18,24,.06); }
.woocommerce-checkout #payment { background: #f6fbfe !important; border-radius: 12px; }

/* --- Shop & category archive warm treatment (scoped to .archive.woocommerce —
   covers /shop/ + product category pages; excludes the homepage featured
   products and the single product page). --- */
.archive.woocommerce .woocommerce-products-header { text-align: center; margin-bottom: 4px; }
.archive.woocommerce .woocommerce-products-header__title { font-family: 'Lexend', sans-serif; font-weight: 600; color: #101218; font-size: 36px; }
.pa-shop-sub { text-align: center; max-width: 640px; margin: 0 auto 32px; font-family: 'Inter', sans-serif; font-size: 16px; line-height: 1.7; color: #5a5f67; }
.archive.woocommerce .woocommerce-result-count { color: #7a7f87; font-size: 14px; }
.archive.woocommerce .woocommerce-ordering select { border: 1px solid #d9dee3 !important; border-radius: 10px !important; padding: 9px 30px 9px 12px !important; font-family: 'Inter', sans-serif; }
.archive.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 26px; margin: 0; }
.archive.woocommerce ul.products::before, .archive.woocommerce ul.products::after { content: none !important; display: none !important; }
.archive.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; clear: none !important; background: #fff; border: 1px solid #eef1f4; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 26px rgba(16,18,24,.05); transition: transform .2s ease, box-shadow .2s ease; padding-bottom: 22px; display: flex; flex-direction: column; }
.archive.woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(16,18,24,.11); }
.archive.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; }
.archive.woocommerce ul.products li.product img { width: 100% !important; height: 250px !important; object-fit: contain !important; background: #fff; margin: 0 0 16px !important; border-radius: 0; padding: 14px 14px 0; }
.archive.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: 'Lexend', sans-serif !important; font-size: 16px !important; color: #101218 !important; padding: 0 20px !important; }
.archive.woocommerce ul.products li.product .price { padding: 0 20px; display: block; }
.archive.woocommerce ul.products li.product .button { display: inline-block !important; margin: 14px 20px 0 !important; margin-top: auto !important; align-self: flex-start; background: #4FBBEC !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-family: 'Lexend', sans-serif !important; font-weight: 600 !important; font-size: 13px !important; padding: 10px 22px !important; transition: all .18s ease; }
.archive.woocommerce ul.products li.product .button:hover { background: #2fa9df !important; transform: translateY(-2px); }
.archive.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.6em; }
@media (max-width: 768px) { .archive.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 480px) { .archive.woocommerce ul.products li.product img { height: 200px !important; } }
.archive.woocommerce ul.products li.product .onsale { background: #101218; border: 0; border-radius: 999px; }

/* --- Homepage "Relax" section category buttons — always visible ---
   These were white text on a transparent background (invisible over the white
   product boxes), only turning blue on hover. Make them always-visible blue pills. */
.elementor-element-9039a7d .elementor-button,
.elementor-element-0f8779e .elementor-button,
.elementor-element-4ddcab7 .elementor-button {
	color: #fff !important;
	background-color: #4FBBEC !important;
	border-radius: 999px !important;
	padding: 9px 22px !important;
	font-family: 'Lexend', sans-serif !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	transition: all .18s ease;
}
.elementor-element-9039a7d .elementor-button:hover,
.elementor-element-0f8779e .elementor-button:hover,
.elementor-element-4ddcab7 .elementor-button:hover {
	background-color: #2fa9df !important;
	color: #fff !important;
}

/* --- Homepage Featured Products (JetWooBuilder widget eefd87c) — card design ---
   Uniform-height cards, full (contain) images, aligned content, bottom-aligned
   blue "Select Options" button. */
.elementor-element-eefd87c .jet-woo-products { align-items: stretch; }
.elementor-element-eefd87c .jet-woo-products__item { display: flex !important; }
.elementor-element-eefd87c .jet-woo-products__inner-box { display: flex; flex-direction: column; width: 100%; height: 100%; background: #fff; border: 1px solid #eef1f4; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 26px rgba(16,18,24,.05); transition: transform .2s ease, box-shadow .2s ease; padding-bottom: 24px; text-align: center; }
.elementor-element-eefd87c .jet-woo-products__item:hover .jet-woo-products__inner-box { transform: translateY(-6px); box-shadow: 0 20px 42px rgba(16,18,24,.11); }
.elementor-element-eefd87c .jet-woo-product-thumbnail { height: 240px !important; display: flex; align-items: center; justify-content: center; background: #fff; margin: 0 0 14px !important; padding: 18px 18px 0; }
.elementor-element-eefd87c .jet-woo-product-thumbnail img { width: 100% !important; height: 100% !important; object-fit: contain !important; }
.elementor-element-eefd87c .jet-woo-product-img-overlay { display: none !important; }
.elementor-element-eefd87c .jet-woo-product-categories { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; color: #9aa0a8; padding: 0 18px; margin-bottom: 4px; }
.elementor-element-eefd87c .jet-woo-product-title { font-family: 'Lexend', sans-serif !important; font-size: 17px !important; line-height: 1.3 !important; color: #101218 !important; padding: 0 18px; min-height: 2.6em; margin: 0 0 6px; }
.elementor-element-eefd87c .jet-woo-product-price, .elementor-element-eefd87c .jet-woo-product-price .price { padding: 0 18px; }
.elementor-element-eefd87c .jet-woo-product-excerpt { font-size: 13.5px; line-height: 1.6; color: #7a7f87; padding: 0 18px; margin: 8px 0 0; }
.elementor-element-eefd87c .jet-woo-product-button { margin-top: auto; padding-top: 16px; }
.elementor-element-eefd87c .jet-woo-product-button .button { display: inline-block !important; background: #4FBBEC !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; font-family: 'Lexend', sans-serif !important; font-weight: 600 !important; font-size: 13px !important; padding: 10px 24px !important; transition: all .18s ease; }
.elementor-element-eefd87c .jet-woo-product-button .button:hover { background: #2fa9df !important; transform: translateY(-2px); }
@media (max-width: 520px) { .elementor-element-eefd87c .jet-woo-product-thumbnail { height: 190px !important; } }
