/* Cosmos Child: site-level fixes on top of Astra. Keep this file small. */

/* Prices must never break between the currency symbol and the amount (e.g. "ARS" / "0"). */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi {
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

/* Header cart: keep the total on one line and stop the flex column from squeezing it. */
.ast-site-header-cart .ast-woo-header-cart-info-wrap,
.ast-site-header-cart .ast-woo-header-cart-total {
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

.ast-header-woo-cart,
.ast-site-header-cart,
.ast-site-header-cart .cart-container {
	flex-shrink: 0;
}

/* Homepage hero heading: Elementor sets a fixed 60px for every device. Desktop (>1024px) is left untouched.
   Element ID belongs to page 1007's hero heading; update it if the hero is rebuilt. */
body .elementor-1007 .elementor-element.elementor-element-27576c5 .elementor-heading-title {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

@media (max-width: 1024px) {
	body .elementor-1007 .elementor-element.elementor-element-27576c5 .elementor-heading-title {
		font-size: clamp(2.75rem, 6.2vw, 3.75rem);
		line-height: 1.15;
	}
}

@media (max-width: 767px) {
	body .elementor-1007 .elementor-element.elementor-element-27576c5 .elementor-heading-title {
		font-size: clamp(2rem, 10vw, 3rem);
		line-height: 1.15;
	}
}

/* Homepage hero (page 1007): client's background pattern, used exactly as supplied; the stock photo column is hidden.
   Element IDs belong to page 1007's hero; update them if the hero is rebuilt. */
body .elementor-1007 .elementor-element.elementor-element-62a94f2 {
	background: #0a0a0a url("../img/hero-cosmos.jpg") center / cover no-repeat;
	padding-top: 96px;
	padding-bottom: 96px;
}

body .elementor-1007 .elementor-element.elementor-element-f2fbe2e {
	display: none;
}

body .elementor-1007 .elementor-element.elementor-element-c1b8db2 {
	--width: 100%;
	width: 100%;
	max-width: 680px;
}

body .elementor-1007 .elementor-element.elementor-element-27576c5 .elementor-heading-title {
	color: #ffffff;
}

body .elementor-1007 .elementor-element.elementor-element-43648cd,
body .elementor-1007 .elementor-element.elementor-element-43648cd p {
	color: rgba(255, 255, 255, 0.82);
	text-shadow: none;
}

body .elementor-1007 .elementor-element.elementor-element-787687d .elementor-button {
	background-color: #ffffff;
	color: #111827;
}

@media (max-width: 767px) {
	body .elementor-1007 .elementor-element.elementor-element-62a94f2 {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}
/* Footer bottom row: Astra gives it no side padding on desktop (32px on tablet), so the copyright touches the
   screen edge until the 1200px container fits. Match the main footer row's 40px; mobile keeps Astra's values. */
@media (min-width: 545px) { .site-footer .site-below-footer-wrap[data-section="section-below-footer-builder"] { padding-left: 40px; padding-right: 40px; } }
/* Logo: Astra's responsive logo width is 40px on tablet/mobile, which makes it unreadable. */
@media (max-width: 921px) {
	header .site-branding .custom-logo-link img,
	.ast-header-break-point .site-branding .custom-logo-link img {
		width: 130px;
		max-width: 130px;
	}
}

@media (max-width: 544px) {
	header .site-branding .custom-logo-link img,
	.ast-header-break-point .site-branding .custom-logo-link img {
		width: 110px;
		max-width: 110px;
	}
}