/* Gorsentam Modern UI Bundle */
/* Generated from in-template modern UI styles for maintainability. */

/* Source: catalog/view/template/common/header.twig */
		:root {
			--site-primary: #80c41c;
			--site-text: #2b2b2b;
			--site-white: #ffffff;
			--site-soft-green: #d1e4b8;
			--site-soft-pink: #e5c0b8;
			--site-gray: #a9a9a9;
			--site-border: #dfdfdf;
			--site-surface: #f9f9f9;
			--site-shadow: 0 22px 48px rgba(43, 43, 43, 0.08);
		}

		body {
			background: var(--site-surface);
		}

		#top-bar.site-topbar {
			background: var(--site-white);
			border: 0;
			border-bottom: 1px solid rgba(43, 43, 43, 0.08);
			padding-top: 0;
			position: relative;
			z-index: 320;
			overflow: visible;
		}

		#top-bar.site-topbar > .container {
			width: min(100%, 1320px);
			max-width: 1320px;
			padding-left: 1.35rem;
			padding-right: 1.35rem;
		}

		.site-header-modern #header-wrap > .container {
			width: min(100%, 1320px);
			max-width: 1320px;
			padding-left: 1.35rem;
			padding-right: 1.35rem;
		}

		.site-topbar-shell {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 1rem;
			min-height: 64px;
			padding: 0.7rem 0;
			background: transparent;
			border: 0;
			border-radius: 0;
			box-shadow: none;
			overflow: visible;
		}

		.site-topbar-copy {
			display: flex;
			align-items: center;
			flex: 1 1 auto;
			min-width: 0;
			position: relative;
			padding-left: 1rem;
		}

		.site-topbar-copy::before {
			content: "";
			position: absolute;
			left: 0;
			top: 50%;
			width: 4px;
			height: 24px;
			border-radius: 999px;
			background: var(--site-primary);
			transform: translateY(-50%);
		}

		.site-topbar-actions {
			display: flex;
			align-items: center;
			gap: 0.7rem;
			justify-content: flex-end;
			flex-wrap: wrap;
			flex: 0 0 auto;
			position: relative;
			z-index: 330;
			overflow: visible;
		}

		.site-topbar-text {
			margin: 0;
			color: #5a5a5a;
			font-size: 0.92rem;
			font-weight: 600;
			line-height: 1.5;
			letter-spacing: 0.01em;
		}

		.site-top-links .top-links-container {
			display: flex;
			flex-wrap: nowrap;
			align-items: center;
			justify-content: flex-end;
			gap: 0.45rem;
			margin: 0;
			padding: 0;
			list-style: none;
			overflow: visible;
		}

		.site-top-links .top-links-item {
			position: relative;
			margin: 0;
			overflow: visible;
		}

		.site-top-links .top-links-item > a {
			display: inline-flex;
			align-items: center;
			gap: 0.45rem;
			min-height: 2.5rem;
			padding: 0.5rem 0.9rem;
			background: transparent;
			border: 0;
			border-radius: 0.95rem;
			color: var(--site-text);
			font-size: 0.88rem;
			font-weight: 600;
			text-decoration: none;
			white-space: nowrap;
			transition: background 0.2s ease, color 0.2s ease;
		}

		.site-top-links .top-links-item > a:hover {
			background: #f5f9ef;
			color: var(--site-text);
		}

		.site-top-links .top-links-item img {
			width: 18px;
			height: 18px;
			border-radius: 50%;
			object-fit: cover;
		}

		.site-top-links .top-links-sub-menu {
			min-width: 220px;
			margin-top: 0.55rem;
			padding: 0.55rem;
			background: var(--site-white);
			border: 1px solid var(--site-border);
			border-radius: 1rem;
			box-shadow: var(--site-shadow);
			z-index: 500;
		}

		.site-top-links .top-links-sub-menu .top-links-item + .top-links-item {
			margin-top: 0.2rem;
		}

		.site-top-links .top-links-sub-menu .top-links-item > a {
			display: flex;
			width: 100%;
			border: 0;
			border-radius: 0.85rem;
			padding: 0.7rem 0.8rem;
			background: transparent;
		}

		.site-top-links .top-links-sub-menu .top-links-item > a:hover {
			background: var(--site-soft-green);
			transform: none;
		}

		.site-topbar-support {
			display: inline-flex;
			align-items: center;
			gap: 0.7rem;
			min-height: 2.8rem;
			padding: 0.28rem 0.9rem 0.28rem 0.32rem;
			background: #f5f9ef;
			border: 1px solid rgba(128, 196, 28, 0.22);
			border-radius: 999px;
			color: var(--site-text);
			text-decoration: none;
			white-space: nowrap;
		}

		.site-topbar-support:hover {
			color: var(--site-text);
			background: var(--site-soft-green);
		}

		.site-topbar-support .header-action-icon {
			width: 2.2rem;
			height: 2.2rem;
			background: var(--site-primary);
		}

		.site-topbar-support .header-action-copy small {
			font-size: 0.68rem;
		}

		.site-topbar-support .header-action-copy strong {
			font-size: 0.9rem;
		}

		.site-topbar-actions .header-action-pill,
		.site-topbar-actions .site-mini-cart-trigger {
			min-height: 2.8rem;
			padding-top: 0.28rem;
			padding-bottom: 0.28rem;
		}

		.site-topbar-actions .header-action-pill {
			padding-left: 0.32rem;
			padding-right: 0.82rem;
		}

		.site-topbar-actions .site-mini-cart-trigger {
			padding-left: 0.32rem;
			padding-right: 0.82rem;
		}

		.site-topbar-actions .header-action-icon {
			width: 2.2rem;
			height: 2.2rem;
		}

		.site-topbar-actions .header-action-copy small {
			font-size: 0.68rem;
		}

		.site-topbar-actions .header-action-copy strong {
			font-size: 0.9rem;
		}

		#header.site-header-modern {
			background: transparent;
			border: 0;
		}

		.site-header-modern #header-wrap {
			margin-top: 0;
			background: var(--site-white);
			border-top: 0;
			border-bottom: 1px solid var(--site-border);
			border-left: 0;
			border-right: 0;
			border-radius: 0;
			box-shadow: none;
			overflow: visible;
			transition: background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease, backdrop-filter 0.22s ease;
		}

		.site-header-modern:not(.is-scrolled) #header-wrap {
			background: transparent;
			border-bottom-color: transparent;
			box-shadow: none;
			backdrop-filter: none;
		}

		.site-header-modern.is-scrolled #header-wrap,
		.site-header-modern.sticky-header #header-wrap {
			background: rgba(255, 255, 255, 0.96);
			border-bottom-color: rgba(43, 43, 43, 0.08);
			box-shadow: 0 10px 24px rgba(43, 43, 43, 0.06);
			-webkit-backdrop-filter: blur(10px);
			backdrop-filter: blur(10px);
		}

		.site-header-modern .header-row {
			display: grid;
			grid-template-columns: auto minmax(0, 1fr) auto;
			align-items: center;
			min-height: 88px;
			gap: 0.6rem;
			padding: 0;
			overflow: visible;
		}

		.site-header-modern #logo {
			display: flex;
			align-items: center;
			height: auto !important;
			min-width: 0;
		}

		.site-header-modern #logo a {
			display: inline-flex;
			align-items: center;
			gap: 0.9rem;
			text-decoration: none;
		}

		.site-header-modern .logo-default {
			width: auto;
			max-width: 250px;
			max-height: 70px;
			object-fit: contain;
		}

		.site-logo-fallback {
			color: var(--site-text);
			font-size: 1.4rem;
			font-weight: 800;
			letter-spacing: -0.02em;
		}

		.header-navigation-shell {
			display: flex;
			flex: 1 1 auto;
			min-width: 0;
			overflow: visible;
			justify-content: stretch;
			position: relative;
			z-index: 40;
			padding: 0 0.15rem;
		}

		.header-navigation-shell .primary-menu {
			display: flex;
			align-items: center;
			justify-content: stretch;
			width: 100%;
			overflow: visible;
		}

		.header-navigation-shell .menu-container {
			display: flex;
			flex-wrap: nowrap !important;
			align-items: center;
			justify-content: space-between;
			width: min(100%, 940px);
			max-width: 940px;
			margin: 0 auto;
			padding: 0 0.35rem;
			gap: 0.08rem;
			overflow: visible;
		}

		.header-navigation-shell .menu-item {
			flex: 0 0 auto;
			margin: 0;
			padding: 0 0.04rem;
		}

		.header-navigation-shell .menu-item.has-children {
			position: relative;
		}

		.header-navigation-shell .menu-link {
			display: inline-flex;
			align-items: center;
			min-height: 2.8rem;
			padding: 0.72rem 0.88rem;
			border-radius: 999px;
			color: var(--site-text);
			font-size: 0.9rem;
			font-weight: 600;
			white-space: nowrap;
			transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
		}

		.header-navigation-shell .menu-link > div {
			display: flex;
			align-items: center;
			justify-content: flex-start;
			gap: 0.5rem;
			width: 100%;
			white-space: nowrap;
		}

		.header-navigation-shell > .primary-menu > .menu-container > .menu-item > .menu-link > div {
			width: auto;
		}

		.header-navigation-shell .menu-link > div > span {
			display: inline !important;
			color: inherit;
		}

		.header-navigation-shell .menu-link div > i.sub-menu-indicator {
			display: none !important;
		}

		.header-navigation-shell .menu-item.has-children > .menu-link > div::after {
			content: "";
			flex: 0 0 auto;
			width: 0.48rem;
			height: 0.48rem;
			margin-top: -0.1rem;
			border-right: 2px solid rgba(43, 43, 43, 0.56);
			border-bottom: 2px solid rgba(43, 43, 43, 0.56);
			transform: rotate(45deg);
			transition: transform 0.2s ease, border-color 0.2s ease;
		}

		.header-navigation-shell .menu-link:hover {
			background: var(--site-soft-green);
			color: var(--site-text);
			transform: translateY(-1px);
		}

		.header-navigation-shell .menu-item.has-children:hover > .menu-link > div::after,
		.header-navigation-shell .menu-item.has-children.menu-item-hover > .menu-link > div::after {
			border-color: #4b6f26;
		}

		.header-navigation-shell > .primary-menu > .menu-container > .menu-item.has-children:hover > .menu-link > div::after,
		.header-navigation-shell > .primary-menu > .menu-container > .menu-item.has-children.menu-item-hover > .menu-link > div::after {
			transform: rotate(225deg);
		}

		.header-navigation-shell .sub-menu-container {
			min-width: 250px;
			padding: 0.65rem;
			background: var(--site-white);
			border: 1px solid var(--site-border);
			border-radius: 1.15rem;
			box-shadow: var(--site-shadow);
		}

		.is-expanded-menu .header-navigation-shell .primary-menu:not(.on-click) .menu-item:not(.mega-menu) > .sub-menu-container {
			margin-top: 0 !important;
		}

		.header-navigation-shell > .primary-menu > .menu-container > .menu-item > .sub-menu-container {
			top: calc(100% - 0.15rem);
		}

		.header-navigation-shell > .primary-menu > .menu-container > .menu-item > .sub-menu-container::before,
		.header-navigation-shell .sub-menu-container .sub-menu-container::before {
			content: "";
			position: absolute;
			background: transparent;
		}

		.header-navigation-shell > .primary-menu > .menu-container > .menu-item > .sub-menu-container::before {
			top: -0.95rem;
			left: 0;
			width: 100%;
			height: 1rem;
		}

		.header-navigation-shell .sub-menu-container .menu-link {
			display: flex;
			align-items: center;
			width: 100%;
			min-height: 0;
			padding: 0.75rem 0.85rem;
			border-radius: 0.9rem;
			font-size: 0.88rem;
			font-weight: 600;
		}

		.header-navigation-shell .sub-menu-container .menu-link > div {
			justify-content: space-between;
			gap: 1rem;
			text-align: left;
		}

		.header-navigation-shell .sub-menu-container .menu-item.has-children > .menu-link {
			font-weight: 600;
		}

		.header-navigation-shell .sub-menu-container .menu-item.has-children > .menu-link > div::after {
			width: 0.38rem;
			height: 0.38rem;
			margin-top: 0;
			transform: rotate(-45deg);
		}

		.header-navigation-shell .sub-menu-container .menu-item:hover > .menu-link {
			background: rgba(209, 228, 184, 0.42);
		}

		.header-navigation-shell .sub-menu-container .sub-menu-container {
			margin-left: 0;
			left: calc(100% - 0.4rem);
			border-radius: 1rem;
			background: #f8faf5;
			box-shadow: 0 14px 30px rgba(43, 43, 43, 0.08);
		}

		.header-navigation-shell .sub-menu-container .sub-menu-container::before {
			top: 0;
			left: -1rem;
			width: 1rem;
			height: 100%;
		}

		.header-modern-actions {
			display: flex;
			align-items: center;
			justify-content: flex-end;
			gap: 0.45rem;
			margin-left: 0;
			flex-shrink: 0;
			position: relative;
			z-index: 20;
		}

		.header-flora-action {
			display: flex;
			align-items: center;
			justify-content: flex-end;
			margin-left: auto;
			flex-shrink: 0;
		}

		.header-flora-button {
			padding-right: 0.82rem !important;
		}

		.header-flora-button:hover {
			color: var(--site-text);
		}

		.header-flora-button:focus-visible {
			color: var(--site-text);
		}

		.header-flora-button .header-action-icon {
			background: var(--site-soft-green);
		}

		.header-flora-button .header-action-copy strong {
			letter-spacing: -0.01em;
		}

		.header-flora-title-row {
			display: inline-flex;
			align-items: center;
			gap: 0.38rem;
		}

		.header-flora-inline-icon {
			color: #6a8f2a;
			font-size: 0.74rem;
			transition: transform 0.2s ease, color 0.2s ease;
		}

		.header-flora-button:hover .header-flora-inline-icon,
		.header-flora-button:focus-visible .header-flora-inline-icon {
			color: #4b6f26;
			transform: translateX(2px);
		}

		.site-header-modern .header-misc {
			margin-left: 0;
		}

		.site-header-modern .header-misc-element,
		.site-header-modern .header-misc-icon {
			margin: 0;
		}

		.header-action-pill {
			position: relative;
			display: inline-flex;
			align-items: center;
			gap: 0.75rem;
			min-height: 2.95rem;
			padding: 0.3rem 0.42rem 0.3rem 0.3rem;
			background: var(--site-white);
			border: 1px solid var(--site-border);
			border-radius: 999px;
			color: var(--site-text);
			text-decoration: none;
			transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
		}

		.site-header-modern .header-misc-icon > a.header-action-pill {
			width: auto;
			height: auto;
			font-size: inherit;
			line-height: normal;
			justify-content: flex-start;
			color: inherit;
		}

		.header-action-pill:hover {
			transform: translateY(-1px);
			box-shadow: 0 16px 32px rgba(43, 43, 43, 0.08);
			color: var(--site-text);
		}

		.header-action-icon {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2.45rem;
			height: 2.45rem;
			border-radius: 50%;
			background: var(--site-soft-green);
			color: var(--site-text);
			flex-shrink: 0;
		}

		.header-action-copy {
			display: flex;
			flex-direction: column;
			gap: 0.05rem;
			line-height: 1.2;
		}

		.header-action-copy small {
			color: #6a6a6a;
			font-size: 0.72rem;
			font-weight: 600;
			text-transform: uppercase;
			letter-spacing: 0.08em;
		}

		.header-action-copy strong {
			color: var(--site-text);
			font-size: 0.92rem;
			font-weight: 700;
		}

		.header-support-pill .header-action-icon {
			background: var(--site-primary);
		}

		.header-account-pill {
			background: var(--site-white);
			border-color: rgba(229, 192, 184, 0.8);
		}

		.header-account-pill .header-action-icon {
			background: var(--site-soft-pink);
		}

		.header-cart-counter {
			position: absolute;
			top: -0.2rem;
			right: -0.15rem;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-width: 1.55rem;
			height: 1.55rem;
			padding: 0 0.35rem;
			background: var(--site-primary);
			border: 2px solid var(--site-text);
			border-radius: 999px;
			color: var(--site-text);
			font-size: 0.75rem;
			font-weight: 800;
			line-height: 1;
		}

		.header-cart-shell {
			display: flex;
			align-items: center;
			flex-shrink: 0;
		}

		.site-mini-cart {
			position: relative;
		}

		.site-mini-cart-trigger {
			position: relative;
			display: inline-flex;
			align-items: center;
			gap: 0.75rem;
			min-height: 2.95rem;
			padding: 0.3rem 0.88rem 0.3rem 0.3rem;
			background: var(--site-text);
			border: 1px solid var(--site-text);
			border-radius: 999px;
			color: var(--site-white);
			text-decoration: none;
			box-shadow: 0 16px 30px rgba(43, 43, 43, 0.12);
		}

		.site-mini-cart-trigger.is-empty {
			background: var(--site-white);
			border-color: var(--site-border);
			color: var(--site-text);
			box-shadow: none;
		}

		.site-mini-cart-trigger:hover {
			color: var(--site-white);
			transform: translateY(-1px);
		}

		.site-mini-cart-trigger.is-empty:hover {
			color: var(--site-text);
			background: #f5f9ef;
			border-color: var(--site-primary);
		}

		.site-mini-cart-trigger .header-action-icon {
			background: var(--site-primary);
		}

		.site-mini-cart-trigger .header-action-copy small,
		.site-mini-cart-trigger .header-action-copy strong {
			color: var(--site-white);
		}

		.site-mini-cart-trigger.is-empty .header-action-icon {
			background: var(--site-surface);
		}

		.site-mini-cart-trigger.is-empty .header-action-copy small,
		.site-mini-cart-trigger.is-empty .header-action-copy strong {
			color: var(--site-text);
		}

		.site-mini-cart-trigger.is-empty .header-cart-counter {
			background: var(--site-white);
			border-color: var(--site-border);
			color: var(--site-text);
		}

		.site-mini-cart-content {
			position: absolute;
			top: calc(100% + 0.85rem);
			right: 0;
			z-index: 200;
			width: 360px;
			opacity: 0;
			visibility: hidden;
			transform: translateY(10px);
			transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
		}

		.top-cart-open .site-mini-cart-content {
			opacity: 1;
			visibility: visible;
			transform: translateY(0);
		}

		.site-mini-cart-panel {
			background: var(--site-white);
			border: 1px solid var(--site-border);
			border-radius: 1.5rem;
			box-shadow: 0 28px 60px rgba(43, 43, 43, 0.14);
			overflow: hidden;
		}

		.site-mini-cart-head {
			padding: 1rem 1.1rem;
			background: var(--site-surface);
			border-bottom: 1px solid var(--site-border);
		}

		.site-mini-cart-head small {
			display: block;
			margin-bottom: 0.25rem;
			color: #6a6a6a;
			font-size: 0.72rem;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}

		.site-mini-cart-head strong {
			color: var(--site-text);
			font-size: 0.95rem;
			font-weight: 700;
		}

		.site-mini-cart-items {
			display: grid;
			gap: 0;
			max-height: 360px;
			overflow: auto;
		}

		.site-mini-cart-item {
			display: grid;
			grid-template-columns: 64px minmax(0, 1fr) auto;
			gap: 0.85rem;
			align-items: start;
			padding: 1rem 1.1rem;
			border-bottom: 1px solid var(--site-border);
		}

		.site-mini-cart-item:last-child {
			border-bottom: 0;
		}

		.site-mini-cart-thumb {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 64px;
			height: 64px;
			border-radius: 1rem;
			background: var(--site-surface);
			border: 1px solid var(--site-soft-green);
			overflow: hidden;
		}

		.site-mini-cart-thumb img {
			max-width: 100%;
			max-height: 100%;
			object-fit: contain;
		}

		.site-mini-cart-meta {
			min-width: 0;
		}

		.site-mini-cart-meta a {
			display: block;
			color: var(--site-text);
			font-size: 0.92rem;
			font-weight: 700;
			line-height: 1.35;
			text-decoration: none;
		}

		.site-mini-cart-option,
		.site-mini-cart-qty {
			margin-top: 0.25rem;
			color: #6a6a6a;
			font-size: 0.78rem;
			line-height: 1.45;
		}

		.site-mini-cart-price {
			display: flex;
			flex-direction: column;
			align-items: flex-end;
			gap: 0.5rem;
		}

		.site-mini-cart-price strong {
			color: var(--site-text);
			font-size: 0.9rem;
			font-weight: 700;
		}

		.site-mini-cart-remove {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 2rem;
			height: 2rem;
			border: 1px solid rgba(255, 0, 0, 0.12);
			border-radius: 50%;
			background: #fff5f5;
			color: #ff0000;
		}

		.site-mini-cart-remove:hover {
			background: #ff0000;
			color: var(--site-white);
		}

		.site-mini-cart-empty {
			padding: 1.25rem 1.1rem;
			color: #6a6a6a;
			font-size: 0.92rem;
		}

		.site-mini-cart-totals {
			padding: 1rem 1.1rem;
			background: var(--site-surface);
			border-top: 1px solid var(--site-border);
			border-bottom: 1px solid var(--site-border);
		}

		.site-mini-cart-total-row {
			display: flex;
			justify-content: space-between;
			gap: 0.75rem;
			color: var(--site-text);
			font-size: 0.88rem;
		}

		.site-mini-cart-total-row + .site-mini-cart-total-row {
			margin-top: 0.55rem;
		}

		.site-mini-cart-actions {
			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 0.75rem;
			padding: 1rem 1.1rem 1.1rem;
		}

		.site-mini-cart-button {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			min-height: 2.9rem;
			padding: 0.8rem 1rem;
			border-radius: 999px;
			text-decoration: none;
			font-size: 0.88rem;
			font-weight: 700;
		}

		.site-mini-cart-button.is-secondary {
			background: var(--site-white);
			border: 1px solid var(--site-border);
			color: var(--site-text);
		}

		.site-mini-cart-button.is-primary {
			background: var(--site-primary);
			border: 1px solid var(--site-primary);
			color: var(--site-text);
		}

		.site-header-modern .primary-menu-trigger {
			margin-left: 0.25rem;
		}

		.site-header-modern .primary-menu-trigger .cnvs-hamburger {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 3rem;
			height: 3rem;
			border: 1px solid var(--site-border);
			border-radius: 999px;
			background: var(--site-white);
			box-shadow: none;
		}

		@media (max-width: 1199.98px) {
			.header-navigation-shell {
				order: 4;
				flex: 0 0 100%;
				width: 100%;
				justify-content: flex-start;
				overflow: visible;
			}

			.header-modern-actions {
				margin-left: 0;
			}

			.header-flora-action {
				margin-left: 0;
			}

			.header-navigation-shell .menu-container {
				flex-wrap: wrap;
				justify-content: flex-start;
				width: 100%;
				max-width: none;
				margin: 0;
				padding: 0;
			}
		}

		@media (max-width: 991.98px) {
			#top-bar.site-topbar > .container {
				padding-left: 1rem;
				padding-right: 1rem;
			}

			.site-header-modern #header-wrap > .container {
				padding-left: 0.75rem;
				padding-right: 0.75rem;
			}

			.site-topbar-shell {
				display: grid;
				grid-template-columns: minmax(0, 1fr);
				gap: 0.85rem;
				align-items: stretch;
				min-height: auto;
				padding: 0.9rem 0;
			}

			.site-topbar-copy {
				display: flex;
				justify-content: center;
				padding-left: 0;
			}

			.site-topbar-copy::before {
				display: none;
			}

			.site-topbar-text {
				text-align: center;
				font-size: 0.84rem;
			}

			.site-topbar-actions {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 0.65rem;
				width: 100%;
			}

			.site-topbar-actions > * {
				min-width: 0;
			}

			.site-topbar-actions .site-top-links {
				grid-column: 1 / -1;
			}

			.site-top-links,
			.site-top-links .top-links-container {
				width: 100%;
			}

			.site-top-links .top-links-container {
				display: grid;
				grid-template-columns: repeat(2, minmax(0, 1fr));
				gap: 0.65rem;
				justify-content: stretch;
			}

			.site-top-links .top-links-item {
				min-width: 0;
			}

			.site-top-links .top-links-item > a {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				min-height: 2.85rem;
				padding: 0.6rem 0.75rem;
				background: #f5f9ef;
				border: 1px solid rgba(223, 223, 223, 0.95);
				border-radius: 1rem;
			}

			.site-top-links .top-links-sub-menu {
				left: 0;
				right: auto;
				min-width: 100%;
				width: 100%;
				margin-top: 0.45rem;
			}

			.site-header-modern #header-wrap {
				margin-top: 0;
			}

			.site-header-modern .header-row {
				grid-template-columns: minmax(0, 1fr) auto auto;
				grid-template-areas:
					"logo flora trigger"
					"menu menu menu";
				padding: 0.8rem 0.95rem 0.95rem;
				gap: 0.85rem;
			}

			.site-header-modern #logo {
				grid-area: logo;
			}

			.header-flora-action {
				grid-area: flora;
				justify-self: end;
			}

			.header-flora-button {
				min-height: 2.65rem;
				padding: 0.65rem 0.95rem;
				font-size: 0.8rem;
			}

			.site-header-modern .primary-menu-trigger {
				grid-area: trigger;
				order: initial;
				justify-self: end;
				margin-left: 0;
			}

			.header-navigation-shell {
				grid-area: menu;
				order: initial;
				display: block;
				width: 100%;
				padding: 0;
			}

			.header-navigation-shell .primary-menu {
				display: block;
				width: 100%;
			}

			.header-navigation-shell .menu-container {
				display: none;
				width: 100%;
				max-width: none;
				margin: 0.15rem 0 0;
				padding: 0.4rem;
				background: rgba(255, 255, 255, 0.98);
				border: 1px solid rgba(223, 223, 223, 0.95);
				border-radius: 1.35rem;
				box-shadow: 0 18px 40px rgba(43, 43, 43, 0.08);
				overflow: hidden;
			}

			.header-navigation-shell .menu-container.d-block {
				display: block !important;
			}

			.header-navigation-shell .menu-item {
				width: 100%;
				padding: 0;
				border-top: 1px solid rgba(223, 223, 223, 0.72);
			}

			.header-navigation-shell .menu-item:first-child {
				border-top: 0;
			}

			.header-navigation-shell .menu-link {
				display: flex;
				align-items: center;
				width: 100%;
				min-height: 3.2rem;
				padding: 0.85rem 0.95rem;
				border-radius: 0.9rem;
				font-size: 0.92rem;
				font-weight: 600;
			}

			.header-navigation-shell .menu-link > div {
				justify-content: space-between;
				text-align: left;
			}

			.header-navigation-shell .sub-menu-container {
				position: static !important;
				left: auto !important;
				right: auto !important;
				top: auto !important;
				width: 100% !important;
				min-width: 0;
				margin: 0;
				padding: 0.2rem 0 0.45rem;
				background: transparent;
				border: 0;
				border-top: 1px solid rgba(223, 223, 223, 0.72);
				border-radius: 0;
				box-shadow: none;
			}

			.header-navigation-shell .sub-menu-container .menu-item {
				border-top: 0;
			}

			.header-navigation-shell .sub-menu-container .menu-link {
				min-height: 2.9rem;
				padding: 0.72rem 0.95rem 0.72rem 1.6rem;
				font-size: 0.86rem;
			}

			.header-navigation-shell .sub-menu-container .sub-menu-container .menu-link {
				padding-left: 2.25rem;
			}

			.header-navigation-shell > .primary-menu > .menu-container > .menu-item.has-children > .menu-link > div::after {
				content: none;
			}

			.header-navigation-shell .sub-menu-container .menu-item.has-children > .menu-link > div::after {
				content: none;
			}

			.header-navigation-shell .menu-item .sub-menu-trigger {
				top: 0.65rem;
				right: 0.75rem;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				width: 2rem;
				height: 2rem;
				border-radius: 999px;
				color: rgba(43, 43, 43, 0.76);
				background: transparent;
			}

			.header-navigation-shell .menu-item.current > .sub-menu-trigger {
				color: #4b6f26;
			}

			.header-navigation-shell .sub-menu-container .menu-item .sub-menu-trigger {
				top: 0.45rem;
			}

			.header-action-pill,
			.site-mini-cart-trigger {
				width: 100%;
				justify-content: center;
			}

			.site-topbar-actions #header-cart,
			.site-topbar-actions .header-cart-shell,
			.site-topbar-actions .site-mini-cart {
				width: 100%;
				min-width: 0;
			}

			.site-topbar-actions .header-cart-shell {
				display: block;
			}

			.site-topbar-actions .site-mini-cart {
				flex: 1 1 auto;
			}

			.header-action-copy {
				display: flex;
			}

			.site-mini-cart-content {
				width: 100%;
				max-width: min(92vw, 360px);
				right: 0;
			}
		}

		@media (max-width: 575.98px) {
			.site-header-modern .header-row {
				grid-template-columns: minmax(0, 1fr) auto;
				grid-template-areas:
					"logo trigger"
					"flora flora"
					"menu menu";
			}

			.header-flora-action {
				justify-self: stretch;
			}

			.header-flora-button {
				width: 100%;
				padding-left: 1rem;
				padding-right: 1rem;
			}
		}

		@media (max-width: 767.98px) {
			#top-bar.site-topbar {
				padding-top: 0;
			}

			.site-topbar-shell {
				padding: 0.75rem 0;
				gap: 0.7rem;
			}

			.site-topbar-text {
				font-size: 0.78rem;
				line-height: 1.55;
			}

			.site-topbar-actions {
				grid-template-columns: 1fr 1fr;
				gap: 0.55rem;
			}

			.site-top-links .top-links-container {
				gap: 0.55rem;
			}

			.site-top-links .top-links-item > a {
				min-height: 2.6rem;
				padding: 0.5rem 0.7rem;
				font-size: 0.82rem;
			}

			.site-header-modern #header-wrap {
				margin-top: 0;
			}

			.site-header-modern .header-row {
				min-height: 78px;
				padding: 0.72rem 0.7rem 0.85rem;
				gap: 0.7rem;
			}

			.site-header-modern .logo-default {
				max-width: 150px;
				max-height: 48px;
			}

			.site-header-modern .primary-menu-trigger .cnvs-hamburger {
				width: 2.8rem;
				height: 2.8rem;
			}

			.header-action-icon {
				width: 2.15rem;
				height: 2.15rem;
			}

			.header-action-pill,
			.site-mini-cart-trigger {
				min-height: 2.8rem;
				padding: 0.28rem 0.7rem 0.28rem 0.3rem;
			}

			.header-action-copy {
				min-width: 0;
			}

			.header-action-copy small {
				font-size: 0.62rem;
			}

			.header-action-copy strong {
				font-size: 0.82rem;
			}

			.site-mini-cart-trigger {
				padding-right: 0.7rem;
				justify-content: flex-start;
			}

	.site-mini-cart-content {
		width: 100%;
		max-width: min(calc(100vw - 1rem), 340px);
		right: 0;
		left: auto;
		transform: translateY(10px);
	}

	.top-cart-open .site-mini-cart-content {
		transform: translateY(0);
	}

			.header-cart-counter {
				top: -0.18rem;
				right: -0.12rem;
				min-width: 1.35rem;
				height: 1.35rem;
				font-size: 0.7rem;
			}
		}


