:root{--agri-green:#2D6A4F;--agri-green-mid:#40916C;--agri-green-lt:#D1FAE5;--agri-cream:#FAFAF7;--agri-parchment:#F2EFE5;--agri-ink:#1C1C1A;--agri-muted:#6B6B62;--agri-border:#DDD9CC;--agri-white:#FFFFFF;--agri-amber:#F59E0B;--agri-blue:#3B82F6;--agri-radius:10px;--agri-shadow:0 2px 12px rgba(0,0,0,.07);--agri-transition:.18s ease}.agri-shop{font-family:inherit;color:var(--agri-ink);background:var(--agri-cream)}.agri-shop__title{font-size:1.75rem;font-weight:600;margin:0 0 1.25rem;padding:1.25rem 1.25rem 0}.agri-topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--agri-white);border-bottom:1px solid var(--agri-border);flex-wrap:wrap}.agri-search{position:relative;flex:1;min-width:200px;max-width:420px}.agri-search svg{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--agri-muted);pointer-events:none}.agri-search__input{width:100%;padding:8px 12px 8px 34px;border:1px solid var(--agri-border);border-radius:var(--agri-radius);font-size:.875rem;background:var(--agri-cream);color:var(--agri-ink);outline:none;transition:border-color var(--agri-transition)}.agri-search__input:focus{border-color:var(--agri-green-mid)}.agri-sort__select{padding:8px 12px;border:1px solid var(--agri-border);border-radius:var(--agri-radius);font-size:.875rem;background:var(--agri-white);color:var(--agri-ink);cursor:pointer;outline:none}.agri-active-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px;background:var(--agri-parchment);border-bottom:1px solid var(--agri-border);min-height:38px;align-items:center}.agri-no-filters{font-size:.8rem;color:var(--agri-muted);font-style:italic}.agri-active-tag{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;background:var(--agri-white);border:1px solid var(--agri-border);padding:3px 8px;border-radius:20px;color:var(--agri-ink)}.agri-active-tag__remove{background:none;border:none;cursor:pointer;color:var(--agri-muted);font-size:1rem;line-height:1;padding:0;margin-left:2px;transition:color var(--agri-transition)}.agri-active-tag__remove:hover{color:var(--agri-ink)}.agri-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:0}.agri-sidebar{background:var(--agri-white);border-right:1px solid var(--agri-border);padding:16px 14px 24px}.agri-filter-group{margin-bottom:0;border-bottom:1px solid var(--agri-border)}.agri-filter-group:last-of-type{border-bottom:none}.agri-filter-group__label{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 4px;background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--agri-muted);text-align:left}.agri-filter-group__label:hover{color:var(--agri-ink)}.agri-chevron{transition:transform var(--agri-transition);flex-shrink:0}.agri-filter-group__label[aria-expanded="false"] .agri-chevron{transform:rotate(-90deg)}.agri-filter-group__body{padding:0 4px 14px;overflow:hidden}.agri-filter-group__body.is-collapsed{display:none}.agri-terr-region{margin-bottom:4px}.agri-terr-region__btn{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--agri-ink);padding:4px 2px;width:100%;text-align:left}.agri-terr-region__btn:hover{color:var(--agri-green)}.agri-tri{transition:transform var(--agri-transition);color:var(--agri-muted);flex-shrink:0}.agri-terr-region.is-open .agri-tri{transform:rotate(90deg)}.agri-terr-children{padding-left:16px;padding-bottom:4px}.agri-terr-child{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px;cursor:pointer;font-size:.8125rem;color:var(--agri-muted);transition:background var(--agri-transition)}.agri-terr-child:hover{background:var(--agri-parchment)}.agri-terr-child.is-checked{color:var(--agri-green);font-weight:500}.agri-terr-cb{display:none}.agri-terr-child::before{content:'';width:14px;height:14px;border:1px solid var(--agri-border);border-radius:3px;flex-shrink:0;background:var(--agri-white);transition:background var(--agri-transition),border-color var(--agri-transition)}.agri-terr-child.is-checked::before{background:var(--agri-green);border-color:var(--agri-green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-size:10px 8px;background-repeat:no-repeat;background-position:center}.agri-chips{display:flex;flex-wrap:wrap;gap:5px}.agri-chip{font-size:.75rem;padding:4px 10px;border:1px solid var(--agri-border);border-radius:20px;cursor:pointer;background:var(--agri-white);color:var(--agri-muted);transition:all var(--agri-transition);display:flex;align-items:center;gap:3px}.agri-chip:hover{border-color:var(--agri-green-mid);color:var(--agri-green)}.agri-chip.is-on{background:var(--agri-green);border-color:var(--agri-green);color:#fff}.agri-chip__count{opacity:.65;font-size:.7rem}.agri-toggles{display:flex;flex-direction:column;gap:6px}.agri-toggle{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border:1px solid var(--agri-border);border-radius:8px;cursor:pointer;background:var(--agri-white);width:100%;transition:all var(--agri-transition);text-align:left}.agri-toggle:hover{border-color:var(--agri-green-mid)}.agri-toggle.is-on{border-color:var(--agri-green);background:#F0FAF4}.agri-toggle__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.agri-toggle__label{flex:1;font-size:.8125rem;color:var(--agri-ink);margin-left:8px}.agri-toggle__pill{width:28px;height:16px;border-radius:8px;background:var(--agri-border);position:relative;flex-shrink:0;transition:background var(--agri-transition)}.agri-toggle__pill::after{content:'';width:12px;height:12px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left var(--agri-transition)}.agri-toggle.is-on .agri-toggle__pill{background:var(--agri-green)}.agri-toggle.is-on .agri-toggle__pill::after{left:14px}.agri-price-slider{padding:4px 0}.agri-price-slider__track{position:relative;padding:10px 0}.agri-range{width:100%;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--agri-border);outline:none;cursor:pointer;display:block}.agri-range + .agri-range{margin-top:-4px}.agri-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--agri-green);border:2px solid #fff;box-shadow:0 0 0 1px var(--agri-green);cursor:pointer}.agri-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--agri-green);border:2px solid #fff;cursor:pointer}.agri-price-slider__labels{display:flex;justify-content:space-between;margin-top:6px}.agri-price-slider__val{font-size:.8125rem;font-weight:500;color:var(--agri-ink)}.agri-reset-btn{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--agri-muted);text-decoration:underline;padding:12px 4px 0;display:block}.agri-reset-btn:hover{color:var(--agri-green)}.agri-main{padding:14px 16px;min-width:0}.agri-results-header{display:flex;align-items:center;justify-content:flex-end;margin-bottom:12px}.agri-results-count{font-size:.8125rem;color:var(--agri-muted)}.agri-products-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:200px;transition:opacity .2s}.agri-products-grid.agri-loading{opacity:.5;pointer-events:none}.agri-pcard{border:1px solid #e7e2d8;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 6px 20px rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;height:100%}.agri-pcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.08)}.agri-pcard__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}.agri-pcard__img-wrap{aspect-ratio:4 / 3;background:#f6f3ee;overflow:hidden;position:relative}.agri-pcard__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.agri-pcard__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.agri-pcard:hover .agri-pcard__img{transform:scale(1.04)}.agri-pcard__badges{position:absolute;top:10px;left:10px;display:flex;gap:6px;flex-wrap:wrap;z-index:2}.agri-badge{font-size:.65rem;font-weight:600;padding:4px 8px;border-radius:999px;letter-spacing:.03em;line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.06)}.agri-badge--bio{background:#D1FAE5;color:#065F46}.agri-badge--premium{background:#FEF3C7;color:#92400E}.agri-badge--freddo{background:#DBEAFE;color:#1E40AF}.agri-pcard__body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.agri-pcard__terr{margin:0;font-size:.7rem;font-weight:500;color:#8a7f72;text-transform:uppercase;letter-spacing:.05em}.agri-pcard__name{margin:0;font-size:1rem;line-height:1.3;color:#2f2a24;font-weight:500}.agri-pcard__vendor{margin:0;font-size:.82rem;color:#8a7f72;font-weight:500}.agri-pcard__footer{display:flex;flex-direction:column;gap:10px;padding:0 16px 16px;margin-top:auto;align-items:stretch}.agri-pcard__price{font-size:1.05rem;font-weight:700;color:#2f2a24;line-height:1}.agri-pcard__price ins{text-decoration:none}.agri-pcard__price del{font-size:.75rem;color:#8a7f72;font-weight:400}.agri-pcard .button.add_to_cart_button,.agri-pcard .button.product_type_simple,.agri-pcard .button.product_type_variable,.agri-pcard .button.product_type_grouped,.agri-pcard .button.product_type_external{display:flex!important;align-items:center;justify-content:center;width:100%;margin:0!important;padding:11px 14px!important;border-radius:999px!important;text-decoration:none;font-weight:600;font-size:0.88rem;line-height:1.2;text-align:center;border:none!important;cursor:pointer;white-space:normal;background-color:#2f5a3e!important;color:#fff!important;box-shadow:none!important;transition:background-color 0.2s ease,color 0.2s ease}.agri-pcard .button.add_to_cart_button:hover,.agri-pcard .button.product_type_simple:hover,.agri-pcard .button.product_type_variable:hover,.agri-pcard .button.product_type_grouped:hover,.agri-pcard .button.product_type_external:hover{background:#264a33!important;color:#fff!important}.agri-no-products{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--agri-muted);font-size:.9375rem}.agri-pagination{margin-top:24px}.agri-pager{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}.agri-pager__btn{width:36px;height:36px;border:1px solid var(--agri-border);border-radius:8px;background:var(--agri-white);font-size:.875rem;cursor:pointer;color:var(--agri-ink);transition:all var(--agri-transition)}.agri-pager__btn:hover{border-color:var(--agri-green-mid);color:var(--agri-green)}.agri-pager__btn.is-active{background:var(--agri-green);border-color:var(--agri-green);color:#fff}.agri-mobile-filters-toggle{display:none}.agri-filters-overlay{display:none}@media (max-width:768px){.agri-layout{grid-template-columns:1fr}.agri-main{padding:12px 14px 16px}.agri-topbar{gap:10px;padding:12px 14px}.agri-search{flex:1 1 100%;max-width:100%}.agri-sort__select{flex:1;min-width:0}.agri-mobile-filters-toggle{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:var(--agri-green);color:#fff;font-size:0.85rem;font-weight:600;border:none;cursor:pointer;white-space:nowrap}.agri-mobile-filters-toggle:hover{background:var(--agri-green-mid)}.agri-sidebar{position:fixed;left:0;right:0;bottom:0;height:65vh;height:65dvh;padding:16px 14px 24px;background:#fff;z-index:1001;transform:translateY(100%);transition:transform 0.3s ease;border:none;border-radius:16px 16px 0 0;overflow-y:auto;box-shadow:0 -8px 30px rgba(0,0,0,.12)}.agri-sidebar.is-open{transform:translateY(0)}.agri-filters-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;opacity:0;pointer-events:none;transition:opacity 0.3s ease}.agri-filters-overlay.is-open{opacity:1;pointer-events:auto}body.agri-filters-open{overflow:hidden}.agri-products-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.agri-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.agri-sidebar{height:65vh;height:65dvh}}.agri-mobile-sidebar__header{display:none}@media (max-width:768px){.agri-mobile-sidebar__header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px -2px 12px;padding:2px 2px 12px;border-bottom:1px solid var(--agri-border);position:sticky;top:0;background:var(--agri-white);z-index:2}.agri-mobile-sidebar__title{font-size:1rem;font-weight:600;color:var(--agri-ink)}.agri-mobile-filters-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--agri-border);border-radius:999px;background:var(--agri-white);color:var(--agri-ink);font-size:1.4rem;line-height:1;cursor:pointer;padding:0;flex-shrink:0}.agri-mobile-filters-close:hover{border-color:var(--agri-green-mid);color:var(--agri-green)}.agri-sidebar{visibility:hidden;pointer-events:none}.agri-sidebar.is-open{transform:translateY(0);visibility:visible;pointer-events:auto}}@media (min-width:769px){.agri-mobile-sidebar__header,.agri-mobile-filters-close{display:none!important}.agri-mobile-filters-toggle,.agri-filters-overlay{display:none!important;visibility:hidden!important;pointer-events:none!important}.agri-sidebar,.agri-sidebar.is-open{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;height:auto!important;transform:none!important;visibility:visible!important;pointer-events:auto!important;border-radius:0!important;box-shadow:none!important;overflow-y:visible!important;z-index:auto!important}body.agri-filters-open{overflow:auto!important}}.agri-shop .agri-search__input,.agri-shop .agri-sort__select{-webkit-appearance:none;appearance:none}.agri-shop .agri-search__input:focus,.agri-shop .agri-sort__select:focus,.agri-shop .agri-sort__select:focus-visible{border-color:var(--agri-green-mid)!important;outline:none!important;box-shadow:0 0 0 2px rgba(64,145,108,.16)!important}.agri-shop button.agri-mobile-filters-toggle,.agri-shop button.agri-mobile-filters-toggle:hover,.agri-shop button.agri-mobile-filters-toggle:focus,.agri-shop button.agri-mobile-filters-toggle:focus-visible{background:var(--agri-green)!important;color:#fff!important;border-color:var(--agri-green)!important;box-shadow:none!important}.agri-shop button.agri-mobile-filters-close,.agri-shop button.agri-mobile-filters-close:hover,.agri-shop button.agri-mobile-filters-close:focus,.agri-shop button.agri-mobile-filters-close:focus-visible{color:var(--agri-green)!important;border-color:var(--agri-border)!important;background:var(--agri-white)!important;box-shadow:none!important}.agri-shop .agri-chip,.agri-shop .agri-toggle,.agri-shop .agri-filter-group__label,.agri-shop .agri-reset-btn,.agri-shop .agri-terr-region__btn,.agri-shop .agri-pager__btn{box-shadow:none!important}.agri-shop .agri-chip:focus,.agri-shop .agri-chip:focus-visible,.agri-shop .agri-toggle:focus,.agri-shop .agri-toggle:focus-visible,.agri-shop .agri-filter-group__label:focus,.agri-shop .agri-filter-group__label:focus-visible,.agri-shop .agri-terr-region__btn:focus,.agri-shop .agri-terr-region__btn:focus-visible,.agri-shop .agri-pager__btn:focus,.agri-shop .agri-pager__btn:focus-visible,.agri-shop .agri-reset-btn:focus,.agri-shop .agri-reset-btn:focus-visible{outline:none!important;box-shadow:0 0 0 2px rgba(64,145,108,.16)!important}.agri-shop .agri-chip.is-on,.agri-shop .agri-toggle.is-on,.agri-shop .agri-pager__btn.is-active{background:var(--agri-green)!important;border-color:var(--agri-green)!important;color:#fff!important}.agri-shop .agri-toggle.is-on .agri-toggle__pill{background:var(--agri-green)!important}.agri-shop .agri-toggle.is-on .agri-toggle__label,.agri-shop .agri-chip.is-on .agri-chip__count{color:inherit!important}.agri-shop article.agri-pcard,.agri-shop .agri-pcard{font-size:16px}.agri-shop .agri-pcard__body{padding:16px!important;gap:8px!important}.agri-shop p.agri-pcard__terr{margin:0!important;font-size:.7rem!important;line-height:1.25!important;font-weight:500!important;color:#8a7f72!important;text-transform:uppercase!important;letter-spacing:.05em!important}.agri-shop h2.agri-pcard__name{margin:0!important;padding:0!important;font-size:1rem!important;line-height:1.3!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:#2f2a24!important}.agri-shop p.agri-pcard__vendor{margin:0!important;padding:0!important;font-size:.82rem!important;line-height:1.35!important;font-weight:500!important;color:#8a7f72!important}.agri-shop .agri-pcard__footer{gap:10px!important;padding:0 16px 16px!important}.agri-shop .agri-pcard__price,.agri-shop .agri-pcard__price .price,.agri-shop .agri-pcard__price ins,.agri-shop .agri-pcard__price bdi{font-size:1.05rem!important;line-height:1!important;font-weight:700!important;color:#2f2a24!important}.agri-shop .agri-pcard__price del,.agri-shop .agri-pcard__price del .amount,.agri-shop .agri-pcard__price del bdi{font-size:.75rem!important;font-weight:400!important;color:#8a7f72!important}.agri-shop .agri-pcard .button,.agri-shop .agri-pcard a.button,.agri-shop .agri-pcard button.button{font-size:0.88rem!important;line-height:1.2!important;font-weight:600!important;text-transform:none!important;letter-spacing:0!important}.agri-shop button.agri-chip,.agri-shop button.agri-chip:link,.agri-shop button.agri-chip:visited,.agri-shop button.agri-chip:hover,.agri-shop button.agri-chip:active,.agri-shop button.agri-toggle,.agri-shop button.agri-toggle:link,.agri-shop button.agri-toggle:visited,.agri-shop button.agri-toggle:hover,.agri-shop button.agri-toggle:active,.agri-shop button.agri-filter-group__label,.agri-shop button.agri-filter-group__label:link,.agri-shop button.agri-filter-group__label:visited,.agri-shop button.agri-filter-group__label:hover,.agri-shop button.agri-filter-group__label:active,.agri-shop button.agri-terr-region__btn,.agri-shop button.agri-terr-region__btn:link,.agri-shop button.agri-terr-region__btn:visited,.agri-shop button.agri-terr-region__btn:hover,.agri-shop button.agri-terr-region__btn:active,.agri-shop button.agri-pager__btn,.agri-shop button.agri-pager__btn:link,.agri-shop button.agri-pager__btn:visited,.agri-shop button.agri-pager__btn:hover,.agri-shop button.agri-pager__btn:active,.agri-shop button.agri-reset-btn,.agri-shop button.agri-reset-btn:link,.agri-shop button.agri-reset-btn:visited,.agri-shop button.agri-reset-btn:hover,.agri-shop button.agri-reset-btn:active{-webkit-appearance:none!important;appearance:none!important;background-image:none!important}.agri-shop button.agri-chip,.agri-shop .agri-chip{background:var(--agri-white)!important;border:1px solid var(--agri-border)!important;color:var(--agri-muted)!important}.agri-shop button.agri-chip .agri-chip__count,.agri-shop .agri-chip .agri-chip__count{color:inherit!important;opacity:.65!important}.agri-shop button.agri-toggle,.agri-shop .agri-toggle{background:var(--agri-white)!important;border:1px solid var(--agri-border)!important;color:var(--agri-ink)!important}.agri-shop button.agri-toggle .agri-toggle__label,.agri-shop .agri-toggle .agri-toggle__label{color:var(--agri-ink)!important}.agri-shop button.agri-filter-group__label,.agri-shop .agri-filter-group__label{color:var(--agri-muted)!important;background:transparent!important}.agri-shop button.agri-terr-region__btn,.agri-shop .agri-terr-region__btn{color:var(--agri-ink)!important;background:transparent!important}.agri-shop button.agri-pager__btn,.agri-shop .agri-pager__btn{background:var(--agri-white)!important;border:1px solid var(--agri-border)!important;color:var(--agri-ink)!important}.agri-shop button.agri-reset-btn,.agri-shop .agri-reset-btn{color:var(--agri-muted)!important;background:transparent!important}.agri-shop button.agri-chip.is-on,.agri-shop .agri-chip.is-on,.agri-shop button.agri-toggle.is-on,.agri-shop .agri-toggle.is-on,.agri-shop button.agri-pager__btn.is-active,.agri-shop .agri-pager__btn.is-active{background:var(--agri-green)!important;border-color:var(--agri-green)!important;color:#fff!important}.agri-shop .agri-products-grid .agri-pcard,.agri-shop .agri-products-grid article.agri-pcard{border:1px solid #e7e2d8!important;border-radius:18px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 6px 20px rgba(0,0,0,.05)!important}.agri-shop .agri-products-grid .agri-pcard__link{text-decoration:none!important;color:inherit!important}.agri-shop .agri-products-grid .agri-pcard__img-wrap{aspect-ratio:4 / 3!important;background:#f6f3ee!important}.agri-shop .agri-products-grid .agri-pcard__body{padding:16px!important;display:flex!important;flex-direction:column!important;gap:8px!important}.agri-shop .agri-products-grid .agri-pcard__terr,.agri-shop .agri-products-grid p.agri-pcard__terr{margin:0!important;padding:0!important;font-size:.7rem!important;line-height:1.2!important;font-weight:500!important;color:#8a7f72!important;text-transform:uppercase!important;letter-spacing:.05em!important}.agri-shop .agri-products-grid .agri-pcard__name,.agri-shop .agri-products-grid h2.agri-pcard__name,.agri-shop .agri-products-grid .agri-pcard h2.agri-pcard__name{margin:0!important;padding:0!important;font-size:1rem!important;line-height:1.3!important;font-weight:500!important;font-family:inherit!important;letter-spacing:0!important;text-transform:none!important;color:#2f2a24!important}.agri-shop .agri-products-grid .agri-pcard__vendor,.agri-shop .agri-products-grid p.agri-pcard__vendor{margin:0!important;padding:0!important;font-size:.82rem!important;line-height:1.35!important;font-weight:500!important;color:#8a7f72!important}.agri-shop .agri-products-grid .agri-pcard__footer{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0 16px 16px!important;margin-top:auto!important;align-items:stretch!important}.agri-shop .agri-products-grid .agri-pcard__price,.agri-shop .agri-products-grid .agri-pcard__price .price,.agri-shop .agri-products-grid .agri-pcard__price .amount,.agri-shop .agri-products-grid .agri-pcard__price bdi,.agri-shop .agri-products-grid .agri-pcard__price ins,.agri-shop .agri-products-grid .agri-pcard__price ins .amount,.agri-shop .agri-products-grid .agri-pcard__price ins bdi{font-size:1.05rem!important;line-height:1!important;font-weight:700!important;color:#2f2a24!important;text-decoration:none!important}.agri-shop .agri-products-grid .agri-pcard__price del,.agri-shop .agri-products-grid .agri-pcard__price del .amount,.agri-shop .agri-products-grid .agri-pcard__price del bdi{font-size:.75rem!important;line-height:1.2!important;font-weight:400!important;color:#8a7f72!important}.agri-shop .agri-products-grid .agri-pcard .button.add_to_cart_button,.agri-shop .agri-products-grid .agri-pcard .button.product_type_simple,.agri-shop .agri-products-grid .agri-pcard .button.product_type_variable,.agri-shop .agri-products-grid .agri-pcard .button.product_type_grouped,.agri-shop .agri-products-grid .agri-pcard .button.product_type_external,.agri-shop .agri-products-grid .agri-pcard a.button,.agri-shop .agri-products-grid .agri-pcard button.button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;margin:0!important;padding:11px 14px!important;border-radius:999px!important;text-decoration:none!important;font-weight:600!important;font-size:0.88rem!important;line-height:1.2!important;text-align:center!important;text-transform:none!important;letter-spacing:0!important;border:none!important;cursor:pointer!important;white-space:normal!important;background-color:#2f5a3e!important;color:#fff!important;box-shadow:none!important}.agri-shop .agri-search{min-width:260px!important;max-width:560px!important}.agri-shop .agri-search__input{min-height:48px!important;padding:12px 16px 12px 42px!important;border-radius:16px!important;font-size:.95rem!important;line-height:1.2!important}.agri-shop .agri-search svg{left:14px!important}.agri-shop .agri-products-grid .agri-pcard__vendor-label,.agri-shop .agri-products-grid p.agri-pcard__vendor .agri-pcard__vendor-label{font-weight:600!important;color:#6f6558!important}@media (max-width:768px){.agri-shop .agri-search{min-width:100%!important;max-width:100%!important}.agri-shop .agri-search__input{min-height:50px!important;border-radius:16px!important;font-size:1rem!important}}.agri-shop .agri-active-tag button.agri-active-tag__remove,.agri-shop .agri-active-tag button.agri-active-tag__remove:link,.agri-shop .agri-active-tag button.agri-active-tag__remove:visited,.agri-shop .agri-active-tag button.agri-active-tag__remove:hover,.agri-shop .agri-active-tag button.agri-active-tag__remove:active,.agri-shop .agri-active-tag button.agri-active-tag__remove:focus,.agri-shop .agri-active-tag button.agri-active-tag__remove:focus-visible,.agri-shop .agri-active-tag .agri-active-tag__remove{-webkit-appearance:none!important;appearance:none!important;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;color:var(--agri-muted)!important;text-decoration:none!important;outline:none!important}.agri-shop .agri-active-tag button.agri-active-tag__remove:hover,.agri-shop .agri-active-tag button.agri-active-tag__remove:active,.agri-shop .agri-active-tag .agri-active-tag__remove:hover,.agri-shop .agri-active-tag .agri-active-tag__remove:active{color:var(--agri-ink)!important;background:transparent!important}.agri-shop .agri-active-tag button.agri-active-tag__remove:focus,.agri-shop .agri-active-tag button.agri-active-tag__remove:focus-visible,.agri-shop .agri-active-tag .agri-active-tag__remove:focus,.agri-shop .agri-active-tag .agri-active-tag__remove:focus-visible{color:var(--agri-ink)!important;box-shadow:0 0 0 2px rgba(64,145,108,.16)!important;border-radius:999px!important}.agri-shop .agri-search{min-width:320px!important;max-width:680px!important;width:100%!important}.agri-shop .agri-search__input{min-height:56px!important;padding:15px 18px 15px 48px!important;border-radius:18px!important;font-size:1rem!important}.agri-shop .agri-search svg{left:16px!important}@media (max-width:768px){.agri-shop .agri-search{min-width:100%!important;max-width:100%!important}.agri-shop .agri-search__input{min-height:58px!important;padding:16px 18px 16px 48px!important;border-radius:18px!important;font-size:1rem!important}}}}@media (min-width:769px){.agri-shop .agri-layout{grid-template-columns:280px minmax(0,1fr)!important;align-items:start}.agri-shop .agri-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.agri-shop .agri-sidebar{width:280px;min-width:280px;padding:18px 16px 24px!important;box-sizing:border-box}.agri-shop .agri-chip,.agri-shop button.agri-chip,.agri-shop .agri-filter-group__label,.agri-shop button.agri-filter-group__label,.agri-shop .agri-terr-region__btn,.agri-shop button.agri-terr-region__btn,.agri-shop .agri-toggle,.agri-shop button.agri-toggle{max-width:100%;box-sizing:border-box}.agri-shop .agri-chip,.agri-shop button.agri-chip{white-space:normal!important;line-height:1.2}.agri-shop .agri-toggle,.agri-shop button.agri-toggle{gap:10px}.agri-shop .agri-toggle__label,.agri-shop button.agri-toggle .agri-toggle__label{min-width:0;white-space:normal!important;overflow-wrap:anywhere;line-height:1.25!important}.agri-shop .agri-filter-group__label,.agri-shop button.agri-filter-group__label,.agri-shop .agri-terr-region__btn,.agri-shop button.agri-terr-region__btn{white-space:normal;line-height:1.25}}.agri-shop .agri-products-grid .agri-pcard{align-self:stretch!important}.agri-shop .agri-products-grid .agri-pcard__img-wrap{aspect-ratio:1 / 1!important;min-height:220px!important;padding:14px!important;background:#f8f5ef!important;display:flex!important;align-items:center!important;justify-content:center!important}.agri-shop .agri-products-grid .agri-pcard__img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important;display:block!important}.agri-shop .agri-products-grid .agri-pcard__img-placeholder,.agri-shop .agri-products-grid .agri-pcard__img-placeholder img{width:100%!important;height:100%!important;object-fit:contain!important}.agri-shop .agri-products-grid .agri-pcard__badges{top:12px!important;left:12px!important}.agri-shop .agri-products-grid .agri-pcard__body{padding-top:14px!important}.agri-shop .agri-products-grid .agri-pcard__vendor,.agri-shop .agri-products-grid p.agri-pcard__vendor{display:block!important;visibility:visible!important;opacity:1!important}.agri-shop .agri-products-grid .agri-pcard__vendor-label,.agri-shop .agri-products-grid p.agri-pcard__vendor .agri-pcard__vendor-label{display:inline!important}@media (max-width:768px){.agri-shop .agri-products-grid .agri-pcard__img-wrap{min-height:200px!important;padding:12px!important}}@media (min-width:769px){.agri-topbar{justify-content:center}.agri-search{flex:0 1 560px;max-width:560px}.agri-sort__select{min-width:220px}}.agri-cat-tree{width:100%}.agri-cat-tree + .agri-cat-tree{margin-top:10px}.agri-shop .agri-cat-tree>.agri-chip{width:100%;justify-content:space-between}.agri-cat-tree{border-bottom:1px solid rgba(221,217,204,0.7);padding-bottom:10px}.agri-cat-tree:last-child{border-bottom:none;padding-bottom:0}.agri-shop .agri-cat-tree>.agri-chip{width:100%;justify-content:space-between;gap:10px}.agri-chip--parent.has-children{background:var(--agri-white);border-color:var(--agri-border);color:var(--agri-ink)}.agri-chip--parent.has-children:hover,.agri-cat-tree.is-open .agri-chip--parent.has-children{border-color:var(--agri-green-mid);color:var(--agri-green);background:#F0FAF4}.agri-chip--parent.has-children.is-on{background:var(--agri-white);border-color:var(--agri-border);color:var(--agri-ink)}.agri-chip__meta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.agri-cat-tree .agri-chip{align-items:flex-start!important}.agri-cat-tree .agri-chip .agri-chip__text{flex:1;min-width:0;word-break:break-word;white-space:normal!important;line-height:1.3}.agri-cat-tree .agri-chip .agri-chip__meta{margin-top:1px}.agri-cat-tree__chevron{display:inline-flex;align-items:center;justify-content:center;font-size:0.8rem;line-height:1;transition:transform var(--agri-transition)}.agri-cat-tree.is-open .agri-cat-tree__chevron{transform:rotate(180deg)}.agri-subcats{display:none;flex-wrap:wrap;gap:5px;padding:8px 0 0 14px}.agri-cat-tree.is-open .agri-subcats{display:flex}.agri-subcats .agri-chip{font-size:.72rem}.agri-pagination{margin-top:30px;display:flex;justify-content:center}.agri-pager{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px;background:#fff;border:1px solid #e7e2d8;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.05)}.agri-shop button.agri-pager__btn,.agri-shop .agri-pager__btn{min-width:42px;height:42px;padding:0 12px;border-radius:999px!important;border:1px solid #e7e2d8!important;background:#fff!important;color:#2f2a24!important;font-size:.9rem!important;font-weight:600!important;line-height:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease,color .18s ease!important;box-shadow:none!important}.agri-shop button.agri-pager__btn:hover,.agri-shop .agri-pager__btn:hover,.agri-shop button.agri-pager__btn:focus,.agri-shop .agri-pager__btn:focus,.agri-shop button.agri-pager__btn:focus-visible,.agri-shop .agri-pager__btn:focus-visible{background:#f7f3ec!important;border-color:#d6cdbd!important;color:#2f5a3e!important;transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.06)!important;outline:none!important}.agri-shop button.agri-pager__btn.is-active,.agri-shop .agri-pager__btn.is-active{background:#2f5a3e!important;border-color:#2f5a3e!important;color:#fff!important;box-shadow:0 8px 18px rgba(47,90,62,.22)!important}@media (max-width:480px){.agri-pager{gap:6px;padding:6px;border-radius:18px}.agri-shop button.agri-pager__btn,.agri-shop .agri-pager__btn{min-width:38px;height:38px;font-size:.85rem!important;padding:0 10px}}
.agritavola-loop-context{width:100%;text-align:center}.agritavola-loop-context .agritavola-contact-button,.agritavola-loop-context .agritavola-add-to-cart,.agritavola-loop-context .add_to_cart_button,.agritavola-loop-context .ajax_add_to_cart,.agritavola-loop-context .product_type_simple,.agritavola-loop-context .agritavola-variable-trigger{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-align:center;max-width:100%}.agritavola-variation-modal{position:fixed;inset:0;z-index:999999}.agritavola-variation-modal.agritavola-modal-open{display:block!important}.agritavola-variation-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.agritavola-variation-modal-box{position:relative;z-index:2;width:min(92vw,560px);margin:8vh auto 0;background:#fff;padding:24px;border-radius:12px;max-height:84vh;overflow:auto}.agritavola-variation-close{position:absolute;top:10px;right:12px;background:transparent;border:0;font-size:28px;line-height:1;cursor:pointer}.agritavola-btn-loading{opacity:.7;pointer-events:none}.agritavola-added-feedback{transform:scale(1.02)}
@media (min-width:1024px){.agri-shop .agri-products-grid,.agri-products-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}@media (min-width:1400px){.agri-shop .agri-products-grid,.agri-products-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}@media (max-width:540px){.agri-shop .agri-pcard .button,.agri-shop .agri-pcard a.button,.agri-shop .agri-products-grid .agri-pcard .button{white-space:normal!important;line-height:1.3!important;padding:10px 8px!important;font-size:0.8rem!important;}}.agri-btn-label--short{display:none!important}.agri-btn-label--long{display:inline!important}@media (max-width:540px){.agri-btn-label--long{display:none!important}.agri-btn-label--short{display:inline!important}}
/* ══ FILTRI OPZIONE B — accordion + checkbox list (DEFINITIVO) ═════════ */

/* Azzera stili chip generici per subcats e idoneità */
.agri-shop .agri-subcats .agri-chip,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip {
    all: revert !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 6px 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-size: .82rem !important;
    font-weight: 400 !important;
    color: var(--agri-muted) !important;
    cursor: pointer !important;
    border-radius: 5px !important;
    border: none !important;
    background: transparent !important;
    transition: color .15s ease, background .15s ease !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    text-align: left !important;
}
.agri-shop .agri-subcats .agri-chip:hover,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip:hover {
    color: var(--agri-green) !important;
    background: #f4fbf6 !important;
}
.agri-shop .agri-subcats .agri-chip.is-on,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip.is-on {
    color: var(--agri-green) !important;
    font-weight: 600 !important;
    background: transparent !important;
    border: none !important;
}

/* Checkbox ::before — dimensioni fisse garantite */
.agri-shop .agri-subcats .agri-chip::before,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip::before {
    content: '' !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;
    height: 15px !important;
    min-height: 15px !important;
    max-height: 15px !important;
    border: 1.5px solid #ccc !important;
    border-radius: 3px !important;
    background-color: #fff !important;
    background-image: none !important;
    box-sizing: border-box !important;
    vertical-align: middle !important;
}
.agri-shop .agri-subcats .agri-chip.is-on::before,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip.is-on::before {
    content: '' !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
    width: 15px !important;
    min-width: 15px !important;
    max-width: 15px !important;
    height: 15px !important;
    min-height: 15px !important;
    max-height: 15px !important;
    border: 1.5px solid var(--agri-green) !important;
    border-radius: 3px !important;
    background-color: var(--agri-green) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-size: 9px 7px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    box-sizing: border-box !important;
}

/* Testo e count */
.agri-shop .agri-subcats .agri-chip .agri-chip__text,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip .agri-chip__text {
    flex: 1 !important;
    min-width: 0 !important;
    color: inherit !important;
    font-weight: inherit !important;
    font-size: inherit !important;
}
.agri-shop .agri-subcats .agri-chip .agri-chip__count,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip .agri-chip__count {
    margin-left: auto !important;
    flex-shrink: 0 !important;
    font-size: .72rem !important;
    color: #bbb !important;
    opacity: 1 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.agri-shop .agri-subcats .agri-chip.is-on .agri-chip__count,
.agri-shop .agri-filter-group[data-group="idoneita"] .agri-chip.is-on .agri-chip__count {
    color: var(--agri-green) !important;
    opacity: .6 !important;
}

/* Subcats layout */
.agri-shop .agri-subcats {
    display: none !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 2px 0 6px 14px !important;
    margin: 0 0 0 6px !important;
    border-left: 2px solid #e8f5ed !important;
}
.agri-shop .agri-cat-tree.is-open .agri-subcats { display: flex !important; }

/* Macro categoria: riga pulita senza card */
.agri-shop .agri-cat-tree > .agri-chip.agri-chip--parent {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 8px 4px !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
    color: var(--agri-ink) !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    transition: color .15s ease, background .15s ease !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    background: transparent !important;
    border: none !important;
}
.agri-shop .agri-cat-tree > .agri-chip.agri-chip--parent:hover {
    color: var(--agri-green) !important;
    background: #f4fbf6 !important;
}
.agri-shop .agri-cat-tree > .agri-chip.agri-chip--parent.is-on,
.agri-shop .agri-cat-tree.is-open > .agri-chip.agri-chip--parent {
    color: var(--agri-green) !important;
    font-weight: 600 !important;
    background: transparent !important;
    border: none !important;
}
.agri-shop .agri-cat-tree > .agri-chip .agri-chip__text {
    flex: 1 !important;
    min-width: 0 !important;
    word-break: break-word !important;
    white-space: normal !important;
}
.agri-shop .agri-cat-tree > .agri-chip .agri-chip__meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    flex-shrink: 0 !important;
    font-size: .75rem !important;
    color: #aaa !important;
    font-weight: 400 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.agri-shop .agri-cat-tree.is-open > .agri-chip .agri-chip__meta,
.agri-shop .agri-cat-tree > .agri-chip.is-on .agri-chip__meta {
    color: var(--agri-green) !important;
    opacity: .7 !important;
}
.agri-shop .agri-cat-tree__chevron {
    transition: transform .2s ease !important;
    opacity: .5 !important;
}
.agri-shop .agri-cat-tree.is-open .agri-cat-tree__chevron {
    transform: rotate(180deg) !important;
    opacity: 1 !important;
}
.agri-shop .agri-cat-tree,
.agri-shop .agri-cat-tree + .agri-cat-tree {
    margin: 0 !important;
    border: none !important;
    padding: 0 !important;
}

/* Accordion gruppi */
.agri-shop .agri-filter-group {
    border-bottom: 1px solid var(--agri-border) !important;
    margin: 0 !important;
}
.agri-shop .agri-filter-group:last-of-type { border-bottom: none !important; }
.agri-shop .agri-filter-group__label {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 15px 2px !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    color: var(--agri-ink) !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
}
.agri-shop .agri-filter-group__label:hover { color: var(--agri-green) !important; }
.agri-shop .agri-filter-group__body {
    padding: 0 2px 14px !important;
    overflow: hidden !important;
}
.agri-shop .agri-filter-group__body.is-collapsed { display: none !important; }

/* Idoneità toggles */
.agri-shop .agri-toggles { display: flex !important; flex-direction: column !important; gap: 0 !important; }
.agri-shop .agri-toggle__dot,
.agri-shop .agri-toggle__pill { display: none !important; }
.agri-shop .agri-toggle__label {
    flex: 1 !important;
    font-size: .875rem !important;
    font-weight: inherit !important;
    color: inherit !important;
    white-space: normal !important;
    line-height: 1.3 !important;
}

/* Prezzo */
.agri-shop .agri-price-slider__val {
    font-size: .82rem !important;
    font-weight: 600 !important;
    color: var(--agri-green) !important;
}

/* Azzera filtri */
.agri-shop .agri-reset-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin: 12px 2px 0 !important;
    padding: 0 !important;
    font-size: .78rem !important;
    font-weight: 500 !important;
    color: #aaa !important;
    text-decoration: none !important;
    border: none !important;
    background: none !important;
    cursor: pointer !important;
}
.agri-shop .agri-reset-btn:hover { color: #c0392b !important; }
.agri-shop .agri-reset-btn::before { content: '↺'; font-size: .9rem; margin-right: 2px; }

/* ══ LAYOUT & RESPONSIVE ══════════════════════════════════════════════ */
@media (min-width:769px){
    .agri-shop .agri-layout{grid-template-columns:280px minmax(0,1fr)!important;align-items:start}
    .agri-shop .agri-sidebar{width:280px;min-width:280px;padding:18px 16px 24px!important;box-sizing:border-box}
    .agri-shop .agri-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
    .agri-topbar{justify-content:center}
    .agri-search{flex:0 1 560px;max-width:560px}
    .agri-sort__select{min-width:220px}
    .agri-mobile-sidebar__header,.agri-mobile-filters-close{display:none!important}
    .agri-mobile-filters-toggle,.agri-filters-overlay{display:none!important;visibility:hidden!important;pointer-events:none!important}
    .agri-sidebar,.agri-sidebar.is-open{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;height:auto!important;transform:none!important;visibility:visible!important;pointer-events:auto!important;border-radius:0!important;box-shadow:none!important;overflow-y:visible!important;z-index:auto!important}
    body.agri-filters-open{overflow:auto!important}
}
@media (min-width:1024px){.agri-shop .agri-products-grid,.agri-products-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (min-width:1400px){.agri-shop .agri-products-grid,.agri-products-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}

/* ══ MOBILE SIDEBAR ══════════════════════════════════════════════════ */
@media (max-width:768px){
    .agri-layout{grid-template-columns:1fr!important}
    .agri-sidebar{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:65vh!important;height:65dvh!important;padding:16px 14px 24px!important;background:#ffffff!important;background-color:#ffffff!important;z-index:1001!important;transform:translateY(100%)!important;transition:transform 0.3s ease!important;border:none!important;border-radius:16px 16px 0 0!important;overflow-y:auto!important;overflow-x:hidden!important;box-shadow:0 -4px 24px rgba(0,0,0,.18)!important;visibility:hidden!important;pointer-events:none!important;overscroll-behavior:contain!important;isolation:isolate!important}
    .agri-sidebar.is-open{transform:translateY(0)!important;visibility:visible!important;pointer-events:auto!important}
    .agri-filters-overlay{display:block!important;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1000;opacity:0;pointer-events:none;transition:opacity 0.3s ease}
    .agri-filters-overlay.is-open{opacity:1!important;pointer-events:auto!important}
    body.agri-filters-open{overflow:hidden!important;position:fixed!important;width:100%!important}
    .agri-mobile-filters-toggle{display:inline-flex!important;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:var(--agri-green);color:#fff;font-size:0.85rem;font-weight:600;border:none;cursor:pointer}
    .agri-mobile-sidebar__header{display:flex!important;align-items:center;justify-content:space-between;gap:12px;margin:-4px -2px 12px;padding:2px 2px 12px;border-bottom:1px solid var(--agri-border);position:sticky;top:0;background:#fff;z-index:2}
    .agri-mobile-sidebar__title{font-size:1rem;font-weight:600;color:var(--agri-ink)}
    .agri-mobile-filters-close{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--agri-border);border-radius:999px;background:#fff;color:var(--agri-ink);font-size:1.4rem;line-height:1;cursor:pointer;padding:0}
    .agri-products-grid{grid-template-columns:repeat(2,1fr)!important}
    .agri-shop .agri-search{min-width:100%!important;max-width:100%!important}
}
@media (max-width:480px){
    .agri-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
    .agri-sidebar{height:65vh!important;height:65dvh!important}
}

/* ══ PRICE SLIDER FIX ═══════════════════════════════════════════════ */
.agri-price-slider__track{position:relative!important;height:36px!important;display:flex!important;align-items:center!important}
.agri-shop .agri-range{position:absolute!important;width:100%!important;pointer-events:none!important;background:transparent!important;height:4px!important;margin:0!important}
.agri-shop .agri-range::-webkit-slider-thumb{pointer-events:all!important;cursor:pointer!important}
.agri-shop .agri-range::-moz-range-thumb{pointer-events:all!important;cursor:pointer!important}
.agri-price-slider__track::before{content:''!important;position:absolute!important;left:0;right:0!important;height:4px!important;border-radius:2px!important;background:var(--agri-border)!important;z-index:0!important}
.agri-shop .agri-range + .agri-range{margin-top:0!important}
.agri-shop .agri-range--min{z-index:3!important}
.agri-shop .agri-range--max{z-index:4!important}
.agri-shop .agri-range--min.is-top{z-index:5!important}

/* ══ PAGINAZIONE ════════════════════════════════════════════════════ */
.agri-pagination{margin-top:30px;display:flex;justify-content:center}
.agri-pager{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:8px;background:#fff;border:1px solid #e7e2d8;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.agri-shop button.agri-pager__btn,.agri-shop .agri-pager__btn{min-width:42px;height:42px;padding:0 12px;border-radius:999px!important;border:1px solid #e7e2d8!important;background:#fff!important;color:#2f2a24!important;font-size:.9rem!important;font-weight:600!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.agri-shop button.agri-pager__btn.is-active,.agri-shop .agri-pager__btn.is-active{background:#2f5a3e!important;border-color:#2f5a3e!important;color:#fff!important}
.agri-shop button.agri-pager__btn:hover,.agri-shop .agri-pager__btn:hover{background:#f7f3ec!important;border-color:#d6cdbd!important;color:#2f5a3e!important}

/* ══ CARD PRODOTTO ══════════════════════════════════════════════════ */
.agri-shop .agri-products-grid .agri-pcard{border:1px solid #e7e2d8!important;border-radius:18px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 6px 20px rgba(0,0,0,.05)!important;display:flex!important;flex-direction:column!important;height:100%!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.agri-shop .agri-products-grid .agri-pcard:hover{transform:translateY(-4px)!important;box-shadow:0 14px 28px rgba(0,0,0,.10)!important;border-color:#2f5a3e!important}
.agri-shop .agri-products-grid .agri-pcard__link{text-decoration:none!important;color:inherit!important;display:flex!important;flex-direction:column!important;flex:1!important}
.agri-shop .agri-products-grid .agri-pcard__img-wrap{aspect-ratio:4/3!important;background:#f6f3ee!important;overflow:hidden!important;padding:0!important;min-height:unset!important;display:block!important;border-radius:17px 17px 0 0!important;position:relative!important}
.agri-shop .agri-products-grid .agri-pcard__img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;transition:transform .4s ease!important}
.agri-shop .agri-products-grid .agri-pcard:hover .agri-pcard__img{transform:scale(1.06)!important}
.agri-shop .agri-products-grid .agri-pcard__img-placeholder,.agri-shop .agri-products-grid .agri-pcard__img-placeholder img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.agri-shop .agri-products-grid .agri-pcard__badges{position:absolute!important;top:12px!important;left:12px!important;display:flex!important;gap:6px!important;flex-wrap:wrap!important;z-index:2!important}
.agri-shop .agri-products-grid .agri-pcard__body{padding:16px!important;display:flex!important;flex-direction:column!important;gap:8px!important;flex:1!important}
.agri-shop .agri-products-grid .agri-pcard__terr{margin:0!important;font-size:.7rem!important;font-weight:500!important;color:#8a7f72!important;text-transform:uppercase!important;letter-spacing:.05em!important}
.agri-shop .agri-products-grid .agri-pcard__name,.agri-shop .agri-products-grid h2.agri-pcard__name{margin:0!important;font-size:1rem!important;line-height:1.35!important;font-weight:600!important;color:#2f2a24!important}
.agri-shop .agri-products-grid .agri-pcard__link:hover .agri-pcard__name{color:#2f5a3e!important}
.agri-shop .agri-products-grid .agri-pcard__vendor{display:flex!important;align-items:center!important;gap:4px!important;font-size:.8rem!important;color:#8a7f72!important;font-weight:500!important;margin:0!important}
.agri-shop .agri-products-grid .agri-pcard__footer{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0 16px 16px!important;margin-top:auto!important;align-items:stretch!important}
.agri-shop .agri-products-grid .agri-pcard__price,.agri-shop .agri-products-grid .agri-pcard__price .price,.agri-shop .agri-products-grid .agri-pcard__price bdi,.agri-shop .agri-products-grid .agri-pcard__price ins,.agri-shop .agri-products-grid .agri-pcard__price ins bdi{font-size:1.15rem!important;font-weight:800!important;color:#2f5a3e!important;letter-spacing:-.01em!important;line-height:1!important;text-decoration:none!important}
.agri-shop .agri-products-grid .agri-pcard__price del,.agri-shop .agri-products-grid .agri-pcard__price del bdi{color:#8a7f72!important;font-weight:400!important;font-size:.85em!important}

/* ══ BOTTONI CARD ══════════════════════════════════════════════════ */
.agri-shop .agri-products-grid .agri-pcard .button,.agri-shop .agri-products-grid .agri-pcard a.button,.agri-shop .agri-products-grid .agri-pcard button.button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;margin:0!important;padding:11px 14px!important;border-radius:999px!important;font-weight:700!important;font-size:.88rem!important;line-height:1.2!important;border:none!important;cursor:pointer!important;white-space:normal!important;background-color:#2f5a3e!important;color:#fff!important;box-shadow:none!important;text-decoration:none!important}
.agri-shop .agri-products-grid .agri-pcard .button:hover,.agri-shop .agri-products-grid .agri-pcard a.button:hover{background:#264a33!important;color:#fff!important}

/* ══ LABEL SHORT/LONG MOBILE ═══════════════════════════════════════ */
.agri-btn-label--short{display:none!important}
.agri-btn-label--long{display:inline!important}
@media (max-width:540px){
    .agri-btn-label--long{display:none!important}
    .agri-btn-label--short{display:inline!important}
    .agri-shop .agri-pcard .button,.agri-shop .agri-pcard a.button{white-space:normal!important;font-size:0.8rem!important;padding:10px 8px!important;line-height:1.3!important}
}

/* ══ SEARCHBAR ════════════════════════════════════════════════════ */
.agri-shop .agri-search{min-width:320px!important;max-width:680px!important;width:100%!important}
.agri-shop .agri-search__input{min-height:56px!important;padding:15px 18px 15px 48px!important;border-radius:18px!important;font-size:1rem!important}
.agri-shop .agri-search svg{left:16px!important}

/* ══ ACTIVE TAGS ══════════════════════════════════════════════════ */
.agri-shop .agri-active-tag .agri-active-tag__remove,.agri-shop .agri-active-tag button.agri-active-tag__remove{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--agri-muted)!important;outline:none!important;-webkit-appearance:none!important;appearance:none!important}
.agri-shop .agri-active-tag .agri-active-tag__remove:hover{color:var(--agri-ink)!important;background:transparent!important}

/* ══ IMMAGINI PRODOTTO: contain + sfondo neutro ═══════════════════════ */
.agri-shop .agri-products-grid .agri-pcard__img-wrap {
    aspect-ratio: 1 / 1 !important;
    background: #f6f3ee !important;
    overflow: hidden !important;
    padding: 12px !important;
    min-height: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 17px 17px 0 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}
.agri-shop .agri-products-grid .agri-pcard__img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    transition: transform .4s ease !important;
}
.agri-shop .agri-products-grid .agri-pcard__img-placeholder,
.agri-shop .agri-products-grid .agri-pcard__img-placeholder img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}
.agri-shop .agri-products-grid .agri-pcard:hover .agri-pcard__img {
    transform: scale(1.06) !important;
}
@media (max-width: 768px) {
    .agri-shop .agri-products-grid .agri-pcard__img-wrap {
        padding: 10px !important;
    }
}

/* ══ MOBILE SIDEBAR: fix sfondo e overflow ════════════════════════════ */
@media (max-width:768px) {
    .agri-shop .agri-sidebar,
    .agri-sidebar {
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-radius: 0 !important;
        box-shadow: 0 -4px 24px rgba(0,0,0,.18) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        overscroll-behavior: contain !important;
        isolation: isolate !important;
        -webkit-overflow-scrolling: touch !important;
        z-index: 1001 !important;
    }
    .agri-mobile-sidebar__header {
        background: #ffffff !important;
        background-color: #ffffff !important;
        z-index: 10 !important;
    }
    .agri-filters-overlay.is-open {
        background: rgba(0,0,0,.55) !important;
        z-index: 1000 !important;
    }
}

/* ══ SIDEBAR MOBILE: override definitivo con massima specificità ══════ */
@media (max-width:768px) {
    html body .agri-shop .agri-sidebar,
    html body .agri-sidebar {
        background: #ffffff !important;
        background-color: #ffffff !important;
        border-radius: 0 !important;
        -webkit-border-radius: 0 !important;
    }
}

/* ══ MOBILE FILTERS: "Vai ai prodotti" button ════════════════════════ */
@media (max-width:768px) {
    .agri-mobile-filters-close {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 9px 18px !important;
        border-radius: 999px !important;
        background: var(--agri-green) !important;
        color: #ffffff !important;
        font-size: .85rem !important;
        font-weight: 700 !important;
        border: none !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        transition: background .18s ease !important;
        width: auto !important;
        height: auto !important;
        min-width: unset !important;
    }
    .agri-mobile-filters-close:hover {
        background: #264a33 !important;
        color: #ffffff !important;
    }
    /* Adatta l'header per ospitare il bottone più largo */
    .agri-mobile-sidebar__header {
        padding-bottom: 14px !important;
    }
}
.agri-shop .agri-products-grid .agri-pcard__short-desc{margin:0!important;font-size:.82rem!important;line-height:1.4!important;color:#6f665d!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}


/* ══ 1.4.5: CTA robusta + griglia ottimizzata per monitor grandi ═══════ */
.agri-shop .agri-products-grid .agri-pcard .button .agri-btn-label,
.agri-shop .agri-products-grid .agri-pcard a.button .agri-btn-label,
.agri-shop .agri-products-grid .agri-pcard button.button .agri-btn-label{
    display:inline-block!important;
    line-height:1.2!important;
    white-space:normal!important;
}
.agri-shop .agri-products-grid .agri-pcard .button .agri-btn-label--short,
.agri-shop .agri-products-grid .agri-pcard a.button .agri-btn-label--short,
.agri-shop .agri-products-grid .agri-pcard button.button .agri-btn-label--short{
    display:none!important;
}
@media (min-width:1600px){
    .agri-shop .agri-products-grid,
    .agri-products-grid{
        grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
        gap:16px!important;
    }
    .agri-shop .agri-products-grid .agri-pcard__body{
        padding:14px!important;
        gap:7px!important;
    }
    .agri-shop .agri-products-grid .agri-pcard__footer{
        padding:0 14px 14px!important;
    }
    .agri-shop .agri-products-grid .agri-pcard__img-wrap{
        padding:10px!important;
    }
}
@media (min-width:2200px){
    .agri-shop .agri-products-grid,
    .agri-products-grid{
        grid-template-columns:repeat(auto-fill,minmax(215px,1fr))!important;
        gap:16px!important;
    }
    .agri-shop .agri-products-grid .agri-pcard__name,
    .agri-shop .agri-products-grid h2.agri-pcard__name{
        font-size:.95rem!important;
    }
    .agri-shop .agri-products-grid .agri-pcard__short-desc{
        font-size:.78rem!important;
    }
}
@media (min-width:3000px){
    .agri-shop .agri-products-grid,
    .agri-products-grid{
        grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;
    }
}

/* ══════════════════════════════════════════════════════════════════════
   AGRITAVOLA SHOP v1.5.0 — NUOVE FUNZIONALITÀ
   ══════════════════════════════════════════════════════════════════════ */

/* ── FIX #1: object-fit cover per immagini food ── */
.agri-shop .agri-products-grid .agri-pcard__img-wrap {
    aspect-ratio: 4 / 3 !important;
    min-height: 200px !important;
    padding: 0 !important;
    background: #f6f3ee !important;
    display: block !important;
    align-items: unset !important;
    justify-content: unset !important;
}
.agri-shop .agri-products-grid .agri-pcard__img {
    object-fit: cover !important;
    object-position: center center !important;
}

/* ── FIX #6: Prodotti esauriti ── */
.agri-pcard--outofstock .agri-pcard__img-wrap {
    position: relative;
}
.agri-pcard__outofstock-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.35);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    border-radius: 0;
}
.agri-pcard__outofstock-label {
    background: rgba(30,30,30,.85);
    color: #fff;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 999px;
}
.agri-pcard--outofstock .agri-pcard__img {
    filter: grayscale(30%);
}
.agri-pcard--outofstock .agritavola-contact-button--outofstock {
    background-color: #6b6b62 !important;
    border-color: #6b6b62 !important;
    opacity: .85;
}
.agri-pcard--outofstock .agritavola-contact-button--outofstock:hover {
    background-color: #4a4a42 !important;
    opacity: 1;
}

/* ── FIX #7: Wishlist button ── */
.agri-pcard__img-wrap {
    position: relative;
}
.agri-wishlist-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 4;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(0,0,0,.08);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #aaa;
    transition: color .18s, background .18s, transform .18s;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    padding: 0;
}
.agri-wishlist-btn:hover {
    background: #fff;
    color: #e11d48;
    transform: scale(1.12);
}
.agri-wishlist-btn.is-wishlisted {
    color: #e11d48;
    background: #fff0f3;
    border-color: #fecdd3;
}
.agri-wishlist-btn.is-wishlisted svg {
    fill: #e11d48;
    stroke: #e11d48;
}
.agri-wishlist-btn svg {
    pointer-events: none;
    flex-shrink: 0;
}

/* ── FIX #8: Badge certificazioni (DOP, IGP, STG) ── */
.agri-badge--dop {
    background: #E0F2FE;
    color: #0369A1;
}
.agri-badge--igp {
    background: #FEF9C3;
    color: #854D0E;
}
.agri-badge--stg {
    background: #F3E8FF;
    color: #6B21A8;
}

/* ── FIX #8: Rating stelle ── */
.agri-pcard__rating {
    display: flex;
    align-items: center;
    gap: 2px;
    margin: 0;
}
.agri-pcard__rating svg {
    flex-shrink: 0;
}
.agri-pcard__rating-count {
    font-size: .72rem;
    color: var(--agri-muted);
    margin-left: 3px;
}

/* ── FIX #9: Empty state illustrato ── */
.agri-empty-state {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 64px 32px;
    gap: 16px;
}
.agri-empty-state__icon {
    opacity: .7;
}
.agri-empty-state__title {
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--agri-ink);
    margin: 0;
}
.agri-empty-state__desc {
    font-size: .875rem;
    color: var(--agri-muted);
    max-width: 340px;
    margin: 0;
    line-height: 1.5;
}
.agri-empty-state__cta,
.agri-reset-btn-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 28px;
    background: var(--agri-green);
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .18s;
    text-decoration: none;
}
.agri-empty-state__cta:hover,
.agri-reset-btn-inline:hover {
    background: var(--agri-green-mid);
}

/* ── FIX #14: Skeleton loaders — card dirette dentro .agri-products-grid ── */
.agri-skeleton-card {
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e7e2d8;
    display: flex;
    flex-direction: column;
}
.agri-skeleton-img {
    aspect-ratio: 4/3;
    background: linear-gradient(90deg, #f0ede6 25%, #e8e4dc 50%, #f0ede6 75%);
    background-size: 200% 100%;
    animation: agri-shimmer 1.4s infinite;
}
.agri-skeleton-body {
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.agri-skeleton-line {
    border-radius: 4px;
    background: linear-gradient(90deg, #f0ede6 25%, #e8e4dc 50%, #f0ede6 75%);
    background-size: 200% 100%;
    animation: agri-shimmer 1.4s infinite;
}
.agri-skeleton-line--short { height: 10px; width: 50%; }
.agri-skeleton-line--medium { height: 14px; width: 80%; }
.agri-skeleton-line--long { height: 12px; width: 95%; }
.agri-skeleton-btn {
    height: 40px;
    border-radius: 999px;
    margin: 4px 16px 16px;
    background: linear-gradient(90deg, #f0ede6 25%, #e8e4dc 50%, #f0ede6 75%);
    background-size: 200% 100%;
    animation: agri-shimmer 1.4s infinite;
}
@keyframes agri-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* Bottom sheet mobile per modal variabili (#5) */
@media (max-width: 768px) {
    .agritavola-variation-modal-box {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 20px 20px 0 0 !important;
        max-height: 88vh !important;
        padding: 20px 20px 32px !important;
    }
    .agritavola-variation-modal .agritavola-variation-backdrop {
        background: rgba(0,0,0,.45);
    }
}

/* ── Wishlist page area utente (integrata tramite shortcode [agri_wishlist]) ── */
.agri-wishlist-empty {
    text-align: center;
    padding: 48px 24px;
    color: var(--agri-muted);
}
.agri-wishlist-empty__title {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 16px 0 8px;
    color: var(--agri-ink);
}
.agri-wishlist-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 16px;
    padding: 0;
    margin: 0;
    list-style: none;
}
.agri-wishlist-item {
    border: 1px solid var(--agri-border);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
}
.agri-wishlist-item img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
}
.agri-wishlist-item__body {
    padding: 12px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.agri-wishlist-item__name {
    font-size: .9rem;
    font-weight: 600;
    color: var(--agri-ink);
}
.agri-wishlist-item__actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 8px;
}
.agri-wishlist-item__visit {
    flex: 1;
    text-align: center;
    padding: 8px;
    background: var(--agri-green);
    color: #fff;
    border-radius: 999px;
    font-size: .8rem;
    font-weight: 600;
    text-decoration: none;
    border: none;
    cursor: pointer;
}
.agri-wishlist-item__remove {
    padding: 8px 12px;
    background: none;
    border: 1px solid var(--agri-border);
    border-radius: 999px;
    cursor: pointer;
    font-size: .8rem;
    color: var(--agri-muted);
}
.agri-wishlist-item__remove:hover {
    border-color: #e11d48;
    color: #e11d48;
}

/* ══ WISHLIST LOGIN MODAL ═══════════════════════════════════════════════ */
.agri-wl-modal {
    position: fixed;
    inset: 0;
    z-index: 1000001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.agri-wl-modal[hidden] {
    display: none !important;
}
.agri-wl-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(28, 28, 26, .52);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    cursor: pointer;
}
.agri-wl-modal__box {
    position: relative;
    z-index: 2;
    background: #fff;
    border-radius: 20px;
    padding: 36px 32px 28px;
    max-width: 380px;
    width: 100%;
    box-shadow: 0 24px 64px rgba(0,0,0,.18);
    text-align: center;
    animation: agri-wl-pop .22s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes agri-wl-pop {
    from { transform: scale(.88); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}
.agri-wl-modal__icon {
    margin: 0 auto 16px;
    width: 48px;
    height: 48px;
}
.agri-wl-modal__title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1C1C1A;
    margin: 0 0 10px;
    line-height: 1.3;
}
.agri-wl-modal__desc {
    font-size: .875rem;
    color: #6B6B62;
    line-height: 1.55;
    margin: 0 0 24px;
}
.agri-wl-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.agri-wl-modal__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 13px 24px;
    border-radius: 999px;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .18s, color .18s, border-color .18s;
    border: 2px solid transparent;
    cursor: pointer;
}
.agri-wl-modal__btn--primary {
    background: #2D6A4F;
    color: #fff;
    border-color: #2D6A4F;
}
.agri-wl-modal__btn--primary:hover {
    background: #40916C;
    border-color: #40916C;
    color: #fff;
}
.agri-wl-modal__btn--secondary {
    background: transparent;
    color: #2D6A4F;
    border-color: #D1FAE5;
}
.agri-wl-modal__btn--secondary:hover {
    background: #D1FAE5;
    color: #2D6A4F;
}
.agri-wl-modal__close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #F2EFE5;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6B6B62;
    transition: background .15s, color .15s;
    padding: 0;
}
.agri-wl-modal__close:hover {
    background: #DDD9CC;
    color: #1C1C1A;
}
body.agri-modal-open {
    overflow: hidden;
}
@media (max-width: 480px) {
    .agri-wl-modal__box {
        padding: 28px 20px 24px;
        border-radius: 18px;
    }
}

/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.1 — popup, badge esaurito, CTA e stabilità scroll mobile
   ══════════════════════════════════════════════════════════════════════ */

/* Modal varianti: centrato e coerente anche su mobile, non più bottom-sheet disallineato. */
.agritavola-variation-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000002 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px !important;
    box-sizing: border-box !important;
}
.agritavola-variation-modal.agritavola-modal-open {
    display: flex !important;
}
.agritavola-variation-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(28, 28, 26, .54) !important;
    backdrop-filter: blur(3px) !important;
    -webkit-backdrop-filter: blur(3px) !important;
}
.agritavola-variation-modal .agritavola-variation-modal-box {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2 !important;
    width: min(420px, calc(100vw - 32px)) !important;
    max-width: 420px !important;
    max-height: min(82vh, 620px) !important;
    margin: 0 auto !important;
    overflow: auto !important;
    background: #fff !important;
    border: 1px solid rgba(47, 90, 62, .12) !important;
    border-radius: 24px !important;
    padding: 28px 22px 22px !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.22) !important;
    box-sizing: border-box !important;
}
.agritavola-variation-close {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    width: 34px !important;
    height: 34px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #F2EFE5 !important;
    color: #2f5a3e !important;
    font-size: 24px !important;
    line-height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.agritavola-variation-modal-content form.variations_form,
.agritavola-variation-modal-content table.variations,
.agritavola-variation-modal-content .single_variation_wrap {
    width: 100% !important;
    margin: 0 !important;
}
.agritavola-variation-modal-content table.variations tr,
.agritavola-variation-modal-content table.variations th,
.agritavola-variation-modal-content table.variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
    border: 0 !important;
}
.agritavola-variation-modal-content table.variations label {
    display: block !important;
    margin: 0 0 8px !important;
    color: #2f2a24 !important;
    font-weight: 700 !important;
    font-size: .92rem !important;
}
.agritavola-variation-modal-content select {
    width: 100% !important;
    border: 1px solid #d7d1c5 !important;
    border-radius: 14px !important;
    background-color: #fff !important;
    color: #2f2a24 !important;
    font-size: .95rem !important;
    box-sizing: border-box !important;
}
.agritavola-variation-modal-content .quantity,
.agritavola-variation-modal-content .single_add_to_cart_button {
    margin-top: 14px !important;
}
.agritavola-variation-modal-content .single_add_to_cart_button {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 999px !important;
    background: #2f5a3e !important;
    color: #fff !important;
    font-weight: 800 !important;
}
body.agri-variation-modal-open {
    overflow: hidden !important;
}

/* Popup preferiti: override del tema, proporzioni più pulite e pulsanti non “blob” verdi. */
.agri-wl-modal {
    z-index: 1000003 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
}
.agri-wl-modal__backdrop {
    background: rgba(28, 28, 26, .55) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
}
.agri-wl-modal__box {
    max-width: 390px !important;
    width: min(390px, calc(100vw - 36px)) !important;
    border-radius: 24px !important;
    padding: 34px 24px 24px !important;
    border: 1px solid rgba(47, 90, 62, .10) !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.22) !important;
    box-sizing: border-box !important;
}
.agri-wl-modal__icon {
    margin-bottom: 14px !important;
    transform: scale(.9) !important;
}
.agri-wl-modal__title {
    margin: 0 0 10px !important;
    color: #1C1C1A !important;
    font-size: clamp(1.7rem, 7vw, 2.25rem) !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
    letter-spacing: -0.04em !important;
}
.agri-wl-modal__desc {
    max-width: 300px !important;
    margin: 0 auto 22px !important;
    color: #6B6B62 !important;
    font-size: .98rem !important;
    line-height: 1.45 !important;
}
.agri-wl-modal__actions {
    gap: 12px !important;
}
.agri-wl-modal__btn,
.agri-wl-modal__box a.agri-wl-modal__btn,
.agri-wl-modal__box button.agri-wl-modal__btn {
    min-height: 54px !important;
    border-radius: 999px !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}
.agri-wl-modal__btn--primary,
.agri-wl-modal__box a.agri-wl-modal__btn--primary {
    background: #1C1C1A !important;
    border-color: #1C1C1A !important;
    color: #fff !important;
}
.agri-wl-modal__btn--primary:hover,
.agri-wl-modal__box a.agri-wl-modal__btn--primary:hover {
    background: #2f2a24 !important;
    border-color: #2f2a24 !important;
    color: #fff !important;
}
.agri-wl-modal__btn--secondary,
.agri-wl-modal__box a.agri-wl-modal__btn--secondary {
    background: #fff !important;
    border-color: #D1FAE5 !important;
    color: #2D6A4F !important;
}
.agri-wl-modal__btn--secondary:hover,
.agri-wl-modal__box a.agri-wl-modal__btn--secondary:hover {
    background: #F0FAF4 !important;
    border-color: #BDEFD8 !important;
    color: #2D6A4F !important;
}
.agri-wl-modal__close,
.agri-wl-modal__box button.agri-wl-modal__close {
    top: 14px !important;
    right: 14px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #F2EFE5 !important;
    color: #6B6B62 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: none !important;
}
.agri-wl-modal__close:hover,
.agri-wl-modal__box button.agri-wl-modal__close:hover {
    background: #DDD9CC !important;
    color: #1C1C1A !important;
}

/* Badge Esaurito sempre centrato e non tagliato dentro l'immagine prodotto. */
.agri-shop .agri-products-grid .agri-pcard__img-wrap {
    position: relative !important;
    overflow: hidden !important;
}
.agri-shop .agri-products-grid .agri-pcard__outofstock-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 4 !important;
    display: grid !important;
    place-items: center !important;
    padding: 12px !important;
    background: rgba(0,0,0,.32) !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
}
.agri-shop .agri-products-grid .agri-pcard__outofstock-label {
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: calc(100% - 12px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    border-radius: 999px !important;
    padding: 7px 18px !important;
    background: rgba(28, 28, 26, .90) !important;
    color: #fff !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
}
.agri-shop .agri-products-grid .agri-pcard__badges,
.agri-shop .agri-products-grid .agri-wishlist-btn {
    z-index: 5 !important;
}


/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.2 — restyling popup varianti + label italiane
   ══════════════════════════════════════════════════════════════════════ */
.agritavola-variation-modal .agritavola-variation-modal-box {
    width: min(460px, calc(100vw - 28px)) !important;
    max-width: 460px !important;
    border-radius: 28px !important;
    padding: 28px 20px 20px !important;
}

.agritavola-variation-modal-header {
    margin: 0 0 18px !important;
    padding: 4px 8px 0 !important;
}

.agritavola-variation-modal-title {
    margin: 0 0 6px !important;
    color: #1c1c1a !important;
    font-size: clamp(1.35rem, 3.5vw, 1.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
}

.agritavola-variation-modal-desc {
    margin: 0 !important;
    color: #6a685f !important;
    font-size: .95rem !important;
    line-height: 1.45 !important;
}

.agritavola-variation-close {
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
    background: #edf3ed !important;
    border: 1px solid rgba(47, 90, 62, .12) !important;
}

.agritavola-variation-close:hover {
    background: #e4efe6 !important;
}

.agritavola-variation-modal-content table.variations {
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.agritavola-variation-modal-content table.variations tbody,
.agritavola-variation-modal-content table.variations tr {
    display: block !important;
}

.agritavola-variation-modal-content table.variations tr {
    margin-bottom: 14px !important;
}

.agritavola-variation-modal-content table.variations td.value {
    position: relative !important;
}

.agritavola-variation-modal-content table.variations td.value::after {
    content: '⌄' !important;
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #2f5a3e !important;
    font-size: 18px !important;
    pointer-events: none !important;
}

.agritavola-variation-modal-content table.variations td.value:has(.reset_variations)::after {
    right: 54px !important;
}

.agritavola-variation-modal-content table.variations label {
    margin: 0 0 10px !important;
    font-size: .98rem !important;
    color: #2c2a25 !important;
}

/* input.qty mantiene min-height e stile. Il <select> nativo NON ha appearance:none
   né min-height fissa: queste due proprietà combinate causano la resa del testo
   delle option concatenato su WebKit/Chrome quando il select è visibile. */
.agritavola-variation-modal-content input.qty {
    min-height: 56px !important;
    border: 1px solid #d8dfd4 !important;
    border-radius: 18px !important;
    background: #f8faf7 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
}

/* Il select nativo ha solo bordo/colore di sfondo per il fallback visivo.
   Niente appearance:none, niente min-height fissa, niente overflow:hidden.
   Il custom UI (.agri-variation-select-ui) lo nasconde quando è pronto. */
.agritavola-variation-modal-content select {
    border: 1px solid #d8dfd4 !important;
    border-radius: 18px !important;
    background: #f8faf7 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.8) !important;
    color: #2f2a24 !important;
    width: 100% !important;
    padding: 8px 16px !important;
    font-size: 1rem !important;
    box-sizing: border-box !important;
}

.agritavola-variation-modal-content .reset_variations {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 10px 0 0 !important;
    color: #2f5a3e !important;
    font-size: .88rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.agritavola-variation-modal-content .single_variation_wrap {
    margin-top: 8px !important;
}

.agritavola-variation-modal-content .woocommerce-variation-add-to-cart,
.agritavola-variation-modal-content .variations_button {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: stretch !important;
}

.agritavola-variation-modal-content .quantity {
    margin-top: 0 !important;
}

.agritavola-variation-modal-content .quantity .qty,
.agritavola-variation-modal-content input.qty {
    width: 100% !important;
    text-align: center !important;
    font-weight: 700 !important;
    color: #1c1c1a !important;
}

.agritavola-variation-modal-content .single_add_to_cart_button,
body .agritavola-variation-modal-content .single_add_to_cart_button,
body .agritavola-variation-modal .woocommerce .single_add_to_cart_button,
body .agritavola-variation-modal button[name="add-to-cart"],
body .agritavola-variation-modal input[name="add-to-cart"] {
    display: block !important;
    width: 100% !important;
    margin-top: 0 !important;
    min-height: 56px !important;
    padding: 14px 20px !important;
    border: 0 !important;
    /* Stesso border-radius pill dei pulsanti nelle card prodotto */
    border-radius: 999px !important;
    background: linear-gradient(180deg, #2f7b4d 0%, #276a42 100%) !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 12px 24px rgba(47, 90, 62, .18) !important;
    cursor: pointer !important;
    text-align: center !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

.agritavola-variation-modal-content .single_add_to_cart_button:hover,
body .agritavola-variation-modal-content .single_add_to_cart_button:hover,
body .agritavola-variation-modal .woocommerce .single_add_to_cart_button:hover {
    transform: translateY(-1px) !important;
    filter: brightness(.98) !important;
}

@media (max-width: 480px) {
    .agritavola-variation-modal {
        padding: 14px !important;
    }

    .agritavola-variation-modal .agritavola-variation-modal-box {
        width: min(100%, 420px) !important;
        border-radius: 24px !important;
        padding: 24px 16px 18px !important;
    }

    .agritavola-variation-modal-title {
        font-size: 1.5rem !important;
    }
}


/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.3 — centratura reale popup varianti desktop/mobile
   ══════════════════════════════════════════════════════════════════════ */
body > #agritavola-variation-modal.agritavola-variation-modal {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    transform: none !important;
    overflow: hidden !important;
    align-items: center !important;
    justify-content: center !important;
}

body > #agritavola-variation-modal.agritavola-modal-open {
    display: flex !important;
}

body > #agritavola-variation-modal .agritavola-variation-backdrop {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    transform: none !important;
}

body > #agritavola-variation-modal .agritavola-variation-modal-box {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: min(460px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
    min-width: 0 !important;
    max-height: calc(100dvh - 36px) !important;
    margin: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
}

body.agri-variation-modal-open,
html:has(body.agri-variation-modal-open) {
    overflow: hidden !important;
}

@media (max-width: 480px) {
    body > #agritavola-variation-modal.agritavola-variation-modal {
        padding: 14px !important;
    }

    body > #agritavola-variation-modal .agritavola-variation-modal-box {
        width: calc(100vw - 28px) !important;
        max-width: calc(100vw - 28px) !important;
        max-height: calc(100dvh - 28px) !important;
    }
}

/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.4 — immagini prodotto non più cover/croppate/schiacciate
   ══════════════════════════════════════════════════════════════════════ */
.agri-shop .agri-products-grid .agri-pcard__img-wrap,
.agri-products-grid .agri-pcard__img-wrap {
    aspect-ratio: 1 / 1 !important;
    min-height: unset !important;
    height: auto !important;
    padding: 12px !important;
    background: #f8f5ef !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.agri-shop .agri-products-grid .agri-pcard__img,
.agri-products-grid .agri-pcard__img,
.agri-shop .agri-products-grid .agri-pcard__img-placeholder img,
.agri-products-grid .agri-pcard__img-placeholder img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

.agri-shop .agri-products-grid .agri-pcard:hover .agri-pcard__img,
.agri-products-grid .agri-pcard:hover .agri-pcard__img {
    transform: none !important;
}

@media (max-width: 768px) {
    .agri-shop .agri-products-grid .agri-pcard__img-wrap,
    .agri-products-grid .agri-pcard__img-wrap {
        padding: 10px !important;
    }
}

/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.5 — popup varianti: rimozione sfondo/ombra etichetta attributo
   ══════════════════════════════════════════════════════════════════════ */
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations th,
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.label,
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations .label {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 0 8px !important;
    margin: 0 !important;
}

body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations th label,
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.label label,
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations label {
    display: block !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    color: #2c2a25 !important;
    font-weight: 800 !important;
    font-size: .98rem !important;
    line-height: 1.2 !important;
}

body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations tr {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}


/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.6 — popup preferiti: pulsanti verde Agritavola
   ══════════════════════════════════════════════════════════════════════ */
.agri-wl-modal__btn--primary {
    background: #1f6b3a !important;
    border-color: #1f6b3a !important;
    color: #fff !important;
}

.agri-wl-modal__btn--primary:hover,
.agri-wl-modal__btn--primary:focus {
    background: #18572f !important;
    border-color: #18572f !important;
    color: #fff !important;
}

.agri-wl-modal__btn--secondary {
    border-color: #1f6b3a !important;
    color: #1f6b3a !important;
    background: #fff !important;
}

.agri-wl-modal__btn--secondary:hover,
.agri-wl-modal__btn--secondary:focus {
    background: rgba(31, 107, 58, .08) !important;
    border-color: #18572f !important;
    color: #18572f !important;
}

/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.8 — popup preferiti: override anti-tema per bottoni login
   Motivo: alcuni temi/WooCommerce sovrascrivono gli <a> del modal con
   background nero. Queste regole usano selettori più specifici e proprietà
   background/background-color per mantenere il verde del plugin.
   ══════════════════════════════════════════════════════════════════════ */
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn:visited {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 999px !important;
    border-style: solid !important;
    border-width: 2px !important;
    padding: 13px 24px !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--primary,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--primary:visited,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--primary:active {
    background: #2f5a3e !important;
    background-color: #2f5a3e !important;
    border-color: #2f5a3e !important;
    color: #ffffff !important;
}

body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--primary:hover,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--primary:focus,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--primary:focus-visible {
    background: #284f36 !important;
    background-color: #284f36 !important;
    border-color: #284f36 !important;
    color: #ffffff !important;
}

body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--secondary,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--secondary:visited,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--secondary:active {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #2f5a3e !important;
    color: #2f5a3e !important;
}

body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--secondary:hover,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--secondary:focus,
body #agri-wishlist-login-modal.agri-wl-modal .agri-wl-modal__actions a.agri-wl-modal__btn--secondary:focus-visible {
    background: rgba(47, 90, 62, .08) !important;
    background-color: rgba(47, 90, 62, .08) !important;
    border-color: #284f36 !important;
    color: #284f36 !important;
}

/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.9 aggiornato in v1.6.16 — layout della cella td.value.
   NOTA: non applicare overflow:hidden né height fissa al <select> nativo —
   quei valori causano la visualizzazione delle option come testo concatenato
   su Chrome/Safari quando il custom UI non è ancora montato.
   Il select nativo viene gestito separatamente sotto.
   ══════════════════════════════════════════════════════════════════════ */
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.value {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
}

/* Freccia custom visibile solo quando NON c'è il custom UI (fallback nativo).
   Quando il custom UI è presente, la freccia è nel .agri-variation-select-ui__chevron */
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.value:not(.agri-has-custom-variation-select)::after {
    content: '⌄' !important;
    position: absolute !important;
    right: 18px !important;
    top: 28px !important;
    transform: translateY(-50%) !important;
    color: #2f5a3e !important;
    font-size: 19px !important;
    line-height: 1 !important;
    pointer-events: none !important;
    z-index: 2 !important;
}
/* Quando il custom UI è presente, nascondi la freccia del td::after */
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.value.agri-has-custom-variation-select::after {
    content: none !important;
    display: none !important;
}

/* ══════════════════════════════════════════════════════════════════════
   FIX v1.6.16 — popup varianti: select nativo WooCommerce pulito.
   Strategia definitiva: cloneNode(true) in JS preserva le <option> come
   nodi DOM reali (non serializzati). Il custom select UI viene costruito
   su un select nativo garantito pulito. Non ci sono layer contraddittori.
   ══════════════════════════════════════════════════════════════════════ */

/* Il select nativo è nascosto visivamente (gestito da .agri-native-variation-select
   che JS aggiunge dopo buildCustomVariationSelects) ma resta nel DOM
   per WooCommerce variation_form. */
body > #agritavola-variation-modal .agritavola-variation-modal-content select.agri-native-variation-select {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    max-width: 1px !important;
    max-height: 1px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Rimuovi pseudo-elemento ::after del tema sul td.value quando c'è il custom UI */
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.value:has(.agri-variation-select-ui)::after,
body > #agritavola-variation-modal .agritavola-variation-modal-content table.variations td.value.agri-has-custom-variation-select::after {
    content: none !important;
    display: none !important;
}

/* Custom select UI wrapper */
body > #agritavola-variation-modal .agri-variation-select-ui {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 4 !important;
}

/* Pulsante del custom select */
body > #agritavola-variation-modal .agri-variation-select-ui__button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 56px !important;
    padding: 0 16px !important;
    border: 1px solid #d8dfd4 !important;
    border-radius: 18px !important;
    background: #f8faf7 !important;
    color: #2f2a24 !important;
    font: inherit !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
    box-sizing: border-box !important;
}

body > #agritavola-variation-modal .agri-variation-select-ui__button:hover,
body > #agritavola-variation-modal .agri-variation-select-ui__button:focus,
body > #agritavola-variation-modal .agri-variation-select-ui.is-open .agri-variation-select-ui__button {
    border-color: #2f5a3e !important;
    box-shadow: 0 0 0 3px rgba(47, 90, 62, .12) !important;
    outline: none !important;
}

body > #agritavola-variation-modal .agri-variation-select-ui__label {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body > #agritavola-variation-modal .agri-variation-select-ui__chevron {
    flex: 0 0 auto !important;
    color: #2f5a3e !important;
    font-size: 19px !important;
    line-height: 1 !important;
    transition: transform .18s ease !important;
}

body > #agritavola-variation-modal .agri-variation-select-ui.is-open .agri-variation-select-ui__chevron {
    transform: rotate(180deg) !important;
}

/* Dropdown list del custom select */
body > #agritavola-variation-modal .agri-variation-select-ui__list {
    position: absolute !important;
    z-index: 1000005 !important;
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    max-height: 240px !important;
    overflow: auto !important;
    padding: 6px !important;
    border: 1px solid #d8dfd4 !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 16px 36px rgba(0,0,0,.14) !important;
    box-sizing: border-box !important;
}

body > #agritavola-variation-modal .agri-variation-select-ui__list[hidden] {
    display: none !important;
}

