/* WooCommerce shop — conversione del master shop.html */
.uncleitaly-shop-page {
  --shop-cream: #f2e8cf;
  --shop-cream-light: #fbf3df;
  --shop-ink: #2b1d12;
  --shop-green: #2e5b3f;
  --shop-red: #b32423;
  --shop-gold: #e3b94f;
  --uncle-serif: var(--ui-serif);
  --uncle-grotesk: var(--ui-sans);
  --uncle-anton: var(--ui-display);
  --uncle-edge: max(24px, calc((100vw - 1280px) / 2));
  background: var(--shop-cream);
  color: var(--shop-ink);
  overflow-x: clip;
}

.uncleitaly-shop-page .uncle-header { position: absolute; }
.uncleitaly-shop-page .uncle-brand { width: 132px; height: 40px; box-shadow: none; }
.shop-add[hidden]{display:none!important}
@media(max-width:700px){.uncleitaly-shop-page .uncle-brand{width:122px;height:37px}}
.shop-main { overflow: clip; }
.shop-hero {
  position: relative;
  isolation: isolate;
  min-height: min(88svh, 760px);
  display: grid;
  align-items: end;
  padding: clamp(7rem, 16vh, 10rem) 0 clamp(3rem, 7vh, 5rem);
  overflow: hidden;
  color: var(--shop-cream-light);
  background: #122718;
  border-bottom: 2px solid var(--shop-ink);
}
.shop-hero__scene {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: url("../images/menu-fascia-pop.webp") center 48% / cover no-repeat;
  transform: scale(1.01);
}
.shop-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, rgb(18 39 24 / .72), rgb(18 39 24 / .3) 34%, rgb(18 39 24 / .84) 82%, rgb(18 39 24 / .97));
}
.shop-breadcrumb { margin: 0 0 1.2rem; font-size: .78rem; color: rgb(251 243 223 / .7); }
.shop-breadcrumb a { color: var(--shop-gold); font-weight: 700; text-decoration: none; }
.shop-eyebrow { display: inline-flex; align-items: center; gap: .9rem; color: var(--shop-gold); font-size: clamp(.72rem, 2vw, .84rem); font-weight: 700; letter-spacing: .32em; text-transform: uppercase; }
.shop-eyebrow::before { content: ""; width: 44px; height: 2px; background: currentColor; }
.shop-hero h1 { max-width: 13em; margin: 1rem 0 0; color: inherit; font-family: var(--uncle-serif); font-size: clamp(2.9rem, 8vw, 4.8rem); font-weight: 300; line-height: 1.02; text-shadow: 0 4px 26px rgb(10 20 14 / .55); }
.shop-hero h1 i { color: var(--shop-gold); font-weight: 600; }
.shop-hero__lead { max-width: 36em; margin: 1.3rem 0 0; color: rgb(251 243 223 / .88); font-size: clamp(1.02rem, 2.4vw, 1.2rem); text-shadow: 0 2px 14px rgb(10 20 14 / .6); }