/* Source: legacy account theme styles */
body.account-theme {
  --account-primary: #80c41c;
  --account-text: #2b2b2b;
  --account-white: #ffffff;
  --account-soft-green: #d1e4b8;
  --account-soft-pink: #e5c0b8;
  --account-gray: #a9a9a9;
  --account-border: #dfdfdf;
  --account-surface: #f9f9f9;
  --account-success: #34b515;
  --account-success-soft: #b0d7a7;
  --account-danger: #ff0000;
  --account-danger-soft: #e0adad;
  --account-info: #33b5e5;
  --account-info-soft: #b0d7e5;
  --account-shadow: 0 26px 48px rgba(43, 43, 43, 0.07);
  background:
    radial-gradient(circle at top left, rgba(128, 196, 28, 0.1), transparent 24%),
    linear-gradient(180deg, #fbfcf8 0%, #f5f6f2 100%);
}

body.account-theme .account-page-title {
  background: transparent;
  padding: 2rem 0 1rem;
}

body.account-theme .account-page-title .container,
body.account-theme .account-page .account-shell {
  width: min(100%, 1320px);
  max-width: 1320px;
}

body.account-theme .account-page-title .page-title-row {
  display: grid;
  gap: 1rem;
  align-items: end;
  padding: 2rem 2.15rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.85rem;
  box-shadow: var(--account-shadow);
  backdrop-filter: blur(12px);
}

body.account-theme .account-page-title .page-title-content h1 {
  margin: 0;
  color: var(--account-text);
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 800;
  letter-spacing: -0.04em;
}

body.account-theme .account-page-title .breadcrumb {
  gap: 0.55rem;
  margin: 0;
  padding: 0;
}

body.account-theme .account-page-title .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #6f6f6f;
  font-size: 0.86rem;
  font-weight: 600;
}

body.account-theme .account-page-title .breadcrumb-item::before {
  color: #a6a6a6;
}

body.account-theme .account-page-title .breadcrumb-item a {
  color: inherit;
  text-decoration: none;
}

body.account-theme .account-page {
  background: transparent;
}

/* Source: shared page title refinement */
.page-title.bg-breadcrumb:not(.account-page-title) {
  padding: 1.1rem 0 0.9rem;
  background: transparent !important;
  border-bottom: 0;
}

.page-title.bg-breadcrumb:not(.account-page-title) .container {
  width: min(100%, 1320px);
  max-width: 1320px;
}

.page-title.bg-breadcrumb:not(.account-page-title) .page-title-row {
  display: grid;
  gap: 0.85rem;
  align-items: start;
  padding: 0.3rem 0 1rem;
  border-bottom: 1px solid rgba(43, 43, 43, 0.08);
}

.page-title.bg-breadcrumb:not(.account-page-title) nav[aria-label="breadcrumb"] {
  order: -1;
}

.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content {
  text-align: left;
  position: relative;
  padding-left: 1rem;
}

.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content::before {
  content: "";
  position: absolute;
  top: 0.3rem;
  left: 0;
  width: 4px;
  height: calc(100% - 0.6rem);
  border-radius: 999px;
  background: linear-gradient(180deg, #82c11f 0%, #d1e4b8 100%);
}

.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content h1,
.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content .h1 {
  margin: 0;
  color: #2b2b2b;
  font-size: clamp(2.15rem, 3.8vw, 3.4rem);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content span {
  max-width: 46rem;
  margin-top: 0.75rem;
  color: rgba(43, 43, 43, 0.68);
  font-size: 1rem;
  line-height: 1.8;
}

.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  font-size: 0.82rem;
}

.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  color: rgba(43, 43, 43, 0.52);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb-item::before {
  display: none;
}

.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb-item:not(:last-child)::after {
  content: "/";
  display: inline-block;
  margin-left: 0.35rem;
  color: rgba(43, 43, 43, 0.28);
}

.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb-item a {
  color: inherit;
  text-decoration: none;
}

.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb-item.active,
.page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb-item:last-child {
  color: #2b2b2b;
  font-weight: 700;
}

@media (max-width: 767.98px) {
  .page-title.bg-breadcrumb:not(.account-page-title) {
    padding: 0.9rem 0 0.75rem;
  }

  .page-title.bg-breadcrumb:not(.account-page-title) .page-title-row {
    gap: 0.7rem;
    padding: 0.2rem 0 0.75rem;
  }

  .page-title.bg-breadcrumb:not(.account-page-title) .page-title-content {
    text-align: left;
    padding-left: 0.85rem;
  }

  .page-title.bg-breadcrumb:not(.account-page-title) .page-title-content h1,
  .page-title.bg-breadcrumb:not(.account-page-title) .page-title-content .h1 {
    font-size: clamp(1.8rem, 7vw, 2.5rem);
    line-height: 1.12;
  }

  .page-title.bg-breadcrumb:not(.account-page-title) .page-title-content span {
    font-size: 0.95rem;
    line-height: 1.75;
  }

  .page-title.bg-breadcrumb:not(.account-page-title) .breadcrumb {
    font-size: 0.82rem;
  }
}

body.account-theme .account-page .content-wrap {
  padding-top: 0;
}

body.account-theme .account-shell {
  padding-bottom: 3rem;
}

body.account-theme .account-layout {
  --bs-gutter-x: 1.55rem;
  --bs-gutter-y: 1.55rem;
  align-items: start;
}

body.account-theme .account-main-column {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

body.account-theme .account-main-column > .alert,
body.account-theme .account-main-column .account-success,
body.account-theme .account-main-column .alert-dismissible {
  border: 0;
  border-radius: 1.2rem;
  box-shadow: 0 16px 32px rgba(43, 43, 43, 0.05);
}

body.account-theme .account-main-column .alert-success {
  background: rgba(176, 215, 167, 0.42);
  color: #2f5d1b;
}

body.account-theme .account-main-column .alert-danger {
  background: rgba(224, 173, 173, 0.38);
  color: #8e2f2f;
}

body.account-theme .account-content-surface {
  display: grid;
  gap: 1.4rem;
  padding: 1.7rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.75rem;
  box-shadow: var(--account-shadow);
}

body.account-theme .account-content-surface > p:first-child,
body.account-theme .account-content-surface > .account-surface-lead {
  margin: 0;
  color: #646464;
  font-size: 1rem;
  line-height: 1.75;
}

body.account-theme .account-content-surface > h2,
body.account-theme .account-content-surface > h3 {
  margin: 0;
  color: var(--account-text);
  font-size: 1.22rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

body.account-theme .account-content-surface > form,
body.account-theme .account-content-surface > .table-responsive,
body.account-theme .account-content-surface > table,
body.account-theme .account-content-surface > .row.row-cols-md-2,
body.account-theme .account-content-surface > #wishlist,
body.account-theme .account-content-surface > #address,
body.account-theme .account-content-surface > #payment-method,
body.account-theme .account-content-surface > #history,
body.account-theme .account-content-surface > #order {
  margin: 0;
}

body.account-theme .account-content-surface > .row.row-cols-md-2 {
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
}

body.account-theme .account-content-surface form {
  display: grid;
  gap: 1.4rem;
}

body.account-theme .account-content-surface fieldset {
  display: grid;
  gap: 1rem;
  min-width: 0;
  padding: 1.35rem;
  margin: 0;
  background: linear-gradient(180deg, rgba(249, 249, 249, 0.92), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(223, 223, 223, 0.9);
  border-radius: 1.35rem;
}

body.account-theme .account-content-surface legend {
  width: auto;
  padding: 0;
  margin: 0 0 0.15rem;
  border: 0;
  color: var(--account-text);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

body.account-theme .account-content-surface .row.mb-3,
body.account-theme .account-content-surface .row.mb-3.required,
body.account-theme .account-content-surface .row.g-3 {
  align-items: center;
}

body.account-theme .account-content-surface .col-form-label,
body.account-theme .account-content-surface label.col-sm-2,
body.account-theme .account-content-surface label.col-form-label {
  color: #545454;
  font-size: 0.92rem;
  font-weight: 700;
}

body.account-theme .account-content-surface .form-control,
body.account-theme .account-content-surface .form-select,
body.account-theme .account-content-surface .input-group-text,
body.account-theme .account-content-surface textarea.form-control {
  min-height: 3.35rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1rem;
  background: var(--account-white);
  color: var(--account-text);
  box-shadow: none;
}

body.account-theme .account-content-surface textarea.form-control {
  min-height: 8rem;
  padding-top: 0.95rem;
}

body.account-theme .account-content-surface .form-control:focus,
body.account-theme .account-content-surface .form-select:focus {
  border-color: rgba(128, 196, 28, 0.68);
  box-shadow: 0 0 0 0.18rem rgba(128, 196, 28, 0.14);
}

body.account-theme .account-content-surface .input-group > .form-control,
body.account-theme .account-content-surface .input-group > .form-select {
  border-right: 0;
}

body.account-theme .account-content-surface .input-group-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.2rem;
  background: #f5f8ef;
  color: #61872d;
}

body.account-theme .account-content-surface .invalid-feedback {
  font-weight: 600;
}

body.account-theme .account-content-surface .form-check {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 3rem;
  padding: 0.75rem 1rem 0.75rem 2.65rem;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(223, 223, 223, 0.92);
  border-radius: 1rem;
}

body.account-theme .account-content-surface .form-check + .form-check {
  margin-top: 0.55rem;
}

body.account-theme .account-content-surface .form-check-inline {
  width: auto;
  margin-right: 0.85rem;
}

body.account-theme .account-content-surface .form-check-input {
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0;
}

body.account-theme .account-content-surface .form-check-input:checked {
  background-color: var(--account-primary);
  border-color: var(--account-primary);
}

body.account-theme .account-content-surface .form-check-label {
  color: var(--account-text);
  font-weight: 600;
}

body.account-theme .account-content-surface .form-switch .form-check-input {
  width: 2.8rem;
}

body.account-theme .account-content-surface .btn,
body.account-theme .account-list-card__action,
body.account-theme .account-detail-card__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3.15rem;
  padding: 0.78rem 1.35rem;
  border: 0;
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: 0.01em;
  transition: transform 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

body.account-theme .account-content-surface .btn:hover,
body.account-theme .account-list-card__action:hover,
body.account-theme .account-detail-card__action:hover {
  transform: translateY(-1px);
}

body.account-theme .account-content-surface .btn-success,
body.account-theme .account-content-surface .btn-primary,
body.account-theme .account-content-surface .btn-info,
body.account-theme .account-content-surface button[type="submit"] {
  background: var(--account-text);
  color: var(--account-white);
  box-shadow: 0 18px 28px rgba(43, 43, 43, 0.12);
}

body.account-theme .account-content-surface .btn-light,
body.account-theme .account-content-surface .btn-outline-secondary {
  background: #f3f6eb;
  color: var(--account-text);
}

body.account-theme .account-content-surface .btn-danger {
  background: rgba(224, 173, 173, 0.28);
  color: #8a3232;
}

body.account-theme #account-order .account-order__action {
  width: 3.25rem;
  min-width: 3.25rem;
  height: 3.25rem;
  min-height: 3.25rem;
  padding: 0;
  border-radius: 50%;
  gap: 0;
  box-shadow: none;
}

body.account-theme #account-order .account-order__action i {
  font-size: 1rem;
  line-height: 1;
}

body.account-theme #account-order .account-order__action--reorder,
body.account-theme #account-order .account-order__action--reorder i,
body.account-theme #account-order .account-order__action--view,
body.account-theme #account-order .account-order__action--view i {
  color: #ffffff;
}

body.account-theme #account-order .account-order__action--return,
body.account-theme #account-order .account-order__action--return i {
  color: #6f2c2c;
}

body.account-theme #account-order .account-order__action--view {
  background: var(--account-text);
}

body.account-theme #account-order .account-order__action--return {
  background: #f6e8e8;
}

body.account-theme .account-content-surface .btn-link {
  min-height: auto;
  padding: 0;
  color: #507628;
  background: transparent;
  box-shadow: none;
}

body.account-theme .account-content-surface table.table {
  margin: 0;
  overflow: hidden;
  border-color: rgba(223, 223, 223, 0.9);
  border-radius: 1.35rem;
}

body.account-theme .account-content-surface table.table > :not(caption) > * > * {
  padding: 1rem 1.05rem;
  border-color: rgba(223, 223, 223, 0.8);
  vertical-align: middle;
}

body.account-theme .account-content-surface table.table > thead > tr > * {
  background: #f4f8ec;
  color: #58752f;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.account-theme .account-content-surface table.table > tbody > tr > * {
  background: rgba(255, 255, 255, 0.9);
}

body.account-theme .account-content-surface table.table a {
  color: var(--account-text);
  font-weight: 700;
  text-decoration: none;
}

body.account-theme .account-content-surface .pagination,
body.account-theme .account-list-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body.account-theme .account-content-surface .pagination a,
body.account-theme .account-content-surface .pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.8rem;
  height: 2.8rem;
  padding: 0 0.9rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(223, 223, 223, 0.9);
  border-radius: 999px;
  color: var(--account-text);
  font-weight: 700;
  text-decoration: none;
}

body.account-theme .account-content-surface .pagination .active span,
body.account-theme .account-content-surface .pagination a:hover {
  background: var(--account-primary);
  border-color: var(--account-primary);
  color: var(--account-text);
}

body.account-theme .account-content-surface .row.mb-3:last-child,
body.account-theme .account-content-surface .row:last-child {
  margin-bottom: 0;
}

body.account-theme .account-auth-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

body.account-theme .account-auth-card {
  display: grid;
  gap: 1rem;
  padding: 1.55rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(245, 248, 239, 0.9));
  border: 1px solid rgba(223, 223, 223, 0.92);
  border-radius: 1.5rem;
}

body.account-theme .account-auth-card h2 {
  margin: 0;
  color: var(--account-text);
  font-size: 1.4rem;
  font-weight: 800;
}

body.account-theme .account-auth-card p {
  margin: 0;
}

body.account-theme #account-login .account-content-surface {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

body.account-theme #account-register .account-content-surface > p:first-child,
body.account-theme #account-forgotten .account-content-surface > p:first-child,
body.account-theme #account-return .account-content-surface > p:first-child {
  padding: 1rem 1.15rem;
  background: rgba(209, 228, 184, 0.34);
  border: 1px solid rgba(223, 223, 223, 0.86);
  border-radius: 1.15rem;
}

body.account-theme .account-list-stack {
  display: grid;
  gap: 1rem;
}

body.account-theme .account-list-card,
body.account-theme .account-detail-card,
body.account-theme .account-history-card,
body.account-theme .account-product-card {
  display: grid;
  gap: 1rem;
  padding: 1.25rem 1.35rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(223, 223, 223, 0.92);
  border-radius: 1.35rem;
}

body.account-theme .account-list-card__header,
body.account-theme .account-detail-card__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

body.account-theme .account-list-card__eyebrow,
body.account-theme .account-meta-pill {
  display: inline-flex;
  align-items: center;
  min-height: 1.95rem;
  padding: 0.3rem 0.75rem;
  background: rgba(209, 228, 184, 0.5);
  border-radius: 999px;
  color: #507628;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.account-theme .account-list-card__title,
body.account-theme .account-detail-card__title {
  margin: 0;
  color: var(--account-text);
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

body.account-theme .account-list-card__subtitle,
body.account-theme .account-detail-card__subtitle,
body.account-theme .account-history-card__comment {
  margin: 0;
  color: #666;
  line-height: 1.65;
}

body.account-theme .account-list-card__subtitle img {
  max-height: 1.6rem;
  width: auto;
}

body.account-theme .account-list-meta,
body.account-theme .account-detail-meta {
  display: grid;
  gap: 0.8rem;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

body.account-theme .account-list-meta__item,
body.account-theme .account-detail-meta__item {
  display: grid;
  gap: 0.2rem;
}

body.account-theme .account-list-meta__label,
body.account-theme .account-detail-meta__label {
  color: #7a7a7a;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.account-theme .account-list-meta__value,
body.account-theme .account-detail-meta__value {
  color: var(--account-text);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.5;
}

body.account-theme .account-list-actions,
body.account-theme .account-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  align-items: center;
}

body.account-theme .account-list-empty,
body.account-theme .account-empty-state {
  padding: 1.4rem;
  background: rgba(255, 255, 255, 0.86);
  border: 1px dashed rgba(169, 169, 169, 0.5);
  border-radius: 1.25rem;
  color: #6c6c6c;
  text-align: center;
}

body.account-theme .account-history-list {
  display: grid;
  gap: 0.95rem;
}

body.account-theme .account-history-card {
  position: relative;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 1rem;
  align-items: start;
}

body.account-theme .account-history-card::before {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  margin-top: 0.4rem;
  border-radius: 50%;
  background: var(--account-primary);
  box-shadow: 0 0 0 8px rgba(209, 228, 184, 0.45);
}

body.account-theme .account-history-card__body {
  display: grid;
  gap: 0.4rem;
}

body.account-theme .account-history-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  color: #666;
  font-size: 0.9rem;
}

body.account-theme .account-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

body.account-theme .account-product-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 190px;
  padding: 1rem;
  background: #f7f9f3;
  border-radius: 1.1rem;
}

body.account-theme .account-product-card__media img {
  max-width: 100%;
  max-height: 160px;
  object-fit: contain;
}

body.account-theme .account-product-card__title {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 800;
}

body.account-theme .account-product-card__title a {
  color: var(--account-text);
  text-decoration: none;
}

body.account-theme .account-product-card__price {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: baseline;
  color: var(--account-text);
  font-weight: 700;
}

body.account-theme .account-product-card__price s {
  color: #8a8a8a;
}

body.account-theme .account-product-card__actions {
  display: flex;
  gap: 0.65rem;
  flex-wrap: wrap;
}

body.account-theme .account-summary-band {
  display: grid;
  gap: 1rem;
  padding: 1.35rem;
  background: linear-gradient(135deg, rgba(128, 196, 28, 0.14), rgba(229, 192, 184, 0.18));
  border: 1px solid rgba(223, 223, 223, 0.85);
  border-radius: 1.35rem;
}

body.account-theme .account-summary-band strong {
  color: var(--account-text);
}

body.account-theme .account-section-grid {
  display: grid;
  gap: 1.1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.account-theme .account-detail-split {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.account-theme .account-content-surface .table-responsive + .row,
body.account-theme .account-content-surface .account-list-pagination-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.8rem;
  align-items: center;
}

body.account-theme .account-content-surface .price {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: baseline;
}

body.account-theme .account-content-surface .modal-content {
  border: 0;
  border-radius: 1.5rem;
  box-shadow: 0 30px 50px rgba(43, 43, 43, 0.16);
}

body.account-theme .account-content-surface .modal-header,
body.account-theme .account-content-surface .modal-footer {
  border-color: rgba(223, 223, 223, 0.85);
}

@media (max-width: 1199.98px) {
  body.account-theme .account-page-title .page-title-row {
    padding: 1.7rem 1.8rem;
  }

  body.account-theme .account-content-surface {
    padding: 1.45rem;
  }
}

@media (max-width: 991.98px) {
  body.account-theme .account-page-title {
    padding-top: 1.4rem;
  }

  body.account-theme .account-page-title .page-title-row,
  body.account-theme .account-content-surface {
    border-radius: 1.4rem;
  }

  body.account-theme .account-auth-grid,
  body.account-theme .account-detail-split,
  body.account-theme .account-section-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  body.account-theme .account-page-title .container,
  body.account-theme .account-page .account-shell {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.account-theme .account-page-title .page-title-row {
    padding: 1.35rem;
  }

  body.account-theme .account-content-surface {
    padding: 1.15rem;
  }

  body.account-theme .account-content-surface fieldset {
    padding: 1rem;
  }

  body.account-theme .account-content-surface .btn {
    width: 100%;
  }

  body.account-theme .account-content-surface .row > [class*='col-'] .btn {
    width: 100%;
  }

  body.account-theme .account-content-surface .text-end,
  body.account-theme .account-content-surface .text-start {
    text-align: initial !important;
  }
}


/* Source: catalog/view/template/common/column_left.twig */
				#column-left.account-sidebar-column {
					align-self: start;
				}

				#column-left.account-sidebar-column .sidebar-widgets-wrap {
					display: grid;
					gap: 1rem;
				}

				#column-left.account-sidebar-column .account-sidebar-wrap {
					position: sticky;
					top: 1.25rem;
				}

				@media (max-width: 991.98px) {
					#column-left.account-sidebar-column .account-sidebar-wrap {
						position: static;
					}
				}


/* Source: catalog/view/template/account/account.twig */
        #account-account.account-dashboard {
          --account-primary: #80c41c;
          --account-text: #2b2b2b;
          --account-soft-green: #d1e4b8;
          --account-soft-pink: #e5c0b8;
          --account-surface: #ffffff;
          --account-surface-alt: #f9f9f9;
          --account-border: #dfdfdf;
          --account-shadow: 0 18px 36px rgba(43, 43, 43, 0.06);
          color: var(--account-text);
        }

        #account-account .account-success {
          margin-bottom: 1.25rem;
          border-radius: 1.1rem;
        }

        #account-account .account-hero {
          display: grid;
          grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
          gap: 1.25rem;
          margin-bottom: 1.4rem;
        }

        #account-account .account-hero-main,
        #account-account .account-summary-card,
        #account-account .account-section {
          background: var(--account-surface);
          border: 1px solid var(--account-border);
          border-radius: 1.55rem;
          box-shadow: var(--account-shadow);
        }

        #account-account .account-hero-main {
          padding: 1.6rem 1.75rem;
        }

        #account-account .account-kicker {
          display: inline-flex;
          align-items: center;
          min-height: 2rem;
          padding: 0.35rem 0.85rem;
          margin-bottom: 1rem;
          background: #f3f8ea;
          border-radius: 999px;
          color: #4e732a;
          font-size: 0.74rem;
          font-weight: 700;
          letter-spacing: 0.08em;
          text-transform: uppercase;
        }

        #account-account .account-hero-main h2 {
          margin: 0;
          color: var(--account-text);
          font-size: clamp(2rem, 4vw, 3rem);
          letter-spacing: -0.04em;
        }

        #account-account .account-hero-main p {
          margin: 0.8rem 0 0;
          color: #666666;
          font-size: 1rem;
          line-height: 1.7;
          max-width: 680px;
        }

        #account-account .account-summary-card {
          padding: 1.45rem 1.5rem;
          background: linear-gradient(180deg, #ffffff 0%, #f8fbf2 100%);
        }

        #account-account .account-summary-head {
          display: flex;
          align-items: center;
          gap: 0.95rem;
          margin-bottom: 1rem;
        }

        #account-account .account-avatar {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 3.2rem;
          height: 3.2rem;
          border-radius: 1rem;
          background: var(--account-primary);
          color: var(--account-text);
          font-size: 1.25rem;
          font-weight: 800;
        }

        #account-account .account-summary-head h3 {
          margin: 0;
          font-size: 1.14rem;
          color: var(--account-text);
        }

        #account-account .account-summary-head p {
          margin: 0.2rem 0 0;
          color: #6a6a6a;
          font-size: 0.9rem;
        }

        #account-account .account-summary-meta {
          display: grid;
          gap: 0.7rem;
          margin: 0;
          padding: 0;
          list-style: none;
        }

        #account-account .account-summary-meta li {
          display: flex;
          align-items: center;
          gap: 0.75rem;
          padding: 0.9rem 1rem;
          background: rgba(255, 255, 255, 0.75);
          border: 1px solid rgba(43, 43, 43, 0.07);
          border-radius: 1rem;
        }

        #account-account .account-summary-meta i {
          color: #5a5a5a;
        }

        #account-account .account-layout {
          display: grid;
          gap: 1.2rem;
        }

        #account-account .account-section {
          padding: 1.35rem 1.4rem 1.45rem;
        }

        #account-account .account-section-head {
          margin-bottom: 1rem;
        }

        #account-account .account-section-head h3 {
          margin: 0;
          color: var(--account-text);
          font-size: 1.16rem;
        }

        #account-account .account-section-head p {
          margin: 0.35rem 0 0;
          color: #6a6a6a;
          font-size: 0.94rem;
          line-height: 1.6;
        }

        #account-account .account-action-grid {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 0.9rem;
        }

        #account-account .account-action-card {
          display: grid;
          grid-template-columns: auto minmax(0, 1fr) auto;
          gap: 0.9rem;
          align-items: center;
          min-height: 5.3rem;
          padding: 1rem 1.05rem;
          background: #fcfcfc;
          border: 1px solid rgba(43, 43, 43, 0.08);
          border-radius: 1.15rem;
          color: var(--account-text);
          text-decoration: none;
          transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        }

        #account-account .account-action-card:hover {
          transform: translateY(-2px);
          border-color: rgba(128, 196, 28, 0.45);
          box-shadow: 0 14px 24px rgba(43, 43, 43, 0.06);
          background: #f9fcf3;
          color: var(--account-text);
        }

        #account-account .account-action-icon {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 2.9rem;
          height: 2.9rem;
          border-radius: 0.95rem;
          background: #f2f7e8;
          color: #4f7329;
          font-size: 1rem;
        }

        #account-account .account-action-copy {
          min-width: 0;
        }

        #account-account .account-action-copy strong {
          display: block;
          color: var(--account-text);
          font-size: 0.96rem;
          line-height: 1.4;
        }

        #account-account .account-action-copy span {
          display: block;
          margin-top: 0.2rem;
          color: #6a6a6a;
          font-size: 0.84rem;
          line-height: 1.5;
        }

        #account-account .account-action-arrow {
          color: #8a8a8a;
          font-size: 0.9rem;
        }

        @media (max-width: 1199.98px) {
          #account-account .account-hero {
            grid-template-columns: 1fr;
          }
        }

        @media (max-width: 767.98px) {
          #account-account .account-hero-main,
          #account-account .account-summary-card,
          #account-account .account-section {
            padding-left: 1rem;
            padding-right: 1rem;
          }

          #account-account .account-action-grid {
            grid-template-columns: 1fr;
          }

          #account-account .account-summary-head {
            align-items: flex-start;
          }
        }


