/* ==========================================================================
   Sursum Corda: sustav dizajna (ds) 2026
   Zamjenjuje main.css na stranicama koje su prebačene (body.ds).
   Načela: mirna bijela podloga, lijevo poravnanje, jedan glavni poziv po ekranu,
   crvena samo za radnju, plava za odabir i fokus, ritam razmaka 8/16/24/32/48/96.
   ========================================================================== */

@font-face { font-display: swap; font-family: "Montserrat"; font-weight: 400; src: url("../fonts/montserrat-v26-latin_latin-ext-regular.woff2") format("woff2"); }
@font-face { font-display: swap; font-family: "Montserrat"; font-weight: 500; src: url("../fonts/montserrat-v26-latin_latin-ext-500.woff2") format("woff2"); }
@font-face { font-display: swap; font-family: "Montserrat"; font-weight: 600; src: url("../fonts/montserrat-v26-latin_latin-ext-600.woff2") format("woff2"); }
@font-face { font-display: swap; font-family: "Montserrat"; font-weight: 700; src: url("../fonts/montserrat-v26-latin_latin-ext-700.woff2") format("woff2"); }
@font-face { font-display: swap; font-family: "Montserrat"; font-weight: 800; src: url("../fonts/montserrat-v26-latin_latin-ext-800.woff2") format("woff2"); }
@font-face { font-display: swap; font-family: "Cinzel"; font-weight: 600; src: url("../fonts/cinzel-v23-latin_latin-ext-600.woff2") format("woff2"); }

:root {
	/* boje */
	--ds-ink: #231f20;
	--ds-ink-2: #55575f;
	--ds-line: #e3e3ea;
	--ds-surface: #f6f6f9;
	--ds-surface-warm: #fbf1f2;
	--ds-white: #fff;
	--ds-red: #d6434e;
	--ds-red-ink: #b8323d;      /* poveznice i tekst u crvenoj (kontrast) */
	--ds-blue: #4c5695;
	--ds-primary: var(--ds-red);
	--ds-accent: var(--ds-blue);
	--ds-heading-font: "Montserrat", system-ui, sans-serif;

	/* tipografija (1.25 skala, osnova 17px) */
	--ds-fs-sm: .875rem;
	--ds-fs-base: 1.0625rem;
	--ds-fs-md: 1.25rem;
	--ds-fs-lg: 1.5rem;
	--ds-fs-xl: clamp(1.75rem, 1.3rem + 2vw, 2.5rem);
	--ds-fs-2xl: clamp(2rem, 1.4rem + 3vw, 3.25rem);

	/* razmaci */
	--ds-1: .5rem; --ds-2: 1rem; --ds-3: 1.5rem; --ds-4: 2rem; --ds-5: 2.5rem; --ds-6: 3rem; --ds-8: 4rem; --ds-12: 6rem;
	--ds-section: var(--ds-6);
	--ds-gutter: 1.25rem;
	--ds-max: 1200px;
	--ds-radius: 20px;
	--ds-radius-sm: 12px;
	--ds-header-h: 64px;
	--ds-bar-h: 64px;
}
@media (min-width: 1024px) {
	:root { --ds-section: var(--ds-12); --ds-gutter: 2rem; --ds-header-h: 80px; --ds-bar-h: 80px; }
}
body.ds.beauty {
	--ds-primary: #194337;
	--ds-accent: #194337;
	--ds-red-ink: #194337;
	--ds-surface: #f3f1ed;
	--ds-surface-warm: #f3f1ed;
	--ds-heading-font: "Cinzel", Georgia, serif;
}

/* ---------- osnova ---------- */

