/* Shared surfaces: neutral page rhythm with colour on selected introductions.
   Loaded after page-specific styles. No geometry or photographic assets change. */
:root {
  --dp-soft: #f3f5f7;
  --dp-line: #e1e5e9;
  --dp-muted: #626973;
  --surface-paper: #fff;
  --surface-soft: #f3f5f7;
  --surface-card: #f7f8fa;
  --surface-contact: #eaf1f6;
  --surface-line: #dde4ea;
  --surface-accent: #37566d;
}

/* White content alternates with a single neutral section colour. */
section.banner.rv8-ceiling-hero,
.page-prices section#banner4.rv8-ceiling-hero { background: var(--surface-soft) !important; }
section.calculator,
section.reviews.sc-reviews,
section.pr-promotions,
.sf-seo-home .dp-company-numbers,
.sr-repair-page .sr-repair-services { background: var(--surface-soft); }
.breadcrumbs { background: var(--surface-card); }
.prices2 .prices2-item { background: var(--surface-card); border-color: var(--surface-line); }
.sf-seo-home .dp-company-numbers,
.sf-seo-home .dp-company-numbers .counter-list-item,
section.rv8-ceiling-hero .dp-hero-benefits,
section.rv8-ceiling-hero .dp-hero-benefits .about-list2-item + .about-list2-item { border-color: var(--surface-line); }

