/**
 * Palitra global overrides for static pages that also load the Munich/SieMatic bundle.
 * - Base layout for detail page when Munich CSS is not loaded (aspect-ratio, flow, flex, grid, container).
 * - Normalizes typography scale for headings used in story/detail pages.
 * - Keeps Palitra footer compact and consistent across pages.
 *
 * Include this after `loading.css` and any third‑party CSS.
 */

/* ========== Detail page base layout (replaces minimal Munich layout) ========== */
body.template_basic-page.munich {
  --fluid-32: 2rem;
  --fluid-16: 1rem;
}

/* Flow: vertical stack with gap */
body.template_basic-page.munich .flow {
  display: flex;
  flex-direction: column;
  gap: var(--flow-spacing, var(--fluid-32, 2rem));
}

/* Aspect-ratio box: container gets height from ratio, children fill it */
body.template_basic-page.munich .aspect-ratio-container {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: var(--aspect-ratio, 1);
}
body.template_basic-page.munich .aspect-ratio-container .self-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
body.template_basic-page.munich .aspect-ratio-container .self-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: var(--cover-color, transparent);
  pointer-events: none;
}
@media (max-width: 767px) {
  body.template_basic-page.munich .aspect-ratio-container {
    aspect-ratio: var(--aspect-ratio-md-down, var(--aspect-ratio, 1));
  }
}

/* Layer overlay + inner padding + wrapper + alignment */
body.template_basic-page.munich .layer-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
body.template_basic-page.munich .layer-container > * {
  pointer-events: auto;
}
body.template_basic-page.munich .inner-layer {
  height: 100%;
  box-sizing: border-box;
}
body.template_basic-page.munich .p-fluid-32 {
  padding: var(--fluid-32, 2rem);
}
body.template_basic-page.munich .p-fluid-16,
body.template_basic-page.munich .px-fluid-16 {
  padding-left: var(--fluid-16, 1rem);
  padding-right: var(--fluid-16, 1rem);
}
body.template_basic-page.munich .px-fluid-32,
body.template_basic-page.munich .md\:px-fluid-32 {
  padding-left: var(--fluid-32, 2rem);
  padding-right: var(--fluid-32, 2rem);
}
body.template_basic-page.munich .wrapper {
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
body.template_basic-page.munich .wrapper-xl {
  max-width: 80rem;
}
body.template_basic-page.munich .alignment-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
}
body.template_basic-page.munich .middle-center {
  justify-content: center;
  align-items: center;
}
body.template_basic-page.munich .alignment-container.flow {
  gap: var(--flow-spacing, var(--fluid-32, 2rem));
}

