/*
  RodPlek 1.5i: mobiler UI-Feinschliff bis 767 px.
  Desktop und Tablet werden von diesen Regeln nicht beruehrt.
*/
.mobile-action-bar{
  display:none;
}

.mobile-drawer-copyright{
  display:none;
}

.mobile-sheet-backdrop,
.mobile-sheet,
.mobile-flip-hint{
  display:none;
}

@media (max-width:767px){
  :root{
    --mobile-header-height:50px;
    --mobile-bottom-nav-height:61px;
  }

  body.mobile-gallery-page .site-footer{
    display:none !important;
  }

  .site-header,
  body.is-scrolled .site-header{
    top:0;
    width:100%;
    height:var(--mobile-header-height) !important;
    margin:0;
    border-radius:0;
    transition:transform .24s cubic-bezier(.22,.61,.36,1), box-shadow .2s ease !important;
    will-change:transform;
  }

  body.mobile-gallery-page .site-header{
    border-radius:0;
  }

  .site-header .header-inner{
    display:grid !important;
    grid-template-columns:44px minmax(0,1fr) 44px;
    align-items:center;
    gap:6px !important;
    width:100%;
    padding:0 14px !important;
  }

  .site-header .brand-lockup{
    display:contents;
  }

  .site-header .logo-home{
    grid-column:1;
    justify-self:start;
    width:40px;
    height:44px;
    margin:0;
    border-radius:9px;
  }

  .site-header .logo-gif,
  body.is-scrolled .site-header .logo-gif{
    width:29px;
    height:34px !important;
    object-fit:contain;
  }

  .site-header .brand-copy{
    grid-column:2;
    justify-self:center;
    text-align:center;
    white-space:nowrap;
  }

  .site-header .brand-copy strong,
  body.is-scrolled .site-header .brand-copy strong{
    font-size:.96rem;
    line-height:1;
  }

  .site-header .brand-copy span{
    display:none;
  }

  .site-header .header-actions{
    display:contents;
  }

  .site-header #filter-open{
    display:none !important;
  }

  .site-header #nav-open{
    grid-column:3;
    justify-self:end;
    display:inline-grid !important;
    grid-template-rows:repeat(3,2px);
    align-content:center;
    width:44px;
    height:44px;
    gap:4px;
    padding:0;
    border:0 !important;
    border-radius:0;
    background:transparent !important;
    box-shadow:none;
    transition:opacity .16s ease,transform .16s ease;
  }

  .site-header #nav-open span{
    width:24px;
    height:2px;
    border-radius:999px;
  }

  .site-header #nav-open:active,
  .site-header #nav-open:hover{
    background:transparent !important;
    opacity:.78;
  }

  .site-header #nav-open:active{
    transform:scale(.94);
  }

  .site-header #nav-open:focus-visible{
    outline:2px solid #fff;
    outline-offset:-3px;
  }

  body.mobile-header-hidden .site-header{
    transform:translateY(-100%) !important;
    box-shadow:none !important;
  }

  body.drawer-open.mobile-header-hidden .site-header{
    transform:none !important;
  }

  #nav-drawer .drawer-nav a[href="impressum.html"]{
    margin-top:6px;
  }

  .mobile-drawer-copyright{
    display:block;
    margin:auto 16px max(18px,env(safe-area-inset-bottom));
    padding:14px 2px 0;
    border-top:1px solid rgba(177,204,235,.14);
    color:var(--muted);
    font-size:.72rem;
    font-weight:600;
    line-height:1.35;
  }

  .mobile-action-bar{
    position:fixed;
    right:0;
    bottom:0;
    left:0;
    z-index:110;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    width:100%;
    min-height:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom));
    margin:0;
    padding:3px max(3px,env(safe-area-inset-right)) calc(3px + env(safe-area-inset-bottom)) max(3px,env(safe-area-inset-left));
    border:0;
    border-top:1px solid rgba(225,75,75,.72);
    border-radius:0;
    background:linear-gradient(180deg,rgba(20,38,61,.97),rgba(7,19,34,.985));
    box-shadow:
      0 -12px 28px rgba(2,8,18,.34),
      inset 0 1px 0 rgba(255,255,255,.045);
    -webkit-backdrop-filter:blur(11px) saturate(112%);
    backdrop-filter:blur(11px) saturate(112%);
    transition:box-shadow .2s ease;
  }

  .mobile-action-button{
    position:relative;
    display:grid;
    grid-template-rows:20px min-content;
    align-content:center;
    place-items:center;
    row-gap:6px;
    min-width:0;
    min-height:53px;
    padding:2px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--text);
    font-family:inherit;
    font-size:.62rem;
    font-weight:700;
    line-height:1;
    cursor:pointer;
    touch-action:manipulation;
  }

  .mobile-action-button:not(:last-child)::after{
    content:"";
    position:absolute;
    top:8px;
    right:0;
    bottom:8px;
    width:1px;
    background:rgba(177,204,235,.13);
  }

  .mobile-action-button svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-action-button:active{
    background:rgba(255,255,255,.08);
  }

  .mobile-action-button:focus-visible{
    outline:2px solid #fff;
    outline-offset:-3px;
  }

  .mobile-action-button.is-active{
    background:rgba(225,75,75,.16);
    color:#ffaaa8;
  }

  .mobile-action-button:disabled,
  .mobile-action-button[aria-disabled="true"]{
    cursor:default;
    pointer-events:none;
  }

  .mobile-action-button:disabled > svg,
  .mobile-action-button:disabled > span{
    opacity:.34;
  }

  .mobile-action-button[data-mobile-action="flip"]:disabled > svg,
  .mobile-action-button[data-mobile-action="flip"]:disabled > span{
    opacity:.45;
  }

  .mobile-action-button.is-shuffling svg{
    animation:mobile-shuffle-feedback .2s ease;
  }

  .mobile-action-button.is-flipping svg{
    animation:mobile-flip-feedback .2s ease;
  }

  .mobile-flip-hint{
    position:fixed;
    right:12px;
    bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 12px);
    left:12px;
    z-index:150;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    width:min(calc(100% - 24px),430px);
    margin-inline:auto;
    padding:12px;
    border:1px solid rgba(177,204,235,.22);
    border-left:3px solid var(--brand);
    border-radius:15px;
    background:linear-gradient(145deg,rgba(29,48,73,.98),rgba(9,22,38,.99));
    box-shadow:0 14px 34px rgba(2,8,18,.45),inset 0 1px 0 rgba(255,255,255,.055);
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease;
  }

  .mobile-flip-hint[hidden]{
    display:none !important;
  }

  .mobile-flip-hint.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }

  .mobile-flip-hint-copy{
    min-width:0;
  }

  .mobile-flip-hint strong{
    display:block;
    margin-bottom:2px;
    color:#fff;
    font-size:.88rem;
  }

  .mobile-flip-hint p{
    margin:0;
    color:var(--muted);
    font-size:.76rem;
    line-height:1.35;
  }

  .mobile-flip-hint button{
    min-height:40px;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.18);
    border-radius:11px;
    background:linear-gradient(180deg,var(--brand),var(--brand-dark));
    color:#fff;
    font-size:.75rem;
    font-weight:800;
    cursor:pointer;
  }

  .mobile-flip-hint button:focus-visible{
    outline:2px solid #fff;
    outline-offset:2px;
  }

  body.mobile-sheet-open{
    overflow:hidden;
  }

  .mobile-sheet-backdrop{
    position:fixed;
    inset:0;
    z-index:220;
    display:block;
    background:rgba(2,8,18,.36);
    opacity:0;
    touch-action:none;
    transition:opacity .22s ease;
  }

  .mobile-sheet-backdrop[hidden]{
    display:none !important;
  }

  .mobile-sheet-backdrop.is-visible{
    opacity:1;
  }

  .mobile-sheet{
    position:fixed;
    right:12px;
    bottom:0;
    left:12px;
    z-index:230;
    display:block;
    max-height:min(45vh,390px);
    max-height:min(45dvh,390px);
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:0 12px max(14px,env(safe-area-inset-bottom));
    border:1px solid rgba(177,204,235,.22);
    border-bottom:0;
    border-radius:20px 20px 0 0;
    background:
      linear-gradient(180deg,rgba(29,48,73,.98),rgba(9,22,38,.99));
    box-shadow:
      0 -20px 50px rgba(2,8,18,.5),
      inset 0 1px 0 rgba(255,255,255,.065);
    -webkit-backdrop-filter:blur(15px) saturate(116%);
    backdrop-filter:blur(15px) saturate(116%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(calc(100% + 18px));
    transition:
      transform .26s cubic-bezier(.22,.61,.36,1),
      opacity .2s ease,
      visibility 0s linear .26s;
  }

  .mobile-sheet--sort{
    max-height:min(62vh,390px);
    max-height:min(62dvh,390px);
  }

  .mobile-sheet.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }

  .mobile-sheet.is-dragging{
    transition:none !important;
  }

  .mobile-sheet-handle{
    height:20px;
    display:grid;
    place-items:center;
    cursor:grab;
    touch-action:none;
  }

  .mobile-sheet-handle span{
    width:42px;
    height:4px;
    border-radius:999px;
    background:rgba(219,230,244,.36);
  }

  .mobile-sheet-header{
    display:grid;
    grid-template-columns:1fr 40px;
    align-items:center;
    min-height:44px;
    margin-bottom:8px;
  }

  .mobile-sheet-header h2{
    margin:0;
    color:var(--text);
    font-size:1.08rem;
    line-height:1.2;
  }

  .mobile-sheet-close{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    justify-self:end;
    border:1px solid rgba(177,204,235,.16);
    border-radius:11px;
    background:rgba(255,255,255,.055);
    color:var(--text);
    font-size:1.45rem;
    line-height:1;
    cursor:pointer;
  }

  .mobile-sheet-options{
    display:grid;
    gap:8px;
  }

  .mobile-sheet-options--view{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .mobile-sheet-option{
    width:100%;
    min-height:50px;
    display:grid;
    grid-template-columns:24px minmax(0,1fr) 18px;
    align-items:center;
    gap:8px;
    padding:8px 10px;
    border:1px solid rgba(177,204,235,.16);
    border-radius:13px;
    background:rgba(255,255,255,.045);
    color:var(--text);
    font-family:inherit;
    font-size:.82rem;
    font-weight:800;
    text-align:left;
    cursor:pointer;
    touch-action:manipulation;
  }

  .mobile-sheet-option--sort{
    grid-template-columns:minmax(0,1fr) 18px;
    min-height:48px;
    font-size:.9rem;
  }

  .mobile-sheet-option-icon{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-sheet-option-check{
    color:#ff7774;
    font-size:1.05rem;
    font-weight:900;
    opacity:0;
  }

  .mobile-sheet-option.is-selected .mobile-sheet-option-check{
    opacity:1;
  }

  .mobile-sheet-option:active{
    background:rgba(255,255,255,.085);
  }

  .mobile-sheet-option:focus-visible,
  .mobile-sheet-close:focus-visible{
    outline:2px solid #fff;
    outline-offset:2px;
  }

  .mobile-zoom-slot{
    margin-top:10px;
  }

  .mobile-zoom-slot .slider-wrap{
    width:100%;
    min-width:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    grid-template-rows:auto 34px;
    align-items:center;
    gap:5px 10px;
    margin:0;
    padding:10px 12px 7px;
    border:1px solid rgba(177,204,235,.16);
    border-radius:14px;
    background:rgba(255,255,255,.04);
    color:var(--text);
  }

  .mobile-zoom-slot .slider-wrap[hidden]{
    display:none !important;
  }

  .mobile-zoom-slot .slider-wrap > span:first-child{
    grid-column:1;
    grid-row:1;
    color:var(--text);
    font-size:.84rem;
    font-weight:800;
  }

  .mobile-zoom-slot #zoom-value{
    grid-column:2;
    grid-row:1;
    width:40px;
    min-width:40px;
    height:30px;
    display:grid;
    place-items:center;
    justify-self:end;
    border:1px solid rgba(225,75,75,.36);
    border-radius:10px;
    background:rgba(225,75,75,.14);
    color:#fff;
    font-size:.92rem;
    font-weight:900;
  }

  .mobile-zoom-slot .slider-wrap input[type="range"]{
    -webkit-appearance:none;
    appearance:none;
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    max-width:none;
    height:34px;
    margin:0;
    padding:0;
    background:transparent;
    cursor:pointer;
    touch-action:pan-x;
  }

  .mobile-zoom-slot .slider-wrap input[type="range"]::-webkit-slider-runnable-track{
    height:6px;
    border-radius:999px;
    background:rgba(219,230,244,.25);
  }

  .mobile-zoom-slot .slider-wrap input[type="range"]::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:24px;
    height:24px;
    margin-top:-9px;
    border:2px solid #fff;
    border-radius:50%;
    background:var(--brand);
    box-shadow:0 4px 12px rgba(2,8,18,.35);
  }

  .mobile-zoom-slot .slider-wrap input[type="range"]::-moz-range-track{
    height:6px;
    border:0;
    border-radius:999px;
    background:rgba(219,230,244,.25);
  }

  .mobile-zoom-slot .slider-wrap input[type="range"]::-moz-range-thumb{
    width:22px;
    height:22px;
    border:2px solid #fff;
    border-radius:50%;
    background:var(--brand);
    box-shadow:0 4px 12px rgba(2,8,18,.35);
  }

  .mobile-zoom-endpoints{
    display:flex;
    justify-content:space-between;
    margin:2px 13px 0;
    color:var(--muted);
    font-size:.7rem;
    font-weight:800;
  }

  .mobile-zoom-endpoints[hidden]{
    display:none !important;
  }

  /* Grosses Filter-Sheet: ein gemeinsamer Scrollbereich mit festem Kopf und Fuss. */
  .mobile-sheet--filter{
    display:flex;
    flex-direction:column;
    height:94vh;
    height:94dvh;
    max-height:94vh;
    max-height:94dvh;
    padding:0;
    overflow:hidden;
  }

  .mobile-filter-scroll{
    min-height:0;
    flex:1 1 auto;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }

  .mobile-filter-sticky-head{
    position:sticky;
    top:0;
    z-index:4;
    padding:0 10px 7px;
    border-bottom:1px solid rgba(177,204,235,.14);
    background:
      linear-gradient(180deg,rgba(30,50,76,.995),rgba(18,35,56,.985));
    box-shadow:0 10px 22px rgba(2,8,18,.18);
    -webkit-backdrop-filter:blur(14px) saturate(115%);
    backdrop-filter:blur(14px) saturate(115%);
  }

  .mobile-filter-sticky-head .mobile-sheet-header{
    min-height:38px;
    margin-bottom:3px;
  }

  .mobile-filter-sticky-head .mobile-sheet-handle{
    height:14px;
  }

  .mobile-filter-sheet-header{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .mobile-filter-sheet-header h2{
    font-size:1rem;
  }

  .mobile-filter-header-actions{
    display:flex;
    align-items:center;
    gap:4px;
  }

  .mobile-filter-status{
    display:grid;
    gap:5px;
  }

  .mobile-filter-status-line{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    color:var(--text);
    font-size:.75rem;
  }

  .mobile-filter-status-line strong{
    font-size:.82rem;
    white-space:nowrap;
  }

  #mobile-filter-percent{
    color:#ffaaa8;
    font-weight:900;
    white-space:nowrap;
  }

  .mobile-filter-progress{
    height:4px;
    overflow:hidden;
    border-radius:999px;
    background:rgba(219,230,244,.14);
    box-shadow:inset 0 1px 3px rgba(2,8,18,.3);
  }

  .mobile-filter-progress span{
    display:block;
    width:0;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--brand),#ff7976);
    box-shadow:0 0 12px rgba(225,75,75,.3);
    transition:width .18s ease;
  }

  .mobile-filter-content{
    display:grid;
    gap:0;
    padding:9px 12px 14px;
  }

  .mobile-filter-chips{
    width:100%;
    display:flex;
    flex-wrap:nowrap;
    gap:5px;
    overflow-x:auto;
    margin-top:7px;
    padding:0;
    scrollbar-width:none;
  }

  .mobile-filter-chips::-webkit-scrollbar{
    display:none;
  }

  .mobile-filter-chips[hidden]{
    display:none !important;
  }

  .mobile-filter-chips .chip{
    flex:0 0 auto;
    min-height:31px;
    padding:4px 7px;
    border-color:rgba(225,75,75,.35);
    background:rgba(225,75,75,.1);
    font-size:.69rem;
    white-space:nowrap;
  }

  .mobile-filter-chips .chip-remove{
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    font-size:.96rem;
  }

  .mobile-sheet--filter .member-filter-mobile{
    width:100%;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:3px;
    margin:0 0 8px;
    padding:3px;
    border:1px solid rgba(177,204,235,.17);
    border-radius:11px;
    background:rgba(2,10,20,.28);
  }

  .mobile-sheet--filter .member-filter-btn{
    min-width:0;
    min-height:42px;
    padding:4px 2px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--muted);
    font-family:inherit;
    font-size:clamp(.61rem,2.5vw,.72rem);
    font-weight:900;
    cursor:pointer;
  }

  .mobile-sheet--filter .member-filter-btn.active,
  .mobile-sheet--filter .member-filter-btn[aria-pressed="true"]{
    border-color:rgba(225,75,75,.48);
    background:rgba(225,75,75,.18);
    color:#fff;
    box-shadow:inset 0 -2px 0 rgba(225,75,75,.7);
  }

  .filters-mobile-sheet{
    display:grid;
    gap:0;
  }

  .filters-mobile-sheet .filter-group{
    margin:0;
    padding:9px 0 12px;
    overflow:visible;
    border:0;
    border-bottom:1px solid rgba(177,204,235,.13);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .filters-mobile-sheet .filter-group:last-child{
    padding-bottom:4px;
    border-bottom:0;
  }

  .filters-mobile-sheet .filter-group > h3{
    margin:0 0 6px;
    color:var(--text);
    font-size:.82rem;
    line-height:1.2;
  }

  .filters-mobile-sheet .filter-group > h3 .badge{
    min-width:19px;
    height:19px;
    padding:0 5px;
    background:rgba(225,75,75,.12);
    color:#ffaaa8;
    font-size:.67rem;
  }

  .filters-mobile-sheet .mobile-filter-accordion-heading{
    margin:0;
  }

  .mobile-filter-accordion-toggle{
    width:100%;
    min-height:52px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 24px;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border:0;
    background:transparent;
    color:var(--text);
    font-family:inherit;
    font-size:.9rem;
    font-weight:900;
    text-align:left;
    cursor:pointer;
  }

  .mobile-filter-accordion-toggle .badge{
    background:rgba(225,75,75,.14);
    color:#ffaaa8;
  }

  .mobile-filter-accordion-chevron{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
    color:var(--muted);
    transition:transform .18s ease;
  }

  .mobile-filter-accordion-toggle[aria-expanded="true"] .mobile-filter-accordion-chevron{
    transform:rotate(180deg);
  }

  .mobile-filter-accordion-panel{
    padding:2px 11px 14px;
    border-top:1px solid rgba(177,204,235,.1);
  }

  .mobile-filter-accordion-panel[hidden]{
    display:none !important;
  }

  .mobile-sheet--filter .color-swatches{
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:4px 2px;
    padding:2px 0 0;
  }

  .mobile-sheet--filter .swatch{
    width:100%;
    max-width:44px;
    min-height:44px;
    height:auto;
    aspect-ratio:1;
    justify-self:center;
  }

  .mobile-sheet--filter .swatch-count{
    right:-1px;
    bottom:0;
    min-width:16px;
    height:16px;
    font-size:.59rem;
  }

  .mobile-sheet--filter .ink-dots{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:3px 2px;
    padding:2px 0 0;
  }

  .mobile-sheet--filter .ink-dot{
    width:100%;
    min-height:44px;
    height:44px;
  }

  .mobile-sheet--filter .ink-dot-color{
    width:27px;
    height:27px;
  }

  .mobile-sheet--filter .ink-dot-count{
    right:calc(50% - 22px);
    bottom:2px;
    min-width:16px;
    height:16px;
    font-size:.59rem;
  }

  .mobile-sheet--filter .side-control{
    grid-template-columns:auto repeat(3,minmax(0,1fr));
    height:auto;
    margin:3px 0 7px;
    padding:3px;
  }

  .mobile-sheet--filter .side-option{
    min-height:40px;
    height:40px;
    padding:0 5px;
  }

  .mobile-sheet--filter .filter-options{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px 3px;
    max-height:none;
    overflow:visible;
    padding:0;
  }

  .mobile-sheet--filter .check.print-check{
    position:relative;
    min-width:0;
    min-height:78px;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:72px;
    align-content:center;
    justify-items:center;
    gap:0;
    padding:3px 2px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:var(--text);
    font-family:inherit;
    text-align:center;
    touch-action:manipulation;
  }

  .mobile-sheet--filter .print-icon-wrap{
    width:56px;
    height:70px;
  }

  .mobile-sheet--filter .print-icon{
    width:56px;
    height:70px;
    object-fit:contain;
    filter:grayscale(1) saturate(0) contrast(1.08) brightness(1.04) drop-shadow(0 3px 7px rgba(0,0,0,.42));
  }

  .mobile-sheet--filter .print-icon--gallery-source{
    filter:grayscale(1) saturate(0) contrast(1.16) brightness(1.08) drop-shadow(0 3px 7px rgba(0,0,0,.42));
  }

  .mobile-sheet--filter .check.print-check .print-count{
    right:-1px;
    bottom:0;
    min-width:17px;
    height:17px;
    font-size:.6rem;
  }

  .mobile-sheet--filter .check.print-check .label-text{
    display:-webkit-box;
    width:100%;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    white-space:normal;
    overflow-wrap:anywhere;
    font-size:.68rem;
    line-height:1.2;
  }

  .mobile-sheet--filter .check.print-check.active{
    border-color:transparent;
    background:transparent;
    box-shadow:none;
  }

  .mobile-sheet--filter .check.print-check.active::after{
    content:"✓";
    position:absolute;
    top:3px;
    left:calc(50% + 15px);
    width:18px;
    height:18px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.82);
    border-radius:999px;
    background:var(--brand);
    color:#fff;
    font-size:.68rem;
    font-weight:900;
    box-shadow:0 3px 7px rgba(2,8,18,.38);
  }

  .mobile-sheet--filter .check.print-check.active .print-icon{
    transform:scale(1.03);
    filter:grayscale(1) saturate(0) contrast(1.1) brightness(1.04) drop-shadow(0 3px 7px rgba(0,0,0,.42));
  }

  .mobile-sheet--filter .filters-mobile .check.is-zero{
    display:grid !important;
    opacity:.27;
    filter:grayscale(1);
    cursor:not-allowed;
  }

  .mobile-sheet--filter .swatch:disabled,
  .mobile-sheet--filter .ink-dot:disabled{
    cursor:not-allowed;
  }

  .mobile-filter-footer{
    position:relative;
    z-index:6;
    flex:0 0 auto;
    display:flex;
    justify-content:center;
    padding:8px 12px max(10px,env(safe-area-inset-bottom));
    border-top:1px solid rgba(177,204,235,.17);
    background:linear-gradient(180deg,rgba(15,31,51,.985),rgba(7,18,32,.995));
    box-shadow:0 -12px 25px rgba(2,8,18,.28);
  }

  .mobile-filter-results{
    width:clamp(150px,44%,220px);
    min-height:46px;
    border-radius:13px;
    font-family:inherit;
    font-weight:900;
    cursor:pointer;
  }

  .mobile-filter-reset{
    width:38px;
    height:38px;
    min-height:38px;
    display:grid;
    place-items:center;
    padding:0;
    border:1px solid rgba(177,204,235,.17);
    background:rgba(255,255,255,.045);
    color:var(--muted);
  }

  .mobile-filter-reset svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }

  .mobile-filter-reset:disabled{
    opacity:.38;
    cursor:default;
  }

  .mobile-filter-results{
    padding:7px 10px;
    border:1px solid rgba(255,255,255,.2);
    background:linear-gradient(180deg,var(--brand),var(--brand-dark));
    color:#fff;
    font-size:.78rem;
    box-shadow:0 7px 16px rgba(88,5,14,.26),inset 0 1px 0 rgba(255,255,255,.13);
  }

  .mobile-filter-accordion-toggle:focus-visible,
  .mobile-filter-reset:focus-visible,
  .mobile-filter-results:focus-visible,
  .mobile-sheet--filter .member-filter-btn:focus-visible,
  .mobile-sheet--filter .swatch:focus-visible,
  .mobile-sheet--filter .ink-dot:focus-visible,
  .mobile-sheet--filter .check.print-check:focus-within{
    outline:2px solid #fff;
    outline-offset:2px;
  }

  /* Die bisherige umfangreiche Toolbar wird auf Smartphones durch die feste
     Bottom Navigation mit fuenf Hauptaktionen ersetzt. */
  #pleks .pleks-head{
    display:none !important;
  }

  #pleks .layout > .active-filter-bar{
    display:none !important;
  }

  #pairs-view.pairs-view{
    grid-template-columns:repeat(var(--cols),minmax(0,1fr)) !important;
  }

  #pleks.section{
    padding-top:10px;
    padding-bottom:calc(var(--mobile-bottom-nav-height) + env(safe-area-inset-bottom) + 18px);
  }
}

