/* Site 1: header + mega menu integration (desktop only) */
@media (min-width: 1025px) {
  .site-1 .aux-elementor-header {
    --cera-menu-gap: 20px;
    --cera-mega-top: 120px;
    --cera-mega-overlap: 22px;
    --cera-mega-shadow: 0 24px 42px -26px rgba(0, 0, 0, 0.32);
    --cera-mega-duration: 0.34s;
    --cera-mega-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
    --cera-mega-offset: 30px;
  }

  .site-1 .aux-elementor-header.aux-sticky {
    --cera-menu-gap: 0px;
    --cera-mega-overlap: 3px;
  }

  .site-1 .aux-elementor-header .newmenu {
    position: relative;
    isolation: isolate;
    min-height: 64px;
    display: flex;
  }

  /* Prevent narrow wrappers from becoming the positioning context. */
  .site-1 .aux-elementor-header .desktopmenu,
  .site-1 .aux-elementor-header .desktopmenu > .elementor-widget-container,
  .site-1 .aux-elementor-header .desktopmenu .aux-elementor-header-menu,
  .site-1 .aux-elementor-header .desktopmenu nav.menu-header-menu-container,
  .site-1 .aux-elementor-header .elementor-element-7cdf920,
  .site-1 .aux-elementor-header .menu-header-menu-container,
  .site-1 .aux-elementor-header #menu-header-menu,
  .site-1 .aux-elementor-header #menu-header-menu > .aux-menu-item {
    position: static !important;
  }

  /* Kill hardcoded legacy submenu widths. */
  .site-1 .aux-master-menu.aux-horizontal.aux-skin-classic .aux-menu-depth-0 > .aux-submenu {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  /* Full-width mega panel aligned with header edges. */
  body.site-1 .aux-elementor-header #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub > .aux-submenu.aux-megamenu {
    display: block !important;
    position: fixed !important;
    left: var(--cera-menu-gap) !important;
    right: var(--cera-menu-gap) !important;
    top: calc(var(--cera-mega-top) - var(--cera-mega-overlap)) !important;
    margin-top: 2px !important;
    width: auto !important;
    box-sizing: border-box;

    background: #fff !important;
    border-radius: 0 0 15px 15px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.98);
    box-shadow: var(--cera-mega-shadow);
    overflow: hidden;
    z-index: 10030;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none;
    transition:
      top 0.2s linear,
      left 0.35s var(--cera-mega-ease),
      right 0.35s var(--cera-mega-ease);
    will-change: auto;
  }

  body.site-1 .aux-elementor-header #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub > .aux-submenu.aux-megamenu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 16px;
    background: linear-gradient(to bottom, #ffffff 0%, rgba(255, 255, 255, 0.96) 45%, rgba(255, 255, 255, 0) 100%);
    pointer-events: none;
    z-index: 2;
  }

  body.site-1 .aux-elementor-header.cera-mega-open #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub.cera-keep-open > .aux-submenu.aux-megamenu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto;
  }

  /* Disable old top-jump animation from legacy rule set. */
  .site-1 .aux-master-menu.aux-horizontal .aux-menu-item > .aux-submenu,
  .site-1 .aux-master-menu.aux-horizontal .aux-menu-item.aux-open > .aux-submenu {
    top: calc(var(--cera-mega-top) - var(--cera-mega-overlap)) !important;
    margin-top: 2px !important;
  }

  /* Blend header and mega menu into one surface while open. */
  .site-1 .aux-elementor-header.cera-mega-open .newmenu::before,
  .site-1 .aux-elementor-header.cera-mega-open.aux-sticky .newmenu::before {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
  }

  /* Mega layout incl. intro column. */
  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-columns {
    display: grid !important;
    grid-template-columns: minmax(270px, 1.35fr) repeat(4, minmax(0, 1fr));
    gap: 0 !important;
    align-items: start;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0;
    padding: 36px 28px 30px !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro > .aux-item-content {
    border-bottom: 0 !important;
    padding: 0 40px 0 0 !important;
    position: relative;
    min-height: 100%;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro > .aux-item-content::after {
    content: "";
    position: absolute;
    top: 6px;
    right: 0;
    bottom: 6px;
    width: 1px;
    background: #dddddd;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro h3 {
    margin: 0 0 18px;
    font-size: clamp(22px, 1.8vw, 38px) !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    letter-spacing: -0.01em !important;
    color: #8f8f8f !important;
    text-transform: none !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro p {
    margin: 0;
    font-size: clamp(13px, 1.02vw, 20px) !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    color: #7f7f7f !important;
    text-transform: none !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .megatitel > .aux-item-content {
    padding-bottom: 12px !important;
    margin-bottom: 12px;
    border-bottom: 1px solid #dadada !important;
  }

  /* ---------- Shared look for fullwidth mega menus ---------- */
  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-columns {
    display: grid !important;
    grid-template-columns: minmax(320px, 380px) repeat(auto-fit, minmax(220px, 300px));
    justify-content: start;
    column-gap: 28px;
    row-gap: 0;
    align-items: stretch;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column {
    padding: 26px 0 22px !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro {
    padding: 26px 38px 22px 28px !important;
    position: relative;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro::after {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 6px;
    right: 0;
    width: 1px;
    background: #d8d8d8;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro > .aux-item-content {
    padding: 0 !important;
    border-bottom: 0 !important;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro {
    cursor: default !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro > .aux-item-content {
    pointer-events: none !important;
    cursor: default !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro > .aux-item-content::after {
    display: none !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro .aux-menu-label h3 {
    margin: 0 0 14px !important;
    font-size: clamp(18px, 1.42vw, 30px) !important;
    line-height: 1.18 !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    color: #2f2f2f !important;
    text-transform: none !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro .aux-menu-label p {
    margin: 0 !important;
    font-size: clamp(11px, 0.78vw, 14px) !important;
    line-height: 1.42 !important;
    font-weight: 500 !important;
    color: #5f5f5f !important;
    text-transform: none !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) {
    max-width: 300px !important;
    padding-top: 2px !important;
    padding-bottom: 20px !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content {
    border-bottom: 0 !important;
    padding: 0 !important;
    margin: 0 auto !important;
    width: 100%;
    max-width: 300px;
    display: block;
    text-align: center;
    color: #2f2f2f !important;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label {
    display: block !important;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    font-size: clamp(13px, 0.95vw, 19px) !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    color: #2d2d2d !important;
    transition: color 0.25s ease;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label img {
    display: block;
    width: 100%;
    max-width: 240px;
    height: auto;
    object-fit: contain;
    margin: 0 auto 18px;
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1);
    will-change: transform;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label > span {
    display: block;
    margin-top: 7px;
    font-size: clamp(11px, 0.78vw, 14px) !important;
    line-height: 1.34 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #787878 !important;
    transition: color 0.25s ease;
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content:hover .aux-menu-label img {
    transform: scale(1.045);
  }

  body.site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content:hover .aux-menu-label {
    color: #d00f2d !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-1 .aux-elementor-header #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub > .aux-submenu.aux-megamenu {
    transition: none !important;
    transform: none !important;
  }
}


/* Site 1: custom header account + cart icons (all viewports) */
.site-1 .aux-elementor-header .usericonmenu .elementor-icon {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  line-height: 1;
}

.site-1 .aux-elementor-header .usericonmenu .elementor-icon i {
  display: none !important;
}

.site-1 .aux-elementor-header .usericonmenu .elementor-icon::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("https://ceragem.de/wp-content/uploads/2026/03/user.svg") center / contain no-repeat;
}

.site-1 .aux-elementor-header .navigationCart .aux-cart-contents-cera {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  line-height: 1;
  font-size: 0;
}

.site-1 .aux-elementor-header .navigationCart .aux-cart-contents-cera i {
  display: none !important;
}

.site-1 .aux-elementor-header .navigationCart .aux-cart-contents-cera::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: url("https://ceragem.de/wp-content/uploads/2026/03/cart.svg") center / contain no-repeat;
}

.site-1 .aux-elementor-header .navigationCart .aux-cart-contents-cera > span {
  font-size: 10px !important;
  line-height: 1 !important;
  z-index: 2;
}

@media (min-width: 1025px) {
  /* Site 1 desktop: top-level menu spacing + no submenu chevrons */
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content {
    padding: 0.75em 0.5125em !important;
  }

  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content .aux-submenu-indicator {
    display: inline-block !important;
  }
}

@media (min-width: 1590px) {
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content {
    padding: 0.75em 0.6em !important;
  }
}

@media (min-width: 1330px) and (max-width: 1556px) {
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content,
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content .aux-menu-label {
    font-size: 14px !important;
    letter-spacing: -0.45px;
  }
}

@media (min-width: 1025px) and (max-width: 1329px) {
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content,
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-menu-depth-0 > .aux-item-content .aux-menu-label {
    font-size: 12px !important;
    letter-spacing: -0.5px;
  }
}

@media (min-width: 1025px) and (max-width: 1324px) {
  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-columns {
    grid-template-columns: minmax(210px, 260px) repeat(auto-fit, minmax(120px, 1fr)) !important;
    column-gap: 14px !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro {
    padding: 18px 20px 18px 14px !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro .aux-menu-label h3 {
    font-size: clamp(16px, 1.6vw, 24px) !important;
    margin-bottom: 8px !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .mega-intro .aux-menu-label p {
    font-size: clamp(10px, 1vw, 12px) !important;
    line-height: 1.3 !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) {
    max-width: 220px !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content {
    max-width: 220px !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label {
    font-size: clamp(12px, 1vw, 16px) !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label img {
    max-width: 150px !important;
    margin-bottom: 10px !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label > span {
    font-size: clamp(10px, 0.95vw, 12px) !important;
    margin-top: 5px !important;
  }
}

@media (min-width: 1025px) {
  /* Site 1 desktop: custom submenu arrow SVG + rotate on open */
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-master-menu.aux-horizontal.aux-with-indicator > .aux-menu-item > .aux-item-content > .aux-submenu-indicator {
    position: relative;
    top: 2px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 0.95em !important;
    height: 0.95em !important;
    margin-left: 0.28em !important;
    background: none !important;
    background-image: none !important;
    transition: transform 0.26s ease;
    transform: rotate(0deg);
    transform-origin: 50% 50%;
  }

  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-master-menu.aux-horizontal.aux-with-indicator > .aux-menu-item > .aux-item-content > .aux-submenu-indicator::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%3E%3Cpath%20d='M5.67665%208.19406C5.4214%207.92606%205.01684%207.93668%204.77499%208.22171C4.53252%208.50605%204.54335%208.95483%204.79925%209.22428L10.8613%2015.6054C10.9838%2015.7344%2011.1427%2015.7997%2011.3003%2015.7997C11.4579%2015.7997%2011.6162%2015.7344%2011.7387%2015.6054L17.8007%209.22428C18.0566%208.95486%2018.0675%208.50605%2017.825%208.22174C17.5825%207.93671%2017.1786%207.92537%2016.9234%208.19409L11.3003%2014.1136L5.67665%208.19406Z'%20fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%3E%3Cpath%20d='M5.67665%208.19406C5.4214%207.92606%205.01684%207.93668%204.77499%208.22171C4.53252%208.50605%204.54335%208.95483%204.79925%209.22428L10.8613%2015.6054C10.9838%2015.7344%2011.1427%2015.7997%2011.3003%2015.7997C11.4579%2015.7997%2011.6162%2015.7344%2011.7387%2015.6054L17.8007%209.22428C18.0566%208.95486%2018.0675%208.50605%2017.825%208.22174C17.5825%207.93671%2017.1786%207.92537%2016.9234%208.19409L11.3003%2014.1136L5.67665%208.19406Z'%20fill='black'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-position: center;
    mask-position: center;
  }

  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-master-menu.aux-horizontal.aux-with-indicator > .aux-menu-item.aux-open > .aux-item-content > .aux-submenu-indicator,
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-master-menu.aux-horizontal.aux-with-indicator > .aux-menu-item.aux-hover > .aux-item-content > .aux-submenu-indicator,
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-master-menu.aux-horizontal.aux-with-indicator > .aux-menu-item:hover > .aux-item-content > .aux-submenu-indicator,
  .site-1 .aux-elementor-header .newmenu .aux-elementor-header-menu .aux-master-menu.aux-horizontal.aux-with-indicator > .aux-menu-item:focus-within > .aux-item-content > .aux-submenu-indicator {
    transform: rotate(180deg);
  }
}

@media (min-width: 1025px) {
  /* Keep product text perfectly stable on hover: only image zooms */
  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label,
  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label > span {
    transition: none !important;
    transform: none !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content:hover .aux-menu-label {
    color: #2d2d2d !important;
    transform: none !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content:hover .aux-menu-label > span {
    color: #787878 !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) > .aux-item-content .aux-menu-label img {
    display: block;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
  }
}


@media (min-width: 1025px) {
  /* Override: keep intro divider static; stagger only product columns */
  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-columns {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column.mega-intro,
  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column.mega-intro::after {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition:
      opacity 0.16s ease,
      transform 0.36s cubic-bezier(0.22, 0.61, 0.36, 1);
    transition-delay: 0s;
    will-change: opacity, transform;
  }

  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  /* Staggered in-sequence delays for product cards */
  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro):nth-child(2) { transition-delay: 0.10s; }
  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro):nth-child(3) { transition-delay: 0.20s; }
  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro):nth-child(4) { transition-delay: 0.30s; }
  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro):nth-child(5) { transition-delay: 0.40s; }
  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro):nth-child(6) { transition-delay: 0.50s; }
  .site-1 .aux-elementor-header.cera-mega-open .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega).cera-keep-open > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro):nth-child(7) { transition-delay: 0.60s; }
}

@media (prefers-reduced-motion: reduce) {
  .site-1 .aux-elementor-header .aux-master-menu > li.menu-item-has-children.aux-fullwidth-sub:not(.altesmega) > ul.aux-submenu.aux-megamenu .aux-menu-column:not(.mega-intro) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (min-width: 1025px) {
  /* Panel baseline: static; first-open animation is controlled by .cera-mega-first-open */
  .site-1 .aux-elementor-header #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub > .aux-submenu.aux-megamenu {
    transition:
      top 0.2s linear,
      left 0.35s var(--cera-mega-ease),
      right 0.35s var(--cera-mega-ease) !important;
    will-change: auto;
  }

  .site-1 .aux-elementor-header.cera-mega-first-open #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub.cera-keep-open > .aux-submenu.aux-megamenu {
    animation: ceraMegaPanelDrop var(--cera-mega-duration) var(--cera-mega-ease) both;
  }

  .site-1 .aux-elementor-header.cera-mega-switch #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub > .aux-submenu.aux-megamenu {
    animation: none !important;
  }
}

@keyframes ceraMegaPanelDrop {
  from {
    transform: translate3d(0, -30px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-1 .aux-elementor-header.cera-mega-first-open #menu-header-menu > .aux-menu-depth-0.aux-fullwidth-sub.cera-keep-open > .aux-submenu.aux-megamenu {
    animation: none !important;
  }
}

/* Standorte Page: list + map blocks (no API key required) */
.cera-locations-list-block {
  padding: 0 16px 0 0 !important;
  height: min(78vh, 860px);
  overflow: auto;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  scrollbar-width: thin;
  scrollbar-color: #d8d8d8 transparent;
}

.cera-location-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 24px;
  padding-left: 12px;
}

.cera-location-filter {
  appearance: none;
  border: 1px solid #dddddd;
  border-radius: 999px;
  padding: 7px 14px;
  margin: 0;
  background: #ffffff;
  color: #4f4f4f;
  font-family: "Montserrat", Sans-serif;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 560;
  letter-spacing: 0.01em;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cera-location-filter:hover,
.cera-location-filter:focus-visible {
  border-color: #cfcfcf;
  color: #1f1f1f;
  background: #ffffff;
  outline: none;
}

.cera-location-filter.is-active,
.cera-location-filter[aria-pressed="true"] {
  border-color: #d00f2d;
  background: rgba(208, 15, 45, 0.08);
  color: #d00f2d;
}

.cera-locations-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 26px 34px;
}

.cera-location-group + .cera-location-group {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #ebebeb;
}

.cera-location-group[hidden] {
  display: none !important;
}

.cera-location-group-title {
  margin: 0 0 18px;
  padding-left: 12px;
  font-size: clamp(28px, 2.35vw, 44px);
  line-height: 1.04;
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #1f1f1f;
}

.cera-locations-list-block::-webkit-scrollbar {
  width: 10px;
}

.cera-locations-list-block::-webkit-scrollbar-thumb {
  background: #d4d4d4;
  border-radius: 999px;
}

.cera-location-card {
  margin: 0;
  padding: 10px 12px 12px;
  cursor: pointer;
  border-radius: 14px;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: none;
  transition: transform 0.18s ease, border-color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease;
  outline: none;
}

.cera-location-card:hover,
.cera-location-card:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(208, 15, 45, 0.22);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: none;
}

.cera-location-card.is-active {
  transform: translateY(-1px);
  border-color: rgba(208, 15, 45, 0.34);
  background: rgba(255, 255, 255, 0.99);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.cera-location-country {
  display: none;
  margin: 0 0 10px;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7a7a7a;
}

.cera-location-city {
  margin: 0 0 10px;
  font-size: 22px;
  line-height: 1.14;
  letter-spacing: -0.012em;
  font-weight: 620;
  color: #1f1f1f;
}

.cera-location-city .cera-city-sub {
  font-size: 0.66em;
  line-height: 1.2;
  font-weight: 560;
  letter-spacing: 0;
  color: #6f6f6f;
}

.cera-location-lines {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.cera-location-line {
  display: block;
  font-size: 13px;
  line-height: 1.42;
  font-weight: 500;
  color: #6a6a6a;
}

.cera-location-line a {
  color: inherit;
  text-decoration: none;
}

.cera-location-line a:hover,
.cera-location-line a:focus-visible {
  text-decoration: underline;
}

.cera-location-contact {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cera-location-contact a {
  display: inline-block;
  font-size: 13px;
  line-height: 1.24;
  font-weight: 560;
  color: #d00f2d;
  text-decoration: none;
}

.cera-location-contact a:hover,
.cera-location-contact a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cera-locations-map-block {
  background: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 18px;
  box-shadow: 0 6px 28px rgba(10, 10, 10, 0.06);
  padding: 12px;
  height: min(78vh, 860px);
  background: linear-gradient(180deg, #fdfdfd 0%, #fafafa 100%);
  position: relative;
  overflow: hidden;
}

.cera-locations-map-block::after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 12px;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0.04) 100%);
  mix-blend-mode: screen;
  z-index: 420;
}

.cera-standorte-map {
  height: 100%;
  min-height: 560px;
  border-radius: 12px;
  overflow: hidden;
}

.cera-locations-map-block .leaflet-popup-content-wrapper {
  border-radius: 12px;
}

.cera-locations-map-block .leaflet-tile-pane {
  filter: grayscale(1) saturate(0) contrast(1.12) brightness(1.07);
}

.cera-locations-map-block .leaflet-control-zoom {
  border: 0 !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.1) !important;
  border-radius: 12px !important;
  overflow: hidden;
}

.cera-locations-map-block .leaflet-control-zoom a {
  width: 34px;
  height: 34px;
  line-height: 34px;
  border: 0 !important;
  color: #4c4c4c !important;
  background: rgba(255, 255, 255, 0.95) !important;
}

.cera-locations-map-block .leaflet-control-zoom a:hover {
  background: #ffffff !important;
  color: #1f1f1f !important;
}

.cera-locations-map-block .leaflet-popup-content {
  margin: 10px 12px;
  font-family: "Montserrat", Sans-serif;
}

.cera-locations-map-block .leaflet-popup-content .cera-map-popup-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 650;
  color: #222;
}

.cera-locations-map-block .leaflet-popup-content .cera-map-popup-line {
  display: block;
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: #5e5e5e;
}

.cera-locations-map-block .leaflet-popup-content .cera-map-popup-line a {
  color: #d00f2d;
  text-decoration: none;
  font-weight: 600;
}

.cera-locations-map-block .leaflet-popup-content .cera-map-popup-line a:hover,
.cera-locations-map-block .leaflet-popup-content .cera-map-popup-line a:focus-visible {
  text-decoration: underline;
}

@media (max-width: 1350px) {
  .cera-locations-grid {
    grid-template-columns: minmax(220px, 1fr);
  }
}

@media (max-width: 1024px) {
  .cera-locations-list-block,
  .cera-locations-map-block {
    height: auto;
  }

  .cera-locations-list-block {
    max-height: none;
    padding: 0 !important;
    margin-bottom: 16px;
  }

  .cera-locations-map-block {
    padding: 8px;
  }

  .cera-standorte-map {
    min-height: 420px;
  }

  .cera-location-group-title {
    margin-bottom: 14px;
    font-size: 26px !important;
    padding-left: 0;
  }

  .cera-location-filters {
    padding-left: 0;
    margin-bottom: 18px;
    gap: 8px;
  }

  .cera-location-filter {
    padding: 6px 12px;
    font-size: 11px;
  }
}

@media (max-width: 1024px) {
  body.site-1 .mobilemenu .aux-fs-popup {
    background: #ffffff !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav {
    position: relative;
    height: 100vh;
    padding: 86px 20px 24px !important;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-nav-logo {
    position: absolute;
    left: 20px;
    top: 22px;
    display: inline-flex;
    align-items: center;
    z-index: 8;
    text-decoration: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-nav-logo img {
    display: block;
    width: auto;
    height: 24px;
    max-width: 152px;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: stretch;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li > .sub-menu {
    display: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-primary > .aux-item-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 16px 6px 16px 0 !important;
    border-bottom: 1px solid #e8e8e8 !important;
    text-align: left !important;
    color: #222222 !important;
    overflow: visible;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-primary > .aux-item-content .aux-menu-label {
    display: block;
    width: 100%;
    text-align: left !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
    font-weight: 520 !important;
    letter-spacing: -0.004em !important;
    text-transform: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-primary > .aux-item-content > .aux-submenu-indicator {
    display: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-primary.cera-mobile-has-panel > .aux-item-content::after,
  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-primary.cera-mobile-primary-link > .aux-item-content::after {
    content: "";
    flex: 0 0 auto;
    display: block;
    width: 12px;
    height: 12px;
    margin-left: 10px;
    margin-right: 4px;
    border-top: 1.7px solid #2f2f2f;
    border-right: 1.7px solid #2f2f2f;
    transform: rotate(45deg);
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick {
    border: 0 !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick.cera-mobile-quick-hidden {
    display: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick.cera-mobile-quick-first {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #ececec !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick.cera-mobile-quick-first ~ li.cera-mobile-quick {
    margin-top: clamp(8px, 2.1vh, 20px);
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick > .aux-item-content {
    display: block;
    padding: 8px 0 !important;
    text-align: left !important;
    color: #727272 !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick > .aux-item-content .aux-menu-label {
    display: block;
    text-align: left !important;
    font-size: 13px !important;
    line-height: 1.26 !important;
    font-weight: 520 !important;
    letter-spacing: 0.005em !important;
    text-transform: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav > ul.aux-master-menu.cera-mobile-root > li.cera-mobile-quick > .aux-item-content .aux-submenu-indicator {
    display: none !important;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav.cera-mobile-in-panel > ul.aux-master-menu.cera-mobile-root {
    visibility: hidden;
    pointer-events: none;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panels {
    position: absolute;
    left: 20px;
    right: 20px;
    top: 86px;
    bottom: 24px;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(12px, 0, 0);
    transition: opacity 0.22s ease, transform 0.28s ease;
    background: #ffffff;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav.cera-mobile-in-panel .cera-mobile-panels {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel {
    display: none;
    height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 18px;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel.is-active {
    display: block;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    color: #5b5b5b;
    padding: 0 0 14px 2px;
    margin: 0 0 16px;
    border-bottom: 1px solid #e8e8e8;
    width: 100%;
    text-align: left;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-back-icon {
    width: 10px;
    height: 10px;
    border-top: 1.8px solid #4a4a4a;
    border-left: 1.8px solid #4a4a4a;
    transform: rotate(-45deg);
    margin-top: 1px;
    margin-left: 1px;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-title {
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 620;
    letter-spacing: -0.01em;
    color: #1f1f1f;
    text-align: left;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-desc {
    margin: 0 0 20px;
    font-size: 12px;
    line-height: 1.32;
    font-weight: 500;
    color: #666666;
    text-align: left;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-intro {
    margin-bottom: 24px;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-link {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 12px;
    text-decoration: none !important;
    color: inherit;
    text-align: left;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-thumb {
    width: 62px;
    min-width: 62px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-thumb img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    transform: scale(1.52);
    transform-origin: center center;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-item-title {
    display: block;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.012em;
    color: #202020;
  }

  body.site-1 .mobilemenu .aux-fs-popup .aux-fs-menu.cera-mobile-nav .cera-mobile-panel-item-sub {
    display: block;
    margin-top: 3px;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 500;
    color: #666666;
    text-transform: none;
    letter-spacing: 0;
  }
}

/* WooCommerce Shipping Costs Popup */
body.cera-shipping-modal-open {
  overflow: hidden;
}

.cera-shipping-modal {
  position: fixed;
  inset: 0;
  z-index: 100120;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.22s ease, visibility 0.22s ease;
}

.cera-shipping-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cera-shipping-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(18, 18, 18, 0.42);
  backdrop-filter: blur(3px);
}

.cera-shipping-modal__dialog {
  position: relative;
  width: min(560px, calc(100vw - 36px));
  margin: min(13vh, 110px) auto 0;
  padding: 24px 24px 20px;
  background: #ffffff;
  border: 1px solid #ececec;
  border-radius: 18px;
  box-shadow: 0 26px 64px rgba(0, 0, 0, 0.2);
  font-family: "Montserrat", Sans-serif;
}

.cera-shipping-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border: 1px solid #d8d8d8;
  border-radius: 999px;
  background: #ffffff;
  color: #2f2f2f;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.cera-shipping-modal__close:hover,
.cera-shipping-modal__close:focus-visible {
  border-color: #d00f2d;
  color: #d00f2d;
  outline: none;
}

.cera-shipping-modal__title {
  margin: 0 40px 10px 0;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 620;
  letter-spacing: -0.01em;
  color: #1f1f1f;
}

.cera-shipping-modal__intro {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 500;
  color: #5f5f5f;
}

.cera-shipping-modal__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cera-shipping-modal__list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  color: #2b2b2b;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 540;
}

.cera-shipping-modal__list li:last-child {
  border-bottom: 0;
  padding-bottom: 2px;
}

.cera-shipping-modal__list strong {
  font-weight: 650;
  color: #d00f2d;
  white-space: nowrap;
}

@media (max-width: 767px) {
  .cera-shipping-modal__dialog {
    margin-top: 10vh;
    width: calc(100vw - 22px);
    padding: 18px 16px 14px;
    border-radius: 14px;
  }

  .cera-shipping-modal__title {
    font-size: 24px;
    margin-right: 36px;
  }

  .cera-shipping-modal__intro {
    font-size: 13px;
    margin-bottom: 12px;
  }

  .cera-shipping-modal__list li {
    font-size: 14px;
    gap: 10px;
  }
}