/* Teaser kitchen module: flex row on large, wrap */
body.template_basic-page.munich .teaser-kitchen-module {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media (min-width: 1024px) {
  body.template_basic-page.munich .teaser-kitchen-module.lg\:flex-nowrap {
    flex-wrap: nowrap;
  }
}
body.template_basic-page.munich .basis-full { flex-basis: 100%; }
body.template_basic-page.munich .basis-6\/12 { flex-basis: 50%; }
body.template_basic-page.munich .md\:basis-6\/12 { flex-basis: 50%; }
body.template_basic-page.munich .md\:basis-3\/12 { flex-basis: 25%; }
@media (min-width: 768px) {
  body.template_basic-page.munich .md\:basis-6\/12 { flex-basis: 50%; }
  body.template_basic-page.munich .md\:basis-3\/12 { flex-basis: 25%; }
}
body.template_basic-page.munich .order-first { order: -1; }
body.template_basic-page.munich .order-1 { order: 1; }
body.template_basic-page.munich .order-2 { order: 2; }
body.template_basic-page.munich .md\:order-none { order: 0; }
@media (min-width: 768px) {
  body.template_basic-page.munich .md\:order-none { order: 0; }
}

/* Flex utilities */
body.template_basic-page.munich .flex { display: flex; }
body.template_basic-page.munich .inline-flex { display: inline-flex; }
body.template_basic-page.munich .flex-wrap { flex-wrap: wrap; }
body.template_basic-page.munich .flex-col { flex-direction: column; }
body.template_basic-page.munich .items-center { align-items: center; }
body.template_basic-page.munich .justify-center { justify-content: center; }
body.template_basic-page.munich .h-full { height: 100%; }
body.template_basic-page.munich .overflow-hidden { overflow: hidden; }
body.template_basic-page.munich .z-30 { z-index: 30; }
body.template_basic-page.munich .mx-auto { margin-left: auto; margin-right: auto; }
body.template_basic-page.munich .rounded-none { border-radius: 0; }
body.template_basic-page.munich .rounded-full { border-radius: 9999px; }
body.template_basic-page.munich .bg-white { background-color: #fff; }
body.template_basic-page.munich .bg-neutral-900 { background-color: #171717; }
body.template_basic-page.munich .shadow-xl { box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); }

/* Container + grid (content width) */
body.template_basic-page.munich .container {
  width: 100%;
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
body.template_basic-page.munich .grid {
  display: grid;
  gap: var(--fluid-32, 2rem);
}
body.template_basic-page.munich .gap-fluid-32 { gap: 2rem; }
body.template_basic-page.munich .gap-2 { gap: 0.5rem; }
body.template_basic-page.munich .gap-4 { gap: 1rem; }
body.template_basic-page.munich .flex-shrink-0 { flex-shrink: 0; }
body.template_basic-page.munich .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
body.template_basic-page.munich .lg\:grid-cols-1 { grid-template-columns: 1fr; }
@media (min-width: 768px) {
  body.template_basic-page.munich .md\:grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  body.template_basic-page.munich .lg\:grid-cols-1 { grid-template-columns: 1fr; }
}
body.template_basic-page.munich .lg\:col-span-1 { grid-column: span 1; }
body.template_basic-page.munich .col-auto { grid-column: auto; }
body.template_basic-page.munich .hidden { display: none; }
body.template_basic-page.munich .lg\:block { display: block; }
@media (min-width: 1024px) {
  body.template_basic-page.munich .lg\:block { display: block; }
}

/* Media: fill container, cover, center */
body.template_basic-page.munich .fit-cover,
body.template_basic-page.munich .object-cover {
  object-fit: cover;
}
body.template_basic-page.munich .middle-center.fit-cover,
body.template_basic-page.munich .middle-center.object-cover,
body.template_basic-page.munich img.fit-cover,
body.template_basic-page.munich img.middle-center {
  object-position: center;
}
body.template_basic-page.munich .w-full { width: 100%; }
body.template_basic-page.munich .h-full img { height: 100%; }

/* Wrapper container + text/grid modules */
body.template_basic-page.munich .wrapper-container {
  width: 100%;
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
body.template_basic-page.munich .text-module,
body.template_basic-page.munich .grid-module {
  display: block;
  width: 100%;
}
body.template_basic-page.munich .container.relative { position: relative; }
body.template_basic-page.munich .relative { position: relative; }
body.template_basic-page.munich .absolute { position: absolute; }
/* Spacing utilities used in detail markup */
body.template_basic-page.munich .p-5 { padding: 1.25rem; }
body.template_basic-page.munich .mt-2 { margin-top: 0.5rem; }
body.template_basic-page.munich .mt-4 { margin-top: 1rem; }
@media (min-width: 768px) {
  body.template_basic-page.munich .md\:p-7 { padding: 1.75rem; }
  body.template_basic-page.munich .md\:mt-4 { margin-top: 1rem; }
}
@media (min-width: 1024px) {
  body.template_basic-page.munich .lg\:p-14 { padding: 3.5rem; }
  body.template_basic-page.munich .lg\:mt-4 { margin-top: 1rem; }
}

/* ========== End detail page base layout ========== */

/* Slightly smaller overall body copy to match main Palitra pages */
main {
  font-size: 0.9375rem; /* ~15px */
}

/* Serif story headline (e.g. "The elegant side of extravagance.") */
.text-serif-xl,
h2.font-serif.text-serif-xl {
  font-size: clamp(1.375rem, 1.9vw, 1.75rem);
  line-height: 1.3;
}

/* Allow text modules that wrap content in `.mx-auto` on Munich pages
   to expand like Palitra sections instead of the very narrow default. */
body.template_basic-page.munich .text-module .mx-auto {
  max-width: 100%;
}

/* Munich CSS makes .viewport-wrapper position:fixed + overflow:hidden which
   clips all content. We don't use Munich's scroll hijacking, so reset it. */
.viewport-wrapper {
  position: relative !important;
  overflow: visible !important;
  height: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  width: 100% !important;
}

.content-scroll {
  overflow: visible !important;
  width: 100% !important;
  transform: none !important;
}

/* Munich pages: use normal document scroll like the main page (no inner scrollbar).
   Munich sets html height:100% and can create a scroll container; we want only the window to scroll. */
body.template_basic-page.munich {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}
html:has(body.template_basic-page.munich) {
  height: auto !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

/* Footer must never be inside a scroll box – no overflow that would show a scrollbar on the footer area */
body.template_basic-page.munich #footer-placeholder,
body.template_basic-page.munich #footer-placeholder .palitra-footer,
body.template_basic-page #footer-placeholder,
body.template_basic-page #footer-placeholder .palitra-footer {
  overflow: visible !important;
}

/* On Munich-based static pages, let inner content wrappers span full width
   instead of the hard-coded 1200px max-width from Munich CSS. */
body.template_basic-page.munich .container.wrapper-container,
body.template_basic-page.munich .container .wrapper-container,
body.template_basic-page.munich .grid-module .wrapper-container,
body.template_basic-page.munich .text-module .wrapper-container,
body.template_basic-page.munich .text-module .mx-auto {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Tailwind max-width utilities on Munich-based pages:
   use the same content width as other Palitra pages (~72rem),
   so sections like “Find us & see our work” and the footer
   don't stretch edge-to-edge. */
body.template_basic-page.munich .max-w-7xl,
body.template_basic-page.munich .max-w-6xl,
body.template_basic-page.munich .max-w-5xl,
body.template_basic-page.munich .max-w-4xl {
  max-width: 72rem !important;
}

/* Bronze detail: make the first story text block and the story-video block
   use similar vertical padding to other Palitra sections. */
body.template_basic-page.munich .container.wrapper-container.text-module {
  padding-top: 3.5rem !important;   /* ~py-14 on large screens */
  padding-bottom: 3.5rem !important;
}

@media (min-width: 768px) {
  body.template_basic-page.munich .container.wrapper-container.text-module {
    padding-top: 3.75rem !important; /* close to md:py-10 */
    padding-bottom: 3.75rem !important;
  }
}

/* Story video wrapper: match kitchens/products section spacing */
body.template_basic-page.munich .grid-module .wrapper-container .rounded-none.overflow-hidden.bg-neutral-900 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

/* Bronze detail: bring content width + side padding closer to other Palitra pages */
body.template_basic-page.munich #main-content .container.wrapper-container,
body.template_basic-page.munich #main-content .grid-module .wrapper-container {
  max-width: 72rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1.5rem !important;  /* ≈ px-6 */
  padding-right: 1.5rem !important;
}

/* Munich materials band: use same inner width as other sections (72rem). */
body.template_basic-page.munich #munich-materials-section .max-w-6xl {
  max-width: 72rem !important;
}

/* Detail secondary band "Fully equipped, beautifully calm" – full width, not 72rem like other sections */
body.template_basic-page.munich #detail-secondary,
body.template_basic-page.munich .detail-secondary-full-width {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

/* Main story text (lede + body in .text-module) – same font as "Discover the variety of materials" + spacing below like Discover section */
body.template_basic-page.munich .text-module h2.font-serif,
body.template_basic-page.munich .text-module h2.text-serif-xl,
body.template_basic-page.munich .text-module h2 {
  font-family: Chronicle Display A, Chronicle Display B, ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif !important;
  font-size: clamp(1.25rem, 4vw, 1.875rem) !important; /* same scale as Discover heading: text-2xl lg:text-3xl */
  line-height: 1.3 !important;
  color: #111827 !important;
  margin-bottom: 1.5rem !important; /* mb-6 like Discover heading */
}
/* Bronze detail: reduce gap between lede heading and body paragraph */
body.template_basic-page.munich #bronze-story-intro-wrap .text-module h2.font-serif,
body.template_basic-page.munich #bronze-story-intro-wrap .text-module h2.text-serif-xl,
body.template_basic-page.munich #bronze-story-intro-wrap .text-module h2 {
  margin-bottom: 0.75rem !important;
}
/* Bronze detail: tighten the space below the paragraph and the whole text block before the video */
body.template_basic-page.munich #bronze-story-intro-wrap .text-module p {
  margin-bottom: 0 !important;
}
body.template_basic-page.munich #bronze-story-intro-wrap .container.wrapper-container.text-module,
body.template_basic-page.munich #bronze-story-intro-wrap .container.wrapper-container.text-module {
  padding-bottom: 1.25rem !important;
}
body.template_basic-page.munich #bronze-story-intro-wrap.text-module,
body.template_basic-page.munich #bronze-story-intro-wrap .text-module {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  body.template_basic-page.munich #bronze-story-intro-wrap .text-module { margin-bottom: 0 !important; }
}
body.template_basic-page.munich .text-module p {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 2rem !important; /* mb-8 same as Discover paragraph */
}
body.template_basic-page.munich .text-module .mx-auto:last-child p:last-child {
  margin-bottom: 0 !important;
}
/* Space below the whole lede block (same as below Discover section content) */
body.template_basic-page.munich .text-module {
  margin-bottom: 2rem !important;
}
@media (min-width: 768px) {
  body.template_basic-page.munich .text-module { margin-bottom: 2.5rem !important; }
}

