/* ═══════════════════════════════════════
   Sale Page
   ═══════════════════════════════════════ */

/* ── Hero ── */
.br-sale-hero{
    margin:0 auto 36px;
    text-align:center;
    max-width:860px;
}

.br-sale-hero__badge{
    display:inline-block;
    background:#ffe3e3;
    color:#c81e1e;
    font-weight:800;
    font-size:13px;
    letter-spacing:.2px;
    padding:7px 16px;
    border-radius:100px;
    margin-bottom:16px;
    text-transform:uppercase;
}

.br-sale-hero h1{
    font-size:clamp(30px,4vw,46px);
    line-height:1.12;
    margin:0 0 14px;
    color:#1f2937;
}

.br-sale-hero__intro{
    font-size:17px;
    color:#666;
    max-width:760px;
    margin:0 auto 16px;
    line-height:1.65;
}

.br-sale-hero__count{
    display:inline-block;
    font-size:14px;
    color:#777;
    margin-top:6px;
    font-weight:500;
}

.br-sale-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin:0 0 16px;
}

.br-sale-hero__action-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    padding:7px 16px;
    background:#fff1f2;
    color:#b91c1c;
    font-weight:700;
    font-size:13px;
    border-radius:100px;
    border:1px solid #fecdd3;
    line-height:1.2;
}

.br-sale-timer{
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:18px;
    background:#fff7ed;
    color:#9a3412;
    border:1px solid #fdba74;
    border-radius:14px;
    padding:10px 18px;
    font-size:14px;
    font-weight:700;
}

.br-sale-timer__icon{
    font-size:18px;
    line-height:1;
}

/* ── Filters ── */
.br-sale-filters{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 24px;
    justify-content:center;
}

.br-sale-filters__chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:6px 14px;
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:100px;
    font-size:13px;
    color:#374151;
    font-weight:500;
}

/* ── Grid ── */
.br-sale-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    margin-bottom:48px;
}

/* ── Card ── */
.br-sale-card{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    border:1px solid #ececec;
    text-decoration:none;
    color:#111827;
    transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease;
    box-shadow:0 1px 2px rgba(0,0,0,.04);
}

.br-sale-card:hover{
    box-shadow:0 10px 30px rgba(0,0,0,.10);
    transform:translateY(-3px);
    border-color:#f5b4b4;
}