/* Opzioni del custom select */
body > #agritavola-variation-modal .agri-variation-select-ui__option {
    display: block !important;
    width: 100% !important;
    padding: 11px 12px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    color: #2f2a24 !important;
    font: inherit !important;
    font-size: .96rem !important;
    line-height: 1.25 !important;
    text-align: left !important;
    cursor: pointer !important;
}

body > #agritavola-variation-modal .agri-variation-select-ui__option:hover,
body > #agritavola-variation-modal .agri-variation-select-ui__option:focus,
body > #agritavola-variation-modal .agri-variation-select-ui__option.is-selected {
    background: rgba(47, 90, 62, .10) !important;
    color: #284f36 !important;
    outline: none !important;
}

/* Fallback senza :has() — nasconde il select nativo quando ha la classe agri-native-variation-select */
body > #agritavola-variation-modal .agritavola-variation-modal-content .agri-has-custom-variation-select > select.agri-native-variation-select {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
body > #agritavola-variation-modal .agritavola-variation-modal-content .agri-has-custom-variation-select::after {
    display: none !important;
    content: none !important;
}
body > #agritavola-variation-modal .agritavola-variation-modal-content .agri-variation-select-ui,
body > #agritavola-variation-modal .agritavola-variation-modal-content .agri-variation-select-ui * {
    box-sizing: border-box !important;
}