body.ds { margin: 0; background: var(--ds-white); color: var(--ds-ink); font-family: "Montserrat", system-ui, sans-serif; font-size: var(--ds-fs-base); line-height: 1.6; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(body.ds) *, :where(body.ds) *::before, :where(body.ds) *::after { box-sizing: border-box; }
:where(body.ds) img { max-width: 100%; height: auto; display: block; }
:where(body.ds) a { color: var(--ds-accent); text-underline-offset: 3px; }
:where(body.ds) :focus-visible { outline: 3px solid var(--ds-accent); outline-offset: 2px; border-radius: 4px; }
:where(body.ds) :where(h1, h2, h3) { margin: 0; font-family: var(--ds-heading-font); color: var(--ds-ink); text-wrap: balance; -webkit-hyphens: manual; hyphens: manual; }
:where(body.ds) h1 { font-size: var(--ds-fs-2xl); font-weight: 800; line-height: 1.12; letter-spacing: -.01em; }
:where(body.ds) h2 { font-size: var(--ds-fs-xl); font-weight: 800; line-height: 1.2; }
:where(body.ds) h3 { font-size: var(--ds-fs-md); font-weight: 700; line-height: 1.3; }
:where(body.ds) p { margin: 0 0 var(--ds-2); }
.ds-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ds-skip { position: absolute; left: -9999px; top: 0; z-index: 2000; padding: .75rem 1rem; background: var(--ds-ink); color: #fff !important; }
.ds-skip:focus { left: 1rem; top: 1rem; }

.ds-wrap { width: 100%; max-width: calc(var(--ds-max) + 2 * var(--ds-gutter)); margin: 0 auto; padding: 0 var(--ds-gutter); }
.ds-section { padding: var(--ds-section) 0; }
.ds-section--soft { background: var(--ds-surface); }
.ds-section__head { max-width: 46rem; margin-bottom: var(--ds-4); }
.ds-section__head p { margin: var(--ds-1) 0 0; color: var(--ds-ink-2); font-size: var(--ds-fs-md); line-height: 1.5; }
.ds-muted { color: var(--ds-ink-2); }

/* ---------- gumbi ---------- */

.ds-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	min-height: 48px; padding: .75rem 1.5rem; border-radius: 999px; border: 2px solid transparent;
	font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.ds-btn--primary { background: var(--ds-primary); color: #fff !important; }
.ds-btn--primary:hover { background: color-mix(in srgb, var(--ds-primary) 88%, #000); }
.ds-btn--secondary { border-color: var(--ds-accent); color: var(--ds-accent) !important; background: #fff; }
.ds-btn--secondary:hover { background: color-mix(in srgb, var(--ds-accent) 8%, #fff); }
.ds-btn--block { display: flex; width: 100%; }
.ds-link { font-weight: 600; color: var(--ds-accent); }
.ds-icon { width: 18px; height: 18px; flex: 0 0 18px; fill: currentColor; }

/* ---------- zaglavlje ---------- */

.ds-header { position: sticky; top: 0; z-index: 1000; background: #fff; border-bottom: 1px solid var(--ds-line); }
.ds-header__bar { display: flex; align-items: center; gap: var(--ds-2); height: var(--ds-bar-h); } /* ne --ds-header-h: nju JS mjeri iz stvarnog zaglavlja */
.ds-logo { display: inline-flex; align-items: center; flex: 0 0 auto; margin-right: auto; }
body.ds .ds-logo img { height: 40px; width: auto; max-width: none; }
@media (min-width: 1024px) { body.ds .ds-logo img { height: 48px; } }
.ds-logo__text { font-family: "Cinzel", serif; font-weight: 600; font-size: 1.25rem; color: #194337; text-decoration: none; }
.ds-nav { display: none; }
.ds-header__phone { display: none; }
.ds-header__cta { display: none; }
.ds-menu-btn { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem .9rem; border: 1px solid var(--ds-line); border-radius: 999px; background: #fff; font: inherit; font-weight: 600; font-size: .95rem; color: var(--ds-ink); cursor: pointer; }
.ds-menu-btn__lines { display: grid; gap: 4px; width: 18px; }
.ds-menu-btn__lines span { height: 2px; background: currentColor; border-radius: 2px; }
@media (min-width: 1024px) {
	.ds-menu-btn { display: none; }
	.ds-nav { display: flex; align-items: center; gap: var(--ds-3); margin-right: var(--ds-3); }
	.ds-nav a, .ds-nav button { font: inherit; font-size: .95rem; font-weight: 600; color: var(--ds-ink); text-decoration: none; background: none; border: 0; padding: .5rem 0; cursor: pointer; }
	.ds-nav a:hover, .ds-nav button:hover { color: var(--ds-red-ink); }
	.ds-header__phone { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--ds-ink); text-decoration: none; white-space: nowrap; }
	.ds-header__cta { display: inline-flex; }
}

/* izbornik (mobitel: preko cijelog ekrana; desktop: panel usluga) */
.ds-menu { position: fixed; inset: 0; z-index: 1100; display: none; flex-direction: column; background: #fff; overflow-y: auto; }
.ds-menu.is-open { display: flex; }
.ds-menu__top { position: sticky; top: 0; display: flex; align-items: center; gap: var(--ds-2); padding: .75rem var(--ds-gutter); background: #fff; border-bottom: 1px solid var(--ds-line); }
.ds-menu__close { margin-left: auto; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--ds-line); border-radius: 999px; background: #fff; font: inherit; font-weight: 600; cursor: pointer; }
.ds-menu__body { width: 100%; max-width: var(--ds-max); margin: 0 auto; padding: var(--ds-3) var(--ds-gutter) var(--ds-8); }
.ds-search { position: relative; margin-bottom: var(--ds-3); }
.ds-search input { width: 100%; min-height: 52px; padding: .8rem 1rem .8rem 2.75rem; border: 1.5px solid var(--ds-line); border-radius: var(--ds-radius-sm); font: inherit; font-size: 16px; }
.ds-search input:focus { outline: none; border-color: var(--ds-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-accent) 20%, transparent); }
.ds-search svg { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; fill: var(--ds-ink-2); }
.ds-services { display: grid; gap: var(--ds-3); }
@media (min-width: 768px) { .ds-services { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ds-services { grid-template-columns: repeat(3, 1fr); } }
.ds-services__area h3 { margin-bottom: .5rem; font-size: 1rem; }
.ds-services__area h3 a { color: var(--ds-ink); text-decoration: none; }
.ds-services__area ul { list-style: none; margin: 0; padding: 0; }
.ds-services__area li a { display: block; padding: .4rem 0; color: var(--ds-ink-2); text-decoration: none; }
.ds-services__area li a:hover { color: var(--ds-red-ink); }
.ds-services__empty { color: var(--ds-ink-2); }
.ds-menu__links { display: grid; gap: .25rem; margin: var(--ds-4) 0 0; padding: var(--ds-3) 0 0; border-top: 1px solid var(--ds-line); list-style: none; }
.ds-menu__links a { display: block; padding: .6rem 0; font-weight: 700; color: var(--ds-ink); text-decoration: none; font-size: 1.1rem; }
.ds-menu__contact { display: grid; gap: .75rem; margin-top: var(--ds-4); }

/* ---------- uslužna stranica: hero ---------- */

.ds-crumbs { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0 0 var(--ds-2); padding: 0; list-style: none; font-size: var(--ds-fs-sm); color: var(--ds-ink-2); }
.ds-crumbs a { color: var(--ds-ink-2); }
.ds-crumbs li + li::before { content: "/"; margin-right: .5rem; color: var(--ds-line); }

.ds-hero { padding: var(--ds-4) 0 var(--ds-section); }
.ds-hero__grid { display: grid; gap: var(--ds-4); align-items: start; }
@media (min-width: 1024px) {
	.ds-hero { padding-top: var(--ds-8); }
	.ds-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ds-8); }
}
.ds-hero__lead { max-width: 40rem; margin: var(--ds-2) 0 0; font-size: 1.0625rem; line-height: 1.55; color: var(--ds-ink-2); }
.ds-rating { display: inline-flex; align-items: center; gap: .5rem; margin-top: var(--ds-3); font-size: var(--ds-fs-sm); font-weight: 600; color: var(--ds-ink); text-decoration: none; }
.ds-rating__stars { color: #e6a23c; letter-spacing: 2px; font-size: 1rem; }
.ds-hero__media { margin-top: var(--ds-4); border-radius: var(--ds-radius); overflow: hidden; aspect-ratio: 4 / 3; background: var(--ds-surface); }
.ds-hero__media img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023px) { .ds-hero__media { display: none; } }

/* kartica cijena (jedini istaknuti element u heroju) */
.ds-price-card { padding: var(--ds-3); border: 1px solid var(--ds-line); border-radius: var(--ds-radius); background: #fff; box-shadow: 0 12px 32px -18px rgba(35, 31, 32, .25); }
@media (min-width: 1024px) { .ds-price-card { position: sticky; top: calc(var(--ds-header-h) + var(--ds-3)); padding: var(--ds-4); } }
.ds-price-card__title { margin: 0 0 var(--ds-2); font-size: 1rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-prices { margin: 0 0 var(--ds-3); padding: 0; list-style: none; }
.ds-prices li { display: grid; grid-template-columns: 1fr auto; gap: .15rem 1rem; align-items: baseline; padding: .85rem 0; border-bottom: 1px solid var(--ds-line); }
.ds-prices li:first-child { padding-top: 0; }
.ds-prices__label { font-weight: 500; line-height: 1.35; }
.ds-prices__value { font-weight: 800; font-size: 1.125rem; white-space: nowrap; }
.ds-prices__old { grid-column: 2; justify-self: end; font-size: .85rem; color: var(--ds-ink-2); text-decoration: line-through; }
.ds-prices__anchor { grid-column: 1 / -1; font-size: .78rem; color: var(--ds-ink-2); }
.ds-price-card__actions { display: grid; gap: .75rem; }
.ds-price-card__note { margin: var(--ds-2) 0 0; font-size: var(--ds-fs-sm); color: var(--ds-ink-2); }
.ds-price-card__note a { color: var(--ds-ink-2); }

/* ---------- prednosti iz recenzija ---------- */

.ds-benefits > li { margin: 0; }
.ds-benefits { display: grid; gap: var(--ds-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .ds-benefits { grid-template-columns: repeat(3, 1fr); } }
.ds-benefit { margin: 0; height: 100%; display: flex; flex-direction: column; gap: var(--ds-2); padding: var(--ds-3); border-radius: var(--ds-radius); background: #fff; border: 1px solid var(--ds-line); }
.ds-section--soft .ds-benefit { border-color: transparent; }
.ds-benefit h3 { font-size: 1.15rem; }
.ds-benefit blockquote { margin: 0; color: var(--ds-ink-2); font-size: .98rem; line-height: 1.55; }
.ds-benefit figcaption { margin-top: auto; font-size: var(--ds-fs-sm); font-weight: 600; color: var(--ds-ink); }
.ds-benefit figcaption span { font-weight: 400; color: var(--ds-ink-2); }
.ds-benefits-foot { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ds-2); margin-top: var(--ds-4); }

/* ---------- sadržaj ---------- */

.ds-toc { display: flex; gap: .5rem; overflow-x: auto; margin: 0 0 var(--ds-4); padding: 0 0 .25rem; list-style: none; scrollbar-width: thin; }
.ds-toc a { display: inline-flex; align-items: center; min-height: 40px; padding: .4rem .9rem; border: 1px solid var(--ds-line); border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--ds-ink); text-decoration: none; white-space: nowrap; background: #fff; }
.ds-toc a:hover { border-color: var(--ds-accent); color: var(--ds-accent); }
.ds-prose { max-width: 44rem; }
.ds-prose section + section { margin-top: var(--ds-6); }
.ds-prose h2 { margin-bottom: var(--ds-2); font-size: var(--ds-fs-lg); scroll-margin-top: calc(var(--ds-header-h) + 1rem); }
.ds-prose ul, .ds-prose ol { padding-left: 1.25rem; margin: 0 0 var(--ds-2); }
.ds-prose li { margin-bottom: .4rem; }
.ds-prose a { color: var(--ds-accent); }
.ds-prose strong { font-weight: 700; }
.ds-prose img { border-radius: var(--ds-radius-sm); }

/* ---------- tim ---------- */

.ds-team { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 80%); gap: var(--ds-3); overflow-x: auto; margin: 0; padding: 0 0 var(--ds-1); list-style: none; scroll-snap-type: x mandatory; }
@media (min-width: 768px) { .ds-team { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); overflow: visible; } }
.ds-person { scroll-snap-align: start; display: flex; flex-direction: column; gap: .75rem; }
.ds-person__photo { aspect-ratio: 1 / 1; border-radius: var(--ds-radius); overflow: hidden; background: var(--ds-surface); }
.ds-person__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ds-person h3 { font-size: 1.1rem; }
.ds-person p { margin: 0; font-size: .95rem; color: var(--ds-ink-2); }
.ds-person a { color: inherit; text-decoration: none; }

/* ---------- česta pitanja ---------- */

.ds-faq { max-width: 46rem; border-top: 1px solid var(--ds-line); }
.ds-faq details { border-bottom: 1px solid var(--ds-line); }
.ds-faq summary { display: flex; justify-content: space-between; gap: var(--ds-2); padding: var(--ds-3) 0; font-weight: 700; font-size: 1.05rem; cursor: pointer; list-style: none; }
.ds-faq summary::-webkit-details-marker { display: none; }
.ds-faq summary::after { content: "+"; flex: 0 0 auto; font-size: 1.5rem; line-height: 1; color: var(--ds-accent); }
.ds-faq details[open] summary::after { content: "–"; }
.ds-faq__answer { padding: 0 0 var(--ds-3); color: var(--ds-ink-2); }

/* ---------- upit ---------- */

.ds-inquiry { display: grid; gap: var(--ds-4); align-items: start; }
@media (min-width: 1024px) { .ds-inquiry { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--ds-8); } }
.ds-steps { margin: var(--ds-3) 0 0; padding: 0; list-style: none; counter-reset: ds-step; display: grid; gap: var(--ds-2); }
.ds-steps li { counter-increment: ds-step; display: grid; grid-template-columns: 2rem 1fr; gap: .75rem; align-items: start; }
.ds-steps li::before { content: counter(ds-step); display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--ds-surface); font-weight: 800; font-size: .9rem; color: var(--ds-ink); }
.ds-section--soft .ds-steps li::before { background: #fff; }
.ds-inquiry__card { padding: var(--ds-3); border-radius: var(--ds-radius); background: #fff; border: 1px solid var(--ds-line); scroll-margin-top: calc(var(--ds-header-h) + 1rem); }
@media (min-width: 1024px) { .ds-inquiry__card { padding: var(--ds-4); } }
.ds-inquiry__aside-contact { margin-top: var(--ds-4); display: grid; gap: .5rem; font-weight: 600; }
.ds-inquiry__aside-contact a { color: var(--ds-ink); text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }

/* ---------- članci ---------- */

.ds-cards { display: grid; gap: var(--ds-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .ds-cards { grid-template-columns: repeat(3, 1fr); } }
.ds-card { display: flex; flex-direction: column; gap: .75rem; }
.ds-card__img { aspect-ratio: 16 / 10; border-radius: var(--ds-radius-sm); overflow: hidden; background: var(--ds-surface); }
.ds-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ds-card h3 { font-size: 1.05rem; line-height: 1.35; }
.ds-card a { color: var(--ds-ink); text-decoration: none; }
.ds-card a:hover h3 { color: var(--ds-red-ink); }

/* ---------- podnožje ---------- */

.ds-footer { background: var(--ds-ink); color: #d9d9de; padding: var(--ds-8) 0 calc(var(--ds-4) + 72px); font-size: .95rem; }
@media (min-width: 1024px) { .ds-footer { padding-bottom: var(--ds-4); } }
.ds-footer a { color: #fff; text-decoration: none; }
.ds-footer a:hover { text-decoration: underline; }
.ds-footer__grid { display: grid; gap: var(--ds-4); }
@media (min-width: 768px) { .ds-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ds-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.ds-footer h2 { margin: 0 0 var(--ds-2); font-size: 1rem; color: #fff; }
.ds-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
body.ds .ds-footer__brand img { height: 48px; width: auto; filter: brightness(0) invert(1); margin-bottom: var(--ds-2); }
.ds-footer__contact { display: grid; gap: .35rem; }
.ds-footer__bottom { display: flex; flex-wrap: wrap; gap: var(--ds-2) var(--ds-4); justify-content: space-between; margin-top: var(--ds-6); padding-top: var(--ds-3); border-top: 1px solid rgba(255, 255, 255, .15); font-size: var(--ds-fs-sm); color: #a9aab2; }
.ds-footer__bottom a { color: #a9aab2; }

/* ---------- traka s pozivom (mobitel) ---------- */

.ds-actionbar { display: none; }
@media (max-width: 1023px) {
	.ds-actionbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: grid; grid-template-columns: auto 1fr 1.4fr; gap: .5rem; padding: .5rem .75rem calc(.5rem + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -4px 16px rgba(35, 31, 32, .1); transition: transform .2s ease; }
	.ds-actionbar.is-hidden { transform: translateY(110%); }
	.ds-actionbar a { min-height: 48px; padding: .5rem .9rem; font-size: .95rem; }
	.ds-actionbar__wa { width: 48px; padding: 0 !important; border-radius: 50%; background: #25d366; color: #fff !important; display: inline-flex; align-items: center; justify-content: center; }
	.ds-actionbar__wa svg { width: 24px; height: 24px; fill: #fff; }
}
@media (prefers-reduced-motion: reduce) { body.ds * { transition: none !important; scroll-behavior: auto !important; } }

/* ---------- paketi ---------- */

.ds-chips { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .25rem; margin-bottom: var(--ds-3); }
.ds-chip { flex: 0 0 auto; min-height: 44px; padding: .5rem 1rem; border: 1.5px solid var(--ds-line); border-radius: 999px; background: #fff; font: inherit; font-size: .95rem; font-weight: 600; color: var(--ds-ink); cursor: pointer; white-space: nowrap; }
.ds-chip[aria-selected="true"] { background: var(--ds-accent); border-color: var(--ds-accent); color: #fff; }
.ds-package { padding: var(--ds-3); border-radius: var(--ds-radius); background: #fff; }
@media (min-width: 1024px) { .ds-package { padding: var(--ds-4); } }
.ds-package__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: var(--ds-2); }
.ds-package__list { list-style: none; margin: 0 0 var(--ds-3); padding: 0; columns: 1; }
@media (min-width: 768px) { .ds-package__list { columns: 2; column-gap: var(--ds-4); } }
.ds-package__list li { break-inside: avoid; border-bottom: 1px solid var(--ds-line); }
.ds-package__list summary, .ds-package__list span { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; font-weight: 500; list-style: none; cursor: pointer; }
.ds-package__list span { cursor: default; }
.ds-package__list summary::-webkit-details-marker { display: none; }
.ds-package__list summary::after { content: "?"; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--ds-line); font-size: .8rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-package__list details[open] summary::after { content: "–"; }
.ds-package__list details p { margin: 0 0 .75rem; font-size: .92rem; color: var(--ds-ink-2); }
.ds-before-after { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-2); }
.ds-before-after figure { margin: 0; }
.ds-before-after img { border-radius: var(--ds-radius-sm); }

@media (min-width: 768px) { .ds-hero__lead { font-size: var(--ds-fs-md); } }

/* ---------- kontakt ---------- */

.ds-contact-ways { display: grid; gap: var(--ds-2); margin: var(--ds-4) 0 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .ds-contact-ways { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ds-contact-ways { grid-template-columns: repeat(4, 1fr); } }
.ds-contact-way { display: flex; gap: .75rem; align-items: flex-start; height: 100%; padding: var(--ds-3); border: 1px solid var(--ds-line); border-radius: var(--ds-radius); color: var(--ds-ink); text-decoration: none; }
.ds-contact-way:hover { border-color: var(--ds-accent); }
.ds-contact-way .ds-icon { margin-top: 3px; color: var(--ds-accent); }
.ds-contact-way span { display: grid; gap: .15rem; }
.ds-contact-way strong { font-size: .85rem; color: var(--ds-ink-2); font-weight: 600; }
.ds-directions { display: grid; gap: var(--ds-4); }
@media (min-width: 1024px) { .ds-directions { grid-template-columns: 1fr 1fr; align-items: start; } }
.ds-info-cards { display: grid; gap: var(--ds-2); margin: 0; padding: 0; list-style: none; }
.ds-info-card { padding: var(--ds-3); border-radius: var(--ds-radius); background: var(--ds-surface); }
.ds-info-card h3 { margin-bottom: .35rem; font-size: 1.05rem; }
.ds-info-card p { margin: 0 0 .5rem; color: var(--ds-ink-2); }
.ds-map { display: grid; gap: .75rem; justify-items: start; align-content: center; min-height: 260px; padding: var(--ds-3); border-radius: var(--ds-radius); background: var(--ds-surface); }
.ds-map p { margin: 0; color: var(--ds-ink-2); }
.ds-map.is-loaded { display: block; padding: 0; overflow: hidden; }
.ds-map iframe { display: block; width: 100%; height: 360px; border: 0; }

/* ---------- cjenik ---------- */

.ds-pricelist { padding-bottom: var(--ds-section); }
.ds-pricelist__tools { position: sticky; top: var(--ds-header-h); z-index: 10; padding: var(--ds-2) 0 .25rem; background: rgba(255, 255, 255, .96); backdrop-filter: blur(6px); border-bottom: 1px solid var(--ds-line); margin-bottom: var(--ds-4); }
.ds-pricelist__tools .ds-search { margin-bottom: .75rem; }
.ds-pricelist__tools .ds-chips { margin-bottom: .5rem; }
.ds-chip[aria-pressed="true"] { background: var(--ds-accent); border-color: var(--ds-accent); color: #fff; }
.ds-pl-group { scroll-margin-top: calc(var(--ds-header-h) + 140px); }
.ds-pl-group + .ds-pl-group { margin-top: var(--ds-6); }
.ds-pl-group h2 { font-size: var(--ds-fs-lg); margin-bottom: var(--ds-2); }
.ds-pl-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ds-line); }
.ds-pl-item { display: grid; grid-template-columns: 1fr auto; gap: .5rem 1.5rem; align-items: start; padding: .9rem 0; border-bottom: 1px solid var(--ds-line); }
.ds-pl-item__name { display: grid; gap: .2rem; }
.ds-pl-item__name a { color: var(--ds-ink); text-decoration: none; font-weight: 500; }
.ds-pl-item__name a:hover { color: var(--ds-red-ink); text-decoration: underline; }
.ds-pl-item__price { display: grid; justify-items: end; gap: .15rem; text-align: right; }
.ds-pl-item__price strong { font-weight: 800; white-space: nowrap; }
.ds-pl-item__price s { font-size: .85rem; color: var(--ds-ink-2); }
.ds-pl-item__ask { font-size: .875rem; font-weight: 700; color: var(--ds-red-ink); }
.ds-pl-foot { margin-top: var(--ds-6); font-size: var(--ds-fs-sm); }
@media (max-width: 767px) {
	.ds-contact-ways { gap: .5rem; }
	.ds-contact-way { padding: .85rem 1rem; align-items: center; }
	.ds-contact-way span { gap: 0; }
}

/* ---------- naslovnica, područja, kartice usluga ---------- */

.ds-section--tight { padding-top: 0; }
.ds-home-hero { padding-bottom: var(--ds-6); }
.ds-home-hero h1 { max-width: 18ch; }
.ds-home-search { display: grid; gap: .75rem; max-width: 40rem; margin-top: var(--ds-4); }
@media (min-width: 600px) { .ds-home-search { grid-template-columns: 1fr auto; } }
.ds-home-search .ds-search { margin: 0; }
.ds-home-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin-top: var(--ds-3); }

.ds-svc-grid, .ds-area-grid { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 600px) { .ds-svc-grid, .ds-area-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ds-svc-grid, .ds-area-grid { grid-template-columns: repeat(3, 1fr); gap: var(--ds-2); } }
.ds-svc-card, .ds-area { display: grid; gap: .25rem; height: 100%; padding: var(--ds-3); border: 1px solid var(--ds-line); border-radius: var(--ds-radius); background: #fff; color: var(--ds-ink); text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease; }
.ds-svc-card:hover, .ds-area:hover { border-color: var(--ds-accent); box-shadow: 0 8px 24px -16px rgba(35, 31, 32, .35); }
.ds-svc-card__area { font-size: .8rem; font-weight: 600; color: var(--ds-ink-2); }
.ds-svc-card__title, .ds-area__name { font-size: 1.1rem; font-weight: 700; line-height: 1.3; }
.ds-svc-card__price { margin-top: .35rem; font-weight: 700; color: var(--ds-red-ink); }

/* ---------- blog ---------- */

.ds-article { max-width: calc(46rem + 2 * var(--ds-gutter)); }
.ds-article-hero { padding-bottom: var(--ds-4); }
.ds-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.25rem; margin: var(--ds-3) 0 0; font-size: var(--ds-fs-sm); color: var(--ds-ink-2); }
.ds-article-meta__author { display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; color: var(--ds-ink); }
.ds-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.ds-article__media { margin-top: var(--ds-4); border-radius: var(--ds-radius); overflow: hidden; background: var(--ds-surface); }
.ds-article__media img { display: block; width: 100%; height: auto; }

.ds-article-toc { margin: 0 0 var(--ds-4); padding: var(--ds-3); border-left: 3px solid var(--ds-primary); background: var(--ds-surface); border-radius: 0 var(--ds-radius-sm) var(--ds-radius-sm) 0; }
.ds-article-toc__title { margin: 0 0 .5rem; font-weight: 700; }
.ds-article-toc ol { margin: 0; padding-left: 1.25rem; }
.ds-article-toc li { margin: .3rem 0; }
.ds-article-toc a { color: var(--ds-ink); }

.ds-prose--article { max-width: none; font-size: 1.0625rem; line-height: 1.75; }
.ds-prose--article h2 { margin-top: var(--ds-6); }
.ds-prose--article h2:first-child { margin-top: 0; }
.ds-prose--article h3 { margin: var(--ds-4) 0 var(--ds-1); }
.ds-prose--article figure { margin: var(--ds-4) 0; }
.ds-prose--article img { height: auto; max-width: 100%; }
.ds-prose--article table { width: 100%; border-collapse: collapse; margin: var(--ds-3) 0; font-size: .95rem; display: block; overflow-x: auto; }
.ds-prose--article th, .ds-prose--article td { padding: .6rem .75rem; border-bottom: 1px solid var(--ds-line); text-align: left; vertical-align: top; }
.ds-article-links { display: flex; flex-wrap: wrap; gap: .75rem; }
.ds-notice { margin: var(--ds-4) 0; padding: var(--ds-3); border-radius: var(--ds-radius-sm); background: var(--ds-surface-warm); }
.ds-notice > :last-child { margin-bottom: 0; }
.ds-notice--muted { background: var(--ds-surface); font-size: .9rem; color: var(--ds-ink-2); }

body.ds .sc-cta { margin: var(--ds-6) 0; padding: var(--ds-4) var(--ds-3); border: 0; border-radius: var(--ds-radius); background: var(--ds-surface-warm); }
body.ds .sc-cta__heading { font-family: var(--ds-heading-font); font-size: var(--ds-fs-lg); font-weight: 800; color: var(--ds-ink); }
body.ds .sc-cta__text { color: var(--ds-ink-2); }
body.ds .sc-cta__link { color: var(--ds-accent); }
body.ds .ds-prose .sc-cta { margin: var(--ds-4) 0; }
body.ds .ds-prose .sc-cta p { margin-bottom: 0; }
body.ds .ds-prose .sc-cta .sc-cta__text { margin-bottom: 1rem; }
@media (max-width: 599px) { body.ds .sc-cta__actions .ds-btn { width: 100%; } }

.ds-author { display: grid; grid-template-columns: 72px 1fr; gap: var(--ds-2); margin: var(--ds-4) 0; padding: var(--ds-3) 0; border-top: 1px solid var(--ds-line); border-bottom: 1px solid var(--ds-line); }
.ds-author__photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: top; }
.ds-author__name { margin: 0; font-weight: 700; font-size: 1.1rem; }
.ds-author p { margin-bottom: .5rem; }
.ds-sources { margin: var(--ds-3) 0 0; }
.ds-sources summary { cursor: pointer; font-weight: 700; padding: .5rem 0; }
.ds-sources .ds-prose { font-size: .9rem; color: var(--ds-ink-2); overflow-wrap: anywhere; }

.ds-card__label { font-size: .8rem; font-weight: 600; color: var(--ds-ink-2); }
.ds-card__text { margin: 0; font-size: .95rem; color: var(--ds-ink-2); }
.ds-toc--wrap { flex-wrap: wrap; overflow: visible; margin: var(--ds-3) 0 0; }
.ds-toc a[aria-current="page"] { background: var(--ds-ink); border-color: var(--ds-ink); color: #fff; }
.ds-pagination { margin-top: var(--ds-6); }
.ds-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.ds-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 .9rem; border: 1px solid var(--ds-line); border-radius: 999px; color: var(--ds-ink); text-decoration: none; font-weight: 600; }
.ds-pagination .page-numbers.current { background: var(--ds-ink); border-color: var(--ds-ink); color: #fff; }
.ds-pagination .screen-reader-text { position: absolute; left: -9999px; }
body.ds .sc-article-cta, body.ds .sc-article-cta .con { padding: 0; margin: 0; max-width: none; width: auto; }
body.ds .sc-article-cta .sc-cta { margin: var(--ds-6) 0 var(--ds-4); }

/* ---------- tim ---------- */

.ds-team--grid { grid-auto-flow: row; grid-template-columns: repeat(2, 1fr); overflow: visible; gap: var(--ds-3) var(--ds-2); }
@media (min-width: 768px) { .ds-team--grid { grid-template-columns: repeat(3, 1fr); gap: var(--ds-4) var(--ds-3); } }
@media (min-width: 1100px) { .ds-team--grid { grid-template-columns: repeat(4, 1fr); } }
.ds-team--grid .ds-person h3 { font-size: 1rem; }
.ds-profile { display: grid; gap: var(--ds-4); align-items: start; }
@media (min-width: 800px) { .ds-profile { grid-template-columns: 340px 1fr; gap: var(--ds-6); } }
.ds-profile__photo { aspect-ratio: 4 / 5; max-width: 340px; border-radius: var(--ds-radius); overflow: hidden; background: var(--ds-surface); }
.ds-profile__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.ds-profile__role { margin: var(--ds-1) 0 var(--ds-3); font-size: var(--ds-fs-md); font-weight: 600; color: var(--ds-red-ink); }
.ds-profile__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-top: var(--ds-3); }

/* ---------- kalkulator (sursum-measurement) ---------- */

.ds-calc-card { padding: var(--ds-3); border: 1px solid var(--ds-line); border-radius: var(--ds-radius); background: #fff; box-shadow: 0 12px 32px -24px rgba(35, 31, 32, .4); }
@media (min-width: 600px) { .ds-calc-card { padding: var(--ds-4); } }
.ds-calc-note { margin-top: var(--ds-2); font-size: var(--ds-fs-sm); }
body.ds .scm-calculator-form { display: grid; gap: var(--ds-3); }
body.ds .scm-calculator .calculator > label { display: block; margin-bottom: .5rem; font-weight: 700; }
body.ds .scm-calculator .wpcf7-radio { display: flex; flex-wrap: wrap; gap: .5rem; }
body.ds .scm-calculator .wpcf7-list-item { margin: 0; }
body.ds .scm-calculator .wpcf7-list-item label { position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1.1rem; border: 1px solid var(--ds-line); border-radius: 999px; cursor: pointer; font-weight: 600; }
body.ds .scm-calculator .wpcf7-list-item input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
body.ds .scm-calculator .wpcf7-list-item label:has(input:checked) { background: var(--ds-ink); border-color: var(--ds-ink); color: #fff; }
body.ds .scm-calculator .wpcf7-list-item label:has(input:focus-visible) { outline: 3px solid var(--ds-accent); outline-offset: 2px; }
body.ds .scm-calculator input[type="text"] { width: 100%; max-width: 20rem; min-height: 48px; padding: .6rem .9rem; border: 1px solid #c9c9d3; border-radius: var(--ds-radius-sm); font: inherit; font-size: 1rem; }
body.ds .scm-calculator input[type="text"]:focus { outline: none; border-color: var(--ds-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-accent) 20%, transparent); }
body.ds .scm-calculator input[type="submit"] { width: 100%; max-width: 20rem; cursor: pointer; border: 0; }
body.ds .scm-calc-error:not([hidden]) { padding: .75rem 1rem; border-radius: var(--ds-radius-sm); background: #fdecee; color: #8a1f2a; }
body.ds .risk-results-wrapper:not([hidden]) { display: grid !important; gap: var(--ds-2); padding-top: var(--ds-3); border-top: 1px solid var(--ds-line); }
body.ds .risk-box { padding: var(--ds-3); border-radius: var(--ds-radius-sm); background: var(--ds-surface); }
body.ds .risk-box p { margin: 0 0 .5rem; }
body.ds .risk-value { font-family: var(--ds-heading-font); font-size: var(--ds-fs-2xl); font-weight: 800; line-height: 1; color: var(--ds-ink); }
body.ds .model-note { font-size: var(--ds-fs-sm); color: var(--ds-ink-2); margin: 0; }
body.ds .scm-calc-cta { display: grid; gap: .75rem; justify-items: start; padding: var(--ds-3); border-radius: var(--ds-radius-sm); background: var(--ds-surface-warm); }
body.ds .scm-calc-cta p { margin: 0; }
.ds-person__photo:has(.ds-person__initials) { display: grid; place-items: center; }
.ds-person__initials { font-family: var(--ds-heading-font); font-size: 2.5rem; font-weight: 800; color: var(--ds-ink-2); opacity: .5; }
@media (max-width: 799px) {
	.ds-profile { grid-template-columns: 112px 1fr; gap: var(--ds-2) var(--ds-3); }
	.ds-profile__photo { aspect-ratio: 1 / 1; border-radius: 50%; }
	.ds-profile > div:last-child { grid-column: 1 / -1; }
}
.ds-area-block { scroll-margin-top: var(--ds-header-h); }
.ds-area-block + .ds-area-block { padding-top: var(--ds-4); }
.ds-area-block:last-of-type { padding-bottom: var(--ds-section); }
.ds-area-block__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; max-width: none; margin-bottom: var(--ds-3); }
.ds-area-block__head h2 { font-size: var(--ds-fs-lg); }
.ds-section--soft .ds-info-card { background: #fff; }
@media (min-width: 768px) { .ds-section--soft .ds-info-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .ds-section--soft .ds-info-cards { grid-template-columns: repeat(3, 1fr); } }
.ds-stats { display: flex; flex-wrap: wrap; gap: var(--ds-3) var(--ds-6); margin: var(--ds-4) 0 0; }
.ds-stats div { display: flex; flex-direction: column-reverse; }
.ds-stats dd { margin: 0; font-family: var(--ds-heading-font); font-size: var(--ds-fs-xl); font-weight: 800; line-height: 1.1; color: var(--ds-red-ink); }
.ds-stats dt { font-size: var(--ds-fs-sm); color: var(--ds-ink-2); max-width: 14rem; }
.ds-hero__grid--media .ds-hero__media { margin-top: 0; }

/* ---------- landing, pretrage, blokovi ---------- */

.ds-landing-hero .ds-home-hero__actions { margin-top: var(--ds-4); }
@media (max-width: 599px) { .ds-landing-hero .ds-home-hero__actions .ds-btn { width: 100%; } }
.ds-split { display: grid; gap: var(--ds-4); align-items: center; }
@media (min-width: 900px) { .ds-split { grid-template-columns: 5fr 7fr; gap: var(--ds-8); } .ds-split--reverse .ds-split__media { order: 2; } }
.ds-split__media { border-radius: var(--ds-radius); overflow: hidden; background: var(--ds-surface); }
.ds-split__media img { display: block; width: 100%; height: auto; }
.ds-facts { display: grid; gap: var(--ds-2); margin: 0 0 var(--ds-3); }
.ds-facts div { display: grid; gap: .15rem; padding-bottom: var(--ds-2); border-bottom: 1px solid var(--ds-line); }
.ds-facts dt { font-size: var(--ds-fs-sm); color: var(--ds-ink-2); }
.ds-facts dd { margin: 0; font-weight: 700; font-size: 1.05rem; }
.ds-info-cards--steps { counter-reset: ds-step; }
@media (min-width: 768px) { .ds-info-cards--steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .ds-info-cards--steps { grid-template-columns: repeat(4, 1fr); } }
.ds-info-cards--steps .ds-info-card { counter-increment: ds-step; }
.ds-info-cards--steps .ds-info-card h3::before { content: counter(ds-step) ". "; color: var(--ds-red-ink); }
.ds-filter-search { max-width: 36rem; margin: 0 0 var(--ds-4); }
.ds-az { columns: 1; column-gap: var(--ds-6); }
@media (min-width: 700px) { .ds-az { columns: 2; } }
@media (min-width: 1100px) { .ds-az { columns: 3; } }
.ds-az__group { break-inside: avoid; margin-bottom: var(--ds-4); }
.ds-az__letter { margin-bottom: .5rem; font-size: var(--ds-fs-lg); color: var(--ds-red-ink); }
.ds-az ul { margin: 0; padding: 0; list-style: none; }
.ds-az li a { display: block; padding: .45rem 0; border-bottom: 1px solid var(--ds-line); color: var(--ds-ink); text-decoration: none; }
.ds-az li a:hover { color: var(--ds-accent); }
body.ds.beauty .ds-logo img { height: 32px; width: auto; }
@media (min-width: 1024px) { body.ds.beauty .ds-logo img { height: 38px; } }

/* =====================================================================
   v2 (22.10.2026.): fotografija, linija iz znaka, pametna tražilica,
   izbornik s pločicama područja, jači obrasci.
   ===================================================================== */

:root { --ds-shadow-lg: 0 24px 60px -28px rgba(35, 31, 32, .45), 0 4px 14px -6px rgba(35, 31, 32, .12); --ds-shadow-md: 0 12px 30px -18px rgba(35, 31, 32, .4); --ds-red-soft: #fbeced; }
.ds-btn--ghost { background: #fff; color: var(--ds-ink) !important; border-color: #fff; box-shadow: var(--ds-shadow-md); }
.ds-btn--ghost:hover { border-color: var(--ds-line); }

/* linija iz znaka: jedan crveni potez koji se provlači kroz fotografije */
.ds-line { position: absolute; pointer-events: none; fill: none; stroke: var(--ds-primary); stroke-width: 3; stroke-linecap: round; }

/* ---------- naslovnica ---------- */
.ds-home-hero { position: relative; padding: var(--ds-4) 0 var(--ds-6); background: linear-gradient(180deg, var(--ds-red-soft) 0%, #fff 70%); overflow: hidden; }
.ds-home-hero__grid { display: grid; gap: var(--ds-4); align-items: center; }
.ds-home-hero__brand { margin: 0 0 .75rem; font-weight: 700; color: var(--ds-red-ink); }
.ds-home-hero h1 { max-width: 15ch; font-size: clamp(2.1rem, 1.3rem + 3.6vw, 3.6rem); line-height: 1.05; letter-spacing: -.02em; }
.ds-home-hero .ds-hero__lead { max-width: 36rem; margin-top: var(--ds-2); }
.ds-home-hero__media { position: relative; margin: 0; }
.ds-home-hero__media > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 30%; border-radius: 28px; box-shadow: var(--ds-shadow-lg); }
.ds-home-hero__media .ds-line { width: 70%; left: -12%; bottom: -10%; }
.ds-home-hero__badge { position: absolute; top: 1rem; left: 1rem; display: flex; align-items: center; gap: .6rem; padding: .55rem .9rem .55rem .7rem; border-radius: 16px; background: #fff; color: var(--ds-ink); text-decoration: none; box-shadow: var(--ds-shadow-md); font-size: .85rem; line-height: 1.25; }
.ds-home-hero__badge strong { font-family: var(--ds-heading-font); font-size: 1.6rem; font-weight: 800; }
.ds-home-hero__badge > span { display: grid; }
.ds-home-hero__badge .ds-rating__stars { color: #e3a32b; letter-spacing: 1px; }
.ds-home-hero__actions { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: flex-end; margin: 0; }
@media (max-width: 599px) { .ds-home-hero__actions .ds-btn { flex: 1 1 auto; min-height: 44px; padding: .6rem 1rem; } }
@media (min-width: 1024px) {
	.ds-home-hero { padding: var(--ds-6) 0 var(--ds-8); }
	.ds-home-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ds-8); }
	.ds-home-hero__media > img { aspect-ratio: 4 / 5; }
	.ds-home-hero__media .ds-line { width: 90%; left: -45%; bottom: 6%; }
}

/* ---------- pametna tražilica ---------- */
.ds-find { position: relative; margin-top: var(--ds-4); max-width: 40rem; }
.ds-find__bar { position: relative; display: flex; align-items: center; margin: 0; }
.ds-find__bar > .ds-icon { position: absolute; left: 1.15rem; width: 22px; height: 22px; fill: var(--ds-red-ink); }
.ds-find__input { width: 100%; min-height: 64px; padding: .9rem 3rem .9rem 3.25rem; border: 2px solid transparent; border-radius: 20px; background: #fff; font: inherit; font-size: 1.05rem; font-weight: 500; color: var(--ds-ink); box-shadow: var(--ds-shadow-lg); -webkit-appearance: none; appearance: none; }
.ds-find__input::placeholder { color: #8b8d96; }
.ds-find__input::-webkit-search-cancel-button { display: none; }
.ds-find__input:focus { outline: none; border-color: var(--ds-primary); }
.ds-find.is-open .ds-find__input { border-radius: 20px 20px 0 0; border-color: var(--ds-primary); border-bottom-color: var(--ds-line); }
.ds-find__clear { position: absolute; right: .6rem; width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--ds-surface); font-size: 1.4rem; line-height: 1; color: var(--ds-ink-2); cursor: pointer; }
.ds-find__panel { position: absolute; z-index: 50; top: 100%; left: 0; right: 0; max-height: min(70vh, 560px); overflow-y: auto; padding: .5rem; border: 2px solid var(--ds-primary); border-top: 0; border-radius: 0 0 20px 20px; background: #fff; box-shadow: var(--ds-shadow-lg); overscroll-behavior: contain; }
.ds-find__chips { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: var(--ds-2) 0 0; font-size: .9rem; }
.ds-find__chip { padding: .45rem .85rem; border: 1px solid color-mix(in srgb, var(--ds-primary) 30%, #fff); border-radius: 999px; background: rgba(255, 255, 255, .7); font: inherit; font-weight: 600; color: var(--ds-ink); cursor: pointer; }
.ds-find__chip:hover { border-color: var(--ds-primary); background: #fff; }
.ds-find__group + .ds-find__group { margin-top: .35rem; padding-top: .35rem; border-top: 1px solid var(--ds-line); }
.ds-find__label { margin: .5rem .6rem .25rem; font-size: .78rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-find__opt { display: grid; grid-template-columns: 40px 1fr auto; align-items: center; gap: .75rem; padding: .55rem .6rem; border-radius: 12px; color: var(--ds-ink); text-decoration: none; }
.ds-find__opt:hover, .ds-find__opt.is-active { background: var(--ds-surface); }
.ds-find__icon { width: 40px; height: 40px; border-radius: 10px; object-fit: contain; background: var(--ds-red-soft); padding: 4px; }
.ds-find__icon.is-photo { padding: 0; border-radius: 50%; object-fit: cover; object-position: top; }
.ds-find__icon--l::before, .ds-find__icon--q::before, .ds-find__icon--b::before, .ds-find__icon--s::before, .ds-find__icon--a::before { content: ""; display: block; width: 100%; height: 100%; background: var(--ds-red-ink); -webkit-mask: var(--ic) center / 20px no-repeat; mask: var(--ic) center / 20px no-repeat; }
.ds-find__icon--l { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 2h6v2h-1v6.3l5.4 8.6A2 2 0 0 1 17.7 22H6.3a2 2 0 0 1-1.7-3.1L10 10.3V4H9V2zm3 10.2L9.3 16.5h5.4L12 12.2z'/%3E%3C/svg%3E"); }
.ds-find__icon--q { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 3h16a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H9l-5 4v-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm7 11v2h2v-2h-2zm1-9a3.5 3.5 0 0 0-3.5 3.5h2A1.5 1.5 0 1 1 12 10c-.6 0-1 .4-1 1v2h2v-1.2A3.5 3.5 0 0 0 12 5z'/%3E%3C/svg%3E"); }
.ds-find__icon--b, .ds-find__icon--s, .ds-find__icon--a { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3h14v18H5V3zm3 4v2h8V7H8zm0 4v2h8v-2H8zm0 4v2h5v-2H8z'/%3E%3C/svg%3E"); }
.ds-find__txt { display: grid; min-width: 0; }
.ds-find__name { font-weight: 600; line-height: 1.3; }
.ds-find__meta { font-size: .85rem; line-height: 1.35; color: var(--ds-ink-2); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ds-find__price { font-weight: 700; color: var(--ds-red-ink); white-space: nowrap; font-size: .95rem; }
.ds-find__answer { margin: .25rem .25rem .5rem; padding: .25rem; border-radius: 16px; background: var(--ds-red-soft); }
.ds-find__opt.is-answer { display: grid; grid-template-columns: 1fr; gap: .25rem; padding: .8rem .9rem; }
.ds-find__opt.is-answer:hover, .ds-find__opt.is-answer.is-active { background: rgba(255, 255, 255, .6); }
.ds-find__answer-title { font-family: var(--ds-heading-font); font-weight: 800; font-size: 1.1rem; }
.ds-find__answer-text { color: var(--ds-ink); line-height: 1.5; }
.ds-find__answer-cta { margin: 0 .9rem .8rem; min-height: 44px; }
.ds-find__urgent { margin: .25rem .25rem .5rem; padding: .7rem .9rem; border-radius: 12px; background: #fff4e5; color: #6b3d00; font-size: .9rem; }
.ds-find__empty { padding: 1rem; }
.ds-find__empty p { margin-bottom: .75rem; }
.ds-find--md { margin-top: 0; max-width: none; }
.ds-find--md .ds-find__input { min-height: 56px; box-shadow: none; border-color: var(--ds-line); background: var(--ds-surface); }
.ds-find--md .ds-find__input:focus { background: #fff; border-color: var(--ds-primary); }
.ds-find--md .ds-find__panel { position: static; max-height: none; box-shadow: none; }

/* ---------- izbornik ---------- */
.ds-menu__body { padding-top: var(--ds-2); }
.ds-menu__cols { display: grid; gap: var(--ds-4); margin-top: var(--ds-3); }
.ds-menu .ds-find.is-open ~ .ds-menu__cols { display: none; }
@media (min-width: 900px) { .ds-menu__cols { grid-template-columns: 2fr 1fr; gap: var(--ds-6); } }
.ds-menu__label { margin: 0 0 .75rem; font-size: .85rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-menu__areas { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .ds-menu__areas { grid-template-columns: repeat(3, 1fr); } }
.ds-menu__areas a { display: flex; align-items: center; gap: .65rem; height: 100%; padding: .75rem; border-radius: 16px; background: var(--ds-surface); color: var(--ds-ink); text-decoration: none; font-weight: 700; font-size: .95rem; line-height: 1.25; }
.ds-menu__areas a:hover { background: var(--ds-red-soft); }
.ds-menu__areas img { flex: 0 0 40px; width: 40px; height: 40px; object-fit: contain; }
.ds-menu__areas span { display: grid; }
.ds-menu__areas small, .ds-menu__popular small { font-size: .8rem; font-weight: 500; color: var(--ds-ink-2); }
.ds-menu__popular { margin: 0 0 1rem; padding: 0; list-style: none; }
.ds-menu__popular a { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--ds-line); color: var(--ds-ink); text-decoration: none; font-weight: 600; }
.ds-menu__popular small { color: var(--ds-red-ink); font-weight: 700; white-space: nowrap; }
.ds-menu__links { grid-template-columns: repeat(2, 1fr); }

/* ---------- kartice usluga i područja s ikonama ---------- */
.ds-svc-card.has-icon { grid-template-columns: 44px 1fr; column-gap: .9rem; align-content: start; }
.ds-svc-card.has-icon > :not(img) { grid-column: 2; }
.ds-svc-card__icon { grid-row: 1 / span 3; width: 44px; height: 44px; object-fit: contain; padding: 4px; border-radius: 12px; background: var(--ds-red-soft); }
.ds-area { grid-template-columns: 56px 1fr; column-gap: 1rem; align-items: center; }
.ds-area > span { grid-column: 2; }
.ds-area__icon { grid-row: 1 / span 2; width: 56px; height: 56px; object-fit: contain; padding: 6px; border-radius: 16px; background: var(--ds-red-soft); }
.ds-svc-card, .ds-area { border-color: transparent; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .06), 0 8px 24px -18px rgba(35, 31, 32, .35); }

/* ---------- područje ---------- */
.ds-area-hero { background: linear-gradient(180deg, var(--ds-red-soft), #fff); }
.ds-area-hero__grid { display: grid; gap: var(--ds-4); align-items: center; }
@media (min-width: 900px) { .ds-area-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ds-8); } }
.ds-area-hero__icon { display: block; width: 72px; height: 72px; margin-bottom: var(--ds-2); padding: 8px; border-radius: 20px; background: #fff; box-shadow: var(--ds-shadow-md); }
.ds-area-hero__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 28px; box-shadow: var(--ds-shadow-lg); }
@media (max-width: 899px) { .ds-area-hero__media img { aspect-ratio: 16 / 9; } }
.ds-area-hero__actions { margin: var(--ds-3) 0 0; }

/* ---------- odjeljak upita ---------- */
.ds-inquiry__side { position: relative; }
.ds-inquiry__photo { margin: 0 0 var(--ds-3); border-radius: 24px; overflow: hidden; box-shadow: var(--ds-shadow-md); }
.ds-inquiry__photo img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 1024px) { .ds-inquiry__photo img { aspect-ratio: 4 / 3; } }
.ds-inquiry__card { position: relative; border: 0 !important; border-radius: 28px !important; box-shadow: var(--ds-shadow-lg) !important; background: #fff; }
.ds-inquiry__card::before { content: ""; position: absolute; top: 0; left: 28px; right: 28px; height: 4px; border-radius: 0 0 4px 4px; background: var(--ds-primary); }
.ds-find__panel { top: 64px; }
.ds-find.is-open .ds-find__chips { visibility: hidden; }
html.ds-find-open .ds-actionbar { display: none; }
.ds-home-hero__media { isolation: isolate; }
.ds-home-hero__media .ds-line { z-index: -1; width: 130%; left: -18%; bottom: -14%; stroke-width: 2.5; }
@media (min-width: 1024px) { .ds-home-hero__media .ds-line { width: 150%; left: -60%; bottom: -10%; } }

/* ---------- obrazac upita (v2) ---------- */
body.ds .sc-form { display: grid; gap: 1.1rem; }
body.ds .sc-field { margin: 0; }
body.ds .sc-field__label { display: block; margin-bottom: .4rem; font-size: .9rem; font-weight: 700; color: var(--ds-ink); }
body.ds .sc-optional { font-weight: 500; color: var(--ds-ink-2); }
body.ds .sc-input { width: 100%; min-height: 56px; padding: .85rem 1rem; border: 1.5px solid transparent; border-radius: 14px; background: var(--ds-surface); font: inherit; font-size: 16px; color: var(--ds-ink); transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease; box-sizing: border-box; }
body.ds .sc-input:hover { border-color: #d9d9e2; }
body.ds .sc-input:focus { outline: none; background-color: #fff; border-color: var(--ds-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ds-primary) 15%, transparent); }
body.ds textarea.sc-input { min-height: 104px; resize: vertical; }
/* ikone u poljima */
body.ds .sc-input[name="name"], body.ds .sc-input[name="phone"], body.ds .sc-input[name="email"] { padding-left: 3rem; background-repeat: no-repeat; background-position: 1rem 50%; background-size: 20px; }
body.ds .sc-input[name="name"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8323d'%3E%3Cpath d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E"); }
body.ds .sc-input[name="phone"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8323d'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
body.ds .sc-input[name="email"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8323d'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.2L4 7.4V17h16V7.4z'/%3E%3C/svg%3E"); }
body.ds .sc-field.is-invalid .sc-input, body.ds .sc-field.is-invalid .sc-combo__btn { border-color: #c62f3b; background-color: #fff6f6; }
body.ds .sc-field__error { display: flex; gap: .35rem; margin-top: .4rem; font-size: .88rem; font-weight: 600; color: #a3202b; }

/* način kontakta */
body.ds .sc-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
body.ds .sc-chip { position: relative; margin: 0; }
body.ds .sc-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
body.ds .sc-chip span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; min-height: 72px; padding: .5rem; border: 1.5px solid transparent; border-radius: 14px; background: var(--ds-surface); font-weight: 700; font-size: .9rem; color: var(--ds-ink); text-align: center; cursor: pointer; transition: all .15s ease; }
body.ds .sc-chip span::before { content: ""; width: 22px; height: 22px; background: var(--ds-ink-2); -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
body.ds .sc-chip input[value="phone"] + span { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
body.ds .sc-chip input[value="whatsapp"] + span { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm5.3 14.1c-.2.6-1.3 1.2-1.8 1.2-.5.1-1 .2-3.3-.7-2.8-1.1-4.6-4-4.7-4.2-.1-.2-1.1-1.5-1.1-2.9s.7-2 1-2.3c.3-.3.6-.3.8-.3h.6c.2 0 .4 0 .6.5l.9 2.1c.1.2.1.4 0 .6l-.4.6-.4.5c-.1.1-.3.3-.1.6.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.9-1c.2-.3.4-.2.7-.1l2 1c.3.1.5.2.5.3.1.2.1.8-.2 1.4z'/%3E%3C/svg%3E"); }
body.ds .sc-chip input[value="email"] + span { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm9 7.2L4 7.4V17h16V7.4z'/%3E%3C/svg%3E"); }
body.ds .sc-chip input:checked + span { border-color: var(--ds-primary); background: var(--ds-red-soft); color: var(--ds-red-ink); }
body.ds .sc-chip input:checked + span::before { background: var(--ds-primary); }
body.ds .sc-chip input:focus-visible + span { outline: 3px solid var(--ds-accent); outline-offset: 2px; }

/* odabir usluge (kombinirani popis) */
.sc-combo__native { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
.sc-combo { position: relative; }
.sc-combo__btn { display: grid; grid-template-columns: 36px 1fr auto 20px; align-items: center; gap: .75rem; width: 100%; min-height: 60px; padding: .6rem 1rem .6rem .6rem; border: 1.5px solid transparent; border-radius: 14px; background: var(--ds-surface); font: inherit; text-align: left; color: var(--ds-ink-2); cursor: pointer; }
.sc-combo__btn::after { content: ""; width: 12px; height: 12px; border-right: 2px solid var(--ds-ink); border-bottom: 2px solid var(--ds-ink); transform: rotate(45deg) translate(-3px, -3px); justify-self: center; }
.sc-combo__btn:hover { border-color: #d9d9e2; }
.sc-combo__btn:focus-visible, .sc-combo.is-open .sc-combo__btn { outline: none; border-color: var(--ds-primary); background: #fff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--ds-primary) 15%, transparent); }
.sc-combo__icon { width: 36px; height: 36px; border-radius: 10px; background: #fff center / 28px no-repeat; }
.sc-combo:not(.has-value) .sc-combo__icon { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23b8323d'%3E%3Cpath d='M10 2a8 8 0 0 1 6.32 12.9l5.39 5.4-1.42 1.4-5.39-5.38A8 8 0 1 1 10 2zm0 2a6 6 0 1 0 0 12 6 6 0 0 0 0-12z'/%3E%3C/svg%3E"); background-size: 20px; }
.sc-combo.has-value .sc-combo__value { font-weight: 700; color: var(--ds-ink); }
.sc-combo__price { font-weight: 700; color: var(--ds-red-ink); white-space: nowrap; font-size: .95rem; }
.sc-combo__pop { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; right: 0; display: flex; flex-direction: column; max-height: 420px; padding: .6rem; border-radius: 18px; background: #fff; box-shadow: var(--ds-shadow-lg); }
.sc-combo__pop[hidden] { display: none; }
.sc-combo__head { display: none; align-items: center; justify-content: space-between; padding: .25rem .25rem .6rem; }
.sc-combo__title { font-weight: 800; font-size: 1.1rem; }
.sc-combo__close { width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--ds-surface); font-size: 1.4rem; cursor: pointer; }
.sc-combo__search { width: 100%; min-height: 48px; margin-bottom: .4rem; padding: .6rem .9rem; border: 1.5px solid var(--ds-line); border-radius: 12px; font: inherit; font-size: 16px; box-sizing: border-box; }
.sc-combo__search:focus { outline: none; border-color: var(--ds-primary); }
.sc-combo__list { overflow-y: auto; overscroll-behavior: contain; }
.sc-combo__glabel { display: flex; align-items: center; gap: .5rem; margin: .7rem .5rem .3rem; font-size: .8rem; font-weight: 700; color: var(--ds-ink-2); }
.sc-combo__glabel img { width: 22px; height: 22px; object-fit: contain; }
.sc-combo__opt { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem .75rem; border-radius: 10px; cursor: pointer; line-height: 1.3; }
.sc-combo__opt:hover, .sc-combo__opt.is-active { background: var(--ds-surface); }
.sc-combo__opt[aria-selected="true"] { background: var(--ds-red-soft); font-weight: 700; }
.sc-combo__opt.is-advice { margin-bottom: .25rem; border: 1.5px dashed color-mix(in srgb, var(--ds-primary) 40%, #fff); font-weight: 600; }
.sc-combo__oprice { font-size: .88rem; font-weight: 700; color: var(--ds-red-ink); white-space: nowrap; }
.sc-combo__empty { margin: .5rem; color: var(--ds-ink-2); font-size: .9rem; }
@media (max-width: 699px) {
	html.sc-combo-open { overflow: hidden; }
	html.sc-combo-open .ds-actionbar { display: none; }
	.sc-combo__pop { position: fixed; top: auto; bottom: 0; left: 0; right: 0; max-height: 86vh; height: 86vh; padding: 1rem 1rem calc(1rem + env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; box-shadow: 0 -20px 60px rgba(35, 31, 32, .35); animation: sc-sheet .2s ease-out; }
	.sc-combo__head { display: flex; }
	.sc-combo.is-open::before { content: ""; position: fixed; inset: 0; z-index: 59; background: rgba(35, 31, 32, .45); }
}
@keyframes sc-sheet { from { transform: translateY(30px); opacity: .6; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .sc-combo__pop { animation: none; } }

/* sažetak odabrane usluge */
body.ds .sc-service-summary { display: grid; grid-template-columns: 1fr auto; gap: .15rem 1rem; padding: 1rem 1.1rem; border: 0; border-radius: 16px; background: var(--ds-red-soft); }
body.ds .sc-service-summary__label { grid-column: 1 / -1; font-size: .8rem; font-weight: 700; color: var(--ds-red-ink); }
body.ds .sc-service-summary__value { font-size: 1.1rem; }
body.ds .sc-service-summary__price { font-weight: 800; color: var(--ds-red-ink); }
body.ds .sc-service-summary__change { grid-column: 1 / -1; justify-self: start; padding: 0; border: 0; background: none; font: inherit; font-size: .9rem; font-weight: 700; color: var(--ds-accent); text-decoration: underline; cursor: pointer; }

/* privola, privitak, slanje */
body.ds .sc-consent { display: grid; grid-template-columns: 24px 1fr; gap: .75rem; align-items: start; font-size: .88rem; line-height: 1.5; color: var(--ds-ink-2); }
body.ds .sc-consent input { width: 24px; height: 24px; margin: 0; accent-color: var(--ds-primary); }
body.ds .sc-attach summary { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--ds-accent); cursor: pointer; list-style: none; }
body.ds .sc-attach summary::before { content: "+"; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: color-mix(in srgb, var(--ds-accent) 12%, #fff); font-weight: 800; }
body.ds .sc-attach[open] summary::before { content: "–"; }
body.ds .sc-attach > :not(summary) { margin-top: .6rem; }
body.ds .sc-form__submit { width: 100%; min-height: 60px; border: 0; border-radius: 16px; background: var(--ds-primary); color: #fff; font: inherit; font-size: 1.1rem; font-weight: 800; cursor: pointer; box-shadow: 0 14px 28px -14px color-mix(in srgb, var(--ds-primary) 80%, transparent); transition: transform .1s ease, background-color .15s ease; }
body.ds .sc-form__submit:hover { background: color-mix(in srgb, var(--ds-primary) 88%, #000); }
body.ds .sc-form__submit:active { transform: translateY(1px); }
body.ds .sc-form__note { margin: -.4rem 0 0; font-size: .85rem; text-align: center; color: var(--ds-ink-2); }
body.ds .sc-form-success { padding: 2rem 1.5rem; border-radius: 20px; background: var(--ds-red-soft); text-align: center; }
body.ds .sc-form-success__title { font-family: var(--ds-heading-font); font-size: 1.5rem; font-weight: 800; }
.sc-field--service.is-collapsed .sc-combo { display: none; }

/* =====================================================================
   v3 (22.10.2026.): elementi sa stare naslovnice u novom obliku, smirivanje
   (bez ukrasne linije i crvene trake), recenzije u stilu starog weba.
   ===================================================================== */

/* ukloni ono što strši */
.ds-line, .ds-inquiry__card::before { display: none !important; }

/* naslovnica: fotografije prostora kao pozadina */
.ds-home-hero { position: relative; padding: 0; background: #fff; overflow: visible; }
.ds-home-hero__slides { position: relative; height: 240px; overflow: hidden; background: var(--ds-surface); }
.ds-home-hero__slides img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.2s ease; }
.ds-home-hero__slides img.is-on { opacity: 1; }
.ds-home-hero__inner { position: relative; display: grid; gap: var(--ds-3); padding-top: var(--ds-3); padding-bottom: var(--ds-6); }
.ds-home-hero__text { position: relative; z-index: 5; margin-top: -72px; padding: var(--ds-3); border-radius: 24px; background: #fff; box-shadow: var(--ds-shadow-lg); }
.ds-home-hero h1 { max-width: 22ch; font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.1rem); line-height: 1.08; letter-spacing: -.015em; }
.ds-home-hero__rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: var(--ds-2); font-size: .9rem; color: var(--ds-ink-2); text-decoration: none; }
.ds-home-hero__rating strong { color: var(--ds-ink); }
.ds-stars { color: #e3a32b; letter-spacing: 1px; }
.ds-home-hero__actions { position: static; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin-top: var(--ds-3); }
.ds-home-hero__phone { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--ds-ink); text-decoration: none; }
.ds-home-hero__beauty { display: flex; align-items: center; gap: 1rem; justify-self: start; padding: .8rem 1.1rem; border-radius: 18px; background: #f3f1ed; color: #194337; text-decoration: none; font-weight: 600; font-size: .9rem; }
.ds-home-hero__beauty img { height: 28px; width: auto; }
.ds-find { z-index: 20; }
@media (min-width: 1024px) {
	.ds-home-hero { min-height: 640px; }
	.ds-home-hero__slides { position: absolute; top: 0; right: 0; bottom: 0; left: 38%; height: auto; border-radius: 0 0 0 40px; }
	.ds-home-hero__inner { min-height: 640px; align-content: center; padding-top: var(--ds-6); padding-bottom: var(--ds-6); }
	.ds-home-hero__text { max-width: 640px; margin-top: 0; padding: var(--ds-6) var(--ds-6) var(--ds-4); }
	.ds-home-hero__beauty { position: absolute; right: var(--ds-gutter); bottom: var(--ds-4); background: rgba(255, 255, 255, .94); box-shadow: var(--ds-shadow-md); }
}

/* zaglavlja odjeljaka s gumbom desno */
.ds-section__head--row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--ds-2); max-width: none; }
.ds-section__head--row > div { max-width: 46rem; }

/* zašto mi */
.ds-why { display: grid; gap: var(--ds-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .ds-why { grid-template-columns: repeat(3, 1fr); gap: var(--ds-4); } }
.ds-why li { display: grid; gap: .5rem; align-content: start; }
.ds-why__icon { width: 64px; height: 64px; object-fit: contain; margin-bottom: .25rem; }
.ds-why p { margin: 0; color: var(--ds-ink-2); }

/* recenzije u stilu starog weba */
.ds-benefit { position: relative; gap: var(--ds-2); padding: var(--ds-4) var(--ds-3) var(--ds-3); border: 0 !important; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 30px -20px rgba(35, 31, 32, .35); }
.ds-benefit__top { display: flex; align-items: center; justify-content: space-between; }
.ds-benefit__icon { display: none; }
.ds-benefit__top::before { content: "”"; font-family: Georgia, "Times New Roman", serif; font-size: 5rem; line-height: .6; height: 2.2rem; font-weight: 700; color: var(--ds-primary); }
.ds-benefit__stars { color: #e3a32b; letter-spacing: 2px; font-size: 1rem; }
.ds-benefit h3 { font-size: 1.05rem; color: var(--ds-ink); }
.ds-benefit blockquote { color: var(--ds-ink); font-size: 1rem; line-height: 1.6; }
.ds-benefit figcaption { display: flex; align-items: center; gap: .8rem; padding-top: var(--ds-2); border-top: 1px solid var(--ds-line); }
.ds-benefit__avatar { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 50%; object-fit: cover; display: grid; place-items: center; background: var(--ds-red-soft); color: var(--ds-red-ink); font-weight: 800; }
.ds-benefit figcaption > span { display: grid; gap: .1rem; }
.ds-benefit figcaption strong { font-size: 1rem; color: var(--ds-red-ink); }
.ds-benefit figcaption a, .ds-benefit figcaption span span { font-size: .85rem; font-weight: 500; color: var(--ds-ink-2); }

/* tim: manje kartice, fotografija na istoj podlozi */
.ds-team--grid { grid-template-columns: repeat(2, 1fr); gap: var(--ds-3) var(--ds-2); }
@media (min-width: 768px) { .ds-team--grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .ds-team--grid { grid-template-columns: repeat(4, 1fr); gap: var(--ds-4) var(--ds-3); } }
.ds-person__photo { aspect-ratio: 4 / 5; background: #f6f3ee; border-radius: 20px; }
.ds-person__photo img { object-fit: cover; object-position: 50% 15%; mix-blend-mode: multiply; }
.ds-person h3 { margin-top: .25rem; font-size: 1.02rem; }
.ds-person p { font-size: .9rem; line-height: 1.45; }
.ds-person a:hover h3 { color: var(--ds-red-ink); }

/* virtualna šetnja */
.ds-tour { position: relative; aspect-ratio: 16 / 9; border-radius: 28px; overflow: hidden; background: var(--ds-ink); box-shadow: var(--ds-shadow-lg); }
.ds-tour img, .ds-tour iframe { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border: 0; }
.ds-tour::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(35, 31, 32, .55)); pointer-events: none; }
.ds-tour.is-live::after { display: none; }
.ds-tour__play { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: .75rem; min-height: 56px; padding: .6rem 1.4rem .6rem .6rem; border: 0; border-radius: 999px; background: #fff; font: inherit; font-weight: 800; color: var(--ds-ink); cursor: pointer; box-shadow: var(--ds-shadow-lg); white-space: nowrap; }
.ds-tour__play span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ds-primary); color: #fff; font-size: .8rem; }
@media (max-width: 599px) { .ds-tour { aspect-ratio: 4 / 5; } }

/* partneri i plaćanje */
.ds-section--tight-y { padding: var(--ds-6) 0; }
.ds-trust { display: grid; gap: var(--ds-6); }
@media (min-width: 1024px) { .ds-trust { grid-template-columns: 3fr 2fr; align-items: start; } }
.ds-trust__title { margin-bottom: var(--ds-2); font-size: var(--ds-fs-md); }
.ds-logos { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ds-2); align-items: center; margin: 0; padding: 0; list-style: none; }
@media (min-width: 768px) { .ds-logos { grid-template-columns: repeat(5, 1fr); } }
.ds-logos li { display: grid; place-items: center; height: 72px; padding: .75rem; border-radius: 14px; background: var(--ds-surface); }
.ds-logos img { max-height: 44px; width: auto; max-width: 100%; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter .2s ease, opacity .2s ease; }
.ds-logos a:hover img { filter: none; opacity: 1; }
.ds-payments img { width: 100%; height: auto; border-radius: 14px; }

/* česta pitanja na naslovnici */
@media (min-width: 1024px) { .ds-faq-wrap { display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--ds-8); } }

/* blog: više zraka */
.ds-cards { gap: var(--ds-6) var(--ds-4); }
.ds-card { gap: .6rem; }
.ds-card__img { border-radius: 20px; }
.ds-card h3 { font-size: 1.15rem; line-height: 1.35; }
.ds-card__text { line-height: 1.55; }

/* tražilica: popis iznad svega, ne reže ga hero */
.ds-find.is-open { z-index: 60; }

/* načini kontakta: iste kartice kao ostatak (sjena umjesto obruba, crvene ikone) */
.ds-contact-way { border: 0 !important; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 30px -20px rgba(35, 31, 32, .35); }
.ds-contact-way .ds-icon { fill: var(--ds-red-ink); }

/* ---------- izbornik: mobitel uredno dno, desktop padajuća ploča ---------- */
.ds-menu__links { grid-template-columns: repeat(2, 1fr); gap: .5rem; margin-top: var(--ds-4); padding-top: 0; border-top: 0; }
.ds-menu__links a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: .6rem; border-radius: 14px; background: var(--ds-surface); font-size: 1rem; }
.ds-menu__links a:hover { background: var(--ds-red-soft); color: var(--ds-red-ink); }
.ds-menu__contact { grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: .75rem; }
.ds-menu__contact .ds-btn { min-height: 52px; padding: .6rem .8rem; font-size: .95rem; }
@media (min-width: 1024px) {
	.ds-menu { position: fixed; inset: var(--ds-header-h) 0 auto 0; z-index: 990; background: transparent; overflow: visible; }
	.ds-menu.is-open { display: block; }
	.ds-menu::before { content: ""; position: fixed; inset: var(--ds-header-h) 0 0 0; z-index: -1; background: rgba(35, 31, 32, .18); }
	.ds-menu__top, .ds-menu__links, .ds-menu__contact { display: none !important; }
	.ds-menu__body { max-width: calc(var(--ds-max) + 2 * var(--ds-gutter)); max-height: calc(100vh - var(--ds-header-h) - 24px); overflow-y: auto; margin: 0 auto; padding: var(--ds-4); border-radius: 0 0 28px 28px; background: #fff; box-shadow: var(--ds-shadow-lg); }
	.ds-menu__cols { margin-top: var(--ds-3); }
	.ds-nav [data-ds-menu-open][aria-expanded="true"] { color: var(--ds-red-ink); }
	.ds-nav [data-ds-menu-open]::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .15s ease; }
	.ds-nav [data-ds-menu-open][aria-expanded="true"]::after { transform: translateY(0) rotate(-135deg); }
}

/* ---------- kartice tima (v3) ---------- */
.ds-team--grid .ds-person { display: block; }
.ds-team--grid .ds-person > a { display: flex; flex-direction: column; height: 100%; border-radius: 22px; background: #fff; overflow: hidden; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .4); transition: transform .2s ease, box-shadow .2s ease; }
.ds-team--grid .ds-person > a:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(35, 31, 32, .06), 0 20px 40px -24px rgba(35, 31, 32, .45); }
.ds-team--grid .ds-person__photo { aspect-ratio: 1 / 1; border-radius: 0; background: linear-gradient(180deg, #f3eee7, #ebe4da); }
.ds-team--grid .ds-person__photo img { object-position: 50% 12%; transform: scale(1.04); transform-origin: 50% 20%; }
.ds-person__body { display: grid; gap: .3rem; flex: 1; align-content: start; padding: .9rem 1rem 1rem; }
.ds-team--grid .ds-person h3 { margin: 0; font-size: 1rem; line-height: 1.3; }
.ds-person__role { font-size: .85rem; line-height: 1.4; color: var(--ds-red-ink); font-weight: 600; }
.ds-person__more { margin-top: auto; padding-top: .4rem; font-size: .85rem; font-weight: 700; color: var(--ds-accent); }
.ds-person > a:hover .ds-person__more { text-decoration: underline; }
@media (min-width: 1200px) { .page-template-team .ds-team--grid { grid-template-columns: repeat(5, 1fr); } }
@media (prefers-reduced-motion: reduce) { .ds-team--grid .ds-person > a { transition: none; } }

/* ---------- cjenik (v3): brend, kategorije sa strane, kartice ---------- */
.ds-pl-hero { padding-bottom: var(--ds-3); }
.ds-pricelist__tools { padding: .75rem 0; margin-bottom: var(--ds-4); }
.ds-pricelist__bar { display: grid; gap: .6rem; }
@media (min-width: 900px) { .ds-pricelist__bar { grid-template-columns: auto 1fr; align-items: center; gap: var(--ds-3); } }
.ds-pl-brands { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; padding: .3rem; border-radius: 18px; background: var(--ds-surface); }
.ds-pl-brand { display: flex; align-items: center; gap: .6rem; min-height: 56px; padding: .45rem .9rem; border: 0; border-radius: 14px; background: transparent; font: inherit; text-align: left; color: var(--ds-ink-2); cursor: pointer; }
.ds-pl-brand img { height: 26px; width: auto; opacity: .55; filter: grayscale(1); }
.ds-pl-brand span { display: grid; font-weight: 800; font-size: .95rem; line-height: 1.2; }
.ds-pl-brand small { font-weight: 500; font-size: .78rem; color: var(--ds-ink-2); }
.ds-pl-brand[aria-selected="true"] { background: #fff; color: var(--ds-ink); box-shadow: var(--ds-shadow-md); }
.ds-pl-brand[aria-selected="true"] img { opacity: 1; filter: none; }
@media (max-width: 599px) { .ds-pl-brand img { display: none; } }
.ds-pl-search { margin: 0; }
.ds-pl-search .ds-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); fill: var(--ds-red-ink); width: 20px; height: 20px; }
.ds-pl-search input { min-height: 56px; border-radius: 16px; background: #fff; }

.ds-pl-pane { display: grid; gap: var(--ds-4); }
.ds-pl-pane[hidden] { display: none; }
@media (min-width: 1024px) { .ds-pl-pane { grid-template-columns: 260px 1fr; gap: var(--ds-6); align-items: start; } }
.ds-pl-nav { display: none; }
@media (min-width: 1024px) {
	.ds-pl-nav { display: block; position: sticky; top: calc(var(--ds-header-h) + 100px); max-height: calc(100vh - var(--ds-header-h) - 120px); overflow-y: auto; }
	.ds-pl-nav ul { margin: 0; padding: 0; list-style: none; }
	.ds-pl-nav a { display: flex; justify-content: space-between; gap: .75rem; padding: .55rem .75rem; border-radius: 10px; color: var(--ds-ink); text-decoration: none; font-weight: 600; font-size: .92rem; line-height: 1.3; }
	.ds-pl-nav a:hover { background: var(--ds-surface); color: var(--ds-red-ink); }
	.ds-pl-nav small { color: var(--ds-ink-2); font-weight: 500; }
}
.ds-pl-nav__title { margin: 0 0 .5rem .75rem; font-size: .8rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-pl-pane__label { display: none; margin: 0 0 .5rem; font-weight: 800; color: var(--ds-red-ink); }
.ds-pl-pane.is-search .ds-pl-pane__label { display: block; }
.ds-pl-pane.is-search .ds-pl-nav { display: none; }
.ds-pl-pane.is-search { grid-template-columns: 1fr; }
.ds-pl-groups { display: grid; gap: var(--ds-3); min-width: 0; }
.ds-pl-group { padding: var(--ds-3); border-radius: 22px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .35); scroll-margin-top: calc(var(--ds-header-h) + 110px); }
.ds-pl-group + .ds-pl-group { margin-top: 0; }
.ds-pl-group h2 { margin-bottom: .5rem; font-size: 1.2rem; }
.ds-pl-list { border-top: 0; }
.ds-pl-item { grid-template-columns: 1fr auto auto; align-items: center; gap: .25rem 1rem; padding: .7rem 0; border-bottom: 1px solid var(--ds-line); }
.ds-pl-item:last-child { border-bottom: 0; padding-bottom: 0; }
.ds-pl-item__name a, .ds-pl-item__name > span:first-child { color: var(--ds-ink); font-weight: 600; line-height: 1.35; }
.ds-pl-item__price { display: flex; align-items: baseline; gap: .5rem; white-space: nowrap; }
.ds-pl-item__price strong { font-size: 1.02rem; }
.ds-pl-item__price strong.is-sale { color: var(--ds-red-ink); }
.ds-pl-item__ask { display: inline-flex; align-items: center; min-height: 36px; padding: .3rem .85rem; border: 1.5px solid color-mix(in srgb, var(--ds-primary) 35%, #fff); border-radius: 999px; font-size: .85rem; text-decoration: none; }
.ds-pl-item__ask:hover { background: var(--ds-primary); border-color: var(--ds-primary); color: #fff; }
@media (max-width: 599px) {
	.ds-pl-group { padding: 1rem; }
	.ds-pl-item { grid-template-columns: 1fr auto; }
	.ds-pl-item__ask { grid-column: 2; grid-row: 1 / span 2; }
	.ds-pl-item__price { grid-column: 1; }
}
.ds-pricelist[data-brand="beauty"] .ds-pl-group h2 { font-family: "Cinzel", Georgia, serif; color: #194337; }

/* ---------- područje s puno usluga: popis u skupinama ---------- */
.ds-svc-lists { display: grid; gap: var(--ds-3); align-items: start; }
@media (min-width: 900px) { .ds-svc-lists { grid-template-columns: repeat(2, 1fr); } }
.ds-svc-list { padding: var(--ds-3); border-radius: 22px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .35); }
.ds-svc-list h2 { display: flex; align-items: baseline; gap: .5rem; margin-bottom: .4rem; font-size: 1.15rem; }
.ds-svc-list h2 small { font-size: .85rem; font-weight: 600; color: var(--ds-ink-2); }
.ds-svc-list ul { margin: 0; padding: 0; list-style: none; }
.ds-svc-list li { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid var(--ds-line); }
.ds-svc-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.ds-svc-list li[hidden] { display: none; }
.ds-svc-list__name { color: var(--ds-ink); font-weight: 600; text-decoration: none; line-height: 1.35; }
.ds-svc-list__name:hover { color: var(--ds-red-ink); text-decoration: underline; }
.ds-svc-list__price { font-weight: 800; color: var(--ds-red-ink); white-space: nowrap; font-size: .95rem; }
.ds-svc-list[hidden] { display: none; }

/* ---------- hook u vrhu: ocjena, recenzija, činjenice ---------- */
.ds-hook { display: grid; gap: .9rem; margin-top: var(--ds-3); }
.ds-hook__rating { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .45rem; justify-self: start; padding: .45rem .8rem .45rem .45rem; border-radius: 999px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .06), 0 6px 18px -12px rgba(35, 31, 32, .35); color: var(--ds-ink-2); text-decoration: none; font-size: .88rem; }
.ds-hook__rating strong { font-size: 1rem; color: var(--ds-ink); }
.ds-hook__g { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: conic-gradient(#ea4335 0 25%, #fbbc05 0 50%, #34a853 0 75%, #4285f4 0); color: #fff; font-weight: 800; font-size: .8rem; }
.ds-hook__quote { display: flex; align-items: center; gap: .7rem; margin: 0; }
.ds-hook__quote img { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
.ds-hook__quote blockquote { margin: 0; font-size: .95rem; line-height: 1.45; color: var(--ds-ink); font-style: italic; }
.ds-hook__quote figcaption { display: inline; margin-left: .4rem; font-style: normal; font-size: .85rem; font-weight: 700; color: var(--ds-red-ink); }
.ds-hook__facts { display: flex; flex-wrap: wrap; gap: .4rem 1.1rem; margin: 0; padding: 0; list-style: none; font-size: .9rem; font-weight: 600; color: var(--ds-ink); }
.ds-hook__facts li { display: inline-flex; align-items: center; gap: .4rem; }
.ds-hook__facts li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: var(--ds-red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b8323d' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 12px no-repeat; }
.ds-hook--compact { margin-top: var(--ds-2); }
.ds-home-hero .ds-hook { padding-top: var(--ds-3); border-top: 1px solid var(--ds-line); }
.ds-hook__quotes { display: grid; }
.ds-hook__quotes > .ds-hook__quote { grid-area: 1 / 1; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.ds-hook__quotes > .ds-hook__quote.is-on { opacity: 1; visibility: visible; }
.ds-hook__initial { flex: 0 0 40px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--ds-red-soft); color: var(--ds-red-ink); font-weight: 800; }
.ds-pl-nav a { align-items: center; }
.ds-pl-nav a img { flex: 0 0 28px; width: 28px; height: 28px; object-fit: contain; padding: 3px; border-radius: 8px; background: var(--ds-red-soft); }
.ds-pl-nav a span { flex: 1; }
.ds-pl-group h2 { display: flex; align-items: center; gap: .75rem; }
.ds-pl-group__icon { flex: 0 0 40px; width: 40px; height: 40px; object-fit: contain; padding: 5px; border-radius: 12px; background: var(--ds-red-soft); }
.ds-pricelist[data-brand="beauty"] .ds-pl-nav a img, .ds-pricelist[data-brand="beauty"] .ds-pl-group__icon { background: #f3f1ed; }
.ds-pl-brand:focus:not(:focus-visible) { outline: none; }

/* načini kontakta: ikona u kvadratu, poravnata s oba retka */
.ds-contact-way { align-items: center !important; gap: 1rem; padding: 1.1rem 1.25rem !important; transition: transform .15s ease, box-shadow .15s ease; }
.ds-contact-way:hover { transform: translateY(-2px); }
.ds-contact-way .ds-icon { flex: 0 0 48px; width: 48px; height: 48px; margin: 0 !important; padding: 13px; border-radius: 14px; background: var(--ds-red-soft); box-sizing: border-box; }
.ds-contact-way span { gap: .1rem !important; min-width: 0; font-weight: 700; font-size: 1.02rem; line-height: 1.35; overflow-wrap: anywhere; }
.ds-contact-way strong { font-size: .8rem; font-weight: 600; color: var(--ds-ink-2); }
@media (prefers-reduced-motion: reduce) { .ds-contact-way { transition: none; } }
.ds-map.is-loaded { position: relative; min-height: 360px; border-radius: 22px; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .35); background: var(--ds-surface); }
.ds-map.is-loaded iframe { position: absolute; inset: 0; height: 100%; }
.ds-map__open { position: absolute; left: .75rem; bottom: .75rem; padding: .5rem .9rem; border-radius: 999px; background: #fff; box-shadow: var(--ds-shadow-md); font-size: .88rem; font-weight: 700; color: var(--ds-ink); text-decoration: none; }
.ds-map__open:hover { color: var(--ds-red-ink); }
.ds-directions .ds-info-card { background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .35); }
@media (min-width: 900px) { .ds-directions { align-items: stretch; } .ds-directions .ds-map.is-loaded { min-height: 100%; } }

/* ---------- blog v3: kartice, istaknuti članak, članak u dva stupca ---------- */
.ds-cards { gap: var(--ds-4) var(--ds-3); }
.ds-card { display: block; }
.ds-card > a { display: flex; flex-direction: column; height: 100%; border-radius: 22px; background: #fff; overflow: hidden; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .4); transition: transform .2s ease, box-shadow .2s ease; }
.ds-card > a:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(35, 31, 32, .06), 0 20px 40px -24px rgba(35, 31, 32, .45); }
.ds-card > a:focus-visible { outline: 3px solid var(--ds-accent); outline-offset: 3px; border-radius: 22px; }
.ds-card__img { border-radius: 0 !important; aspect-ratio: 16 / 10; }
.ds-card__img img { transition: transform .4s ease; }
.ds-card > a:hover .ds-card__img img { transform: scale(1.03); }
.ds-card__body { display: flex; flex-direction: column; gap: .5rem; flex: 1; padding: 1.1rem 1.25rem 1.2rem; }
.ds-card__label { align-self: flex-start; padding: .2rem .6rem; border-radius: 999px; background: var(--ds-red-soft); color: var(--ds-red-ink); font-size: .75rem; font-weight: 700; }
.ds-card h3, .ds-card h2 { margin: 0; font-size: 1.12rem; line-height: 1.35; color: var(--ds-ink); }
.ds-card__text { margin: 0; color: var(--ds-ink-2); font-size: .95rem; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ds-card__meta { display: flex; align-items: center; gap: .5rem; margin-top: auto; padding-top: .6rem; font-size: .82rem; font-weight: 600; color: var(--ds-ink); }
.ds-card__avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: top; }
.ds-card__time { margin-left: auto; font-weight: 500; color: var(--ds-ink-2); }
@media (min-width: 900px) {
	.ds-cards--blog .ds-card--featured { grid-column: 1 / -1; }
	.ds-card--featured > a { display: grid; grid-template-columns: 1.3fr 1fr; }
	.ds-card--featured .ds-card__img { aspect-ratio: auto; min-height: 340px; }
	.ds-card--featured .ds-card__body { justify-content: center; padding: var(--ds-6) var(--ds-6); gap: .8rem; }
	.ds-card--featured h2 { font-size: var(--ds-fs-xl); line-height: 1.15; }
	.ds-card--featured .ds-card__text { -webkit-line-clamp: 4; font-size: 1.02rem; }
	.ds-card--featured .ds-card__meta { margin-top: .5rem; }
}
@media (prefers-reduced-motion: reduce) { .ds-card > a, .ds-card__img img { transition: none; } }

.ds-article-hero { background: linear-gradient(180deg, var(--ds-red-soft), #fff); }
.ds-article-hero__grid { display: grid; gap: var(--ds-4); align-items: center; }
@media (min-width: 1024px) { .ds-article-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ds-6); } .ds-article-hero__grid .ds-article__media { margin-top: 0; } }
.ds-article-hero h1 { font-size: clamp(1.8rem, 1.2rem + 2.2vw, 2.8rem); }
.ds-article__media { box-shadow: var(--ds-shadow-lg); }
.ds-article-layout { display: grid; gap: var(--ds-4); }
.ds-article-main { min-width: 0; max-width: 46rem; }
.ds-article-aside { display: grid; gap: var(--ds-3); align-content: start; }
@media (min-width: 1024px) {
	.ds-article-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--ds-8); }
	.ds-article-aside { position: sticky; top: calc(var(--ds-header-h) + 1.5rem); }
	.ds-article-main .ds-article-toc { display: none; }
}
@media (max-width: 1023px) { .ds-aside-toc { display: none; } }
.ds-aside-card { padding: 1.25rem; border-radius: 22px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .4); }
.ds-aside-card__title { margin: 0 0 .6rem; font-size: .85rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-aside-toc ol { margin: 0; padding-left: 1.1rem; display: grid; gap: .45rem; font-size: .92rem; line-height: 1.4; }
.ds-aside-toc a { color: var(--ds-ink); text-decoration: none; }
.ds-aside-toc a:hover { color: var(--ds-red-ink); text-decoration: underline; }
.ds-aside-cta { display: grid; gap: .75rem; background: var(--ds-red-soft); box-shadow: none; }
.ds-aside-cta p { margin: 0; }
.ds-aside-cta__svc { display: grid; gap: .1rem; color: var(--ds-ink); text-decoration: none; }
.ds-aside-cta__svc strong { font-size: 1.1rem; line-height: 1.3; }
.ds-aside-cta__svc span { font-weight: 800; color: var(--ds-red-ink); }
.ds-aside-cta__phone { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; font-weight: 700; color: var(--ds-ink); text-decoration: none; }
.ds-pl-item__desc { font-size: .85rem; line-height: 1.45; color: var(--ds-ink-2); }
.ds-area-hero__intro { margin: .25rem 0 0; font-size: var(--ds-fs-md); font-weight: 600; color: var(--ds-red-ink); }
.ds-table-wrap { overflow-x: auto; border-radius: 18px; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .35); background: #fff; }
.ds-table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .92rem; }
.ds-table th, .ds-table td { padding: .7rem .9rem; border-bottom: 1px solid var(--ds-line); text-align: left; vertical-align: top; }
.ds-table thead th { background: var(--ds-surface); font-size: .8rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-table tbody th { font-weight: 600; }
.ds-table tbody tr:last-child > * { border-bottom: 0; }
.ds-svc-card__desc { font-size: .88rem; line-height: 1.45; color: var(--ds-ink-2); }
.ds-reviews { margin-top: var(--ds-4); }
.ds-reviews__title { margin: 0 0 .75rem; font-weight: 700; }
.ds-reviews__list { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, 82%); gap: var(--ds-2); margin: 0; padding: .25rem .25rem 1rem; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
@media (min-width: 768px) { .ds-reviews__list { grid-auto-columns: calc((100% - 2 * var(--ds-2)) / 3); } }
.ds-review { display: flex; flex-direction: column; gap: .6rem; padding: 1.1rem 1.2rem; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 26px -20px rgba(35, 31, 32, .35); scroll-snap-align: start; }
.ds-review p { margin: 0; font-size: .93rem; line-height: 1.55; color: var(--ds-ink); }
.ds-review__by { display: flex; align-items: center; gap: .55rem; margin-top: auto; font-size: .88rem; }
.ds-review__by img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.ds-review__by strong { color: var(--ds-red-ink); }
.ds-review__by a { margin-left: auto; font-size: .8rem; color: var(--ds-ink-2); }

/* ---------- traka recenzija (v4): manje kartice, vidi se da ih ima više ---------- */
.ds-reviews { position: relative; margin-top: var(--ds-6); }
.ds-reviews__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.ds-reviews__title { margin: 0; font-weight: 800; font-size: 1.1rem; }
.ds-reviews__title span { margin-left: .4rem; font-size: .85rem; font-weight: 600; color: var(--ds-ink-2); }
.ds-reviews__nav { display: flex; gap: .4rem; }
.ds-reviews__btn { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #fff; box-shadow: var(--ds-shadow-md); font-size: 1.4rem; line-height: 1; color: var(--ds-ink); cursor: pointer; }
.ds-reviews__btn:disabled { opacity: .35; cursor: default; }
.ds-reviews__list { grid-auto-columns: 78%; gap: .75rem; padding: .25rem 2.5rem 1rem .25rem; -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
@media (min-width: 600px) { .ds-reviews__list { grid-auto-columns: 300px; } }
.ds-review { gap: .5rem; padding: .95rem 1rem; border-radius: 16px; }
.ds-review__top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.ds-review .ds-stars { font-size: .85rem; letter-spacing: 1px; }
.ds-review__tag { padding: .15rem .55rem; border-radius: 999px; background: var(--ds-red-soft); color: var(--ds-red-ink); font-size: .72rem; font-weight: 700; white-space: nowrap; }
.ds-review p { font-size: .88rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.ds-review__by { gap: .5rem; font-size: .82rem; }
.ds-review__by img, .ds-review__initial { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.ds-review__initial { display: grid; place-items: center; background: var(--ds-red-soft); color: var(--ds-red-ink); font-weight: 800; }
.ds-review__by > span { display: grid; line-height: 1.3; }
.ds-review__by a, .ds-review__by small { margin: 0; font-size: .75rem; color: var(--ds-ink-2); }
.ds-reviews__all { margin: .25rem 0 0; font-size: .9rem; }

/* =====================================================================
   Beauty identitet (tamnozelena, zlatna, Cinzel) i jača tražilica
   ===================================================================== */
:root { --sb-green: #194337; --sb-green-2: #0f2d24; --sb-gold: #b09250; --sb-cream: #f3ecdf; }

/* tražilica vidljivija */
.ds-find__input { border: 1.5px solid #cfcfd8; box-shadow: 0 10px 30px -18px rgba(35, 31, 32, .35); }
.ds-find__input:hover { border-color: #a9a9b5; }

/* hero: kraće, mirnije */
.ds-home-hero h1 { max-width: 14ch; font-size: clamp(2.2rem, 1.4rem + 3vw, 3.6rem); }
.ds-home-hero .ds-hero__lead { font-size: 1.15rem; }
.ds-home-hero .ds-hook { padding-top: var(--ds-2); }
.ds-home-hero__beauty { background: var(--sb-green) !important; color: var(--sb-cream) !important; border: 1px solid var(--sb-gold); box-shadow: 0 18px 40px -20px rgba(15, 45, 36, .7) !important; font-family: "Cinzel", Georgia, serif; font-weight: 600; letter-spacing: .02em; padding: .9rem 1.3rem !important; }
.ds-home-hero__beauty img { height: 30px; }
.ds-home-hero__beauty:hover { background: var(--sb-green-2) !important; }

/* gumb u zlatnoj */
.ds-btn--gold { background: var(--sb-gold); color: var(--sb-green-2) !important; }
.ds-btn--gold:hover { background: #c4a865; }

/* Beauty odjeljak na naslovnici */
.ds-beauty-band { position: relative; padding: var(--ds-8) 0; background: radial-gradient(120% 90% at 85% 10%, #22574a 0%, var(--sb-green) 45%, var(--sb-green-2) 100%); color: var(--sb-cream); overflow: hidden; }
.ds-beauty-band::before { content: ""; position: absolute; inset: 1.25rem; border: 1px solid rgba(176, 146, 80, .35); border-radius: 28px; pointer-events: none; }
.ds-beauty-band__grid { position: relative; display: grid; gap: var(--ds-6); align-items: center; }
@media (min-width: 900px) { .ds-beauty-band__grid { grid-template-columns: 1.1fr .9fr; gap: var(--ds-8); } }
.ds-beauty-band__logo { height: 44px; width: auto; margin-bottom: var(--ds-3); }
.ds-beauty-band h2 { font-family: "Cinzel", Georgia, serif; font-weight: 600; font-size: clamp(1.8rem, 1.2rem + 2.2vw, 2.8rem); letter-spacing: .03em; color: var(--sb-cream); }
.ds-beauty-band__lead { margin: .75rem 0 var(--ds-4); font-size: 1.1rem; color: rgba(243, 236, 223, .85); max-width: 32rem; }
.ds-beauty-band__list { margin: 0 0 var(--ds-4); padding: 0; list-style: none; border-top: 1px solid rgba(176, 146, 80, .35); max-width: 34rem; }
.ds-beauty-band__list a { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid rgba(176, 146, 80, .35); color: var(--sb-cream); text-decoration: none; font-size: 1.05rem; }
.ds-beauty-band__list a:hover span { color: #fff; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--sb-gold); }
.ds-beauty-band__list em { font-style: normal; font-family: "Cinzel", Georgia, serif; color: var(--sb-gold); white-space: nowrap; }
.ds-beauty-band__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 0; }
.ds-beauty-band__link { color: var(--sb-cream); font-weight: 600; text-underline-offset: 4px; }
.ds-beauty-band__media { position: relative; }
.ds-beauty-band__media img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 240px 240px 24px 24px; box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6); }
.ds-beauty-band__media::after { content: ""; position: absolute; inset: -12px; border: 1px solid var(--sb-gold); border-radius: 252px 252px 32px 32px; opacity: .6; pointer-events: none; }
@media (max-width: 899px) { .ds-beauty-band__media { max-width: 340px; margin: 0 auto; } }

/* Beauty pločica u područjima, izborniku i popisu usluga */
.ds-area-grid li.is-beauty { grid-column: 1 / -1; }
.ds-area-grid li.is-beauty .ds-area { background: var(--sb-green); color: var(--sb-cream); box-shadow: none; border: 1px solid var(--sb-gold); }
.ds-area-grid li.is-beauty .ds-area__icon { background: var(--sb-cream); }
.ds-area-grid li.is-beauty .ds-area__name { font-family: "Cinzel", Georgia, serif; font-weight: 600; letter-spacing: .03em; font-size: 1.2rem; }
.ds-area-grid li.is-beauty .ds-muted { color: rgba(243, 236, 223, .75); }
.ds-menu__areas li.is-beauty { grid-column: 1 / -1; }
.ds-menu__areas li.is-beauty a { background: var(--sb-green); color: var(--sb-cream); border: 1px solid var(--sb-gold); }
.ds-menu__areas li.is-beauty a:hover { background: var(--sb-green-2); }
.ds-menu__areas li.is-beauty small { color: rgba(243, 236, 223, .75); }
.ds-menu__areas li.is-beauty span { font-family: "Cinzel", Georgia, serif; font-weight: 600; letter-spacing: .02em; }
.ds-menu__areas img.ds-menu__beauty-logo { flex: 0 0 auto; width: auto; height: 28px; }
.ds-area-block.is-beauty { margin: var(--ds-2) 0; padding: var(--ds-4) 0; background: #f3f1ed; }
.ds-area-block.is-beauty h2 { font-family: "Cinzel", Georgia, serif; font-weight: 600; color: var(--sb-green); }

/* Beauty područje i landing: isti vrh kao Beauty odjeljak na naslovnici */
body.ds.beauty .ds-area-hero, body.ds.beauty .ds-landing-hero { background: radial-gradient(120% 90% at 85% 10%, #22574a 0%, var(--sb-green) 45%, var(--sb-green-2) 100%); color: var(--sb-cream); }
body.ds.beauty .ds-area-hero h1, body.ds.beauty .ds-landing-hero h1 { color: var(--sb-cream); font-weight: 600; letter-spacing: .03em; }
body.ds.beauty .ds-area-hero .ds-hero__lead, body.ds.beauty .ds-landing-hero .ds-hero__lead { color: rgba(243, 236, 223, .85); }
body.ds.beauty .ds-area-hero .ds-crumbs, body.ds.beauty .ds-area-hero .ds-crumbs a { color: rgba(243, 236, 223, .7); }
body.ds.beauty .ds-area-hero__intro { color: var(--sb-gold); font-family: "Cinzel", Georgia, serif; font-weight: 600; }
body.ds.beauty .ds-area-hero__icon { background: var(--sb-cream); box-shadow: none; }
body.ds.beauty .ds-area-hero__media img { border-radius: 240px 240px 24px 24px; }
body.ds.beauty .ds-area-hero .ds-btn--primary, body.ds.beauty .ds-landing-hero .ds-btn--primary { background: var(--sb-gold); color: var(--sb-green-2) !important; }
body.ds.beauty .ds-landing-hero .ds-btn--secondary { background: transparent; border-color: var(--sb-cream); color: var(--sb-cream) !important; }
body.ds.beauty .ds-hook__rating { background: rgba(255, 255, 255, .95); }
body.ds.beauty .ds-area-hero .ds-hook__quote blockquote, body.ds.beauty .ds-landing-hero .ds-hook__quote blockquote { color: var(--sb-cream); }
body.ds.beauty .ds-area-hero .ds-hook__quote figcaption, body.ds.beauty .ds-landing-hero .ds-hook__quote figcaption { color: var(--sb-gold); }
body.ds.beauty .ds-landing-hero .ds-hook__facts { color: var(--sb-cream); }

/* ---------- kartice usluga na područjima ---------- */
.ds-area-services { padding-bottom: var(--ds-6); }
.ds-area-services__bar { position: sticky; top: calc(var(--ds-header-h) + .5rem); z-index: 20; display: grid; gap: .75rem; margin: 0 0 var(--ds-4); padding: 1rem; border-radius: 20px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(8px); box-shadow: 0 1px 2px rgba(35, 31, 32, .06), 0 14px 34px -22px rgba(35, 31, 32, .4); }
.ds-area-services__bar .ds-filter-search { margin: 0; max-width: none; }
.ds-area-services__bar .ds-toc { margin: 0; }
.ds-area-services__bar .ds-toc small { margin-left: .25rem; color: var(--ds-ink-2); font-weight: 500; }
.ds-area-services__group { scroll-margin-top: calc(var(--ds-header-h) + 150px); }
.ds-area-services__group + .ds-area-services__group { margin-top: var(--ds-6); }
.ds-area-services__group h2 { margin-bottom: var(--ds-3); font-size: var(--ds-fs-lg); }
.ds-tiles { display: grid; gap: var(--ds-3); margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .ds-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .ds-tiles { grid-template-columns: repeat(3, 1fr); } .ds-tiles--h { grid-template-columns: repeat(2, 1fr); } }
.ds-tile { position: relative; display: flex; flex-direction: column; border-radius: 22px; background: #fff; overflow: hidden; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 12px 30px -22px rgba(35, 31, 32, .4); transition: transform .2s ease, box-shadow .2s ease; }
.ds-tile:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(35, 31, 32, .06), 0 20px 40px -24px rgba(35, 31, 32, .45); }
.ds-tile__img { aspect-ratio: 16 / 10; background: var(--ds-surface); overflow: hidden; }
.ds-tile__img img { width: 100%; height: 100%; object-fit: cover; }
.ds-tile__body { display: flex; flex-direction: column; gap: .45rem; flex: 1; padding: 1rem 1.15rem 1.1rem; }
.ds-tile h3 { margin: 0; font-size: 1.08rem; line-height: 1.3; }
.ds-tile__link { color: var(--ds-ink); text-decoration: none; }
.ds-tile__link::after { content: ""; position: absolute; inset: 0; }
.ds-tile__link:focus-visible { outline: none; }
.ds-tile:has(.ds-tile__link:focus-visible) { outline: 3px solid var(--ds-accent); outline-offset: 3px; }
.ds-tile p { margin: 0; font-size: .92rem; line-height: 1.5; color: var(--ds-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ds-tile__foot { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: auto; padding-top: .6rem; }
.ds-tile__price { font-weight: 800; color: var(--ds-red-ink); }
.ds-tile__ask { position: relative; z-index: 1; display: inline-flex; align-items: center; min-height: 36px; padding: .3rem .9rem; border: 1.5px solid color-mix(in srgb, var(--ds-primary) 35%, #fff); border-radius: 999px; font-size: .85rem; font-weight: 700; color: var(--ds-red-ink); text-decoration: none; background: #fff; }
.ds-tile__ask:hover { background: var(--ds-primary); border-color: var(--ds-primary); color: #fff; }
.ds-tile--h { flex-direction: row; align-items: stretch; }
.ds-tile--h .ds-tile__img { flex: 0 0 96px; aspect-ratio: auto; }
.ds-tile--h .ds-tile__body { padding: .85rem 1rem; gap: .3rem; }
.ds-tile--h h3 { font-size: 1rem; }
.ds-tile--h p { -webkit-line-clamp: 2; font-size: .86rem; }
.ds-tile--h .ds-tile__foot { padding-top: .35rem; }
@media (prefers-reduced-motion: reduce) { .ds-tile { transition: none; } }
body.ds.beauty .ds-tile h3 { font-family: "Cinzel", Georgia, serif; font-weight: 600; letter-spacing: .02em; }
body.ds.beauty .ds-tile__price { color: var(--sb-green); }
body.ds.beauty .ds-tile__ask { color: var(--sb-green); border-color: rgba(25, 67, 55, .35); }
body.ds.beauty .ds-tile__ask:hover { background: var(--sb-green); color: #fff; }
body.ds.beauty .ds-tile__img { aspect-ratio: 4 / 3; }

/* ---------- Beauty vrh: svijetao (krem), kao na starom webu, zeleni naglasci ---------- */
body.ds.beauty .ds-area-hero, body.ds.beauty .ds-landing-hero { background: linear-gradient(180deg, #f3eee6 0%, #f7f4ee 100%); color: var(--sb-green); }
body.ds.beauty .ds-area-hero h1, body.ds.beauty .ds-landing-hero h1 { color: var(--sb-green-2); }
body.ds.beauty .ds-area-hero .ds-hero__lead, body.ds.beauty .ds-landing-hero .ds-hero__lead { color: #4b5a54; }
body.ds.beauty .ds-area-hero .ds-crumbs, body.ds.beauty .ds-area-hero .ds-crumbs a { color: #6d7a74; }
body.ds.beauty .ds-area-hero__intro { color: #8a6f33; }
body.ds.beauty .ds-area-hero__icon { background: #fff; }
body.ds.beauty .ds-area-hero .ds-hook__quote blockquote, body.ds.beauty .ds-landing-hero .ds-hook__quote blockquote, body.ds.beauty .ds-landing-hero .ds-hook__facts { color: var(--sb-green-2); }
body.ds.beauty .ds-area-hero .ds-hook__quote figcaption, body.ds.beauty .ds-landing-hero .ds-hook__quote figcaption { color: #8a6f33; }
body.ds.beauty .ds-area-hero .ds-btn--primary, body.ds.beauty .ds-landing-hero .ds-btn--primary { background: var(--sb-green); color: var(--sb-cream) !important; }
body.ds.beauty .ds-landing-hero .ds-btn--secondary { border-color: var(--sb-green); color: var(--sb-green) !important; }
body.ds.beauty .ds-area-hero__media::after { content: ""; }

/* ---------- gornja traka (kao na starom webu) ---------- */
.ds-topbar { background: var(--ds-red-soft); font-size: .88rem; }
.ds-topbar__row { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .35rem 1.75rem; padding-top: .45rem; padding-bottom: .45rem; }
.ds-topbar a { display: inline-flex; align-items: center; gap: .45rem; color: var(--ds-ink); text-decoration: none; font-weight: 600; }
.ds-topbar a:hover { color: var(--ds-red-ink); }
.ds-topbar .ds-icon { width: 16px; height: 16px; fill: var(--ds-red-ink); }
@media (max-width: 767px) {
	.ds-topbar__row { justify-content: center; gap: .3rem 1rem; font-size: .8rem; }
	.ds-topbar__row a:nth-child(2) { display: none; } /* na mobitelu telefon i adresa; e-mail je u kontaktu */
}
body.ds.beauty .ds-topbar { background: #f3eee6; }
body.ds.beauty .ds-topbar .ds-icon { fill: var(--sb-green); }
@media (min-width: 1024px) {
	.ds-menu { inset: var(--ds-menu-top, var(--ds-header-h)) 0 auto 0; }
	.ds-menu::before { inset: var(--ds-menu-top, var(--ds-header-h)) 0 0 0; }
	.ds-menu__body { max-height: calc(100vh - var(--ds-menu-top, var(--ds-header-h)) - 24px); }
}

/* ---------- laboratorijske pretrage ---------- */
.ds-az-nav { display: flex; flex-wrap: wrap; gap: .25rem; }
.ds-az-nav a { display: inline-grid; place-items: center; min-width: 32px; height: 32px; padding: 0 .4rem; border-radius: 8px; background: var(--ds-surface); color: var(--ds-ink); font-weight: 700; font-size: .85rem; text-decoration: none; }
.ds-az-nav a:hover { background: var(--ds-red-soft); color: var(--ds-red-ink); }
.ds-az { columns: 1; column-gap: var(--ds-3); }
@media (min-width: 700px) { .ds-az { columns: 2; } }
@media (min-width: 1100px) { .ds-az { columns: 3; } }
.ds-az__group { break-inside: avoid; margin: 0 0 var(--ds-3); padding: 1rem 1.15rem .5rem; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 26px -20px rgba(35, 31, 32, .35); scroll-margin-top: calc(var(--ds-header-h) + 140px); }
.ds-az__letter { font-size: 1.3rem; margin-bottom: .25rem; }
.ds-az li:last-child a { border-bottom: 0; }
.ds-az li a { padding: .5rem 0; font-size: .95rem; }
.ds-brand-switch { display: inline-flex; margin-right: auto; padding: 2px; border-radius: 999px; background: rgba(255, 255, 255, .7); }
.ds-topbar .ds-brand-switch a { padding: .15rem .75rem; border-radius: 999px; font-size: .8rem; font-weight: 700; color: var(--ds-ink-2); }
.ds-topbar .ds-brand-switch a[aria-current] { background: #fff; color: var(--ds-ink); box-shadow: 0 1px 3px rgba(35, 31, 32, .15); }
.ds-topbar .ds-brand-switch a:last-child { font-family: "Cinzel", Georgia, serif; letter-spacing: .02em; }
@media (max-width: 767px) { .ds-brand-switch { margin-right: 0; order: -1; } .ds-topbar__row { justify-content: space-between; } .ds-topbar__row a:nth-child(4) { display: none; } }
@media (max-width: 767px) {
	.ds-topbar__row a:nth-child(2) { display: inline-flex; }   /* telefon */
	.ds-topbar__row > a:nth-child(3), .ds-topbar__row > a:nth-child(4) { display: none; } /* e-mail i adresa samo na većim ekranima */
}

/* obrazac: neobavezna polja skupljena, kompaktnije na mobitelu */
body.ds .sc-more { border-radius: 14px; background: var(--ds-surface); }
body.ds .sc-more > summary { display: flex; align-items: center; gap: .5rem; min-height: 52px; padding: 0 1rem; font-weight: 700; color: var(--ds-accent); cursor: pointer; list-style: none; }
body.ds .sc-more > summary::before { content: "+"; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #fff; font-weight: 800; }
body.ds .sc-more[open] > summary::before { content: "–"; }
body.ds .sc-more[open] { padding-bottom: 1rem; }
body.ds .sc-more > .sc-field { margin: .75rem 1rem 0; }
body.ds .sc-more .sc-input { background-color: #fff; }
@media (max-width: 599px) {
	body.ds .sc-form { gap: .85rem; }
	body.ds .sc-input { min-height: 50px; padding-top: .7rem; padding-bottom: .7rem; }
	body.ds .sc-combo__btn { min-height: 54px; }
	body.ds .sc-chip span { min-height: 58px; gap: .2rem; font-size: .85rem; }
	body.ds .sc-field__label { margin-bottom: .3rem; font-size: .85rem; }
	body.ds .sc-form__submit { min-height: 54px; }
	body.ds .sc-consent { font-size: .8rem; }
	.ds-inquiry__card { padding: 1.1rem !important; }
}

/* partneri i načini plaćanja: veći, jedni ispod drugih */
.ds-trust { grid-template-columns: 1fr !important; gap: var(--ds-6); }
.ds-trust__title { font-size: var(--ds-fs-lg); text-align: center; }
.ds-logos { grid-template-columns: repeat(2, 1fr); gap: var(--ds-2); max-width: 1000px; margin: 0 auto; }
@media (min-width: 600px) { .ds-logos { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 900px) { .ds-logos { grid-template-columns: repeat(5, 1fr); } }
.ds-logos li { height: 110px; padding: 1rem 1.25rem; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 26px -20px rgba(35, 31, 32, .35); border-radius: 18px; }
.ds-logos img { max-height: 64px; filter: none; opacity: 1; }
.ds-payments { display: block; max-width: 900px; margin: 0 auto; }
.ds-payments img { padding: 1rem; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 26px -20px rgba(35, 31, 32, .35); border-radius: 18px; box-sizing: border-box; }
@media (max-width: 599px) { body.ds .sc-more > summary .sc-optional { display: none; } }
@media (max-width: 639px) {
	.ds-area-services__bar { position: static; padding: .75rem; }
	.ds-tiles { gap: .75rem; }
	.ds-tile { flex-direction: row; align-items: stretch; }
	.ds-tile .ds-tile__img, body.ds.beauty .ds-tile__img { flex: 0 0 104px; aspect-ratio: auto; }
	.ds-tile__body { padding: .8rem .9rem; gap: .3rem; }
	.ds-tile h3 { font-size: .98rem; }
	.ds-tile p { -webkit-line-clamp: 2; font-size: .84rem; }
	.ds-tile__foot { padding-top: .3rem; }
}
@media (max-width: 599px) { .ds-pl-item__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } }
@media (min-width: 1024px) { .ds-article-aside { align-self: start; } }

/* hero: telefon kao mali redak ispod gumba */
.ds-home-hero__actions { justify-content: flex-start !important; }
.ds-home-hero__phone { flex-basis: 100%; font-size: .92rem; font-weight: 500; color: var(--ds-ink-2); }
.ds-home-hero__phone a { font-weight: 700; color: var(--ds-ink); text-decoration: none; white-space: nowrap; }
.ds-home-hero__phone a:hover { color: var(--ds-red-ink); }

/* mobilna traka: plutajući tanki "pill", skriva se pri listanju prema dolje */
@media (max-width: 1023px) {
	.ds-actionbar { left: .75rem; right: .75rem; bottom: calc(.6rem + env(safe-area-inset-bottom)); grid-template-columns: auto auto 1fr; gap: .4rem; padding: .35rem; border-radius: 999px; background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 10px 30px -10px rgba(35, 31, 32, .35), 0 0 0 1px rgba(35, 31, 32, .06); transition: transform .45s cubic-bezier(.22, .61, .36, 1), opacity .3s ease; }
	.ds-actionbar.is-hidden { transform: translateY(140%); opacity: 0; pointer-events: none; }
	.ds-actionbar a { min-height: 44px; }
	.ds-actionbar__wa { width: 44px; height: 44px; }
	.ds-actionbar__wa svg { width: 22px; height: 22px; }
	.ds-actionbar__call { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0 !important; border-radius: 50%; background: var(--ds-surface); color: var(--ds-ink); }
	.ds-actionbar__call .ds-icon { width: 20px; height: 20px; margin: 0; fill: var(--ds-red-ink); }
	.ds-actionbar .ds-btn--primary { min-height: 44px; padding: .5rem 1rem; font-size: .95rem; border-radius: 999px; }
	body.ds { padding-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) { .ds-actionbar { transition: none; } }
body.ds.beauty .ds-actionbar__call .ds-icon { fill: var(--sb-green); }

/* gornja traka i zaglavlje zajedno ljepljivi; traka se sklanja pri listanju prema dolje */
/* gornja traka i zaglavlje pomiču se zajedno za --ds-tb-off (postavlja ds.js): tijekom listanja bez animacije,
   po zaustavljanju mekano dovršavanje */
.ds-topbar { position: sticky; top: 0; z-index: 1001; transform: translateY(calc(-1 * var(--ds-tb-off, 0px))); transition: transform .45s cubic-bezier(.33, 1, .68, 1); will-change: transform; }
.ds-header { top: var(--ds-topbar-h, 0px); transform: translateY(calc(-1 * var(--ds-tb-off, 0px))); transition: transform .45s cubic-bezier(.33, 1, .68, 1), box-shadow .3s ease; will-change: transform; }
html.ds-tb-moving .ds-topbar, html.ds-tb-moving .ds-header { transition: box-shadow .3s ease; }
html.ds-topbar-off .ds-header { box-shadow: 0 6px 18px -12px rgba(35, 31, 32, .35); }
@media (prefers-reduced-motion: reduce) { .ds-topbar, .ds-header { transition: none; } }
.ds-anchor { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .3rem; font-size: .8rem; line-height: 1.4; color: var(--ds-ink-2); }
.ds-anchor em { font-style: normal; color: #1f7a4d; font-weight: 600; }
.ds-anchor__info { display: inline-grid; place-items: center; width: 18px; height: 18px; padding: 0; border: 1px solid #c9c9d3; border-radius: 50%; background: #fff; font: inherit; font-size: .7rem; font-weight: 700; line-height: 1; color: var(--ds-ink-2); cursor: pointer; }
.ds-anchor__info::after { content: ""; position: absolute; inset: -12px; } /* veća površina za prst */
.ds-anchor__info { position: relative; }
.ds-anchor__text:not([hidden]) { display: block; margin-top: .3rem; padding: .5rem .65rem; border-radius: 10px; background: var(--ds-surface); font-size: .78rem; line-height: 1.45; color: var(--ds-ink-2); }

/* =========== QA 360 px (subagent) =========== */
.ds-area-hero + .ds-area-services { padding-top: var(--ds-6); }
.ds-team--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-columns: auto; grid-auto-flow: row; overflow: visible; }
@media (min-width: 768px) { .ds-team--grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .ds-team--grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .page-template-team .ds-team--grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ds-tile__img--icon { display: grid; place-items: center; background: var(--ds-red-soft); }
.ds-tile__img--icon img { width: 56%; height: auto; max-width: 72px; object-fit: contain; }
body.ds.beauty .ds-tile__img--icon { background: #f3eee6; }
.ds-tile__ask { min-height: 40px; min-width: 64px; justify-content: center; }
.ds-nowrap { white-space: nowrap; }
.ds-toc:not(.ds-toc--wrap) { -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); padding-right: 2rem; }
.ds-hook__rating { flex-wrap: nowrap; white-space: nowrap; }
@media (max-width: 400px) { .ds-hook__rating { font-size: .8rem; gap: .3rem; } .ds-hook__rating .ds-stars { letter-spacing: 0; } }
.ds-home-hero .ds-hook__quote blockquote { font-size: .9rem; }
@media (max-width: 599px) {
	.ds-home-hero__inner { padding-bottom: var(--ds-3); }
	.ds-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
	.ds-stats dd { font-size: 1.5rem; }
	/* cjenik: naziv preko cijelog reda, cijena i upit zajedno ispod */
	.ds-pl-item { grid-template-columns: 1fr auto; grid-template-areas: "name name" "price ask"; row-gap: .4rem; }
	.ds-pl-item__name { grid-area: name; }
	.ds-pl-item__price { grid-area: price; grid-column: auto !important; }
	.ds-pl-item__ask { grid-area: ask; grid-column: auto !important; grid-row: auto !important; min-height: 40px; }
	.ds-az-nav a { min-width: 36px; height: 36px; }
	.ds-az-nav { gap: .35rem; }
}
.ds-beauty-band__media::after { inset: -8px; }
@media (max-width: 899px) { .ds-beauty-band__media { margin: 8px auto; } .ds-beauty-band { overflow: hidden; } }
.ds-beauty-band__list em { font-size: 1.05rem; color: #d4b46e; }
.ds-prose a, .ds-prose--article a { overflow-wrap: anywhere; }
.ds-aside-cta__svc span, .sc-cta__text { overflow-wrap: normal; }
.ds-aside-cta__svc span { white-space: nowrap; }
.ds-table tbody th { min-width: 9rem; }
.ds-table td { white-space: nowrap; }
.ds-footer { padding-bottom: calc(var(--ds-4) + 16px); }
.ds-faq summary::after { font-size: 1.3rem !important; }
.ds-prose ul ul, .ds-prose ol ul { margin: .35rem 0 .35rem; padding-left: 1.1rem; }
.ds-prose li > p { margin: .2rem 0; }
.ds-prose li { padding-left: .15rem; }
body.ds.error404 .ds-home-hero__inner { padding-top: var(--ds-6); }

/* ---------- QA 768–1440 px ---------- */

/* razmak ispod heroja landing stranica i 404 */
.ds-landing-hero + .ds-section { padding-top: var(--ds-6); }
.ds-landing-hero figure figcaption, .ds-section figure figcaption { margin-top: .6rem; }
body.ds.error404 .ds-home-hero { min-height: 0; padding: var(--ds-8) 0 var(--ds-12); }
body.ds.error404 .ds-home-hero .ds-wrap { max-width: 44rem; }
body.ds.error404 .ds-home-hero__actions { margin-top: var(--ds-4); }

/* uzastopni sivi odjeljci ne udvostručuju razmak */
.ds-section--soft + .ds-section--soft { padding-top: 0; }

/* Beauty poveznica u heroju ne prekriva karticu s tekstom na užim desktopima */
@media (min-width: 1024px) and (max-width: 1279px) {
	.ds-home-hero__beauty { position: static; justify-self: start; margin-top: var(--ds-3); }
}

/* kontakt: 2 × 2 do 1280 px, adresa e-pošte ostaje u jednom retku */
@media (min-width: 1024px) and (max-width: 1279px) { .ds-contact-ways { grid-template-columns: repeat(2, 1fr); } }
.ds-contact-way { min-width: 0; }
.ds-contact-way strong, .ds-contact-way span { overflow-wrap: anywhere; }
.ds-inquiry > div > h2 + p { margin-top: .6rem; }

/* mreže kartica: nepotpun zadnji red se centrira umjesto da ostavi prazninu */
@media (min-width: 640px) {
	.ds-tiles { display: flex; flex-wrap: wrap; justify-content: center; --cols: 2; --g: var(--ds-3); column-gap: var(--g); }
}
@media (min-width: 768px) {
	.ds-services, .ds-benefits, .ds-cards, .ds-team, .ds-team--grid, .ds-info-cards--steps, .ds-section--soft .ds-info-cards, .ds-area-grid {
		display: flex; flex-wrap: wrap; justify-content: center; --g: var(--ds-3); column-gap: var(--g); overflow: visible;
	}
	.ds-services, .ds-info-cards--steps, .ds-section--soft .ds-info-cards, .ds-area-grid { --cols: 2; }
	.ds-info-cards--steps, .ds-section--soft .ds-info-cards { --g: var(--ds-2); }
	.ds-area-grid { --g: .75rem; }
	.ds-benefits, .ds-cards, .ds-team, .ds-team--grid { --cols: 3; }
	:is(.ds-services, .ds-benefits, .ds-cards, .ds-team, .ds-team--grid, .ds-info-cards--steps, .ds-info-cards, .ds-tiles, .ds-area-grid) > * {
		flex: 0 0 calc((100% - (var(--cols, 1) - 1) * var(--g)) / var(--cols, 1)); min-width: 0; max-width: none;
	}
	.ds-cards--blog > .ds-card--featured, .ds-area-grid > li.is-beauty { flex-basis: 100%; }
}
@media (min-width: 1024px) {
	.ds-services, .ds-tiles, .ds-area-grid { --cols: 3; }
	.ds-area-grid { --g: var(--ds-2); }
	.ds-tiles--h { --cols: 2; }
	.ds-team--grid { --cols: 4; }
}
@media (min-width: 1100px) {
	.ds-info-cards--steps { --cols: 4; }
	.ds-section--soft .ds-info-cards { --cols: 3; }
}
@media (min-width: 1200px) { .page-template-team .ds-team--grid { --cols: 5; } }

/* malo recenzija: bez strelica, kartice se rašire */
@media (min-width: 768px) {
	.ds-reviews--few .ds-reviews__nav { display: none; }
	.ds-reviews--few .ds-reviews__list { grid-auto-flow: row; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); overflow: visible; padding-right: .25rem; -webkit-mask-image: none; mask-image: none; }
}
.ds-reviews__btn { width: 44px; height: 44px; }
.ds-reviews__btn:disabled { opacity: .5; }

/* dodirne mete ≥ 44 px */
.ds-tile__ask, .ds-pl-item__ask { min-height: 44px; }
@media (max-width: 767px) { .ds-az-nav a { min-width: 40px; height: 40px; } }

/* staza: kosa crta ne počinje novi redak */
.ds-crumbs { gap: .25rem 0; }
.ds-crumbs li + li::before { margin: 0 .45rem; }
.ds-crumbs li { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* kalkulator: polja preko cijele kartice */
body.ds .scm-calculator input[type="text"], body.ds .scm-calculator input[type="submit"] { max-width: none; }
body.ds .scm-calculator .wpcf7-list-item label { min-height: 44px; }

/* blog: istaknuti naslov manji, kartica bez isječka bez praznine */
@media (min-width: 768px) { .ds-card--featured h2 { font-size: clamp(1.5rem, 2.2vw, 2rem); -webkit-line-clamp: 3; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; } }

/* pravni tekstovi: brojevi unutar stupca */
.ds-prose ol, .ds-prose ul { padding-left: 1.6rem; }
.ds-prose ol ol, .ds-prose ul ul, .ds-prose ol ul, .ds-prose ul ol { margin-top: .4rem; }
.ds-prose table { width: 100%; }
.ds-prose th, .ds-prose thead td { font-weight: 700; background: var(--ds-surface); }

/* podnožje: desni rub i razmak poveznica */
.ds-footer ul { gap: .7rem; }
.ds-footer__bottom a { padding-right: 0; }
.ds-package__price { margin-left: auto; font-size: var(--ds-fs-lg, 1.35rem); font-weight: 800; color: var(--ds-primary); white-space: nowrap; }
/* referentne vrijednosti na mobitelu: svaki redak kao kartica */
@media (max-width: 599px) {
	.ds-table-wrap--stack { overflow: visible; box-shadow: none; background: none; }
	.ds-table-wrap--stack table, .ds-table-wrap--stack tbody, .ds-table-wrap--stack tr, .ds-table-wrap--stack th, .ds-table-wrap--stack td { display: block; width: 100%; }
	.ds-table-wrap--stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ds-table-wrap--stack tr { margin-bottom: .75rem; padding: .8rem 1rem; border-radius: 14px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 8px 22px -18px rgba(35, 31, 32, .4); }
	.ds-table-wrap--stack th { padding: 0 0 .35rem; border: 0; text-align: left; }
	.ds-table-wrap--stack td { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; border: 0; border-top: 1px solid var(--ds-line); }
	.ds-table-wrap--stack td::before { content: attr(data-label); color: var(--ds-ink-2); font-size: .85rem; }
}

/* članak: na užim ekranima poziv je već na kraju teksta, pa se bočna kartica s istim pozivom ne ponavlja */
@media (max-width: 1023px) { .ds-article-aside .ds-aside-cta { display: none; } }
.ds-author { align-items: center; }
.ds-author__photo { width: 56px; height: 56px; object-fit: contain; border-radius: 50%; background: var(--ds-surface); padding: 6px; }
.ds-author p:last-child { margin-bottom: 0; }
.ds-sources { border: 1px solid var(--ds-line); border-radius: 14px; padding: 0 1rem; }
.ds-sources summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; list-style: none; }
.ds-sources summary::-webkit-details-marker { display: none; }
.ds-sources summary::after { content: "+"; font-size: 1.3rem; font-weight: 400; color: var(--ds-ink-2); }
.ds-sources[open] summary::after { content: "–"; }
.ds-sources .ds-prose { padding-bottom: 1rem; }

/* usluga: opis u čitljivom stupcu, sadržaj ljepljivo lijevo na širokim ekranima */
.ds-svc-body .ds-prose { max-width: 46rem; }
@media (min-width: 1100px) {
	.ds-svc-body--toc { display: grid; grid-template-columns: 260px minmax(0, 46rem); gap: var(--ds-8); justify-content: start; align-items: start; }
	.ds-svc-body--toc > nav { position: sticky; top: calc(var(--ds-header-h, 80px) + 1.5rem); }
	.ds-svc-body--toc .ds-toc { flex-direction: column; gap: .25rem; overflow: visible; margin: 0; padding: 0 0 0 1rem; border-left: 2px solid var(--ds-line); -webkit-mask-image: none; mask-image: none; }
	.ds-svc-body--toc .ds-toc a { min-height: 36px; padding: .35rem 0; border: 0; border-radius: 0; background: none; white-space: normal; font-weight: 500; color: var(--ds-ink-2); }
	.ds-svc-body--toc .ds-toc a:hover { color: var(--ds-accent); }
	.ds-svc-body--toc .ds-prose > section:first-child > h2:first-child { margin-top: 0; }
}
/* opis i naslov kartice usluge malo razmaknuti */

/* Beauty sekcija na naslovnici: okvir prati mrežu stranice, sadržaj ne dodiruje zlatnu liniju */
.ds-beauty-band::before { inset: 1.25rem max(.75rem, calc((100% - var(--ds-max)) / 2 - 1rem)); }
@media (max-width: 899px) { .ds-beauty-band > .ds-wrap { padding-left: calc(var(--ds-gutter) + 1rem); padding-right: calc(var(--ds-gutter) + 1rem); } }
@media (min-width: 768px) and (max-width: 899px) {
	.ds-beauty-band__grid { grid-template-columns: 1fr .8fr; gap: var(--ds-4); }
	.ds-beauty-band__media { max-width: none; margin: 0; }
}
.ds-beauty-band__actions .ds-beauty-band__link { display: inline-flex; align-items: center; min-height: 44px; }
/* 360 px: ocjena „4,9 · 157 recenzija“ stane u redak; složena tablica bez minimalne širine */
.ds-hook__rating { max-width: 100%; }
@media (max-width: 380px) { .ds-hook__rating .ds-stars { display: none; } }
@media (max-width: 599px) { .ds-table-wrap--stack .ds-table { min-width: 0; } }
@media (max-width: 599px) { .ds-table-wrap--stack th, .ds-table-wrap--stack td { white-space: normal; overflow-wrap: anywhere; min-width: 0; } .ds-table-wrap--stack tr { width: auto; } }

/* recenzije: kartice poravnate (naslov, citat, autor na dnu), traka bez vidljivog klizača, u istoj mreži kao kartice iznad */
.ds-benefit { height: 100%; }
.ds-benefit h3 { min-height: 2.6em; }
.ds-benefit figcaption { margin-top: auto; }
.ds-reviews__list { scrollbar-width: none; -ms-overflow-style: none; }
.ds-reviews__list::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
	.ds-reviews__list { grid-auto-columns: calc((100% - 2 * var(--ds-3)) / 3); gap: var(--ds-3); padding: .5rem 0 1.25rem; margin: 0; -webkit-mask-image: none; mask-image: none; scroll-padding: 0; }
	.ds-reviews__btn:disabled { opacity: 0; pointer-events: none; }
}
@media (min-width: 1100px) { .ds-reviews__list { grid-auto-columns: calc((100% - 3 * var(--ds-3)) / 4); } }
.ds-review { scroll-snap-align: start; min-width: 0; }
.ds-review p { display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 767px) { .ds-benefit h3 { min-height: 0; } }

/* tražilica: blagi crveni rub i jedan prolaz svjetla oko ruba nakon učitavanja (bez ponavljanja) */
@property --ds-trace { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.ds-find:not(.ds-find--md) .ds-find__input { border-color: color-mix(in srgb, var(--ds-primary) 30%, #fff); }
.ds-find:not(.ds-find--md) .ds-find__input:hover { border-color: color-mix(in srgb, var(--ds-primary) 55%, #fff); }
.ds-find:not(.ds-find--md) .ds-find__bar { position: relative; }
.ds-find:not(.ds-find--md) .ds-find__bar::after {
	content: ""; position: absolute; inset: 0; z-index: 2; padding: 2px; border-radius: 20px; pointer-events: none; opacity: 0;
	background: conic-gradient(from var(--ds-trace), transparent 0 72%, color-mix(in srgb, var(--ds-primary) 70%, #fff) 86%, var(--ds-primary) 92%, transparent 100%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
	animation: ds-trace 2.4s cubic-bezier(.45, .05, .35, 1) .8s 1 both;
}
@keyframes ds-trace { 0% { --ds-trace: 0deg; opacity: 0; } 12% { opacity: 1; } 82% { opacity: 1; } 100% { --ds-trace: 360deg; opacity: 0; } }
.ds-find.is-open .ds-find__bar::after, .ds-find__bar:focus-within::after { animation: none !important; opacity: 0 !important; }
@media (prefers-reduced-motion: reduce) { .ds-find__bar::after { display: none; } }

/* istaknute recenzije: kartica puni visinu reda, citat najviše 5 redaka, autor uvijek na istoj liniji pri dnu */
.ds-benefits > li { display: flex; }
.ds-benefits > li > .ds-benefit { flex: 1; height: auto; }
.ds-benefit blockquote { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.ds-benefit figcaption { margin-top: auto; }
@media (min-width: 768px) { .ds-benefit h3 { min-height: 2.6em; display: flex; align-items: flex-start; } }
/* 768–1099 px: istaknute recenzije u dva stupca (treća centrirana), tri su preuske */
@media (min-width: 768px) and (max-width: 1099px) { .ds-benefits { --cols: 2; } }

/* istaknute recenzije: zajednička mreža redova (subgrid) — zvjezdice, naslov, citat i autor u istoj ravnini u svim karticama reda */
@media (min-width: 768px) {
	.ds-benefits { display: grid; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); column-gap: var(--ds-3); row-gap: var(--ds-3); justify-content: stretch; }
	.ds-benefits > li { display: grid; grid-row: span 4; grid-template-rows: subgrid; flex: none; }
	.ds-benefits > li > .ds-benefit { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: var(--ds-2); align-content: start; }
	.ds-benefit h3 { min-height: 0; align-self: start; }
	.ds-benefit blockquote { align-self: start; }
	.ds-benefit figcaption { margin-top: 0; align-self: end; }
	/* neparan zadnji (npr. treća u dva stupca) u sredini */
	.ds-benefits > li:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - var(--ds-3)) / 2); }
}
@media (min-width: 1100px) { .ds-benefits > li:last-child:nth-child(odd) { grid-column: auto; width: auto; justify-self: stretch; } .ds-benefits > li:only-child { grid-column: 2; } }

/* ---------- QA: preostali nalazi ---------- */

/* česta pitanja: lijevi stupac prati listanje i nudi poziv/upit, nije više prazan */
.ds-faq__actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: var(--ds-3) !important; }
.ds-faq__actions .ds-btn { min-height: 48px; }
.ds-faq__actions .ds-icon { width: 18px; height: 18px; fill: currentColor; }
@media (min-width: 1024px) { .ds-faq__head { position: sticky; top: calc(var(--ds-header-h, 80px) + 1.5rem); align-self: start; } }

/* laboratorij: stupci jednake visine (grupe se smiju prelomiti, slovo ostaje uz prvu stavku) */
.ds-az { column-fill: balance; }
.ds-az__group { break-inside: auto; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.ds-az__letter { break-after: avoid; }
.ds-az li { break-inside: avoid; }

/* O nama: tri brojke uvijek u jednom redu */
.ds-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ds-2); }
@media (max-width: 599px) { .ds-stats dd { font-size: 1.6rem; } .ds-stats dt { font-size: .8rem; } }
@media (min-width: 600px) { .ds-stats { display: flex; } }

/* „Naše usluge“: gumbi kategorija centrirani, bez samotnog zadnjeg u novom redu */
@media (min-width: 768px) { .ds-toc--wrap { justify-content: center; } }
@media (min-width: 1024px) { .ds-toc--wrap a { padding: .4rem .8rem; font-size: .88rem; } }

/* profil liječnika: poveznice ispod gumba, veća dodirna površina */
.ds-profile__actions { gap: .75rem 1rem; }
.ds-profile__actions .ds-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .25rem; }
@media (max-width: 599px) { .ds-profile__actions .ds-btn { width: 100%; justify-content: center; } }

/* tim: jednake fotografije (4:5, lice gore), gumb „Profil“ na dnu kartice */
.ds-person { display: flex; }
.ds-person > a { display: flex; flex-direction: column; width: 100%; }
.ds-person__photo { aspect-ratio: 4 / 5; overflow: hidden; }
.ds-person__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
.ds-person__body { display: flex; flex-direction: column; flex: 1; }
.ds-person__body > :last-child { margin-top: auto; }

/* „Zašto Sursum Corda“: jedan stil ikona */
.ds-why__icon--line { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: var(--ds-red-soft); color: var(--ds-red-ink); }
.ds-why__icon--line svg { width: 32px; height: 32px; }

/* paketi: „?“ uz stavku veća dodirna površina */
.ds-package__list summary::after { flex-basis: 32px; height: 32px; }
.ds-package__list summary { min-height: 44px; align-items: center; }
.ds-chips { -webkit-mask-image: linear-gradient(90deg, #000 90%, transparent); mask-image: linear-gradient(90deg, #000 90%, transparent); padding-right: 1.5rem; }
@media (min-width: 900px) { .ds-chips { -webkit-mask-image: none; mask-image: none; padding-right: 0; } }

/* tekstovi iz administracije (sistematski, uvjeti, o nama): ujednačene liste i naslovi */
.ds-prose ul { list-style: disc; }
.ds-prose ul ul { list-style: circle; }
.ds-prose ol { list-style: decimal; }
.ds-prose ol ol { list-style: lower-alpha; }
.ds-prose li { margin: .35rem 0; padding-left: .2rem; }
.ds-prose li > p { margin: 0 0 .35rem; }
.ds-prose li > strong:first-child { display: inline; }
.ds-prose li br { display: none; }
.ds-prose li::marker { color: var(--ds-red-ink); }
.ds-prose h3, .ds-prose h4 { margin: var(--ds-4) 0 .5rem; font-weight: 700; }
.ds-prose [style*="text-align: center"], .ds-prose [style*="text-align:center"] { text-align: left !important; }

/* blog: kartica bez isječka bez praznine */
.ds-card__body { gap: .5rem; }
.ds-card__text:empty { display: none; }

/* podnožje: manji donji prostor */
.ds-footer { padding-bottom: calc(var(--ds-6) + env(safe-area-inset-bottom)); }
@media (max-width: 899px) { .ds-footer { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); } }

/* tekstualne stranice (o nama, uvjeti, kalkulator, pretrage, landing): tekst poravnat s naslovom i stazom
   (isti lijevi rub kao ostatak stranice), čitljiva širina retka ostaje */
.ds-wrap.ds-article { max-width: calc(var(--ds-max) + 2 * var(--ds-gutter)); }
.ds-wrap.ds-article > * { max-width: 46rem; }
.ds-wrap.ds-article > .ds-table-wrap, .ds-wrap.ds-article > .ds-calc-card { max-width: 52rem; }
.ds-payments { max-width: 1000px; }

/* ---------- sistematski pregledi: paketi po razinama ---------- */
.ds-cu[data-gender="z"] [data-for="m"], .ds-cu[data-gender="m"] [data-for="z"] { display: none !important; }
.ds-cu__switch { display: inline-flex; padding: 4px; border-radius: 999px; background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-line); }
.ds-cu__switch button { min-height: 44px; min-width: 7rem; padding: .5rem 1.2rem; border: 0; border-radius: 999px; background: transparent; font: inherit; font-weight: 700; color: var(--ds-ink-2); cursor: pointer; transition: background .2s ease, color .2s ease; }
.ds-cu__switch button[aria-pressed="true"] { background: #fff; color: var(--ds-ink); box-shadow: 0 2px 8px -2px rgba(35, 31, 32, .25); }
.ds-cu__cards { display: grid; gap: var(--ds-3); margin: var(--ds-4) 0 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .ds-cu__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } }
.ds-cu__card { position: relative; display: flex; border-radius: 22px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 14px 34px -22px rgba(35, 31, 32, .4); }
.ds-cu__card.is-top { box-shadow: 0 0 0 2px var(--ds-primary), 0 18px 40px -22px rgba(35, 31, 32, .45); }
.ds-cu__side { display: flex; flex-direction: column; gap: .35rem; width: 100%; padding: var(--ds-4) var(--ds-3) var(--ds-3); }
.ds-cu__tier { margin: 0; font-size: .85rem; font-weight: 700; letter-spacing: .02em; color: var(--ds-red-ink); }
.ds-cu__name { margin: 0; font-size: 1.15rem; font-weight: 800; line-height: 1.3; color: var(--ds-ink); min-height: 2.6em; }
.ds-cu__price { margin: .4rem 0 0; font-family: var(--ds-heading-font); font-size: 2.2rem; font-weight: 800; line-height: 1; color: var(--ds-ink); }
.ds-cu__count { margin: 0 0 .6rem; font-size: .9rem; color: var(--ds-ink-2); }
.ds-cu__lead { margin: .4rem 0 .2rem; padding-top: .8rem; border-top: 1px solid var(--ds-line); font-size: .9rem; font-weight: 700; color: var(--ds-ink); }
.ds-cu__list { margin: 0 0 var(--ds-3); padding: 0; list-style: none; display: grid; gap: .35rem; font-size: .95rem; color: var(--ds-ink-2); }
.ds-cu__list li { position: relative; padding-left: 1.5rem; }
.ds-cu__list li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1rem; height: 1rem; border-radius: 50%; background: var(--ds-red-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b8323d' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / 70% no-repeat; }
.ds-cu__side .ds-btn { margin-top: auto; }

.ds-cu__compare { margin-top: var(--ds-8); }
.ds-cu__compare h3 { margin: 0; font-size: var(--ds-fs-lg, 1.35rem); }
.ds-cu__table { margin-top: var(--ds-3); border-radius: 20px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 14px 34px -22px rgba(35, 31, 32, .35); overflow: hidden; }
.ds-cu__row { display: grid; grid-template-columns: minmax(0, 1fr) repeat(3, 4.2rem); align-items: center; border-top: 1px solid var(--ds-line); }
@media (min-width: 768px) { .ds-cu__row { grid-template-columns: minmax(0, 1fr) repeat(3, 9rem); } }
.ds-cu__row > span { padding: .65rem .75rem; }
.ds-cu__row > span:not(:first-child) { text-align: center; }
.ds-cu__row--head { position: sticky; top: calc(var(--ds-header-h, 64px) - var(--ds-tb-off, 0px) + var(--ds-topbar-h, 0px)); z-index: 2; border-top: 0; background: var(--ds-ink); color: #fff; font-size: .85rem; font-weight: 700; }
.ds-cu__row--head > span:not(:first-child) { font-size: .8rem; }
.ds-cu__group { padding: .9rem .75rem .5rem; border-top: 1px solid var(--ds-line); background: var(--ds-surface); font-size: .8rem; font-weight: 800; letter-spacing: .02em; color: var(--ds-ink-2); }
.ds-cu__label { font-size: .95rem; line-height: 1.4; }
.ds-cu__label summary { cursor: pointer; list-style: none; text-decoration: underline dotted color-mix(in srgb, var(--ds-ink) 35%, transparent); text-underline-offset: 4px; }
.ds-cu__label summary::-webkit-details-marker { display: none; }
.ds-cu__label details p { margin: .4rem 0 .2rem; font-size: .88rem; color: var(--ds-ink-2); }
.ds-cu__yes { width: 22px; height: 22px; fill: #1f7a4d; vertical-align: middle; }
.ds-cu__no { color: #b9bac2; }
.ds-cu__row--price { background: var(--ds-red-soft); font-weight: 800; }
.ds-cu__row--price > span { padding-top: .9rem; padding-bottom: .9rem; }
@media (max-width: 599px) { .ds-cu__row--price > span:not(:first-child) { font-size: .82rem; } }
.ds-cu .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* cijene u kartici usluge: poveznica za tvrtke */
.ds-price-card__b2b { display: block; margin-top: .75rem; font-size: .9rem; font-weight: 700; color: var(--ds-blue, #4c5695); }
.ds-b2b .ds-steps li { font-size: 1rem; }
.ds-cu__name { order: -1; min-height: 0; font-size: 1.6rem; letter-spacing: -.01em; }
.ds-cu__tier { font-weight: 600; color: var(--ds-ink-2); }
.ds-cu__card.is-top::before { content: "Najopsežniji"; position: absolute; top: -.8rem; right: 1.25rem; padding: .25rem .7rem; border-radius: 999px; background: var(--ds-primary); color: #fff; font-size: .78rem; font-weight: 700; }
@media (max-width: 599px) {
	.ds-cu__row { grid-template-columns: minmax(0, 1fr) repeat(3, 3.9rem); }
	.ds-cu__row > span:not(:first-child) { padding-left: .15rem; padding-right: .15rem; }
	.ds-cu__row--head > span:not(:first-child) { font-size: .66rem; letter-spacing: -.01em; }
	.ds-cu__label { font-size: .9rem; }
}
.ds-b2b .ds-steps li > span { display: block; padding-top: .25rem; }

/* slike u tekstu (infografike, prije/poslije): otvaraju se u punoj veličini */
.ds-prose img, .ds-before-after img { cursor: zoom-in; }
.ds-prose figure figcaption, .ds-prose .wp-caption-text { margin-top: .6rem; font-size: .9rem; color: var(--ds-ink-2); }
.ds-lightbox { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: rgba(20, 18, 19, .92); }
.ds-lightbox::backdrop { background: rgba(20, 18, 19, .6); }
.ds-lightbox[open] { display: grid; place-items: center; }
.ds-lightbox img { max-width: calc(100vw - 2rem); max-height: calc(100dvh - 6rem); width: auto; height: auto; border-radius: 12px; background: #fff; cursor: zoom-out; }
.ds-lightbox__close { position: fixed; top: 1rem; right: 1rem; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; font-size: 1.6rem; line-height: 1; color: var(--ds-ink); cursor: pointer; }
.ds-lightbox__cap { position: fixed; left: 0; right: 0; bottom: 1rem; margin: 0; text-align: center; color: #fff; font-size: .95rem; }
/* obrazac za tvrtke: izbor bez ikona, kompaktni gumbi koji se prelamaju */
body.ds .sc-chips--plain { display: flex; flex-wrap: wrap; }
body.ds .sc-chips--plain .sc-chip span { min-height: 44px; padding: .55rem 1rem; flex-direction: row; }
body.ds .sc-chips--plain .sc-chip span::before { display: none; }
/* sklopivi odjeljci (opis paketa) */
.ds-acc { margin: 0 0 .75rem; border-radius: 16px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .05), 0 10px 26px -20px rgba(35, 31, 32, .35); }
.ds-acc > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 56px; padding: .9rem 1.2rem; font-weight: 700; font-size: 1.05rem; cursor: pointer; list-style: none; }
.ds-acc > summary::-webkit-details-marker { display: none; }
.ds-acc > summary::after { content: "+"; flex: 0 0 auto; font-size: 1.4rem; font-weight: 400; color: var(--ds-red-ink); transition: transform .2s ease; }
.ds-acc[open] > summary::after { transform: rotate(45deg); }
.ds-acc > div { padding: 0 1.2rem 1rem; }
.ds-cu + .ds-section { padding-top: 0; }
/* cijene usluge: „Upit“ uz svaku cijenu kad ih je više */
.ds-prices li:has(.ds-prices__ask) { grid-template-columns: 1fr auto auto; align-items: center; }
.ds-prices__ask { grid-column: 3; grid-row: 1; display: inline-flex; align-items: center; min-height: 36px; padding: .2rem .8rem; border: 1.5px solid color-mix(in srgb, var(--ds-primary) 35%, #fff); border-radius: 999px; font-size: .82rem; font-weight: 700; color: var(--ds-red-ink); text-decoration: none; }
.ds-prices__ask:hover { background: var(--ds-primary); border-color: var(--ds-primary); color: #fff; }
.ds-prices li:has(.ds-prices__ask) .ds-anchor, .ds-prices li:has(.ds-prices__ask) .ds-prices__old { grid-column: 1 / -1; }
/* obrazac: odabrani paket kratko zasvijetli */
.sc-service-summary.is-picked { animation: sc-picked 1.2s ease; }
@keyframes sc-picked { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--ds-primary) 45%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }
@media (prefers-reduced-motion: reduce) { .sc-service-summary.is-picked { animation: none; } }

/* usporedba v2: naslovi paketa u svakoj skupini, objašnjenje preko cijele širine, stupci se prilagođavaju */
.ds-cu__row { grid-template-columns: minmax(0, 1fr) repeat(3, minmax(3.9rem, 8.5rem)); }
.ds-cu__group { padding: 0; background: var(--ds-surface); font-size: .8rem; font-weight: 800; color: var(--ds-ink-2); }
.ds-cu__group > span { padding-top: 1rem; padding-bottom: .55rem; }
.ds-cu__group > span:not(:first-child) { font-size: .75rem; font-weight: 700; color: var(--ds-ink); }
.ds-cu__table > .ds-cu__group:first-child { border-top: 0; }
.ds-cu__info { display: inline-flex; align-items: center; gap: .45rem; padding: 0; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; }
.ds-cu__info:focus { outline: none; }
.ds-cu__info:focus-visible { outline: 2px solid var(--ds-accent); outline-offset: 3px; border-radius: 4px; }
.ds-cu__i { display: inline-grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-line); font-size: .7rem; font-weight: 800; font-style: normal; color: var(--ds-ink-2); }
.ds-cu__info[aria-expanded="true"] .ds-cu__i { background: var(--ds-ink); color: #fff; box-shadow: none; }
.ds-cu__desc { grid-column: 1 / -1; margin: 0 .75rem .8rem; padding: .7rem .9rem; border-radius: 12px; background: var(--ds-surface); font-size: .9rem; line-height: 1.55; color: var(--ds-ink-2); }
.ds-cu__row--price > span:not(:first-child) { font-size: clamp(.8rem, .7rem + .6vw, 1.05rem); white-space: nowrap; }
@media (max-width: 599px) { .ds-cu__group > span:not(:first-child) { font-size: .62rem; padding-left: .1rem; padding-right: .1rem; } }

/* detaljan opis paketa: naslov lijevo, sklopivi opisi desno (kao česta pitanja) */
.ds-prose--acc { max-width: none !important; }
@media (min-width: 1024px) { .ds-prose--acc { display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--ds-8); align-items: start; } .ds-acc-head { position: sticky; top: calc(var(--ds-header-h, 80px) + 1.5rem); } }
.ds-acc-head h2 { margin-top: 0; }

/* upit: Za sebe / Za tvrtku */
.ds-inq2[data-mode="osobe"] [data-for-mode="tvrtke"], .ds-inq2[data-mode="tvrtke"] [data-for-mode="osobe"] { display: none !important; }
.ds-inq2 { position: relative; }
.ds-inq2__target { position: absolute; top: 0; scroll-margin-top: calc(var(--ds-header-h, 80px) + 1rem); }
.ds-inq2__switch { display: flex; padding: 4px; margin-bottom: var(--ds-3); border-radius: 999px; background: var(--ds-surface); box-shadow: inset 0 0 0 1px var(--ds-line); }
.ds-inq2__switch button { flex: 1; min-height: 48px; border: 0; border-radius: 999px; background: transparent; font: inherit; font-weight: 700; color: var(--ds-ink-2); cursor: pointer; transition: background .2s ease, color .2s ease; }
.ds-inq2__switch button[aria-pressed="true"] { background: #fff; color: var(--ds-ink); box-shadow: 0 2px 8px -2px rgba(35, 31, 32, .25); }
.ds-cu__b2b { margin-top: .5rem !important; font-size: .95rem; font-weight: 600; }
@media (max-width: 599px) { .ds-cu__row { grid-template-columns: minmax(0, 1fr) repeat(3, 3.5rem); } .ds-cu__row > span:first-child { padding-right: .4rem; } .ds-cu__row--price > span:not(:first-child) { font-size: .72rem; } }
@media (min-width: 600px) and (max-width: 899px) { .ds-cu__row { grid-template-columns: minmax(0, 1fr) repeat(3, 6rem); } }
.ds-cu__short { display: none; }
@media (max-width: 599px) { .ds-cu__long { display: none; } .ds-cu__short { display: inline; } .ds-cu__group > span:not(:first-child) { font-size: .68rem; } .ds-cu__row--price > span:not(:first-child) { font-size: .85rem; } }
.ds-inquiry__card { position: relative; }
@media (max-width: 899px) { .ds-inq2 .ds-inquiry__photo { display: none; } }
/* cijene: bez gumba „Upit“, cijeli redak je poveznica na upit za tu cijenu */
.ds-prices__ask { display: none; }
.ds-prices li:has(.ds-prices__pick) { position: relative; grid-template-columns: 1fr auto; margin: 0 -.6rem; padding-left: .6rem; padding-right: .6rem; border-radius: 10px; transition: background .15s ease; }
.ds-prices li:has(.ds-prices__pick):hover { background: var(--ds-red-soft); }
.ds-prices li:has(.ds-prices__pick):hover .ds-prices__label { text-decoration: underline; text-underline-offset: 3px; }
.ds-prices__pick { position: absolute; inset: 0; z-index: 1; border-radius: 10px; }
.ds-prices__pick:focus-visible { outline: 2px solid var(--ds-accent); outline-offset: 2px; }
.ds-prices li:has(.ds-prices__pick) .ds-anchor__info { position: relative; z-index: 2; }
/* obrazac: izbor paketa ove stranice */
.sc-variants { display: grid; gap: .4rem; margin: .75rem 0 0; padding: 0; border: 0; }
.sc-variants[hidden] { display: none; }
.sc-variants legend { margin-bottom: .4rem; }
.sc-variant { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 48px; padding: .6rem 1rem; border: 1.5px solid var(--ds-line); border-radius: 14px; background: #fff; font-weight: 600; cursor: pointer; }
.sc-variant input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.sc-variant em { font-style: normal; font-weight: 800; color: var(--ds-red-ink); white-space: nowrap; }
.sc-variant:has(input:checked) { border-color: var(--ds-primary); background: var(--ds-red-soft); }
.sc-variant:has(input:focus-visible) { outline: 3px solid var(--ds-accent); outline-offset: 2px; }
.ds-prices li:has(.ds-prices__pick), .ds-prices li:has(.ds-prices__pick):first-child { padding-top: .8rem; padding-bottom: .8rem; align-items: center; }
.ds-prices:has(.ds-prices__pick) { margin-top: -.4rem; }

/* ljepljivi elementi ispod zaglavlja: uzimaju u obzir i gornju traku kad je vidljiva */
:root { --ds-sticky-top: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) - var(--ds-tb-off, 0px) + 1.25rem); }
@media (min-width: 1100px) { .ds-svc-body--toc > nav { top: var(--ds-sticky-top); transition: top .45s cubic-bezier(.33, 1, .68, 1); } }
@media (min-width: 1024px) { .ds-faq__head, .ds-acc-head { top: var(--ds-sticky-top); transition: top .45s cubic-bezier(.33, 1, .68, 1); } }
html.ds-tb-moving .ds-svc-body--toc > nav, html.ds-tb-moving .ds-faq__head, html.ds-tb-moving .ds-acc-head { transition: none; }
.ds-svc-body .ds-prose > section { scroll-margin-top: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) + 1rem); }
/* sadržaj: trenutni odjeljak istaknut */
.ds-svc-body--toc .ds-toc a { position: relative; transition: color .2s ease; }
.ds-svc-body--toc .ds-toc a.is-active { color: var(--ds-red-ink); font-weight: 700; }
.ds-svc-body--toc .ds-toc a.is-active::before { content: ""; position: absolute; left: calc(-1rem - 2px); top: .3rem; bottom: .3rem; width: 2px; background: var(--ds-primary); }

/* cjenik: bez gumba „Upit“; cijeli redak je poveznica (na uslugu, a bez stranice usluge na upit) */
.ds-pl-item { position: relative; grid-template-columns: 1fr auto !important; grid-template-areas: none !important; border-radius: 12px; transition: background .15s ease; }
.ds-pl-item:hover { background: var(--ds-red-soft); }
.ds-pl-item:hover .ds-pl-item__name > a, .ds-pl-item:hover .ds-pl-item__name > span:first-child { text-decoration: underline; text-underline-offset: 3px; }
.ds-pl-item__name > a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 12px; }
.ds-pl-item__ask { position: absolute !important; inset: 0; z-index: 0; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 12px; background: none !important; font-size: 0 !important; color: transparent !important; }
.ds-pl-item:has(.ds-pl-item__name > a) .ds-pl-item__ask { display: none; }
.ds-pl-item .ds-anchor__info, .ds-pl-item .ds-anchor__text { position: relative; z-index: 2; }
.ds-pl-item__name, .ds-pl-item__price { grid-column: auto !important; grid-row: auto !important; }
@media (max-width: 599px) { .ds-pl-item { grid-template-columns: 1fr auto !important; align-items: start; } }

/* SVA ljepljiva polja ispod zaglavlja prate stvarni donji rub zaglavlja (s gornjom trakom ili bez nje) */
:root { --ds-head-bottom: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) - var(--ds-tb-off, 0px)); }
.ds-pricelist__tools { top: var(--ds-head-bottom); }
.ds-area-services__bar { top: calc(var(--ds-head-bottom) + .5rem); }
@media (min-width: 1024px) { .ds-price-card { top: calc(var(--ds-head-bottom) + var(--ds-3)); } .ds-article-aside { top: calc(var(--ds-head-bottom) + 1.5rem); } }
@media (min-width: 1024px) { .ds-pl-nav { top: calc(var(--ds-head-bottom) + 100px); max-height: calc(100vh - var(--ds-head-bottom) - 120px); } }
.ds-pricelist__tools, .ds-area-services__bar, .ds-price-card, .ds-article-aside, .ds-pl-nav { transition: top .45s cubic-bezier(.33, 1, .68, 1); }
html.ds-tb-moving .ds-pricelist__tools, html.ds-tb-moving .ds-area-services__bar, html.ds-tb-moving .ds-price-card, html.ds-tb-moving .ds-article-aside, html.ds-tb-moving .ds-pl-nav { transition: none; }
/* skokovi na sidro (sadržaj, cjenik, područja): cilj ne završava ispod zaglavlja ni kad se gornja traka vrati */
.ds-prose h2, .ds-area-block, .ds-inq2__target, .ds-inquiry__card { scroll-margin-top: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) + 1rem); }
.ds-pl-group, .ds-az__group { scroll-margin-top: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) + 140px); }
.ds-area-services__group { scroll-margin-top: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) + 150px); }
/* cjenik i cijene: istaknuti redak ima unutarnji razmak, tekst ostaje poravnat s naslovom grupe */
.ds-pl-item { margin-left: -1rem; margin-right: -1rem; padding-left: 1rem !important; padding-right: 1rem !important; }
.ds-prices li:has(.ds-prices__pick) { margin-left: -.9rem; margin-right: -.9rem; padding-left: .9rem; padding-right: .9rem; }
/* cjenik: svi redovi (i prvi i zadnji) jednak razmak; crta između redaka, ne zaobljeni donji rub */
.ds-pl-item, .ds-pl-item:first-child, .ds-pl-item:last-child { padding-top: .85rem !important; padding-bottom: .85rem !important; border-bottom: 0 !important; }
.ds-pl-item + .ds-pl-item::before { content: ""; position: absolute; top: 0; left: 1rem; right: 1rem; height: 1px; background: var(--ds-line); }
.ds-pl-item:hover::before, .ds-pl-item:hover + .ds-pl-item::before { opacity: 0; }
.ds-pl-group ul { margin-bottom: -.4rem; }
/* cijene usluge: isto */
.ds-prices li:has(.ds-prices__pick) { border-bottom: 0; }
.ds-prices li:has(.ds-prices__pick) + li::before { content: ""; position: absolute; top: 0; left: .9rem; right: .9rem; height: 1px; background: var(--ds-line); }
.ds-prices li:has(.ds-prices__pick):hover::before, .ds-prices li:has(.ds-prices__pick):hover + li::before { opacity: 0; }
/* nakon slanja: neobavezno „Kako ste saznali za nas?” (samo kad izvor nije poznat), tiho i malo */
.sc-heard { margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--ds-line); }
.sc-heard__q { margin: 0 0 .5rem; font-size: .85rem; color: var(--ds-ink-2); }
.sc-heard__opts { display: flex; flex-wrap: wrap; gap: .35rem; }
.sc-heard__opt { min-height: 36px; padding: .3rem .75rem; border: 1px solid var(--ds-line); border-radius: 999px; background: #fff; font: inherit; font-size: .8rem; color: var(--ds-ink-2); cursor: pointer; }
.sc-heard__opt:hover { border-color: var(--ds-ink-2); color: var(--ds-ink); }
.sc-heard__opts { justify-content: center; }

/* ---------- mobilni nalazi (dego, 23.10.) ---------- */
/* izbornik na mobitelu: tražilica se pri listanju ne podvlači preko gornjeg retka s logom */
.ds-menu__top { z-index: 30; }
/* broj telefona u gornjoj traci i izborniku nikad u dva retka */
.ds-topbar a, .ds-menu__contact a, .ds-btn .ds-nowrap, a[href^="tel:"] { white-space: nowrap; }
/* pločice područja u izborniku: duži nazivi (Anesteziologija, Ginekologija i porodništvo) ne izlaze iz okvira */
@media (max-width: 599px) {
	.ds-menu__areas .ds-area__name, .ds-area-grid .ds-area__name { font-size: 1rem; line-height: 1.25; overflow-wrap: anywhere; hyphens: auto; }
	.ds-menu__areas a, .ds-area-grid .ds-area { min-width: 0; }
}
/* tim: samo jedan liječnik zauzima cijeli red, vodoravno (fotografija lijevo) */
.ds-team--grid > li:only-child { grid-column: 1 / -1; flex-basis: 100% !important; }
.ds-team--grid > li:only-child > a { display: grid; grid-template-columns: minmax(120px, 38%) 1fr; align-items: center; }
.ds-team--grid > li:only-child .ds-person__photo { aspect-ratio: 4 / 5; }
@media (min-width: 768px) { .ds-team--grid > li:only-child > a { grid-template-columns: 220px 1fr; max-width: 640px; } }
/* obrazac: odabir „Nisam siguran/na” bez prazne ikone */
.sc-combo.has-value .sc-combo__icon:not([style*="background-image"]) { display: none; }
/* Bez ikone tekst ne smije pasti u uski stupac ikone. */
.sc-combo.has-value .sc-combo__btn:has(> .sc-combo__icon:not([style*="background-image"])) { grid-template-columns: minmax(0, 1fr) auto 20px; padding-left: 1rem; }

/* ---------- mobilni nalazi 2 (dego, 26.10.) ---------- */
/* izbornik: stupci i pločice se smiju suziti, bez vodoravnog listanja na uskim ekranima */
.ds-menu__cols { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .ds-menu__cols { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.ds-menu__cols > section, .ds-menu__areas li, .ds-menu__areas span { min-width: 0; }
.ds-menu__areas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .ds-menu__areas { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ds-menu__areas span, .ds-menu__areas .ds-area__name { hyphens: manual !important; overflow-wrap: break-word; }
/* mobitel: ikona iznad naziva, naziv dobije cijelu širinu pločice */
@media (max-width: 599px) {
	.ds-menu__areas li:not(.is-beauty) a { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .4rem; padding: .7rem .75rem; font-size: .92rem; }
	.ds-menu__areas li:not(.is-beauty) img { flex-basis: auto; width: 32px; height: 32px; }
	.ds-menu__areas .ds-area__name { font-size: .92rem; }
}
@media (max-width: 359px) {
	.ds-menu__areas li:not(.is-beauty) a, .ds-menu__areas .ds-area__name { font-size: .82rem; padding: .6rem .6rem; }
}
/* upit i telefon u izborniku: jednake širine, jedno ispod drugog kad nema mjesta za oba */
.ds-menu__contact { grid-template-columns: repeat(auto-fit, minmax(158px, 1fr)); }
.ds-menu__contact .ds-btn { gap: .45rem; }
.ds-menu__contact .ds-icon { width: 18px; height: 18px; fill: currentColor; }

/* gornja traka na mobitelu: prekidač i telefon u jednom retku; na uskim ekranima telefon je okrugli gumb */
@media (max-width: 767px) {
	.ds-topbar__row { flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .4rem; padding-bottom: .4rem; }
	.ds-topbar__phone { flex: 0 0 auto; }
}
@media (max-width: 429px) {
	.ds-topbar .ds-topbar__phone { justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(35, 31, 32, .15); }
	.ds-topbar__num { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* česta pitanja: znak + u krugu, centriran na prvi redak pitanja */
.ds-faq summary { align-items: flex-start; }
.ds-faq summary::after { display: grid; place-items: center; width: 28px; height: 28px; margin-top: calc(1.6 * 1.05rem / 2 - 14px); border-radius: 50%; background: var(--ds-surface); font-size: 1.15rem !important; font-weight: 600; line-height: 1; }
.ds-faq details[open] summary::after { background: var(--ds-red-soft); color: var(--ds-red-ink); }
/* gumbi uz pitanja: jednake širine, ispod 360px jedan ispod drugoga */
.ds-faq__actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ds-faq__actions .ds-btn { justify-content: center; gap: .45rem; }

/* recenzije na mobitelu: jedna cijela kartica, bez dijela sljedeće koji viri van okvira; strelice listaju */
@media (max-width: 599px) {
	.ds-reviews__list { grid-auto-columns: 100%; padding: .25rem 0 1rem; -webkit-mask-image: none; mask-image: none; }
	.ds-reviews__title span { display: block; margin: .1rem 0 0; }
}
.ds-review__top { min-width: 0; }
.ds-review__by img { flex: 0 0 36px; }
.ds-review__tag { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
/* cjenik na 320px: grupa se smije suziti (dugi nazivi stavki lome se u retke) */
.ds-pl-group, .ds-pl-item, .ds-pl-item > * { min-width: 0; }
.ds-pl-item { overflow-wrap: break-word; }

/* vodoravne pločice usluga na mobitelu: bez gumba „Upit” (cijela pločica vodi na uslugu), cijena u jednom retku */
.ds-tile__price { white-space: nowrap; }
@media (max-width: 599px) { .ds-tile--h .ds-tile__ask { display: none; } }
/* obrazac: „Dodajte e-mail ili poruku” u jednom retku, + ne smije se stisnuti */
body.ds .sc-more > summary { font-size: .95rem; line-height: 1.3; }
body.ds .sc-more > summary::before { flex: 0 0 24px; }
@media (max-width: 399px) { body.ds .sc-more > summary { gap: .6rem; padding: 0 .85rem; font-size: .9rem; } }
body.ds .sc-more__short { display: none; }
@media (max-width: 399px) { body.ds .sc-more__long { display: none; } body.ds .sc-more__short { display: inline; } }
/* tražilica na uskim ekranima: manje praznog prostora desno dok je prazna */
@media (max-width: 399px) { .ds-find__input { padding-left: 3rem; padding-right: 1rem; font-size: 1rem; } .ds-find__input:not(:placeholder-shown) { padding-right: 3rem; } }

/* ---------- vrlo uski ekrani (do 399px / 359px) ---------- */
@media (max-width: 399px) {
	/* primjeri uz tražilicu: bez „Npr.”, manji, u urednom nizu */
	.ds-find__chips > .ds-muted { display: none; }
	.ds-find__chips { gap: .35rem; font-size: .82rem; }
	.ds-find__chips .ds-find__chip { padding: .3rem .65rem; font-size: inherit; }
	/* najtraženije usluge: manje praznog prostora, ikona manja */
	.ds-svc-card { padding: 1rem; }
	.ds-svc-card.has-icon { grid-template-columns: 36px minmax(0, 1fr); column-gap: .75rem; }
	.ds-svc-card__icon { width: 36px; height: 36px; }
	.ds-svc-card__title { font-size: 1rem; }
	/* Beauty traka: zlatni okvir bliže rubu da tekst ne leži na liniji */
	.ds-beauty-band::before { inset: .5rem; border-radius: 20px; }
	.ds-beauty-band__list a { gap: .6rem; font-size: .95rem; }
}
@media (max-width: 359px) {
	:root { --ds-gutter: 1rem; }
	.ds-find__chips .ds-find__chip:nth-of-type(n+3) { display: none; } /* samo dva primjera, u jednom retku */
	.ds-menu-btn { padding: .5rem .7rem; }
	.ds-menu-btn__text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.ds-logo img { max-width: 112px; height: auto; }
	.ds-topbar .ds-brand-switch a { padding: .15rem .55rem; font-size: .74rem; }
	.ds-svc-card.has-icon { grid-template-columns: minmax(0, 1fr); }
	.ds-svc-card.has-icon > :not(img) { grid-column: 1; }
	.ds-svc-card__icon { grid-row: auto; }
}
/* naslovnica: kartica uvoda i Beauty gumb ne smiju biti širi od ekrana */
@media (max-width: 1023px) {
	.ds-home-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.ds-home-hero__text, .ds-home-hero__beauty { min-width: 0; max-width: 100%; }
}
@media (max-width: 359px) {
	.ds-home-hero__text { padding: 1rem; }
	.ds-home-hero__beauty { gap: .6rem; padding: .6rem .8rem; font-size: .78rem; }
	.ds-home-hero__beauty img { height: 24px; }
	/* donja traka za brzi kontakt: niža i uža */
	.ds-actionbar { left: .5rem; right: .5rem; bottom: calc(.4rem + env(safe-area-inset-bottom)); gap: .3rem; padding: .25rem; }
	.ds-actionbar a, .ds-actionbar .ds-btn--primary { min-height: 38px; }
	.ds-actionbar__wa, .ds-actionbar__call { width: 38px !important; height: 38px !important; }
	.ds-actionbar__wa svg { width: 19px; height: 19px; }
	.ds-actionbar__call .ds-icon { width: 17px; height: 17px; }
	.ds-actionbar .ds-btn--primary { padding: .35rem .75rem; font-size: .85rem; }
}
@media (max-width: 359px) {
	.ds-hook, .ds-hook__rating, .ds-hook__quotes, .ds-hook__quote { min-width: 0; max-width: 100%; }
	.ds-hook__rating { flex-wrap: wrap; row-gap: .1rem; }
}
@media (max-width: 359px) {
	.ds-hook__rating { border-radius: 14px; }
	.ds-home-hero__phone { display: block; width: 100%; text-align: center; }
}
/* do 359px traka za brzi kontakt ne pluta: prilijepljena uz dno, cijela širina */
@media (max-width: 359px) {
	.ds-actionbar { left: 0; right: 0; bottom: 0; padding: .35rem .5rem calc(.35rem + env(safe-area-inset-bottom)); border-radius: 0; background: #fff; box-shadow: 0 -1px 0 var(--ds-line), 0 -6px 16px -12px rgba(35, 31, 32, .3); }
	.ds-actionbar.is-hidden { transform: translateY(100%); }
}

/* ikone područja: bijela pozadina PNG-a (Sistematski, Laboratorij) stapa se s pločicom, bez bijelog okvira */
.ds-area__icon, .ds-svc-card__icon, .ds-menu__areas li:not(.is-beauty) img { mix-blend-mode: multiply; }
/* kontakt: e-mail uvijek u jednom retku; kartice se slažu po širini sadržaja */
@media (min-width: 768px) { .ds-contact-ways { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); } }
.ds-contact-way span { min-width: 0; }
.ds-contact-way[href^="mailto:"] { white-space: nowrap; }

/* O poliklinici: okvir „Kako doći do nas” i razmak do recenzija */
.ds-prose .ds-callout { margin: 1.25rem 0; padding: .9rem 1.1rem; border-radius: 14px; background: var(--ds-red-soft); }
.ds-prose .ds-callout a { white-space: nowrap; font-weight: 700; }
#dolazak { scroll-margin-top: calc(var(--ds-header-h, 64px) + var(--ds-topbar-h, 0px) + 1rem); }
/* izbornik na mobitelu: neparan broj poveznica, zadnja preko cijele širine */
.ds-menu__links li:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* dugi nazivi usluga (kardiometaboličko zdravlje): zaglavlje se ne širi preko ekrana */
.ds-hero__grid > *, .ds-svc-hero > * { min-width: 0; }
.ds-hero h1 { overflow-wrap: break-word; hyphens: manual; }
.ds-h1__sub { display: block; margin-top: .35em; font-size: .68em; font-weight: 700; line-height: 1.2; color: var(--ds-red-ink); }
@media (max-width: 767px) {
	.ds-hero h1.ds-h1--long { font-size: clamp(1.5rem, 6.6vw, 2rem); line-height: 1.18; text-wrap: balance; }
	.ds-hero h1.ds-h1--long .ds-h1__sub { font-size: .8em; }
}
/* obrazac: dugi naziv usluge lomi se u retke */
.sc-service-summary { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.sc-service-summary__label { min-width: 0; white-space: normal; overflow-wrap: break-word; }
body.ds .sc-service-summary { grid-template-columns: minmax(0, 1fr) auto; }
body.ds .sc-service-summary__value { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
/* brojke: broj uvijek u istom retku, i kad je opis kraći (column-reverse inače poravnava prema dnu) */
.ds-stats div { justify-content: flex-end; }

/* mobitel: bez pločica sadržaja na usluzi; pločice usluga bez gumba Upit (cijela vodi na uslugu) */
@media (max-width: 767px) { .ds-svc-body--toc > nav { display: none; } }
@media (max-width: 599px) { .ds-tile__ask { display: none; } }
/* Beauty pločica: tamni logo na svijetloj podlozi (bez stapanja sa zelenom) */
.ds-area-grid li.is-beauty .ds-area__icon { mix-blend-mode: normal; background: var(--sb-cream); }

/* Kalkulator: istaknuto na naslovnici i kardiologiji, tok od rezultata do upita. */
.ds-calc-band { position: relative; overflow: hidden; display: grid; gap: var(--ds-4); padding: var(--ds-5) var(--ds-4); border-radius: var(--ds-radius); background: var(--ds-blue); color: #fff; }
.ds-calc-band__line { position: absolute; left: 0; bottom: 0; width: 100%; height: 55%; color: rgba(255, 255, 255, .16); pointer-events: none; }
.ds-calc-band__text, .ds-calc-band__action { position: relative; }
.ds-calc-band h2 { margin: 0 0 .6rem; color: #fff; font-size: var(--ds-fs-xl); line-height: 1.15; text-wrap: balance; }
.ds-calc-band p { margin: 0; max-width: 40rem; color: #fff; }
.ds-calc-band__action { display: grid; gap: .6rem; justify-items: start; }
.ds-calc-band__btn { background: #fff; color: var(--ds-red-ink); }
.ds-calc-band__btn:hover, .ds-calc-band__btn:focus-visible { background: var(--ds-surface-warm); color: var(--ds-red-ink); }
.ds-calc-band__action small { font-size: var(--ds-fs-sm); color: #fff; }
@media (min-width: 900px) {
	.ds-calc-band { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--ds-8); padding: var(--ds-6); }
	.ds-calc-band__action { justify-items: center; text-align: center; max-width: 15rem; }
}
.ds-menu__calc-item { grid-column: 1 / -1; }
@media (min-width: 1024px) { .ds-menu__calc-item { grid-column: span 2; } }
.ds-menu__areas li .ds-menu__calc, .ds-menu__calc { display: grid; gap: .15rem; align-content: center; height: 100%; padding: .85rem 1rem; border-radius: var(--ds-radius-sm); background: var(--ds-surface-warm); color: var(--ds-ink); text-decoration: none; }
.ds-menu__calc strong { color: var(--ds-red-ink); }
.ds-menu__calc span { font-size: var(--ds-fs-sm); }
.ds-menu__calc:hover strong, .ds-menu__calc:focus-visible strong { text-decoration: underline; }
.ds-calc-need { max-width: 52rem; margin: 0 0 var(--ds-3); }
.ds-calc-need a { font-weight: 700; }
body.ds .risk-results-wrapper { scroll-margin-top: calc(var(--ds-header-h, 64px) + 1rem); }
body.ds .scm-calc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }
body.ds .scm-calc-privacy { font-size: var(--ds-fs-sm); color: var(--ds-muted, #5c5a60); }
@media (max-width: 599px) { body.ds .scm-calc-actions .ds-btn { width: 100%; text-align: center; } }
/* Glavna navigacija u jednom redu. */
.ds-nav > a, .ds-nav > button, .ds-header__cta { white-space: nowrap; }

/* Stranica kalkulatora: skupine polja lijevo, stalni rezultat desno, objašnjenja u redovima. */
.ds-hero--calc { padding-bottom: var(--ds-3); }
.ds-hero--calc h1 { margin-bottom: 0; }
.ds-hero--calc .ds-calc-need { max-width: 40rem; margin: var(--ds-2) 0 0; font-size: var(--ds-fs-sm); color: var(--ds-ink-2); }
.ds-calc-section { padding-top: var(--ds-3); }
.ds-calc-note { margin: var(--ds-3) 0 0; }
body.ds .scm-calculator-form { display: grid; gap: var(--ds-5); align-items: start; }
@media (min-width: 960px) { body.ds .scm-calculator-form { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--ds-8); } }
body.ds .scm-calc-fields { display: grid; gap: var(--ds-4); min-width: 0; }
body.ds .scm-calc-group { padding-top: var(--ds-3); border-top: 2px solid var(--ds-ink); }
body.ds .scm-calc-group__title { margin: 0 0 var(--ds-3); font-family: var(--ds-heading-font); font-size: var(--ds-fs-md); font-weight: 800; line-height: 1.2; }
body.ds .scm-calc-row { display: grid; gap: var(--ds-3) var(--ds-2); grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
body.ds .scm-calc-row > .radio:first-child:has(input[name="spol"]) { grid-column: auto; }
body.ds .scm-calc-row--three .scm-calc-field--sistolicki { grid-column: 1 / -1; }
@media (min-width: 640px) {
	body.ds .scm-calc-row--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.ds .scm-calc-row--three .scm-calc-field--sistolicki { grid-column: auto; }
}
@media (max-width: 359px) { body.ds .scm-calc-row { grid-template-columns: minmax(0, 1fr); } }
body.ds .scm-calculator .calculator > label, body.ds .scm-calc-label { display: block; margin: 0 0 .4rem; font-weight: 700; font-size: .95rem; line-height: 1.3; }
body.ds .scm-calculator .wpcf7-form-control-wrap { position: relative; display: block; }
body.ds .scm-calculator input[type="text"] { width: 100%; max-width: none; min-height: 52px; padding: .6rem 4.4rem .6rem .9rem; font-size: 1.125rem; font-weight: 600; background: #fff; }
body.ds .scm-calc-unit { position: absolute; top: 50%; right: .9rem; transform: translateY(-50%); font-size: .85rem; color: var(--ds-ink-2); pointer-events: none; }
body.ds .scm-calc-hint { display: block; margin-top: .35rem; font-size: .8125rem; line-height: 1.35; color: var(--ds-ink-2); }
body.ds .scm-calculator .wpcf7-radio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; padding: 4px; border-radius: var(--ds-radius-sm); background: var(--ds-surface); }
body.ds .scm-calculator .wpcf7-list-item { display: block; margin: 0; }
body.ds .scm-calculator .wpcf7-list-item label { display: flex; justify-content: center; min-height: 44px; padding: .4rem .5rem; border: 0; border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(35, 31, 32, .12); font-weight: 600; }
body.ds .scm-calculator .wpcf7-list-item label:has(input:checked) { background: var(--ds-blue); border-color: var(--ds-blue); color: #fff; }
body.ds .scm-calculator .submit input[type="submit"] { width: 100%; max-width: none; min-height: 56px; font-size: 1.0625rem; }
@media (min-width: 640px) { body.ds .scm-calculator .submit input[type="submit"] { width: auto; min-width: 18rem; } }
/* rezultat */
body.ds .scm-calc-panel { position: relative; overflow: hidden; display: block; padding: var(--ds-4); border-radius: var(--ds-radius); background: var(--ds-blue); color: #fff; scroll-margin-top: calc(var(--ds-header-h, 64px) + 1rem); }
@media (min-width: 960px) { body.ds .scm-calc-panel { padding: var(--ds-5); } }
body.ds .scm-calc-trace { display: block; width: calc(100% + 2 * var(--ds-4)); height: 72px; margin: calc(-1 * var(--ds-3)) calc(-1 * var(--ds-4)) var(--ds-2); }
@media (min-width: 960px) { body.ds .scm-calc-trace { width: calc(100% + 2 * var(--ds-5)); margin-inline: calc(-1 * var(--ds-5)); } }
.scm-calc-trace path { fill: none; stroke: #fff; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.scm-calc-trace__pulse { opacity: .35; }
.scm-calc-panel.is-result .scm-calc-trace__pulse { opacity: 1; }
.scm-calc-panel.is-result .scm-calc-trace { animation: ds-calc-trace 1.1s ease-out both; }
@keyframes ds-calc-trace { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@media (prefers-reduced-motion: reduce) { .scm-calc-panel.is-result .scm-calc-trace { animation: none; } }
body.ds .scm-calc-panel__title { margin: 0 0 .5rem; font-family: var(--ds-heading-font); font-size: var(--ds-fs-lg); font-weight: 800; }
body.ds .scm-calc-empty p:last-child { margin: 0; }
@media (max-width: 959px) { body.ds .scm-calc-panel:not(.is-result) { display: none; } }
body.ds .scm-calc-panel .risk-results-wrapper:not([hidden]) { display: grid !important; gap: var(--ds-3); padding: 0; border: 0; }
body.ds .scm-calc-panel .risk-box { padding: 0; background: none; }
body.ds .scm-calc-panel .risk-box p { margin: 0 0 .4rem; max-width: 24rem; }
body.ds .scm-calc-panel .risk-value { font-size: clamp(3.75rem, 2.8rem + 4vw, 5.5rem); line-height: 1; letter-spacing: -.02em; color: #fff; }
body.ds .scm-calc-panel .scm-calc-cta { display: grid; gap: var(--ds-2); padding: var(--ds-3) 0 0; border-top: 1px solid rgba(255, 255, 255, .35); border-radius: 0; background: none; }
body.ds .scm-calc-panel .scm-calc-actions { display: grid; gap: .85rem; justify-items: start; }
body.ds .scm-calc-panel .scm-calc-cta-primary, body.ds .scm-calc-panel .scm-calc-cta-primary:visited { width: 100%; justify-content: center; text-align: center; background: #fff; color: var(--ds-red-ink); }
body.ds .scm-calc-panel .scm-calc-cta-primary:hover, body.ds .scm-calc-panel .scm-calc-cta-primary:focus-visible { background: var(--ds-surface-warm); color: var(--ds-red-ink); }
body.ds .scm-calc-panel .scm-calc-cta-plain, body.ds .scm-calc-panel .model-note a { color: #fff; font-weight: 700; text-decoration: underline; }
body.ds .scm-calc-panel .scm-calc-privacy, body.ds .scm-calc-panel .model-note { margin: 0; font-size: .8125rem; line-height: 1.45; color: #fff; }
body.ds .scm-calc-panel :focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
/* objašnjenja */
.ds-calc-info__lead { max-width: 46rem; margin-bottom: var(--ds-6); font-size: var(--ds-fs-md); line-height: 1.5; }
.ds-calc-info__lead p { margin: 0 0 1rem; }
.ds-calc-info__row { display: grid; gap: var(--ds-2); padding: var(--ds-4) 0; border-top: 1px solid var(--ds-line); }
.ds-calc-info__row h2 { margin: 0; font-size: var(--ds-fs-lg); line-height: 1.2; text-wrap: balance; }
.ds-calc-info__row .ds-prose { max-width: 42rem; }
.ds-calc-info__row .ds-prose > :last-child { margin-bottom: 0; }
@media (min-width: 900px) { .ds-calc-info__row { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: var(--ds-6); } }
.ds-calc-info__row + .ds-calc-info__note { margin-top: var(--ds-3); }
.ds-calc-info__note + .ds-calc-info__note { margin-top: var(--ds-1); }
.ds-calc-info__note .ds-prose { font-size: var(--ds-fs-sm); }
body.ds .scm-calc-field-error { display: block; margin-top: .35rem; font-size: .8125rem; font-weight: 600; line-height: 1.35; color: var(--ds-red-ink); }
body.ds .scm-calculator .is-invalid input[type="text"] { border-color: var(--ds-red-ink); box-shadow: 0 0 0 1px var(--ds-red-ink); }
body.ds .scm-calculator .is-invalid .wpcf7-radio { box-shadow: 0 0 0 2px var(--ds-red-ink); }
body.ds .scm-calculator .is-invalid .scm-calc-hint { display: none; }
/* Greška je uz polje; sažetak ostaje samo za čitače zaslona. */
body.ds .scm-calc-fields .scm-calc-error:not([hidden]) { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.ds .scm-calc-field-error a { color: inherit; font-weight: 700; }

/* Kalkulator u članku: uža inačica trake, u jednom stupcu. */
.ds-calc-band-wrap { margin: var(--ds-4) 0; }
.ds-calc-band.ds-calc-band--compact { grid-template-columns: minmax(0, 1fr); gap: var(--ds-3); padding: var(--ds-4); }
.ds-calc-band--compact h2 { font-size: var(--ds-fs-lg); }
.ds-calc-band.ds-calc-band--compact .ds-calc-band__action { justify-items: start; text-align: left; max-width: none; }
.ds-area-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.ds-prose .ds-callout a:not([class]) { white-space: normal; }
/* Crta ispod teksta kad je traka u jednom stupcu. */
@media (max-width: 899px) {
	.ds-calc-band { padding-bottom: calc(var(--ds-4) + 2.25rem); }
	.ds-calc-band__line { height: 64px; }
}
.ds-calc-band.ds-calc-band--compact { padding-bottom: calc(var(--ds-4) + 2.25rem); }
.ds-calc-band--compact .ds-calc-band__line { height: 64px; }
/* Tim po skupinama */
.ds-team-group + .ds-team-group { margin-top: var(--ds-6); }
.ds-team-group__title { margin: 0 0 var(--ds-3); font-size: var(--ds-fs-lg); }
/* Pretraga usluga u obrascu: skrivene stavke i skupine stvarno nestaju. */
.sc-combo__opt[hidden], .sc-combo__group[hidden] { display: none; }