.br-sale-card__badge{
    position:absolute;
    top:12px;
    left:12px;
    z-index:2;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:4px 10px;
    background:linear-gradient(135deg,#dc2626 0%, #ef4444 100%);
    color:#fff;
    font-weight:800;
    font-size:12px;
    border-radius:8px;
    box-shadow:0 6px 16px rgba(220,38,38,.25);
}

.br-sale-card__img{
    aspect-ratio:1 / 1;
    overflow:hidden;
    background:#f3f4f6;
}

.br-sale-card__img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.br-sale-card__body{
    padding:14px;
}

.br-sale-card__name{
    font-size:14px;
    line-height:1.35;
    margin:0 0 10px;
    font-weight:600;
    color:#1f2937;
    min-height:38px;
}

.br-sale-card__prices{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.br-sale-card__old{
    text-decoration:line-through;
    color:#9ca3af;
    font-size:13px;
    line-height:1.2;
}

.br-sale-card__new{
    color:#b91c1c;
    font-weight:800;
    font-size:17px;
    line-height:1.2;
}

.br-sale-empty{
    text-align:center;
    padding:60px 0;
    color:#888;
    font-size:15px;
}

/* ── CTA ── */
.br-sale-cta{
    margin-bottom:48px;
    display:flex;
    justify-content:center;
}

.br-sale-cta__card{
    background:linear-gradient(135deg,#c81e1e 0%, #ef4444 100%);
    color:#fff;
    border-radius:20px;
    padding:40px;
    max-width:560px;
    width:100%;
    text-align:center;
    box-shadow:0 12px 36px rgba(200,30,30,.18);
}

.br-sale-cta__icon{
    font-size:40px;
    margin-bottom:12px;
}

.br-sale-cta__card h2{
    color:#fff;
    font-size:clamp(22px,3vw,28px);
    margin-bottom:8px;
}

.br-sale-cta__text{
    opacity:.92;
    line-height:1.6;
    margin-bottom:24px;
}

.br-sale-cta__form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.br-sale-cta__form input[type="text"],
.br-sale-cta__form input[type="tel"]{
    padding:14px 16px;
    border:none;
    border-radius:10px;
    font-size:15px;
    width:100%;
    box-sizing:border-box;
    color:#333;
    background:#fff;
}

.br-sale-cta__form input::placeholder{
    color:#999;
}

.br-sale-cta__form input:focus{
    outline:2px solid #fff;
}

.br-sale-cta__btn{
    width:100%;
    background:#fff;
    color:#c81e1e;
    border:none;
    font-weight:700;
    padding:14px;
    border-radius:10px;
    font-size:16px;
    cursor:pointer;
    transition:opacity .2s ease;
}

.br-sale-cta__btn:hover{
    opacity:.92;
}

.br-sale-cta__phone{
    margin-top:16px;
    font-size:14px;
    opacity:.88;
}

.br-sale-cta__phone a{
    color:#fff;
    font-weight:600;
    text-decoration:none;
}

.br-sale-cta__card .br-consent,
.br-sale-cta__card .br-consent a{
    color:rgba(255,255,255,.88);
    font-size:12px;
}

.br-sale-cta__card .br-consent a{
    text-decoration:underline;
}

.br-sale-cta__card .br-form-success,
.br-sale-cta__card .br-form-message,
.br-sale-cta__card .br-toast{
    color:#fff;
}

/* ── Home sale block ── */
.br-home-sale{
    background:linear-gradient(180deg,#fff7f7 0%, #ffffff 100%);
    padding:48px 0;
    margin-bottom:0;
}

.br-home-sale__header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:16px;
    margin-bottom:24px;
}

.br-home-sale__header h2{
    font-size:28px;
    line-height:1.15;
    margin:0;
    color:#1f2937;
}

.br-home-sale__all{
    color:#c81e1e;
    font-weight:700;
    font-size:14px;
    text-decoration:none;
    white-space:nowrap;
}

.br-home-sale__all:hover{
    text-decoration:underline;
}

.br-home-sale__grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}

/* ── Main banner ── */

.br-home-sale__banner{
    display:block;
    border-radius:20px;
    overflow:hidden;
    margin-bottom:24px;
    text-decoration:none;
    color:#fff;
    background:linear-gradient(135deg,#b91c1c 0%, #ef4444 100%);
    transition:transform .25s ease, box-shadow .25s ease;
    box-shadow:0 8px 28px rgba(185,28,28,.16);
}

.br-home-sale__banner:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 36px rgba(185,28,28,.22);
}

.br-home-sale__banner--has-img{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    min-height:240px;
}

.br-home-sale__banner-img{
    overflow:hidden;
    background:#f3f4f6;
}

.br-home-sale__banner-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.br-home-sale__banner-body{
    padding:34px 34px 34px 30px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:10px;
}

.br-home-sale__banner-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    align-self:flex-start;
    min-height:32px;
    padding:6px 14px;
    border-radius:100px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.24);
    font-size:13px;
    font-weight:800;
}

.br-home-sale__banner-body strong{
    font-size:32px;
    line-height:1.1;
    font-weight:800;
    max-width:520px;
}

.br-home-sale__banner-names{
    font-size:14px;
    line-height:1.6;
    opacity:.92;
    max-width:560px;
}

.br-home-sale__banner-cta{
    display:inline-block;
    margin-top:8px;
    font-size:15px;
    font-weight:800;
    opacity:.96;
}

/* Баннер без картинки — по центру */
.br-home-sale__banner:not(.br-home-sale__banner--has-img) .br-home-sale__banner-body{
    text-align:center;
    align-items:center;
    padding:42px 30px;
}

.br-home-sale__banner:not(.br-home-sale__banner--has-img) .br-home-sale__banner-body strong{
    max-width:820px;
}
/* Compact cards on home */
.br-sale-card--compact .br-sale-card__body{
    padding:12px;
}

.br-sale-card--compact .br-sale-card__name{
    font-size:13px;
    min-height:34px;
    margin-bottom:8px;
}

.br-sale-card--compact .br-sale-card__new{
    font-size:16px;
}

/* ═══════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════ */

   @media (max-width: 1023px){
    .br-sale-grid,
    .br-home-sale__grid{
        grid-template-columns:repeat(3,1fr);
    }

    .br-home-sale__banner--has-img{
        grid-template-columns:1fr 1fr;
        min-height:220px;
    }

    .br-home-sale__banner-body strong{
        font-size:24px;
    }
}

