@charset "UTF-8";

/*
	Theme Name: Ustone Child Theme
	Theme URI: https://themeforest.net/user/gloriathemes
	Description: Ustone Child Theme
	Author: Gloria Themes
	Author URI: https://gloriathemes.com/
	Template: ustone
	License: GNU General Public License v2 or later
	License URI: http://www.gnu.org/licenses/gpl-2.0.html
	Text Domain: ustone
	Version: 1.0.0
*/
/* Editorial product grid: let the banner row span the full grid width.
   Without this the row shrink-wraps to the image's intrinsic width and
   leaves the right side of the box empty. */
.product-grid[data-editorial-grid] .grid-row {
	width: 100%;
}

/* The theme only sets this width above 1024px, so on tablet the banner
   shrink-wraps and leaves the right of the box empty. Fill at every width. */
.product-grid[data-editorial-grid] .grid-categories {
	width: 100%;
}

/* Category banners over card artwork: the images are busy and bright, so
   darken them and force white copy. Add a section id here to include it. */
.elementor-element-ebfff94 .banner .banner-media,
.elementor-element-4516af5 .banner .banner-media {
	position: relative;
}

.elementor-element-ebfff94 .banner .banner-media::after,
.elementor-element-4516af5 .banner .banner-media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	transition: background 0.3s ease;
}

/* Three-up banners: copy sits low, so fade downwards. */
.elementor-element-ebfff94 .banner .banner-media::after {
	background: linear-gradient(rgba(2, 10, 25, 0.30), rgba(2, 10, 25, 0.58));
}

.elementor-element-ebfff94 .banner:hover .banner-media::after {
	background: linear-gradient(rgba(2, 10, 25, 0.42), rgba(2, 10, 25, 0.68));
}

/* Wide banner: copy sits in the left third, so fade left to right and let
   the card artwork stay visible on the right. */
.elementor-element-4516af5 .banner .banner-media::after {
	background: linear-gradient(to right,
		rgba(2, 10, 25, 0.78) 0%,
		rgba(2, 10, 25, 0.66) 25%,
		rgba(2, 10, 25, 0.34) 50%,
		rgba(2, 10, 25, 0.10) 72%,
		rgba(2, 10, 25, 0) 88%);
}

.elementor-element-4516af5 .banner:hover .banner-media::after {
	background: linear-gradient(to right,
		rgba(2, 10, 25, 0.86) 0%,
		rgba(2, 10, 25, 0.74) 25%,
		rgba(2, 10, 25, 0.44) 50%,
		rgba(2, 10, 25, 0.16) 72%,
		rgba(2, 10, 25, 0) 90%);
}

.elementor-element-ebfff94 .banner .entry-subtitle,
.elementor-element-ebfff94 .banner .entry-title,
.elementor-element-ebfff94 .banner p,
.elementor-element-ebfff94 .banner .banner-action a,
.elementor-element-4516af5 .banner .entry-subtitle,
.elementor-element-4516af5 .banner .entry-title,
.elementor-element-4516af5 .banner p,
.elementor-element-4516af5 .banner .banner-action a,
.elementor-element-7679019 .banner .entry-subtitle,
.elementor-element-7679019 .banner .entry-title,
.elementor-element-7679019 .banner p,
.elementor-element-7679019 .banner .banner-action a {
	color: #FFFFFF !important;
}

/* The theme's .opacity-50 utility is !important, so match it to stop the
   eyebrow label rendering as grey instead of white. */
.elementor-element-ebfff94 .banner .entry-subtitle,
.elementor-element-4516af5 .banner .entry-subtitle,
.elementor-element-7679019 .banner .entry-subtitle {
	opacity: 0.9 !important;
}

/* =========================================================
   Feature section (a4a466a)
   Image left, copy right. No panel, no boxes, white
   background, Pokemon palette, compact height.
   ========================================================= */
/* Vertical padding only. Setting the shorthand here wipes out the
   container's side gutter and the copy runs to the screen edge. */
.elementor-element-a4a466a {
	background: transparent !important;
	padding-block: 44px !important;
}

.elementor-element-a4a466a > .e-con-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(20px, 3vw, 44px);
	padding: 0 !important;
	background: none !important;
	box-shadow: none;
	border-radius: 0;
}

.elementor-element-a4a466a .elementor-element-2206f2e {
	flex: 1 1 460px;
	min-width: 0;
}