/* Detail page CTA buttons (brochure, digital showroom, etc.) – visible on all viewports */
body.template_basic-page.munich a.button.inverse {
  border-radius: 9999px !important;
  background-color: #0f0f0f !important;
  color: #fff !important;
  border: 1px solid #0f0f0f !important;
  text-decoration: none !important;
}
body.template_basic-page.munich a.button.inverse:hover {
  background-color: #262626 !important;
  color: #fff !important;
  border-color: #262626 !important;
}
/* inverse with custom inline style (e.g. border white) keep their style but ensure visible */
body.template_basic-page.munich a.button.inverse.custom {
  background-color: #000000 !important;
  color: #fff !important;
}

/* Generic heading utilities used for section titles / CTAs */
.text-2xl,
h2.font-serif.text-2xl {
  font-size: 1.25rem;
  line-height: 1.35;
}

.text-3xl,
h2.font-display.text-3xl {
  font-size: 1.5rem;
  line-height: 1.25;
}

@media (min-width: 768px) {
  .md\:text-4xl,
  h2.font-display.md\:text-4xl {
    font-size: 1.75rem;
    line-height: 1.2;
  }
}

@media (min-width: 1024px) {
  .lg\:text-3xl,
  h2.font-serif.lg\:text-3xl {
    font-size: 1.5rem;
    line-height: 1.2;
  }
}