/* Quando il modal è aperto: assicura il custom UI sia visibile (display:block non nascosto)
   e il select nativo resti nascosto. Nessun conflitto con regole precedenti. */
body > #agritavola-variation-modal.agritavola-modal-open .agritavola-variation-modal-content .agri-variation-select-ui {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Fallback: se JS non ha ancora costruito il custom UI (primo frame),
   mostra il select nativo con rendering NATIVO del browser.
   CRITICO: NON usare appearance:none né height fissa sul select — queste due
   proprietà insieme causano il testo concatenato su WebKit/Chrome. */
body > #agritavola-variation-modal.agritavola-modal-open .agritavola-variation-modal-content .variations select:not(.agri-native-variation-select),
body > #agritavola-variation-modal.agritavola-modal-open .agritavola-variation-modal-content select[name^="attribute_"]:not(.agri-native-variation-select) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
body > #agritavola-variation-modal .agritavola-variation-modal-content select option {
    color: #2f2a24 !important;
    background: #ffffff !important;
}

/* =========================================================
   AGRITAVOLA SHOP 1.6.20 — Modal variazioni AJAX pulito
   Namespace nuovo: #agri-vmodal. Non usa/clona form nascosti nelle card.
   ========================================================= */
#agri-vmodal.agri-vmodal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: none !important;
    font-family: inherit !important;
}