.shop-filters { position: relative; z-index: 2; padding: 1.1rem 0; background: var(--shop-cream-light); border-bottom: 2px solid var(--shop-ink); box-shadow: 0 6px 0 rgb(43 29 18 / .07); }
.shop-filters__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem 1.2rem; }
.shop-chips { display: flex; flex-wrap: wrap; gap: .55rem; min-width: 0; }
.shop-chip,
.shop-sort select {
  min-height: 48px;
  color: var(--shop-ink);
  background: #fff;
  border: 2px solid var(--shop-ink);
  border-radius: 999px;
  box-shadow: 3px 3px 0 rgb(43 29 18 / .2);
  font: 800 1rem var(--uncle-grotesk);
}
.shop-chip { display: inline-flex; align-items: center; padding: .72rem 1.1rem; white-space: nowrap; cursor: pointer; }
.shop-chip[aria-pressed="true"] { color: var(--shop-cream-light); background: var(--shop-green); }
.shop-chip[hidden] { display: none; }
.shop-chip__count {display: inline-grid; place-items: center; min-width: 1.7em; height: 1.7em; margin-left: .55rem; padding: 0 .32em;  background: rgb(43 29 18 / .12); font-size: .86em}
.shop-chip[aria-pressed="true"] .shop-chip__count { background: rgb(18 39 24 / .45); }
.shop-sort { display: flex; align-items: center; gap: .6rem; white-space: nowrap; }
.shop-sort label { font-size: .82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.shop-sort select { padding: .72rem 2.7rem .72rem 1.15rem; cursor: pointer; }

.shop-showcase { padding: clamp(1.8rem, 4vh, 2.8rem) 0 clamp(3.5rem, 8vh, 5.5rem); }
.shop-count-row { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1.4rem; margin-bottom: 1.4rem; }
.shop-count { margin: 0; font-size: .82rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.shop-line-data { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 0 auto; }
.shop-line-data span {padding: .36rem .8rem; color: var(--shop-ink); background: #fff; border: 2px solid var(--shop-ink);  font-size: .64rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase}
.shop-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.2rem; }
.shop-product { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 2px solid var(--shop-ink); border-radius: 16px; box-shadow: 5px 5px 0 rgb(43 29 18 / .13); transition: transform .3s, box-shadow .3s; }
.shop-product[hidden] { display: none; }
.shop-product:hover { transform: translateY(-6px); box-shadow: 9px 9px 0 rgb(43 29 18 / .2); }
.shop-product__badge {position: absolute; top: .7rem; left: .7rem; z-index: 3; padding: .3rem .6rem; color: var(--shop-cream-light); background: var(--shop-red); border: 2px solid var(--shop-ink);  font-size: .58rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; transform: rotate(-6deg)}
.shop-product__image { display: block; padding: 1.4rem 1rem .6rem; background: linear-gradient(180deg, #fff, rgb(242 232 207 / .55)); }
.shop-product__image img { width: 100%; height: clamp(150px, 22vw, 210px); object-fit: contain; filter: drop-shadow(0 12px 18px rgb(43 29 18 / .22)); transition: transform .4s; }
.shop-product:hover .shop-product__image img { transform: translateY(-6px) rotate(-2deg); }
.shop-product__info { flex: 1; display: flex; flex-direction: column; min-width: 0; padding: 1rem 1.1rem 1.2rem; background: var(--shop-cream-light); border-top: 2px solid var(--shop-ink); }
.shop-glass { width: 32px; height: 35px; margin-bottom: .5rem; color: var(--shop-ink); flex: none; }
.shop-glass__liquid { fill: var(--liquid, #c97f2e); transform: translateY(30px); transition: transform .55s; }
.shop-product:hover .shop-glass__liquid,
.shop-product:focus-within .shop-glass__liquid { transform: translateY(0); }
.shop-product__name { margin: 0 0 .25rem; color: var(--shop-ink); font-family: var(--uncle-serif); font-size: clamp(1.05rem, 2.3vw, 1.25rem); font-weight: 600; line-height: 1.15; overflow-wrap: anywhere; }
.shop-product__name a { color: inherit; text-decoration: none; }
.shop-product__data { margin: 0; color: rgb(43 29 18 / .55); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.shop-product__buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; margin-top: auto; padding-top: .9rem; }
.shop-product__price { font-family: var(--uncle-serif); font-size: 1.18rem; font-style: italic; font-weight: 600; }
.shop-product__price del { opacity: .55; }
.shop-add,
.uncleitaly-shop-page .shop-add.button {display: inline-flex; align-items: center; justify-content: center; min-height: 40px; margin: 0; padding: .58rem 1rem; color: var(--shop-cream-light); background: var(--shop-green); border: 2px solid var(--shop-ink);  box-shadow: none; font: 800 .68rem var(--uncle-grotesk); letter-spacing: .14em; line-height: 1; text-decoration: none; text-transform: uppercase}
.shop-add:hover,
.uncleitaly-shop-page .shop-add.button:hover { color: #fff; background: var(--shop-red); }
.shop-cart-control { width: 100%; display: grid; gap: .45rem; }
.shop-cart-control[hidden] { display: none; }
.shop-cart-control__status { color: var(--shop-green); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-align: center; text-transform: uppercase; }
.shop-cart-control__quantity {display: grid; grid-template-columns: 44px minmax(32px, 1fr) 44px; min-height: 44px; overflow: hidden; background: #fff; border: 2px solid var(--shop-ink)}
.shop-cart-control__quantity button {display: grid; place-items: center; min-width: 44px; min-height:44px; padding: 0; color: var(--shop-cream-light); background: var(--shop-green); border: 0;  box-shadow: none; font: 800 1.15rem/1 var(--uncle-grotesk); cursor: pointer}
.shop-cart-control__quantity button:hover { color: #fff; background: var(--shop-red); }
.shop-cart-control__quantity button:disabled { opacity: .45; cursor: wait; }
.shop-cart-control__quantity output { display: grid; place-items: center; color: var(--shop-ink); font-size: .85rem; font-weight: 800; }
.shop-product.is-cart-busy { opacity: .72; }
.shop-cart-error { width: 100%; margin: .2rem 0 0; color: var(--shop-red); font-size: .7rem; font-weight: 700; line-height: 1.25; text-align: center; }
.shop-empty { padding: 3rem 1rem; text-align: center; font-family: var(--uncle-serif); font-size: 1.3rem; font-style: italic; }

.shop-marquee { overflow: hidden; padding: .5rem 0; color: var(--shop-cream-light); background: var(--shop-red); border-block: 2px solid var(--shop-ink); font: clamp(1.4rem, 4vw, 2.4rem)/1 var(--uncle-anton); text-transform: uppercase; white-space: nowrap; }
.shop-marquee span { display: inline-block; padding-right: 1.5rem; animation: shop-marquee 26s linear infinite; }
@keyframes shop-marquee { to { transform: translateX(-50%); } }

/* Linea Visciola: struttura del master, contenuti e immagini da WooCommerce. */
.shop-visciola { position: relative; isolation: isolate; padding: clamp(3.5rem, 9vh, 6rem) 0 clamp(4rem, 10vh, 6.5rem); overflow: hidden; color: #f6ebdf; background: linear-gradient(180deg, #2b1038, #5a1a2e 46%, #7a1f2c 78%, #3a0e18); border-bottom: 2px solid var(--shop-ink); }
.shop-visciola__head { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.8rem, 4vh, 2.6rem); }
.shop-visciola .shop-eyebrow { color: #f2c4b3; }
.shop-visciola__head h2 { max-width: 14em; margin: .7rem 0 0; color: inherit; font-family: var(--uncle-serif); font-size: clamp(2.1rem, 6vw, 3.4rem); font-weight: 300; line-height: 1.04; }
.shop-visciola__head h2 i { color: #ffd9c8; font-weight: 600; }
.shop-visciola__head > p { max-width: 28em; margin: 0; color: rgb(246 235 223 / .86); }
.shop-visciola__count-row { position: relative; z-index: 1; }
.shop-visciola .shop-count { color: rgb(246 235 223 / .92); }
.shop-visciola .shop-line-data span { color: #ffd9c8; background: transparent; border-color: #f2c4b3; }
.shop-visciola__grid { position: relative; z-index: 1; }
.shop-visciola-product { color: var(--shop-ink); }
.shop-visciola-product .shop-product__data { min-height: 3.2em; color: rgb(43 29 18 / .68); }
.shop-visciola-product .shop-add,
.uncleitaly-shop-page .shop-visciola-product .shop-add.button { background: #7a1c2e; }
.shop-visciola-product .shop-add:hover,
.uncleitaly-shop-page .shop-visciola-product .shop-add.button:hover { background: #5e1424; }
.shop-add--details { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.shop-visciola-product__placeholder { width: 100%; height: clamp(150px, 22vw, 210px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; padding: 1rem; color: #7a1c2e; border: 2px dashed rgb(122 28 46 / .5); background: linear-gradient(165deg, rgb(122 28 46 / .05), rgb(242 196 179 / .24)); }
.shop-visciola-product__placeholder small { font-size: .58rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.shop-visciola-product__placeholder strong { font-family: var(--uncle-serif); font-size: 1.05rem; font-style: italic; }
.shop-visciola__note { position: relative; z-index: 1; max-width: 58em; margin: 1.6rem 0 0; color: rgb(246 235 223 / .8); font-size: .82rem; }
.shop-visciola__cherries { position: absolute; z-index: 0; color: #e0424f; font-size: clamp(1.7rem, 4vw, 3.2rem); letter-spacing: -.35em; text-shadow: 0 0 0 #6e1424, 18px -28px 0 #6e8c42; opacity: .72; animation: shop-visciola-float 18s ease-in-out infinite; pointer-events: none; }
.shop-visciola__cherries--one { top: 8%; left: 3%; transform: rotate(-8deg); }
.shop-visciola__cherries--two { right: 5%; bottom: 10%; animation-delay: -6s; }
@keyframes shop-visciola-float { 50% { translate: 0 -24px; rotate: 6deg; } }

.shop-premium { padding: clamp(3.5rem, 9vh, 6rem) 0 clamp(4rem, 10vh, 6.5rem); color: var(--shop-cream); background: #0b0f0c; border-bottom: 2px solid var(--shop-ink); }
.shop-premium__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: clamp(1.8rem, 4vh, 2.6rem); }
.shop-premium__head h2 { max-width: 14em; margin: .7rem 0 0; color: inherit; font-family: var(--uncle-serif); font-size: clamp(2.1rem, 6vw, 3.4rem); font-weight: 300; line-height: 1.04; }
.shop-premium__head h2 i { color: var(--shop-gold); font-weight: 600; }
.shop-premium__head > p { max-width: 24em; margin: 0; color: rgb(242 232 207 / .65); }
.shop-premium__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 1.2rem; }
.shop-world { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: clamp(360px, 44svh, 460px); padding: clamp(1.3rem, 2.6vw, 1.8rem); overflow: hidden; color: var(--shop-cream); border: 2px solid var(--shop-ink); border-radius: 18px; text-decoration: none; transition: transform .35s, box-shadow .35s; }
.shop-world:hover { transform: translateY(-8px); box-shadow: 0 22px 40px -18px #000; }
.shop-world__background { position: absolute; inset: 0; z-index: -2; background: var(--world-background); }
.shop-world::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 38%, rgb(0 0 0 / .6)); }
.shop-world__bottle { position: absolute; inset: 5% 0 34%; z-index: -1; display: flex; align-items: center; justify-content: center; }
.shop-world__bottle img { width: auto; max-width: 62%; height: auto; max-height: 100%; object-fit: contain; filter: drop-shadow(0 22px 34px rgb(0 0 0 / .65)); transition: transform .4s; }
.shop-world:hover .shop-world__bottle img { transform: translateY(-8px) scale(1.04); }
.shop-world__label { margin-bottom: .5rem; color: var(--accent); font-size: .64rem; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; }
.shop-world strong { font-family: var(--uncle-serif); font-size: clamp(1.5rem, 3vw, 1.95rem); font-weight: 600; line-height: 1.06; }
.shop-world__data { margin-top: .4rem; color: rgb(242 232 207 / .65); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.shop-world__cta {align-self: flex-start; margin-top: 1.1rem; padding: .66rem 1.2rem; color: #0b0f0c; background: var(--accent);  font-size: .72rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase}

.shop-assurance { padding: clamp(2.5rem, 6vh, 4rem) 0; color: var(--shop-cream-light); background: var(--shop-green); border-bottom: 2px solid var(--shop-ink); }
.shop-assurance__grid { display: grid; gap: 1.2rem; }
.shop-assurance b { display: block; margin-bottom: .35rem; color: var(--shop-gold); font-family: var(--uncle-serif); font-size: 1.25rem; }
.shop-assurance p { margin: 0; color: rgb(251 243 223 / .82); font-size: .96rem; }

@media (min-width: 760px) { .shop-assurance__grid { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
@media (max-width: 1100px) {
  .shop-filters__row { grid-template-columns: 1fr; }
  .shop-chips { flex-wrap: nowrap; overflow-x: auto; padding: .45rem var(--uncle-edge); margin-inline: calc(var(--uncle-edge) * -1); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .shop-chips::-webkit-scrollbar { display: none; }
  .shop-sort select { flex: 1; width: 100%; }
}
@media (max-width: 520px) {
  .shop-hero { min-height: 72svh; }
  .shop-line-data { width: 100%; margin-left: 0; }
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .shop-product__image { padding: 1rem .5rem .45rem; }
  .shop-product__image img { height: clamp(140px, 45vw, 190px); }
  .shop-visciola-product__placeholder { height: clamp(140px, 45vw, 190px); }
  .shop-product__info { padding: .8rem .75rem 1rem; }
  .shop-product__name { font-size: clamp(.98rem, 4.6vw, 1.15rem); }
  .shop-product__data { font-size: .59rem; letter-spacing: .1em; }
  .shop-product__buy { align-items: stretch; }
  .shop-product__price { width: 100%; font-size: 1.02rem; }
  .shop-add, .uncleitaly-shop-page .shop-add.button { width: 100%; padding-inline: .5rem; }
  .shop-cart-control__quantity { grid-template-columns: 44px minmax(26px, 1fr) 44px; }
  .shop-glass { width: 26px; height: 29px; }
  .shop-world { min-height: 300px; }
  .shop-world__bottle { bottom: 38%; }
  .shop-world__bottle img { max-width: 54%; }
}
@media (max-width: 359px) { .shop-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .shop-product, .shop-product__image img, .shop-glass__liquid, .shop-world, .shop-world__bottle img { transition: none; }
  .shop-marquee span { animation: none; }
  .shop-visciola__cherries { animation: none; }
}
