/* ============================================================
   Нова начална страница (експеримент) - само body.daga-home-v2
   Префикс .dh- (daga home). Не засяга останалите страници.
   ============================================================ */

body.daga-home-v2 {
	--dh-ink: #0a0500;
	--dh-gray: #504e4a;
	--dh-cream: #f4ede0;
	--dh-sand: #e6dcc8;
	--dh-white: #fff;
	--dh-radius: 22px;
	--dh-ease: cubic-bezier(.22, .8, .24, 1);
	--dh-serif: Lora, Georgia, "Times New Roman", serif;
}

/* ---------- Общи ---------- */
.dh {
	color: var(--dh-ink);
	font-family: "Open Sans", sans-serif;
}
.dh *, .dh *::before, .dh *::after { box-sizing: border-box; }
.dh a { text-decoration: none; color: inherit; }
.dh h1, .dh h2, .dh h3 {
	margin: 0;
	font-family: var(--dh-serif);
	color: var(--dh-ink);
	letter-spacing: -.01em;
}
.dh p { margin: 0; }
.dh img { display: block; max-width: 100%; }

.dh-sec { padding: clamp(3rem, 7vw, 6rem) 0; }
.dh-wrap {
	max-width: 1290px;
	margin: 0 auto;
	padding: 0 24px;
}
.dh-eyebrow {
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--dh-gray);
	margin-bottom: .9rem;
}
.dh-h2 {
	font-size: clamp(2rem, 4.2vw, 3.2rem);
	font-weight: 600;
	line-height: 1.12;
	text-wrap: balance;
}
.dh-sec__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto clamp(2rem, 4vw, 3.2rem);
}
.dh-sec__head p:not(.dh-eyebrow) {
	margin-top: 1rem;
	color: var(--dh-gray);
	font-size: 1.05rem;
	line-height: 1.65;
}

/* Бутони */
.dh-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	padding: .95rem 1.9rem;
	border-radius: 999px;
	background: var(--dh-ink);
	color: var(--dh-white) !important;
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .02em;
	border: 2px solid var(--dh-ink);
	transition: transform .3s var(--dh-ease), background .3s, color .3s, box-shadow .3s;
	cursor: pointer;
}
.dh-btn:hover {
	transform: translateY(-2px);
	background: #2b2118;
	border-color: #2b2118;
	box-shadow: 0 10px 24px rgba(10, 5, 0, .22);
}
.dh-btn--outline {
	background: transparent;
	color: var(--dh-ink) !important;
}
.dh-btn--outline:hover {
	background: var(--dh-ink);
	color: var(--dh-white) !important;
}
.dh-btn--light {
	background: var(--dh-white);
	border-color: var(--dh-white);
	color: var(--dh-ink) !important;
}
.dh-btn--light:hover {
	background: var(--dh-cream);
	border-color: var(--dh-cream);
}
.dh-btn svg { width: 16px; height: 16px; transition: transform .3s var(--dh-ease); }
.dh-btn:hover svg { transform: translateX(4px); }

/* ---------- Скрол анимации ---------- */
.dh-js .dh-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity .8s var(--dh-ease), transform .8s var(--dh-ease);
	transition-delay: var(--d, 0s);
}
.dh-js .dh-reveal.is-in {
	opacity: 1;
	transform: none;
}

/* ---------- 1. Hero слайдер ---------- */
.dh-hero {
	position: relative;
	overflow: hidden;
	background: var(--dh-cream);
}
.dh-slides { display: grid; }
.dh-slide {
	grid-area: 1 / 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	/* десктоп: хедър 181px + лента 55px = hero заема точно останалото от екрана, без бяло под лентата */
	min-height: var(--dh-hero-h, max(520px, calc(100svh - 234px)));
	background: var(--bg, var(--dh-cream));
	opacity: 0;
	visibility: hidden;
	transition: opacity .9s var(--dh-ease), visibility 0s linear .9s;
	will-change: opacity;
}
.dh-slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity .9s var(--dh-ease), visibility 0s;
	z-index: 1;
}
.dh-slide__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: clamp(2rem, 5vw, 4.5rem) clamp(1.5rem, 5vw, 5rem) clamp(3.5rem, 6vw, 5rem);
	max-width: 680px;
	margin-left: auto;
	width: 100%;
}
.dh-slide__text > * {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .7s var(--dh-ease), transform .7s var(--dh-ease);
}
.dh-slide.is-active .dh-slide__text > * { opacity: 1; transform: none; }
.dh-slide.is-active .dh-slide__text > :nth-child(1) { transition-delay: .25s; }
.dh-slide.is-active .dh-slide__text > :nth-child(2) { transition-delay: .38s; }
.dh-slide.is-active .dh-slide__text > :nth-child(3) { transition-delay: .5s; }
.dh-slide.is-active .dh-slide__text > :nth-child(4) { transition-delay: .62s; }
.dh .dh-slide__title {
	font-size: clamp(2rem, 3.9vw, 3.5rem);
	font-weight: 600;
	line-height: 1.08;
	margin-bottom: 1.2rem;
}
.dh-slide__lead {
	font-size: 1.12rem;
	line-height: 1.65;
	color: var(--dh-gray);
	max-width: 30rem;
	margin-bottom: 2rem;
}
.dh-slide__media {
	--m: clamp(1rem, 2vw, 1.6rem);
	position: relative;
	overflow: hidden;
	align-self: center;
	justify-self: center;
	/* Квадрат, колкото позволява колоната и височината на слайдера - снимката е цяла, без срязване и без полета. */
	width: min(calc(100% - 2 * var(--m)), calc(min(var(--dh-hero-h, clamp(520px, calc(100svh - 250px), 720px)), 720px) - 2 * var(--m)));
	aspect-ratio: 1 / 1;
	margin: var(--m);
	border-radius: 28px;
	background: rgba(255, 255, 255, .55);
}
.dh-slide__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform 6s linear;
	will-change: transform;
	backface-visibility: hidden;
}
.dh-slide.is-active .dh-slide__media img { transform: scale(1); }
.dh-slide__media--cutout img {
	padding: 6%;
}