#agri-vmodal.agri-vmodal.is-open {
    display: block !important;
}

#agri-vmodal[hidden] {
    display: none !important;
}

#agri-vmodal .agri-vmodal__backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, .48) !important;
    z-index: 1 !important;
}

#agri-vmodal .agri-vmodal__box {
    position: fixed !important;
    z-index: 2 !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(92vw, 520px) !important;
    max-height: min(88vh, 720px) !important;
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #ffffff !important;
    border-radius: 22px !important;
    padding: 26px 22px 22px !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.24) !important;
    color: #2f2a24 !important;
    box-sizing: border-box !important;
}

#agri-vmodal .agri-vmodal__close {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #f3f6f1 !important;
    color: #215732 !important;
    font-size: 26px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    box-shadow: none !important;
    padding: 0 !important;
}

#agri-vmodal .agri-vmodal__close:hover,
#agri-vmodal .agri-vmodal__close:focus-visible {
    background: #e7efe3 !important;
    color: #1a4440 !important;
    outline: none !important;
}

#agri-vmodal .agri-vmodal__header {
    padding-right: 38px !important;
    margin: 0 0 18px !important;
}

#agri-vmodal .agri-vmodal__title {
    margin: 0 0 6px !important;
    color: #1D3A2C !important;
    font-size: 1.35rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