.elementor-element-a4a466a .elementor-element-e0c4e1f {
	flex: 1 1 380px;
	min-width: 0;
	/* Elementor puts a 56px gap between the header and the feature list,
	   which reads as dead space. Spacing is set on the list instead. */
	gap: 0 !important;
}

/* The PNG is already transparent. No shadow or filter here, or it
   renders as a grey slab behind the cards on the white page. */
.elementor-element-a4a466a .elementor-element-b17a746 img {
	width: 100%;
	height: auto;
	display: block;
}

/* Heading in Pokemon blue with a short yellow rule beneath. */
.elementor-element-a4a466a .module-header .entry-title {
	color: #E95406 !important;
	font-size: clamp(24px, 2.5vw, 34px) !important;
	line-height: 1.16 !important;
	letter-spacing: -0.015em;
	margin-bottom: 12px !important;
}

.elementor-element-a4a466a .module-header .entry-title::after {
	content: "";
	display: block;
	width: 54px;
	height: 4px;
	margin-top: 12px;
	border-radius: 2px;
	background: #FFCB05;
}

.elementor-element-a4a466a .entry-description,
.elementor-element-a4a466a .entry-description p {
	color: #4B5563 !important;
	font-size: 15px;
	line-height: 1.62;
	margin: 0;
}

/* Features as a single compact list beside the artwork. */
.elementor-element-a4a466a .elementor-element-59c630c {
	display: flex !important;
	flex-direction: column;
	gap: 9px;
	margin-top: 26px;
}

.elementor-element-a4a466a .elementor-element-59c630c > .elementor-widget {
	margin: 0 !important;
	width: auto !important;
	padding: 0;
}

.elementor-element-a4a466a .iconbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

/* Bare check marks in Pokemon red, no tinted chip behind them. */
.elementor-element-a4a466a .iconbox-icon svg rect {
	fill: transparent !important;
}

.elementor-element-a4a466a .iconbox-icon svg path {
	stroke: #EE1515 !important;
	stroke-width: 2.6 !important;
}

.elementor-element-a4a466a .iconbox-detail .entry-title {
	color: #1F2937 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	font-weight: 500 !important;
	margin: 0 !important;
}

@media (max-width: 767px) {
	.elementor-element-a4a466a {
		padding-block: 28px !important;
	}

	.elementor-element-a4a466a .elementor-element-2206f2e {
		flex-basis: 100%;
	}
}

/* =========================================================
   Mobile: two products per row instead of one, on every
   product grid (shop, category archives, widgets).
   The theme's .grid-cols-1 utility has no !important, so a
   body-scoped selector is enough to win.
   ========================================================= */