.dh-hero__ui {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 1.4rem;
	z-index: 5;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	pointer-events: none;
}
.dh-hero__ui > * { pointer-events: auto; }
.dh-dots { display: flex; gap: .55rem; }
.dh-dot {
	position: relative;
	width: 34px;
	height: 6px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: rgba(10, 5, 0, .18);
	overflow: hidden;
	cursor: pointer;
}
.dh-dot::after {
	content: "";
	will-change: transform;
	position: absolute;
	inset: 0;
	background: var(--dh-ink);
	transform: scaleX(0);
	transform-origin: left;
}
.dh-dot.is-active::after {
	animation: dh-progress var(--dh-interval, 6500ms) linear forwards;
}
@keyframes dh-progress { to { transform: scaleX(1); } }
.dh-arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 2px solid var(--dh-ink);
	background: rgba(255, 255, 255, .7);
	color: var(--dh-ink);
	display: grid;
	place-items: center;
	padding: 0;
	cursor: pointer;
	transition: background .25s, color .25s, transform .25s var(--dh-ease);
}
@media (hover: hover) { .dh-arrow:hover { background: var(--dh-ink); color: var(--dh-white); transform: scale(1.06); } }
.dh-arrow:active { background: var(--dh-ink); color: var(--dh-white); }
.dh-arrow svg { width: 18px; height: 18px; }

/* ---------- 2. Лента (marquee) ---------- */
.dh-marquee {
	background: var(--dh-ink);
	color: var(--dh-cream);
	overflow: hidden;
	padding: .7rem 0;
	white-space: nowrap;
	border-top: 5px solid;
	border-image: linear-gradient(90deg, #e8505b, #f39c3d, #f6d04d, #6cc08b, #4aa3df, #8e6bc1) 1;
}
.dh-marquee--light {
	background: var(--dh-cream);
	color: var(--dh-ink);
}
.dh-marquee__track {
	display: inline-flex;
	animation: dh-marquee 38s linear infinite;
	will-change: transform;
}
.dh-marquee--rev .dh-marquee__track { animation-direction: reverse; }
.dh-marquee__item {
	display: inline-flex;
	align-items: center;
	font-family: var(--dh-serif);
	font-size: clamp(.8rem, 1.1vw, .95rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .16em;
}
.dh-marquee__item::after {
	content: "";
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background: currentColor;
	opacity: .55;
	margin: 0 clamp(1.2rem, 2.4vw, 2.2rem);
}
@keyframes dh-marquee { to { transform: translateX(-50%); } }

/* ---------- 3. Колекции (като Lady M) ---------- */
.dh-tiles {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(.8rem, 1.6vw, 1.4rem);
}
.dh-tile {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5.2;
	border-radius: var(--dh-radius);
	overflow: hidden;
	background: var(--bg, var(--dh-cream));
	isolation: isolate;
}
.dh-tile img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8% 8% 24%;
	transition: transform .9s var(--dh-ease);
	z-index: -1;
}
.dh-tile--cover img { object-fit: cover; padding: 0; }
.dh-tile:hover img { transform: scale(1.07); }
.dh-tile__label {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 3.2rem 1.4rem 1.3rem;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: .8rem;
	background: linear-gradient(to top, rgba(10, 5, 0, .62), rgba(10, 5, 0, 0));
	color: var(--dh-white);
}
.dh-tile__label h3 {
	color: var(--dh-white) !important;
	font-size: clamp(1.25rem, 2vw, 1.7rem);
	font-weight: 600;
	line-height: 1.1;
}
.dh-tile__label small {
	display: block;
	margin-top: .3rem;
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .06em;
	opacity: .88;
}
.dh-tile__go {
	flex: none;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--dh-white);
	color: var(--dh-ink);
	display: grid;
	place-items: center;
	transition: transform .4s var(--dh-ease);
}
.dh-tile__go svg { width: 16px; height: 16px; }
.dh-tile:hover .dh-tile__go { transform: translateX(4px) rotate(-45deg); }