/* Source: extension/opencart/catalog/view/template/module/account.twig */
    .account-side-nav {
      --account-nav-primary: #80c41c;
      --account-nav-text: #2b2b2b;
      --account-nav-soft-green: #d1e4b8;
      --account-nav-surface: #ffffff;
      --account-nav-border: #dfdfdf;
      --account-nav-shadow: 0 18px 36px rgba(43, 43, 43, 0.06);
      padding: 1.1rem;
      background: var(--account-nav-surface);
      border: 1px solid var(--account-nav-border);
      border-radius: 1.45rem;
      box-shadow: var(--account-nav-shadow);
    }

    .account-side-nav__head {
      padding: 0.25rem 0.2rem 1rem;
      border-bottom: 1px solid rgba(43, 43, 43, 0.08);
    }

    .account-side-nav__eyebrow {
      display: inline-flex;
      align-items: center;
      min-height: 1.9rem;
      padding: 0.3rem 0.75rem;
      margin-bottom: 0.7rem;
      background: #f2f8e8;
      border-radius: 999px;
      color: #476d25;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .account-side-nav__title {
      margin: 0;
      color: var(--account-nav-text);
      font-size: 1.18rem;
      font-weight: 700;
    }

    .account-side-nav__subtitle {
      margin: 0.35rem 0 0;
      color: #6a6a6a;
      font-size: 0.88rem;
      line-height: 1.6;
    }

    .account-side-nav__sections {
      display: grid;
      gap: 1rem;
      margin-top: 1rem;
    }

    .account-side-nav__section-title {
      margin: 0 0 0.55rem;
      padding: 0 0.2rem;
      color: #6c6c6c;
      font-size: 0.74rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .account-side-nav__links {
      display: grid;
      gap: 0.45rem;
    }

    .account-side-nav__link {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      gap: 0.75rem;
      align-items: center;
      min-height: 3.35rem;
      padding: 0.72rem 0.82rem;
      background: #fcfcfc;
      border: 1px solid rgba(43, 43, 43, 0.08);
      border-radius: 1rem;
      color: var(--account-nav-text);
      text-decoration: none;
      transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
    }

    .account-side-nav__link:hover {
      transform: translateY(-1px);
      border-color: rgba(128, 196, 28, 0.42);
      background: #f9fcf3;
      box-shadow: 0 12px 22px rgba(43, 43, 43, 0.05);
      color: var(--account-nav-text);
    }

    .account-side-nav__link.is-active {
      background: #f4faeb;
      border-color: rgba(128, 196, 28, 0.5);
    }

    .account-side-nav__icon {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.4rem;
      height: 2.4rem;
      border-radius: 0.85rem;
      background: #f2f7e8;
      color: #4f7329;
      font-size: 0.95rem;
    }

    .account-side-nav__link.is-active .account-side-nav__icon {
      background: var(--account-nav-primary);
      color: var(--account-nav-text);
    }

    .account-side-nav__label {
      min-width: 0;
      font-size: 0.92rem;
      font-weight: 600;
      line-height: 1.4;
    }

    .account-side-nav__arrow {
      color: #8a8a8a;
      font-size: 0.82rem;
    }

    @media (max-width: 991.98px) {
      .account-side-nav {
        padding: 0.95rem;
      }
    }


/* Source: catalog/view/template/checkout/cart.twig */
  #checkout-cart {
    --cart-brand-primary: #80c41c;
    --cart-brand-text: #2b2b2b;
    --cart-brand-white: #ffffff;
    --cart-brand-soft-green: #d1e4b8;
    --cart-brand-soft-pink: #e5c0b8;
    --cart-brand-gray: #a9a9a9;
    --cart-brand-border: #dfdfdf;
    --cart-brand-surface: #f9f9f9;
    --cart-brand-success: #34b515;
    --cart-brand-success-soft: #b0d7a7;
    --cart-brand-danger: #ff0000;
    --cart-brand-danger-soft: #e0adad;
    --cart-brand-info: #33b5e5;
    --cart-brand-info-soft: #b0d7e5;
    --cart-card-shadow: 0 24px 50px rgba(43, 43, 43, 0.08);
  }

  .cart-page {
    padding: 2rem 0 4rem;
    background: var(--cart-brand-surface);
  }

  .cart-shell {
    display: grid;
    gap: 2rem;
  }

  .cart-hero-card,
  .cart-section {
    background: var(--cart-brand-white);
    border: 1px solid var(--cart-brand-border);
    border-radius: 2rem;
    box-shadow: var(--cart-card-shadow);
  }

  .cart-hero-card {
    display: grid;
    gap: 1.5rem;
    padding: 2.35rem;
  }

  .cart-kicker {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    background: var(--cart-brand-soft-green);
    color: var(--cart-brand-text);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  .cart-hero-copy h1 {
    margin: 1rem 0 0;
    color: var(--cart-brand-text);
    font-size: clamp(2.3rem, 4vw, 3.6rem);
    line-height: 0.96;
  }

  .cart-hero-copy p {
    max-width: 50rem;
    margin: 1rem 0 0;
    color: #5f5f5f;
    font-size: 1.05rem;
    line-height: 1.8;
  }

  .cart-hero-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.1rem;
    padding: 0;
    list-style: none;
  }

  .cart-hero-breadcrumbs li {
    display: inline-flex;
    align-items: center;
    color: #5f5f5f;
    font-size: 0.92rem;
  }

  .cart-hero-breadcrumbs li + li::before {
    content: "/";
    margin-right: 0.75rem;
    color: var(--cart-brand-gray);
  }

  .cart-hero-breadcrumbs a {
    color: inherit;
    text-decoration: none;
  }

  .cart-alert-stack {
    display: grid;
    gap: 1rem;
  }

  .cart-alert-stack .alert {
    margin: 0;
    border-radius: 1.2rem;
    border-width: 1px;
    font-weight: 600;
  }

  .cart-alert-stack .alert-info {
    background: var(--cart-brand-info-soft);
    border-color: var(--cart-brand-info);
    color: var(--cart-brand-text);
  }

  .cart-alert-stack .alert-success {
    background: var(--cart-brand-success-soft);
    border-color: var(--cart-brand-success);
    color: var(--cart-brand-text);
  }

  .cart-alert-stack .alert-danger {
    background: var(--cart-brand-danger-soft);
    border-color: var(--cart-brand-danger);
    color: var(--cart-brand-text);
  }

  .cart-section {
    padding: 2rem;
  }

  .cart-tools-section {
    border-color: var(--cart-brand-soft-pink);
    background: var(--cart-brand-white);
  }

  .cart-tools-section .cart-kicker {
    background: var(--cart-brand-gray);
    color: var(--cart-brand-text);
  }

  .cart-tools-section .cart-section-heading h2 {
    color: var(--cart-brand-text);
  }

  .cart-tools-section .cart-section-heading p {
    color: #6a6663;
  }

  .cart-section-heading {
    display: grid;
    gap: 0.8rem;
    margin-bottom: 1.5rem;
  }

  .cart-section-heading h2 {
    margin: 0;
    color: var(--cart-brand-text);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
  }

  .cart-section-heading p {
    margin: 0;
    color: #5f5f5f;
    line-height: 1.7;
  }

  .cart-tools-grid > [class*='col-'] {
    display: flex;
  }

  .cart-tool-card {
    width: 100%;
    padding: 1.5rem;
    background: var(--cart-brand-white);
    border: 1px solid var(--cart-brand-border);
    border-radius: 1.5rem;
    box-shadow: 0 16px 32px rgba(43, 43, 43, 0.05);
  }

  .cart-tool-card h3,
  .cart-tool-card h4 {
    margin: 0 0 0.55rem;
    color: var(--cart-brand-text);
    font-size: 1.2rem;
  }

  .cart-tool-card p {
    color: #5f5f5f;
    line-height: 1.7;
  }

  .cart-tool-card form {
    display: grid;
    gap: 0.25rem;
    width: 100%;
  }

  .cart-tool-card .row {
    row-gap: 1rem;
  }

  .cart-tool-card .col-form-label {
    color: var(--cart-brand-text);
    font-weight: 600;
  }

  .cart-tool-card .form-control,
  .cart-tool-card .form-select {
    min-height: 3rem;
    border-radius: 1rem;
    border-color: var(--cart-brand-border);
    box-shadow: none;
    color: var(--cart-brand-text);
    background: var(--cart-brand-surface);
  }

  .cart-tool-card .form-control:focus,
  .cart-tool-card .form-select:focus {
    border-color: var(--cart-brand-primary);
    box-shadow: 0 0 0 0.2rem rgba(128, 196, 28, 0.18);
  }

  .cart-submit-button,
  .cart-primary-link,
  .cart-secondary-link,
  .cart-inline-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 800;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  }

  .cart-submit-button,
  .cart-primary-link,
  .cart-inline-button {
    background: var(--cart-brand-primary);
    color: var(--cart-brand-text);
    border: 0;
    box-shadow: 0 18px 32px rgba(128, 196, 28, 0.24);
  }

  .cart-secondary-link {
    background: var(--cart-brand-white);
    color: var(--cart-brand-text);
    border: 1px solid var(--cart-brand-border);
  }

  .cart-submit-button:hover,
  .cart-primary-link:hover,
  .cart-inline-button:hover,
  .cart-secondary-link:hover {
    transform: translateY(-1px);
  }

  .cart-submit-button {
    padding: 0.9rem 1.4rem;
  }

  .cart-tool-card .text-end {
    margin-top: 0.35rem;
  }

  @media (min-width: 992px) {
    .cart-hero-card {
      grid-template-columns: minmax(0, 1fr);
    }
  }

  @media (max-width: 767.98px) {
    .cart-page {
      padding-top: 1rem;
    }

    .cart-hero-card,
    .cart-section {
      padding: 1.35rem;
      border-radius: 1.4rem;
    }

    .cart-kicker {
      font-size: 0.72rem;
    }
  }


/* Source: catalog/view/template/checkout/cart_list.twig */
  .cart-list-shell {
    background: transparent;
    border: 0;
    border-radius: 2rem;
    padding: 0;
    box-shadow: none;
  }

  .cart-list-grid {
    display: grid;
    gap: 1.75rem;
  }

  .cart-line-stack {
    display: grid;
    gap: 1.25rem;
  }

  .cart-line-card,
  .cart-voucher-card {
    display: grid;
    gap: 1.25rem;
    padding: 1.5rem;
    border: 1px solid var(--cart-brand-border);
    border-radius: 1.5rem;
    background: var(--cart-brand-white);
    box-shadow: 0 18px 36px rgba(43, 43, 43, 0.06);
  }

  .cart-line-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    padding: 1.5rem;
    border-radius: 1.25rem;
    background: var(--cart-brand-surface);
    border: 1px solid var(--cart-brand-soft-green);
    overflow: hidden;
  }

  .cart-line-media a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }

  .cart-line-media img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 240px;
    height: 100%;
    object-fit: contain;
  }

  .cart-line-placeholder {
    color: var(--cart-brand-gray);
    font-size: 1rem;
    font-weight: 700;
  }

  .cart-line-body {
    display: grid;
    gap: 1.15rem;
  }

  .cart-line-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
  }

  .cart-line-eyebrow {
    display: inline-flex;
    margin-bottom: 0.45rem;
    color: var(--cart-brand-gray);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .cart-line-head h3,
  .cart-voucher-card h3 {
    margin: 0;
    color: var(--cart-brand-text);
    font-size: 1.35rem;
    line-height: 1.25;
  }

  .cart-line-head h3 a {
    color: inherit;
    text-decoration: none;
  }

  .cart-remove-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--cart-brand-danger-soft);
    border-radius: 999px;
    background: #fff6f6;
    color: var(--cart-brand-danger);
    flex-shrink: 0;
  }

  .cart-remove-button:hover {
    background: var(--cart-brand-danger);
    color: var(--cart-brand-white);
  }

  .cart-line-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
  }

  .cart-line-pill,
  .cart-summary-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: var(--cart-brand-soft-green);
    color: var(--cart-brand-text);
    font-size: 0.9rem;
    font-weight: 600;
  }

  .cart-line-note {
    color: #5f5f5f;
    line-height: 1.7;
  }

  .cart-line-warning {
    padding: 0.8rem 1rem;
    border-radius: 1rem;
    background: var(--cart-brand-danger-soft);
    color: var(--cart-brand-text);
    border: 1px solid rgba(255, 0, 0, 0.18);
    font-size: 0.92rem;
    font-weight: 600;
  }

  .cart-line-footer {
    display: grid;
    gap: 1rem;
    align-items: end;
  }

  .cart-line-metric span,
  .cart-quantity-form label {
    display: block;
    margin-bottom: 0.45rem;
    color: #5f5f5f;
    font-size: 0.83rem;
    font-weight: 600;
  }

  .cart-line-metric strong {
    color: var(--cart-brand-text);
    font-size: 1.3rem;
  }

  .cart-quantity-form {
    display: grid;
    gap: 0.75rem;
  }

  .cart-qty-shell {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 220px;
    border: 1px solid var(--cart-brand-border);
    border-radius: 999px;
    background: var(--cart-brand-surface);
    overflow: hidden;
  }

  .cart-qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    border: 0;
    background: var(--cart-brand-soft-green);
    color: var(--cart-brand-text);
    font-size: 1.2rem;
    font-weight: 700;
  }

  .cart-qty-btn:hover {
    background: var(--cart-brand-primary);
  }

  .cart-qty-shell .qty {
    width: calc(100% - 6rem);
    height: 3rem;
    border: 0;
    text-align: center;
    box-shadow: none;
    color: var(--cart-brand-text);
    background: transparent;
  }

  .cart-inline-button {
    width: fit-content;
    padding: 0.85rem 1.25rem;
  }

  .cart-line-card:hover,
  .cart-voucher-card:hover {
    border-color: var(--cart-brand-soft-green);
    box-shadow: 0 22px 40px rgba(43, 43, 43, 0.08);
  }

  .cart-summary-column {
    display: flex;
  }

  .cart-summary-card {
    position: sticky;
    top: 1.5rem;
    width: 100%;
    padding: 1.65rem;
    border-radius: 1.6rem;
    background: var(--cart-brand-text);
    color: var(--cart-brand-white);
    box-shadow: 0 24px 48px rgba(43, 43, 43, 0.18);
  }

  .cart-summary-head h2 {
    margin: 0;
    font-size: 1.55rem;
    color: var(--cart-brand-white);
  }

  .cart-summary-head p {
    margin: 0.75rem 0 0;
    color: rgba(255, 255, 255, 0.76);
    line-height: 1.7;
  }

  .cart-summary-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 1.25rem 0 1.1rem;
  }

  .cart-summary-pill {
    background: var(--cart-brand-primary);
    color: var(--cart-brand-text);
  }

  .cart-summary-list {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
  }

  .cart-summary-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.82);
  }

  .cart-summary-row:last-child {
    border-bottom: 0;
  }

  .cart-summary-row.is-total {
    color: var(--cart-brand-primary);
    font-size: 1.12rem;
    font-weight: 700;
  }

  .cart-summary-actions {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.5rem;
  }

  .cart-primary-link,
  .cart-secondary-link {
    width: 100%;
    padding: 0.95rem 1.2rem;
  }

  .cart-primary-link {
    background: var(--cart-brand-primary);
    color: var(--cart-brand-text);
    box-shadow: none;
  }

  .cart-secondary-link {
    background: rgba(255, 255, 255, 0.06);
    color: var(--cart-brand-white);
    border-color: rgba(255, 255, 255, 0.16);
  }

  .cart-voucher-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .cart-voucher-meta {
    display: grid;
    gap: 0.35rem;
  }

  .cart-voucher-meta span {
    color: #5f5f5f;
  }

  @media (min-width: 992px) {
    .cart-list-grid {
      grid-template-columns: minmax(0, 1.85fr) minmax(320px, 0.9fr);
      align-items: start;
    }

    .cart-line-card {
      grid-template-columns: 240px minmax(0, 1fr);
    }

    .cart-line-footer {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }

  @media (max-width: 991.98px) {
    .cart-summary-card {
      position: static;
    }
  }

  @media (max-width: 767.98px) {
    .cart-list-shell {
      padding: 0;
      border-radius: 1.4rem;
    }

    .cart-line-card,
    .cart-voucher-card {
      padding: 1rem;
      border-radius: 1.2rem;
    }

    .cart-line-head {
      flex-direction: column;
      align-items: flex-start;
    }

    .cart-line-media {
      min-height: 180px;
      padding: 1rem;
    }

    .cart-voucher-card {
      grid-template-columns: 1fr;
    }
  }


/* Source: catalog/view/template/checkout/checkout.twig */
        #checkout-checkout.checkout-modern {
          --checkout-primary: #80c41c;
          --checkout-text: #2b2b2b;
          --checkout-soft-green: #d1e4b8;
          --checkout-soft-pink: #e5c0b8;
          --checkout-surface: #ffffff;
          --checkout-surface-alt: #f9f9f9;
          --checkout-border: #dfdfdf;
          --checkout-shadow: 0 24px 50px rgba(43, 43, 43, 0.07);
          --checkout-shadow-soft: 0 14px 28px rgba(43, 43, 43, 0.05);
          color: var(--checkout-text);
        }

        #checkout-checkout .checkout-hero {
          display: grid;
          grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
          gap: 1.25rem;
          margin-bottom: 1.6rem;
        }

        #checkout-checkout .checkout-hero-copy,
        #checkout-checkout .checkout-hero-note {
          padding: 1.5rem 1.6rem;
          background: var(--checkout-surface);
          border: 1px solid var(--checkout-border);
          border-radius: 1.55rem;
          box-shadow: var(--checkout-shadow-soft);
        }

        #checkout-checkout .checkout-hero-kicker {
          display: inline-flex;
          align-items: center;
          min-height: 2rem;
          padding: 0.35rem 0.8rem;
          margin-bottom: 0.9rem;
          background: #f2f8e8;
          border-radius: 999px;
          color: #446924;
          font-size: 0.74rem;
          font-weight: 700;
          letter-spacing: 0.08em;
          text-transform: uppercase;
        }

        #checkout-checkout .checkout-hero-copy h2,
        #checkout-checkout .checkout-hero-note h3 {
          margin: 0;
          color: var(--checkout-text);
        }

        #checkout-checkout .checkout-hero-copy h2 {
          font-size: clamp(1.85rem, 4vw, 2.8rem);
          letter-spacing: -0.04em;
        }

        #checkout-checkout .checkout-hero-copy p,
        #checkout-checkout .checkout-hero-note p {
          margin: 0.7rem 0 0;
          color: #666666;
          font-size: 1rem;
          line-height: 1.7;
        }

        #checkout-checkout .checkout-hero-note {
          display: flex;
          flex-direction: column;
          justify-content: center;
          background: linear-gradient(180deg, #ffffff 0%, #f7fbf0 100%);
        }

        #checkout-checkout .checkout-hero-note h3 {
          font-size: 1.2rem;
        }

        #checkout-checkout .checkout-flow-grid {
          display: grid;
          grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.82fr);
          gap: 1.25rem;
        }

        #checkout-checkout .checkout-primary,
        #checkout-checkout .checkout-secondary {
          display: grid;
          gap: 1.1rem;
          min-width: 0;
        }

        #checkout-checkout .checkout-secondary {
          position: sticky;
          top: 1.25rem;
          align-self: start;
        }

        #checkout-checkout .checkout-surface {
          background: var(--checkout-surface);
          border: 1px solid var(--checkout-border);
          border-radius: 1.55rem;
          box-shadow: var(--checkout-shadow-soft);
          overflow: hidden;
        }

        #checkout-checkout .checkout-surface-inner {
          padding: 1.45rem 1.5rem;
        }

        #checkout-checkout .checkout-surface-summary .checkout-surface-head {
          padding: 1.35rem 1.5rem 0;
        }

        #checkout-checkout .checkout-surface-head h3 {
          margin: 0;
          font-size: 1.2rem;
          color: var(--checkout-text);
        }

        #checkout-checkout .checkout-surface-head p {
          margin: 0.4rem 0 0;
          color: #6a6a6a;
          font-size: 0.94rem;
          line-height: 1.6;
        }

        #checkout-checkout .checkout-surface form,
        #checkout-checkout .checkout-surface fieldset {
          margin: 0;
        }

        #checkout-checkout .checkout-surface fieldset {
          border: 0;
          padding: 0;
          min-width: 0;
        }

        #checkout-checkout .checkout-surface legend {
          width: 100%;
          margin: 0 0 1rem;
          padding: 0 0 0.9rem;
          border-bottom: 1px solid rgba(43, 43, 43, 0.08);
          color: var(--checkout-text);
          font-size: 1.12rem;
          font-weight: 700;
        }

        #checkout-checkout .checkout-surface p {
          color: #6a6a6a;
          line-height: 1.65;
        }

        #checkout-checkout .checkout-surface .form-label {
          color: var(--checkout-text);
          font-size: 0.9rem;
          font-weight: 600;
        }

        #checkout-checkout .checkout-surface .form-control,
        #checkout-checkout .checkout-surface .form-select,
        #checkout-checkout .checkout-surface .input-group-text,
        #checkout-checkout .checkout-surface textarea {
          border-color: var(--checkout-border);
          border-radius: 1rem;
          min-height: 3.05rem;
          box-shadow: none;
        }

        #checkout-checkout .checkout-surface textarea.form-control {
          min-height: 6.5rem;
          padding-top: 0.85rem;
          padding-bottom: 0.85rem;
        }

        #checkout-checkout .checkout-surface .form-control,
        #checkout-checkout .checkout-surface .form-select,
        #checkout-checkout .checkout-surface textarea {
          padding-left: 0.95rem;
          padding-right: 0.95rem;
          background: #fcfcfc;
        }

        #checkout-checkout .checkout-surface .input-group {
          gap: 0.7rem;
          align-items: stretch;
        }

        #checkout-checkout .checkout-surface .input-group > .form-control,
        #checkout-checkout .checkout-surface .input-group > .form-select {
          flex: 1 1 auto;
          border-radius: 1rem !important;
        }

        #checkout-checkout .checkout-surface .input-group > .input-group-text {
          flex: 0 0 auto;
          background: #f6f6f6;
          padding: 0 1rem;
        }

        #checkout-checkout .checkout-surface .form-check {
          margin-bottom: 0.55rem;
        }

        #checkout-checkout .checkout-surface .form-check-input {
          border-color: #bfc6bb;
          box-shadow: none;
        }

        #checkout-checkout .checkout-surface .form-check-input:checked {
          background-color: var(--checkout-primary);
          border-color: var(--checkout-primary);
        }

        #checkout-checkout .checkout-surface .form-check-label {
          color: #555555;
        }

        #checkout-checkout .checkout-surface .btn,
        #checkout-checkout .checkout-surface .button {
          border-radius: 999px;
          min-height: 3rem;
          padding: 0.8rem 1.3rem;
          font-weight: 700;
        }

        #checkout-checkout .checkout-surface .btn-primary,
        #checkout-checkout .checkout-surface .button-green {
          background: var(--checkout-primary);
          border-color: var(--checkout-primary);
          color: var(--checkout-text);
        }

        #checkout-checkout .checkout-surface .btn-primary:hover,
        #checkout-checkout .checkout-surface .button-green:hover {
          background: #72b319;
          border-color: #72b319;
          color: var(--checkout-text);
        }

        #checkout-checkout .checkout-surface .btn-light {
          background: #f6f6f6;
          border-color: var(--checkout-border);
        }

        #checkout-checkout .checkout-surface .invalid-feedback {
          font-size: 0.82rem;
        }

        #checkout-checkout .checkout-surface .required .form-label::after,
        #checkout-checkout .checkout-surface .required > .form-label::after {
          content: " *";
          color: #ff0000;
        }

        #checkout-checkout .checkout-surface-summary #checkout-confirm {
          padding: 1rem 1.5rem 1.5rem;
        }

        #checkout-checkout .checkout-review-list {
          display: grid;
          gap: 0.8rem;
        }

        #checkout-checkout .checkout-review-item {
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          gap: 0.85rem;
          padding: 1rem 1.05rem;
          background: #fbfbfb;
          border: 1px solid rgba(43, 43, 43, 0.07);
          border-radius: 1.1rem;
        }

        #checkout-checkout .checkout-review-title {
          color: var(--checkout-text);
          font-size: 0.96rem;
          font-weight: 700;
          text-decoration: none;
        }

        #checkout-checkout .checkout-review-meta {
          margin-top: 0.35rem;
          color: #6a6a6a;
          font-size: 0.82rem;
          line-height: 1.55;
        }

        #checkout-checkout .checkout-review-price {
          color: var(--checkout-text);
          font-size: 0.96rem;
          font-weight: 700;
          white-space: nowrap;
        }

        #checkout-checkout .checkout-review-totals {
          margin-top: 1rem;
          padding-top: 1rem;
          border-top: 1px solid rgba(43, 43, 43, 0.08);
        }

        #checkout-checkout .checkout-review-total {
          display: flex;
          justify-content: space-between;
          gap: 1rem;
          padding: 0.5rem 0;
          color: #555555;
          font-size: 0.92rem;
        }

        #checkout-checkout .checkout-review-total strong {
          color: var(--checkout-text);
        }

        #checkout-checkout .checkout-review-total.is-grand {
          margin-top: 0.2rem;
          padding-top: 0.8rem;
          border-top: 1px solid rgba(43, 43, 43, 0.08);
          font-size: 1rem;
        }

        #checkout-checkout .checkout-review-total.is-grand strong {
          font-size: 1.08rem;
        }

        #checkout-checkout #checkout-payment {
          margin-top: 1.2rem;
        }

        #checkout-checkout #checkout-payment .text-end {
          margin: 0;
        }

        #checkout-checkout #checkout-payment .btn,
        #checkout-checkout #checkout-payment button,
        #checkout-checkout #checkout-payment input[type='submit'] {
          width: 100%;
          border-radius: 999px;
          min-height: 3.2rem;
        }

        #checkout-checkout .checkout-surface .alert {
          border-radius: 1rem;
        }

        .checkout-choice-modal {
          --checkout-modal-surface: rgba(255, 255, 255, 0.98);
          --checkout-modal-line: rgba(43, 43, 43, 0.08);
          --checkout-modal-muted: #666666;
        }

        .checkout-choice-modal .modal-dialog {
          max-width: min(680px, calc(100vw - 1.5rem));
        }

        .checkout-choice-modal .modal-content {
          border: 1px solid var(--checkout-modal-line);
          border-radius: 1.75rem;
          background:
            radial-gradient(circle at top right, rgba(128, 196, 28, 0.12), transparent 34%),
            linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
          box-shadow: 0 26px 56px rgba(43, 43, 43, 0.16);
          overflow: hidden;
        }

        .checkout-choice-modal .modal-header {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 1rem;
          padding: 1.3rem 1.45rem 1rem;
          border-bottom: 1px solid var(--checkout-modal-line);
          background: transparent;
        }

        .checkout-choice-modal .modal-title {
          display: inline-flex;
          align-items: center;
          gap: 0.7rem;
          margin: 0;
          color: var(--checkout-text);
          font-size: 1.15rem;
          font-weight: 700;
          letter-spacing: -0.02em;
        }

        .checkout-choice-modal .modal-title i {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 2.25rem;
          height: 2.25rem;
          border-radius: 999px;
          background: rgba(128, 196, 28, 0.14);
          color: #527a13;
          font-size: 0.95rem;
        }

        .checkout-choice-modal .btn-close {
          width: 2.5rem;
          height: 2.5rem;
          margin: 0;
          border-radius: 999px;
          background-color: #f5f8ef;
          opacity: 1;
          box-shadow: none;
        }

        .checkout-choice-modal .btn-close:focus {
          box-shadow: 0 0 0 0.16rem rgba(128, 196, 28, 0.16);
        }

        .checkout-choice-modal .modal-body {
          padding: 1.3rem 1.45rem 1.45rem;
        }

        .checkout-choice-modal__form {
          display: grid;
          gap: 0.95rem;
        }

        .checkout-choice-modal__intro {
          margin: 0;
          color: var(--checkout-modal-muted);
          line-height: 1.7;
        }

        .checkout-choice-modal__group {
          margin: 0.15rem 0 0;
          color: var(--checkout-text);
          font-size: 0.94rem;
          line-height: 1.5;
        }

        .checkout-choice-modal__group strong {
          font-weight: 700;
        }

        .checkout-choice-modal__option {
          display: flex;
          align-items: flex-start;
          gap: 0.8rem;
          margin: 0;
          min-height: 0;
          padding: 1rem 1.05rem;
          border: 1px solid rgba(43, 43, 43, 0.08);
          border-radius: 1.15rem;
          background: #fcfcfc;
          transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
        }

        .checkout-choice-modal__option:hover {
          border-color: rgba(128, 196, 28, 0.34);
          background: #f8fbf2;
          transform: translateY(-1px);
        }

        .checkout-choice-modal__option .form-check-input {
          flex: 0 0 auto;
          width: 1.15rem;
          height: 1.15rem;
          margin-top: 0.2rem;
          border-color: #bfc6bb;
        }

        .checkout-choice-modal__option .form-check-input:checked {
          background-color: var(--checkout-primary);
          border-color: var(--checkout-primary);
        }

        .checkout-choice-modal__option .form-check-label {
          color: var(--checkout-text);
          font-size: 0.94rem;
          font-weight: 600;
          line-height: 1.65;
          cursor: pointer;
        }

        .checkout-choice-modal .alert {
          margin: 0;
          border-radius: 1rem;
        }

        .checkout-choice-modal__actions {
          margin-top: 0.25rem;
        }

        .checkout-choice-modal__actions .btn {
          min-width: 200px;
          min-height: 3.05rem;
          border-radius: 999px;
          padding: 0.82rem 1.35rem;
          font-weight: 700;
        }

        @media (max-width: 1199.98px) {
          #checkout-checkout .checkout-hero,
          #checkout-checkout .checkout-flow-grid {
            grid-template-columns: 1fr;
          }

          #checkout-checkout .checkout-secondary {
            position: static;
          }
        }

        @media (max-width: 767.98px) {
          #checkout-checkout .checkout-hero-copy,
          #checkout-checkout .checkout-hero-note,
          #checkout-checkout .checkout-surface-inner,
          #checkout-checkout .checkout-surface-summary .checkout-surface-head,
          #checkout-checkout .checkout-surface-summary #checkout-confirm {
            padding-left: 1rem;
            padding-right: 1rem;
          }

          #checkout-checkout .checkout-surface .input-group {
            flex-direction: column;
          }

          #checkout-checkout .checkout-surface .input-group > .input-group-text {
            width: 100%;
            justify-content: center;
          }

          .checkout-choice-modal .modal-content {
            border-radius: 1.4rem;
          }

          .checkout-choice-modal .modal-header,
          .checkout-choice-modal .modal-body {
            padding-left: 1rem;
            padding-right: 1rem;
          }

          .checkout-choice-modal__option {
            padding: 0.9rem;
            border-radius: 1rem;
          }

          .checkout-choice-modal__actions .btn {
            width: 100%;
            min-width: 0;
          }
        }


