/**
 * Brandina homepage v1.6 — polished WooCommerce storefront layout.
 */
.brandina-home {
	min-height: 40vh;
	background: var(--brandina-home-bg, #fff);
}

.brandina-home-sections {
	display: flex;
	flex-direction: column;
	gap: var(--brandina-home-gap, 24px);
	padding-block: var(--brandina-home-top-space, 0px) 42px;
}

.brandina-home-block {
	position: relative;
	width: min(100%, var(--brandina-container, 1600px));
	margin-inline: auto;
}

.brandina-home-sections > .brandina-home-block:first-child {
	margin-top: 0;
}

.brandina-home .brandina-container {
	max-width: none;
}

.brandina-elementor-page-content,
.brandina-home-elementor-slot,
.brandina-product-elementor-slot {
	width: 100%;
}

.brandina-home-section-title {
	margin: 0;
	color: var(--brandina-text, #111827);
	font-weight: 850;
	line-height: 1.45;
	letter-spacing: -.015em;
}

.brandina-home-section-subtitle {
	margin: 4px 0 0;
	color: var(--brandina-muted, #6b7280);
	line-height: 1.75;
}

/* Hero */
.brandina-hero-wrap {
	width: min(100%, var(--brandina-container, 1600px));
}

.brandina-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background: #eef4fb;
	box-shadow: 0 12px 34px rgba(22, 32, 56, .09);
}

.brandina-hero-track,
.brandina-hero-slide,
.brandina-hero-picture,
.brandina-hero-picture img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.brandina-hero-slide {
	opacity: 0;
	visibility: hidden;
	transform: scale(1.012);
	transition: opacity .5s ease, visibility .5s ease, transform .8s ease;
}

.brandina-hero-slide.is-active {
	z-index: 1;
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.brandina-hero-slide::before,
.brandina-hero-slide::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.brandina-hero-slide::before {
	z-index: 0;
	background-image: var(--brandina-slide-desktop);
	background-position: center;
	background-size: cover;
	opacity: 0;
	transform: scale(1.08);
}

.brandina-hero-slide::after {
	z-index: 2;
}

.brandina-hero-picture {
	z-index: 1;
}

.brandina-hero-picture img {
	object-fit: cover;
}

.brandina-hero.image-fit-smart .brandina-hero-slide::before {
	opacity: 0;
}

.brandina-hero.image-fit-smart .brandina-hero-picture img {
	object-fit: cover;
	object-position: center;
}

@media (max-width: 767px) {
	.brandina-hero-slide::before {
		background-image: var(--brandina-slide-mobile);
	}
}

.brandina-hero-content {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: min(390px, 36%);
	padding: 26px 30px;
	color: var(--hero-text-color, #fff);
	background: rgba(19, 106, 165, .40);
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 22px;
	box-shadow: 0 16px 38px rgba(17, 70, 110, .14);
	backdrop-filter: blur(8px);
	transform: translateY(-50%);
}

.brandina-hero-slide.align-right .brandina-hero-content { right: 8%; text-align: right; }
.brandina-hero-slide.align-left .brandina-hero-content { left: 8%; text-align: left; }
.brandina-hero-slide.align-center .brandina-hero-content { left: 50%; text-align: center; transform: translate(-50%, -50%); }

.brandina-hero-content h2 {
	margin: 0 0 8px;
	color: inherit;
	font-weight: 900;
	line-height: 1.42;
}

.brandina-hero-content p {
	margin: 0 0 18px;
	color: inherit;
	line-height: 1.85;
}

.brandina-hero-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 132px;
	min-height: 42px;
	padding: 8px 22px;
	color: #253044;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
	font-weight: 750;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease;
}

.brandina-hero-button:hover {
	color: #253044;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0, 0, 0, .14);
}

.brandina-slider-arrow,
.brandina-scroll-arrow {
	position: absolute;
	z-index: 5;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	color: #253044;
	background: rgba(255, 255, 255, .96);
	border: 1px solid rgba(31, 41, 55, .08);
	border-radius: 50%;
	box-shadow: 0 8px 24px rgba(31, 41, 55, .12);
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}

.brandina-slider-arrow:hover,
.brandina-scroll-arrow:hover { box-shadow: 0 12px 28px rgba(31, 41, 55, .18); }
.brandina-slider-arrow .brandina-icon,
.brandina-scroll-arrow .brandina-icon { width: 22px; height: 22px; }
.brandina-slider-arrow.is-prev { left: 26px; bottom: 34px; transform: rotate(180deg); }
.brandina-slider-arrow.is-next { left: 84px; bottom: 34px; }
.brandina-slider-arrow.is-prev:hover { transform: rotate(180deg) translateY(2px); }
.brandina-slider-arrow.is-next:hover { transform: translateY(-2px); }

.brandina-slider-dots {
	position: absolute;
	left: 50%;
	bottom: 16px;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 7px;
	transform: translateX(-50%);
}

.brandina-slider-dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	background: rgba(42, 51, 61, .52);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: width .25s ease, background .25s ease;
}

.brandina-slider-dots button.is-active { width: 24px; background: #1f2937; }

/* Quick links */
.brandina-quick-links {
	padding: 4px 8px 2px;
}

.brandina-quick-links-track {
	display: grid;
	grid-template-columns: repeat(var(--quick-cols), minmax(0, 1fr));
	gap: var(--quick-gap);
	align-items: start;
	justify-content: space-between;
}

.brandina-quick-link {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 9px;
	color: var(--brandina-text, #111827);
	text-align: center;
	text-decoration: none;
}

.brandina-quick-link-media {
	width: var(--quick-size);
	height: var(--quick-size);
	display: grid;
	place-items: center;
	overflow: hidden;
	color: var(--brandina-primary, #ef4056);
	background: var(--quick-bg, #f5f6f8);
	border: 1px solid rgba(31, 41, 55, .06);
	border-radius: 50%;
	box-shadow: 0 4px 14px rgba(31, 41, 55, .04);
	transition: transform .25s ease, box-shadow .25s ease;
}

.brandina-quick-link:hover .brandina-quick-link-media {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(31, 41, 55, .12);
}

.brandina-quick-link-media img { width: 100%; height: 100%; object-fit: cover; }
.brandina-quick-link-media .brandina-icon { width: 43%; height: 43%; }
.brandina-quick-link-title { display: block; max-width: 100%; color: #34384a; font-weight: 650; line-height: 1.55; }

/* Product sections */
.brandina-product-section {
	padding: var(--product-pad-d);
	color: var(--product-text);
	background: var(--product-section-bg);
	border: 1px solid color-mix(in srgb, var(--product-accent) 13%, #e4e7ec);
	border-radius: var(--product-section-radius);
	box-shadow: 0 8px 28px rgba(31, 41, 55, .035);
}

.brandina-product-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 18px;
}

.brandina-product-section-head > div { min-width: 0; }
.brandina-product-section-head .brandina-home-section-title { color: var(--product-text); }

.brandina-view-all {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex: 0 0 auto;
	padding: 9px 13px;
	color: var(--product-text);
	background: color-mix(in srgb, var(--product-accent) 8%, #fff);
	border: 1px solid color-mix(in srgb, var(--product-accent) 12%, #eceff3);
	border-radius: 10px;
	font-weight: 750;
	text-decoration: none;
	transition: color .2s ease, background .2s ease, transform .2s ease;
}

.brandina-view-all:hover {
	color: #fff;
	background: var(--product-accent);
	transform: translateX(-2px);
}

.brandina-view-all .brandina-icon { width: 15px; height: 15px; }
.brandina-product-viewport { overflow: hidden; }
.brandina-product-list { direction: rtl; }

.brandina-product-section.layout-grid .brandina-product-list {
	display: grid;
	grid-template-columns: repeat(var(--product-cols-d), minmax(0, 1fr));
	gap: 12px;
}

.brandina-product-section.layout-slider .brandina-product-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
}

.brandina-product-section.layout-slider .brandina-product-viewport::-webkit-scrollbar { display: none; }
.brandina-product-section.layout-slider .brandina-product-list { display: flex; gap: var(--product-gap-d); }
.brandina-product-section.layout-slider .brandina-product-card {
	flex: 0 0 calc((100% - (var(--product-cols-d) - 1) * var(--product-gap-d)) / var(--product-cols-d));
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
	.brandina-product-section.layout-slider .brandina-product-viewport { scroll-snap-type: none; }
}

.brandina-product-card {
	position: relative;
	min-width: 0;
	overflow: hidden;
	background: var(--product-card-bg);
	border: 1px solid rgba(31, 41, 55, .085);
	border-radius: var(--product-card-radius);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.brandina-product-card:hover {
	z-index: 2;
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--product-accent) 30%, #e8e8ee);
	box-shadow: 0 14px 34px rgba(31, 41, 55, .11);
}

.brandina-product-card-media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #fff;
	text-decoration: none;
}

.brandina-product-card-media img {
	width: 100%;
	height: 100%;
	padding: 10px;
	object-fit: contain;
	transition: transform .28s ease;
}

.brandina-product-card:hover .brandina-product-card-media img { transform: scale(1.035); }

.brandina-product-discount {
	position: absolute;
	right: 9px;
	bottom: 9px;
	z-index: 2;
	min-width: 38px;
	padding: 3px 7px;
	color: #fff;
	background: var(--brandina-danger, #ef4056);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 850;
	text-align: center;
}

.brandina-product-card-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-height: 132px;
	padding: 12px 12px 14px;
}

.brandina-product-card-title { min-height: 3.2em; margin: 0; font-weight: 520; line-height: 1.65; }
.brandina-product-card-title a { display: -webkit-box; overflow: hidden; color: var(--product-text); text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.brandina-product-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	width: 100%;
	min-width: 0;
	min-height: 3.15em;
	margin-top: auto;
	color: #182140;
	direction: rtl;
	font-weight: 850;
	font-variant-numeric: tabular-nums;
	line-height: 1.45;
	text-align: right;
}
.brandina-product-price > del,
.brandina-product-price > ins,
.brandina-product-price > .woocommerce-Price-amount {
	display: block;
	max-width: 100%;
	margin: 0;
	white-space: nowrap;
}
.brandina-product-price .woocommerce-Price-amount,
.brandina-product-price bdi {
	display: inline-flex;
	align-items: baseline;
	gap: .22em;
	max-width: 100%;
	direction: ltr;
	unicode-bidi: isolate;
	white-space: nowrap;
}
.brandina-product-price .woocommerce-Price-currencySymbol {
	flex: 0 0 auto;
	font-size: .72em;
	font-weight: 650;
	white-space: nowrap;
}
.brandina-product-price del {
	order: 1;
	color: #a4a7af;
	font-size: .72em;
	font-weight: 450;
	line-height: 1.3;
}
.brandina-product-price ins {
	order: 2;
	color: inherit;
	font-size: 1em;
	font-weight: 850;
	text-decoration: none;
}
.brandina-product-card.is-regular-price .brandina-product-price { justify-content: flex-end; }
.brandina-product-card.is-sale-price .brandina-product-price { justify-content: flex-end; }
.brandina-product-rating .star-rating { float: none; margin: 0; font-size: 11px; }
.brandina-product-action .button { width: 100%; margin: 0; padding: 9px 10px; text-align: center; }
.brandina-product-card.is-out-of-stock { opacity: .72; }

.brandina-scroll-arrow { top: 56%; width: 42px; height: 42px; }
.brandina-scroll-arrow.is-prev { right: -12px; transform: rotate(180deg); }
.brandina-scroll-arrow.is-next { left: -12px; }
.brandina-scroll-arrow.is-prev:hover { transform: rotate(180deg) translateY(2px); }
.brandina-scroll-arrow.is-next:hover { transform: translateY(-2px); }

/* Digikala-inspired amazing section */
.brandina-product-section.is-amazing {
	display: grid;
	grid-template-columns: 235px minmax(0, 1fr);
	gap: 16px;
	padding: 20px;
	color: #fff;
	background: var(--product-section-bg);
	border: 0;
	box-shadow: 0 12px 30px color-mix(in srgb, var(--product-section-bg) 24%, transparent);
}

.brandina-product-section.is-amazing .brandina-product-section-head {
	align-self: stretch;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	margin: 0;
	padding: 20px 16px;
	text-align: center;
}

.brandina-amazing-mark {
	display: block;
	margin-bottom: 6px;
	font-size: 66px;
	font-weight: 900;
	line-height: .9;
}

.brandina-product-section.is-amazing .brandina-home-section-title,
.brandina-product-section.is-amazing .brandina-home-section-subtitle { color: #fff; }
.brandina-product-section.is-amazing .brandina-home-section-title { font-size: clamp(24px, 2vw, 38px); }
.brandina-product-section.is-amazing .brandina-view-all { justify-content: center; margin-top: 16px; color: #30364b; background: #fff; border-color: transparent; }
.brandina-product-section.is-amazing .brandina-view-all:hover { color: #30364b; background: #f7f8fa; }
.brandina-product-section.is-amazing .brandina-product-viewport { min-width: 0; border-radius: 13px; }
.brandina-product-section.is-amazing .brandina-product-list { min-height: 100%; background: rgba(255, 255, 255, .16); }
.brandina-product-section.is-amazing .brandina-product-card { border-radius: 0; border-block: 0; border-inline-start: 0; }
.brandina-product-section.is-amazing .brandina-product-card:first-child { border-radius: 0 11px 11px 0; }
.brandina-product-section.is-amazing .brandina-product-card:last-child { border-radius: 11px 0 0 11px; }

/* Banners */
.brandina-promo-banners {
	display: grid;
	grid-template-columns: repeat(var(--banner-cols-d), minmax(0, 1fr));
	gap: var(--banner-gap);
}

.brandina-promo-banner {
	display: block;
	overflow: hidden;
	border-radius: var(--banner-radius);
	background: #f3f4f6;
	box-shadow: 0 8px 24px rgba(31, 41, 55, .07);
}

.brandina-promo-banner picture,
.brandina-promo-banner img { display: block; width: 100%; }
.brandina-promo-banner img { aspect-ratio: 1.85 / 1; object-fit: cover; transition: transform .35s ease; }
.brandina-promo-banner:hover img { transform: scale(1.025); }
.brandina-promo-banners.is-banners_secondary .brandina-promo-banner img { aspect-ratio: 2.2 / 1; }

/* Categories */
.brandina-categories-section {
	padding: 22px 18px 26px;
	background: #fff;
	border: 1px solid #edf0f3;
	border-radius: 20px;
}

.brandina-categories-section > .brandina-home-section-title { margin-bottom: 24px; text-align: right; }
.brandina-category-grid {
	display: grid;
	grid-template-columns: repeat(var(--cat-cols-d), minmax(0, 1fr));
	gap: 24px 14px;
	align-items: start;
	justify-content: space-between;
}

.brandina-category-card {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--brandina-text, #111827);
	text-align: center;
	text-decoration: none;
}

.brandina-category-card-media {
	width: min(100%, var(--cat-size));
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	overflow: hidden;
	background: #f3f4f6;
	border: 2px solid #e8e9ed;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.brandina-category-grid.shape-circle .brandina-category-card-media { border-radius: 50%; }
.brandina-category-grid.shape-rounded .brandina-category-card-media { border-radius: 22px; }
.brandina-category-card-media img { width: 100%; height: 100%; object-fit: cover; }
.brandina-category-card-title { color: #232735; font-weight: 600; line-height: 1.55; }
.brandina-category-card:hover .brandina-category-card-media { transform: translateY(-4px); border-color: color-mix(in srgb, var(--brandina-primary, #ef4056) 24%, #e8e9ed); box-shadow: 0 12px 24px rgba(31, 41, 55, .11); }

/* Ranked products */
.brandina-ranked-section {
	padding: 24px 28px 28px;
	background: #fff;
	border: 1px solid #e6e8ed;
	border-radius: 20px;
}

.brandina-ranked-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
}

.brandina-ranked-head a { color: var(--brandina-primary, #ef4056); font-weight: 700; text-decoration: none; }
.brandina-ranked-list {
	display: grid;
	grid-template-rows: repeat(3, minmax(74px, auto));
	grid-auto-flow: column;
	grid-auto-columns: minmax(270px, 1fr);
	gap: 0 24px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
}

.brandina-ranked-list::-webkit-scrollbar { display: none; }
.brandina-ranked-item {
	display: grid;
	grid-template-columns: 34px 72px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 8px 0;
	color: #42485f;
	border-bottom: 1px solid #eef0f3;
	text-decoration: none;
	scroll-snap-align: start;
}

.brandina-ranked-item:nth-child(3n) { border-bottom-color: transparent; }
.brandina-ranked-item img { width: 68px; height: 68px; object-fit: contain; }
.brandina-ranked-number { color: var(--brandina-primary, #ef4056); font-size: 24px; font-weight: 900; text-align: center; }
.brandina-ranked-item > span:last-child { display: -webkit-box; overflow: hidden; line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.brandina-ranked-item:hover > span:last-child { color: var(--brandina-primary, #ef4056); }

/* Wide banner */
.brandina-wide-banner { overflow: hidden; border-radius: 20px; box-shadow: 0 9px 28px rgba(31, 41, 55, .07); }
.brandina-wide-banner a,
.brandina-wide-banner picture,
.brandina-wide-banner img { display: block; width: 100%; }
.brandina-wide-banner img { aspect-ratio: 4.6 / 1; object-fit: cover; transition: transform .35s ease; }
.brandina-wide-banner:hover img { transform: scale(1.012); }

/* Optional home service row — disabled by default to avoid duplicating footer services. */
.brandina-home-services {
	display: grid;
	grid-template-columns: repeat(var(--service-cols-d), minmax(0, 1fr));
	gap: 10px;
	padding: 20px;
	background: var(--service-bg);
	border: 1px solid #e7e9ee;
	border-radius: 18px;
}

.brandina-home-service {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-width: 0;
	padding: 10px 8px;
}

.brandina-home-service-icon { width: var(--service-icon); height: var(--service-icon); flex: 0 0 auto; display: grid; place-items: center; color: var(--brandina-primary, #ef4056); }
.brandina-home-service-icon img { width: 100%; height: 100%; object-fit: contain; }
.brandina-home-service-icon .brandina-icon { width: 75%; height: 75%; }
.brandina-home-service > span:last-child { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.brandina-home-service strong { color: #202638; font-weight: 750; }
.brandina-home-service small { color: #747b8c; line-height: 1.65; }


/* === Brandina v1.7 responsive product-system fixes === */
.brandina-slider-arrow {
    width: var(--brandina-hero-arrow-size, 46px);
    height: var(--brandina-hero-arrow-size, 46px);
    color: var(--brandina-hero-arrow-color, #253044);
    background: var(--brandina-hero-arrow-bg, #fff);
}
.brandina-hero.hides-arrows-desktop .brandina-slider-arrow { display: none; }
.brandina-product-section.layout-slider .brandina-product-list { gap: var(--product-gap-d, 10px); align-items: stretch; }
.brandina-product-section.layout-grid .brandina-product-list { gap: var(--product-gap-d, 10px); }
.brandina-product-section.layout-slider .brandina-product-card {
    flex-basis: calc((100% - (var(--product-cols-d) - 1) * var(--product-gap-d, 10px)) / var(--product-cols-d));
}
.brandina-product-card-media { height: var(--product-image-h-d, 190px); aspect-ratio: auto; }
.brandina-product-card.has-no-price .brandina-product-card-body { min-height: 96px; }
.brandina-product-card.has-no-price .brandina-product-price,
.brandina-product-section.hides-price .brandina-product-price { display: none !important; }
.brandina-product-card.has-no-discount .brandina-product-discount,
.brandina-product-section.hides-discount .brandina-product-discount { display: none !important; }
.brandina-product-section.hides-arrows-desktop .brandina-scroll-arrow { display: none; }

.brandina-product-section.is-amazing {
    grid-template-columns: var(--amazing-panel-width, 230px) minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
    border-radius: var(--product-section-radius);
}
.brandina-product-section.is-amazing .brandina-product-section-head {
    min-width: 0;
    padding: 18px 14px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 16px;
    background: rgba(255,255,255,.07);
}
.brandina-product-section-heading { min-width: 0; display: flex; align-items: center; gap: 12px; }
.brandina-product-section-copy { min-width: 0; }
.brandina-product-section.is-amazing .brandina-product-section-heading { flex-direction: column; justify-content: center; }
.brandina-amazing-mark { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; margin: 0; color: #fff; line-height: 1; }
.brandina-amazing-mark b { display: block; font-size: var(--brandina-amazing-icon, 66px); font-weight: 950; line-height: .85; }
.brandina-amazing-mark small { font-size: 10px; font-weight: 750; opacity: .88; }
.brandina-product-section.is-amazing .brandina-product-viewport { align-self: stretch; overflow: hidden; border-radius: 15px; }
.brandina-product-section.is-amazing .brandina-product-list { height: 100%; padding: 2px; background: rgba(255,255,255,.13); }
.brandina-product-section.is-amazing .brandina-product-card { border: 0; border-radius: 12px !important; box-shadow: 0 2px 12px rgba(20,30,50,.06); }
.brandina-product-section.is-amazing .brandina-product-card:hover { transform: translateY(-2px); }
.brandina-product-section.is-amazing .brandina-product-card-media { background: #fff; }

.brandina-ranked-list {
    grid-template-rows: repeat(var(--ranked-rows-d, 3), minmax(74px, auto));
    gap: 0 var(--ranked-gap, 24px);
}

/* =========================================================
   Brandina v1.8 — hero, arrows, category flow and touch scroll
   ========================================================= */
.brandina-hero-wrap,
.brandina-hero {
	width: 100%;
}

.brandina-hero {
	box-shadow: none;
}

.brandina-hero-slide {
	opacity: 1;
	visibility: visible;
	transform: translateX(100%);
	transition: transform .68s cubic-bezier(.22,.72,.18,1);
	will-change: transform;
}

.brandina-hero-slide.is-active {
	z-index: 3;
	transform: translateX(0);
}

.brandina-hero-slide.is-under {
	z-index: 2;
	transform: translateX(0);
}

.brandina-hero-slide.is-before {
	z-index: 1;
	transform: translateX(-100%);
}

.brandina-hero-slide.is-after {
	z-index: 1;
	transform: translateX(100%);
}

/* Images already contain their own marketing copy; no glass text container. */
.brandina-hero-content {
	display: none !important;
}

/* The chevron SVG points to the right. Keep directions explicit in RTL. */
.brandina-slider-arrow.is-prev {
	right: 26px;
	left: auto;
	bottom: 34px;
	transform: none;
}

.brandina-slider-arrow.is-next {
	right: 84px;
	left: auto;
	bottom: 34px;
	transform: rotate(180deg);
}

.brandina-slider-arrow.is-prev:hover {
	transform: translateY(-2px);
}

.brandina-slider-arrow.is-next:hover {
	transform: rotate(180deg) translateY(2px);
}

.brandina-product-section.layout-slider .brandina-product-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x;
	overscroll-behavior-inline: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	cursor: grab;
}

.brandina-product-section.layout-slider .brandina-product-viewport.is-dragging {
	cursor: grabbing;
}

.brandina-scroll-arrow.is-prev {
	right: 8px;
	left: auto;
	transform: none;
}

.brandina-scroll-arrow.is-next {
	left: 8px;
	right: auto;
	transform: rotate(180deg);
}

.brandina-scroll-arrow.is-prev:hover {
	transform: translateY(-2px);
}

.brandina-scroll-arrow.is-next:hover {
	transform: rotate(180deg) translateY(2px);
}

/* Center incomplete desktop rows and keep the configured column count. */
.brandina-category-grid {
	--cat-gap: 14px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 24px var(--cat-gap);
}

.brandina-category-card {
	flex: 0 1 calc((100% - (var(--cat-cols-d) - 1) * var(--cat-gap)) / var(--cat-cols-d));
	max-width: 170px;
}
.brandina-hero-slide::after { display: none !important; }


/* =========================================================
   Brandina v1.10 — polished product sections and mobile UX
   ========================================================= */
.brandina-slider-arrow,
.brandina-scroll-arrow {
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    border: 1px solid color-mix(in srgb, currentColor 12%, transparent);
    color: var(--brandina-hero-arrow-color, #253044) !important;
    background: var(--brandina-hero-arrow-bg, #fff) !important;
    box-shadow: 0 7px 22px rgba(24, 31, 50, .13);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.brandina-slider-arrow:hover,
.brandina-slider-arrow:active,
.brandina-slider-arrow:focus,
.brandina-scroll-arrow:hover,
.brandina-scroll-arrow:active,
.brandina-scroll-arrow:focus {
    color: var(--brandina-hero-arrow-color, #253044) !important;
    background: var(--brandina-hero-arrow-bg, #fff) !important;
    border-color: color-mix(in srgb, var(--product-accent, var(--brandina-primary, #ef4056)) 24%, #e8eaf0) !important;
    box-shadow: 0 9px 26px rgba(24, 31, 50, .17);
    outline: 0;
}
.brandina-slider-arrow:focus-visible,
.brandina-scroll-arrow:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brandina-primary, #ef4056) 22%, transparent), 0 9px 26px rgba(24, 31, 50, .17);
}
.brandina-slider-arrow .brandina-icon,
.brandina-scroll-arrow .brandina-icon {
    color: inherit !important;
    stroke: currentColor !important;
}

.brandina-product-section.layout-slider .brandina-product-viewport {
    scroll-behavior: auto;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 10px;
    touch-action: auto;
    overscroll-behavior-inline: contain;
    overscroll-behavior-block: auto;
}
.brandina-product-section.layout-slider .brandina-product-card {
    scroll-snap-align: start;
    scroll-snap-stop: normal;
}

.brandina-product-section.is-standard {
    position: relative;
    overflow: hidden;
    padding: var(--product-pad-d);
    background:
        radial-gradient(circle at 92% -15%, color-mix(in srgb, var(--product-accent) 13%, transparent) 0, transparent 36%),
        linear-gradient(180deg, color-mix(in srgb, var(--product-accent) 4%, var(--product-section-bg)) 0, var(--product-section-bg) 135px);
    border: 1px solid color-mix(in srgb, var(--product-accent) 15%, #e8ebf0);
    border-radius: var(--product-section-radius);
    box-shadow: 0 12px 34px rgba(31, 41, 55, .07);
}
.brandina-product-section.is-standard::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--product-accent) 55%, #fff), var(--product-accent));
}
.brandina-product-section.is-standard .brandina-product-section-head {
    position: relative;
    z-index: 1;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid color-mix(in srgb, var(--product-accent) 12%, #e9ebf0);
}
.brandina-product-section-icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    color: var(--product-accent);
    background: color-mix(in srgb, var(--product-accent) 11%, #fff);
    border: 1px solid color-mix(in srgb, var(--product-accent) 18%, #fff);
    border-radius: 15px;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--product-accent) 10%, transparent);
}
.brandina-product-section-icon .brandina-icon { width: 23px; height: 23px; }
.brandina-product-section.is-standard .brandina-home-section-title { font-weight: 850; }
.brandina-product-section.is-standard .brandina-view-all {
    color: var(--product-accent);
    background: color-mix(in srgb, var(--product-accent) 8%, #fff);
    border-color: color-mix(in srgb, var(--product-accent) 16%, #e8eaf0);
}
.brandina-product-section.is-standard .brandina-view-all:hover {
    color: #fff;
    background: var(--product-accent);
    border-color: var(--product-accent);
}
.brandina-product-section.is-standard .brandina-product-card {
    border-color: color-mix(in srgb, var(--product-accent) 10%, #e7e9ee);
    box-shadow: 0 5px 18px rgba(31, 41, 55, .055);
}
.brandina-product-section.is-standard .brandina-product-card:hover {
    border-color: color-mix(in srgb, var(--product-accent) 35%, #e7e9ee);
    box-shadow: 0 14px 32px rgba(31, 41, 55, .11);
}


/* v1.11.4 — cohesive rose palette for standard product sections. */
.brandina-product-section.is-standard {
    isolation: isolate;
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--product-accent) 16%, transparent) 0, transparent 34%),
        radial-gradient(circle at 0 100%, color-mix(in srgb, var(--product-accent) 7%, transparent) 0, transparent 30%),
        linear-gradient(145deg, color-mix(in srgb, var(--product-accent) 8%, #fff) 0%, var(--product-section-bg) 46%, color-mix(in srgb, var(--product-accent) 4%, var(--product-section-bg)) 100%);
    border-color: color-mix(in srgb, var(--product-accent) 20%, #eadfe5);
    box-shadow: 0 14px 38px color-mix(in srgb, var(--product-accent) 8%, rgba(31, 41, 55, .08));
}
.brandina-product-section.is-standard::before {
    height: 5px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--product-accent) 72%, #fff),
        var(--product-accent) 52%,
        color-mix(in srgb, var(--product-accent) 76%, #9b355f));
}
.brandina-product-section.is-standard::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -72px auto auto -58px;
    width: 170px;
    height: 170px;
    pointer-events: none;
    background: color-mix(in srgb, var(--product-accent) 9%, transparent);
    border-radius: 50%;
    filter: blur(1px);
}
.brandina-product-section.is-standard .brandina-product-section-head {
    margin-bottom: 18px;
    padding: 12px 14px;
    background: linear-gradient(100deg,
        color-mix(in srgb, var(--product-accent) 12%, #fff),
        color-mix(in srgb, var(--product-accent) 4%, #fff));
    border: 1px solid color-mix(in srgb, var(--product-accent) 16%, #fff);
    border-radius: 17px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .78), 0 7px 18px color-mix(in srgb, var(--product-accent) 6%, transparent);
}
.brandina-product-section.is-standard .brandina-home-section-title {
    color: color-mix(in srgb, var(--product-accent) 24%, var(--product-text));
}
.brandina-product-section.is-standard .brandina-home-section-subtitle {
    color: color-mix(in srgb, var(--product-accent) 10%, #6b7280);
}
.brandina-product-section.is-standard .brandina-product-section-icon {
    color: #fff;
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--product-accent) 78%, #fff),
        var(--product-accent));
    border-color: color-mix(in srgb, var(--product-accent) 60%, #fff);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--product-accent) 24%, transparent);
}
.brandina-product-section.is-standard .brandina-view-all {
    color: #fff;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--product-accent) 86%, #fff),
        var(--product-accent));
    border-color: transparent;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--product-accent) 19%, transparent);
}
.brandina-product-section.is-standard .brandina-view-all:hover {
    background: linear-gradient(135deg,
        var(--product-accent),
        color-mix(in srgb, var(--product-accent) 78%, #8e2f57));
    box-shadow: 0 10px 24px color-mix(in srgb, var(--product-accent) 28%, transparent);
}
.brandina-product-section.is-standard .brandina-product-card {
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--product-accent) 2.4%, #fff) 100%);
    border-color: color-mix(in srgb, var(--product-accent) 14%, #e6e8ed);
    box-shadow: 0 6px 20px color-mix(in srgb, var(--product-accent) 5%, rgba(31, 41, 55, .06));
}
.brandina-product-section.is-standard .brandina-product-card::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0 12px auto;
    height: 3px;
    opacity: .72;
    background: linear-gradient(90deg, transparent, var(--product-accent), transparent);
    border-radius: 0 0 999px 999px;
}
.brandina-product-section.is-standard .brandina-product-card:hover {
    border-color: color-mix(in srgb, var(--product-accent) 38%, #e6e8ed);
    box-shadow: 0 16px 34px color-mix(in srgb, var(--product-accent) 15%, rgba(31, 41, 55, .10));
}
.brandina-product-section.is-standard .brandina-product-card:hover::before { opacity: 1; }
.brandina-product-section.is-standard .brandina-product-discount {
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--product-accent) 88%, #fff),
        var(--product-accent));
    box-shadow: 0 5px 12px color-mix(in srgb, var(--product-accent) 24%, transparent);
}
.brandina-product-section.is-standard .brandina-product-price {
    color: color-mix(in srgb, var(--product-accent) 16%, #182140);
}


/* Brandina v1.11.6 — previous hero mode baseline. */
.brandina-home {
    overflow-x: clip;
}

.brandina-hero.effect-classic .brandina-hero-slide {
    transition: transform var(--brandina-hero-transition, 760ms) cubic-bezier(.22,.72,.18,1);
}

/* Mode 2: true viewport-width banner, matching the supplied reference. */
.brandina-home-block.brandina-hero-wrap.is-full-width {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-inline: calc(50% - 50vw) !important;
    padding-inline: 0 !important;
}

.brandina-hero.effect-full-fade {
    width: 100%;
    max-width: none;
    border: 0;
    border-radius: 0 !important;
    box-shadow: none;
}

.brandina-hero.effect-full-fade .brandina-hero-track,
.brandina-hero.effect-full-fade .brandina-hero-slide,
.brandina-hero.effect-full-fade .brandina-hero-picture,
.brandina-hero.effect-full-fade .brandina-hero-picture img {
    width: 100%;
}

.brandina-hero.effect-full-fade .brandina-hero-slide {
    opacity: 0;
    visibility: hidden;
    transform: none;
    transition:
        opacity var(--brandina-hero-transition, 760ms) cubic-bezier(.22,.61,.36,1),
        visibility 0s linear var(--brandina-hero-transition, 760ms);
}

.brandina-hero.effect-full-fade .brandina-hero-slide.is-active {
    z-index: 3;
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}

.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-entering,
.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-leaving {
    visibility: visible;
    transition-delay: 0s;
}

.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-entering {
    z-index: 3;
    opacity: var(--brandina-fade-start-opacity, 0);
}

.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-leaving {
    z-index: 2;
    opacity: 0;
}

/* Mode 3: exactly one image under the active sheet. */
.brandina-hero.effect-paper {
    overflow: visible;
    isolation: isolate;
    background: transparent;
    box-shadow: none;
    perspective: 1800px;
}

.brandina-hero.effect-paper .brandina-hero-track {
    overflow: visible;
    transform-style: preserve-3d;
}

.brandina-hero.effect-paper .brandina-hero-slide {
    z-index: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    overflow: hidden;
    border-radius: inherit;
    box-shadow: none;
    backface-visibility: hidden;
    transform-style: preserve-3d;
    transform: translate3d(0, 0, -40px) scale(.96);
    transition:
        transform var(--brandina-hero-transition, 760ms) cubic-bezier(.2,.72,.2,1),
        opacity var(--brandina-hero-transition, 760ms) cubic-bezier(.2,.72,.2,1),
        box-shadow var(--brandina-hero-transition, 760ms) ease;
}

.brandina-hero.effect-paper .brandina-hero-slide.is-active {
    z-index: 4;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) scale(1) rotateY(0deg);
    box-shadow: 0 18px 50px rgba(27, 34, 48, .16);
}

.brandina-hero.effect-paper .brandina-hero-slide.is-paper-under {
    z-index: 2;
    opacity: var(--brandina-paper-opacity, .58);
    visibility: visible;
    transform: translate3d(0, var(--brandina-paper-offset, 10px), -20px) scale(var(--brandina-paper-scale, .97));
    box-shadow: 0 12px 34px rgba(27, 34, 48, .10);
}

.brandina-hero.effect-paper .brandina-hero-slide.is-paper-under.is-paper-ready {
    transition: none !important;
}

.brandina-hero.effect-paper .brandina-hero-slide.is-paper-leaving-next {
    z-index: 6;
    opacity: 0;
    visibility: visible;
    transform-origin: right center;
    transform: translate3d(-108%, -1%, 40px) rotateY(-22deg) rotateZ(-1.3deg) scale(.985);
}

.brandina-hero.effect-paper .brandina-hero-slide.is-paper-leaving-prev {
    z-index: 6;
    opacity: 0;
    visibility: visible;
    transform-origin: left center;
    transform: translate3d(108%, -1%, 40px) rotateY(22deg) rotateZ(1.3deg) scale(.985);
}

.brandina-hero.effect-paper .brandina-slider-dots,
.brandina-hero.effect-paper .brandina-slider-arrow {
    z-index: 10;
}

@media (prefers-reduced-motion: reduce) {
    .brandina-hero .brandina-hero-slide {
        transition-duration: .01ms !important;
    }
}


/* Brandina v1.11.7 — true viewport bleed and stable paper stack. */
html,
body {
    overflow-x: clip;
}

.brandina-home,
.brandina-home-sections {
    max-width: none !important;
    overflow-x: visible !important;
}

/* Mode 2 must escape builder/site containers, even when the main
   content element itself has a max-width. Physical centering is intentional
   here and works identically in RTL and LTR layouts. */
.brandina-home-sections > .brandina-home-block.brandina-hero-wrap.is-full-width {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 0 !important;
    transform: none !important;
}

.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero,
.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero-track,
.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero-slide,
.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero-picture,
.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero-picture img {
    width: 100% !important;
    max-width: none !important;
}

.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero-picture img {
    display: block;
    object-fit: cover;
    object-position: center;
}

.brandina-hero.effect-full-fade {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Mode 3 has its own deliberately slower timing. */
.brandina-hero.effect-paper .brandina-hero-slide {
    transition:
        transform var(--brandina-paper-transition, 1250ms) cubic-bezier(.16, 1, .3, 1),
        opacity var(--brandina-paper-transition, 1250ms) cubic-bezier(.22, .61, .36, 1),
        box-shadow var(--brandina-paper-transition, 1250ms) ease;
    will-change: transform, opacity;
}

.brandina-hero.effect-paper .brandina-hero-slide.is-paper-leaving-next {
    opacity: 0;
    transform-origin: right center;
    transform: translate3d(-101%, -.5%, 36px) rotateY(-12deg) rotateZ(-.5deg) scale(.994);
}

.brandina-hero.effect-paper .brandina-hero-slide.is-paper-leaving-prev {
    opacity: 0;
    transform-origin: left center;
    transform: translate3d(101%, -.5%, 36px) rotateY(12deg) rotateZ(.5deg) scale(.994);
}

.brandina-hero.effect-paper.is-paper-animating .brandina-slider-arrow {
    pointer-events: none;
}


/* =========================================================
   Brandina v1.11.8 — transparent hero, universal radius,
   styled cart buttons, rapid controls and mobile bottom nav
   ========================================================= */
.brandina-hero,
.brandina-hero-track,
.brandina-hero-slide,
.brandina-hero-picture {
    background: transparent !important;
}
.brandina-hero {
    border-radius: var(--brandina-hero-radius, 18px) !important;
}
.brandina-hero-track,
.brandina-hero-slide,
.brandina-hero-picture,
.brandina-hero-picture img {
    border-radius: inherit;
}
.brandina-hero.effect-full-fade {
    overflow: hidden;
    border-radius: var(--brandina-hero-radius, 18px) !important;
}
.brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero {
    border-radius: var(--brandina-hero-radius, 18px) !important;
}
.brandina-hero.effect-paper .brandina-hero-slide {
    border-radius: var(--brandina-hero-radius, 18px) !important;
}
.brandina-hero.effect-paper.is-paper-animating .brandina-slider-arrow {
    pointer-events: auto !important;
}
.brandina-slider-arrow,
.brandina-scroll-arrow {
    user-select: none;
    touch-action: manipulation;
}

/* Fully manageable WooCommerce product-card buttons. */
.brandina-product-action {
    width: 100%;
    margin-top: auto;
    padding-top: 2px;
}
.brandina-product-action .button,
.brandina-product-action .added_to_cart {
    min-height: var(--product-cart-height-d, 38px);
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 0;
    padding: 7px 13px !important;
    color: var(--product-cart-color, #fff) !important;
    background: var(--product-cart-bg, var(--product-accent)) !important;
    border: 1px solid transparent !important;
    border-radius: var(--product-cart-radius, 10px) !important;
    box-shadow: 0 7px 18px color-mix(in srgb, var(--product-cart-bg) 22%, transparent);
    font-size: var(--product-cart-font-d, 12px) !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
    text-align: center;
    text-decoration: none !important;
    transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
}
.brandina-product-section.cart-button-full-width .brandina-product-action .button,
.brandina-product-section.cart-button-full-width .brandina-product-action .added_to_cart { width: 100%; }
.brandina-product-section.cart-button-auto-width .brandina-product-action .button,
.brandina-product-section.cart-button-auto-width .brandina-product-action .added_to_cart { width: auto; }
.brandina-product-action .button:hover,
.brandina-product-action .button:focus,
.brandina-product-action .added_to_cart:hover,
.brandina-product-action .added_to_cart:focus {
    color: var(--product-cart-hover-color, #fff) !important;
    background: var(--product-cart-hover, #c92f4c) !important;
    transform: translateY(-1px);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--product-cart-hover) 28%, transparent);
    outline: 0;
}
.brandina-product-action .button.loading { opacity: .72; pointer-events: none; }
.brandina-product-action .button.added { display: none !important; }
.brandina-product-action .added_to_cart { margin-top: 0; }

@media (max-width: 767px) {
    .brandina-hero,
    .brandina-hero.effect-full-fade,
    .brandina-home-block.brandina-hero-wrap.is-full-width .brandina-hero {
        border-radius: var(--brandina-hero-radius, 18px) !important;
    }
    .brandina-product-action .button,
    .brandina-product-action .added_to_cart {
        min-height: var(--product-cart-height-m, 34px);
        padding: 5px 8px !important;
        font-size: var(--product-cart-font-m, 10px) !important;
    }
    .brandina-product-section.layout-slider .brandina-product-viewport {
        scroll-behavior: auto !important;
        scroll-snap-type: x proximity !important;
        touch-action: auto !important;
    }
}


/* v1.13.3: keep product actions clean; success feedback is shown in the header notice */
.brandina-product-action .added_to_cart.wc-forward{display:none!important}


/* =========================================================
   Brandina v1.18.6 — globally readable prices, stable mobile
   cart overlays and genuinely distinct hero presentations.
   ========================================================= */

/* The fixed checkout bar must never sit above menu/search sheets. */
@media (max-width: 767px) {
    .brandina-cart-mobile-checkout {
        transition: opacity .2s ease, visibility .2s ease, transform .26s cubic-bezier(.2,.75,.2,1);
    }
    body.brandina-mobile-sheet-open .brandina-cart-mobile-checkout,
    body.brandina-overlay-open .brandina-cart-mobile-checkout,
    body.brandina-shop-filter-opened .brandina-cart-mobile-checkout {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(calc(100% + 24px)) !important;
    }
}

/* Mode 1 — contained cinematic cards with real side previews. */
.brandina-hero.effect-classic {
    overflow: hidden;
    padding: clamp(9px, 1.15vw, 18px) 0;
    background:
        radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--brandina-primary, #ef4056) 15%, transparent), transparent 28%),
        radial-gradient(circle at 12% 86%, rgba(70, 105, 255, .10), transparent 30%),
        linear-gradient(135deg, #f8f9fd 0%, #fff 48%, #f4f6fb 100%) !important;
    border: 1px solid rgba(118, 132, 166, .13);
    box-shadow: 0 18px 50px rgba(31, 41, 70, .10);
}
.brandina-hero.effect-classic::before,
.brandina-hero.effect-classic::after {
    content: "";
    position: absolute;
    z-index: 0;
    width: clamp(90px, 12vw, 190px);
    aspect-ratio: 1;
    pointer-events: none;
    border-radius: 50%;
    filter: blur(2px);
}
.brandina-hero.effect-classic::before {
    top: -35%;
    right: 3%;
    background: color-mix(in srgb, var(--brandina-primary, #ef4056) 10%, transparent);
}
.brandina-hero.effect-classic::after {
    bottom: -45%;
    left: 5%;
    background: rgba(72, 107, 255, .08);
}
.brandina-hero.effect-classic .brandina-hero-track {
    inset-block: clamp(9px, 1.15vw, 18px);
    height: auto;
    overflow: visible;
    perspective: 1400px;
}
.brandina-hero.effect-classic .brandina-hero-slide {
    top: 0;
    bottom: 0;
    left: 8%;
    right: auto;
    width: 84%;
    height: 100%;
    overflow: hidden;
    opacity: .38;
    visibility: visible;
    border: 1px solid rgba(255,255,255,.88);
    border-radius: max(14px, var(--brandina-hero-radius, 18px));
    box-shadow: 0 14px 32px rgba(26, 36, 62, .10);
    filter: saturate(.72) contrast(.94);
    transform: translate3d(102%, 0, -90px) scale(.86) rotateY(-5deg);
    transform-origin: center;
    transition:
        transform var(--brandina-hero-transition, 760ms) cubic-bezier(.16,.84,.24,1),
        opacity var(--brandina-hero-transition, 760ms) ease,
        filter var(--brandina-hero-transition, 760ms) ease,
        box-shadow var(--brandina-hero-transition, 760ms) ease;
    will-change: transform, opacity;
}
.brandina-hero.effect-classic .brandina-hero-slide.is-before {
    z-index: 1;
    opacity: .48;
    transform: translate3d(-102%, 0, -90px) scale(.86) rotateY(5deg);
}
.brandina-hero.effect-classic .brandina-hero-slide.is-after {
    z-index: 1;
    opacity: .48;
    transform: translate3d(102%, 0, -90px) scale(.86) rotateY(-5deg);
}
.brandina-hero.effect-classic .brandina-hero-slide.is-under {
    z-index: 2;
    opacity: .72;
    filter: saturate(.9);
    transform: translate3d(0, 0, -28px) scale(.965);
}
.brandina-hero.effect-classic .brandina-hero-slide.is-active {
    z-index: 4;
    opacity: 1;
    filter: none;
    transform: translate3d(0, 0, 0) scale(1) rotateY(0);
    box-shadow: 0 22px 52px rgba(24, 34, 59, .18);
}
.brandina-hero.effect-classic .brandina-slider-dots {
    bottom: clamp(16px, 2vw, 26px);
    left: 50%;
    right: auto;
    padding: 5px 8px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 999px;
    box-shadow: 0 8px 22px rgba(25,35,58,.13);
    backdrop-filter: blur(10px);
    transform: translateX(-50%);
}
.brandina-hero.effect-classic .brandina-slider-arrow {
    bottom: 50%;
    width: clamp(38px, 3.1vw, 48px);
    height: clamp(38px, 3.1vw, 48px);
    background: rgba(255,255,255,.88) !important;
    border-color: rgba(255,255,255,.92) !important;
    backdrop-filter: blur(12px);
}
.brandina-hero.effect-classic .brandina-slider-arrow.is-prev {
    right: 2.3%;
    transform: translateY(50%);
}
.brandina-hero.effect-classic .brandina-slider-arrow.is-next {
    right: auto;
    left: 2.3%;
    transform: translateY(50%) rotate(180deg);
}
.brandina-hero.effect-classic .brandina-slider-arrow.is-prev:hover { transform: translateY(calc(50% - 2px)); }
.brandina-hero.effect-classic .brandina-slider-arrow.is-next:hover { transform: translateY(calc(50% - 2px)) rotate(180deg); }

/* Mode 2 — full-width luminous reveal with cinematic zoom. */
.brandina-hero.effect-full-fade {
    isolation: isolate;
    overflow: hidden;
    background: #101522 !important;
    box-shadow: 0 22px 55px rgba(18, 24, 40, .20) !important;
}
.brandina-hero.effect-full-fade::before {
    content: "";
    position: absolute;
    z-index: 7;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(7,12,24,.12), transparent 24%, transparent 76%, rgba(7,12,24,.12)),
        linear-gradient(180deg, transparent 68%, rgba(7,12,24,.10));
    mix-blend-mode: multiply;
}
.brandina-hero.effect-full-fade::after {
    content: "";
    position: absolute;
    z-index: 8;
    right: 50%;
    bottom: 0;
    width: min(42%, 620px);
    height: 3px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.92), transparent);
    border-radius: 999px 999px 0 0;
    box-shadow: 0 -2px 16px rgba(255,255,255,.45);
    transform: translateX(50%);
}
.brandina-hero.effect-full-fade .brandina-hero-slide {
    opacity: 0;
    visibility: hidden;
    clip-path: circle(0% at 50% 52%);
    filter: blur(10px) saturate(.72) brightness(.9);
    transform: scale(1.10);
    transition:
        clip-path var(--brandina-hero-transition, 760ms) cubic-bezier(.2,.76,.2,1),
        opacity var(--brandina-hero-transition, 760ms) ease,
        filter var(--brandina-hero-transition, 760ms) ease,
        transform var(--brandina-hero-transition, 760ms) cubic-bezier(.2,.76,.2,1),
        visibility 0s linear var(--brandina-hero-transition, 760ms);
}
.brandina-hero.effect-full-fade .brandina-hero-slide.is-active {
    z-index: 3;
    opacity: 1;
    visibility: visible;
    clip-path: circle(150% at 50% 52%);
    filter: none;
    transform: scale(1);
    transition-delay: 0s;
}
.brandina-hero.effect-full-fade .brandina-hero-slide.is-active img {
    animation: brandinaHeroCinematicZoom 7.5s ease-out both;
}
.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-entering,
.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-leaving {
    visibility: visible;
    transition-delay: 0s;
}
.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-entering {
    z-index: 4;
    opacity: var(--brandina-fade-start-opacity, 0);
    clip-path: circle(0% at 50% 52%);
    filter: blur(12px) saturate(.68) brightness(.92);
    transform: scale(1.11);
}
.brandina-hero.effect-full-fade .brandina-hero-slide.is-fade-leaving {
    z-index: 2;
    opacity: 0;
    clip-path: circle(150% at 50% 52%);
    filter: blur(7px) saturate(.85);
    transform: scale(1.055);
}
.brandina-hero.effect-full-fade .brandina-slider-arrow {
    top: 50%;
    bottom: auto;
    width: clamp(42px, 3.3vw, 54px);
    height: clamp(42px, 3.3vw, 54px);
    color: #fff !important;
    background: rgba(15,22,38,.32) !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow: 0 12px 32px rgba(7,12,24,.24);
    backdrop-filter: blur(12px);
}
.brandina-hero.effect-full-fade .brandina-slider-arrow.is-prev {
    right: clamp(14px, 2.6vw, 42px);
    transform: translateY(-50%);
}
.brandina-hero.effect-full-fade .brandina-slider-arrow.is-next {
    right: auto;
    left: clamp(14px, 2.6vw, 42px);
    transform: translateY(-50%) rotate(180deg);
}
.brandina-hero.effect-full-fade .brandina-slider-arrow.is-prev:hover { transform: translateY(calc(-50% - 2px)); }
.brandina-hero.effect-full-fade .brandina-slider-arrow.is-next:hover { transform: translateY(calc(-50% - 2px)) rotate(180deg); }
.brandina-hero.effect-full-fade .brandina-slider-dots {
    z-index: 10;
    right: 50%;
    bottom: clamp(13px, 1.8vw, 24px);
    left: auto;
    display:flex;
    gap: 6px;
    padding: 6px 8px;
    background: rgba(12,18,31,.28);
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    backdrop-filter: blur(12px);
    transform: translateX(50%);
}
.brandina-hero.effect-full-fade .brandina-slider-dots button {
    width: 24px;
    height: 4px;
    border-radius: 999px;
    background: rgba(255,255,255,.42);
    transition: width .25s ease, background .25s ease;
}
.brandina-hero.effect-full-fade .brandina-slider-dots button.is-active {
    width: 46px;
    background: #fff;
}
@keyframes brandinaHeroCinematicZoom {
    from { transform: scale(1.035); }
    to { transform: scale(1); }
}

@media (max-width: 767px) {
    .brandina-hero.effect-classic { padding-block: 7px; }
    .brandina-hero.effect-classic .brandina-hero-track { inset-block: 7px; }
    .brandina-hero.effect-classic .brandina-hero-slide {
        left: 4%;
        width: 92%;
        border-radius: max(12px, var(--brandina-hero-radius, 18px));
    }
    .brandina-hero.effect-classic .brandina-hero-slide.is-before { transform: translate3d(-97%,0,-50px) scale(.91); }
    .brandina-hero.effect-classic .brandina-hero-slide.is-after { transform: translate3d(97%,0,-50px) scale(.91); }
    .brandina-hero.effect-classic .brandina-slider-arrow.is-prev { right: 8px; }
    .brandina-hero.effect-classic .brandina-slider-arrow.is-next { left: 8px; }
    .brandina-hero.effect-classic .brandina-slider-dots { bottom: 12px; }

    .brandina-hero.effect-full-fade .brandina-slider-arrow {
        width: 36px;
        height: 36px;
    }
    .brandina-hero.effect-full-fade .brandina-slider-arrow.is-prev { right: 9px; }
    .brandina-hero.effect-full-fade .brandina-slider-arrow.is-next { left: 9px; }
    .brandina-hero.effect-full-fade .brandina-slider-dots { bottom: 10px; }
    .brandina-hero.effect-full-fade .brandina-slider-dots button { width: 16px; height: 3px; }
    .brandina-hero.effect-full-fade .brandina-slider-dots button.is-active { width: 31px; }
}

@media (prefers-reduced-motion: reduce) {
    .brandina-hero.effect-full-fade .brandina-hero-slide.is-active img { animation: none !important; }
}




/* Brandina 2.5.3 — smart hero fill.
   The frame height is always taken from the desktop/mobile controls in the
   Brandina panel. On mobile the banner fills that exact frame without empty
   bands or cropping; therefore its intrinsic aspect ratio may change slightly. */
.brandina-hero.image-fit-smart .brandina-hero-picture img{
  width:100%!important;
  height:100%!important;
  object-position:center!important;
}
@media (min-width:768px){
  .brandina-hero.image-fit-smart .brandina-hero-picture img{
    object-fit:cover!important;
  }
}
@media (max-width:767px){
  .brandina-hero.image-fit-smart{
    background:transparent!important;
    transition:height .24s ease;
  }
  .brandina-hero.image-fit-smart .brandina-hero-picture img{
    object-fit:fill!important;
  }
  .brandina-hero.image-fit-smart .brandina-hero-slide::before{
    opacity:0!important;
    filter:none!important;
  }
}


/* Brandina 2.5.4 — preserve the full uploaded desktop banner artwork.
 * Desktop banner images define their own frame from their intrinsic aspect ratio,
 * so text and edge artwork are never clipped by object-fit: cover. Mobile keeps
 * the dedicated mobile ratios from home-responsive.css. */
@media (min-width: 768px) {
    .brandina-promo-banner picture,
    .brandina-promo-banner img,
    .brandina-wide-banner picture,
    .brandina-wide-banner img {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: auto !important;
        object-fit: contain !important;
        object-position: center !important;
    }
}