@media (max-width:360px){
  .mobile-sheet--filter .color-swatches{
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
}

@media (max-width:330px){
  .mobile-action-button{
    padding-inline:1px;
    font-size:.56rem;
  }

  .mobile-action-button svg{
    width:19px;
    height:19px;
  }

  .mobile-sheet--filter .filter-options{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (prefers-reduced-motion:reduce){
  .site-header,
  .mobile-action-bar,
  .mobile-sheet,
  .mobile-sheet-backdrop,
  .mobile-flip-hint,
  .mobile-filter-progress span,
  .mobile-filter-accordion-chevron{
    transition:none !important;
  }

  .mobile-action-button.is-shuffling svg{
    animation:none !important;
  }

  .mobile-action-button.is-flipping svg{
    animation:none !important;
  }
}

@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .gallery-card .card-inner{
    transition:none !important;
  }
}

@keyframes mobile-shuffle-feedback{
  0%{transform:rotate(0) scale(1);opacity:1}
  50%{transform:rotate(12deg) scale(.9);opacity:.7}
  100%{transform:rotate(0) scale(1);opacity:1}
}

@keyframes mobile-flip-feedback{
  0%{transform:rotateY(0) scale(1);opacity:1}
  50%{transform:rotateY(90deg) scale(.9);opacity:.66}
  100%{transform:rotateY(0) scale(1);opacity:1}
}
