/* Figma shop filters: one native FacetWP set shared by the desktop panel and phone dialog. */
.shop-container{grid-template-columns:348px minmax(0,1fr);gap:16px;align-items:start;padding-bottom:64px}
.twc-filter-slot{min-width:0}
.twc-filter-location-row{display:contents}
.shop-container .desktop-filter,.twc-filter-dialog .desktop-filter{position:static;max-height:none;overflow:visible;padding:32px;border:1px solid #e3d7ce;border-radius:16px;background:#fff}
#twc-filters .filters-title{margin-bottom:16px}
#twc-filters .filters-title h2{font:400 24px/1.35 Prata,Georgia,serif}
#twc-filters .filter-group{margin:0 0 16px}
#twc-filters .filter-field-label{font:400 14px/20px Urbanist,Arial,sans-serif;color:#555;gap:8px;margin-bottom:8px}
#twc-filters .filter-field-label svg{flex:none}
#twc-filters .twc-filter-close{display:none}
.twc-filter-choice{position:relative;border:1px solid #e3d7ce;border-radius:8px;background:#fff}
.twc-filter-choice summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:50px;padding:12px 16px;list-style:none;cursor:pointer;font:400 14px/20px Urbanist;color:#756e69}
.twc-filter-choice summary::-webkit-details-marker,.twc-advanced-filters summary::-webkit-details-marker{display:none}
.twc-filter-choice summary>span{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.twc-filter-choice summary>svg,.twc-advanced-filters summary>svg{flex:none}
.twc-filter-choice[open] summary>svg,.twc-advanced-filters[open]>summary>svg{transform:rotate(180deg)}
.twc-filter-choice[open]{border-color:#a88266}
.twc-choice-panel{position:absolute;z-index:5;top:calc(100% + 4px);left:-1px;right:-1px;background:#fff;padding:12px;border:1px solid #e3d7ce;border-radius:8px;box-shadow:0 8px 24px #160c0414}
.twc-choice-search{display:flex;align-items:center;gap:8px;border:1px solid #e3d7ce;border-radius:4px;padding:8px;margin-bottom:8px;color:#756e69}
.twc-choice-search input{width:100%;min-width:0;border:0;padding:0;background:transparent;font:400 14px/20px Urbanist;color:#160c04;outline-offset:6px}
#twc-filters .facetwp-type-checkboxes{max-height:220px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
#twc-filters .facetwp-checkbox{--twc-check-size:16px;--twc-tick-width:8px;--twc-tick-height:6px;position:relative;font:400 14px/20px Urbanist;padding:4px 0 4px 24px;margin:0!important;background:none!important;cursor:pointer}
#twc-filters .facetwp-checkbox::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:var(--twc-check-size);height:var(--twc-check-size);box-sizing:border-box;border:1px solid #756e69;border-radius:3px;background:#fff;pointer-events:none}
#twc-filters .facetwp-checkbox::after{content:'';position:absolute;left:calc((var(--twc-check-size) - var(--twc-tick-width))/2);top:50%;transform:translateY(-50%);width:var(--twc-tick-width);height:var(--twc-tick-height);background:#fff;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 6'%3E%3Cpath d='M0 3 1 2 3 4 7 0 8 1 3 6Z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;pointer-events:none}
#twc-filters .facetwp-checkbox.checked::before{border-color:var(--twc-checkbox-color);background:var(--twc-checkbox-color)}
#twc-filters .facetwp-checkbox.checked::after{opacity:1}
#twc-filters .facetwp-checkbox:not(.disabled):hover::before{border-color:var(--twc-checkbox-color)}
#twc-filters .facetwp-checkbox:focus-visible{outline:0}
#twc-filters .facetwp-checkbox:focus-visible::before{outline:2px solid #a88266;outline-offset:3px}
#twc-filters .facetwp-checkbox.disabled{cursor:default}
#twc-filters .facetwp-checkbox[hidden],.twc-choice-empty[hidden],.twc-no-filters[hidden]{display:none!important}
.twc-choice-empty{font-size:14px;margin:8px 0;color:#756e69}
#twc-filters .facetwp-counter{font-size:max(12px,var(--twc-mobile-text-min,0px));color:#756e69}
#twc-filters .twc-range-fields{gap:8px;margin-bottom:12px;font:400 max(12px,var(--twc-mobile-text-min,0px))/max(16px,var(--twc-mobile-leading-min,0px)) Urbanist}
#twc-filters .twc-range-fields input,#twc-filters .twc-range-fields select{display:block;width:100%;min-width:0;margin-top:8px;height:50px;min-height:50px;padding:12px 14px;font:400 14px Urbanist;border:1px solid #e3d7ce;border-radius:8px;background:#fff;color:#160c04}
.twc-year-field{min-width:0}
.twc-year-choice{margin-top:8px}
.twc-year-choice summary{color:#160c04}
.twc-year-choice.is-disabled{background:#f7f5f4;color:#756e69}
.twc-year-choice.is-disabled summary{color:inherit;cursor:default}
.twc-year-options{max-height:220px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.twc-year-option{position:relative;display:flex;align-items:center;min-height:28px;padding:4px;cursor:pointer;font:400 14px/20px Urbanist;color:#555;border-radius:4px}
#twc-filters .twc-range-fields .twc-year-option input{position:absolute;width:1px;height:1px;min-height:0;margin:0;padding:0;overflow:hidden;clip-path:inset(50%)}
.twc-year-option>span{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%}
.twc-year-option>span::after{content:'✓';opacity:0}
.twc-year-option input:checked+span::after{opacity:1}
.twc-year-option:focus-within{outline:none;background:#f4eee8;text-decoration:underline;text-underline-offset:3px}
.twc-year-option input:checked+span{color:#160c04;font-weight:600}
#twc-filters .twc-currency-field{display:flex;align-items:center;border:1px solid #e3d7ce;border-radius:8px;margin-top:8px;padding-left:14px;background:#fff}
#twc-filters .twc-currency-field>span{font-size:14px;color:#756e69}
#twc-filters .twc-currency-field input{margin:0;border:0;text-align:right;padding-left:4px;background:transparent}
#twc-filters .facetwp-type-slider{display:flex;flex-direction:column}
#twc-filters .twc-range-fields{order:0}
#twc-filters .facetwp-slider-label{order:1;display:flex;justify-content:space-between;margin:0 0 8px;font-size:max(12px,var(--twc-mobile-text-min,0px));line-height:max(16px,var(--twc-mobile-leading-min,0px))}
#twc-filters .facetwp-slider-wrap{order:2;padding:0 9px!important;margin:0 0 4px}
#twc-filters .facetwp-slider-wrap[hidden]{display:none}
#twc-filters .twc-range-fields :disabled{color:#756e69;background-color:#f7f5f4}
#twc-filters .facetwp-type-slider>div:last-child:not(.twc-range-fields):not(.facetwp-slider-wrap){display:none}
#twc-filters .facetwp-slider .noUi-handle{width:14px;height:14px;right:-7px;top:-5px;background:#e3d7ce}
#twc-filters .facetwp-slider{height:3px}
#twc-filters [data-filter-name="jahrgang"] .facetwp-slider-wrap,#twc-filters [data-filter-name="jahrgang"] .facetwp-slider-label{display:none}
#twc-filters .twc-wine-features .facetwp-type-checkboxes{max-height:none;overflow:visible}
#twc-filters .twc-wine-features .facetwp-checkbox{padding-block:0}
.twc-advanced-filters{border-top:1px solid #e3d7ce;border-bottom:1px solid #e3d7ce;margin-top:4px}
.twc-advanced-filters>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 0;font:400 20px/28px Prata,Georgia,serif;color:#555;cursor:pointer}
.twc-advanced-content{padding-top:4px}
.twc-filter-actions{margin-top:16px;display:flex;flex-direction:column;gap:8px}
:is(#twc-filters,.twc-filter-dialog) .twc-filter-apply{min-height:50px;width:100%;border:1px solid #e3d7ce;border-radius:8px;color:#160c04;background:#fff;padding:12px;font:500 14px/20px Urbanist}
.twc-filter-reset{align-self:center;font:400 max(12px,var(--twc-mobile-text-min,0px))/20px Urbanist;color:#756e69;text-decoration:underline;padding:4px 8px;background:transparent;border:0}
.twc-filter-reset[hidden]{display:none}
.shop-main .active-filters{min-height:160px;align-items:center;margin-bottom:16px;gap:16px;padding:32px}
.shop-main .twc-active-selection{min-width:0}
.shop-main .twc-active-selection>strong{display:block;font:400 20px/27px Prata,Georgia,serif;color:#555}
.twc-no-filters{margin:8px 0 0;font-size:14px;color:#756e69}
.shop-main .facetwp-selections{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#a88266 #f7f5f4}
.shop-main .facetwp-selections:focus-visible,.shop-main .facetwp-selection-value:focus-visible{outline:2px solid #a88266;outline-offset:2px}
.shop-main .facetwp-selections ul{flex-wrap:nowrap;width:max-content;min-width:100%;gap:16px;margin-top:8px}
.shop-main .facetwp-selections li{flex:none;white-space:nowrap}
.shop-main .facetwp-selection-label{display:flex;align-items:center;gap:8px;margin-bottom:4px;font:400 14px/20px Urbanist;color:#555}
.shop-main .facetwp-selection-label svg{width:16px;height:16px;flex:none}
.shop-main .facetwp-selections .facetwp-selection-value{display:inline-block;vertical-align:top;background-color:#f7f5f4;background-size:8px 8px;background-position:right 8px center;border:1px solid #e3d7ce;border-radius:4px;font:400 max(12px,var(--twc-mobile-text-min,0px))/18px Urbanist;color:#555;padding:5px 24px 5px 8px!important;margin:0 4px 4px 0}
.shop-main .facetwp-selection-value:last-child{margin-right:0}
.shop-main .sort-label select{min-width:0;color:#555}
.twc-filter-dialog:not([open]){display:none}
.twc-filter-dialog[open]{display:block;position:fixed;inset:0 0 0 auto;margin:0;padding:0 0 0 93px;width:440px;max-width:100%;height:100dvh;max-height:100dvh;background:#e3d7ce;border:0;overflow:auto;overscroll-behavior:contain;color:#160c04}
.twc-filter-dialog::backdrop{background:#160c0440}
body.twc-shop-filters-open{overflow:hidden}
@media(min-width:761px) and (max-width:1200px){.shop-container{grid-template-columns:280px minmax(0,1fr)}.shop-container .desktop-filter{padding:24px}.shop-main .active-filters{flex-wrap:wrap;padding:24px}.shop-main .active-filters .sort-label{flex:0 0 210px}.shop-main .facetwp-template .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep wider tablet cards near catalogue proportions without narrowing portrait controls. */
@media(min-width:992px) and (max-width:1200px){.shop-main .facetwp-template .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .shop-container{display:block;padding:16px 16px 32px}
  .twc-filter-slot{display:none}
  .twc-filter-dialog[open]{--twc-filter-motion-duration:.2s;--twc-filter-motion-easing:ease-in-out;display:flex;flex-direction:column;width:100%;max-width:none;padding:0;overflow:hidden;background:#fff;animation:twc-filter-enter var(--twc-filter-motion-duration) var(--twc-filter-motion-easing)}
  .twc-filter-dialog[open].is-closing{animation:twc-filter-exit var(--twc-filter-motion-duration) var(--twc-filter-motion-easing) both;pointer-events:none}
  .twc-filter-dialog .desktop-filter{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;border:0;border-radius:0;padding:32px clamp(16px,5vw,24px) max(24px,env(safe-area-inset-bottom))}
  .twc-filter-dialog>.twc-filter-actions{display:none;flex:none;margin:0;border-top:1px solid #e3d7ce;background:#fff;padding:12px clamp(16px,5vw,24px) max(12px,env(safe-area-inset-bottom))}
  .twc-filter-dialog.has-active-filters>.twc-filter-actions{display:flex}
  #twc-filters .filters-title{gap:12px;margin-bottom:12px}
  #twc-filters .filters-title h2{font-size:20px}
  .twc-filter-dialog #twc-filters .twc-filter-close{display:flex;align-items:center;gap:8px;min-height:38px;flex:none;padding:8px 12px;background:#fff;border:1px solid #e3d7ce;border-radius:4px;font:500 max(12px,var(--twc-mobile-text-min,0px))/20px Urbanist;color:#160c04}
  #twc-filters .twc-filter-close:before,#twc-filters .twc-filter-close:after{content:none}
  #twc-filters .twc-filter-close svg{opacity:1;position:static}
  #twc-filters .filter-group{margin-bottom:24px}
  .twc-filter-location-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;position:relative;margin-bottom:24px}
  #twc-filters .twc-filter-location-row>.filter-group{min-width:0;margin-bottom:0}
  .twc-filter-location-row .twc-filter-choice{position:static}
  .twc-filter-location-row .twc-choice-panel{left:0;right:0}
  #twc-filters .filter-field-label{font-size:14px;font-weight:700;color:#555;margin-bottom:6px}
  #twc-filters [data-filter-name="jahrgang"] .twc-range-fields{margin-bottom:0}
  .twc-filter-choice summary{min-height:40px;padding:9px 12px;font-size:max(12px,var(--twc-mobile-text-min,0px))}
  #twc-filters .twc-range-fields input,#twc-filters .twc-range-fields select{height:40px;min-height:40px;font-size:max(12px,var(--twc-mobile-text-min,0px));padding:8px 12px}
  #twc-filters .twc-currency-field{padding-left:12px}
  #twc-filters .twc-currency-field>span{font-size:max(12px,var(--twc-mobile-text-min,0px))}
  #twc-filters .twc-currency-field input{padding-left:4px}
  #twc-filters .facetwp-checkbox{--twc-check-size:12px;--twc-tick-width:6px;--twc-tick-height:4.5px;font-size:max(12px,var(--twc-mobile-text-min,0px));padding-left:16px}
  .twc-advanced-filters>summary{font-size:18px;color:#555;padding:12px 0}
  :is(#twc-filters,.twc-filter-dialog) .twc-filter-apply{min-height:40px;font-size:max(12px,var(--twc-mobile-text-min,0px));padding:9px 12px}
  .shop-main .active-filters{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0;margin-bottom:16px;padding:0;border:0;border-radius:0}
  .shop-main .active-filters>.twc-active-selection{grid-row:2;grid-column:1/-1;padding:16px;border:1px solid #e3d7ce;border-radius:8px;min-height:92px}
  .shop-main .active-filters .sort-label{grid-row:1;grid-column:1;display:block;width:auto;margin:0}
  .shop-main .active-filters .mobile-filter-button{grid-row:1;grid-column:2;display:flex;gap:8px;width:auto;height:40px;margin:0;background:var(--twc-button-background);color:var(--twc-button-text);border-color:var(--twc-button-edge);font-size:max(12px,var(--twc-mobile-text-min,0px))!important}
  .shop-main .sort-label select{height:40px;min-height:40px;font-size:max(12px,var(--twc-mobile-text-min,0px));padding:8px}
  .shop-main .twc-active-selection>strong{font:400 18px/26px Prata}
  .shop-main .facetwp-selections ul{gap:12px}
  .shop-main .facetwp-selection-label{font-size:max(12px,var(--twc-mobile-text-min,0px))}
  .shop-main .facetwp-template .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@keyframes twc-filter-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes twc-filter-exit{from{transform:var(--twc-filter-exit-from,translateX(0))}to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.twc-filter-dialog[open],.twc-filter-dialog[open].is-closing{animation:none}}