/* Source: catalog/view/template/product/product.twig */
  .product-shell {
    position: relative;
  }

  .product-shell::before {
    display: none;
  }

  .product-hero {
    position: relative;
    z-index: 1;
  }

  .product-layout {
    align-items: start;
  }

  .product-gallery-column {
    align-self: start;
  }

  .product-panel {
    height: 100%;
    width: 100%;
  }

  .product-card {
    height: 100%;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 28px;
    background: #ffffff;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(10px);
    overflow: hidden;
  }

  .product-card-body {
    padding: 1.75rem;
  }

  .product-gallery-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 1.2rem;
    background: #ffffff;
  }

  .product-gallery-card .product-image {
    margin: 0;
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
  }

  .product-gallery-card .product-image-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 520px;
    padding: 2rem;
    text-align: center;
    background: #f5f7f6;
    border: 1px dashed rgba(15, 23, 42, 0.12);
  }

  .product-image-empty-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    max-width: 320px;
    color: #506070;
  }

  .product-image-empty-copy i {
    font-size: 2rem;
    color: #173d2c;
  }

  .product-image-empty-copy strong {
    color: #17212b;
    font-size: 1.05rem;
  }

  .product-image-empty-copy span {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  .product-gallery-meta {
    display: grid;
    gap: 0.9rem;
    margin-top: 1.25rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  }

  .product-gallery-stat {
    padding: 1rem 1.1rem;
    border-radius: 20px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
  }

  .product-gallery-stat strong {
    display: block;
    margin-bottom: 0.2rem;
    color: #17212b;
    font-size: 1rem;
  }

  .product-gallery-stat span {
    color: rgba(23, 33, 43, 0.65);
    font-size: 0.92rem;
  }

  .product-purchase-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
  }

  .product-purchase-card .product-card-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
  }

  .product-panel-main {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto;
    overflow: visible;
  }

  .panel-section + .panel-section {
    margin-top: 1.25rem;
  }

  .panel-divider {
    height: 1px;
    margin: 1.35rem 0;
    background: rgba(15, 23, 42, 0.08);
  }

  .product-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: rgba(21, 89, 54, 0.08);
    color: #155936;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .product-headline {
    margin: 1rem 0 0;
    color: #101828;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: -0.04em;
  }

  .product-subline {
    margin: 0.85rem 0 0;
    color: rgba(16, 24, 40, 0.68);
    font-size: 1.02rem;
    line-height: 1.8;
  }

  .product-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-top: 1.2rem;
  }

  .product-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.72rem 0.95rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    color: #17212b;
    font-size: 0.92rem;
    font-weight: 600;
  }

  .product-price-card {
    padding: 1.35rem;
    border-radius: 24px;
    background: #173d2c;
    color: #fff;
  }

  .product-price-label {
    display: block;
    margin-bottom: 0.45rem;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .product-price-card .product-price {
    color: #fff;
    font-size: clamp(1.9rem, 3vw, 2.7rem);
    font-weight: 700;
  }

  .product-price-card .product-price del {
    color: rgba(255, 255, 255, 0.55);
    font-size: 1.15rem;
    font-weight: 500;
  }

  .product-tax-note {
    display: inline-flex;
    margin-top: 0.9rem;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.9rem;
  }

  .product-option-card {
    display: flex;
    flex-direction: column;
    flex: 0 0 auto;
    border-radius: 24px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    background: #ffffff;
    overflow: hidden;
  }

  .product-option-card.is-open {
    flex: 1 1 auto;
    min-height: 0;
  }

  .option-card-head {
    position: relative;
    display: block;
    width: 100%;
    padding: 1.35rem 1.35rem 1rem;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: default;
  }

  .option-card-head::after {
    content: "+";
    position: absolute;
    top: 1.2rem;
    right: 1.35rem;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(23, 61, 44, 0.08);
    color: #173d2c;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1;
  }

  .product-option-card.is-open .option-card-head::after {
    content: "-";
    background: rgba(23, 61, 44, 0.14);
  }

  .option-card-head--static::after {
    display: none;
  }

  .product-option-card h3 {
    margin-bottom: 0.35rem;
    color: #101828;
    font-size: 1.2rem;
  }

  .product-option-helper {
    margin-bottom: 0;
    color: rgba(16, 24, 40, 0.65);
    font-size: 0.95rem;
  }

  .option-card-body {
    flex: 1 1 auto;
    min-height: auto;
    padding: 0 1.35rem 1.35rem;
    overflow: visible;
  }

  .product-option-card:not(.is-open) .option-card-body {
    display: block;
  }

  .product-option-card.is-open .option-card-body {
    min-height: auto;
    overflow: visible;
    overscroll-behavior: auto;
    scrollbar-gutter: auto;
  }

  .product-option-card.is-open .option-card-body::-webkit-scrollbar {
    width: 8px;
  }

  .product-option-card.is-open .option-card-body::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(23, 61, 44, 0.18);
  }

  .product-form-layout {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 1.25rem;
    margin-top: 1.25rem;
    min-height: 0;
    overflow: visible;
  }

  .product-purchase-actions {
    flex: 0 0 auto;
  }

  .product-option-card .form-label {
    color: #17212b;
    font-weight: 700;
  }

  .product-option-card .form-select,
  .product-option-card .form-control,
  .product-option-card .input-group-text {
    min-height: 52px;
    border-radius: 16px;
    border-color: rgba(15, 23, 42, 0.1);
  }

  .product-option-card .form-check {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
    padding: 0.95rem 1rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
  }

  .product-option-card .form-check + .form-check {
    margin-top: 0.75rem;
  }

  .product-option-card .form-check-input {
    margin-top: 0.2rem;
  }

  .product-option-card .option-choice {
    position: relative;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .product-option-card .option-choice + .option-choice {
    margin-top: 0.85rem;
  }

  .product-option-card .option-choice-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    pointer-events: none;
  }

  .product-option-card .option-choice-label {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    width: 100%;
    margin: 0;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    border: 1px solid rgba(15, 23, 42, 0.1);
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
  }

  .product-option-card .option-choice-label::after {
    content: "";
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin-left: auto;
    border-radius: 999px;
    border: 1.5px solid rgba(23, 61, 44, 0.28);
    background: #fff;
    box-shadow: inset 0 0 0 4px #fff;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  .product-option-card .option-choice-input:checked + .option-choice-label {
    border-color: rgba(23, 61, 44, 0.42);
    background: #eef6f1;
    box-shadow: 0 14px 30px rgba(23, 61, 44, 0.12);
    transform: translateY(-1px);
  }

  .product-option-card .option-choice-input:checked + .option-choice-label::after {
    border-color: #173d2c;
    background: #173d2c;
    box-shadow: inset 0 0 0 4px #d9f3e7;
    transform: scale(1.03);
  }

  .product-option-card .option-choice-input.is-invalid + .option-choice-label {
    border-color: #dc3545;
  }

  .product-option-card .option-choice-copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }

  .product-option-card .option-choice-title {
    color: #17212b;
    font-weight: 700;
  }

  .product-option-card .option-choice-price {
    color: rgba(23, 61, 44, 0.82);
    font-size: 0.92rem;
    font-weight: 600;
  }

  .product-option-card .option-choice-image {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    object-fit: cover;
  }

  .product-option-card .option-pill-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  .product-option-card .option-pill-group .option-choice + .option-choice {
    margin-top: 0;
  }

  .product-option-card .option-choice--pill {
    flex: 0 0 auto;
  }

  .product-option-card .option-choice-input--pill {
    pointer-events: none;
  }

  .product-option-card .option-choice-label--pill {
    width: auto;
    max-width: 100%;
    min-height: 3.35rem;
    padding: 0.8rem 1rem;
    gap: 0.7rem;
    border-radius: 999px;
    background: #fcfcfc;
    align-items: center;
  }

  .product-option-card .option-choice-label--pill::after {
    display: none;
  }

  .product-option-card .option-choice-input--pill:checked + .option-choice-label--pill {
    border-color: rgba(130, 193, 31, 0.44);
    background: #f4f8ec;
    box-shadow: none;
    transform: none;
  }

  .product-option-card .option-choice-image--pill {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
  }

  .product-option-card .option-choice-label--pill .option-choice-copy {
    gap: 0.1rem;
  }

  .product-option-card .option-choice-label--pill .option-choice-title {
    font-size: 0.94rem;
    line-height: 1.2;
  }

  .product-option-card .option-choice-label--pill .option-choice-price {
    font-size: 0.82rem;
  }

  .purchase-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    margin-top: 1.5rem;
  }

  .purchase-bar .quantity {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    overflow: hidden;
  }

  .purchase-bar .quantity input.minus,
  .purchase-bar .quantity input.plus {
    width: 54px;
    height: 54px;
    border: 0;
    background: transparent;
    color: #173d2c;
    font-size: 1.2rem;
    font-weight: 700;
  }

  .purchase-bar .quantity .qty {
    width: 78px;
    height: 54px;
    border: 0;
    background: transparent;
    text-align: center;
    font-weight: 700;
  }

  .purchase-bar .add-to-cart {
    min-height: 54px;
    padding-inline: 1.6rem;
    border-radius: 999px;
    background: #173d2c;
    border: 0;
    box-shadow: 0 18px 38px rgba(23, 61, 44, 0.24);
  }

  .brand-badge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 22px;
    background: #f5f7f6;
    border: 1px solid rgba(15, 23, 42, 0.08);
  }

  .brand-badge img {
    max-width: 110px;
    max-height: 54px;
    object-fit: contain;
  }

  .product-deep-dive {
    margin-top: 2rem;
  }

  .product-deep-dive .section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    background: rgba(21, 89, 54, 0.08);
    color: #155936;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .product-deep-dive .detail-card {
    height: 100%;
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 24px;
    background: #ffffff;
    box-shadow: 0 18px 48px rgba(17, 24, 39, 0.08);
    overflow: hidden;
  }

  .product-deep-dive .detail-card-body {
    padding: 2rem;
  }

  .product-deep-dive .detail-card-soft {
    background: #ffffff;
  }

  .product-deep-dive .detail-title {
    margin-bottom: 0.75rem;
    font-size: clamp(1.5rem, 2vw, 2rem);
    line-height: 1.15;
  }

  .product-deep-dive .detail-lead {
    color: rgba(17, 24, 39, 0.7);
    font-size: 1rem;
    line-height: 1.8;
  }

  .product-deep-dive .detail-copy {
    color: #24313f;
    line-height: 1.8;
  }

  .product-deep-dive .info-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.65rem 0.95rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(17, 24, 39, 0.08);
    color: #24313f;
    font-size: 0.92rem;
    font-weight: 600;
  }

  .product-deep-dive .info-pill-option {
    background: #eef6f1;
    border-color: rgba(23, 61, 44, 0.14);
    color: #173d2c;
  }

  .download-list {
    display: grid;
    gap: 0.85rem;
  }

  .download-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-radius: 18px;
    border: 1px solid rgba(17, 24, 39, 0.08);
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }

  .download-card:hover {
    border-color: rgba(23, 61, 44, 0.24);
    box-shadow: 0 14px 30px rgba(17, 24, 39, 0.08);
    transform: translateY(-1px);
    color: inherit;
  }

  .download-card-copy {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
  }

  .download-card-copy strong {
    color: #17212b;
    font-size: 0.98rem;
  }

  .download-card-copy span {
    color: rgba(17, 24, 39, 0.58);
    font-size: 0.88rem;
  }

  .download-card-action {
    flex: 0 0 auto;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    background: rgba(23, 61, 44, 0.08);
    color: #173d2c;
    font-size: 0.85rem;
    font-weight: 700;
  }

  .download-empty {
    padding: 1rem 1.1rem;
    border-radius: 18px;
    background: rgba(17, 24, 39, 0.03);
    color: rgba(17, 24, 39, 0.6);
    font-size: 0.92rem;
    line-height: 1.7;
  }

  .product-deep-dive .detail-stack {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
  }

  .product-deep-dive .spec-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
  }

  .product-deep-dive .spec-card {
    border: 1px solid rgba(17, 24, 39, 0.08);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(17, 24, 39, 0.06);
    overflow: hidden;
  }

  .product-deep-dive .spec-card-head {
    padding: 1.15rem 1.35rem;
    background: #173d2c;
    color: #fff;
  }

  .product-deep-dive .spec-card-head h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
  }

  .product-deep-dive .spec-list {
    display: grid;
    gap: 0;
  }

  .product-deep-dive .spec-item {
    display: grid;
    grid-template-columns: minmax(120px, 38%) 1fr;
    gap: 1rem;
    padding: 1rem 1.35rem;
    border-top: 1px solid rgba(17, 24, 39, 0.08);
  }

  .product-deep-dive .spec-label {
    color: rgba(17, 24, 39, 0.58);
    font-weight: 600;
  }

  .product-deep-dive .spec-value {
    color: #17212b;
    font-weight: 500;
  }

  @media (max-width: 767.98px) {
    .product-card-body {
      padding: 1.2rem;
    }

    .product-deep-dive .detail-card-body {
      padding: 1.4rem;
    }

    .product-deep-dive .spec-item {
      grid-template-columns: 1fr;
      gap: 0.35rem;
    }

    .purchase-bar {
      align-items: stretch;
    }

    .purchase-bar .add-to-cart {
      width: 100%;
      justify-content: center;
    }
  }

  @media (max-width: 991.98px) {
    .product-panel-main {
      display: block;
      height: auto;
      overflow: visible;
    }

    .product-option-card {
      min-height: auto;
    }

    .product-option-card.is-open .option-card-body {
      overflow: visible;
    }
  }

  @media (min-width: 992px) {
    .product-gallery-card {
      min-height: 980px;
    }

    .product-gallery-column,
    .product-panel-column {
      display: flex;
    }

    .product-option-card.is-open {
      min-height: 0;
    }

    .product-option-card.is-open .option-card-body {
      min-height: 320px;
    }
  }

/* Source: blog modern styles */
.blog-hero {
  position: relative;
  padding: 2.25rem 0 1.55rem;
  overflow: hidden;
}

.blog-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(248, 251, 242, 0.84) 0%, rgba(255, 255, 255, 0.92) 76%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.58) 48%, rgba(255, 255, 255, 0.84) 100%),
    radial-gradient(circle at top left, rgba(209, 228, 184, 0.7), transparent 34%),
    radial-gradient(circle at top right, rgba(176, 215, 229, 0.28), transparent 28%),
    var(--blog-hero-image) center/cover no-repeat;
  border-bottom: 1px solid rgba(223, 223, 223, 0.76);
}

.blog-hero--article::before {
  background:
    linear-gradient(180deg, rgba(248, 251, 242, 0.76) 0%, rgba(255, 255, 255, 0.88) 76%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.74) 0%, rgba(255, 255, 255, 0.5) 52%, rgba(255, 255, 255, 0.82) 100%),
    radial-gradient(circle at top left, rgba(209, 228, 184, 0.62), transparent 34%),
    radial-gradient(circle at top right, rgba(176, 215, 229, 0.24), transparent 28%),
    var(--blog-hero-image) center/cover no-repeat;
}

.blog-hero .container {
  position: relative;
  z-index: 1;
}

.blog-hero-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  gap: 2rem;
  align-items: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.blog-hero--article {
  padding: 2.6rem 0 1.45rem;
}

.blog-hero--article .blog-hero-shell {
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, 0.65fr);
  gap: 2.35rem;
}

.blog-hero--article .blog-hero-main {
  max-width: 52rem;
}

.blog-kicker,
.blog-note-label {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.38rem 0.86rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.88);
  color: #466325;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-hero-main h1 {
  margin: 1rem 0 0;
  color: #2b2b2b;
  font-size: clamp(2.35rem, 4vw, 4.2rem);
  line-height: 0.94;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.blog-hero-main p {
  max-width: 48rem;
  margin: 1rem 0 0;
  color: #5b5b5b;
  font-size: 1.04rem;
  line-height: 1.9;
}

.blog-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.95rem;
  margin-top: 1.55rem;
}

.blog-hero-stat {
  display: grid;
  gap: 0.28rem;
  min-width: 150px;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(223, 223, 223, 0.84);
  border-radius: 1.25rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 32px rgba(43, 43, 43, 0.05);
}

.blog-hero-stat small {
  color: #6c6c6c;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-hero-stat strong {
  color: #2b2b2b;
  font-size: 1.02rem;
  font-weight: 800;
}

.blog-hero-side {
  display: grid;
  gap: 1.1rem;
  align-self: start;
  align-content: start;
}

.blog-hero-note,
.blog-breadcrumbs {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.blog-hero:not(.blog-hero--article) .blog-hero-note {
  padding: 1.1rem 0 1.1rem 1.1rem;
  border-left: 3px solid #82c11f;
}

.blog-hero--article .blog-hero-side {
  justify-self: end;
  max-width: 20.5rem;
  gap: 1.25rem;
  padding-top: 0.35rem;
}

.blog-hero--article .blog-hero-note {
  display: grid;
  gap: 1rem;
  padding: 1.3rem 1.35rem;
  border: 1px solid rgba(223, 223, 223, 0.88);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 20px 40px rgba(43, 43, 43, 0.05);
}

.blog-hero-note p {
  margin: 0.8rem 0 0;
  color: #636363;
  line-height: 1.8;
}

.blog-hero--article .blog-kicker {
  margin-top: 0.9rem;
}

.blog-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0;
}

.blog-hero-main .blog-breadcrumbs {
  margin-bottom: 0.95rem;
}

.blog-breadcrumbs .breadcrumb-item,
.blog-breadcrumbs .breadcrumb-item a {
  color: #6b6b6b;
  font-size: 0.84rem;
  font-weight: 600;
  text-decoration: none;
}

.blog-breadcrumbs .breadcrumb-item::before {
  color: #a7a7a7;
  padding-right: 0.35rem;
}

.blog-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #2b2b2b;
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
}

.blog-back-link:hover {
  color: #74ad15;
}

.blog-article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1rem;
  margin-top: 1.35rem;
}

.blog-article-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.6rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(223, 223, 223, 0.82);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 12px 26px rgba(43, 43, 43, 0.04);
  color: #626262;
  font-size: 0.91rem;
  font-weight: 600;
  line-height: 1.6;
}

.blog-article-meta i {
  color: #6ca613;
}

.blog-article-meta a {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
}

.blog-page {
  padding: 1.5rem 0 4rem;
}

.blog-filter-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.5rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 34px rgba(43, 43, 43, 0.06);
}

.blog-filter-label {
  color: #6a6a6a;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-filter-chip,
.blog-clear-filter {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  text-decoration: none;
}

.blog-filter-chip {
  background: #f5f9ef;
  border: 1px solid rgba(209, 228, 184, 0.95);
  color: #466325;
  font-size: 0.88rem;
  font-weight: 700;
}

.blog-clear-filter {
  margin-left: auto;
  background: #2b2b2b;
  color: #ffffff;
  font-size: 0.88rem;
  font-weight: 700;
}

.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 2rem;
  align-items: start;
}

.blog-main {
  min-width: 0;
}

.blog-featured-card {
  display: grid;
  grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.05fr);
  overflow: hidden;
  margin-bottom: 1.35rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.9rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 50px rgba(43, 43, 43, 0.08);
}

.blog-featured-media {
  display: block;
  min-height: 100%;
  background: #f4f8ec;
}

.blog-featured-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.blog-featured-body {
  display: grid;
  gap: 1rem;
  padding: 1.7rem;
}

.blog-featured-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.blog-kicker--light {
  background: rgba(209, 228, 184, 0.5);
  color: #4b6f26;
}

.blog-featured-body h2 {
  margin: 0;
  color: #202020;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.blog-featured-body h2 a {
  color: inherit;
  text-decoration: none;
}

.blog-featured-body p {
  margin: 0;
  color: #595959;
  font-size: 0.98rem;
  line-height: 1.9;
}

.blog-list-grid,
.blog-sidebar-stack,
.blog-product-stack,
.blog-category-list,
.blog-tag-cloud,
.blog-recommend-grid {
  display: grid;
  gap: 1.2rem;
}

.blog-card,
.blog-side-card,
.blog-article-card,
.blog-author-card,
.blog-share-card,
.blog-recommend-card {
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.8rem;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 20px 40px rgba(43, 43, 43, 0.06);
}

.blog-card {
  display: grid;
  grid-template-columns: minmax(260px, 0.92fr) minmax(0, 1.08fr);
  overflow: hidden;
}

.blog-list-grid--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blog-card--stacked {
  grid-template-columns: 1fr;
}

.blog-card--stacked .blog-card-media {
  min-height: 240px;
  aspect-ratio: 16 / 10;
}

.blog-card-media,
.blog-recommend-card__media {
  display: block;
  position: relative;
  min-height: 100%;
  background: #f4f8ec;
}

.blog-card-media img,
.blog-recommend-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.blog-card-body,
.blog-recommend-card__body {
  display: grid;
  gap: 1rem;
  padding: 1.5rem;
}

.blog-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.blog-topic-pill {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.34rem 0.8rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.68);
  color: #4b6f26;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

.blog-card h2,
.blog-recommend-card h3 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.blog-card h2 a,
.blog-recommend-card h3 a,
.blog-author-card__body h3 a {
  color: inherit;
  text-decoration: none;
}

.blog-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
}

.blog-card-meta span,
.blog-card-meta a {
  color: #6a6a6a;
  font-size: 0.88rem;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
}

.blog-card p,
.blog-recommend-card p {
  margin: 0;
  color: #5f5f5f;
  line-height: 1.8;
}

.blog-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #2b2b2b;
  font-weight: 800;
  text-decoration: none;
}

.blog-card-link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.82rem;
}

.blog-pagination-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.blog-pagination-wrap .pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.blog-pagination-wrap .pagination a,
.blog-pagination-wrap .pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.9rem;
  height: 2.9rem;
  padding: 0 0.9rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 999px;
  background: #ffffff;
  color: #2b2b2b;
  font-weight: 700;
  text-decoration: none;
}

.blog-pagination-wrap .pagination .active span,
.blog-pagination-wrap .pagination a:hover {
  background: #80c41c;
  border-color: #80c41c;
  color: #2b2b2b;
}

.blog-sidebar {
  min-width: 0;
}

.blog-sidebar-stack {
  position: sticky;
  top: 1.5rem;
}

.blog-side-card {
  padding: 1.35rem;
}

.blog-side-card__head h3,
.blog-section-heading h2 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.blog-category-list,
.blog-product-stack {
  margin-top: 1rem;
}

.blog-category-item,
.blog-product-item {
  display: grid;
  gap: 0.8rem;
  align-items: center;
  text-decoration: none;
}

.blog-category-item {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(223, 223, 223, 0.9);
  border-radius: 1.15rem;
  background: #fbfcf8;
  color: #2b2b2b;
}

.blog-category-item strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.56);
  color: #4f7329;
  font-size: 0.82rem;
}

.blog-product-item {
  grid-template-columns: 74px minmax(0, 1fr);
  padding: 0.8rem;
  border: 1px solid rgba(223, 223, 223, 0.9);
  border-radius: 1.15rem;
  background: #fbfcf8;
  color: #2b2b2b;
}

.blog-product-item__thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  border-radius: 1rem;
  background: #ffffff;
  overflow: hidden;
}

.blog-product-item__thumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.blog-product-item__title {
  font-weight: 700;
  line-height: 1.5;
}

.blog-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.blog-tag-cloud a,
.blog-article-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 2.35rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: #f5f9ef;
  border: 1px solid rgba(223, 223, 223, 0.9);
  color: #4d4d4d;
  font-size: 0.84rem;
  font-weight: 700;
  text-decoration: none;
}

.blog-empty-state {
  padding: 2rem;
  border: 1px dashed rgba(169, 169, 169, 0.55);
  border-radius: 1.6rem;
  background: rgba(255, 255, 255, 0.88);
  color: #666;
  text-align: center;
}

.blog-article-card {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.blog-article-body {
  padding: 2rem 2.1rem;
  border: 1px solid rgba(223, 223, 223, 0.9);
  border-radius: 1.9rem;
  background: #ffffff;
  box-shadow: 0 22px 46px rgba(43, 43, 43, 0.05);
  color: #323232;
  font-size: 1.03rem;
  line-height: 1.95;
}

.blog-article-body > *:first-child {
  margin-top: 0;
}

.blog-article-body > *:last-child {
  margin-bottom: 0;
}

.blog-article-body p,
.blog-article-body ul,
.blog-article-body ol,
.blog-article-body blockquote,
.blog-article-body table,
.blog-article-body figure {
  margin: 1.35rem 0 0;
}

.blog-article-body ul,
.blog-article-body ol {
  padding-left: 1.25rem;
}

.blog-article-body li + li {
  margin-top: 0.45rem;
}

.blog-article-body blockquote {
  padding: 1.1rem 1.2rem 1.1rem 1.35rem;
  border-left: 4px solid #82c11f;
  border-radius: 0 1rem 1rem 0;
  background: #f8fbf2;
  color: #4d4d4d;
}

.blog-article-body a {
  color: #5d9112;
  font-weight: 700;
  text-decoration-color: rgba(130, 193, 31, 0.45);
  text-underline-offset: 0.16em;
}

.blog-article-body table {
  width: 100%;
  border-collapse: collapse;
}

.blog-article-body th,
.blog-article-body td {
  padding: 0.9rem 0.95rem;
  border: 1px solid rgba(223, 223, 223, 0.9);
  text-align: left;
}

.blog-article-body th {
  background: #f8fbf2;
  color: #2b2b2b;
}

.blog-article-body h1,
.blog-article-body h2,
.blog-article-body h3,
.blog-article-body h4 {
  color: #1f1f1f;
  margin-top: 2rem;
  letter-spacing: -0.03em;
}

.blog-article-body img {
  max-width: 100%;
  height: auto;
  border-radius: 1.5rem;
}

.blog-article-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.5rem;
  padding-top: 0;
  border-top: 0;
}

.blog-share-card {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(209, 228, 184, 0.34), rgba(255, 255, 255, 0.98));
}

.blog-share-card__head h3 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1rem;
  font-weight: 800;
}

.blog-share-actions,
.blog-tools-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.blog-share-button,
.blog-tool-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  border: 1px solid rgba(223, 223, 223, 0.86);
  border-radius: 999px;
  background: #ffffff;
  color: #2b2b2b;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(43, 43, 43, 0.06);
}

.blog-share-button:hover,
.blog-tool-button:hover {
  background: #82c11f;
  border-color: #82c11f;
  color: #1f1f1f;
}

.blog-tools-group {
  display: inline-flex;
  gap: 0.55rem;
  padding: 0.35rem;
  border: none;

}

.blog-tools-group .blog-tool-button {
  box-shadow: none;
}

.blog-hero--article .blog-tools-row {
  gap: 0.85rem;
  margin-top: 0.15rem;
}

.blog-hero--article .blog-tools-row > .blog-tool-button {
  margin-left: 0.1rem;
}

.blog-hero--article .blog-note-label {
  width: fit-content;
}

.blog-share-button.is-facebook {
  color: #1877f2;
}

.blog-share-button.is-twitter {
  color: #111111;
}

.blog-share-button.is-linkedin {
  color: #0a66c2;
}

.blog-share-button.is-whatsapp {
  color: #25d366;
}

.blog-share-button.is-mail {
  color: #d44638;
}

.blog-author-card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 1.25rem;
  padding: 1.35rem;
  margin-top: 1.5rem;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
}

.blog-author-card__media {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.blog-author-card__media img {
  width: 104px;
  height: 104px;
  border-radius: 50%;
  object-fit: cover;
}

.blog-author-card__body {
  display: grid;
  gap: 0.8rem;
}

.blog-author-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.blog-author-card__head small {
  display: block;
  margin-bottom: 0.3rem;
  color: #6a6a6a;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-author-card__head h3 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1.2rem;
  font-weight: 800;
}

.blog-author-card__head p,
.blog-author-card__copy {
  margin: 0;
  color: #666;
  line-height: 1.75;
}

.blog-author-card__social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 999px;
  background: #f1f6fb;
  color: #0a66c2;
  text-decoration: none;
}

.blog-recommend-section {
  margin-top: 2rem;
}

.blog-section-heading {
  margin-bottom: 1rem;
}

.blog-recommend-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.35rem;
}

.blog-recommend-card {
  display: grid;
  grid-template-columns: minmax(180px, 0.82fr) minmax(0, 1.18fr);
  align-items: stretch;
  overflow: hidden;
}

.blog-recommend-card__media {
  min-height: 100%;
  aspect-ratio: auto;
  background: #f4f8ec;
}

.blog-recommend-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.blog-recommend-card__body {
  display: grid;
  align-content: start;
  gap: 0.85rem;
  padding: 1.35rem 1.4rem 1.45rem;
}

.blog-recommend-card h3 {
  font-size: 1.28rem;
  line-height: 1.18;
}

.blog-recommend-card p {
  display: -webkit-box;
  overflow: hidden;
  color: #5b5b5b;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.blog-recommend-card .blog-card-meta {
  margin-top: 0.05rem;
}

.blog-recommend-card .blog-card-link {
  margin-top: auto;
}

@media (max-width: 1199.98px) {
  .blog-layout {
    grid-template-columns: minmax(0, 1fr) 300px;
  }

  .blog-featured-card {
    grid-template-columns: minmax(250px, 0.9fr) minmax(0, 1.1fr);
  }

  .blog-card {
    grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1.15fr);
  }
}

@media (max-width: 991.98px) {
  .blog-hero-shell,
  .blog-layout,
  .blog-featured-card,
  .blog-card,
  .blog-author-card,
  .blog-recommend-grid,
  .blog-recommend-card {
    grid-template-columns: 1fr;
  }

  .blog-hero-shell {
    gap: 1.35rem;
  }

  .blog-hero--article .blog-hero-side {
    justify-self: start;
    max-width: none;
    width: 100%;
    padding-top: 0;
  }

  .blog-sidebar-stack {
    position: static;
  }

  .blog-list-grid--compact {
    grid-template-columns: 1fr;
  }

  .blog-featured-media {
    min-height: 280px;
  }

  .blog-card-media {
    min-height: 260px;
  }

  .blog-recommend-card__media {
    min-height: 240px;
  }
}

@media (max-width: 767.98px) {
  .blog-hero {
    padding-top: 1.3rem;
  }

  .blog-hero--article {
    padding-top: 1.8rem;
  }

  .blog-hero-shell {
    gap: 1rem;
    padding: 0;
    border-radius: 0;
  }

  .blog-hero-main h1 {
    font-size: 2.05rem;
  }

  .blog-hero-main p,
  .blog-hero-note p {
    font-size: 0.94rem;
    line-height: 1.7;
  }

  .blog-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .blog-page {
    padding-bottom: 2.5rem;
  }

  .blog-filter-summary {
    padding: 0.95rem 1rem;
  }

  .blog-clear-filter {
    margin-left: 0;
  }

  .blog-card,
  .blog-side-card,
  .blog-author-card,
  .blog-featured-card,
  .blog-recommend-card {
    border-radius: 1.35rem;
  }

  .blog-featured-body {
    padding: 1.1rem;
  }

  .blog-featured-body h2 {
    font-size: 1.55rem;
  }

  .blog-card-body,
  .blog-recommend-card__body,
  .blog-side-card,
  .blog-author-card {
    padding: 1rem;
  }

  .blog-card h2,
  .blog-recommend-card h3 {
    font-size: 1.18rem;
  }

  .blog-card-media {
    min-height: 220px;
  }

  .blog-article-meta,
  .blog-card-meta,
  .blog-share-actions,
  .blog-tools-row,
  .blog-pagination-wrap {
    gap: 0.6rem;
  }

  .blog-article-meta span {
    width: 100%;
    justify-content: flex-start;
  }

  .blog-article-body {
    padding: 1.3rem 1.1rem;
    font-size: 0.96rem;
    line-height: 1.8;
    border-radius: 1.35rem;
  }

  .blog-author-card {
    text-align: left;
  }

  .blog-author-card__head {
    align-items: flex-start;
  }
}

/* Source: footer modern styles */
#footer.site-footer {
  margin-top: 4rem;
  padding: 4.25rem 0 1.6rem;
  background:
    radial-gradient(circle at top left, rgba(209, 228, 184, 0.55), transparent 34%),
    linear-gradient(180deg, #f6f8f2 0%, #eef4e3 34%, #ffffff 100%);
  border: 0;
  color: #2b2b2b;
}

.site-footer__intro {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  padding-bottom: 2.6rem;
}

.site-footer__intro-copy {
  max-width: 42rem;
}

.site-footer__intro-copy h2 {
  margin: 0;
  color: #222222;
  font-size: clamp(1.9rem, 3vw, 2.9rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.site-footer__intro-copy p {
  margin: 0.9rem 0 0;
  color: #616161;
  font-size: 1rem;
  line-height: 1.85;
}

.site-footer__actions {
  display: grid;
  justify-items: end;
  gap: 0.95rem;
}

.site-footer__cta {
  display: inline-flex;
  margin-bottom: 38px;
  align-items: center;
  justify-content: center;
  min-height: 3.2rem;
  padding: 0.75rem 1.45rem;
  border-radius: 999px;
  background: #82c11f;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(130, 193, 31, 0.22);
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.site-footer__cta:hover {
  transform: translateY(-2px);
  background: #2b2b2b;
  color: #ffffff;
  box-shadow: 0 16px 30px rgba(43, 43, 43, 0.16);
}

.site-footer__social {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.7rem;
}

.site-footer__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #2b2b2b;
  text-decoration: none;
  box-shadow: 0 12px 24px rgba(43, 43, 43, 0.08);
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.site-footer__social-link:hover {
  transform: translateY(-2px);
  background: #80c41c;
  color: #2b2b2b;
}

.site-footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr));
  gap: 2rem 2.4rem;
  padding: 0.25rem 0 2.6rem;
}