/* ---------- 4. Продукти (като Lady M) ---------- */
.dh-products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1rem, 2vw, 1.8rem);
}
.dh-pcard {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.dh-pcard__media {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--dh-radius);
	background: var(--dh-cream);
	overflow: hidden;
	margin-bottom: 1.1rem;
}
.dh-pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 6%;
	transition: transform .9s var(--dh-ease);
}
.dh-pcard:hover .dh-pcard__media img { transform: scale(1.08) rotate(-1deg); }
.dh-badge {
	position: absolute;
	top: .9rem;
	left: .9rem;
	z-index: 2;
	padding: .35rem .8rem;
	border-radius: 999px;
	background: var(--dh-ink);
	color: var(--dh-white);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.dh-pcard__title {
	font-size: 1.15rem !important;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: .4rem !important;
}
.dh-pcard__price {
	color: var(--dh-gray);
	font-size: 1rem;
	font-weight: 600;
	margin-bottom: 1rem !important;
}
.dh-pcard__price small { font-weight: 400; font-size: .8em; }
.dh-pcard__price del { opacity: .55; }
.dh-pcard__price ins { text-decoration: none; }
.dh-pcard .dh-btn { margin-top: auto; padding: .7rem 1.6rem; font-size: .88rem; }
.dh-center { text-align: center; margin-top: clamp(2rem, 4vw, 3rem); }

/* ---------- 5. Торта по твой дизайн (като Classic Bakery) ----------
   Десктоп: картата е по-широка от останалото съдържание. Лявата част е
   три равни места, във всяко една торта (долу подравнени, без застъпване),
   вдясно е текстът. Височината на снимките следва ширината им, така че
   всичко се мащабира заедно. */
.dh-custom {
	display: grid;
	grid-template-columns: 1.75fr 1fr;
	align-items: stretch;
	border-radius: 32px;
	background: var(--dh-cream);
	color: inherit;
	overflow: hidden;
	transition: box-shadow .5s var(--dh-ease), transform .5s var(--dh-ease);
}
@media (min-width: 1100px) {
	.dh-custom { margin-inline: calc((100% - min(1560px, 100vw - 64px)) / 2); }
}
.dh-custom:hover {
	box-shadow: 0 24px 60px rgba(10, 5, 0, .13);
	transform: translateY(-4px);
}
.dh-custom__photos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	min-width: 0;
}
/* височина = 1/2.1 от ширината, без да променя ширината на колоната */
.dh-custom__photos::before {
	content: "";
	grid-area: 1 / 1 / 2 / 4;
	padding-top: 47.6%;
}
.dh-custom__photo {
	grid-row: 1;
	position: relative;
	min-height: 0;
}
.dh-custom__photo:nth-child(1) { grid-column: 1; }
.dh-custom__photo:nth-child(2) { grid-column: 2; }
.dh-custom__photo:nth-child(3) { grid-column: 3; }
.dh-custom__photo img {
	position: absolute;
	z-index: 1;
	bottom: var(--ib, 0);
	left: var(--il, 0);
	width: var(--iw, 100%);
	max-width: none;
	height: auto;
	transition: transform .9s var(--dh-ease);
}
/* тортата е ~94% от ширината на своето място (Замръзналото е високо - ограничено по височина) */
.dh-custom__photo:nth-child(1) { --iw: 126%; --il: -13%; --ib: 0%; }
.dh-custom__photo:nth-child(2) { --iw: 138%; --il: -16.7%; --ib: 3%; }
.dh-custom__photo:nth-child(3) { --iw: 100%; --il: 0%; --ib: -6%; }
.dh-custom:hover .dh-custom__photo img { transform: scale(1.04); }
.dh-custom__text {
	align-self: center;
	padding: clamp(1.4rem, 2.4vw, 2.4rem) clamp(1.2rem, 3vw, 3.4rem) clamp(1.4rem, 2.4vw, 2.4rem) clamp(1rem, 2vw, 2rem);
}
.dh-custom .dh-h2 { font-size: clamp(1.8rem, 2.9vw, 3rem); line-height: 1.15; }
.dh-custom__text p:not(.dh-eyebrow) {
	margin: 1.1rem 0 1.8rem;
	color: var(--dh-gray);
	line-height: 1.7;
	font-size: 1.05rem;
}

/* ---------- 6. Блог (като "Our Beliefs") ---------- */
.dh-blogsec { background: var(--dh-cream); color: var(--dh-ink); }
.dh-blog {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1rem, 2vw, 1.8rem);
}
.dh-bcard {
	display: flex;
	flex-direction: column;
	border-radius: var(--dh-radius);
	overflow: hidden;
	background: var(--dh-white);
	transition: transform .5s var(--dh-ease), box-shadow .5s var(--dh-ease);
}
.dh-bcard:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(10, 5, 0, .12); }
.dh-bcard__media {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.dh-bcard__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .9s var(--dh-ease);
}
.dh-bcard:hover .dh-bcard__media img { transform: scale(1.07); }
.dh-bcard__body {
	display: flex;
	flex-direction: column;
	gap: .7rem;
	padding: 1.5rem 1.6rem 1.8rem;
	flex: 1;
}
.dh-bcard__date {
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--dh-gray);
}
.dh-bcard__title {
	font-family: var(--dh-serif);
	font-size: clamp(1.15rem, 1.6vw, 1.4rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--dh-ink);
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.dh-bcard__more {
	margin-top: auto;
	padding-top: .6rem;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--dh-ink);
	border-bottom: 2px solid transparent;
	align-self: flex-start;
	transition: border-color .3s;
}
.dh-bcard:hover .dh-bcard__more { border-color: var(--dh-ink); }