@media (max-width: 767px) {
	body .products.grid.grid-cols-1,
	body .products-elementor .products.grid-cols-1,
	body div.products.grid-cols-1 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	/* Cards are half as wide now, so stop the text overflowing. */
	.product .product-title,
	.product .product-title a {
		font-size: 12px !important;
		line-height: 1.3 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	.product .price,
	.product .woocommerce-Price-amount {
		font-size: 11px !important;
		white-space: normal !important;
		word-break: break-word !important;
	}

	.product .product-category {
		font-size: 10px !important;
	}
}

/* =========================================================
   Footer: the theme ships ~440px of row padding, which left
   it very tall for the amount of content. Trim it and close
   the empty fifth widget column.
   ========================================================= */
.footer .footer-row.footer-contact {
	padding-block: 28px !important;
}

.footer .footer-row.footer-newsletter {
	padding-block: 32px !important;
}

.footer .footer-row.footer-widgets {
	padding-block: 36px !important;
}

.footer .footer-row.footer-socials {
	padding-block: 22px !important;
}

.footer .footer-row.footer-copyright {
	padding-top: 18px !important;
	padding-bottom: 26px !important;
}

/* Only four widget columns are populated; the grid reserves five. */
.footer .footer-widgets .footer-inner {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 767px) {
	.footer .footer-widgets .footer-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Popular Categories: the mobile grid is two up, so a seventh tile
   is left stranded on its own row. Show six on mobile. */
@media (max-width: 767px) {
	.elementor-element-e2217a3 .grid > .category-box:nth-child(n+7) {
		display: none;
	}
}

/* No logo image is set, so the theme falls back to printing the site
   title in the header. Hide it until a real logo is uploaded. */
.header .brand-text {
	display: none !important;
}

/* =========================================================
   Product cards: titles and rating rows vary in height, so
   the price and Add to Cart drifted up and down across a row.
   Stretch each card and pin the price/button block to the
   bottom so they line up.
   ========================================================= */
/* Excludes .product-list, the horizontal search-dropdown rows, which
   must keep their side-by-side layout. */
.products .product:not(.product-list) {
	display: flex;
}

.products .product:not(.product-list) > .product-inner {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.products .product:not(.product-list) .product-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}

.products .product:not(.product-list) .product-cart-detail {
	margin-top: auto;
}

/* Editorial grids wrap each card in a .grid-product-item cell that does
   not pass the stretched height down, so those rows stayed misaligned. */
.grid-product-item {
	display: flex;
}

.grid-product-item > .product {
	width: 100%;
}

/* =========================================================
   Inner-page title bar: darken the artwork so the white
   heading and breadcrumbs stay readable over it.
   The background sits in its own layer at z-index -1, so the
   overlay goes inside it and never covers the text.
   ========================================================= */
.page-header {
	position: relative;
}

.page-header .page-header-background::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(rgba(2, 10, 25, 0.52), rgba(2, 10, 25, 0.62));
	pointer-events: none;
}

.page-header .entry-title,
.page-header h1,
.page-header .page-title,
.page-header .entry-subtitle,
.page-header .breadcrumb,
.page-header .breadcrumb a,
.page-header .breadcrumb span,
.page-header p {
	color: #FFFFFF !important;
}

/* Logo is a 2:1 lockup; the theme's fixed logo height squashed it.
   Keep the aspect ratio and cap the size instead. */
.header .brand img,
.menu-drawer .brand img,
.mobile-header .brand img {
	width: auto !important;
	height: auto !important;
	max-height: 92px !important;
	max-width: 300px !important;
	object-fit: contain;
}

@media (max-width: 767px) {
	.header .brand img,
	.menu-drawer .brand img,
	.mobile-header .brand img {
		max-height: 52px !important;
		max-width: min(172px, calc(100vw - 204px)) !important;
	}
}

/* The bigger logo needs a taller header row, or it overflows the bar. */
.header .header-row.header-main {
	min-height: 108px;
}

.header .header-row.header-main .brand {
	display: flex;
	align-items: center;
}

@media (max-width: 767px) {
	.header .header-row.header-main {
		min-height: 78px;
	}
}

/* Nudge the logo down slightly within the header bar. */
.header .header-row.header-main .brand img {
	transform: translateY(8px);
}

/* =========================================================
   Hero: soft dark scrim behind the copy so it reads against
   the busy artwork. Radial so it has no edges of its own,
   it simply fades to nothing before the container ends.
   ========================================================= */
.elementor-element-576429c > .e-con-inner {
	position: relative;
}

.elementor-element-576429c > .e-con-inner::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: min(1000px, 96%);
	height: 100%;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(closest-side,
		rgba(3, 10, 22, 0.66) 0%,
		rgba(3, 10, 22, 0.58) 45%,
		rgba(3, 10, 22, 0.32) 72%,
		rgba(3, 10, 22, 0) 100%);
}

/* Scrim sits behind the copy only: drop Elementor's full-width 30% overlay. */
.elementor-element-576429c::before {
	display: none !important;
}

.elementor-element-576429c > .e-con-inner > * {
	position: relative;
	z-index: 1;
}

/* =========================================================
   Hero type: the theme ships 82px on a 102px line height,
   which ran to three lines and dominated the page. Bring it
   to a normal hero scale and cap the measure so it wraps to
   two lines instead of three.
   ========================================================= */
.elementor-element-576429c .elementor-heading-title {
	font-size: clamp(30px, 3.9vw, 54px) !important;
	line-height: 1.14 !important;
	letter-spacing: -0.02em;
	max-width: 860px;
	margin-left: auto;
	margin-right: auto;
}