.site-footer__brand {
  max-width: 22rem;
}

.site-footer__logo {
  display: block;
  max-width: min(240px, 80%);
  height: auto;
}

.site-footer__brand-name {
  margin: 0 0 0.8rem;
  color: #2b2b2b;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.site-footer__brand p {
  margin: 1rem 0 0;
  color: #646464;
  line-height: 1.9;
}

.site-footer__column h3 {
  margin: 0 0 1rem;
  color: #2b2b2b;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.site-footer__links,
.site-footer__contact {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__links a,
.site-footer__contact a,
.site-footer__contact span {
  color: #575757;
  text-decoration: none;
  line-height: 1.75;
}

.site-footer__links a:hover,
.site-footer__contact a:hover,
.site-footer__bottom-link a:hover {
  color: #4b6f26;
}

.site-footer__contact li {
  display: grid;
  gap: 0.2rem;
}

.site-footer__label {
  color: #6f8c45;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
#copyrights{
  background-color: unset !important;
}
.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.2rem;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 0.92rem;
}

.site-footer__bottom-copy,
.site-footer__bottom-link a {
  color: #5f5f5f;
}

.site-footer__bottom-link a {
  text-decoration: none;
}

@media (max-width: 1199.98px) {
  .site-footer__main {
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr));
  }

  .site-footer__brand {
    grid-column: 1 / -1;
    max-width: 38rem;
  }
}

@media (max-width: 991.98px) {
  #footer.site-footer {
    margin-top: 3.25rem;
    padding: 3.4rem 0 1.4rem;
  }

  .site-footer__intro,
  .site-footer__main,
  .site-footer__bottom {
    grid-template-columns: 1fr;
  }

  .site-footer__intro {
    align-items: flex-start;
  }

  .site-footer__main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer__actions {
    justify-items: start;
  }

  .site-footer__social {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  #footer.site-footer {
    margin-top: 2.8rem;
    padding: 2.8rem 0 1.25rem;
  }

  .site-footer__intro {
    padding-bottom: 2rem;
  }

  .site-footer__cta {
    width: 100%;
  }

  .site-footer__main {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    padding-bottom: 2rem;
  }

  .site-footer__logo {
    max-width: 210px;
  }

  .site-footer__social-link {
    width: 2.8rem;
    height: 2.8rem;
  }

  .site-footer__bottom {
    align-items: flex-start;
  }
}

/* Source: extension/gorsentam/catalog/view/template/module/milestones.twig */
.milestones-module {
  position: relative;
  padding: 4.5rem 0;
  background: transparent;
}

.milestones-module__shell {
  display: grid;
  gap: 2.5rem;
}

.milestones-module__header {
  display: flex;
  justify-content: center;
}

.milestones-module__heading {
  display: grid;
  gap: 0;
  max-width: 48rem;
  text-align: center;
}

.milestones-module__kicker {
  display: inline-flex;
  justify-self: center;
  align-items: center;
  min-height: 2rem;
  padding: 0.36rem 0.85rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.7);
  color: #4b6f26;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.milestones-module__heading h2 {
  margin: 1rem 0 0;
  color: #242424;
  font-size: clamp(2.1rem, 3.4vw, 3.55rem);
  font-weight: 800;
  line-height: 0.98;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.milestones-module__intro {
  margin-top: 1rem;
  color: #5d5d5d;
  font-size: 1rem;
  line-height: 1.9;
}

.milestones-module__intro > *:first-child {
  margin-top: 0;
}

.milestones-module__intro > *:last-child {
  margin-bottom: 0;
}

.milestones-module__timeline {
  position: relative;
  display: grid;
  gap: 1.7rem;
  padding: 0.5rem 0;
}

.milestones-module__timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, rgba(130, 193, 31, 0.08) 0%, rgba(130, 193, 31, 0.34) 45%, rgba(130, 193, 31, 0.08) 100%);
  transform: translateX(-50%);
}

.milestones-module__item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px minmax(0, 1fr);
  align-items: center;
  min-height: 9rem;
  opacity: 0;
  transform: translateY(44px);
  transition: opacity 0.6s ease, transform 0.7s ease;
}

.milestones-module__item.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.milestones-module__point {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  grid-column: 2;
  grid-row: 1;
}

.milestones-module__point span {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: #82c11f;
  box-shadow: 0 0 0 10px rgba(130, 193, 31, 0.1);
}

.milestones-module__card {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 1rem;
  padding: 1.35rem 1.45rem;
  border: 1px solid rgba(226, 231, 217, 0.92);
  border-radius: 1.4rem;
  background: #ffffff;
  box-shadow: 0 18px 34px rgba(43, 43, 43, 0.045);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.milestones-module__item:nth-child(odd) .milestones-module__card {
  grid-column: 1;
  grid-row: 1;
}

.milestones-module__item:nth-child(even) .milestones-module__card {
  grid-column: 3;
  grid-row: 1;
}

.milestones-module__item:hover .milestones-module__card {
  transform: translateY(-4px);
  border-color: rgba(130, 193, 31, 0.35);
  box-shadow: 0 24px 42px rgba(43, 43, 43, 0.07);
}

.milestones-module__date {
  display: grid;
  align-content: start;
  justify-items: start;
  gap: 0.05rem;
  padding: 0.75rem 0.8rem;
  border-radius: 1rem;
  background: rgba(247, 250, 239, 0.92);
}

.milestones-module__month,
.milestones-module__year {
  color: #567629;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.milestones-module__date strong {
  color: #242424;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.04em;
}

.milestones-module__body {
  display: grid;
  gap: 0.55rem;
  align-content: start;
}

.milestones-module__body h3 {
  margin: 0;
  color: #242424;
  font-size: clamp(1.3rem, 1.9vw, 1.65rem);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

.milestones-module__description {
  color: #5d5d5d;
  line-height: 1.82;
}

.milestones-module__description > *:first-child {
  margin-top: 0;
}

.milestones-module__description > *:last-child {
  margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .milestones-module__item {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 991.98px) {
  .milestones-module {
    padding: 3.8rem 0;
  }

  .milestones-module__timeline::before {
    left: 20px;
    transform: none;
  }

  .milestones-module__item {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 1rem;
    min-height: 0;
  }

  .milestones-module__point {
    grid-column: 1;
    align-self: start;
    padding-top: 1.2rem;
  }

  .milestones-module__item:nth-child(odd) .milestones-module__card,
  .milestones-module__item:nth-child(even) .milestones-module__card {
    grid-column: 2;
  }
}

@media (max-width: 767.98px) {
  .milestones-module {
    padding: 3.2rem 0;
  }

  .milestones-module__shell {
    gap: 2rem;
  }

  .milestones-module__heading {
    text-align: left;
  }

  .milestones-module__kicker {
    justify-self: flex-start;
  }

  .milestones-module__heading h2 {
    font-size: 2.2rem;
  }

  .milestones-module__timeline::before {
    left: 16px;
  }

  .milestones-module__item {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 0.9rem;
  }

  .milestones-module__point {
    padding-top: 1rem;
  }

  .milestones-module__point span {
    width: 0.95rem;
    height: 0.95rem;
    box-shadow: 0 0 0 6px rgba(130, 193, 31, 0.16);
  }

  .milestones-module__card {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 0.9rem;
    padding: 1.15rem;
    border-radius: 1.2rem;
  }

  .milestones-module__date {
    padding: 0.65rem 0.7rem;
  }

  .milestones-module__date strong {
    font-size: 1.45rem;
  }
}

/* Source: career page modern styles */
.career-page {
  background:
    radial-gradient(circle at top left, rgba(209, 228, 184, 0.34), transparent 30%),
    linear-gradient(180deg, #fbfcf8 0%, #ffffff 26%);
}

.career-hero {
  position: relative;
  padding: 2.4rem 0 1.8rem;
}

.career-hero__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 2.2rem;
  align-items: stretch;
}

.career-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1.1rem;
  padding: 0;
  list-style: none;
}

.career-breadcrumbs .breadcrumb-item,
.career-breadcrumbs .breadcrumb-item a {
  color: #757575;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}

.career-breadcrumbs .breadcrumb-item::before {
  color: #afafaf;
  padding-right: 0.15rem;
}

.career-hero__copy {
  display: grid;
  align-content: start;
  gap: 0;
  min-width: 0;
}

.career-hero__kicker {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.38rem 0.86rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.92);
  color: #466325;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.career-hero__copy h1 {
  margin: 1rem 0 0;
  color: #242424;
  font-size: clamp(2.5rem, 4vw, 4.65rem);
  line-height: 0.92;
  letter-spacing: -0.05em;
  text-wrap: balance;
  max-width: 13ch;
}

.career-hero__copy p {
  margin: 1rem 0 0;
  max-width: 44rem;
  color: #5e5e5e;
  font-size: 1.02rem;
  line-height: 1.88;
}

.career-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 1.65rem;
}

.career-hero__cta,
.career-card__action,
.career-hero__secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  padding: 0.78rem 1.35rem;
  border: 0;
  border-radius: 999px;
  font-size: 0.92rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.career-hero__cta,
.career-card__action {
  background: #82c11f;
  color: #1f1f1f;
  font-size: 0.92rem;
  font-weight: 800;
  box-shadow: 0 14px 28px rgba(130, 193, 31, 0.2);
}

.career-hero__cta:hover,
.career-card__action:hover,
.career-card__action.is-active {
  transform: translateY(-2px);
  background: #2b2b2b;
  color: #ffffff;
  box-shadow: 0 18px 30px rgba(43, 43, 43, 0.14);
}

.career-hero__secondary {
  background: #ffffff;
  color: #2b2b2b;
  border: 1px solid rgba(208, 216, 198, 0.92);
  box-shadow: none;
}

.career-hero__secondary:hover {
  transform: translateY(-2px);
  border-color: rgba(130, 193, 31, 0.8);
  color: #2b2b2b;
}

.career-hero__summary {
  display: grid;
  align-self: start;
}

.career-hero__summary-copy {
  display: grid;
  gap: 1rem;
  align-content: start;
  padding: 1.7rem;
  border: 1px solid rgba(223, 223, 223, 0.9);
  border-radius: 2rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 251, 242, 0.96) 100%);
  box-shadow: 0 24px 46px rgba(43, 43, 43, 0.06);
}

.career-hero__summary-label {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  width: fit-content;
  padding: 0.34rem 0.82rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.78);
  color: #4c6f27;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.career-hero__summary strong {
  color: #242424;
  font-size: clamp(2.4rem, 3vw, 3.5rem);
  font-weight: 800;
  line-height: 0.95;
  letter-spacing: -0.05em;
}

.career-hero__summary p {
  margin: 0;
  color: #5d5d5d;
  line-height: 1.8;
}

.career-hero__summary-note {
  display: grid;
  gap: 0.45rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(223, 223, 223, 0.8);
}

.career-hero__summary-note span {
  color: #2d2d2d;
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.career-hero__summary-note p {
  color: #5e5e5e;
  font-size: 0.95rem;
}

.career-page__content {
  padding: 0 0 4.5rem;
}

.career-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 408px;
  gap: 2.1rem;
  align-items: start;
}

.career-main {
  min-width: 0;
}

.career-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  padding-bottom: 1.5rem;
}

.career-section-head__copy {
  max-width: 44rem;
}

.career-section-head__label {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.55);
  color: #4b6f26;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.career-section-head__copy h2 {
  margin: 0.95rem 0 0;
  color: #242424;
  font-size: clamp(1.9rem, 2.4vw, 2.7rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.career-section-head__copy p {
  margin: 0.9rem 0 0;
  color: #606060;
  line-height: 1.85;
}

.career-section-head__note {
  max-width: 18rem;
  padding: 1rem 1.1rem;
  border-radius: 1.35rem;
  background: #f7faef;
  color: #53712b;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.65;
}

.career-list {
  display: grid;
  gap: 1.55rem;
}

.career-card {
  display: grid;
  gap: 1.45rem;
  padding: 1.7rem;
  border: 1px solid rgba(224, 229, 216, 0.92);
  border-radius: 2rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 44px rgba(43, 43, 43, 0.055);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.career-card:hover,
.career-card.is-selected {
  transform: translateY(-4px);
  border-color: rgba(130, 193, 31, 0.5);
  box-shadow: 0 28px 46px rgba(43, 43, 43, 0.08);
}

.career-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}

.career-card__copy {
  max-width: 42rem;
}

.career-card__label {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0.34rem 0.78rem;
  border-radius: 999px;
  background: #f5f9ef;
  color: #5a7f30;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.career-card__copy h2 {
  margin: 0.9rem 0 0;
  color: #242424;
  font-size: clamp(1.7rem, 2.4vw, 2.35rem);
  line-height: 1.06;
  letter-spacing: -0.04em;
}

.career-card__copy p {
  margin: 0.85rem 0 0;
  color: #5d5d5d;
  line-height: 1.85;
}

.career-card__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.05rem;
}

.career-card__section {
  display: grid;
  gap: 0.9rem;
  padding: 1.15rem 1.25rem;
  border: 1px solid rgba(223, 223, 223, 0.84);
  border-radius: 1.35rem;
  background: linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
}

.career-card__section--full {
  grid-column: 1 / -1;
}

.career-card__section h3 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.career-card__list {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.career-card__list li {
  position: relative;
  padding-left: 1.35rem;
  color: #545454;
  line-height: 1.7;
}

.career-card__list li::before {
  content: "";
  position: absolute;
  top: 0.62rem;
  left: 0;
  width: 0.52rem;
  height: 0.52rem;
  border-radius: 50%;
  background: #82c11f;
}

.career-card__richtext {
  color: #555555;
  line-height: 1.85;
}

.career-card__richtext > *:first-child {
  margin-top: 0;
}

.career-card__richtext > *:last-child {
  margin-bottom: 0;
}

.career-card__richtext ul,
.career-card__richtext ol {
  padding-left: 1.2rem;
}

.career-aside {
  min-width: 0;
}

.career-apply-card {
  position: sticky;
  top: 1.5rem;
  display: grid;
  gap: 1.3rem;
  padding: 1.5rem;
  border: 1px solid rgba(223, 223, 223, 0.92);
  border-radius: 2rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 251, 242, 0.96) 100%);
  box-shadow: 0 24px 46px rgba(43, 43, 43, 0.06);
}

.career-apply-card__head {
  display: grid;
  gap: 0.85rem;
}

.career-apply-card__head h2 {
  margin: 0;
  color: #242424;
  font-size: clamp(1.6rem, 2.4vw, 2.15rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.career-apply-card__head p {
  margin: 0;
  color: #5d5d5d;
  line-height: 1.8;
}

.career-apply-card__selection {
  display: grid;
  gap: 0.45rem;
  padding: 1rem 1.1rem;
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(223, 223, 223, 0.84);
}

.career-apply-card__selection-label {
  color: #6d6d6d;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.career-apply-card__selection strong {
  color: #232323;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.55;
}

.career-apply-card__body > h3 {
  display: none;
}

.career-apply-card__body form {
  display: grid;
  gap: 1rem;
}

.career-apply-card__body form > .row {
  row-gap: 1rem;
}

.career-apply-card__body .form-group {
  margin-bottom: 0;
}

.career-apply-card__body label {
  display: inline-block;
  margin-bottom: 0.45rem;
  color: #2a2a2a;
  font-size: 0.92rem;
  font-weight: 700;
}

.career-apply-card__body label small {
  color: #5e5e5e;
}

.career-apply-card__body .form-control,
.career-apply-card__body .form-select {
  min-height: 3.3rem;
  border: 1px solid rgba(210, 217, 201, 0.98);
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: none;
}

.career-apply-card__body textarea.form-control {
  min-height: 8.5rem;
}

.career-apply-card__body .form-control:focus,
.career-apply-card__body .form-select:focus {
  border-color: rgba(130, 193, 31, 0.85);
  box-shadow: 0 0 0 4px rgba(130, 193, 31, 0.14);
}

.career-apply-card__body [data-oc-toggle="upload"] {
  min-height: 3.2rem;
  padding-inline: 1rem;
  border: 1px solid rgba(210, 217, 201, 0.98);
  border-radius: 1rem;
  background: #f7faef;
  color: #2a2a2a;
  font-weight: 700;
}

.career-apply-card__body [data-oc-toggle="upload"]:hover {
  border-color: rgba(130, 193, 31, 0.78);
  background: #eef6dc;
}

.career-apply-card__body .form-check {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(223, 223, 223, 0.84);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.88);
}

.career-apply-card__body .form-check-input {
  margin-top: 0.2rem;
}

.career-apply-card__body .button,
.career-apply-card__body button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.35rem;
  padding: 0.85rem 1.5rem;
  border: 0;
  border-radius: 999px;
  background: #82c11f;
  color: #1f1f1f;
  font-size: 0.95rem;
  font-weight: 800;
  box-shadow: 0 14px 26px rgba(130, 193, 31, 0.2);
  transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.career-apply-card__body .button:hover,
.career-apply-card__body button[type="submit"]:hover {
  transform: translateY(-2px);
  background: #2b2b2b;
  color: #ffffff;
  box-shadow: 0 18px 30px rgba(43, 43, 43, 0.14);
}

.career-apply-card__body .alert {
  margin-bottom: 0.2rem;
}

.career-empty-state {
  padding: 2.1rem;
  border: 1px dashed rgba(169, 169, 169, 0.55);
  border-radius: 1.8rem;
  background: rgba(255, 255, 255, 0.92);
  color: #666;
  text-align: center;
}

@media (max-width: 1199.98px) {
  .career-layout {
    grid-template-columns: minmax(0, 1fr) 360px;
  }
}

@media (max-width: 991.98px) {
  .career-hero__shell,
  .career-layout,
  .career-card__content,
  .career-section-head {
    grid-template-columns: 1fr;
  }

  .career-apply-card {
    position: static;
  }

  .career-card__section--full {
    grid-column: auto;
  }

  .career-section-head {
    display: grid;
  }

  .career-section-head__note {
    max-width: none;
  }
}

@media (max-width: 767.98px) {
  .career-hero {
    padding-top: 1.6rem;
  }

  .career-page__content {
    padding-bottom: 3rem;
  }

  .career-card,
  .career-apply-card,
  .career-hero__summary-copy {
    padding: 1.2rem;
    border-radius: 1.5rem;
  }

  .career-card__head {
    gap: 0.9rem;
  }

  .career-card__copy h2 {
    font-size: 1.55rem;
  }

  .career-hero__copy h1 {
    font-size: 2.3rem;
  }

  .career-hero__cta,
  .career-card__action,
  .career-hero__secondary {
    width: 100%;
  }
}

/* Source: extension/gorsentam/catalog/view/template/module/homepage_blog.twig */
.homepage-blog-module {
  padding-top: 2.5rem;
}

.homepage-blog-module__shell {
  display: grid;
  gap: 1.7rem;
}

.homepage-blog-module__header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
}

.homepage-blog-module__heading {
  max-width: 44rem;
}

.homepage-blog-module__kicker {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.36rem 0.85rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.55);
  color: #4b6f26;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.homepage-blog-module__heading h2 {
  margin: 0.9rem 0 0;
  color: #202020;
  font-size: clamp(2rem, 2.7vw, 3rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.homepage-blog-module__heading p {
  margin: 0.95rem 0 0;
  color: #5d5d5d;
  font-size: 1rem;
  line-height: 1.85;
}

.homepage-blog-module__view-all,
.homepage-blog-module__link {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #202020;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.homepage-blog-module__view-all {
  min-height: 3rem;
  padding: 0.82rem 1.25rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 36px rgba(43, 43, 43, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.homepage-blog-module__view-all::after,
.homepage-blog-module__link::after {
  content: "\f061";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.8rem;
}

.homepage-blog-module__view-all:hover,
.homepage-blog-module__link:hover {
  color: #4b6f26;
}

.homepage-blog-module__view-all:hover {
  transform: translateY(-1px);
  border-color: rgba(129, 194, 33, 0.28);
  box-shadow: 0 22px 40px rgba(43, 43, 43, 0.1);
}

.homepage-blog-module__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
}

.homepage-blog-module__card {
  display: grid;
  grid-template-rows: minmax(0, 240px) 1fr;
  min-width: 0;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.75rem;
  background: rgba(255, 255, 255, 0.95);
  overflow: hidden;
  box-shadow: 0 22px 44px rgba(43, 43, 43, 0.08);
}

.homepage-blog-module__media {
  display: block;
  position: relative;
  min-height: 240px;
  background: linear-gradient(180deg, #f4f8ec 0%, #e5f0d7 100%);
  overflow: hidden;
}

.homepage-blog-module__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(32, 32, 32, 0.02), rgba(32, 32, 32, 0.18));
  pointer-events: none;
}

.homepage-blog-module__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.homepage-blog-module__card:hover .homepage-blog-module__media img {
  transform: scale(1.03);
}

.homepage-blog-module__media-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  color: #2b2b2b;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

.homepage-blog-module__body {
  display: grid;
  gap: 0.95rem;
  padding: 1.4rem;
}

.homepage-blog-module__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.homepage-blog-module__topic {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.34rem 0.8rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.5);
  color: #4b6f26;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-decoration: none;
  text-transform: uppercase;
}

.homepage-blog-module__date,
.homepage-blog-module__author {
  color: #6a6a6a;
  font-size: 0.85rem;
  font-weight: 700;
  line-height: 1.55;
}

.homepage-blog-module__body h3 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1.3rem;
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.homepage-blog-module__body h3 a {
  color: inherit;
  text-decoration: none;
}

.homepage-blog-module__body p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #5f5f5f;
  font-size: 0.95rem;
  line-height: 1.8;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.homepage-blog-module__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem;
  margin-top: auto;
  padding-top: 0.15rem;
}

.homepage-blog-module__empty {
  padding: 1.35rem 1.45rem;
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.9);
  color: #5f5f5f;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 18px 36px rgba(43, 43, 43, 0.06);
}

@media (max-width: 1199.98px) {
  .homepage-blog-module__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px) {
  .homepage-blog-module {
    padding-top: 1.7rem;
  }

  .homepage-blog-module__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .homepage-blog-module__heading h2 {
    font-size: 1.9rem;
  }

  .homepage-blog-module__heading p {
    font-size: 0.95rem;
    line-height: 1.75;
  }

  .homepage-blog-module__grid {
    grid-template-columns: 1fr;
  }

  .homepage-blog-module__card {
    border-radius: 1.4rem;
  }

  .homepage-blog-module__media,
  .homepage-blog-module__card {
    min-height: 0;
  }

  .homepage-blog-module__card {
    grid-template-rows: minmax(0, 220px) 1fr;
  }

  .homepage-blog-module__body {
    padding: 1.1rem;
  }
}

/* Source: plant integrations modern styles */
.plant-integrations-module {
  padding-top: 1rem;
}

.plant-integrations-module .container > .plant-integrations-module__header {
  max-width: 56rem;
  margin-inline: auto;
}

.plant-integrations-module .plant-integrations-module__header .col-lg-12 {
  max-width: 42rem;
  margin-inline: auto;
}

.plant-integrations-module .plant-integrations-module__header h2 {
  margin: 0;
  color: #202020;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.06;
  letter-spacing: -0.05em;
}

.plant-integrations-module .plant-integrations-module__header p {
  margin: 1rem 0 0;
  color: #616161;
  font-size: 1rem;
  line-height: 1.9;
}

.plant-integrations-module .plant-integrations-module__grid {
  padding-top: 0.5rem;
  align-items: start;
  margin: 0;
}

.plant-integrations-module .plant-integrations-module__grid.row.grid-container.g-4[data-layout="masonry"] {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 0;
}

.plant-integrations-module .plant-integrations-module__grid.row.grid-container.g-4[data-layout="masonry"] > [class*="col-"] {
  width: auto;
  max-width: none;
  min-width: 0;
  padding: 0;
  margin: 0;
  float: none;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
}

.plant-integrations-module .flip-card.text-center {
  height: 100%;
}

.plant-integrations-module .flip-card-front,
.plant-integrations-module .flip-card-back {
  height: 360px;
  border-radius: 1.8rem;
  overflow: hidden;
  box-shadow: 0 24px 44px rgba(43, 43, 43, 0.12);
}

.plant-integrations-module .flip-card-front::after {
  opacity: 1;
  border-radius: 1.8rem;
  background: linear-gradient(180deg, rgba(17, 28, 10, 0.08), rgba(17, 28, 10, 0.74));
}

.plant-integrations-module__flip-hint {
  display: none;
}

.plant-integrations-module .flip-card-back.no-after {
  background: linear-gradient(145deg, #17351c 0%, #264f1f 100%) !important;
}

.plant-integrations-module .flip-card-inner {
  width: 100%;
  padding: 1.5rem;
  transform: translateY(-50%) translateZ(60px) scale(0.96);
}

.plant-integrations-module .flip-card .card-body {
  display: grid;
  align-content: end;
  gap: 0.85rem;
  min-height: 100%;
  padding: 0;
}

.plant-integrations-module .flip-card .card-title,
.plant-integrations-module .flip-card-back h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.plant-integrations-module .flip-card .card-text,
.plant-integrations-module .flip-card-back p {
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.94rem;
  line-height: 1.8;
}

.plant-integrations-module .flip-card-back .flip-card-inner {
  display: grid;
  align-content: center;
  gap: 0.9rem;
}

.plant-integrations-module .flip-card-back .btn {
  min-height: 2.8rem;
  padding: 0.7rem 1.15rem;
  border: 0;
  border-radius: 999px;
  background: #ffffff;
  color: #17351c;
  font-size: 0.88rem;
  font-weight: 800;
}

.plant-integrations-module .flip-card-back .btn:hover {
  background: #d1e4b8;
  color: #17351c;
}

@media (max-width: 991.98px) {
  .plant-integrations-module .plant-integrations-module__grid.row.grid-container.g-4[data-layout="masonry"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plant-integrations-module .flip-card-front,
  .plant-integrations-module .flip-card-back {
    height: 340px;
  }
}

@media (max-width: 767.98px) {
  .plant-integrations-module .plant-integrations-module__header h2 {
    font-size: 1.8rem;
  }

  .plant-integrations-module .plant-integrations-module__header p {
    font-size: 0.95rem;
    line-height: 1.8;
  }

  .plant-integrations-module .plant-integrations-module__grid.row.grid-container.g-4[data-layout="masonry"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .plant-integrations-module .flip-card-front,
  .plant-integrations-module .flip-card-back {
    height: 320px;
    border-radius: 1.5rem;
  }

  .plant-integrations-module .flip-card-front::after {
    border-radius: 1.5rem;
  }

  .plant-integrations-module__flip-hint {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 2rem;
    padding: 0.42rem 0.72rem 0.42rem 0.5rem;
    border-radius: 999px;
    background: rgba(15, 24, 10, 0.34);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    backdrop-filter: blur(10px);
    box-shadow: 0 14px 28px rgba(15, 24, 10, 0.16);
    pointer-events: none;
    animation: plantFlipHintPulse 2.2s ease-in-out infinite;
  }

  .plant-integrations-module__flip-hint-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 50%;
    background: rgba(130, 193, 31, 0.2);
    color: #d1e4b8;
    font-size: 0.7rem;
    flex: 0 0 auto;
  }

  .plant-integrations-module__flip-hint-text {
    display: inline-flex;
    align-items: center;
  }

  .plant-integrations-module .flip-card-inner {
    padding: 1.25rem;
  }

  .plant-integrations-module .flip-card .card-title,
  .plant-integrations-module .flip-card-back h3 {
    font-size: 1.2rem;
  }

  .plant-integrations-module .flip-card .card-text,
  .plant-integrations-module .flip-card-back p {
    font-size: 0.88rem;
  }
}

@media (max-width: 575.98px) {
  .plant-integrations-module .plant-integrations-module__grid.row.grid-container.g-4[data-layout="masonry"] {
    grid-template-columns: 1fr;
  }
}

@keyframes plantFlipHintPulse {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
    box-shadow: 0 14px 28px rgba(15, 24, 10, 0.16);
  }
  50% {
    transform: translate3d(0, -3px, 0);
    box-shadow: 0 18px 34px rgba(15, 24, 10, 0.22);
  }
}

@media (prefers-reduced-motion: reduce) {
  .plant-integrations-module__flip-hint {
    animation: none;
  }
}

/* Source: extension/gorsentam/catalog/view/template/module/meeting_scheduler.twig */
.meeting-scheduler {
  padding-top: 2.5rem;
}

.meeting-scheduler__shell {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 1.6rem;
  align-items: start;
}

.meeting-scheduler__intro,
.meeting-scheduler__card {
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.85rem;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 24px 50px rgba(43, 43, 43, 0.08);
}

.meeting-scheduler__intro {
  display: grid;
  gap: 1rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.meeting-scheduler__kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 2rem;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(209, 228, 184, 0.55);
  color: #4b6f26;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.meeting-scheduler__intro h2 {
  margin: 0;
  color: #202020;
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 800;
  line-height: 1.04;
  letter-spacing: -0.05em;
}

.meeting-scheduler__description,
.meeting-scheduler__description p {
  color: #5d5d5d;
  font-size: 1rem;
  line-height: 1.85;
}

.meeting-scheduler__description {
  display: grid;
  gap: 0.75rem;
}

.meeting-scheduler__description p:last-child {
  margin-bottom: 0;
}

.meeting-scheduler__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  padding-top: 0.25rem;
}

.meeting-scheduler__meta span {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  background: #f4f8ec;
  color: #2b2b2b;
  font-size: 0.84rem;
  font-weight: 700;
}

.meeting-scheduler__card {
  padding: 1.5rem;
}

.meeting-scheduler__form,
.meeting-scheduler__section {
  display: grid;
  gap: 1rem;
}

.meeting-scheduler__form {
  gap: 1.35rem;
}

.meeting-scheduler__progress {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.meeting-scheduler__progress-item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.2rem;
  background: #fafafa;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.meeting-scheduler__progress-item.is-active,
.meeting-scheduler__progress-item.is-complete {
  border-color: rgba(128, 196, 28, 0.48);
  background: #f4f8ec;
}

.meeting-scheduler__progress-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: #e9ece5;
  color: #2b2b2b;
  font-size: 0.9rem;
  font-weight: 800;
  flex-shrink: 0;
}