/* ---------- 7. Обекти (преизползва .daga-scroller) ---------- */
.dh-obekti .daga-scroller-wrap { max-width: none; }

/* ---------- 8. Отзиви (като Classic Bakery) ---------- */
.dh-reviews { background: var(--dh-cream); }
.dh-rev {
	position: relative;
	max-width: 860px;
	margin: 0 auto;
	text-align: center;
}
.dh-rev__stage { display: grid; }
.dh-rev__item {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity .7s var(--dh-ease), transform .7s var(--dh-ease), visibility 0s linear .7s;
}
.dh-rev__item.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .7s var(--dh-ease), transform .7s var(--dh-ease), visibility 0s;
}
.dh-stars {
	display: inline-flex;
	gap: .25rem;
	margin-bottom: 1.4rem;
	color: var(--dh-ink);
}
.dh-stars svg { width: 20px; height: 20px; fill: currentColor; }
.dh-rev__quote {
	font-family: var(--dh-serif);
	font-style: italic;
	font-size: clamp(1.25rem, 2.6vw, 1.85rem);
	line-height: 1.5;
	font-weight: 500;
	color: var(--dh-ink);
}
.dh-rev__author {
	margin-top: 1.6rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-size: .85rem;
}
.dh-rev__author small {
	display: block;
	margin-top: .25rem;
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: none;
	color: var(--dh-gray);
}
.dh-rev__ui {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.2rem;
	margin-top: 2.2rem;
}
.dh-rev__ui .dh-dot { width: 10px; height: 10px; border-radius: 50%; }
.dh-rev__ui .dh-dot::after { animation: none !important; transform: scale(0); border-radius: 50%; transition: transform .3s; }
.dh-rev__ui .dh-dot.is-active::after { transform: scale(1); }