@media (max-width: 767px){
    .br-sale-hero{
        margin-bottom:24px;
        max-width:none;
    }

    .br-sale-hero h1{
        font-size:clamp(28px,8vw,34px);
    }

    .br-sale-hero__intro{
        font-size:15px;
        line-height:1.6;
    }

    .br-sale-hero__actions{
        gap:6px;
    }

    .br-sale-hero__action-badge{
        font-size:12px;
        padding:6px 12px;
        min-height:30px;
    }

    .br-sale-timer{
        font-size:13px;
        padding:8px 12px;
        margin-top:14px;
    }

    .br-sale-grid,
    .br-home-sale__grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .br-sale-card__badge{
        top:10px;
        left:10px;
        font-size:11px;
        min-height:24px;
        padding:3px 8px;
    }

    .br-sale-card__body{
        padding:12px;
    }

    .br-sale-card__name{
        font-size:13px;
        min-height:34px;
    }

    .br-sale-card__new{
        font-size:16px;
    }

    .br-sale-cta__card{
        padding:24px;
    }

    .br-home-sale{
        padding:32px 0;
    }

    .br-home-sale__header{
        flex-direction:column;
        align-items:flex-start;
        gap:8px;
    }

    .br-home-sale__header h2{
        font-size:24px;
    }

    .br-home-sale__banner--has-img{
        grid-template-columns:1fr;
        min-height:auto;
    }

    .br-home-sale__banner-body{
        padding:20px;
    }

    .br-home-sale__banner-body strong{
        font-size:21px;
    }

    .br-home-sale__banner-names{
        font-size:13px;
    }

    .br-home-sale__banner:not(.br-home-sale__banner--has-img) .br-home-sale__banner-body{
        padding:24px 18px;
    }
}

/* ================================================================
   SALE PAGE — SAFE POLISH PATCH
   ================================================================ */

.br-sale {
	padding-bottom: 24px;
}

.br-sale .br-wrap {
	max-width: 1280px;
}

/* Hero */
.br-sale-hero {
	margin: 0 auto 32px;
	padding-top: 8px;
	text-align: center;
	max-width: 920px;
}

.br-sale-hero__badge {
	box-shadow: 0 6px 18px rgba(200,30,30,.08);
}

.br-sale-hero h1 {
	letter-spacing: -.02em;
}

.br-sale-hero__intro {
	max-width: 820px;
}

.br-sale-hero__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 7px 14px;
	border-radius: 999px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
	color: #6b7280;
}

.br-sale-hero__actions {
	margin-top: 10px;
}

/* Timer */
.br-sale-timer {
	box-shadow: 0 8px 20px rgba(249,115,22,.08);
}

/* Filters */
.br-sale-filters {
	margin-bottom: 28px;
}

.br-sale-filters__chip {
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.br-sale-filters__chip:hover {
	background: #fff1f2;
	border-color: #fecdd3;
	color: #b91c1c;
}

/* Grid support: old sale-card + common product card */
.br-sale-grid,
.br-sale .br-seedlings {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-bottom: 48px;
}

.br-sale-grid > *,
.br-sale .br-seedlings > * {
	min-width: 0;
}

/* Old sale card */
.br-sale-card {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.br-sale-card__img {
	position: relative;
}

.br-sale-card__img img {
	transition: transform .35s ease;
}

.br-sale-card:hover .br-sale-card__img img {
	transform: scale(1.04);
}

.br-sale-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.br-sale-card__prices {
	margin-top: auto;
	padding-top: 6px;
}

/* If page uses common product cards */
.br-sale .br-seedling {
	height: 100%;
}

.br-sale .br-seedling__body {
	flex: 1;
}

.br-sale .br-seedling__actions {
	margin-top: auto;
}

/* Empty */
.br-sale-empty {
	background: #fafafa;
	border: 1px dashed #d1d5db;
	border-radius: 18px;
}

/* CTA */
.br-sale-cta {
	margin-top: 8px;
	margin-bottom: 56px;
}

.br-sale-cta__card {
	position: relative;
	overflow: hidden;
}

.br-sale-cta__card::before {
	content: "";
	position: absolute;
	right: -80px;
	top: -80px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	pointer-events: none;
}

.br-sale-cta__card::after {
	content: "";
	position: absolute;
	left: -70px;
	bottom: -70px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(255,255,255,.06);
	pointer-events: none;
}

.br-sale-cta__card > * {
	position: relative;
	z-index: 1;
}

.br-sale-cta__form {
	max-width: 420px;
	margin: 0 auto;
}

.br-sale-cta__form .br-consent {
	text-align: left;
	justify-content: flex-start;
}

.br-sale-cta__btn:disabled {
	opacity: .55;
	cursor: not-allowed;
}

/* Crosslinks */
.br-service-crosslinks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 20px 0 0;
}

.br-service-crosslink {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	text-decoration: none;
	color: #1f2937;
	font-weight: 600;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.br-service-crosslink:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,.06);
	border-color: #fecaca;
}

.br-service-crosslink span {
	font-size: 18px;
	line-height: 1;
}

/* Home sale block refinement */
.br-home-sale__banner-title,
.br-home-sale__banner-body strong {
	letter-spacing: -.02em;
}

