@import url("https://fonts.googleapis.com/css2?family=Merriweather:wght@700&family=Merriweather+Sans:wght@300;500;600;700;800&display=swap");
/* Customer ZIP design, isolated from WordPress/theme defaults. */
#cm-original,#cm-original *{all:revert;box-sizing:border-box}
#cm-original{display:block;font-size:16px;text-align:left}
body.cm-original-page{margin:0;padding:0}
#cm-original{
  color-scheme: dark;
  --ink: #f7efe4;
  --muted: #cfbfa9;
  --paper: #201711;
  --panel: #2a1d15;
  --line: rgba(247, 239, 228, 0.16);
  --accent: #d7a24a;
  --accent-2: #7fb069;
  --logo-blue: #7aa9df;
  --logo-blue-60: rgba(122, 169, 223, 0.6);
  --logo-blue-light-95: rgba(224, 238, 252, 0.95);
  --heading-font: "Merriweather", Georgia, serif;
  --body-font: "Merriweather Sans", Arial, sans-serif;
}
#cm-original *{
  box-sizing: border-box;
}
#cm-original{
  margin: 0;
  min-height: 100vh;
  font-family: var(--body-font);
  font-weight: 300;
  line-height: 1.5;
  color: var(--ink);
  background: var(--paper);
}
#cm-original a{
  color: var(--accent);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
#cm-original .landing{
  min-height: 100vh;
  background:
    linear-gradient(rgba(20, 13, 9, 0.58), rgba(20, 13, 9, 0.86)),
    url("images/shutterstock_2110934744-1024x683.jpg") center/cover fixed;
  padding: clamp(24px, 5vw, 72px);
}
#cm-original .hero{
  display: grid;
  grid-template-columns: minmax(92px, 150px) minmax(0, 760px);
  gap: clamp(24px, 5vw, 52px);
  align-items: center;
  min-height: 44vh;
  max-width: 1080px;
}
#cm-original .logo{
  width: 100%;
  max-width: 150px;
}
#cm-original .eyebrow{
  margin: 0 0 10px;
  color: var(--accent);
  font-family: var(--body-font);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}
#cm-original h1,
#cm-original h2,
#cm-original h3{
  margin: 0;
  font-family: var(--heading-font);
  font-weight: 700;
  line-height: 1.08;
}
#cm-original h1{
  max-width: 12ch;
  font-size: clamp(3rem, 9vw, 7rem);
}
#cm-original .menu-title h1{
  max-width: 14ch;
  font-size: clamp(3.1rem, 6vw, 5rem);
}
#cm-original .intro{
  max-width: 620px;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
}
#cm-original .language-panel{
  width: min(880px, 100%);
  margin-top: 8vh;
  padding: clamp(18px, 3vw, 30px);
  color: var(--paper);
  background: var(--logo-blue-60);
  border: 1px solid var(--line);
  border-radius: 8px;
}
#cm-original .language-panel a{
  color: var(--paper);
}
#cm-original .language-panel h2{
  margin-bottom: 18px;
  font-size: clamp(1.4rem, 3vw, 2.1rem);
}
#cm-original .language-table{
  width: 100%;
  border-collapse: collapse;
  font-family: var(--body-font);
}
#cm-original .language-table th,
#cm-original .language-table td{
  padding: 16px 14px;
  border-top: 1px solid var(--line);
  text-align: left;
}
#cm-original .language-table th{
  color: rgba(32, 23, 17, 0.72);
  font-size: 0.8rem;
  text-transform: uppercase;
}
#cm-original .flag-cell{
  display: flex;
  width: 132px;
  gap: 10px;
  align-items: center;
}
#cm-original .flag-code{
  min-width: 28px;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--paper);
}
#cm-original .flag-icon{
  display: inline-block;
  width: 34px;
  height: 22px;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(247, 239, 228, 0.48);
  border-radius: 3px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.22);
}
#cm-original .flag-de{
  background: linear-gradient(#000 0 33.33%, #dd0000 33.33% 66.66%, #ffce00 66.66%);
}
#cm-original .flag-es{
  background: linear-gradient(#aa151b 0 25%, #f1bf00 25% 75%, #aa151b 75%);
}
#cm-original .flag-it{
  background: linear-gradient(90deg, #009246 0 33.33%, #fff 33.33% 66.66%, #ce2b37 66.66%);
}
#cm-original .flag-fr{
  background: linear-gradient(90deg, #0055a4 0 33.33%, #fff 33.33% 66.66%, #ef4135 66.66%);
}
#cm-original .flag-gb{
  background:
    linear-gradient(32deg, transparent 0 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
    linear-gradient(-32deg, transparent 0 42%, #fff 42% 47%, #c8102e 47% 53%, #fff 53% 58%, transparent 58%),
    linear-gradient(90deg, transparent 0 42%, #fff 42% 46%, #c8102e 46% 54%, #fff 54% 58%, transparent 58%),
    linear-gradient(0deg, transparent 0 36%, #fff 36% 43%, #c8102e 43% 57%, #fff 57% 64%, transparent 64%),
    #012169;
}
#cm-original .flag-gr{
  background:
    linear-gradient(90deg, #0d5eaf 0 20%, #fff 20% 32%, #0d5eaf 32% 44%, transparent 44%),
    linear-gradient(0deg, transparent 0 22%, #fff 22% 34%, transparent 34%),
    repeating-linear-gradient(0deg, #0d5eaf 0 11.11%, #fff 11.11% 22.22%);
}
#cm-original .menu-shell{
  width: min(1160px, 100%);
  margin: 0 auto;
  padding: clamp(18px, 4vw, 48px);
}
#cm-original:has(.menu-shell){
  --ink: #1f2328;
  --muted: #3f454b;
  --line: rgba(32, 23, 17, 0.24);
  --accent: #2f3337;
  --accent-2: #285f39;
  color: var(--ink);
  background:
    linear-gradient(var(--logo-blue-light-95), var(--logo-blue-light-95)),
    var(--paper);
}
#cm-original .menu-header{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 42%);
  gap: clamp(24px, 5vw, 56px);
  align-items: end;
  min-height: 420px;
  margin-bottom: 42px;
}
#cm-original .hero-slider{
  position: relative;
  width: 100%;
  height: min(48vw, 440px);
  min-height: 280px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 18px 40px rgba(31, 35, 40, 0.18);
}
#cm-original .hero-slider img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  animation: menuHeroCrossfade 24s infinite ease-in-out;
}
#cm-original .hero-slider img:nth-child(1){
  animation-delay: 0s;
}
#cm-original .hero-slider img:nth-child(2){
  animation-delay: 6s;
}
#cm-original .hero-slider img:nth-child(3){
  animation-delay: 12s;
}
#cm-original .hero-slider img:nth-child(4){
  animation-delay: 18s;
}
@keyframes menuHeroCrossfade{
  0% {
    opacity: 0;
  }

  4%,
  25% {
    opacity: 1;
  }

  29%,
  100% {
    opacity: 0;
  }
}
#cm-original .menu-topline{
  display: flex;
  gap: 18px;
  align-items: center;
  margin-bottom: 28px;
}
#cm-original .menu-topline img{
  width: 104px;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}