/* Footer: keep compact, more like main Palitra pages.
   Use !important so we reliably win over Munich/default footer styles.
   Exclude #palitra-detail-footer so the details page uses only its own inline styles. */
.palitra-footer:not(#palitra-detail-footer) {
  background-color: #f5f5f5 !important;
  color: #525252 !important;
  border-top: 1px solid #e5e5e5 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.8125rem !important;
}

.palitra-footer:not(#palitra-detail-footer) h3 {
  font-size: 0.85rem !important;
  text-transform: none !important;
  letter-spacing: 0.06em !important;
  color: #262626 !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
}

.palitra-footer:not(#palitra-detail-footer) p,
.palitra-footer:not(#palitra-detail-footer) ul,
.palitra-footer:not(#palitra-detail-footer) li,
.palitra-footer:not(#palitra-detail-footer) a {
  font-family: 'Barlow', sans-serif !important;
  color: #525252 !important;
}

.palitra-footer:not(#palitra-detail-footer) a:link,
.palitra-footer:not(#palitra-detail-footer) a:visited,
.palitra-footer:not(#palitra-detail-footer) ul a,
.palitra-footer:not(#palitra-detail-footer) ul a:link,
.palitra-footer:not(#palitra-detail-footer) ul a:visited {
  color: #525252 !important;
}

.palitra-footer:not(#palitra-detail-footer) a:hover {
  color: #c75c5c !important;
}

.palitra-footer:not(#palitra-detail-footer) .mt-12.pt-8 {
  border-top-color: #e5e5e5 !important;
  color: #737373 !important;
  font-size: 0.875rem !important;
}

.palitra-footer:not(#palitra-detail-footer) .mt-12.pt-8 * {
  color: #737373 !important;
}

.palitra-footer [class*="rounded-full"] {
  background-color: #525252 !important;
  color: #fff !important;
}

.palitra-footer [class*="rounded-full"] svg {
  color: #fff !important;
  fill: #fff !important;
}

.palitra-footer [class*="rounded-full"]:hover {
  background-color: #c75c5c !important;
  color: #fff !important;
}

.palitra-footer [class*="rounded-full"]:hover svg {
  color: #fff !important;
  fill: #fff !important;
}

/* Materials overview: ensure lacquer card height matches others on mobile */
@media (max-width: 767.98px) {
  a.material-card-wrapper[href$="#lacquer"] .aspect-ratio-container {
    --aspect-ratio-md-down: 1/1 !important;
    --aspect-ratio: 1/1 !important;
  }
}

/* Remove legacy SieMatic/Zürich widget sidebar (contact/route/appointment) on Palitra pages */
.widget-sidebar,
.widget-sidebar + section,
.widget-sidebar + section + div[x-bind\:class] {
  display: none !important;
}
/* Hide entire widget bar wrapper so no panel (e.g. "Appointment") can show (widget bar removed from HTML; rule kept for other pages) */
body > div:has(> .widget-sidebar) {
  display: none !important;
}

/* Ensure Palitra footer is always visible (main content can scroll to it) */
.palitra-footer,
#palitra-detail-footer.palitra-footer {
  display: block !important;
  visibility: visible !important;
  position: relative !important;
}

/* ========== GLOBAL FOOTER: same layout on every page (home, products/kitchens, modern-kitchens, materials, details) ========== */
#footer-placeholder {
  width: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0)) !important;
}
#footer-placeholder .palitra-footer {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: #f5f5f5 !important;
  color: #525252 !important;
  border-top: 1px solid #e5e5e5 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.8125rem !important;
  box-sizing: border-box !important;
  padding: 0 !important;
  margin: 0 !important;
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0)) !important;
}
#footer-placeholder .palitra-footer .max-w-7xl {
  width: 100% !important;
  max-width: 72rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  padding-top: 3rem !important;
  padding-bottom: 4rem !important;
  box-sizing: border-box !important;
}
@media (min-width: 640px) {
  #footer-placeholder .palitra-footer .max-w-7xl {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}
@media (min-width: 1024px) {
  #footer-placeholder .palitra-footer .max-w-7xl {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
#footer-placeholder .palitra-footer .grid {
  display: grid !important;
  width: 100% !important;
  gap: 2.5rem !important;
  grid-template-columns: 1fr !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  #footer-placeholder .palitra-footer .grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3rem !important;
  }
}
#footer-placeholder .palitra-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#footer-placeholder .palitra-footer ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}
#footer-placeholder .palitra-footer ul li:last-child {
  margin-bottom: 0 !important;
}
#footer-placeholder .palitra-footer h3 {
  margin-bottom: 1rem !important;
  font-size: 0.85rem !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  color: #262626 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
}
#footer-placeholder .palitra-footer .flex.gap-4 {
  display: flex !important;
  gap: 1rem !important;
}
#footer-placeholder .palitra-footer .mt-12.pt-8 {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #e5e5e5 !important;
  text-align: center !important;
  border-top-color: #e5e5e5 !important;
  color: #737373 !important;
  font-size: 0.875rem !important;
}
#footer-placeholder .palitra-footer .mt-12.pt-8 * {
  color: #737373 !important;
}
#footer-placeholder .palitra-footer p,
#footer-placeholder .palitra-footer ul,
#footer-placeholder .palitra-footer li,
#footer-placeholder .palitra-footer a {
  font-family: 'Barlow', sans-serif !important;
  color: #525252 !important;
}
#footer-placeholder .palitra-footer a:hover {
  color: #c75c5c !important;
}

