﻿/**
 * Reset main.css styles for Studio content (body.page-studio main).
 * main.css is usually loaded вЂ” header stays correct. Content uses Tailwind.
 *
 * Header over the banner (like the homepage) вЂ” positioning and colors only,
 * without side effects from body.main (background, wrap, etc.).
 */
body.page-studio .arrow-button {
  background: #fff;
  color: #000;
  border: 1px solid #000;
  border-radius: 50px;
  padding: 10px 20px;
  font-size: 16px;
}
/* Tailwind utility fallbacks for Studio (when not in the build): prevent overflow via width */
body.page-studio .w-full { width: 100%; }
body.page-studio .max-w-full { max-width: 100%; }
body.page-studio .min-w-0 { min-width: 0; }
body.page-studio .break-words { overflow-wrap: break-word; word-break: break-word; }

/* White background for Studio (no purple tint from notification, etc.) */
body.page-studio {
  background: #fff;
}

body.page-studio .notification {
  background: #fff;
}

/* Romie font for elements with Tailwind font-serif on Studio landings */
body.page-studio .font-serif {
  font-family: "Romie";
}

/* Studio product banner: top padding for header */
.studio-banner-inner {
  padding-top: 60px;
}

/* Subscribe button in newsletter form вЂ” white text on orange background */
body.page-studio .studio-newsletter-submit {
  background-color: #fff;
  color: #000 !important;
  border: 1px solid #fff;
  border-radius: 50px;
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
}

body.page-studio .studio-newsletter-submit:hover {
  color: rgba(0, 0, 0, 0.6) !important;
}

/* Message after successful newsletter form submit */
body.page-studio .studio-newsletter-form--success {
  margin-top: 2rem;
  max-width: 100%;
}

/* Header width matching banner text (1440px, same p-10 padding) */
body.page-studio .header {
  background: transparent !important;
}