#agri-vmodal .agri-vmodal__desc {
    margin: 0 !important;
    color: #6f6a61 !important;
    font-size: .95rem !important;
    line-height: 1.45 !important;
}

#agri-vmodal .agri-vmodal__loading,
#agri-vmodal .agri-vmodal__error {
    min-height: 120px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    text-align: center !important;
    color: #2f2a24 !important;
}

#agri-vmodal .agri-vmodal__error {
    color: #8a1f11 !important;
    background: #fff2ef !important;
    border-radius: 14px !important;
    padding: 16px !important;
    min-height: auto !important;
}

#agri-vmodal .agri-vmodal__spinner {
    width: 22px !important;
    height: 22px !important;
    border-radius: 50% !important;
    border: 3px solid #d8dfd4 !important;
    border-top-color: #215732 !important;
    animation: agri-vmodal-spin .7s linear infinite !important;
}

@keyframes agri-vmodal-spin { to { transform: rotate(360deg); } }

body.agri-vmodal-open {
    overflow: hidden !important;
}

#agri-vmodal .agri-vmodal__content,
#agri-vmodal .agri-vmodal__woocommerce,
#agri-vmodal form.variations_form,
#agri-vmodal table.variations,
#agri-vmodal .single_variation_wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

#agri-vmodal table.variations,
#agri-vmodal table.variations tbody,
#agri-vmodal table.variations tr,
#agri-vmodal table.variations th,
#agri-vmodal table.variations td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