/* On Munich/details and materials (wood, etc.): footer spans full width like main page; inner content 72rem, centered */
body.template_basic-page.munich #footer-placeholder,
body.template_basic-page #footer-placeholder {
  width: 100% !important;
  display: block !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Force same footer layout as non-Munich pages (kitchens, index): grid + inner width so it doesn’t look different */
body.template_basic-page.munich #footer-placeholder .palitra-footer,
body.template_basic-page #footer-placeholder .palitra-footer {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  background-color: #f5f5f5 !important;
  color: #525252 !important;
  border-top: 1px solid #e5e5e5 !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.8125rem !important;
  box-sizing: border-box !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer .max-w-7xl,
body.template_basic-page #footer-placeholder .palitra-footer .max-w-7xl {
  width: 100% !important;
  max-width: 72rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  padding-top: 3rem !important;
  padding-bottom: 4rem !important;
  box-sizing: border-box !important;
}
@media (min-width: 640px) {
  body.template_basic-page.munich #footer-placeholder .palitra-footer .max-w-7xl,
  body.template_basic-page #footer-placeholder .palitra-footer .max-w-7xl {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}
@media (min-width: 1024px) {
  body.template_basic-page.munich #footer-placeholder .palitra-footer .max-w-7xl,
  body.template_basic-page #footer-placeholder .palitra-footer .max-w-7xl {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
body.template_basic-page.munich #footer-placeholder .palitra-footer .grid,
body.template_basic-page #footer-placeholder .palitra-footer .grid {
  display: grid !important;
  width: 100% !important;
  gap: 2.5rem !important;
  grid-template-columns: 1fr !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  body.template_basic-page.munich #footer-placeholder .palitra-footer .grid,
  body.template_basic-page #footer-placeholder .palitra-footer .grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3rem !important; /* md:gap-12 to match footer.html */
  }
}