body.page-studio .header .wrapper {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* Background on .wrapper only вЂ” header bar same width as banner */
body.page-studio .header.js__scroll .wrapper,
body.page-studio .header.catalog-open .wrapper {
  background-color: #fff;
}

@media (max-width: 768px) {
  body.page-studio .header .wrapper {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* No underline (border-bottom) on links in Studio content and footer */
body.page-studio main a:not([class]) {
  border-bottom: none;
}

body.page-studio a:not([class]) {
  border-bottom: none;
  text-decoration: none;
}

body.page-studio .header {
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

body.page-studio .header:not(.js__scroll):not(.catalog-open) {
  background: transparent;
  color: #fff;
}

body.page-studio .header:not(.js__scroll):not(.catalog-open) .header__links-item img,
body.page-studio .header:not(.js__scroll):not(.catalog-open) .logo img {
  filter: invert(1);
}

body.page-studio .header:not(.js__scroll):not(.catalog-open) .header__links-item svg path,
body.page-studio .header:not(.js__scroll):not(.catalog-open) .logo svg path {
  stroke: #fff;
  transition: all 0.3s;
}

body.page-studio .header:not(.js__scroll):not(.catalog-open) .header__links-item:hover svg.hover path {
  stroke: #000;
}

body.page-studio .header:not(.js__scroll):not(.catalog-open) .header__btns-item a:not(.profile) svg path {
  stroke: #fff;
  transition: all 0.3s;
}

body.page-studio .header:not(.js__scroll):not(.catalog-open) .header__btns-item a.profile svg path {
  fill: #fff;
  transition: all 0.3s;
}

/* Remove white circles (::after) under menu items on hover вЂ” odd on transparent header */
body.page-studio .header .header__nav .catalog-link > a:after,
body.page-studio .header .header__menu-link:after {
  display: none;
}

body.page-studio main strong {
  display: inline;
  font-weight: 700;
}

body.page-studio main p:not(:first-child),
body.page-studio main p:not(:last-child) {
  margin-top: 0;
  margin-bottom: 0;
}

body.page-studio main h2:not(.section-title),
body.page-studio main h3:not(.section-title),
body.page-studio main h4:not(.section-title),
body.page-studio main h5:not(.section-title),
body.page-studio main h6:not(.section-title) {
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  margin-top: 0;
  margin-bottom: 0;
}

body.page-studio main h2:not(.section-title):not(:first-child),
body.page-studio main h3:not(.section-title):not(:first-child),
body.page-studio main h4:not(.section-title):not(:first-child),
body.page-studio main h5:not(.section-title):not(:first-child),
body.page-studio main h6:not(.section-title):not(:first-child) {
  margin-top: 0;
}

body.page-studio main h2 + *,
body.page-studio main h3 + *,
body.page-studio main h4 + *,
body.page-studio main h5 + *,
body.page-studio main h6 + * {
  margin-top: 0;
}

body.page-studio main h2,
body.page-studio main h3,
body.page-studio main h4,
body.page-studio main h5 {
  font-size: inherit;
  line-height: inherit;
}

/* Reset img constraints вЂ” Studio controls height via Tailwind */
body.page-studio main img[height] {
  height: unset;
}

/* Reset main.css list styles вЂ” Studio does not use these lists */
body.page-studio main ol:not([class]),
body.page-studio main ul:not([class]) {
  margin-top: 0;
  margin-bottom: 0;
}

body.page-studio main ol:not([class]):before,
body.page-studio main ul:not([class]):before {
  display: none;
}

body.page-studio main ol:not([class]) > li,
body.page-studio main ul:not([class]) > li {
  padding-left: 0;
}

body.page-studio main ol:not([class]) > li:before,
body.page-studio main ul:not([class]) > li:before {
  content: none;
  margin-right: 0;
  background: transparent;
}

/* Studio main вЂ” no wrapper limits, full-width content */
body.page-studio main {
  max-width: none;
}

/* Color variants carousel: remove last slide margin-right so list stays in container */
body.page-studio .splide__slide {
  padding: 20px;
}

body.page-studio .products.splide .splide__list .splide__slide:last-child {
  margin-right: 0 !important;
}

body.page-studio .products.splide .splide__slide img {
  object-fit: cover;
}

/* Products carousel: on mobile вЂ” fixed card width ~140px */
@media (max-width: 768px) {
  body.page-studio .products.splide .splide__slide {
    width: 145px;
    min-width: 145px;
    flex: 0 0 145px;
    box-sizing: border-box;
  }
  body.page-studio .products.splide .splide__slide img {
    height: auto;
  }
}

/* --- Responsive: no horizontal page scroll, do not clip content --- */
html:has(body.page-studio) {
  overflow-x: hidden;
}

body.page-studio {
  overflow-x: hidden;
}

body.page-studio .designer-name {
  margin-top: 20px;
}

/* Mobile only: block order, body constraints, Become a partner вЂ” image top, text below, white button */
@media (max-width: 768px) {
  /* Become a partner: image on top (order: 1), text below (order: 2) */
  body.page-studio .black-grid .col-span-12:nth-child(2) {
    order: 1;
    border-radius: 0.5rem 0.5rem 0 0;
  }
  body.page-studio .black-grid .col-span-12:nth-child(2) img {
    border-radius: 0.5rem 0.5rem 0 0;
  }
  body.page-studio .black-grid .col-span-12:nth-child(1) {
    order: 2;
    border-radius: 0 0 0.5rem 0.5rem;
  }
  body.page-studio .black-grid .arrow-button,
  body.page-studio .black-grid button[type="submit"] {
    background-color: #fff !important;
    color: #000 !important;
    border: 1px solid #000;
  }
  body.page-studio .black-grid .arrow-button:hover,
  body.page-studio .black-grid button[type="submit"]:hover {
    background-color: #fff !important;
    color: #e87900 !important;
  }
  body.page-studio {
    max-width: 100vw;
  }
  body.page-studio > *,
  body.page-studio main {
    min-width: 0;
    max-width: 100%;
  }
  body.page-studio section,
  body.page-studio .max-w-8xl,
  body.page-studio .max-w-7xl {
    max-width: 100%;
    box-sizing: border-box;
  }
}

/* Large heading "Die Tischleuchte" вЂ” smaller on mobile to avoid clipping */
body.page-studio #collections + div h3,
body.page-studio .small-on-mobile h3.text-7xl {
  font-size: clamp(1.5rem, 6vw, 4.5rem);
  word-break: break-word;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* Orange block вЂ” base layout without overloading desktop */
body.page-studio .bg-orange {
  box-sizing: border-box;
}

/* --- Tailwind equivalents for footer orange block with form only (not product designer block) --- */
body.page-studio .bg-orange.studio-newsletter-block.mt-12,
body.page-studio .studio-newsletter-block.mt-12 {
  margin-top: 3rem;
}
@media (min-width: 768px) {
  body.page-studio .bg-orange.studio-newsletter-block.md\:mt-24,
  body.page-studio .studio-newsletter-block.md\:mt-24 {
    margin-top: 6rem;
  }
}
/* .max-w-8xl.mx-auto.grid... вЂ” newsletter block only, not product designer block */
body.page-studio .studio-newsletter-block > .max-w-8xl.mx-auto.grid.grid-cols-12,
body.page-studio .studio-newsletter-block > div {
  max-width: min(90rem, 100%);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  box-sizing: border-box;
  align-items: start;
}
/* Square + contain/cover: height from column width, not form column */
body.page-studio .studio-newsletter-block .grid > .col-span-12:not(:has(.studio-newsletter-form)) {
  align-self: start;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
}
body.page-studio .studio-newsletter-block .grid > .col-span-12:not(:has(.studio-newsletter-form)) img {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: contain !important;
  object-position: center;
}
@media (min-width: 768px) {
  body.page-studio .studio-newsletter-block > .max-w-8xl.mx-auto.grid.grid-cols-12,
  body.page-studio .studio-newsletter-block > div {
    gap: 2.5rem;
  }
}
body.page-studio .studio-newsletter-block .grid > .col-span-12 {
  grid-column: span 12 / span 12;
}
@media (min-width: 768px) {
  body.page-studio .studio-newsletter-block .grid > .md\:col-span-6 {
    grid-column: span 6 / span 6;
  }
}
/* Form column: .pt-4 .pb-12 .px-4 .md:px-6 .md:py-10 */
body.page-studio .studio-footer__newsletter-col {
  padding-top: 1rem;
  padding-bottom: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  body.page-studio .studio-footer__newsletter-col.md\:px-6.md\:py-10 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
/* Form wrapper .w-full.max-w-full */
body.page-studio .studio-footer__newsletter-col .w-full.max-w-full {
  width: 100%;
  max-width: 100%;
}
@media (min-width: 768px) {
  body.page-studio .studio-footer__newsletter-col .w-full.md\:max-w-\[62\.5\%\] {
    max-width: 62.5%;
  }
}
/* Form .flex.flex-col.gap-8.mt-8.items-start.justify-start.w-full */
body.page-studio .studio-newsletter-form {
  display: flex !important;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2rem;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  visibility: visible !important;
  opacity: 1 !important;
}
body.page-studio .studio-newsletter-form .form__btns {
  display: flex !important;
  align-items: center;
  visibility: visible !important;
}
body.page-studio .studio-newsletter-form .studio-newsletter-form__field,
body.page-studio .studio-newsletter-form .form__item--agree {
  display: flex !important;
  width: 100%;
  max-width: 100%;
  visibility: visible !important;
}
body.page-studio .studio-newsletter-form .form__item--agree {
  flex-direction: row;
  align-items: flex-start;
  flex-wrap: wrap;
}
body.page-studio .studio-newsletter-form .default-input,
body.page-studio .studio-newsletter-form input:not([type="hidden"]):not(.hidden) {
  display: block !important;
  visibility: visible !important;
}
body.page-studio .studio-newsletter-form .form__btns button {
  visibility: visible !important;
}
/* Orange block with form вЂ” not wider than page; other .bg-orange (product designer) untouched */
body.page-studio .bg-orange.studio-newsletter-block,
body.page-studio .studio-newsletter-block {
  width: 100%;
  max-width: min(100%, 100vw);
  box-sizing: border-box;
}
body.page-studio .studio-newsletter-block > div {
  max-width: min(90rem, 100%);
  width: 100%;
  box-sizing: border-box;
}
body.page-studio .studio-newsletter-block .grid > * {
  min-width: 0;
  max-width: 100%;
}
/* Form column and form вЂ” width limits (min-w-0, max-w-full, w-full), no clipping */
body.page-studio .studio-footer__newsletter-col,
body.page-studio .studio-footer__newsletter-col .w-full,
body.page-studio .studio-newsletter-form {
  max-width: 100%;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
body.page-studio .studio-newsletter-form .studio-newsletter-form__field,
body.page-studio .studio-newsletter-form .form__btns,
body.page-studio .studio-newsletter-form input[type="text"],
body.page-studio .studio-newsletter-form input[type="email"],
body.page-studio .studio-newsletter-form input[type="tel"],
body.page-studio .studio-newsletter-form select.studio-newsletter-form__select {
  max-width: 100%;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
/* Platform orange block (text "Eine Plattform..."): Tailwind equivalents + word wrap */
body.page-studio .bg-orange .w-full.max-w-8xl.mx-auto.grid.grid-cols-12.px-4,
body.page-studio .bg-orange .w-full.max-w-8xl.mx-auto.grid.grid-cols-12.gap-4 {
  width: 100%;
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  padding-left: 1rem;
  padding-right: 1rem;
  gap: 1rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  body.page-studio .bg-orange .w-full.max-w-8xl.mx-auto.grid.grid-cols-12.px-4.md\:px-10,
  body.page-studio .bg-orange .w-full.max-w-8xl.mx-auto.grid.grid-cols-12.gap-4.md\:gap-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    gap: 2.5rem;
  }
}
body.page-studio .bg-orange .font-serif {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}

/* On mobile: viewport limit for newsletter block only; product designer block untouched */
@media (max-width: 768px) {
  body.page-studio .bg-orange.studio-newsletter-block,
  body.page-studio .studio-newsletter-block {
    max-width: 100vw !important;
    width: 100% !important;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box !important;
  }
  body.page-studio .studio-newsletter-block > div {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  body.page-studio .studio-newsletter-block .grid,
  body.page-studio .studio-newsletter-block [class*="col-span"] {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.page-studio .studio-newsletter-block .col-span-12:has(.studio-newsletter-form) {
    min-width: min(100%, 320px) !important;
  }
  body.page-studio .studio-newsletter-block .font-serif {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
  }
}

/* Desktop: word wrap for long platform text only, no width change */
body.page-studio .bg-orange .font-serif {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
  white-space: normal;
}

/* Newsletter form in orange block вЂ” base layout, always visible */
body.page-studio .studio-newsletter-form {
  box-sizing: border-box;
  display: flex !important;
  visibility: visible !important;
  flex-direction: column;
}
body.page-studio .studio-footer__newsletter-col {
  display: block;
  visibility: visible;
  min-height: 200px;
}

/* Form column on mobile вЂ” width limits and padding only, no clipping */
@media (max-width: 768px) {
  body.page-studio .studio-footer__newsletter-col {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  body.page-studio .studio-footer__newsletter-col .w-full {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.page-studio .studio-newsletter-form {
    max-width: 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  body.page-studio .studio-newsletter-form .default-checkbox__label,
  body.page-studio .studio-newsletter-form .form__item--agree .default-checkbox__label,
  body.page-studio .form__item--agree {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    hyphens: auto;
    box-sizing: border-box !important;
  }
  body.page-studio .studio-newsletter-form .default-checkbox__label span {
    display: block !important;
    max-width: 100% !important;
  }
  body.page-studio .studio-newsletter-form .default-input,
  body.page-studio .studio-newsletter-form .studio-newsletter-form__field,
  body.page-studio .studio-newsletter-form .form__item--agree {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* Form column in newsletter block вЂ” prevent collapse */
body.page-studio .studio-newsletter-block .col-span-12:has(.studio-newsletter-form) {
  min-width: min(100%, 320px);
}

/* Studio footer: desktop flex justify-between, mobile even 2-column grid */
body.page-studio .studio-footer__links .studio-footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.5rem;
}
@media (max-width: 768px) {
  body.page-studio .studio-footer__links .studio-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem 1.5rem;
  }
  /* Bottom block (logo + legal links) вЂ” full width, span both columns */
  body.page-studio .studio-footer__nav .studio-footer__bottom {
    grid-column: 1 / -1;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  body.page-studio .studio-footer__bottom svg.w-full {
    max-width: 100%;
    height: auto;
  }
  body.page-studio .studio-footer__bottom .flex.flex-wrap {
    max-width: 100%;
    overflow-wrap: break-word;
    word-break: break-word;
  }
  body.page-studio .studio-footer__bottom a {
    overflow-wrap: break-word;
    word-break: break-word;
  }
}

/* Banner SVG logo вЂ” scales to screen, not clipped */
body.page-studio .studio-banner-inner svg.w-full,
body.page-studio .studio-banner-inner svg[id="studio"] {
  max-width: 100%;
  height: auto;
}

/* Carousel: container limits visible area, slides work normally (swipe) */
body.page-studio .splide,
body.page-studio .products.splide,
body.page-studio .partners.splide {
  overflow: hidden;
  max-width: 100%;
}

/* Partners carousel: on mobile вЂ” normal logo size */
body.page-studio .partners.splide .splide__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
body.page-studio .partners.splide .splide__slide a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
}
body.page-studio .partners.splide .splide__slide img {
  width: auto;
  height: auto;
  max-height: 72px;
  min-height: 48px;
  object-fit: contain;
  object-position: center;
}
@media (max-width: 768px) {
  body.page-studio .partners.splide .splide__slide {
    min-width: 192px;
    flex: 0 0 192px;
    padding: 1rem 1.5rem;
  }
  body.page-studio .partners.splide .splide__slide a {
    min-height: 64px;
  }
  body.page-studio .partners.splide .splide__slide img {
    max-height: 80px;
    min-height: 52px;
  }
}

@media (max-width: 768px) {
  body.page-studio .studio-banner-inner {
    padding-left: 1rem;
    padding-right: 1rem;
    min-width: 0;
  }

  /* Orange block with form: platform text вЂ” smaller font and word wrap (newsletter block only) */
  body.page-studio .studio-newsletter-block .font-serif.text-2xl {
    font-size: 1.125rem;
    line-height: 1.5;
    padding-left: 0;
    padding-right: 0;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  /* Footer form: on mobile guaranteed padding and word wrap */
  body.page-studio .studio-footer__newsletter-col {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  body.page-studio .studio-footer__newsletter-col .text-4xl {
    font-size: 1.25rem;
    line-height: 1.4;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  body.page-studio .small-on-mobile {
    margin-left: 0;
    margin-right: 0;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    max-width: 100%;
  }

  /* Drop / Nr. 1 and heading section вЂ” padding so text is not clipped */
  body.page-studio #collections,
  body.page-studio #collections + div {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  /* Designers grid: single column on mobile; do not clip text */
  body.page-studio section#designers {
    max-width: 100%;
    box-sizing: border-box;
    padding-left: 1rem;
    padding-right: 1rem;
  }
  body.page-studio section#designers .grid,
  body.page-studio section#designers [class*="col-span"] {
    min-width: 0;
    max-width: 100%;
  }
  body.page-studio section#designers p,
  body.page-studio section#designers .text-balance,
  body.page-studio section#designers .text-lg {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
  }

  body.page-studio section#designers .grid-cols-15,
  body.page-studio .grid.grid-cols-15 {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  body.page-studio section#designers [class*="col-span"] {
    grid-column: 1 / -1;
  }
}

/* Designer section: Tailwind equivalents (max-w-8xl, grid, gap, px) вЂ” all breakpoints */
body.page-studio section#designers {
  max-width: 90rem;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
body.page-studio section#designers.grid {
  display: grid;
  gap: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  body.page-studio section#designers.grid.md\:gap-10.md\:px-10 {
    gap: 2.5rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}