/* ---------- 8b. Отзиви - карусел от карти (истински отзиви от Google и Facebook) ---------- */
.dh-rscores {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .6rem 2.4rem;
	margin-top: 1.4rem;
	color: var(--dh-ink);
}
.dh-rscores span { display: inline-flex; align-items: baseline; gap: .45rem; font-size: 1rem; }
.dh-rscores b { font-family: var(--dh-serif); font-size: 1.7rem; line-height: 1; }
.dh-rscores small { display: block; width: 100%; font-size: .78rem; color: var(--dh-gray); }
.dh-rscores span { flex-wrap: wrap; justify-content: center; }
.dh-rcar { --rgap: 1.4rem; }
.dh-rcar__track {
	display: flex;
	gap: var(--rgap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 4px 0 6px;
}
.dh-rcar__track::-webkit-scrollbar { display: none; }
.dh-rcard {
	flex: 0 0 calc((100% - 2 * var(--rgap)) / 3);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	padding: 1.9rem 1.8rem 1.6rem;
	border-radius: var(--dh-radius);
	background: var(--dh-white);
	box-shadow: 0 2px 0 rgba(10, 5, 0, .03);
}
.dh-rcard .dh-stars { margin-bottom: 0; }
.dh-rcard .dh-stars svg { width: 18px; height: 18px; }
.dh-rcard__rec {
	align-self: flex-start;
	padding: .3rem .8rem;
	border-radius: 999px;
	background: var(--dh-cream);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.dh-rcard__text {
	flex: 1;
	font-family: var(--dh-serif);
	font-size: 1.08rem;
	line-height: 1.6;
	color: var(--dh-ink);
}
.dh-rcard__who { display: flex; align-items: center; gap: .8rem; padding-top: .3rem; }
.dh-rcard__av {
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--dh-cream);
	font-family: var(--dh-serif);
	font-weight: 700;
}
.dh-rcard__who b { display: block; font-size: .95rem; }
.dh-rcard__who small { display: block; font-size: .78rem; color: var(--dh-gray); }
.dh-rcar__ui { display: flex; justify-content: center; gap: 1rem; margin-top: 1.8rem; }
@media (max-width: 1000px) {
	.dh-rcard { flex-basis: calc((100% - var(--rgap)) / 2); }
}
@media (max-width: 640px) {
	.dh-rcar { --rgap: .8rem; }
	/* Следващата карта се подава отдясно - личи си, че има още. */
	.dh-rcard { flex-basis: 86%; padding: 1.5rem 1.4rem 1.3rem; gap: .9rem; }
	.dh-rcard__text { font-size: 1rem; line-height: 1.55; }
	/* Google и Facebook - две равни плочки една до друга, не един под друг. */
	.dh-rscores {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: .7rem;
		margin-top: 1.3rem;
	}
	.dh-rscores span {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: .15rem;
		padding: 1rem .6rem .9rem;
		border-radius: 18px;
		background: var(--dh-white);
		font-size: .82rem;
		line-height: 1.3;
		text-align: center;
	}
	.dh-rscores b { font-size: 2rem; }
	.dh-rscores small { margin-top: .25rem; font-size: .72rem; }
	/* Стрелките от героя са скрити на телефон - за отзивите ги връщаме. */
	.dh-rcar .dh-arrow { display: grid; width: 42px; height: 42px; }
	.dh-rcar__ui { margin-top: 1.3rem; }
}

/* ---------- Мобилни ---------- */
@media (max-width: 1000px) {
	.dh-tiles { grid-template-columns: repeat(2, 1fr); }
	.dh-products { grid-template-columns: repeat(2, 1fr); }
	.dh-blog { grid-template-columns: 1fr; }
	.dh-bcard { flex-direction: row; }
	.dh-bcard__media { flex: 0 0 42%; aspect-ratio: auto; min-height: 190px; }
	.dh-custom { grid-template-columns: 1fr; }
	.dh-custom__text { padding: 1.4rem 2rem 2.2rem; }
}
@media (max-width: 760px) {
	.dh-slide {
		grid-template-columns: 1fr;
		min-height: 0;
	}
	.dh-slide__media { order: -1; width: calc(100% - 1.8rem); margin: .9rem .9rem 0; border-radius: 22px; }
	.dh-slide__text { padding: 1.6rem 1.4rem 4.4rem; max-width: none; }
	.dh-slide__lead { margin-bottom: 1.4rem; }
	.dh-hero__ui { bottom: 1rem; }
	.dh-arrow { display: none; }
	.dh-bcard { flex-direction: column; }
	.dh-bcard__media { flex: none; aspect-ratio: 16 / 10; min-height: 0; }
	.dh-wrap { padding: 0 16px; }
	.dh-tile { aspect-ratio: 4 / 5; }
	.dh-tile img { padding: 6% 6% 26%; }
	.dh-tile__label { padding: 2.4rem .9rem .9rem; align-items: center; }
	.dh-tile__label h3 { font-size: 1.02rem; }
	.dh-tile__label small { display: none; }
	.dh-tile__go { width: 32px; height: 32px; }
}
@media (max-width: 480px) {
	.dh-products { gap: .8rem; }
	.dh-pcard__title { font-size: 1rem !important; }
	.dh-pcard .dh-btn { padding: .6rem 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
	.dh *, .dh *::before, .dh *::after {
		animation: none !important;
		transition-duration: .01ms !important;
	}
	.dh-js .dh-reveal { opacity: 1; transform: none; }
	.dh-slide__media img { transform: none !important; }
}

/* ---------- "Торта по твой дизайн" на телефон ----------
   Текстът е най-горе върху кремавия фон, под него три големи торти
   (изрезки без фон) се застъпват като колаж, всяка с меко пастелно петно.
   Бутонът е долу вдясно, където няма торта. Нищо не се плъзга. */
@media (max-width: 760px) {
	.dh-custom {
		display: flex;
		flex-direction: column;
		position: relative;
		margin-inline: 0;
		min-height: 0;
		padding: 1.6rem 1.3rem 0;
		border-radius: 28px;
	}
	.dh-custom:hover { transform: none; }
	.dh-custom__text {
		order: 1;
		position: static;
		padding: 0;
	}
	.dh-custom .dh-h2 {
		font-size: clamp(1.55rem, 6.6vw, 1.9rem);
		line-height: 1.2;
	}
	.dh-custom__text span[style*="line-height"] {
		font-size: .95rem !important;
		margin: .7rem 0 0 !important;
		line-height: 1.55 !important;
	}
	.dh-custom__photos {
		order: 2;
		display: block;
		position: relative;
		width: min(100%, 440px);
		aspect-ratio: 358 / 560;
		margin: 0 auto;
		pointer-events: none;
	}
	.dh-custom__photos::before { display: none; }
	.dh-custom__photo {
		position: absolute;
		min-height: 0;
		background: radial-gradient(closest-side, var(--bg) 55%, transparent 100%);
	}
	/* тортите над всички петна, за да не избледняват една друга */
	.dh-custom__photo img {
		position: relative;
		z-index: 1;
		display: block;
		left: auto;
		bottom: auto;
		width: 100%;
		height: auto;
		max-width: 100%;
	}
	/* лява колона: Алиса горе, рози долу; дясно: Замръзналото по средата между тях */
	.dh-custom__photo:nth-child(1) { left: -8%; top: 1%; width: 74%; }
	/* Замръзналото: вдясно, малко по-ниско */
	.dh-custom__photo:nth-child(2) { right: -20%; top: 25%; width: 80%; }
	/* Рози: долу вляво */
	.dh-custom__photo:nth-child(3) { left: -2%; bottom: 0; width: 54%; }
	.dh-custom .dh-btn {
		position: absolute;
		right: 1.3rem;
		bottom: 1.6rem;
		z-index: 2;
		width: 8.6rem;
		padding: .85rem .8rem;
		font-size: .88rem;
		line-height: 1.25;
		white-space: normal;
		text-align: center;
	}
	.dh-custom .dh-btn svg { display: none; }
}

/* ---------- Начална на телефон: първият екран ----------
   Хедърът + hero се побират точно във видимата част на телефона, така че
   лентата, която се върти, започва от долния ръб на екрана и бутонът се вижда
   без скрол. Снимката заема останалото място (не е вече фиксиран квадрат);
   текстът е по-дребен и с въздух, бутонът е близо до точките. Вътрешността на
   слайда: ред 1 снимка, ред 2 текст. Прозрачните PNG изрезки са цели (contain). */
@media (max-width: 760px) {
	.dh-slide {
		min-height: max(470px, calc(100svh - 120px));
		grid-template-rows: minmax(0, 1fr) auto;
	}
	.dh-slide__media {
		aspect-ratio: auto;
		align-self: stretch;
		min-height: 150px;
		margin: .7rem .9rem 0;
	}
	.dh-slide__media img[src$=".png"] {
		object-fit: contain;
		padding: 2%;
	}
	.dh-slide__text {
		padding: 1rem 1.4rem 2.2rem;
	}
	.dh .dh-slide__text .dh-eyebrow { margin-bottom: .5rem; }
	.dh .dh-slide__title {
		font-size: clamp(1.4rem, 6.3vw, 1.55rem);
		line-height: 1.12;
		margin-bottom: .7rem;
		text-wrap: balance;
	}
	.dh .dh-slide__lead {
		font-size: .94rem;
		line-height: 1.5;
		margin-bottom: 1.3rem;
	}
	.dh-slide__text .dh-btn { padding: .8rem 1.6rem; }
}

/* ============================================================
   Типографска система на началната (2026-10-04)
   Един мащаб за всички секции вместо отделни размери по места:
   - Lora (сериф) САМО за заглавия и големите числа, Open Sans за всичко друго;
   - три нива заглавия със съотношение ~1.3 / ~1.8 (преди ~1.1 / ~2.7);
   - един размер за водещ текст/основен/малък, един стил за етикетите.
   Стои най-отдолу, за да печели над старите стойности по-горе.
   ============================================================ */
.dh {
	--t-hero: clamp(1.7rem, 1.2rem + 2.4vw, 2.9rem);   /* ~27 -> 46px */
	--t-h2: clamp(1.45rem, 1.2rem + 1.3vw, 2.35rem);   /* ~23 -> 38px */
	--t-h3: clamp(1.05rem, 1rem + .3vw, 1.3rem);       /* ~17 -> 21px */
	--t-lead: clamp(.97rem, .94rem + .15vw, 1.0625rem); /* ~15.5 -> 17px */
	--t-body: 1rem;
	--t-small: .8125rem;
	--t-label: .75rem;
	--lh-body: 1.6;
	--ls-label: .14em;
	font-size: var(--t-body);
	line-height: var(--lh-body);
}
.dh h1, .dh h2, .dh h3 { font-weight: 600; text-wrap: balance; }

/* Заглавия - три нива */
.dh .dh-slide__title { font-size: var(--t-hero); line-height: 1.12; }
.dh .dh-h2,
.dh-custom .dh-h2 { font-size: var(--t-h2); line-height: 1.15; }
.dh .dh-tile__label h3,
.dh .dh-pcard__title,
.dh .dh-bcard__title,
.dh .daga-obekt__body h3,
.dh-sec h3 { font-size: var(--t-h3) !important; font-weight: 600; line-height: 1.3; }

/* Водещ и основен текст */
.dh .dh-slide__lead,
.dh .dh-sec__head p:not(.dh-eyebrow),
.dh .dh-custom__text p:not(.dh-eyebrow),
.dh .dh-custom__text span[style*="line-height"] {
	font-size: var(--t-lead) !important;
	line-height: var(--lh-body) !important;
}
.dh .dh-rcard__text {
	font-family: "Open Sans", sans-serif;
	font-size: var(--t-body);
	line-height: 1.65;
	font-weight: 400;
}

/* Етикети (над заглавия, дати, значки, обекти) - един стил */
.dh .dh-eyebrow,
.dh .dh-bcard__date,
.dh .dh-badge,
.dh .daga-obekt__meta {
	font-size: var(--t-label);
	font-weight: 600;
	letter-spacing: var(--ls-label);
}
.dh .dh-rcard__rec { font-size: var(--t-label); font-weight: 600; letter-spacing: .1em; }

/* Малък текст */
.dh .dh-tile__label small,
.dh .dh-rscores small,
.dh .dh-rcard__who small,
.dh .dh-rev__author small { font-size: var(--t-small); }
.dh .daga-obekt__hours { font-size: .875rem; line-height: 1.5; }

/* Бутони и връзки-действия */
.dh .dh-btn,
.dh .dh-pcard .dh-btn { font-size: .9375rem; font-weight: 600; }
.dh .dh-bcard__more { font-size: var(--t-small); font-weight: 600; letter-spacing: .08em; }
.dh .dh-pcard__price { font-size: 1rem; font-weight: 600; }
.dh .dh-rcard__who b { font-size: .9375rem; font-weight: 600; }

/* Големите числа в оценките - едно ниво на всички екрани */
.dh .dh-rscores b { font-size: clamp(1.6rem, 1.3rem + 1vw, 1.9rem); font-weight: 600; }

/* ---------- Hero на десктоп: по-едър текст, повече въздух (2026-10-04) ----------
   Само над 1000px - телефонът/таблетът остават както са. Колоната е по-широка
   (преди текстът висеше в средата на празно място), заглавието е по-голямо, а
   между заглавие, текст и бутон има ясни разстояния. */
@media (min-width: 1001px) {
	.dh-slide__text {
		max-width: 780px;
		padding-left: clamp(2rem, 5vw, 5.5rem);
		padding-right: clamp(2rem, 4vw, 4rem);
	}
	.dh .dh-slide__text .dh-eyebrow { margin-bottom: 1.1rem; font-size: .8rem; }
	.dh .dh-slide__title {
		font-size: clamp(2.6rem, 1.4rem + 2.6vw, 4rem);
		line-height: 1.1;
		margin-bottom: 1.6rem;
	}
	.dh .dh-slide__lead {
		font-size: clamp(1.1rem, .9rem + .5vw, 1.3rem) !important;
		line-height: 1.65 !important;
		max-width: 34rem;
		margin-bottom: 2.6rem;
	}
	.dh-slide__text .dh-btn { padding: 1.05rem 2.3rem; font-size: 1rem; }
}

/* Десктоп: слайдерът се мери от home-v2.js (fitHero) да влезе точно между хедъра и лентата,
   така че стрелките и точките са видими при зареждане. Текстът се смалява, ако не се събира. */
@media (min-width: 761px) {
	.dh-slide__text { zoom: var(--dh-fit, 1); }
}

/* ---------- Бестселъри на телефон/таблет (2 колони): Наоми горе, Кафяв еклер долу ----------
   Редът на десктоп (4 в ред) не се променя. Имената от две думи се чупят на два реда,
   за да са цените и бутоните на една линия с "Френска селска торта". */
.dh-pcard__title .dh-br { display: none; }
@media (max-width: 1000px) {
	.dh-products > .dh-pcard:nth-child(2) { order: 4; }
	.dh-products > .dh-pcard:nth-child(3) { order: 3; }
	.dh-products > .dh-pcard:nth-child(4) { order: 2; }
	.dh-pcard__title .dh-br { display: inline; }
}

/* ---------- 8c. Отзиви: голяма оценка, бели карти, аватари и икони на източника (2026-10-05) ---------- */
.dh .dh-reviews { background: var(--dh-cream); color: var(--dh-ink); }
.dh .dh-reviews .dh-eyebrow { color: var(--dh-gray); }
.dh .dh-reviews .dh-h2 { color: var(--dh-ink); }
.dh-rhead {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin: 0 0 clamp(1.8rem, 4vw, 2.6rem);
}
.dh-rhead__g { width: 34px; height: 34px; margin-bottom: .5rem; }
.dh-rhead__score {
	font-family: "Open Sans", sans-serif;
	font-size: clamp(3.4rem, 2.4rem + 3.4vw, 4.8rem);
	font-weight: 700;
	line-height: 1;
	color: #e07a52;
}
.dh-rhead__stars {
	position: relative;
	display: block;
	width: 140px;
	height: 26px;
	margin: .7rem 0 .8rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230a0500' fill-opacity='.14' d='M12 2l3.1 6.6 7.2.9-5.3 5 1.4 7.2L12 18.1 5.6 21.7 7 14.5 1.7 9.5l7.2-.9z'/%3E%3C/svg%3E") left center / 28px 26px repeat-x;
}
.dh-rhead__stars::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 88%; /* 4,4 от 5 */
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e07a52' d='M12 2l3.1 6.6 7.2.9-5.3 5 1.4 7.2L12 18.1 5.6 21.7 7 14.5 1.7 9.5l7.2-.9z'/%3E%3C/svg%3E") left center / 28px 26px repeat-x;
}
.dh-rhead p { margin: 0; }
.dh .dh-rhead__lbl { font-size: 1.05rem; font-weight: 600; color: var(--dh-ink); }
.dh .dh-rhead__fb { margin-top: .35rem; font-size: .9rem; color: var(--dh-gray); }
.dh-rhead__fb b { color: var(--dh-ink); font-weight: 600; }

.dh .dh-reviews .dh-rcard {
	gap: .85rem;
	padding: 1.5rem 1.6rem 1.7rem;
	border-radius: 20px;
	background: var(--dh-white);
	color: var(--dh-ink);
	box-shadow: 0 8px 26px rgba(10, 5, 0, .08);
}
/* заглавната редица (аватар, име, източник) отива най-горе */
.dh .dh-reviews .dh-rcard__who { order: -1; position: relative; padding: 0 2.2rem 0 0; }
.dh .dh-reviews .dh-rcard__av { width: 46px; height: 46px; background: #f0d9cb; color: #9a4128; font-family: "Open Sans", sans-serif; font-weight: 700; }
.dh .dh-reviews .dh-rcard__who::after {
	content: "";
	position: absolute;
	right: 0;
	top: 2px;
	width: 26px;
	height: 26px;
	background: center / contain no-repeat;
}
.dh .dh-reviews .dh-rcard--g .dh-rcard__who::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.1H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.8 1.2 8 3l5.7-5.7C34 6.1 29.3 4 24 4 13 4 4 13 4 24s9 20 20 20 20-9 20-20c0-1.3-.1-2.6-.4-3.9z'/%3E%3Cpath fill='%23FF3D00' d='M6.3 14.7l6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.8 1.2 8 3l5.7-5.7C34 6.1 29.3 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-8l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.1H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C37 39.2 44 34 44 24c0-1.3-.1-2.6-.4-3.9z'/%3E%3C/svg%3E");
}
.dh .dh-reviews .dh-rcard--fb .dh-rcard__who::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231877F2' d='M24 12a12 12 0 1 0-13.9 11.9v-8.4H7.1V12h3V9.4c0-3 1.8-4.7 4.5-4.7 1.3 0 2.7.2 2.7.2v3h-1.5c-1.5 0-2 .9-2 1.9V12h3.4l-.5 3.5h-2.9v8.4A12 12 0 0 0 24 12z'/%3E%3C/svg%3E");
}
.dh .dh-reviews .dh-rcard .dh-stars { color: #e07a52; }
.dh .dh-reviews .dh-rcard__rec { background: rgba(224, 122, 82, .16); color: #8f3f27; }

/* стрелките: тъмни кръгове на ръба на лентата с карти (на десктоп и таблет) */
.dh .dh-reviews .dh-arrow {
	display: grid;
	width: 46px;
	height: 46px;
	background: #0a0500;
	color: #fff;
	border: 0;
	box-shadow: 0 4px 14px rgba(10, 5, 0, .25);
}
/* hover само там, където има мишка: на телефон :hover остава залепен след докосване (оранжево, което не се връща) - там е само :active */
@media (hover: hover) { .dh .dh-reviews .dh-arrow:hover { background: #e07a52; border-color: #e07a52; color: #fff; } }
.dh .dh-reviews .dh-arrow:active { background: #e07a52; border-color: #e07a52; color: #fff; }
@media (min-width: 641px) {
	.dh-rcar { position: relative; }
	.dh-rcar__ui {
		position: absolute;
		inset: 0;
		margin: 0;
		justify-content: space-between;
		align-items: center;
		pointer-events: none;
	}
	.dh-rcar__ui .dh-arrow { pointer-events: auto; }
	.dh-rcar__prev { margin-left: -23px; }
	.dh-rcar__next { margin-right: -23px; }
}

/* ---------- "Нашите обекти" заема точно един екран ----------
   При клик на "Нашите обекти" скролът слага горния ръб на секцията най-горе (виж fitObekti в carousel.js),
   а секцията е висока колкото екрана - така се вижда само тя, без съседните блокове.
   Горният падинг е под плаващия хедър; съдържанието е центрирано във видимата част. */
#nashite-obekti.dh-obekti {
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 140px;
	padding-bottom: clamp(2rem, 4vw, 3.5rem);
	scroll-margin-top: 0;
}
#nashite-obekti.dh-obekti > .dh-wrap { width: 100%; }
@media (max-width: 760px) {
	#nashite-obekti.dh-obekti { padding-top: 84px; padding-bottom: 2rem; }
}

/* ---------- "Фото торта" - карта между категориите и любимите торти ----------
   Вляво текст, вдясно тортата със "Снимка тук" и бутонът под нея вдясно.
   На телефон: торта, текст, бутон на цяла ширина. */
.dh-foto {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	align-items: center;
	gap: clamp(.5rem, 2vw, 2rem);
	padding: clamp(1.6rem, 3vw, 3rem) clamp(1.4rem, 3.4vw, 3.6rem);
	border-radius: 32px;
	background: var(--dh-cream);
	color: inherit;
	overflow: hidden;
	transition: box-shadow .5s var(--dh-ease), transform .5s var(--dh-ease);
}
@media (min-width: 1100px) {
	.dh-foto { margin-inline: calc((100% - min(1560px, 100vw - 64px)) / 2); }
}
.dh-foto:hover {
	box-shadow: 0 24px 60px rgba(10, 5, 0, .13);
	transform: translateY(-4px);
}
.dh-foto .dh-h2 { font-size: clamp(1.8rem, 2.9vw, 3rem); line-height: 1.15; }
.dh-foto__p {
	display: block;
	max-width: 24rem;
	margin: 1.1rem 0 0;
	color: var(--dh-gray);
	line-height: 1.7;
	font-size: 1.05rem;
}
.dh-foto__media {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .3rem;
}
.dh-foto__media img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .6s var(--dh-ease);
}
.dh-foto:hover .dh-foto__media img { transform: scale(1.03); }
@media (max-width: 760px) {
	.dh-foto {
		display: flex;
		flex-direction: column;
		padding: 1rem 1.3rem 1.6rem;
		border-radius: 28px;
		text-align: center;
	}
	.dh-foto:hover { transform: none; }
	.dh-foto__media { display: contents; }
	.dh-foto__media img { order: 1; margin: 0 -.4rem; width: calc(100% + .8rem); }
	.dh-foto__text { order: 2; }
	.dh-foto .dh-h2 { font-size: clamp(1.55rem, 6.6vw, 1.9rem); }
	.dh-foto__p { margin: .7rem auto 0; font-size: .95rem; line-height: 1.55; }
	.dh-foto .dh-btn { order: 3; align-self: stretch; margin-top: 1.2rem; }
}