/* Footer content layout: match main site (contacts list, social row, copyright centered) */
body.template_basic-page.munich #footer-placeholder .palitra-footer ul,
body.template_basic-page #footer-placeholder .palitra-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer ul li,
body.template_basic-page #footer-placeholder .palitra-footer ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer ul li:last-child,
body.template_basic-page #footer-placeholder .palitra-footer ul li:last-child {
  margin-bottom: 0 !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer h3,
body.template_basic-page #footer-placeholder .palitra-footer h3 {
  margin-bottom: 1rem !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer .flex.gap-4,
body.template_basic-page #footer-placeholder .palitra-footer .flex.gap-4 {
  display: flex !important;
  gap: 1rem !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer .mt-12.pt-8,
body.template_basic-page #footer-placeholder .palitra-footer .mt-12.pt-8 {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #e5e5e5 !important;
  text-align: center !important;
}

/* Footer typography inside placeholder – match main page so Munich cannot override */
body.template_basic-page.munich #footer-placeholder .palitra-footer h3,
body.template_basic-page #footer-placeholder .palitra-footer h3 {
  font-size: 0.85rem !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 600 !important;
  color: #262626 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer p,
body.template_basic-page.munich #footer-placeholder .palitra-footer ul,
body.template_basic-page.munich #footer-placeholder .palitra-footer li,
body.template_basic-page.munich #footer-placeholder .palitra-footer a,
body.template_basic-page #footer-placeholder .palitra-footer p,
body.template_basic-page #footer-placeholder .palitra-footer ul,
body.template_basic-page #footer-placeholder .palitra-footer li,
body.template_basic-page #footer-placeholder .palitra-footer a {
  font-family: 'Barlow', sans-serif !important;
  color: #525252 !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer a:hover,
body.template_basic-page #footer-placeholder .palitra-footer a:hover {
  color: #c75c5c !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer .mt-12.pt-8,
body.template_basic-page #footer-placeholder .palitra-footer .mt-12.pt-8 {
  border-top-color: #e5e5e5 !important;
  color: #737373 !important;
  font-size: 0.875rem !important;
}
body.template_basic-page.munich #footer-placeholder .palitra-footer .mt-12.pt-8 *,
body.template_basic-page #footer-placeholder .palitra-footer .mt-12.pt-8 * {
  color: #737373 !important;
}

/* Footer bottom padding so copyright isn't hidden behind mobile browser/simulator UI */
.palitra-footer {
  padding-bottom: env(safe-area-inset-bottom, 0) !important;
}
body.template_basic-page.munich .palitra-footer:not(#palitra-detail-footer),
body.template_basic-page.munich #footer-placeholder,
body.template_basic-page .palitra-footer:not(#palitra-detail-footer),
body.template_basic-page #footer-placeholder {
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0)) !important;
}
#palitra-detail-footer.palitra-footer {
  padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0)) !important;
}