.meeting-scheduler__progress-item.is-active .meeting-scheduler__progress-index,
.meeting-scheduler__progress-item.is-complete .meeting-scheduler__progress-index {
  background: #80c41c;
  color: #ffffff;
}

.meeting-scheduler__progress-copy {
  display: grid;
  gap: 0.1rem;
}

.meeting-scheduler__progress-copy strong {
  color: #202020;
  font-size: 0.96rem;
  font-weight: 800;
  line-height: 1.2;
}

.meeting-scheduler__progress-copy span {
  color: #666666;
  font-size: 0.85rem;
  line-height: 1.55;
}

.meeting-scheduler__step-panel {
  display: none;
  gap: 1rem;
}

.meeting-scheduler__step-panel.is-active {
  display: grid;
}

.meeting-scheduler__section-header h3 {
  margin: 0;
  color: #2b2b2b;
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1.2;
}

.meeting-scheduler__section-header p {
  margin: 0.35rem 0 0;
  color: #6a6a6a;
  font-size: 0.95rem;
  line-height: 1.75;
}

.meeting-scheduler__slot-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.meeting-scheduler__slot-card {
  display: block;
  margin: 0;
  cursor: pointer;
}

.meeting-scheduler__slot-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.meeting-scheduler__slot-card-inner {
  display: grid;
  gap: 0.35rem;
  min-height: 100%;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.25rem;
  background: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.meeting-scheduler__slot-card-inner strong {
  color: #2b2b2b;
  font-size: 1rem;
  font-weight: 800;
}

.meeting-scheduler__slot-card-inner span {
  color: #5f5f5f;
  line-height: 1.7;
}

.meeting-scheduler__slot-card input:checked + .meeting-scheduler__slot-card-inner {
  border-color: rgba(128, 196, 28, 0.62);
  background: #f4f8ec;
  box-shadow: 0 16px 28px rgba(43, 43, 43, 0.08);
  transform: translateY(-1px);
}

.meeting-scheduler__field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.meeting-scheduler__selected-slot {
  display: grid;
  gap: 0.2rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.15rem;
  background: #fbfbfb;
}

.meeting-scheduler__selected-slot span {
  color: #6a6a6a;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.meeting-scheduler__selected-slot strong {
  color: #202020;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.5;
}

.meeting-scheduler__actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.85rem;
}

.meeting-scheduler__actions--split {
  justify-content: space-between;
}

.meeting-scheduler__field--full {
  grid-column: 1 / -1;
}

.meeting-scheduler__field label {
  display: block;
  margin-bottom: 0.45rem;
  color: #2b2b2b;
  font-weight: 700;
}

.meeting-scheduler__field-error {
  min-height: 1.2rem;
  margin-top: 0.35rem;
  color: #ff0000;
  font-size: 0.86rem;
}

.meeting-scheduler__alert {
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  font-weight: 600;
  line-height: 1.7;
}

.meeting-scheduler__alert--success {
  background: rgba(52, 181, 21, 0.12);
  color: #286a14;
}

.meeting-scheduler__alert--error {
  background: rgba(255, 0, 0, 0.09);
  color: #a12828;
}

.meeting-scheduler__empty {
  padding: 1rem 0.1rem;
  color: #5f5f5f;
  line-height: 1.8;
}

.meeting-scheduler__success-panel {
  display: grid;
  justify-items: center;
  gap: 0.9rem;
  padding: clamp(1.8rem, 4vw, 3rem);
  text-align: center;
}

.meeting-scheduler__success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 999px;
  background: rgba(52, 181, 21, 0.12);
  color: #34b515;
  font-size: 2.4rem;
}

.meeting-scheduler__success-panel h3 {
  margin: 0;
  color: #202020;
  font-size: 1.5rem;
  font-weight: 800;
}

.meeting-scheduler__success-panel p {
  max-width: 38rem;
  margin: 0;
  color: #666666;
  font-size: 1rem;
  line-height: 1.8;
}

.meeting-scheduler__success-slot {
  display: grid;
  gap: 0.2rem;
  width: min(100%, 28rem);
  padding: 1rem 1.2rem;
  border-radius: 1.15rem;
  background: #f4f8ec;
}

.meeting-scheduler__success-slot span {
  color: #5f6f47;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
}

.meeting-scheduler__success-slot strong {
  color: #202020;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.6;
}

@media (max-width: 1199.98px) {
  .meeting-scheduler__shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px) {
  .meeting-scheduler {
    padding-top: 1.7rem;
  }

  .meeting-scheduler__intro,
  .meeting-scheduler__card {
    padding: 1.2rem;
    border-radius: 1.45rem;
  }

  .meeting-scheduler__intro h2 {
    font-size: 1.95rem;
  }

  .meeting-scheduler__description,
  .meeting-scheduler__description p,
  .meeting-scheduler__section-header p {
    font-size: 0.95rem;
    line-height: 1.75;
  }

  .meeting-scheduler__slot-grid,
  .meeting-scheduler__field-grid {
    grid-template-columns: 1fr;
  }

  .meeting-scheduler__progress {
    grid-template-columns: 1fr;
  }

  .meeting-scheduler__actions,
  .meeting-scheduler__actions--split {
    flex-direction: column;
  }
}

.product-page-modern .content-wrap,
.category-page-modern .content-wrap {
  padding-top: clamp(1.6rem, 3vw, 2.5rem);
}

.product-page-modern .product-card {
  backdrop-filter: none;
}

.product-page-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.25rem;
  align-items: end;
  margin-bottom: 1.8rem;
}

.product-page-intro__copy {
  max-width: 760px;
}

.product-breadcrumb,
.category-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}

.product-breadcrumb .breadcrumb-item,
.category-breadcrumb .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0.45rem 0.8rem;
  border-radius: 999px;
  background: #f5f7f2;
  color: #52616d;
  font-size: 0.88rem;
}

.product-breadcrumb .breadcrumb-item::before,
.category-breadcrumb .breadcrumb-item::before {
  display: none;
}

.product-breadcrumb .breadcrumb-item a,
.category-breadcrumb .breadcrumb-item a {
  color: inherit;
  text-decoration: none;
}

.product-breadcrumb .breadcrumb-item.is-current,
.category-breadcrumb .breadcrumb-item.is-current {
  background: #173d2c;
  color: #ffffff;
}

.product-page-intro__summary {
  color: rgba(16, 24, 40, 0.72);
  font-size: 1rem;
  line-height: 1.8;
}

.product-page-intro__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
}

.product-page-intro__pill {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: #17212b;
  font-size: 0.92rem;
  font-weight: 600;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}

.category-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: center;
  margin-bottom: 2rem;
  padding: clamp(1.5rem, 3vw, 2.35rem);
  border-radius: 32px;
  background: linear-gradient(135deg, #f4f7f2 0%, #ffffff 60%);
  border: 1px solid rgba(23, 61, 44, 0.08);
}

.category-hero__copy h1 {
  margin: 0;
  color: #101828;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.category-hero__summary {
  max-width: 720px;
  margin: 1rem 0 0;
  color: rgba(16, 24, 40, 0.72);
  font-size: 1rem;
  line-height: 1.85;
}

.category-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  align-items: center;
  margin-top: 1.35rem;
}

.category-hero__badge,
.category-hero__compare {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  color: #173d2c;
  font-size: 0.92rem;
  font-weight: 600;
  text-decoration: none;
}

.category-hero__compare:hover {
  background: #173d2c;
  color: #ffffff;
}

.category-hero__media {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  min-height: 320px;
  background: #eef3ef;
}

.category-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.category-refine {
  margin-bottom: 1.75rem;
  padding: 1.4rem 1.5rem;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 20px 54px rgba(15, 23, 42, 0.06);
}

.category-refine__head {
  margin-bottom: 1rem;
}

.category-refine__eyebrow,
.category-toolbar__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.8rem;
  border-radius: 999px;
  background: rgba(21, 89, 54, 0.08);
  color: #155936;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.category-refine__head h2 {
  margin: 0.9rem 0 0;
  font-size: 1.55rem;
  color: #101828;
}

.category-refine__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.category-refine__link {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0.65rem 1rem;
  border-radius: 18px;
  background: #f7f8f9;
  border: 1px solid transparent;
  color: #17212b;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.category-refine__link:hover {
  border-color: rgba(23, 61, 44, 0.18);
  background: #eef6f1;
  transform: translateY(-1px);
}

.category-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  align-items: start;
}

.category-layout.has-sidebar {
  grid-template-columns: minmax(250px, 290px) minmax(0, 1fr);
}

.category-sidebar {
  position: relative;
}

.category-main {
  min-width: 0;
}

.category-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.4rem;
  padding: 1.25rem 1.35rem;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.06);
}

.category-toolbar__copy p {
  margin: 0.7rem 0 0;
  color: rgba(16, 24, 40, 0.68);
}

.category-toolbar__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  justify-content: flex-end;
}

.category-toolbar__control {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-width: 180px;
}

.category-toolbar__control span {
  color: #17212b;
  font-size: 0.88rem;
  font-weight: 700;
}

.category-toolbar__control .form-select {
  min-height: 50px;
  border-radius: 16px;
  border-color: rgba(15, 23, 42, 0.1);
  background-color: #fff;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem;
}

.category-grid__item {
  min-width: 0;
}

.category-grid__item > * {
  height: 100%;
}

.catalog-product-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08);
  overflow: hidden;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.catalog-product-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 64px rgba(15, 23, 42, 0.12);
}

.catalog-product-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1 / 1.02;
  background: linear-gradient(180deg, #f4f7f2 0%, #eef3ef 100%);
}

.catalog-product-card__image-stack {
  position: relative;
  width: 100%;
  height: 100%;
}

.catalog-product-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.24s ease, transform 0.35s ease;
}

.catalog-product-card__image.is-primary {
  position: relative;
  z-index: 1;
}

.catalog-product-card__image.is-secondary {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.catalog-product-card:hover .catalog-product-card__image.is-primary {
  opacity: 0;
  transform: scale(1.03);
}

.catalog-product-card:hover .catalog-product-card__image.is-secondary {
  opacity: 1;
  transform: scale(1.03);
}

.catalog-product-card__badges {
  position: absolute;
  top: 1rem;
  left: 1rem;
  right: 1rem;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.catalog-product-card__badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #17212b;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.catalog-product-card__badge.is-accent {
  color: #155936;
}

.catalog-product-card__badge.is-sale {
  color: #0a7c3d;
}

.catalog-product-card__badge.is-stock {
  color: #6b7280;
}

.catalog-product-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.3rem 1.35rem 1.4rem;
}

.catalog-product-card__copy {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}

.catalog-product-card__title {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.3;
}

.catalog-product-card__title a {
  color: #101828;
  text-decoration: none;
}

.catalog-product-card__description {
  margin: 0;
  color: rgba(16, 24, 40, 0.68);
  font-size: 0.95rem;
  line-height: 1.75;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.catalog-product-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  align-items: center;
  justify-content: space-between;
}

.catalog-product-card__price {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  color: #173d2c;
  font-size: 1.08rem;
  font-weight: 700;
}

.catalog-product-card__price del {
  color: rgba(16, 24, 40, 0.4);
  font-size: 0.9rem;
  font-weight: 500;
}

.catalog-product-card__price ins {
  text-decoration: none;
}

.catalog-product-card__actions {
  margin: 0;
}

.catalog-product-card__button {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 46px;
  padding: 0.65rem 1rem;
  border: 0;
  border-radius: 999px;
  background: #173d2c;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 700;
  box-shadow: 0 16px 36px rgba(23, 61, 44, 0.2);
}

.catalog-product-card__button:hover {
  background: #1c513b;
}

.category-pagination {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  margin-top: 1.6rem;
  padding: 1rem 1.1rem;
}

.category-pagination__results {
  color: rgba(16, 24, 40, 0.68);
}

.category-pagination__nav .pagination {
  margin: 0;
}

.category-empty-state,
.category-description {
  margin-top: 1.8rem;
  padding: 2rem;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 20px 56px rgba(15, 23, 42, 0.06);
}

.category-empty-state {
  text-align: center;
}

.category-empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 1rem;
  border-radius: 24px;
  background: #eef6f1;
  color: #173d2c;
  font-size: 1.6rem;
}

.category-empty-state h2 {
  margin-bottom: 1.1rem;
  color: #101828;
  font-size: 1.4rem;
}

.category-description__copy {
  color: rgba(16, 24, 40, 0.78);
  line-height: 1.85;
}

.category-description__copy > *:first-child {
  margin-top: 0;
}

.category-description__copy > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 1199.98px) {
  .category-layout.has-sidebar {
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
  }

  .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px) {
  .product-page-intro,
  .category-hero,
  .category-layout.has-sidebar,
  .category-toolbar {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-page-intro,
  .category-toolbar {
    display: grid;
  }

  .product-page-intro__meta {
    justify-content: flex-start;
  }

  .category-hero__media {
    min-height: 260px;
  }

  .category-toolbar__controls {
    justify-content: stretch;
  }

  .category-toolbar__control {
    min-width: 0;
    flex: 1 1 200px;
  }
}

@media (max-width: 767.98px) {
  .product-page-intro {
    margin-bottom: 1.35rem;
  }

  .category-hero,
  .category-refine,
  .category-empty-state,
  .category-description {
    padding: 1.35rem;
    border-radius: 24px;
  }

  .category-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .catalog-product-card__body {
    padding: 1.1rem 1.1rem 1.2rem;
  }

  .category-pagination {
    flex-direction: column;
    align-items: flex-start;
    padding-inline: 0;
  }
}

/* Source: product/category visual refinement */
.product-page-modern,
.category-page-modern {
  --gs-brand-green: #82c11f;
  --gs-brand-ink: #2b2b2b;
  --gs-brand-mint: #d1e4b8;
  --gs-brand-surface: #f9f9f9;
  --gs-brand-line: #dfdfdf;
  --gs-brand-blush: #e5c0b8;
  --gs-brand-shadow: rgba(43, 43, 43, 0.06);
}

.product-page-modern .content-wrap,
.category-page-modern .content-wrap {
  padding-top: clamp(2.1rem, 4vw, 3.25rem);
  padding-bottom: clamp(3rem, 5vw, 4.8rem);
}

.product-page-modern .content-wrap {
  padding-top: clamp(1.15rem, 2vw, 1.85rem);
}

.product-page-modern .container.product-shell,
.category-page-modern #product-category.container {
  max-width: 1360px;
}

.product-page-intro {
  gap: 1.75rem;
  margin-bottom: 2.4rem;
  padding-bottom: 0.4rem;
}

.product-page-intro--minimal {
  display: block;
  margin-bottom: 1.25rem;
  padding-bottom: 0;
}

.product-page-intro__copy {
  max-width: 820px;
}

.product-page-intro__summary,
.product-subline,
.product-deep-dive .detail-lead,
.product-deep-dive .detail-copy,
.category-hero__summary,
.category-description__copy,
.catalog-product-card__description,
.category-toolbar__copy p {
  color: rgba(43, 43, 43, 0.72);
}

.product-breadcrumb .breadcrumb-item,
.category-breadcrumb .breadcrumb-item,
.product-page-intro__pill,
.category-hero__badge,
.category-hero__compare {
  border: 1px solid rgba(43, 43, 43, 0.08);
  background: #ffffff;
  color: var(--gs-brand-ink);
  box-shadow: none;
}

.product-breadcrumb .breadcrumb-item.is-current,
.category-breadcrumb .breadcrumb-item.is-current {
  border-color: transparent;
  background: var(--gs-brand-ink);
  color: #ffffff;
}

.product-page-intro__pill {
  min-height: 44px;
  padding-inline: 1rem;
}

.product-page-modern .product-card,
.category-hero,
.category-refine,
.category-toolbar,
.catalog-product-card,
.category-empty-state,
.category-description,
.product-deep-dive .detail-card,
.product-deep-dive .spec-card {
  border: 1px solid rgba(43, 43, 43, 0.08);
  box-shadow: 0 20px 44px var(--gs-brand-shadow);
}

.product-page-modern .product-card {
  border-radius: 30px;
}

.product-gallery-card {
  padding: 1.45rem;
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfb 100%);
}

.product-gallery-card .product-image {
  position: relative;
  padding: 1rem;
  border-radius: 28px;
  background: linear-gradient(180deg, #f7faef 0%, #ffffff 100%);
}

.product-gallery-card .product-image .fslider {
  --cnvs-fslider-thumbs-width: 84px;
  display: block;
}

.product-gallery-card .product-image .flexslider {
  border-radius: 24px;
  overflow: hidden;
  background: #ffffff;
}

.product-gallery-card .product-image .flex-viewport,
.product-gallery-card .product-image .flexslider,
.product-gallery-card .product-image .slide,
.product-gallery-card .product-image .slide > a {
  min-height: clamp(340px, 38vw, 520px);
}

.product-gallery-card .product-image .slider-wrap {
  display: block;
}

.product-gallery-card .product-image .slide {
  display: block;
}

.product-gallery-card .product-image .slide > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.product-gallery-card .product-image .slide > a > img,
.product-gallery-card .product-image .slide img {
  display: block;
  width: auto !important;
  height: auto !important;
  max-height: clamp(320px, 34vw, 480px);
  margin: 0 auto;
  object-fit: contain;
}

.product-gallery-card .flex-control-nav.flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(74px, 1fr));
  gap: 0.75rem;
  margin: 0.9rem 0 0;
}

.product-gallery-card .flex-control-nav.flex-control-thumbs li,
.product-gallery-card .flex-control-nav.flex-control-thumbs li img {
  width: 100% !important;
}

.product-gallery-card .flex-control-nav.flex-control-thumbs li {
  margin: 0;
}

.product-gallery-card .flex-control-nav.flex-control-thumbs li img {
  aspect-ratio: 1 / 1;
  padding: 0.35rem;
  border: 1px solid rgba(43, 43, 43, 0.08);
  border-radius: 18px;
  background: #ffffff;
  object-fit: contain;
  opacity: 0.8;
}

.product-gallery-card .flex-control-nav.flex-control-thumbs li:hover img,
.product-gallery-card .flex-control-nav.flex-control-thumbs li img.flex-active {
  border-color: rgba(130, 193, 31, 0.46);
  background: #f7faef;
  opacity: 1;
}

.product-gallery-card .product-image-empty {
  min-height: clamp(340px, 38vw, 520px);
}

.product-gallery-meta {
  gap: 1rem;
  margin-top: 1.45rem;
}

.product-gallery-stat {
  padding: 1.05rem 1.1rem;
  border: 0;
  border-radius: 22px;
  background: var(--gs-brand-surface);
}

.product-gallery-stat strong,
.product-headline,
.product-option-card h3,
.product-deep-dive .detail-title,
.product-deep-dive .spec-value,
.category-hero__copy h1,
.category-refine__head h2,
.catalog-product-card__title a,
.category-empty-state h2 {
  color: var(--gs-brand-ink);
}

.product-kicker,
.product-deep-dive .section-kicker,
.category-refine__eyebrow,
.category-toolbar__eyebrow {
  background: var(--gs-brand-mint);
  color: #466325;
}

.product-purchase-card {
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%);
}

.product-purchase-card .product-card-body {
  padding: 2rem;
}

.panel-divider {
  margin: 1.6rem 0;
  background: rgba(43, 43, 43, 0.08);
}

.product-price-card {
  padding: 1.55rem 1.6rem;
  border: 1px solid rgba(130, 193, 31, 0.2);
  border-radius: 28px;
  background: linear-gradient(180deg, #f7faef 0%, #eef5df 100%);
  color: var(--gs-brand-ink);
}

.product-price-label {
  color: rgba(43, 43, 43, 0.64);
}

.product-price-card .product-price {
  color: #5e980a;
}

.product-price-card .product-price del {
  color: rgba(43, 43, 43, 0.38);
}

.product-tax-note {
  background: rgba(255, 255, 255, 0.84);
  color: rgba(43, 43, 43, 0.84);
}

.product-form-layout {
  gap: 1.4rem;
  margin-top: 1.5rem;
}

.product-option-card {
  border-radius: 26px;
  border-color: rgba(43, 43, 43, 0.08);
  background: #ffffff;
}

.option-card-head {
  padding: 1.45rem 1.45rem 1rem;
}

.option-card-head::after {
  background: #f4f8ec;
  color: #5d920d;
}

.product-option-card.is-open .option-card-head::after {
  background: #eaf3d4;
}

.option-card-head--static::after {
  display: none;
}

.option-card-body {
  padding: 0 1.45rem 1.45rem;
}

.product-option-card .option-choice-label {
  padding: 1.05rem 1.15rem;
  border-color: rgba(43, 43, 43, 0.08);
  background: #fcfcfc;
}

.product-option-card .option-choice-input:checked + .option-choice-label {
  border-color: rgba(130, 193, 31, 0.44);
  background: #f4f8ec;
  box-shadow: none;
  transform: none;
}

.product-option-card .option-choice-input:checked + .option-choice-label::after {
  border-color: #82c11f;
  background: #82c11f;
  box-shadow: inset 0 0 0 4px #f4f8ec;
}

.product-option-card .option-choice-price {
  color: #5c8d12;
}

.purchase-bar {
  gap: 1.15rem;
  margin-top: 1.75rem;
}

.purchase-bar .quantity {
  border-color: rgba(43, 43, 43, 0.08);
  background: #ffffff;
}

.purchase-bar .add-to-cart {
  background: #82c11f;
  color: #2b2b2b;
  box-shadow: 0 16px 32px rgba(130, 193, 31, 0.18);
}

.purchase-bar .add-to-cart:hover {
  background: #75b019;
}

.brand-badge {
  padding: 1.05rem 1.15rem;
  border: 0;
  border-radius: 24px;
  background: #f9f9f9;
}

.product-deep-dive {
  margin-top: 2.5rem;
}

.product-deep-dive .detail-stack {
  gap: 1.75rem;
}

.product-deep-dive .detail-card-body {
  padding: 2.35rem;
}

.product-deep-dive .info-pill {
  border: 0;
  background: #f9f9f9;
}

.product-deep-dive .info-pill-option {
  background: #f4f8ec;
  color: #466325;
}

.download-list {
  gap: 1rem;
}

.download-card {
  padding: 1.15rem 1.2rem;
  border-radius: 20px;
  border-color: rgba(43, 43, 43, 0.08);
  background: #fcfcfc;
  box-shadow: none;
}

.download-card:hover {
  border-color: rgba(130, 193, 31, 0.34);
  box-shadow: 0 16px 34px rgba(43, 43, 43, 0.06);
}

.download-card-action {
  background: #f4f8ec;
  color: #4e7810;
}

.product-deep-dive .spec-card-head {
  background: #f4f8ec;
  color: var(--gs-brand-ink);
  border-bottom: 1px solid rgba(43, 43, 43, 0.06);
}

.product-deep-dive .spec-label {
  color: rgba(43, 43, 43, 0.56);
}

.category-hero {
  gap: 2.1rem;
  padding: 2.5rem 2.65rem;
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(229, 192, 184, 0.28), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f8faf5 100%);
}

.category-hero__meta {
  margin-top: 1.55rem;
}

.category-refine {
  margin-bottom: 2rem;
  padding: 1.55rem 1.6rem;
}

.category-refine__list {
  gap: 0.9rem;
}

.category-refine__link {
  min-height: 48px;
  padding-inline: 1.05rem;
  border-radius: 999px;
  background: #f9f9f9;
}

.category-refine__link:hover {
  background: #f4f8ec;
  border-color: rgba(130, 193, 31, 0.36);
}

.category-layout {
  gap: 2rem;
}

.category-toolbar {
  padding: 1.35rem 1.45rem;
  border-radius: 26px;
}

.category-grid {
  gap: 1.6rem;
}

.catalog-product-card {
  border-radius: 30px;
  background: linear-gradient(180deg, #ffffff 0%, #fcfcfc 100%);
}

.catalog-product-card__media {
  aspect-ratio: 1 / 1.04;
  background: linear-gradient(180deg, #f7faef 0%, #f9f9f9 100%);
}

.catalog-product-card__badges {
  top: 1.15rem;
  left: 1.15rem;
  right: 1.15rem;
}

.catalog-product-card__badge {
  background: rgba(255, 255, 255, 0.95);
}

.catalog-product-card__body {
  gap: 1.15rem;
  padding: 1.45rem 1.45rem 1.5rem;
}

.catalog-product-card__title {
  font-size: 1.22rem;
}

.catalog-product-card__footer {
  padding-top: 0.15rem;
}

.catalog-product-card__price {
  color: #5e980a;
}

.catalog-product-card__price del {
  color: rgba(43, 43, 43, 0.42);
}

.catalog-product-card__button {
  background: #2b2b2b;
  box-shadow: none;
}

.catalog-product-card__button:hover {
  background: #1e1e1e;
}

.category-pagination {
  margin-top: 2rem;
  padding-top: 0.6rem;
}

.category-empty-state,
.category-description {
  margin-top: 2rem;
  padding: 2.35rem;
  border-radius: 30px;
}

@media (max-width: 991.98px) {
  .product-purchase-card .product-card-body,
  .product-deep-dive .detail-card-body,
  .category-hero,
  .category-refine,
  .category-toolbar,
  .category-empty-state,
  .category-description {
    padding: 1.55rem;
  }

  .product-page-intro {
    gap: 1.1rem;
    margin-bottom: 1.75rem;
  }
}

@media (max-width: 767.98px) {
  .product-page-modern .content-wrap,
  .category-page-modern .content-wrap {
    padding-top: 1.5rem;
    padding-bottom: 2.6rem;
  }

  .product-page-intro__summary,
  .product-subline,
  .category-hero__summary,
  .catalog-product-card__description,
  .product-deep-dive .detail-copy {
    font-size: 0.95rem;
    line-height: 1.75;
  }

  .catalog-product-card,
  .product-page-modern .product-card,
  .category-hero,
  .category-refine,
  .category-toolbar,
  .category-empty-state,
  .category-description {
    border-radius: 24px;
  }

  .catalog-product-card__body {
    padding: 1.2rem 1.2rem 1.25rem;
  }

  .purchase-bar {
    gap: 0.9rem;
  }
}

/* Source: compare, breadcrumb and brand color refinements */
.product-breadcrumb,
.category-breadcrumb {
  gap: 0.3rem;
  margin-bottom: 0.8rem;
}

.product-breadcrumb .breadcrumb-item,
.category-breadcrumb .breadcrumb-item {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(43, 43, 43, 0.54);
  font-size: 0.88rem;
  box-shadow: none;
}

.product-breadcrumb .breadcrumb-item:not(.is-current)::after,
.category-breadcrumb .breadcrumb-item:not(.is-current)::after {
  content: "/";
  display: inline-block;
  margin-left: 0.45rem;
  color: rgba(43, 43, 43, 0.28);
}

.product-breadcrumb .breadcrumb-item a,
.category-breadcrumb .breadcrumb-item a {
  color: inherit;
}

.product-breadcrumb .breadcrumb-item.is-current,
.category-breadcrumb .breadcrumb-item.is-current {
  background: transparent;
  color: #2b2b2b;
  font-weight: 700;
}

.product-gallery-card .yerli-uretim,
.yerli-uretim.badge,
.catalog-product-card__badge.is-accent {
  background: #82c11f !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

.product-gallery-card .yerli-uretim,
.product-gallery-card .sale-flash {
  top: 1.1rem;
  z-index: 8;
}

.catalog-product-card__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.catalog-product-card__cart-form {
  margin: 0;
}

.catalog-product-card__button {
  background: #82c11f;
  color: #2b2b2b;
}

.catalog-product-card__button:hover {
  background: #2b2b2b;
  color: #ffffff;
}

.catalog-product-card__compare {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(43, 43, 43, 0.08);
  border-radius: 999px;
  background: #ffffff;
  color: #2b2b2b;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.catalog-product-card__compare:hover {
  border-color: #2b2b2b;
  background: #2b2b2b;
  color: #ffffff;
}

.purchase-bar .add-to-cart:hover {
  background: #2b2b2b;
  color: #ffffff;
}

/* Source: compare page */
.compare-page-modern {
  --compare-green: #82c11f;
  --compare-ink: #2b2b2b;
  --compare-line: rgba(43, 43, 43, 0.08);
  --compare-surface: #ffffff;
  --compare-surface-soft: #f9f9f9;
  --compare-shadow: rgba(43, 43, 43, 0.06);
}

.compare-page-modern .content-wrap {
  padding-top: clamp(2rem, 4vw, 3rem);
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}

.compare-page-modern #product-compare.container {
  max-width: 1400px;
}

.compare-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  margin-bottom: 2rem;
  padding: 2.2rem 2.3rem;
  border: 1px solid var(--compare-line);
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(130, 193, 31, 0.14), transparent 26%),
    linear-gradient(180deg, #ffffff 0%, #f8faf5 100%);
  box-shadow: 0 20px 44px var(--compare-shadow);
}

.compare-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0 0 0.85rem;
  padding: 0;
  list-style: none;
}

.compare-breadcrumb .breadcrumb-item {
  margin: 0;
  color: rgba(43, 43, 43, 0.54);
  font-size: 0.88rem;
}

.compare-breadcrumb .breadcrumb-item::before {
  display: none;
}

.compare-breadcrumb .breadcrumb-item:not(.is-current)::after {
  content: "/";
  display: inline-block;
  margin-left: 0.45rem;
  color: rgba(43, 43, 43, 0.28);
}

.compare-breadcrumb .breadcrumb-item a {
  color: inherit;
  text-decoration: none;
}

.compare-breadcrumb .breadcrumb-item.is-current {
  color: var(--compare-ink);
  font-weight: 700;
}

.compare-hero__copy h1 {
  margin: 0;
  color: var(--compare-ink);
  font-size: clamp(2.1rem, 4vw, 3.3rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.compare-hero__copy p {
  max-width: 760px;
  margin: 1rem 0 0;
  color: rgba(43, 43, 43, 0.72);
  font-size: 1rem;
  line-height: 1.85;
}

.compare-hero__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.8rem;
}

.compare-hero__pill,
.compare-hero__link {
  display: inline-flex;
  align-items: center;
  min-height: 46px;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--compare-line);
  background: #ffffff;
  color: var(--compare-ink);
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
}

.compare-hero__link {
  background: var(--compare-green);
}

.compare-hero__link:hover {
  background: var(--compare-ink);
  color: #ffffff;
}

.compare-table-shell {
  overflow-x: auto;
  padding: 0.4rem;
  border: 1px solid var(--compare-line);
  border-radius: 30px;
  background: var(--compare-surface);
  box-shadow: 0 20px 46px var(--compare-shadow);
}