#cm-original .back-link{
  font-family: var(--body-font);
  font-size: 0.9rem;
}
#cm-original .menu-title p{
  max-width: 650px;
}
#cm-original .section{
  display: grid;
  grid-template-columns: minmax(190px, 280px) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 48px);
  padding: 34px 0;
  border-top: 1px solid var(--line);
}
#cm-original .section h2{
  color: var(--accent);
  font-size: clamp(1.45rem, 3vw, 2.15rem);
}
#cm-original .section-image{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  margin-top: 18px;
}
#cm-original .items{
  display: grid;
  gap: 19px;
}
#cm-original .item{
  display: grid;
  gap: 5px;
}
#cm-original .item-line{
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--body-font);
  font-weight: 800;
  text-transform: uppercase;
}
#cm-original .price{
  flex: 0 0 auto;
  color: var(--accent-2);
  white-space: nowrap;
}
#cm-original .description{
  margin: 0;
  color: var(--muted);
}
#cm-original .note{
  margin-top: 16px;
  color: var(--ink);
  font-style: italic;
}
#cm-original .footer-info{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  padding: 30px 0 8px;
  border-top: 1px solid var(--line);
  color: var(--muted);
}
#cm-original .footer-info h3{
  color: var(--ink);
  font-family: var(--body-font);
  font-size: 0.86rem;
  text-transform: uppercase;
}
@media (max-width: 760px){#cm-original .hero,
#cm-original .menu-header,
#cm-original .section,
#cm-original .footer-info{
    grid-template-columns: 1fr;
  }
#cm-original .hero{
    min-height: auto;
    padding-top: 40px;
  }
#cm-original .menu-header{
    min-height: auto;
  }
#cm-original .language-table th,
#cm-original .language-table td{
    padding: 13px 8px;
  }
#cm-original .item-line{
    display: grid;
    gap: 2px;
  }
}
@media (max-width: 980px){#cm-original .menu-header{
    grid-template-columns: 1fr;
  }
#cm-original .menu-title h1{
    max-width: 100%;
    font-size: clamp(2.65rem, 9vw, 4.4rem);
  }
}

/* Approved by Marvin on 2026-10-09: only wrap long prices on narrow screens.
   Keep each portion and its amount together; desktop design stays unchanged. */
@media (max-width: 760px) {
  #cm-original .price {
    white-space: normal;
  }
  #cm-original .price-variant {
    display: inline-block;
    white-space: nowrap;
  }
}