#agri-vmodal table.variations tr {
    margin-bottom: 16px !important;
}

#agri-vmodal table.variations th.label,
#agri-vmodal table.variations td.label,
#agri-vmodal table.variations .label {
    margin-bottom: 8px !important;
}

#agri-vmodal table.variations label {
    display: block !important;
    margin: 0 !important;
    color: #1D3A2C !important;
    font-size: .95rem !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-align: left !important;
}

#agri-vmodal select,
#agri-vmodal .variations select,
#agri-vmodal select[name^="attribute_"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    clip: auto !important;
    clip-path: none !important;
    pointer-events: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    padding: 0 42px 0 16px !important;
    margin: 0 !important;
    border: 1px solid #d8dfd4 !important;
    border-radius: 16px !important;
    background-color: #f8faf7 !important;
    color: #2f2a24 !important;
    font-size: 16px !important;
    line-height: 52px !important;
    font-weight: 600 !important;
    box-sizing: border-box !important;
    text-align: left !important;
    text-align-last: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    appearance: menulist !important;
    -webkit-appearance: menulist !important;
    -moz-appearance: menulist !important;
}

#agri-vmodal select option {
    color: #2f2a24 !important;
    background: #ffffff !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

#agri-vmodal .reset_variations {
    display: inline-block !important;
    margin-top: 8px !important;
    color: #215732 !important;
    font-size: .9rem !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
}