/* Responsive */
@media (max-width: 1100px) {
	.br-sale-grid,
	.br-sale .br-seedlings,
	.br-home-sale__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 991px) {
	.br-service-crosslinks {
		grid-template-columns: 1fr;
	}

	.br-sale-cta__card {
		padding: 28px 24px;
	}
}

@media (max-width: 767px) {
	.br-sale-grid,
	.br-sale .br-seedlings,
	.br-home-sale__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.br-sale-hero {
		margin-bottom: 24px;
	}

	.br-sale-hero__count {
		font-size: 13px;
		padding: 6px 12px;
	}

	.br-sale-cta {
		margin-bottom: 40px;
	}

	.br-sale-cta__card {
		padding: 24px 18px;
		border-radius: 18px;
	}

	.br-sale-cta__text {
		font-size: 14px;
		margin-bottom: 18px;
	}

	.br-sale-cta__btn {
		font-size: 15px;
		padding: 13px;
	}
}

@media (max-width: 480px) {
	.br-sale-grid,
	.br-sale .br-seedlings,
	.br-home-sale__grid {
		grid-template-columns: 1fr;
	}

	.br-sale-hero__actions {
		flex-direction: column;
		align-items: center;
	}

	.br-sale-hero__action-badge {
		width: 100%;
		max-width: 320px;
	}

	.br-sale-timer {
		width: 100%;
		justify-content: center;
	}
}

/* ================================================================
   SALE PAGE — UNIFIED PRODUCT CARDS
   ================================================================ */

.br-sale-products__grid {
	margin-bottom: 48px;
}

.br-sale .br-seedlings {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.br-sale .br-seedling {
	height: 100%;
}

.br-sale .br-seedling__body {
	flex: 1;
}

.br-sale .br-seedling__actions {
	margin-top: auto;
}

/* ================================================================
   SALE PROMO
   ================================================================ */

.br-sale-promo {
	margin-bottom: 28px;
}

.br-sale-promo__card {
	display: block;
	border-radius: 20px;
	overflow: hidden;
	background: linear-gradient(135deg, #b91c1c 0%, #ef4444 100%);
	color: #fff;
	text-decoration: none;
	box-shadow: 0 10px 32px rgba(185,28,28,.16);
	transition: transform .25s ease, box-shadow .25s ease;
}

.br-sale-promo__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 38px rgba(185,28,28,.22);
}

.br-sale-promo__card--has-img {
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	min-height: 240px;
}

.br-sale-promo__img {
	background: #f3f4f6;
	overflow: hidden;
}

.br-sale-promo__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.br-sale-promo__body {
	padding: 34px 34px 34px 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
}

.br-sale-promo__badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	justify-content: center;
	min-height: 32px;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.24);
	font-size: 13px;
	font-weight: 800;
}

.br-sale-promo__title {
	display: block;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.1;
	font-weight: 800;
	max-width: 560px;
	letter-spacing: -.02em;
}

.br-sale-promo__meta {
	font-size: 14px;
	line-height: 1.6;
	opacity: .92;
	max-width: 560px;
}

.br-sale-promo__cta {
	display: inline-block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 800;
}

/* Баннер без картинки */
.br-sale-promo__card:not(.br-sale-promo__card--has-img) .br-sale-promo__body {
	text-align: center;
	align-items: center;
	padding: 40px 26px;
}

.br-sale-promo__card:not(.br-sale-promo__card--has-img) .br-sale-promo__title,
.br-sale-promo__card:not(.br-sale-promo__card--has-img) .br-sale-promo__meta {
	max-width: 860px;
}

/* CTA + consent */
.br-sale-cta__form .br-consent {
	justify-content: flex-start;
	text-align: left;
}

.br-sale-cta__form .br-consent__check {
	background: rgba(255,255,255,.98);
	border-color: rgba(255,255,255,.28);
}

.br-sale-cta__btn:disabled {
	opacity: .55;
	cursor: not-allowed;
}

/* Responsive */
@media (max-width: 1100px) {
	.br-sale .br-seedlings {
		grid-template-columns: repeat(3, 1fr);
	}

	.br-sale-promo__card--has-img {
		grid-template-columns: 1fr 1fr;
		min-height: 220px;
	}

	.br-sale-promo__title {
		font-size: 24px;
	}
}

@media (max-width: 767px) {
	.br-sale .br-seedlings {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.br-sale-promo__card--has-img {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.br-sale-promo__body {
		padding: 20px;
	}

	.br-sale-promo__title {
		font-size: 21px;
	}

	.br-sale-promo__meta {
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.br-sale .br-seedlings {
		grid-template-columns: 1fr;
	}
}