/* Calculations and contact panels have a clear, slightly blue surface. */
section.calculator #formCalculator.dp-calculator .form-footer {
  background: var(--surface-contact);
  border-color: #d8e3ec;
}
section.calculator #formCalculator.dp-calculator .input-wrapper button:focus-visible { outline-color: var(--surface-accent); }
section.form-footer.fr-callback .fr-callback-panel { background: var(--surface-soft); border-color: var(--surface-line); }
section.form-footer.fr-callback #formFooter button[type="submit"] {
  background: #38393e; border-color: #38393e; color: #fff;
}
.co-page .co-contact-layout,
.co-page .co-care-layout,
.co-page .co-partner-contact-panel,
.co-about-page .co-about-legal-details { background: var(--surface-soft); }
.co-careers-page .co-intro { background: var(--surface-soft); }
.co-careers-page .co-vacancy-response-panel { background: var(--surface-contact); border-color: #d8e3ec; }
.co-careers-page .co-job-symbol { background: #eaf0f6; color: var(--surface-accent); }
.co-careers-page .co-vacancy-messengers a { border-color: #d8e3ec; }
.cp-page.co-page { --cp-border: #dde4ea; --cp-soft: #f3f5f7; --cp-gold: #37566d; }
.cp-page.co-page .cp-hero { background: var(--surface-soft); }
.cp-page.co-page .cp-start-panel { background: var(--surface-contact); border-color: #d8e3ec; }
.cp-page.co-page .cp-role-icon { background: #e7eef5; }
.cp-page.co-page .cp-terms > div,
.cp-page.co-page .cp-start-actions,
.cp-page.co-page .cp-step-number,
.cp-page.co-page .cp-audience-nav { border-color: var(--surface-line); }
.sr-repair-advice,
.sr-repair-contact { background: var(--surface-contact); border-color: #d8e3ec; }
.sr-repair-card-body p.sr-repair-price { background: #edf2f6; border-color: #dbe4ed; color: var(--surface-accent); }
.sr-repair-card > img,
main .dp-equipment-page .dp-cornice-installation .dp-accessory-media { background: var(--surface-soft); }

/* Reviews and small secondary actions no longer repeat a beige gradient. */
.rr-map-source { background: var(--rr-rating-background, #fff); border-color: var(--rr-rating-border, var(--surface-line)); }
.sc-faq-contact { background: var(--surface-contact); border-color: #d8e3ec; }
section.sc-faq .questions-list .questions-item:has(:is(h3,h2:where(.production-h3)).active),
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)).active { background: #f3f6f8; border-color: #d9e2e9; }
section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)).active:after { background: #e4ecf2; color: #37566d; }
.sc-avatar-initials { background: #e9eef3; color: #536476; }
.sc-gallery-more,
section.sc-works-home.pr-home .rv8-gallery-link,
.pr-load-more { background: #edf2f6; border-color: #cbd8e2; color: #37566d; }
.pr-filter-count { background: #edf0f3; color: #626973; }
.ceiling-profili .dp-profile-caption > div,
.dp-price-sections a { background: var(--surface-card); border-color: var(--surface-line); }
#formCalculate .calc-step-1 ul.ceilings-where li.active,
#formCalculate .calc-step-2 ul.ceilings-type li.active { background: #e7eef5; box-shadow: inset 0 0 0 1px #8ca4b8; }

/* Revised information pages use flat neutral backgrounds.
   Promotions and photograph overlays keep their own approved treatment. */
.co-about-page .co-about-intro,
.co-page .co-contact-layout,
.sc-faq-page .sc-faq-contact {
  background: var(--surface-soft);
}
.co-careers-page .co-intro,
.page-kalkulyator.dp-calculator-page section.dp-calculator-intro {
  background: var(--surface-soft);
}
.cp-page.co-page .cp-hero,
.co-page .co-care-layout {
  background: var(--surface-soft);
}
.dp-calculator-page section.calculator #formCalculator.dp-calculator .form-footer {
  background: var(--surface-contact);
}

/* Four restrained offer colours, matched to the existing illustrations.
   The tint is also used by the image overlay, so there is no beige seam. */
section.pr-promotions .sales-list .sales-item.pr-card {
  --pr-tint: #f1eef9;
  --pr-shade: #dfd9f1;
  --pr-ink: #564572;
  background: linear-gradient(115deg, var(--pr-tint) 15%, var(--pr-shade) 100%);
  border-color: #e0deeb;
}
section.pr-promotions .sales-list .sales-item.pr-card--gifts {
  --pr-tint: #eaf4ef; --pr-shade: #d3e7df; --pr-ink: #305e50;
  border-color: #d5e5dd;
}
section.pr-promotions .sales-list .sales-item.pr-card--large-room {
  --pr-tint: #eaf2fa; --pr-shade: #d5e5f2; --pr-ink: #345b7c;
  border-color: #d7e3ee;
}
section.pr-promotions .sales-list .sales-item.pr-card--measurement {
  --pr-tint: #f6edf1; --pr-shade: #ead8e2; --pr-ink: #754b61;
  border-color: #e8dbe2;
}
.pr-card .pr-card-value { color: var(--pr-ink); }
.pr-card .pr-card-value.pr-card-value--label { color: #665662; }
section.pr-promotions .sales-list .sales-item.pr-card p.pr-card-conditions { color: #555b65; }
.pr-discount-art {
  background: linear-gradient(145deg, #fff 25%, #f7f3f6 100%);
  color: #754b61; border-color: #ffffffdd;
  box-shadow: 0 14px 24px #563e5214, inset 0 1px 0 #fff;
}
.pr-promocode-panel { background: var(--surface-contact); border-color: #d8e3ec; }
.pr-promocode-copy p.pr-promocode-label,
.pr-promocode-copy > p:not(.pr-promocode-label) { color: #536778; }
.pr-promocode-copy strong.pr-promocode-code { background: #fff; border-color: #c8d7e3; color: #37566d; }
a.pr-messenger-link { border-color: #d1dee8; background: #fff; }

/* A blue highlight connects desktop and mobile navigation states. */
header.header, #mobileMenu {
  --menu-highlight: #e4efff;
  --menu-ink: #245c9d;
  --menu-focus: #4f82c0;
}
@media (min-width:1200px) {
  header.header .sf-menu-shortcuts { background: var(--surface-card); border-color: var(--surface-line); }
  header.header .header-bottom .center nav > ul > li.page:hover,
  header.header .header-bottom .center nav > ul > li.page:focus-within,
  header.header .header-bottom .center nav > ul > li.mr-menu-item[data-menu-state=open],
  header.header .header-bottom .center nav > ul > li.mr-menu-item > button.arrow:hover,
  header.header .header-bottom .center nav > ul > li.mr-menu-item[data-menu-state=open] > button.arrow { background-color: var(--menu-highlight); }
  header.header .header-bottom .center nav > ul > li.page:is(:hover, :focus-within, [data-menu-state=open]) > :is(a, .mr-menu-trigger, .mr-company-trigger) { color: var(--menu-ink); }
  header.header .header-bottom .center nav > ul > li.mr-menu-item > .mr-menu-panel a:is(:hover, :focus-visible),
  header.header .header-bottom .center nav > ul > li.mr-menu-item:not(.catalog-li) > .mr-menu-panel > .submenu > li > a:is(:hover, :focus-visible) {
    background: var(--menu-highlight);
    color: var(--menu-ink);
  }
  header.header .header-bottom .center nav > ul > li.mr-menu-item > .mr-menu-panel a:is(:hover, :focus-visible) .sf-nav-icon { color: inherit; }
  header.header .header-bottom .center nav :is(a, button):focus-visible { outline-color: var(--menu-focus); }
}
@media (max-width:1199px) {
  #mobileMenu nav .menu.level-1 > li:has(> button.arrow[aria-expanded="true"]) > :is(a, .mr-company-trigger) { border-radius: 11px 11px 0 0; }
  #mobileMenu nav .menu.level-1 > li:has(> button.arrow[aria-expanded="true"]) > :is(a, .mr-company-trigger),
  #mobileMenu nav .menu.level-1 > li > :is(a, .mr-company-trigger):focus-visible,
  #mobileMenu nav .menu.level-1 .menu.level-2 > li > a:focus-visible {
    background: var(--menu-highlight);
    color: var(--menu-ink);
  }
  #mobileMenu nav .menu.level-1 > li:has(> button.arrow[aria-expanded="true"]) > a .sf-nav-icon,
  #mobileMenu nav .menu.level-1 > li > button.arrow[aria-expanded="true"] { color: var(--menu-ink); }
  #mobileMenu nav :is(a, button):focus-visible { outline-color: var(--menu-focus); }
}
@media (max-width:1199px) and (hover:hover) {
  #mobileMenu nav .menu.level-1 > li > :is(a, .mr-company-trigger):hover,
  #mobileMenu nav .menu.level-1 .menu.level-2 > li > a:hover { background: var(--menu-highlight); color: var(--menu-ink); }
  #mobileMenu nav .menu.level-1 > li > button.arrow:hover { background-color: var(--menu-highlight) !important; color: var(--menu-ink); }
}

@media (hover:hover) {
  section.form-footer.fr-callback #formFooter button[type="submit"]:hover { background: #505056; border-color: #505056; }
  .sc-gallery-more:hover,
  section.sc-works-home.pr-home .rv8-gallery-link:hover,
  .pr-load-more:hover,
  .dp-price-sections a:hover { background: #e2ebf2; border-color: #9fb4c5; color: #2a455a; }
  section.sc-faq .questions-list .questions-item :is(h3,h2:where(.production-h3)):hover { background: #f3f6f8; }
  section.calculator #formCalculator.dp-calculator .input-list .input-group .input-wrapper button:hover { background: #edf2f6; }
  .co-careers-page .co-vacancy-messengers a:hover,
  a.pr-messenger-link:hover { background: #f5f9fc; border-color: #9fb4c5; }
}

/* The secondary header action uses the same blue as the navigation. */
header.header .header-top .right .btn-link {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--menu-ink, #245c9d);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: #245c9d70;
  text-underline-offset: 4px;
  transition: color .18s ease, text-decoration-color .18s ease;
}
header.header .header-top .right .btn-link:is(:hover, :focus-visible) {
  color: #184677;
  text-decoration-color: currentColor;
  background: transparent;
}
header.header .header-top .right .btn-link:focus-visible {
  outline: 2px solid var(--menu-focus, #4f82c0);
  outline-offset: 5px;
}
header.header .header-bottom .right .phone-wrapper > span { white-space: nowrap; }
header.header .header-bottom .right .phone-wrapper > span::before {
  animation: header-hours-pulse 2.6s ease-in-out infinite;
}
@keyframes header-hours-pulse {
  0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgb(44 183 66 / 0); }
  50% { opacity: .4; box-shadow: 0 0 0 4px rgb(44 183 66 / .12); }
}
@media (prefers-reduced-motion: reduce) {
  header.header .header-bottom .right .phone-wrapper > span::before { animation: none; }
  header.header .header-top .right .btn-link { transition: none; }
}