.elementor-element-576429c .elementor-element-494e87a,
.elementor-element-576429c .elementor-element-494e87a p {
	font-size: 17px !important;
	line-height: 1.65 !important;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

/* Section was 760px tall to carry the oversized type. */
.elementor-element-576429c {
	min-height: 560px !important;
}

@media (max-width: 767px) {
	.elementor-element-576429c {
		min-height: 440px !important;
	}

	.elementor-element-576429c .elementor-element-494e87a,
	.elementor-element-576429c .elementor-element-494e87a p {
		font-size: 15px !important;
	}
}

/* Hero background: right-sized variant per breakpoint instead of the 1798px
   original everywhere. Selector mirrors Elementor compiled CSS; !important
   needed to outrank the compiled rule. */
@media (max-width: 768px) {
	.elementor-67 .elementor-element.elementor-element-576429c:not(.elementor-motion-effects-element-type-background) {
		background-image: url("/wp-content/uploads/2026/10/crown-hero-big-768.webp") !important;
		background-position: center bottom !important;
	}
}
@media (min-width: 769px) and (max-width: 1200px) {
	.elementor-67 .elementor-element.elementor-element-576429c:not(.elementor-motion-effects-element-type-background) {
		background-image: url("/wp-content/uploads/2026/10/crown-hero-big-1200.webp") !important;
	}
}

/* ---- accessibility: contrast fixes ----
   The theme's muted grey (#9f9fa9 / #9ca3af) sits at ~2.5:1 on white.
   #57606c holds the same muted role at 5.5:1. */
.product-category,
.product-category a,
.product-category li,
.woocommerce-ordering label,
.price-placeholder {
	color: #57606c !important;
}
.price del .woocommerce-Price-amount {
	color: #6a7280 !important;
}

/* Banner page title rendered as h1 now (was h5); hold the previous scale. */
h1.entry-title {
	font-size: 2rem;
	line-height: 1.2;
}

/* ---- accessibility: touch targets on small screens ---- */
@media (max-width: 768px) {
	.header-topbar a,
	.grid-view,
	.list-view,
	ul.page-numbers a,
	ul.page-numbers span.current {
		min-width: 28px;
		min-height: 28px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* ---- accessibility round 2: remaining contrast ---- */
/* Announcement bar: theme red (#fb2c36) sits under 3.5:1 on its pink strip. */
.announcement p,
.announcement .text-sm,
.announcement .discount-code {
	color: #b91c1c !important;
}
/* Blog card meta ("by Author, date") was 2.5:1 grey. */
.post-meta-item,
.post-meta-item a,
.post-meta {
	color: #57606c !important;
}

/* ---- mobile horizontal overflow fix ----
   The theme's full-width fixed layers (GDPR bar, mobile menu, drawer
   overlay) resolve their width against the viewport including the
   scrollbar gutter, which leaves the page ~15-30px wider than the screen
   on mobile/devtools. Pin them to 100% and clip stray overflow at the
   root. `clip` rather than `hidden` so no new scroll container is created
   and position:sticky keeps working. */
html, body {
	overflow-x: clip;
}
.gdpr,
.mobile-menu,
.drawer-overlay,
.announcement {
	width: 100% !important;
	max-width: 100% !important;
}

/* ---- mobile: center the header logo ----
   On small screens the brand sits in flex flow between the hamburger and
   the action icons, whose unequal widths push it off-center. Take it out
   of the flow and pin it to the true center of the row. */
@media (max-width: 1024px) {
	.header .header-row.header-main .container {
		position: relative;
	}
	.header .header-row.header-main .brand {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		margin: 0;
	}
}

/* ---- checkout/cart form visibility ----
   The theme leaks white text into the block checkout's light-grey inputs,
   making typed text and labels invisible. Force readable colors on all
   form controls inside the checkout and cart blocks. */
.wp-block-woocommerce-checkout input,
.wp-block-woocommerce-checkout select,
.wp-block-woocommerce-checkout textarea,
.wp-block-woocommerce-cart input,
.wc-block-components-text-input input,
.wc-block-components-country-input select,
.wc-block-components-state-input select,
.wc-block-components-combobox input {
	color: #1a1a1a !important;
}
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-block-components-country-input label,
.wp-block-woocommerce-checkout .wc-block-components-state-input label,
.wp-block-woocommerce-checkout .wc-block-components-combobox label,
.wp-block-woocommerce-checkout ::placeholder,
.wp-block-woocommerce-cart ::placeholder {
	color: #57606c !important;
	opacity: 1;
}

/* ---- main nav with 13 items: keep it on one row, no dropdown arrows ---- */
.header-navbar .navigation.navigation-horizontal .menu {
	flex-wrap: nowrap !important;
	gap: 1.6rem !important;
}
.header-navbar .navigation.navigation-horizontal .menu > li > a {
	font-size: 0.8125rem !important;
	letter-spacing: 0.04em !important;
	white-space: nowrap;
	padding-inline: 0.05rem !important;
}
/* the game items brought back submenu indicators; the nav design has none */
.header-navbar .navigation .menu > li > a svg,
.header-navbar .navigation .menu > li > a i[class*="arrow"],
.header-navbar .navigation .menu > li > a .submenu-indicator,
.header-navbar .navigation .menu > li > a .dropdown-icon {
	display: none !important;
}

/* Mobile: the copy spans the full width, so the scrim reaches the edges. */
@media (max-width: 767px) {
	.elementor-element-576429c > .e-con-inner::before {
		width: 124%;
		background: radial-gradient(closest-side,
			rgba(3, 10, 22, 0.66) 0%,
			rgba(3, 10, 22, 0.6) 60%,
			rgba(3, 10, 22, 0.34) 85%,
			rgba(3, 10, 22, 0) 100%);
	}
}

/* Back-to-top button sits bottom-left. */
#backToTop.back-to-top {
	left: 20px !important;
	right: auto !important;
}

/* Homepage "Authentic Pokemon TCG" text column (Oct 22 2026) */
.elementor-element-7d1914c .module-header .column::before{content:"Why collectors shop with us";display:block;font:800 13px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#E95406;margin:0 0 14px}
.elementor-element-7d1914c .entry-title{font-size:40px!important;line-height:1.15!important;letter-spacing:-.01em;color:#003A17!important}
.elementor-element-7d1914c .entry-title em{font-style:normal;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;display:inline!important;color:#E95406}
.elementor-element-7d1914c .entry-description p{color:#4B5567!important;font-size:17px!important;line-height:1.7!important;max-width:560px}
.elementor-element-59c630c{display:grid!important;grid-template-columns:1fr 1fr;gap:0 32px!important}
.elementor-element-59c630c>.elementor-widget{border-top:1px solid #DCE3EC;padding:18px 0 4px}
.elementor-element-59c630c .iconbox{--icon-size:26px!important;--icon-gap:10px!important}
html body .elementor .elementor-element-59c630c .iconbox .iconbox-icon svg rect{fill:none!important;stroke:#E95406!important}
html body .elementor .elementor-element-59c630c .iconbox .iconbox-icon svg path{stroke:#E95406!important;stroke-width:2.4!important}
.elementor-element-59c630c .iconbox-detail .entry-title{font:400 15px/1.5 Manrope,sans-serif!important;color:#4B5567!important}
.elementor-element-59c630c .iconbox-detail .entry-title b{display:block;font-weight:800;font-size:16px;color:#003A17;margin-bottom:2px}
.crx-cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.crx-cta .crx-btn{background:#003A17;color:#fff;font:700 15px/1 Manrope,sans-serif;padding:16px 26px;border-radius:999px;text-decoration:none;transition:background .2s}
.crx-cta .crx-btn:hover{background:#E95406;color:#fff}
.crx-cta .crx-link{color:#003A17;font:700 15px/1 Manrope,sans-serif;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#FFCB05;text-decoration-thickness:2px}
@media(max-width:1024px){.elementor-element-7d1914c .entry-title{font-size:32px!important}}
@media(max-width:767px){.elementor-element-59c630c{grid-template-columns:1fr}.elementor-element-7d1914c .entry-title{font-size:28px!important}}
.elementor-67 .elementor-element.elementor-element-59c630c{display:grid!important;grid-template-columns:1fr 1fr;gap:0 32px!important}
@media(max-width:767px){.elementor-67 .elementor-element.elementor-element-59c630c{grid-template-columns:1fr}}

/* Chatway launcher on mobile: no blue circle (white icon only), lifted above the 72px bottom menu (Oct 22 2026) */
@media (max-width:768px){
.chatway--trigger-container{bottom:86px!important;right:16px!important}
html body .chatway--trigger-container .chatway-launcher,html body .chatway--trigger-container .chatway-launcher .launcher-icon{background:transparent!important;background-color:transparent!important;box-shadow:none!important}
html body .chatway--trigger-container .chatway-launcher .launcher-icon{color:#E95406!important}
html body .chatway--trigger-container .launcher-icon svg path{fill:#E95406!important}
.chatway--frame-container.chatway--preview--only--container{bottom:156px!important}
#nitc-cm{bottom:156px!important;right:16px!important}
}

/* Chatway launcher on all screens: blue icon only, no circle (Oct 22 2026) */
html body .chatway--trigger-container .chatway-launcher,html body .chatway--trigger-container .chatway-launcher .launcher-icon{background:transparent!important;background-color:transparent!important;box-shadow:none!important}
html body .chatway--trigger-container .chatway-launcher .launcher-icon{color:#E95406!important}
html body .chatway--trigger-container .launcher-icon svg path{fill:#E95406!important}

/* Crown chat button: theme pushed the wrapper full-width/left (Oct 22 2026) */
html body .crown-fab{left:auto!important;width:58px!important;height:58px!important;margin:0!important;padding:0!important}

/* About page: "Crown Difference" feature boxes as cards (Oct 22 2026) */
.elementor-37 .elementor-element-573e128{padding-top:72px!important;padding-bottom:72px!important}
.elementor-37 .elementor-element-573e128>.e-con-inner{gap:20px!important;max-width:1200px}
.elementor-37 .elementor-element-573e128 .elementor-widget-ustone-icon-box,.elementor-37 .elementor-element-573e128 .elementor-widget-container{height:100%}
.elementor-37 .elementor-element-573e128 .iconbox{height:100%;box-sizing:border-box;align-items:flex-start!important;text-align:left!important;background:#fff;border:1px solid #E3E8EF;border-radius:18px;padding:30px 26px 28px;box-shadow:0 14px 34px -24px rgba(20,33,61,.45);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;--icon-size:30px!important;--icon-gap:18px!important}
.elementor-37 .elementor-element-573e128 .iconbox:hover{transform:translateY(-4px);border-color:#C9D7E8;box-shadow:0 22px 40px -24px rgba(20,33,61,.55)}
.elementor-37 .elementor-element-573e128 .iconbox-icon svg{width:30px!important;height:30px!important;fill:#E95406!important}
.elementor-37 .elementor-element-573e128 .iconbox-detail .entry-title{font:800 18px/1.3 Manrope,sans-serif!important;color:#003A17!important;margin:0 0 8px!important}
.elementor-37 .elementor-element-573e128 .iconbox-detail p{font:400 15px/1.65 Manrope,sans-serif!important;color:#5B6577!important;margin:0!important}
@media (max-width:1024px){.elementor-37 .elementor-element-573e128>.e-con-inner{grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:767px){.elementor-37 .elementor-element-573e128>.e-con-inner{grid-template-columns:1fr!important;gap:14px!important}.elementor-37 .elementor-element-573e128{padding-top:48px!important;padding-bottom:48px!important}}
@media (prefers-reduced-motion:reduce){.elementor-37 .elementor-element-573e128 .iconbox{transition:none}}

/* About page header: shorter (was min-height 630px) (Oct 22 2026) */
.elementor-37 .elementor-element-547153d{min-height:420px!important;--min-height:420px!important}
@media (max-width:1024px){.elementor-37 .elementor-element-547153d{min-height:380px!important;--min-height:380px!important}}
@media (max-width:767px){.elementor-37 .elementor-element-547153d{min-height:0!important;--min-height:0px!important;padding:56px 0!important}}

/* Contact page redesign v2: no banner, light cards (Oct 22 2026) */
.elementor-29 .elementor-element-2ea493d{background:none!important;padding:72px 24px 8px!important;margin:0!important}
.elementor-29 .elementor-element-2ea493d .module-header{justify-content:center!important;text-align:center!important}
.elementor-29 .elementor-element-2ea493d .module-header .column{max-width:760px;margin:0 auto;text-align:center}
.elementor-29 .elementor-element-2ea493d .module-header .column::before{content:"Contact us";display:block;font:800 13px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#E95406;margin:0 0 16px}
.elementor-29 .elementor-element-2ea493d .entry-title{color:#003A17!important;font:800 clamp(30px,3.6vw,46px)/1.12 Manrope,sans-serif!important;letter-spacing:-.01em;margin:0 0 14px!important}
.elementor-29 .elementor-element-2ea493d .entry-description,.elementor-29 .elementor-element-2ea493d .entry-description p{color:#4B5567!important;font-size:17px!important;line-height:1.65!important;margin:0 auto!important}
.elementor-29 .elementor-element-4107b96{display:none!important}
.elementor-29 .elementor-element-7f4bb15{padding:48px 24px 80px!important;background:#fff}
.elementor-29 .elementor-element-7f4bb15>.e-con-inner{max-width:1200px;display:grid!important;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)!important;gap:28px!important;align-items:stretch!important}
.elementor-29 .elementor-element-feda795,.elementor-29 .elementor-element-fb74a4b{width:auto!important;max-width:none!important;flex:none!important;--width:auto!important;border-radius:20px;padding:38px 36px!important;border:1px solid #E3E8EF}
.elementor-29 .elementor-element-feda795{background:#F4F7FB}
.elementor-29 .elementor-element-fb74a4b{background:#fff;box-shadow:0 18px 40px -26px rgba(20,33,61,.45)}
.elementor-29 .elementor-element-87cc39e .elementor-heading-title{font:800 26px/1.2 Manrope,sans-serif!important;color:#003A17!important}
.elementor-29 .elementor-element-811f25f,.elementor-29 .elementor-element-811f25f p{font-size:16px!important;line-height:1.7!important;color:#4B5567!important;margin:0}
.elementor-29 .crown-ci li{border-top:1px solid #DCE3EC}
.elementor-29 .crown-ci svg{color:#E95406}
.elementor-29 .crown-ci .crown-ci-k{color:#5B6577}
.elementor-29 .crown-ci a,.elementor-29 .crown-ci p,.elementor-29 .crown-ci .crown-ci-chat{color:#003A17;overflow-wrap:anywhere}
.elementor-29 .crown-ci a:hover,.elementor-29 .crown-ci .crown-ci-chat:hover{color:#E95406}
.elementor-29 .elementor-element-6f714a0,.elementor-29 .elementor-element-6f714a0 p{font-size:16px!important;line-height:1.65!important;color:#4B5567!important;margin-bottom:6px}
.elementor-29 .wpcf7 label{display:block;font:700 14px/1.3 Manrope,sans-serif;color:#003A17;margin:0 0 8px}
.elementor-29 .wpcf7 .mb-3{margin-bottom:18px!important}
.elementor-29 .wpcf7 input[type=text],.elementor-29 .wpcf7 input[type=email],.elementor-29 .wpcf7 textarea{width:100%;box-sizing:border-box;border:1px solid #D6DEE8!important;border-radius:12px!important;background:#F8FAFC!important;padding:13px 16px!important;font:400 15px/1.5 Manrope,sans-serif;color:#14213D;transition:border-color .2s,box-shadow .2s,background .2s}
.elementor-29 .wpcf7 textarea{min-height:150px;resize:vertical}
.elementor-29 .wpcf7 input[type=text]:focus,.elementor-29 .wpcf7 input[type=email]:focus,.elementor-29 .wpcf7 textarea:focus{outline:none;border-color:#E95406!important;background:#fff!important;box-shadow:0 0 0 4px rgba(233,84,6,.15)}
.elementor-29 .wpcf7 input[type=submit]{background:#003A17!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:15px 30px!important;font:700 15px/1 Manrope,sans-serif!important;cursor:pointer;transition:background .2s}
.elementor-29 .wpcf7 input[type=submit]:hover{background:#E95406!important}
.elementor-29 .elementor-element-f9f8a1b{padding:36px 24px!important;background:#fff!important;border-top:1px solid #E6EBF2}
.elementor-29 .elementor-element-f9f8a1b .iconbox-icon svg{color:#E95406}
.elementor-29 .elementor-element-f9f8a1b .entry-title{color:#003A17!important;font-weight:800!important}
@media (max-width:1024px){.elementor-29 .elementor-element-7f4bb15>.e-con-inner{grid-template-columns:minmax(0,1fr)!important}}
@media (max-width:767px){.elementor-29 .elementor-element-2ea493d{padding:44px 16px 4px!important}.elementor-29 .elementor-element-7f4bb15{padding:28px 16px 48px!important}.elementor-29 .elementor-element-feda795,.elementor-29 .elementor-element-fb74a4b{padding:28px 22px!important}}
.elementor-29 .elementor-element-feda795{justify-content:flex-start!important;--justify-content:flex-start!important}
.elementor-29 .elementor-element-feda795 .elementor-element-811f25f{margin-bottom:0!important;--margin-bottom:0px!important}
.elementor-29 .crown-ci{margin-top:6px}