#agri-vmodal .woocommerce-variation-price,
#agri-vmodal .woocommerce-variation-price .price,
#agri-vmodal .single_variation .price {
    display: block !important;
    margin: 14px 0 !important;
    color: #215732 !important;
    text-align: center !important;
    font-size: 1.2rem !important;
    font-weight: 800 !important;
}

#agri-vmodal .woocommerce-variation-add-to-cart,
#agri-vmodal .variations_button {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: stretch !important;
    width: 100% !important;
}

#agri-vmodal .quantity {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
}

#agri-vmodal .quantity .qty,
#agri-vmodal input.qty {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    border: 1px solid #d8dfd4 !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    color: #2f2a24 !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    box-sizing: border-box !important;
}

#agri-vmodal .single_add_to_cart_button,
#agri-vmodal button.single_add_to_cart_button,
#agri-vmodal button[name="add-to-cart"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 52px !important;
    padding: 13px 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #215732 !important;
    background-color: #215732 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: none !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}

#agri-vmodal .single_add_to_cart_button:hover,
#agri-vmodal button.single_add_to_cart_button:hover,
#agri-vmodal button[name="add-to-cart"]:hover {
    background: #1a4440 !important;
    background-color: #1a4440 !important;
    color: #ffffff !important;
}

#agri-vmodal .single_add_to_cart_button.disabled,
#agri-vmodal .single_add_to_cart_button:disabled,
#agri-vmodal .single_add_to_cart_button.wc-variation-selection-needed {
    opacity: .55 !important;
    cursor: not-allowed !important;
}