.compare-table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.compare-table th,
.compare-table td {
  padding: 1rem 1.1rem;
  vertical-align: top;
  border-bottom: 1px solid var(--compare-line);
  background: #ffffff;
}

.compare-table thead:last-of-type th,
.compare-table tbody:last-of-type tr:last-child th,
.compare-table tbody:last-of-type tr:last-child td {
  border-bottom: 0;
}

.compare-table__label {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 180px;
  min-width: 180px;
  max-width: 180px;
  background: #fbfbfb;
  color: rgba(43, 43, 43, 0.62);
  font-size: 0.92rem;
  font-weight: 700;
}

.compare-table__label--headline {
  color: var(--compare-ink);
  font-size: 1rem;
}

.compare-table__group {
  padding: 0.95rem 1.15rem;
  background: #f4f8ec;
  color: var(--compare-ink);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.01em;
}

.compare-table__product {
  width: 320px;
  min-width: 320px;
  background: #ffffff;
}

.compare-table__rating span:last-child {
  display: inline-block;
  margin-top: 0.45rem;
  color: rgba(43, 43, 43, 0.68);
  font-size: 0.9rem;
}

.compare-table__description {
  color: rgba(43, 43, 43, 0.74);
  line-height: 1.8;
}

.compare-rating-stars {
  display: flex;
  flex-wrap: wrap;
  gap: 0.12rem;
  color: var(--compare-green);
}

.compare-product-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 0;
}

.compare-product-card__media {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  aspect-ratio: 1 / 0.82;
  min-height: 260px;
  padding: 1.35rem;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(180deg, #f7faef 0%, #f9f9f9 100%);
}

.compare-product-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.compare-product-card__media.is-placeholder {
  background: linear-gradient(180deg, #f8faf5 0%, #f1f4eb 100%);
  color: rgba(43, 43, 43, 0.48);
}

.compare-product-card__placeholder-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 74px;
  height: 74px;
  border-radius: 22px;
  background: rgba(129, 194, 33, 0.12);
  color: #82c11f;
  font-size: 1.5rem;
}

.compare-product-card__placeholder-text {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.compare-product-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.compare-product-card__body h2 {
  margin: 0;
  font-size: 1.18rem;
  line-height: 1.28;
}

.compare-product-card__body h2 a {
  color: var(--compare-ink);
  text-decoration: none;
}

.compare-product-card__price {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  color: #5e980a;
  font-size: 1.1rem;
  font-weight: 700;
}

.compare-product-card__price del {
  color: rgba(43, 43, 43, 0.42);
  font-size: 0.9rem;
  font-weight: 500;
}

.compare-product-card__price ins {
  text-decoration: none;
}

.compare-product-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.compare-product-card__actions form {
  margin: 0;
}

.compare-product-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.compare-product-card__button--cart {
  background: var(--compare-green);
  color: var(--compare-ink);
}

.compare-product-card__button--cart:hover {
  background: var(--compare-ink);
  color: #ffffff;
}

.compare-product-card__button--remove {
  border-color: var(--compare-line);
  background: #ffffff;
  color: var(--compare-ink);
}

.compare-product-card__button--remove:hover {
  background: var(--compare-ink);
  color: #ffffff;
}

.compare-empty-state {
  padding: 2.5rem;
  border: 1px solid var(--compare-line);
  border-radius: 30px;
  background: #ffffff;
  box-shadow: 0 20px 46px var(--compare-shadow);
  text-align: center;
}

.compare-empty-state__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  margin-bottom: 1rem;
  border-radius: 24px;
  background: #f4f8ec;
  color: #5e980a;
  font-size: 1.5rem;
}

.compare-empty-state h2 {
  margin-bottom: 0.8rem;
  color: var(--compare-ink);
  font-size: 1.5rem;
}

.compare-empty-state p {
  max-width: 620px;
  margin: 0 auto 1.3rem;
  color: rgba(43, 43, 43, 0.72);
  line-height: 1.8;
}

@media (max-width: 991.98px) {
  .compare-hero {
    grid-template-columns: minmax(0, 1fr);
    padding: 1.7rem;
  }

  .compare-hero__meta {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .compare-page-modern .content-wrap {
    padding-top: 1.5rem;
    padding-bottom: 2.6rem;
  }

  .compare-hero,
  .compare-table-shell,
  .compare-empty-state {
    border-radius: 24px;
  }

  .compare-hero__copy p,
  .compare-table__description,
  .compare-empty-state p {
    font-size: 0.95rem;
    line-height: 1.75;
  }

  .compare-table th,
  .compare-table td {
    padding: 0.85rem 0.9rem;
  }

  .compare-table__label {
    width: 150px;
    min-width: 150px;
    max-width: 150px;
  }

  .compare-table__product {
    min-width: 240px;
  }

  .product-gallery-card .product-image {
    padding: 0.8rem;
  }

  .product-gallery-card .product-image .flex-viewport,
  .product-gallery-card .product-image .flexslider,
  .product-gallery-card .product-image .slide,
  .product-gallery-card .product-image .slide > a,
  .product-gallery-card .product-image-empty {
    min-height: 300px;
  }

  .product-gallery-card .product-image .slide > a > img,
  .product-gallery-card .product-image .slide img {
    max-height: 280px;
  }

  .product-gallery-card .flex-control-nav.flex-control-thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.6rem;
  }
}

/* Source: storefront alert refinements */
#alert.toast-container {
  z-index: 1085;
  gap: 0.85rem;
}

#alert.toast-container > .alert,
body .alert {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  padding: 1rem 3.25rem 1rem 1rem;
  border: 1px solid rgba(223, 223, 223, 0.95);
  border-radius: 1.2rem;
  background: #ffffff;
  color: #2b2b2b;
  box-shadow: 0 18px 34px rgba(43, 43, 43, 0.08);
  line-height: 1.65;
}

#alert.toast-container > .alert i:first-child,
body .alert i:first-child {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  margin-top: 0.05rem;
  border-radius: 999px;
  background: rgba(130, 193, 31, 0.14);
  color: #2b2b2b;
  font-size: 0.95rem;
}

#alert.toast-container > .alert .btn-close,
body .alert .btn-close {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.88);
  box-shadow: none;
  opacity: 0.9;
}

#alert.toast-container > .alert .btn-close:hover,
body .alert .btn-close:hover {
  background-color: rgba(43, 43, 43, 0.08);
  opacity: 1;
}

#alert.toast-container > .alert a,
body .alert a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

#alert.toast-container > .alert.alert-success,
body .alert.alert-success {
  border-color: rgba(128, 196, 28, 0.28);
  background: linear-gradient(180deg, rgba(244, 250, 235, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%);
}

#alert.toast-container > .alert.alert-success i:first-child,
body .alert.alert-success i:first-child {
  background: rgba(130, 193, 31, 0.18);
  color: #5e980a;
}

#alert.toast-container > .alert.alert-danger,
body .alert.alert-danger {
  border-color: rgba(255, 0, 0, 0.2);
  background: linear-gradient(180deg, rgba(255, 245, 245, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%);
}

#alert.toast-container > .alert.alert-danger i:first-child,
body .alert.alert-danger i:first-child {
  background: rgba(255, 0, 0, 0.1);
  color: #d22a2a;
}

#alert.toast-container > .alert.alert-warning,
body .alert.alert-warning {
  border-color: rgba(229, 192, 184, 0.72);
  background: linear-gradient(180deg, rgba(255, 247, 244, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%);
}

#alert.toast-container > .alert.alert-warning i:first-child,
body .alert.alert-warning i:first-child {
  background: rgba(229, 192, 184, 0.32);
  color: #8b4a31;
}

#alert.toast-container > .alert.alert-info,
body .alert.alert-info,
#alert.toast-container > .alert.alert-light,
body .alert.alert-light {
  border-color: rgba(209, 228, 184, 0.9);
  background: linear-gradient(180deg, rgba(247, 250, 239, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%);
}

#alert.toast-container > .alert.alert-info i:first-child,
body .alert.alert-info i:first-child,
#alert.toast-container > .alert.alert-light i:first-child,
body .alert.alert-light i:first-child {
  background: rgba(176, 215, 167, 0.34);
  color: #4b6f26;
}

@media (max-width: 767.98px) {
  #alert.toast-container {
    left: 1rem;
    right: 1rem;
    width: auto;
    padding: 0 !important;
  }

  #alert.toast-container > .alert,
  body .alert {
    padding: 0.95rem 3rem 0.95rem 0.95rem;
    border-radius: 1rem;
  }
}

.homepage-partners-module {
  position: relative;
}

.homepage-partners-module__shell {
  display: grid;
  gap: 1.35rem;
}

.homepage-partners-module__header {
  display: flex;
  justify-content: center;
  text-align: center;
}

.homepage-partners-module__heading {
  max-width: 36rem;
}

.homepage-partners-module__heading h2 {
  margin: 0;
  color: #2b2b2b;
  font-size: clamp(1.85rem, 2.7vw, 2.55rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
  font-weight: 650;
}

.homepage-partners-module__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  column-gap: 1.5rem;
  row-gap: 1.75rem;
  align-items: start;
}

.homepage-partners-module__item {
  display: grid;
  gap: 0.65rem;
  min-height: 9.25rem;
  padding: 0.75rem 0.3rem;
  text-decoration: none;
  transition: transform 0.24s ease;
}

.homepage-partners-module__item:hover {
  transform: translateY(-2px);
}

.homepage-partners-module__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.4rem;
  padding: 0.55rem 0.3rem;
}

.homepage-partners-module__media img,
.homepage-partners-module__media video {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 4.25rem;
  object-fit: contain;
  margin: 0 auto;
  filter: grayscale(1) opacity(0.72);
  transition: transform 0.28s ease, filter 0.28s ease;
}

.homepage-partners-module__item:hover .homepage-partners-module__media img,
.homepage-partners-module__item:hover .homepage-partners-module__media video {
  filter: grayscale(0) opacity(1);
  transform: scale(1.02);
}

.homepage-partners-module__title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.35rem;
  color: rgba(43, 43, 43, 0.68);
  font-size: 0.78rem;
  line-height: 1.45;
  text-align: center;
  font-weight: 500;
}

@media (max-width: 1199.98px) {
  .homepage-partners-module__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 1.25rem;
  }
}

@media (max-width: 991.98px) {
  .homepage-partners-module__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .homepage-partners-module__item {
    min-height: 8.25rem;
  }
}

@media (max-width: 767.98px) {
  .homepage-partners-module__shell {
    gap: 1rem;
  }

  .homepage-partners-module__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1.2rem;
  }

  .homepage-partners-module__item {
    min-height: 7.4rem;
    padding: 0.25rem 0;
  }

  .homepage-partners-module__media {
    min-height: 4.5rem;
  }

  .homepage-partners-module__media img,
  .homepage-partners-module__media video {
    max-height: 3.25rem;
  }

  .homepage-partners-module__title {
    font-size: 0.74rem;
    min-height: 2.1rem;
  }
}

@media (max-width: 479.98px) {
  .homepage-partners-module__grid {
    grid-template-columns: 1fr;
  }
}
.newsletter-module__shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
	align-items: center;
	gap: 2.25rem;
	padding: clamp(1.75rem, 3vw, 3.25rem);
	border-radius: 34px;
	background:
		radial-gradient(circle at top left, rgba(130, 193, 31, 0.16), transparent 34%),
		linear-gradient(135deg, rgba(249, 251, 244, 0.96), rgba(255, 255, 255, 1));
	border: 1px solid rgba(130, 193, 31, 0.1);
	overflow: hidden;
}

.newsletter-module__shell--centered {
	max-width: 720px;
	margin: 0 auto;
}

.newsletter-module__shell::after {
	content: "";
	position: absolute;
	right: -3.25rem;
	bottom: -3.5rem;
	width: 16rem;
	height: 16rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(130, 193, 31, 0.14), rgba(130, 193, 31, 0));
	pointer-events: none;
}

.newsletter-module__copy {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 1rem;
}

.newsletter-module__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	width: fit-content;
	padding: 0.5rem 0.95rem 0.5rem 0.55rem;
	border-radius: 999px;
	background: rgba(130, 193, 31, 0.12);
	color: #355314;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.newsletter-module__eyebrow-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: #82c11f;
	color: #fff;
	font-size: 0.9rem;
}

.newsletter-module__copy h2,
.newsletter-module__copy h1 {
	margin: 0;
	max-width: 10ch;
	font-size: clamp(2.2rem, 4vw, 4rem);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: -0.04em;
	color: #1f2b1d;
}

.newsletter-module__description,
.newsletter-module__copy p {
	margin: 0;
	max-width: 54ch;
	color: #59665f;
	font-size: 1.04rem;
	line-height: 1.75;
}

.newsletter-module__panel {
	position: relative;
	z-index: 1;
	padding: 1.4rem;
	border-radius: 28px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid rgba(130, 193, 31, 0.12);
}

.newsletter-module__panel-glow {
	position: absolute;
	inset: auto -2.4rem -2.6rem auto;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(130, 193, 31, 0.18), rgba(130, 193, 31, 0));
	pointer-events: none;
}

.newsletter-module__form {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 1rem;
}

.newsletter-module__field-stack {
	display: grid;
	gap: 0.9rem;
}

.newsletter-module__field {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	min-height: 66px;
	padding: 0 1rem 0 1.05rem;
	border-radius: 20px;
	background: #f8fbf2;
	box-shadow: inset 0 0 0 1px rgba(130, 193, 31, 0.14);
}

.newsletter-module__field-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: rgba(130, 193, 31, 0.14);
	color: #5a8d0d;
	font-size: 1rem;
}

.newsletter-module__input {
	flex: 1 1 auto;
	min-height: 56px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	font-size: 1rem;
	color: #1f2b1d;
}

.newsletter-module__input:focus {
	background: transparent;
	box-shadow: none;
}

.newsletter-module__input::placeholder {
	color: #859186;
}

.newsletter-module__input.is-invalid {
	color: #b73737;
}

.newsletter-module__field.is-invalid {
	box-shadow: inset 0 0 0 1px rgba(202, 58, 58, 0.34);
	background: rgba(255, 244, 244, 0.96);
}

.newsletter-module__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 0 1.6rem;
	border: 0;
	border-radius: 18px;
	background: #82c11f;
	color: #fff;
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.newsletter-module__submit:hover,
.newsletter-module__submit:focus {
	background: #141a14;
	color: #fff;
	transform: translateY(-1px);
}

.newsletter-module__submit:disabled,
.newsletter-module__submit.is-loading {
	cursor: wait;
	opacity: 0.86;
	transform: none;
}

.newsletter-module__privacy {
	font-size: 0.92rem;
	line-height: 1.65;
	color: #6d786f;
}

.newsletter-module__feedback {
	display: grid;
	gap: 0.65rem;
}

.newsletter-module__alert {
	padding: 0.95rem 1rem;
	border-radius: 16px;
	font-size: 0.95rem;
}

.newsletter-module__alert--error {
	background: rgba(208, 44, 44, 0.08);
	color: #a12a2a;
}

.newsletter-module__alert--success {
	background: rgba(130, 193, 31, 0.12);
	color: #426700;
}

@media (max-width: 991.98px) {
	.newsletter-module__shell {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.newsletter-module__copy h2,
	.newsletter-module__copy h1 {
		max-width: none;
	}
}

@media (max-width: 767.98px) {
	.newsletter-module__shell {
		padding: 1.4rem;
		border-radius: 24px;
	}

	.newsletter-module__panel {
		padding: 1.1rem;
		border-radius: 22px;
	}

	.newsletter-module__eyebrow {
		font-size: 0.76rem;
		letter-spacing: 0.08em;
	}

	.newsletter-module__copy h2,
	.newsletter-module__copy h1 {
		font-size: clamp(1.9rem, 10vw, 2.75rem);
		line-height: 1;
	}

	.newsletter-module__description,
	.newsletter-module__copy p {
		font-size: 0.98rem;
		line-height: 1.7;
	}
}

.faq-module__shell {
	display: grid;
	gap: 1.5rem;
	max-width: 980px;
	margin: 0 auto;
}

.faq-module__header {
	display: grid;
	gap: 0.9rem;
	max-width: 60ch;
}

.faq-module__header h2 {
	margin: 0;
	font-size: clamp(2rem, 3.8vw, 3.4rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	color: #1f2b1d;
}

.faq-module__description,
.faq-module__description p {
	margin: 0;
	color: #617066;
	font-size: 1.02rem;
	line-height: 1.75;
}

.faq-module__list {
	display: grid;
	gap: 0.9rem;
}

.faq-module__item {
	border: 1px solid rgba(130, 193, 31, 0.14);
	border-radius: 24px;
	background: linear-gradient(180deg, rgba(248, 251, 243, 0.76), rgba(255, 255, 255, 0.96));
	overflow: hidden;
}

.faq-module__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.15rem 1.4rem;
	list-style: none;
	cursor: pointer;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.45;
	color: #1f2b1d;
}

.faq-module__question::-webkit-details-marker {
	display: none;
}

.faq-module__toggle {
	position: relative;
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: rgba(130, 193, 31, 0.12);
}

.faq-module__toggle::before,
.faq-module__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.9rem;
	height: 2px;
	background: #5d8817;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.faq-module__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.faq-module__item[open] .faq-module__toggle::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg) scaleX(0.2);
}

.faq-module__answer {
	padding: 0 1.4rem 1.35rem;
	color: #5c6b60;
	font-size: 0.98rem;
	line-height: 1.8;
	white-space: pre-line;
}

.faq-module__answer p:first-child,
.faq-module__answer ul:first-child,
.faq-module__answer ol:first-child {
	margin-top: 0;
}

.faq-module__answer p:last-child,
.faq-module__answer ul:last-child,
.faq-module__answer ol:last-child {
	margin-bottom: 0;
}

.faq-module__answer ul,
.faq-module__answer ol {
	padding-left: 1.2rem;
}

@media (max-width: 767.98px) {
	.faq-module__header h2 {
		font-size: clamp(1.8rem, 9vw, 2.7rem);
	}

	.faq-module__question {
		padding: 1rem 1.05rem;
		font-size: 0.98rem;
	}

	.faq-module__answer {
		padding: 0 1.05rem 1.05rem;
	}
}

.locations-map-module__shell {
	display: grid;
	gap: 1.6rem;
}

.locations-map-module__header {
	display: grid;
	gap: 1rem;
}

.locations-map-module__heading {
	display: grid;
	gap: 0.85rem;
	max-width: 64ch;
}

.locations-map-module__heading h2 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 0.98;
	letter-spacing: -0.04em;
	color: #1f2b1d;
}

.locations-map-module__description,
.locations-map-module__description p {
	margin: 0;
	color: #617066;
	font-size: 1.02rem;
	line-height: 1.75;
}

.locations-map-module__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

.locations-map-module__filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1.1rem;
	border: 1px solid rgba(31, 43, 29, 0.12);
	border-radius: 999px;
	background: #fff;
	color: #344034;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.locations-map-module__filter:hover,
.locations-map-module__filter:focus,
.locations-map-module__filter.is-active {
	border-color: rgba(130, 193, 31, 0.28);
	background: rgba(130, 193, 31, 0.12);
	color: #2d4210;
	transform: translateY(-1px);
}

.locations-map-module__body {
	display: grid;
	grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
	gap: 1.35rem;
	align-items: start;
}

.locations-map-module__list {
	display: grid;
	gap: 0.9rem;
	max-height: var(--locations-map-height, 620px);
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0.2rem 0.65rem 0.2rem 0.1rem;
	box-sizing: border-box;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	align-content: start;
}

.locations-map-module__list::-webkit-scrollbar {
	width: 0.55rem;
}

.locations-map-module__list::-webkit-scrollbar-track {
	background: rgba(31, 43, 29, 0.06);
	border-radius: 999px;
}

.locations-map-module__list::-webkit-scrollbar-thumb {
	background: rgba(130, 193, 31, 0.5);
	border-radius: 999px;
}

.locations-map-module__list::-webkit-scrollbar-thumb:hover {
	background: rgba(130, 193, 31, 0.72);
}

.locations-map-module__card {
	display: grid;
	gap: 1rem;
	padding: 1.1rem 1.15rem 1.15rem;
	border: 1px solid rgba(31, 43, 29, 0.08);
	border-radius: 24px;
	background: #fff;
	transition: border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.locations-map-module__card:hover,
.locations-map-module__card.is-active {
	border-color: rgba(130, 193, 31, 0.26);
	background: linear-gradient(180deg, rgba(248, 251, 243, 0.7), rgba(255, 255, 255, 1));
	transform: translateY(-1px);
}

.locations-map-module__card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.locations-map-module__type {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2rem;
	padding: 0.45rem 0.75rem;
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.locations-map-module__type--dealer {
	background: rgba(130, 193, 31, 0.12);
	color: #537b14;
}

.locations-map-module__type--service {
	background: rgba(31, 43, 29, 0.08);
	color: #263326;
}

.locations-map-module__focus {
	padding: 0;
	border: 0;
	background: transparent;
	color: #4d6d12;
	font-size: 0.9rem;
	font-weight: 600;
}

.locations-map-module__focus:hover,
.locations-map-module__focus:focus {
	color: #1f2b1d;
}

.locations-map-module__card h3 {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.28;
	letter-spacing: -0.02em;
	color: #1f2b1d;
}

.locations-map-module__address,
.locations-map-module__note {
	color: #5f6d61;
	font-size: 0.96rem;
	line-height: 1.75;
}

.locations-map-module__address {
	margin-top: -0.15rem;
}

.locations-map-module__note p:first-child {
	margin-top: 0;
}

.locations-map-module__note p:last-child {
	margin-bottom: 0;
}

.locations-map-module__meta {
	display: grid;
	gap: 0.45rem;
}

.locations-map-module__meta-link {
	color: #385138;
	font-size: 0.94rem;
	font-weight: 500;
	word-break: break-word;
}

.locations-map-module__meta-link:hover,
.locations-map-module__meta-link:focus {
	color: #82c11f;
}

.locations-map-module__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
}

.locations-map-module__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.95rem;
	padding: 0 1.05rem;
	border-radius: 999px;
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1;
}

.locations-map-module__action.is-primary {
	background: #82c11f;
	color: #fff;
}

.locations-map-module__action.is-primary:hover,
.locations-map-module__action.is-primary:focus {
	background: #141a14;
	color: #fff;
}

.locations-map-module__map-shell {
	position: sticky;
	top: 120px;
	border: 1px solid rgba(31, 43, 29, 0.08);
	border-radius: 30px;
	overflow: hidden;
	background: #eef3e8;
}

.locations-map-module__map {
	width: 100%;
	min-height: 420px;
}

.locations-map-popup {
	display: grid;
	gap: 0.55rem;
	width: min(280px, 100%);
}

.locations-map-popup__type {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	min-height: 1.8rem;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	background: rgba(130, 193, 31, 0.12);
	color: #537b14;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.locations-map-popup__title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.3;
	color: #1f2b1d;
}

.locations-map-popup__address,
.locations-map-popup__meta {
	margin: 0;
	color: #5f6d61;
	font-size: 0.9rem;
	line-height: 1.6;
}

@media (max-width: 991.98px) {
	.locations-map-module__body {
		grid-template-columns: 1fr;
	}

	.locations-map-module__list {
		max-height: none;
		overflow: visible;
		padding: 0;
	}

	.locations-map-module__map-shell {
		position: static;
		order: -1;
	}
}

@media (max-width: 767.98px) {
	.locations-map-module__heading h2 {
		font-size: clamp(1.8rem, 9vw, 2.8rem);
	}

	.locations-map-module__description,
	.locations-map-module__description p {
		font-size: 0.98rem;
	}

	.locations-map-module__card {
		padding: 1rem;
		border-radius: 22px;
	}

	.locations-map-module__card-top {
		align-items: flex-start;
		flex-direction: column;
	}

	.locations-map-module__map-shell {
		border-radius: 24px;
	}
}

.success-stories-module__shell {
	display: grid;
	gap: 2rem;
}

.success-stories-module__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
}

.success-stories-module__heading {
	display: grid;
	gap: 0.9rem;
	max-width: 760px;
}

.success-stories-module__heading h2 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 3rem);
	line-height: 1.02;
	letter-spacing: -0.05em;
	color: #1f2d15;
}

.success-stories-module__description,
.success-stories-module__description p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.8;
	color: rgba(31, 45, 21, 0.72);
}

.success-stories-module__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.success-stories-module__card {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	border: 1px solid rgba(28, 44, 21, 0.08);
	border-radius: 30px;
	overflow: hidden;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 249, 242, 0.94));
}

.success-stories-module__media-shell {
	position: relative;
	min-height: 100%;
}

.success-stories-module__media {
	display: block;
	position: relative;
	height: 100%;
	min-height: 320px;
	background: linear-gradient(135deg, rgba(227, 238, 211, 0.9), rgba(243, 247, 236, 0.95));
}

.success-stories-module__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.success-stories-module__media-fallback {
	display: grid;
	place-items: end start;
	height: 100%;
	padding: 1.75rem;
	background:
		radial-gradient(circle at top left, rgba(130, 193, 31, 0.2), transparent 48%),
		linear-gradient(135deg, rgba(247, 249, 242, 0.94), rgba(229, 237, 216, 0.85));
}

.success-stories-module__media-fallback span {
	display: inline-flex;
	padding: 0.55rem 0.85rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.92);
	color: #1f2d15;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.success-stories-module__metrics {
	position: absolute;
	left: 1rem;
	right: 1rem;
	bottom: 1rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.success-stories-module__metric {
	display: grid;
	gap: 0.1rem;
	padding: 0.85rem 1rem;
	min-width: 120px;
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(28, 44, 21, 0.08);
	backdrop-filter: blur(12px);
}

.success-stories-module__metric strong {
	font-size: 1.2rem;
	line-height: 1;
	color: #1f2d15;
	letter-spacing: -0.03em;
}

.success-stories-module__metric span {
	font-size: 0.72rem;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(31, 45, 21, 0.66);
}

.success-stories-module__body {
	display: grid;
	align-content: start;
	gap: 1rem;
	padding: 1.75rem 1.75rem 1.9rem;
}

.success-stories-module__eyebrow {
	display: inline-flex;
	align-self: start;
	padding: 0.42rem 0.78rem;
	border-radius: 999px;
	background: rgba(130, 193, 31, 0.14);
	color: #527a13;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.success-stories-module__body h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2vw, 1.9rem);
	line-height: 1.08;
	letter-spacing: -0.04em;
	color: #1f2d15;
}

.success-stories-module__body h3 a {
	color: inherit;
	text-decoration: none;
}

.success-stories-module__summary,
.success-stories-module__summary p {
	margin: 0;
	font-size: 0.98rem;
	line-height: 1.82;
	color: rgba(31, 45, 21, 0.74);
}

.success-stories-module__result {
	display: grid;
	gap: 0.6rem;
	padding: 1rem 1.05rem;
	border-radius: 20px;
	background: rgba(241, 245, 233, 0.9);
	border: 1px solid rgba(130, 193, 31, 0.16);
}

.success-stories-module__result-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(31, 45, 21, 0.54);
}

.success-stories-module__result-copy,
.success-stories-module__result-copy p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.75;
	color: #1f2d15;
}

.success-stories-module__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	align-self: start;
	padding: 0;
	border: 0;
	background: transparent;
	color: #1f2d15;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
}

.success-stories-module__link::after {
	content: '\2192';
	font-size: 1rem;
	transform: translateX(0);
	transition: transform 0.25s ease;
}

.success-stories-module__link:hover,
.success-stories-module__link:focus {
	color: #82c11f;
}

.success-stories-module__link:hover::after,
.success-stories-module__link:focus::after {
	transform: translateX(4px);
}

@media (max-width: 1199px) {
	.success-stories-module__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.success-stories-module__heading h2 {
		font-size: 2rem;
	}

	.success-stories-module__card {
		grid-template-columns: 1fr;
	}

	.success-stories-module__media {
		min-height: 280px;
	}

	.success-stories-module__body {
		padding: 1.35rem;
	}
}

.checkout-success-page {
	padding: 2.25rem 0 4rem;
}

.checkout-success-shell {
	max-width: 860px;
	margin: 0 auto;
}