/* ========== MATERIALS INDEX: force same navbar + footer as kitchens (override materials main.css) ========== */
body.template_basic-page.materials-colors #navbar-placeholder {
  position: relative !important;
  z-index: 99999 !important;
  pointer-events: none !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  background-color: rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header a,
body.template_basic-page.materials-colors #navbar-placeholder #site-header #menu-toggle,
body.template_basic-page.materials-colors #navbar-placeholder #site-header #mobile-menu,
body.template_basic-page.materials-colors #navbar-placeholder #site-header #mobile-menu * {
  pointer-events: auto !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header .nav-link {
  color: #3d3d3d !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header .nav-link:hover {
  color: #c75c5c !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header .logo-invert {
  filter: none !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header.header-logo-light .palitra-nav-logo-word {
  filter: brightness(0) invert(1) !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header.header-logo-light .nav-link {
  color: rgba(255, 255, 255, 0.92) !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header.header-logo-light .nav-link:hover {
  color: #ffffff !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header.header-transparent .palitra-nav-logo-word {
  filter: brightness(0) invert(1) !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header #mobile-menu {
  display: none !important;
}
body.template_basic-page.materials-colors #navbar-placeholder #site-header #mobile-menu.menu-open {
  display: block !important;
}
body.template_basic-page.materials-colors .viewport-wrapper {
  position: relative !important;
  z-index: 0 !important;
}

/* Footer on materials index: same layout as kitchens (all columns visible, same grid/typography) */
body.template_basic-page.materials-colors #footer-placeholder,
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  background-color: #f5f5f5 !important;
  color: #525252 !important;
  border-top: 1px solid #e5e5e5 !important;
  font-family: 'Barlow', sans-serif !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .max-w-7xl {
  width: 100% !important;
  max-width: 72rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 1rem !important;
  padding-right: 1rem !important;
  padding-top: 3rem !important;
  padding-bottom: 4rem !important;
  box-sizing: border-box !important;
}
@media (min-width: 640px) {
  body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .max-w-7xl {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}
@media (min-width: 1024px) {
  body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .max-w-7xl {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
  }
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .grid {
  display: grid !important;
  width: 100% !important;
  gap: 2.5rem !important;
  grid-template-columns: 1fr !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 3rem !important;
  }
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .md\\:col-span-1,
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .grid > div {
  display: block !important;
  visibility: visible !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer h3 {
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: #262626 !important;
  margin-bottom: 1rem !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .mt-12.pt-8 {
  margin-top: 3rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #e5e5e5 !important;
  text-align: center !important;
  color: #737373 !important;
  font-size: 0.875rem !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer .mt-12.pt-8 * {
  color: #737373 !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer ul li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer [class*="rounded-full"] {
  background-color: #525252 !important;
  color: #fff !important;
}
body.template_basic-page.materials-colors #footer-placeholder .palitra-footer [class*="rounded-full"] svg {
  color: #fff !important;
  fill: #fff !important;
}

/* ========== Product category pages – “explore our history” block (matches /products/kitchens/) ========== */
.palitra-products-company-intro .text-module {
  --flow-spacing: 1.5rem;
}
.palitra-products-company-intro .text-module .font-display {
  font-family: 'Oswald', sans-serif;
}
.palitra-products-company-intro .kitchen-history-images {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-width: 0 !important;
}

/* Reduce top padding so section sits closer to previous block */
.palitra-products-company-intro > .max-w-7xl {
  padding-top: 0 !important;
}
@media (min-width: 768px) {
  .palitra-products-company-intro > .max-w-7xl {
    padding-top: 0 !important;
  }
}

/* Reduce title → paragraph gap (Tailwind mb-* is too large on mobile) */
.palitra-products-company-intro .text-module h2 {
  margin-top: 0 !important;
  margin-bottom: 0.2rem !important;
}
.palitra-products-company-intro .text-module p {
  margin-top: 0 !important;
}
/* Reduce space before image stack on mobile */
.palitra-products-company-intro .kitchen-history-images .relative.mx-auto {
  margin-top: 0.25rem !important;
}

/* /products/kitchens/: ensure no extra gap after hero video */
body.template_basic-page .kitchens-hero-section {
  margin-bottom: 0 !important;
}
body.template_basic-page main#main-content.products-intro-spacing-like-kitchens {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
@media (min-width: 768px) {
  .palitra-products-company-intro .text-module h2 {
    margin-bottom: 0.3rem !important;
  }
}
@media (min-width: 768px) {
  .palitra-products-company-intro .kitchen-history-images {
    justify-content: flex-end !important;
  }
}

/* Home page: opt-in tighter spacing to match /products/kitchens/ intro */
.palitra-products-company-intro.palitra-products-company-intro--tight > .max-w-7xl {
  padding-top: 0.1rem !important;
  padding-bottom: 0 !important;
}
.palitra-products-company-intro.palitra-products-company-intro--tight h2 {
  margin-bottom: 0.1rem !important;
}
.palitra-products-company-intro.palitra-products-company-intro--tight p {
  margin-bottom: 0.1rem !important;
}
.palitra-products-company-intro.palitra-products-company-intro--tight a {
  margin-top: 0 !important;
}
.palitra-products-company-intro.palitra-products-company-intro--tight .kitchen-history-images .relative.mx-auto {
  margin-top: 0 !important;
}

/* ========== /products/* intro + stack: same spacing as /products/kitchens/ #main-content.flow ========== */
html:has(main.products-intro-spacing-like-kitchens) {
  overflow-x: hidden;
}
html:has(main.products-intro-spacing-like-kitchens),
html:has(main.products-intro-spacing-like-kitchens) body {
  margin: 0;
  padding: 0;
}
main.products-intro-spacing-like-kitchens a.rounded-full {
  text-decoration: none !important;
}
main.products-intro-spacing-like-kitchens.flow {
  gap: 0 !important;
}
main.products-intro-spacing-like-kitchens.flow > * + * {
  margin-top: 0.1rem !important;
}
main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl {
  padding-top: 0.1rem !important;
  padding-bottom: 0 !important;
}
main.products-intro-spacing-like-kitchens > section.bg-white {
  padding-top: 0 !important;
}
main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl h2 {
  margin-bottom: 0.1rem !important;
}
main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl p {
  margin-bottom: 0.1rem !important;
}
main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl a {
  margin-top: 0 !important;
}
main.products-intro-spacing-like-kitchens .palitra-products-company-intro .kitchen-history-images .relative.mx-auto {
  margin-top: 0 !important;
}
main.products-intro-spacing-like-kitchens > .border-t {
  margin-top: 0.1rem !important;
  margin-bottom: 0.1rem !important;
}
main.products-intro-spacing-like-kitchens > section.bg-white > div {
  padding-top: 0 !important;
}
@media (max-width: 767px) {
  main.products-intro-spacing-like-kitchens .bg-white .max-w-7xl {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  main.products-intro-spacing-like-kitchens section.bg-white,
  main.products-intro-spacing-like-kitchens section.other-collections {
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
  }
  main.products-intro-spacing-like-kitchens.flow > * + * {
    margin-top: 0.1rem !important;
  }
  main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl {
    padding-top: 0.1rem !important;
    padding-bottom: 0 !important;
  }
  main.products-intro-spacing-like-kitchens > section.bg-white {
    padding-top: 0 !important;
  }
  main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl h2 {
    margin-bottom: 0.1rem !important;
  }
  main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl p {
    margin-bottom: 0.1rem !important;
  }
  main.products-intro-spacing-like-kitchens > .palitra-products-company-intro > .max-w-7xl a {
    margin-top: 0 !important;
  }
  main.products-intro-spacing-like-kitchens .palitra-products-company-intro .kitchen-history-images .relative.mx-auto {
    margin-top: 0 !important;
  }
  main.products-intro-spacing-like-kitchens > .border-t {
    margin-top: 0.1rem !important;
    margin-bottom: 0.1rem !important;
  }
  main.products-intro-spacing-like-kitchens > section.bg-white > div {
    padding-top: 0 !important;
  }
}
@media (min-width: 768px) {
  main.products-intro-spacing-like-kitchens .bg-white .max-w-7xl {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  main.products-intro-spacing-like-kitchens section.bg-white,
  main.products-intro-spacing-like-kitchens section.other-collections {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
}
@media (min-width: 1024px) {
  main.products-intro-spacing-like-kitchens .bg-white .max-w-7xl {
    padding-top: 1.25rem !important;
    padding-bottom: 1.25rem !important;
  }
}