#agri-vmodal .agritavola-btn-loading {
    opacity: .75 !important;
    cursor: wait !important;
}

#agri-vmodal .woocommerce-variation-description,
#agri-vmodal .woocommerce-variation-availability {
    text-align: center !important;
    margin: 10px 0 !important;
}

#agri-vmodal .stock {
    margin: 8px 0 !important;
    text-align: center !important;
}

@media (max-width: 520px) {
    #agri-vmodal .agri-vmodal__box {
        width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 28px) !important;
        padding: 24px 16px 18px !important;
        border-radius: 18px !important;
    }

    #agri-vmodal .agri-vmodal__title {
        font-size: 1.18rem !important;
    }
}


/* Release 1.6.21 — Preferiti temporaneamente disattivati.
   Nasconde eventuali bottoni wishlist residui, inclusi quelli generati da shortcode esterni/cache. */
html body .agri-wishlist-btn,
html body .agtc-card__wishlist {
    display: none !important;
}

/* Release 1.6.33 — Mobile filter drawer: angoli superiori arrotondati e header sticky pulito.
   Evita che categorie/filtri risultino visibili dietro l'intestazione durante lo scroll. */
@media (max-width: 768px) {
    html body .agri-shop .agri-sidebar,
    html body .agri-sidebar {
        border-radius: 22px 22px 0 0 !important;
        -webkit-border-radius: 22px 22px 0 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        isolation: isolate !important;
        clip-path: inset(0 round 22px 22px 0 0) !important;
        -webkit-clip-path: inset(0 round 22px 22px 0 0) !important;
    }

    html body .agri-shop .agri-mobile-sidebar__header,
    html body .agri-mobile-sidebar__header {
        position: sticky !important;
        top: 0 !important;
        z-index: 30 !important;
        background: #ffffff !important;
        background-color: #ffffff !important;
        margin: -16px -14px 14px !important;
        padding: 16px 14px 14px !important;
        border-radius: 22px 22px 0 0 !important;
        box-shadow: 0 1px 0 var(--agri-border) !important;
    }

    html body .agri-shop .agri-mobile-sidebar__header::before,
    html body .agri-mobile-sidebar__header::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: -24px;
        height: 24px;
        background: #ffffff;
        border-radius: 22px 22px 0 0;
        pointer-events: none;
    }
}

/* ─────────────────────────────────────────────
   CARD ESPERIENZA — agri-ecard
   Usata quando [agritavola_shop categoria="esperienze"]
   ───────────────────────────────────────────── */
.agri-ecard{border:1px solid #e7e2d8;border-radius:18px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.agri-ecard:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.09);border-color:#2f5a3e}
.agri-ecard__link{text-decoration:none;color:inherit;display:flex;flex-direction:column;flex:1}
.agri-ecard__img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#F2EFE5;border-radius:17px 17px 0 0}
.agri-ecard__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.agri-ecard:hover .agri-ecard__img{transform:scale(1.04)}
.agri-ecard__img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#F2EFE5}
.agri-ecard__price-badge{position:absolute;bottom:10px;left:10px;background:rgba(28,28,26,.68);color:#fff;font-size:.78rem;font-weight:700;padding:4px 11px;border-radius:999px;line-height:1.3}
.agri-ecard__price-badge .woocommerce-Price-amount,.agri-ecard__price-badge bdi{color:#fff!important;font-size:inherit!important;font-weight:inherit!important}
.agri-ecard__body{padding:13px 14px 14px;flex:1;display:flex;flex-direction:column;gap:5px}
.agri-ecard__vendor{display:flex;align-items:center;gap:5px;font-size:.7rem;font-weight:600;color:#8a7f72;text-transform:uppercase;letter-spacing:.05em;margin:0}
.agri-ecard__vendor svg{flex-shrink:0;color:#8a7f72}
.agri-ecard__title{margin:0;font-size:.95rem;font-weight:600;line-height:1.3;color:#2f2a24}
.agri-ecard__link:hover .agri-ecard__title{color:#2f5a3e}
.agri-ecard__footer{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.agri-ecard__tag{font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:999px;background:#e8f5ee;color:#2f5a3e;line-height:1.4}

/* Griglia in modalità esperienze: foto 4:3 orizzontale, 3 colonne su desktop */
.agri-shop--esperienze .agri-products-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.agri-shop--esperienze .agri-products-grid .agri-ecard{height:100%}

@media(max-width:768px){
  .agri-shop--esperienze .agri-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .agri-ecard__img-wrap{aspect-ratio:4/3}
}
@media(max-width:480px){
  .agri-shop--esperienze .agri-products-grid{grid-template-columns:1fr!important}
}