.checkout-success-card {
	position: relative;
	display: grid;
	gap: 1.5rem;
	padding: 2rem;
	border: 1px solid rgba(43, 43, 43, 0.08);
	border-radius: 32px;
	background:
		radial-gradient(circle at top right, rgba(130, 193, 31, 0.1), transparent 32%),
		linear-gradient(180deg, #ffffff 0%, #fbfcf8 100%);
}

.checkout-success-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.6rem;
	height: 4.6rem;
	border-radius: 999px;
	background: linear-gradient(180deg, #94d126 0%, #82c11f 100%);
	color: #ffffff;
	font-size: 1.9rem;
	box-shadow: 0 16px 34px rgba(130, 193, 31, 0.18);
}

.checkout-success-copy {
	display: grid;
	gap: 0.9rem;
}

.checkout-success-eyebrow {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	padding: 0.45rem 0.85rem;
	border-radius: 999px;
	background: #f4f8ec;
	color: #5c8d12;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.checkout-success-copy h2 {
	margin: 0;
	color: #2b2b2b;
	font-size: clamp(2rem, 3.4vw, 3rem);
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.checkout-success-message {
	color: #5e5e5e;
	font-size: 1rem;
	line-height: 1.85;
}

.checkout-success-message p {
	margin: 0;
}

.checkout-success-message p + p {
	margin-top: 0.9rem;
}

.checkout-success-message a {
	color: #5c8d12;
	font-weight: 700;
	text-decoration: none;
}

.checkout-success-message a:hover {
	color: #2b2b2b;
}

.checkout-success-actions {
	display: flex;
	justify-content: flex-start;
}

.checkout-success-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.45rem;
	padding: 0.9rem 1.45rem;
	border-radius: 999px;
	background: #82c11f;
	color: #ffffff;
	font-size: 0.95rem;
	font-weight: 700;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}

.checkout-success-button:hover {
	background: #2b2b2b;
	color: #ffffff;
	transform: translateY(-1px);
}

@media (max-width: 767px) {
	.checkout-success-page {
		padding: 1.5rem 0 3rem;
	}

	.checkout-success-card {
		padding: 1.35rem;
		border-radius: 24px;
	}

	.checkout-success-badge {
		width: 4rem;
		height: 4rem;
		font-size: 1.55rem;
	}

	.checkout-success-actions,
	.checkout-success-button {
		width: 100%;
	}
}

@media (max-width: 575.98px) {
	html,
	body {
		overflow-x: hidden;
	}

	#wrapper {
		overflow-x: clip;
	}

	#top-bar.site-topbar > .container,
	.site-header-modern #header-wrap > .container,
	.page-title.bg-breadcrumb:not(.account-page-title) .container,
	body.account-theme .account-page-title .container,
	body.account-theme .account-page .account-shell {
		padding-left: 0.9rem;
		padding-right: 0.9rem;
	}

	.site-topbar-actions,
	.site-top-links .top-links-container {
		grid-template-columns: 1fr;
	}

	.site-topbar-actions .site-top-links,
	.site-topbar-actions .header-account-pill,
	.site-topbar-actions #header-cart {
		grid-column: auto;
	}

	.site-topbar-actions #header-cart,
	.site-topbar-actions .header-cart-shell,
	.site-topbar-actions .site-mini-cart {
		width: 100%;
		min-width: 0;
	}

	.site-topbar-actions .header-cart-shell {
		display: block;
	}

	.site-topbar-actions .header-action-pill,
	.site-topbar-actions .site-mini-cart-trigger,
	.site-top-links .top-links-item > a {
		min-height: 2.7rem;
	}

	.site-topbar-actions .site-mini-cart-trigger {
		width: 100%;
		justify-content: flex-start;
	}

	.site-mini-cart-content {
		width: 100%;
		max-width: min(calc(100vw - 1rem), 320px);
		right: 0;
		left: auto;
		transform: translateY(10px);
	}

	.site-footer__intro {
		gap: 1.25rem;
		padding-bottom: 1.7rem;
	}

	.site-footer__intro-copy h2 {
		font-size: clamp(1.65rem, 8vw, 2.2rem);
	}

	.site-footer__actions,
	.site-footer__social {
		width: 100%;
	}

	.site-footer__cta {
		width: 100%;
		margin-bottom: 0;
	}

	.site-footer__social {
		justify-content: flex-start;
	}

	.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content h1,
	.page-title.bg-breadcrumb:not(.account-page-title) .page-title-content .h1,
	.blog-hero-main h1,
	.blog-featured-body h2,
	.blog-card h2,
	.blog-recommend-card h3,
	.career-hero__copy h1,
	.career-card__copy h2,
	.locations-map-module__heading h2,
	.success-stories-module__heading h2,
	.success-stories-module__body h3,
	.newsletter-module__copy h2,
	.newsletter-module__copy h1,
	.product-headline,
	.catalog-product-card__title,
	.account-list-card__title,
	.account-detail-card__title,
	.checkout-success-copy h2 {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.blog-hero-stats {
		grid-template-columns: 1fr;
	}

	.blog-hero-stat,
	.blog-filter-chip,
	.blog-clear-filter {
		min-width: 0;
	}

	.blog-filter-chip,
	.blog-clear-filter {
		width: 100%;
		justify-content: center;
	}

	.career-hero__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.career-card__head {
		flex-direction: column;
		align-items: flex-start;
	}

	.career-card__action,
	.career-hero__cta,
	.career-hero__secondary {
		width: 100%;
	}

	.product-page-modern .product-card,
	.category-hero,
	.category-refine,
	.category-toolbar,
	.catalog-product-card,
	.category-empty-state,
	.category-description,
	.product-deep-dive .detail-card,
	.product-deep-dive .spec-card,
	.product-purchase-card,
	.product-option-card {
		border-radius: 20px;
	}

	.product-gallery-card,
	.product-purchase-card .product-card-body,
	.product-deep-dive .detail-card-body,
	.category-hero,
	.category-refine,
	.category-toolbar,
	.category-empty-state,
	.category-description {
		padding: 1rem;
	}

	.product-gallery-card .product-image {
		padding: 0.7rem;
		border-radius: 22px;
	}

	.product-gallery-card .product-image .flex-viewport,
	.product-gallery-card .product-image .flexslider,
	.product-gallery-card .product-image .slide,
	.product-gallery-card .product-image .slide > a,
	.product-gallery-card .product-image-empty {
		min-height: 280px;
	}

	.product-gallery-card .product-image .slide > a > img,
	.product-gallery-card .product-image .slide img {
		max-height: 240px;
	}

	.product-gallery-card .flex-control-nav.flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.5rem;
	}

	.product-gallery-meta {
		grid-template-columns: 1fr;
		gap: 0.7rem;
		margin-top: 1rem;
	}

	.product-page-intro__meta,
	.category-hero__meta {
		gap: 0.55rem;
	}

	.product-page-intro__pill,
	.category-hero__compare,
	.brand-badge {
		width: 100%;
		justify-content: flex-start;
	}

	.product-price-card {
		padding: 1.1rem;
		border-radius: 22px;
	}

	.option-card-head {
		padding: 1rem 1rem 0.8rem;
	}

	.option-card-body {
		padding: 0 1rem 1rem;
	}

	.product-option-card .option-choice-label,
	.product-option-card .option-choice-label--pill {
		padding: 0.9rem 0.95rem;
	}

	.product-option-card .option-pill-group {
		gap: 0.55rem;
	}

	.product-option-card .option-choice-title,
	.product-option-card .option-choice-price {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.purchase-bar {
		flex-direction: column;
		align-items: stretch;
	}

	.purchase-bar .quantity,
	.purchase-bar .add-to-cart {
		width: 100%;
	}

	.category-toolbar__controls {
		display: grid;
		grid-template-columns: 1fr;
		width: 100%;
	}

	.category-toolbar__control {
		width: 100%;
		flex: 1 1 100%;
	}

	.catalog-product-card__footer,
	.catalog-product-card__actions {
		width: 100%;
	}

	.catalog-product-card__button {
		width: 100%;
		justify-content: center;
	}

	body.account-theme .account-content-surface,
	body.account-theme .account-list-card,
	body.account-theme .account-detail-card,
	body.account-theme .account-history-card,
	body.account-theme .account-product-card {
		padding: 1rem;
		border-radius: 1.2rem;
	}

	body.account-theme .account-list-card__header,
	body.account-theme .account-detail-card__header {
		flex-direction: column;
	}

	body.account-theme .account-list-actions,
	body.account-theme .account-detail-actions,
	body.account-theme .account-product-card__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	body.account-theme .account-content-surface > .table-responsive {
		margin-inline: -0.1rem;
		padding-bottom: 0.25rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.account-theme .account-content-surface table.table {
		min-width: 640px;
	}

	#checkout-checkout .checkout-hero-copy h2 {
		font-size: clamp(1.6rem, 8vw, 2.15rem);
	}

	#checkout-checkout .checkout-hero-copy,
	#checkout-checkout .checkout-hero-note,
	#checkout-checkout .checkout-surface {
		border-radius: 1.2rem;
	}

	#checkout-checkout .checkout-review-item {
		grid-template-columns: 1fr;
	}

	#checkout-checkout .checkout-review-price {
		white-space: normal;
	}

	#checkout-checkout .checkout-review-total {
		align-items: flex-start;
	}

	.newsletter-module__shell {
		padding: 1.15rem;
		border-radius: 22px;
	}

	.newsletter-module__field {
		min-height: 60px;
		padding-inline: 0.9rem;
		border-radius: 18px;
	}

	.faq-module__question {
		align-items: flex-start;
	}

	.locations-map-module__filters {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.locations-map-module__filter {
		width: 100%;
		padding-inline: 0.8rem;
	}

	.locations-map-module__actions {
		flex-direction: column;
	}

	.locations-map-module__action {
		width: 100%;
	}

	.locations-map-module__map {
		min-height: 340px;
	}

	.success-stories-module__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.7rem;
	}

	.success-stories-module__metric {
		min-width: 0;
		padding: 0.8rem 0.85rem;
	}

	.success-stories-module__metric strong {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}

.not-found-page {
	padding: 2.2rem 0 4.5rem;
	background: transparent;
}

.not-found-shell {
	max-width: 960px;
	margin: 0 auto;
}

.not-found-card {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.45rem;
	align-items: center;
	padding: 2.2rem;
	border: 1px solid rgba(43, 43, 43, 0.08);
	border-radius: 2rem;
	background: #ffffff;
	box-shadow: none;
	overflow: hidden;
}

.not-found-visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	padding: 1.4rem;
	border-radius: 1.5rem;
	background: #f8fbf2;
	border: 1px solid rgba(130, 193, 31, 0.16);
	isolation: isolate;
}

.not-found-visual--empty-cart {
	min-height: 150px;
}

.not-found-kicker {
	position: absolute;
	top: 1.2rem;
	left: 1.2rem;
	display: inline-flex;
	align-items: center;
	min-height: 2rem;
	padding: 0.38rem 0.82rem;
	border-radius: 999px;
	background: rgba(130, 193, 31, 0.14);
	color: #527a13;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.not-found-code {
	position: relative;
	z-index: 1;
	color: rgba(31, 45, 21, 0.12);
	font-size: clamp(4rem, 12vw, 7rem);
	font-weight: 800;
	line-height: 0.88;
	letter-spacing: -0.08em;
}

.not-found-icon-wrap {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.8rem;
	height: 4.8rem;
	border-radius: 999px;
	background: #82c11f;
	color: #1f1f1f;
	box-shadow: none;
}

.not-found-icon-wrap i {
	font-size: 1.45rem;
}

.not-found-orbit {
	display: none;
}

.not-found-copy {
	display: grid;
	gap: 0.95rem;
	align-content: center;
	min-width: 0;
	text-align: center;
	justify-items: center;
}

.not-found-section-label {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	min-height: 2rem;
	padding: 0.38rem 0.82rem;
	border-radius: 999px;
	background: rgba(209, 228, 184, 0.56);
	color: #4b6f26;
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.not-found-copy h2 {
	margin: 0;
	color: #242424;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	line-height: 0.98;
	letter-spacing: -0.05em;
	max-width: 12ch;
	text-wrap: balance;
}

.not-found-path {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	padding: 0.55rem 0.8rem;
	border-radius: 1rem;
	background: #f7f9f3;
	color: #6a6a6a;
	font-size: 0.84rem;
	line-height: 1.6;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.not-found-description {
	margin: 0;
	max-width: 42rem;
	color: #616161;
	font-size: 1rem;
	line-height: 1.82;
	text-wrap: pretty;
}

.not-found-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-top: 0.2rem;
	justify-content: center;
}

.not-found-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3.15rem;
	padding: 0.82rem 1.35rem;
	border-radius: 999px;
	border: 1px solid transparent;
	font-size: 0.92rem;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.not-found-button:hover {
	transform: translateY(-1px);
}

.not-found-button--primary {
	background: #82c11f;
	color: #1f1f1f;
}

.not-found-button--primary:hover {
	background: #2b2b2b;
	color: #ffffff;
}

.not-found-button--secondary {
	background: #ffffff;
	border-color: rgba(223, 223, 223, 0.92);
	color: #2b2b2b;
}

.not-found-button--secondary:hover {
	border-color: rgba(130, 193, 31, 0.72);
	color: #2b2b2b;
}

@media (max-width: 991.98px) {
}

@media (max-width: 767.98px) {
	.not-found-page {
		padding: 1.5rem 0 3rem;
	}

	.not-found-card {
		padding: 1.2rem;
		border-radius: 1.5rem;
	}

	.not-found-visual {
		min-height: 150px;
		padding: 1rem;
		border-radius: 1.35rem;
	}

	.not-found-copy h2 {
		font-size: clamp(1.95rem, 8vw, 2.8rem);
	}

	.not-found-icon-wrap {
		width: 4rem;
		height: 4rem;
	}

	.not-found-icon-wrap i {
		font-size: 1.2rem;
	}

	.not-found-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.not-found-button {
		width: 100%;
	}
}

/* Source: extension/gorsentam/catalog/view/template/module/mobile_app_showcase.twig */
.mobile-app-showcase {
	--mobile-app-accent: #82c11f;
	--mobile-app-accent-deep: #5f8b18;
	--mobile-app-surface: #f4f7ef;
	--mobile-app-surface-strong: #ffffff;
	--mobile-app-ink: #1f261f;
	--mobile-app-muted: #667062;
}

.mobile-app-showcase .container {
	max-width: 1240px;
}

.mobile-app-showcase__shell {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 560px);
	gap: clamp(2rem, 4vw, 4.5rem);
	align-items: center;
	padding: clamp(1.35rem, 3vw, 2rem);
	border: 1px solid rgba(130, 193, 31, 0.12);
	border-radius: 2rem;
	background:
		radial-gradient(circle at top left, rgba(130, 193, 31, 0.14), transparent 28%),
		linear-gradient(135deg, rgba(249, 250, 246, 0.98), rgba(238, 243, 235, 0.95));
	box-shadow: 0 28px 70px rgba(26, 34, 24, 0.08);
	overflow: hidden;
}

.mobile-app-showcase__shell::before,
.mobile-app-showcase__shell::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	pointer-events: none;
}

.mobile-app-showcase__shell::before {
	right: -4rem;
	top: -4rem;
	width: 14rem;
	height: 14rem;
	background: radial-gradient(circle, rgba(130, 193, 31, 0.18), transparent 70%);
}

.mobile-app-showcase__shell::after {
	left: -5rem;
	bottom: -6rem;
	width: 18rem;
	height: 18rem;
	background: radial-gradient(circle, rgba(31, 38, 31, 0.08), transparent 72%);
}

.mobile-app-showcase__copy {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 1.2rem;
	align-content: center;
}

.mobile-app-showcase__copy > * {
	opacity: 0;
	transform: translateY(20px);
	animation: mobileAppShowcaseFadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.mobile-app-showcase__copy > :nth-child(1) {
	animation-delay: 0.06s;
}

.mobile-app-showcase__copy > :nth-child(2) {
	animation-delay: 0.14s;
}

.mobile-app-showcase__copy > :nth-child(3) {
	animation-delay: 0.22s;
}

.mobile-app-showcase__copy > :nth-child(4) {
	animation-delay: 0.3s;
}

.mobile-app-showcase__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	width: fit-content;
	max-width: 100%;
	padding: 0.6rem 0.95rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(130, 193, 31, 0.18);
	color: var(--mobile-app-accent-deep);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	box-shadow: 0 16px 36px rgba(35, 41, 32, 0.07);
}

.mobile-app-showcase__eyebrow::before {
	content: "";
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: linear-gradient(135deg, #94d52d, #6ba315);
	box-shadow: 0 0 0 0.35rem rgba(130, 193, 31, 0.16);
}

.mobile-app-showcase__title {
	margin: 0;
	color: var(--mobile-app-ink);
	font-size: clamp(2.3rem, 5vw, 4rem);
	line-height: 0.96;
	letter-spacing: -0.05em;
	max-width: 10ch;
	text-wrap: balance;
}

.mobile-app-showcase__description {
	margin: 0;
	max-width: 34rem;
	color: var(--mobile-app-muted);
	font-size: 1.04rem;
	line-height: 1.85;
	text-wrap: pretty;
}

.mobile-app-showcase__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
}

.mobile-app-showcase__store-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(190px, 24vw, 220px);
	min-width: clamp(190px, 24vw, 220px);
	height: clamp(56px, 7vw, 74px);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	line-height: 0;
	text-decoration: none;
	transition: transform 0.28s ease, filter 0.28s ease;
}

.mobile-app-showcase__store-link:hover {
	transform: translateY(-4px);
	filter: drop-shadow(0 18px 28px rgba(28, 35, 27, 0.16));
}

.mobile-app-showcase__store-link:focus-visible {
	outline: 2px solid rgba(130, 193, 31, 0.72);
	outline-offset: 0.3rem;
	border-radius: 0.85rem;
}

.mobile-app-showcase__store-link img {
	display: block;
	width: auto;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.mobile-app-showcase__visual {
	position: relative;
	min-height: clamp(420px, 52vw, 640px);
}

.mobile-app-showcase__visual-panel {
	position: relative;
	min-height: 100%;
	padding: clamp(1.3rem, 3vw, 2rem);
	border-radius: 2rem;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.76), rgba(242, 246, 238, 0.92)),
		linear-gradient(135deg, rgba(130, 193, 31, 0.12), rgba(255, 255, 255, 0));
	border: 1px solid rgba(130, 193, 31, 0.14);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65);
	overflow: hidden;
}

.mobile-app-showcase__visual-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(31, 38, 31, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(31, 38, 31, 0.04) 1px, transparent 1px);
	background-size: 34px 34px;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5), transparent 85%);
	pointer-events: none;
}

.mobile-app-showcase__device-stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(360px, 44vw, 560px);
}

.mobile-app-showcase__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(14px);
	opacity: 0.65;
	pointer-events: none;
	animation: mobileAppShowcaseGlow 8s ease-in-out infinite;
}

.mobile-app-showcase__glow--one {
	top: 2rem;
	left: 0;
	width: 10rem;
	height: 10rem;
	background: radial-gradient(circle, rgba(130, 193, 31, 0.26), transparent 70%);
}

.mobile-app-showcase__glow--two {
	right: 1rem;
	bottom: 1rem;
	width: 12rem;
	height: 12rem;
	background: radial-gradient(circle, rgba(31, 38, 31, 0.14), transparent 72%);
	animation-delay: -3s;
}

.mobile-app-showcase__device {
	position: relative;
	z-index: 2;
	width: min(100%, 330px);
	padding: 0.72rem;
	border-radius: 2.5rem;
	background: linear-gradient(180deg, #1e211d 0%, #4a4f47 78%, #141613 100%);
	box-shadow: 0 32px 68px rgba(17, 21, 16, 0.28);
	animation: mobileAppShowcaseDeviceFloat 7.5s ease-in-out infinite;
}

.mobile-app-showcase__device::before {
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: inherit;
	border: 1px solid rgba(255, 255, 255, 0.14);
	pointer-events: none;
}

.mobile-app-showcase__device-notch {
	position: absolute;
	top: 0.8rem;
	left: 50%;
	width: 32%;
	height: 1.3rem;
	border-radius: 0 0 1rem 1rem;
	background: rgba(17, 20, 16, 0.88);
	transform: translateX(-50%);
	z-index: 3;
}

.mobile-app-showcase__device-screen {
	position: relative;
	overflow: hidden;
	border-radius: 2rem;
	aspect-ratio: 9 / 18.5;
	background:
		radial-gradient(circle at top, rgba(130, 193, 31, 0.18), transparent 32%),
		linear-gradient(180deg, #eff4e9 0%, #dbe8d2 100%);
}

.mobile-app-showcase__slider {
	position: relative;
	height: 100%;
	touch-action: pan-y;
	user-select: none;
	-webkit-user-select: none;
	cursor: grab;
}

.mobile-app-showcase__slider.is-dragging {
	cursor: grabbing;
}

.mobile-app-showcase__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transform: translate3d(20px, 0, 0) scale(1.02);
	transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}

.mobile-app-showcase__slide.is-active {
	opacity: 1;
	visibility: visible;
	transform: translate3d(var(--mobile-app-drag-offset, 0), 0, 0) scale(1);
}

.mobile-app-showcase__slider.is-dragging .mobile-app-showcase__slide {
	transition: none;
}

.mobile-app-showcase__slider-arrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9rem;
	height: 1.9rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(18, 23, 18, 0.16);
	color: rgba(255, 255, 255, 0.62);
	box-shadow: none;
	backdrop-filter: blur(6px);
	opacity: 0.58;
	transform: translateY(-50%);
	transition: background-color 0.22s ease, color 0.22s ease, transform 0.22s ease, opacity 0.22s ease;
}

.mobile-app-showcase__slider-arrow i {
	font-size: 0.8rem;
}

.mobile-app-showcase__slider-arrow:hover,
.mobile-app-showcase__slider-arrow:focus-visible {
	background: rgba(130, 193, 31, 0.24);
	color: #1f261f;
	opacity: 0.9;
	transform: translateY(-50%) scale(1.03);
}

.mobile-app-showcase__slider-arrow:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.7);
	outline-offset: 2px;
}

.mobile-app-showcase__slider-arrow.is-prev {
	left: 0.6rem;
}

.mobile-app-showcase__slider-arrow.is-next {
	right: 0.6rem;
}

.mobile-app-showcase__device-screen img,
.mobile-app-showcase__device-screen video,
.mobile-app-showcase__floating-card img,
.mobile-app-showcase__floating-card video,
.mobile-app-showcase__gallery-media img,
.mobile-app-showcase__gallery-media video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mobile-app-showcase__slider-dots {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.4rem 0.55rem;
	border-radius: 999px;
	background: rgba(18, 23, 18, 0.34);
	backdrop-filter: blur(10px);
	transform: translateX(-50%);
}

.mobile-app-showcase__slider-dot {
	width: 0.5rem;
	height: 0.5rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.38);
	transition: width 0.24s ease, background-color 0.24s ease, opacity 0.24s ease;
}

.mobile-app-showcase__slider-dot.is-active {
	width: 1.5rem;
	background: var(--mobile-app-accent);
}

.mobile-app-showcase__placeholder {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 1rem;
	height: 100%;
	padding: 1.35rem;
}

.mobile-app-showcase__placeholder-top,
.mobile-app-showcase__placeholder-list {
	display: grid;
	gap: 0.7rem;
}

.mobile-app-showcase__placeholder-top {
	grid-template-columns: repeat(3, 1fr);
}

.mobile-app-showcase__placeholder-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: minmax(4.5rem, 1fr);
	gap: 0.9rem;
}

.mobile-app-showcase__placeholder-top span,
.mobile-app-showcase__placeholder-grid span,
.mobile-app-showcase__placeholder-list span {
	display: block;
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.78);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
}

.mobile-app-showcase__placeholder-top span {
	height: 0.9rem;
}

.mobile-app-showcase__placeholder-grid span {
	min-height: 5rem;
}

.mobile-app-showcase__placeholder-list span {
	height: 1rem;
}

.mobile-app-showcase__placeholder-list .is-wide {
	width: 84%;
}

.mobile-app-showcase__placeholder-grid .is-accent,
.mobile-app-showcase__placeholder-list .is-accent {
	background: linear-gradient(135deg, rgba(130, 193, 31, 0.95), rgba(101, 157, 25, 0.86));
}

.mobile-app-showcase__placeholder-grid .is-soft {
	background: linear-gradient(135deg, rgba(219, 231, 211, 0.9), rgba(255, 255, 255, 0.8));
}

.mobile-app-showcase__floating-card,
.mobile-app-showcase__floating-panel {
	position: absolute;
	z-index: 1;
	overflow: hidden;
	border-radius: 1.35rem;
	background: rgba(255, 255, 255, 0.84);
	border: 1px solid rgba(31, 38, 31, 0.08);
	box-shadow: 0 20px 42px rgba(28, 35, 27, 0.14);
	backdrop-filter: blur(12px);
}

.mobile-app-showcase__floating-card {
	padding: 0.45rem;
}

.mobile-app-showcase__floating-card--1 {
	top: 2rem;
	right: 0.2rem;
	width: min(34%, 180px);
	aspect-ratio: 4 / 5;
	animation: mobileAppShowcaseCardFloat 7.2s ease-in-out infinite;
}

.mobile-app-showcase__floating-card--2 {
	left: 0;
	bottom: 1.8rem;
	width: min(36%, 190px);
	aspect-ratio: 16 / 11;
	animation: mobileAppShowcaseCardFloat 8.4s ease-in-out infinite reverse;
}

.mobile-app-showcase__floating-panel {
	display: grid;
	gap: 0.7rem;
	padding: 1rem;
}

.mobile-app-showcase__floating-panel span {
	display: block;
	height: 0.95rem;
	border-radius: 999px;
	background: rgba(31, 38, 31, 0.1);
}

.mobile-app-showcase__floating-panel .is-accent {
	background: linear-gradient(135deg, rgba(130, 193, 31, 0.92), rgba(101, 157, 25, 0.88));
}

.mobile-app-showcase__floating-panel--top {
	top: 2.1rem;
	right: 0.2rem;
	width: min(42%, 200px);
	animation: mobileAppShowcaseCardFloat 8.1s ease-in-out infinite;
}

.mobile-app-showcase__floating-panel--bottom {
	left: 0;
	bottom: 2rem;
	width: min(38%, 180px);
	animation: mobileAppShowcaseCardFloat 7.4s ease-in-out infinite reverse;
}

.mobile-app-showcase__gallery {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(180px, 1fr);
	gap: 1rem;
	margin-top: 1.35rem;
	padding: 0.15rem 0.1rem 0.35rem;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.mobile-app-showcase__gallery::-webkit-scrollbar {
	display: none;
}

.mobile-app-showcase__gallery-item {
	scroll-snap-align: start;
	padding: 0.5rem;
	border-radius: 1.4rem;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(240, 244, 236, 0.92));
	border: 1px solid rgba(31, 38, 31, 0.08);
	box-shadow: 0 16px 34px rgba(28, 35, 27, 0.08);
	opacity: 0;
	transform: translateY(20px);
	animation: mobileAppShowcaseFadeUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	animation-delay: calc(0.22s + (var(--gallery-index, 0) * 0.08s));
}

.mobile-app-showcase__gallery-media {
	overflow: hidden;
	border-radius: 1rem;
	aspect-ratio: 10 / 17;
	background: #e8eee3;
}

@keyframes mobileAppShowcaseFadeUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes mobileAppShowcaseDeviceFloat {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, -10px, 0);
	}
}

@keyframes mobileAppShowcaseCardFloat {
	0%,
	100% {
		transform: translate3d(0, 0, 0);
	}
	50% {
		transform: translate3d(0, -12px, 0);
	}
}

@keyframes mobileAppShowcaseGlow {
	0%,
	100% {
		transform: scale(1) translate3d(0, 0, 0);
		opacity: 0.58;
	}
	50% {
		transform: scale(1.08) translate3d(0, -6px, 0);
		opacity: 0.82;
	}
}

@media (max-width: 991.98px) {
	.mobile-app-showcase__shell {
		grid-template-columns: 1fr;
	}

	.mobile-app-showcase__title,
	.mobile-app-showcase__description {
		max-width: none;
	}

	.mobile-app-showcase__visual {
		min-height: 520px;
	}

	.mobile-app-showcase__device {
		width: min(100%, 300px);
	}

	.mobile-app-showcase__floating-card--1,
	.mobile-app-showcase__floating-panel--top {
		right: 0.5rem;
	}
}

@media (max-width: 767.98px) {
	.mobile-app-showcase__shell {
		padding: 1.1rem;
		border-radius: 1.6rem;
	}

	.mobile-app-showcase__title {
		font-size: clamp(2rem, 9vw, 3rem);
	}

	.mobile-app-showcase__description {
		font-size: 0.96rem;
		line-height: 1.75;
	}

	.mobile-app-showcase__actions {
		display: grid;
		grid-template-columns: 1fr;
		justify-items: center;
		width: 100%;
	}

	.mobile-app-showcase__store-link {
		width: min(100%, 220px);
		min-width: 0;
		height: 64px;
		margin-inline: auto;
	}

	.mobile-app-showcase__store-link img {
		max-width: 100%;
	}

	.mobile-app-showcase__visual {
		min-height: 430px;
	}

	.mobile-app-showcase__visual-panel {
		padding: 1rem;
		border-radius: 1.5rem;
	}

	.mobile-app-showcase__device-stage {
		min-height: 370px;
	}

	.mobile-app-showcase__device {
		width: min(100%, 250px);
		padding: 0.58rem;
		border-radius: 2.1rem;
	}

	.mobile-app-showcase__device-screen {
		border-radius: 1.6rem;
	}

	.mobile-app-showcase__slider-arrow {
		width: 1.7rem;
		height: 1.7rem;
		opacity: 0.48;
	}

	.mobile-app-showcase__slider-arrow i {
		font-size: 0.72rem;
	}

	.mobile-app-showcase__slider-arrow.is-prev {
		left: 0.45rem;
	}

	.mobile-app-showcase__slider-arrow.is-next {
		right: 0.45rem;
	}

	.mobile-app-showcase__floating-card--1,
	.mobile-app-showcase__floating-panel--top {
		top: 1.4rem;
		width: min(38%, 140px);
	}

	.mobile-app-showcase__floating-card--2,
	.mobile-app-showcase__floating-panel--bottom {
		bottom: 1.4rem;
		width: min(40%, 145px);
	}

	.mobile-app-showcase__gallery {
		grid-auto-columns: minmax(145px, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mobile-app-showcase__copy > *,
	.mobile-app-showcase__gallery-item,
	.mobile-app-showcase__device,
	.mobile-app-showcase__floating-card,
	.mobile-app-showcase__floating-panel,
	.mobile-app-showcase__glow {
		animation: none !important;
		transform: none !important;
		opacity: 1 !important;
	}

	.mobile-app-showcase__store-link {
		transition: none;
	}
}

.whatsapp-chat-widget {
	position: fixed;
	left: max(1rem, env(safe-area-inset-left));
	bottom: calc(1rem + env(safe-area-inset-bottom));
	z-index: 360;
	display: inline-flex;
	align-items: center;
	gap: 0.78rem;
	padding: 0.34rem 1rem 0.34rem 0.38rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(128, 196, 28, 0.24);
	box-shadow: 0 18px 38px rgba(43, 43, 43, 0.14);
	color: var(--site-text);
	text-decoration: none;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.whatsapp-chat-widget:hover {
	color: var(--site-text);
	background: rgba(245, 249, 239, 0.98);
	transform: translateY(-3px);
	box-shadow: 0 24px 42px rgba(43, 43, 43, 0.18);
}

.whatsapp-chat-widget__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: linear-gradient(135deg, #8fd12d 0%, #6fae10 100%);
	color: #fff;
	font-size: 1.38rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.28);
}

.whatsapp-chat-widget__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.whatsapp-chat-widget__copy strong {
	color: var(--site-text);
	font-size: 0.92rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.01em;
}

.whatsapp-chat-widget__copy small {
	margin-top: 0.14rem;
	color: #5f6761;
	font-size: 0.74rem;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

@media (max-width: 767.98px) {
	.whatsapp-chat-widget {
		left: max(0.75rem, env(safe-area-inset-left));
		bottom: calc(0.85rem + env(safe-area-inset-bottom));
		padding-right: 0.88rem;
		gap: 0.68rem;
	}

	.whatsapp-chat-widget__icon {
		width: 2.8rem;
		height: 2.8rem;
		font-size: 1.28rem;
	}

	.whatsapp-chat-widget__copy strong {
		font-size: 0.86rem;
	}

	.whatsapp-chat-widget__copy small {
		font-size: 0.68rem;
	}
}
