.shop-page { background: #fff; }
.shop-page .reveal { opacity: 1; transform: none; }
.shop-header { background: rgba(255,255,255,.94); }
.shop-page main { padding-top: 82px; }

.shop-hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 5vw; align-items: center; min-height: 690px; padding: 70px 5vw 80px; overflow: hidden; background: linear-gradient(135deg,#f4f9f5 0%,#fff 58%); }
.shop-hero-copy { max-width: 760px; }
.shop-hero h1 { margin: 22px 0 24px; color: var(--startup-ink); font-size: clamp(58px,6.3vw,104px); font-weight: 750; line-height: .91; letter-spacing: -.07em; }
.shop-hero h1 em { color: #2c8054; font-style: normal; }
.shop-hero-copy > p:not(.eyebrow) { max-width: 650px; color: #506258; font-size: clamp(16px,1.3vw,20px); }
.shop-hero-actions { display: flex; gap: 12px; margin-top: 32px; }
.shop-trust-inline { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 32px; color: #446052; font-size: 11px; font-weight: 700; }

.shop-hero-card { position: relative; display: grid; grid-template-rows: minmax(360px,1fr) auto; min-height: 570px; overflow: hidden; border: 1px solid rgba(18,63,42,.1); border-radius: 30px; background: #fff; box-shadow: 0 32px 90px rgba(20,55,35,.14); }
.hero-product-image { min-height: 0; overflow: hidden; background: #160d08; }
.hero-product-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.hero-product-copy { position: relative; z-index: 2; padding: 25px 28px 28px; }
.hero-product-copy > span { color: var(--rust); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.hero-product-copy h2 { margin: 5px 0 6px; font-size: 25px; letter-spacing: -.035em; }
.hero-product-copy p { margin: 0 0 12px; color: var(--muted); font-size: 12px; }
.hero-product-copy a { color: var(--startup-green); font-size: 11px; font-weight: 800; text-decoration: none; }
.hero-card-seal { position: absolute; top: 22px; right: 22px; display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; background: #c9f36a; color: #173d2b; box-shadow: 0 12px 30px rgba(0,0,0,.15); }
.hero-card-seal b { font-size: 19px; line-height: 1; }.hero-card-seal span { margin-top: -16px; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.shop-proof { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 0 5vw; background: #fff; }
.shop-proof > div { display: grid; grid-template-columns: auto 1fr; column-gap: 13px; align-content: center; min-height: 132px; padding: 24px 3vw; border-right: 1px solid var(--line); }
.shop-proof > div:first-child { border-left: 1px solid var(--line); }
.shop-proof span { grid-row: span 2; color: #2c8054; font-size: 10px; font-weight: 800; }.shop-proof b { font-size: 14px; }.shop-proof small { color: var(--muted); font-size: 10px; }

.shop-catalog { padding: 110px 4vw 120px; }
.shop-section-head { display: flex; align-items: end; justify-content: space-between; gap: 50px; max-width: 1460px; margin: 0 auto 48px; }
.shop-section-head h2 { margin: 8px 0 0; font-size: clamp(44px,5vw,78px); line-height: .95; letter-spacing: -.065em; }
.shop-section-head > p { max-width: 520px; margin: 0; color: var(--muted); font-size: 14px; }
.shop-toolbar { position: sticky; z-index: 30; top: 80px; display: grid; grid-template-columns: minmax(270px,1fr) auto auto; align-items: center; gap: 12px; max-width: 1460px; margin: 0 auto 16px; border: 1px solid rgba(18,63,42,.11); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 14px 40px rgba(18,63,42,.08); padding: 10px; backdrop-filter: blur(18px); }
.shop-search { display: grid; grid-template-columns: 38px 1fr; align-items: center; height: 48px; border-radius: 12px; background: #f5f8f5; }
.shop-search span { text-align: center; color: var(--startup-green); font-size: 20px; }.shop-search input { height: 48px; border: 0; background: transparent; outline: 0; padding: 0 12px 0 0; font-size: 12px; }
.shop-toolbar .filters { display: flex; gap: 4px; flex-wrap: nowrap; }
.shop-toolbar .filters button { min-height: 42px; white-space: nowrap; }
.shop-sort { display: flex; align-items: center; gap: 9px; min-height: 48px; border-left: 1px solid var(--line); padding-left: 12px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.shop-sort select { height: 42px; border: 0; border-radius: 10px; background: #f5f8f5; padding: 0 34px 0 11px; color: var(--startup-ink); font-size: 11px; font-weight: 700; outline: 0; }
.shop-results-meta { display: flex; justify-content: space-between; max-width: 1460px; margin: 0 auto 25px; color: var(--muted); font-size: 10px; }.shop-results-meta b { color: var(--startup-ink); }

.shop-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 1460px; margin: 0 auto; gap: 22px; }
.shop-product-grid .product-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(18,63,42,.11); border-radius: 24px; background: #fff; box-shadow: 0 12px 40px rgba(18,63,42,.06); transition: transform .25s,box-shadow .25s,border-color .25s; }
.shop-product-grid .product-card:hover { transform: translateY(-5px); border-color: rgba(18,63,42,.22); box-shadow: 0 24px 65px rgba(18,63,42,.12); }
.shop-product-grid .product-visual { min-height: 300px; border-radius: 0; }
.shop-product-grid .product-info { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.shop-product-grid .product-info h3 { margin: 11px 0 8px; font-size: 23px; font-weight: 720; letter-spacing: -.035em; }
.shop-product-grid .product-info > p { min-height: 60px; color: var(--muted); font-size: 12px; }
.shop-product-grid .product-pack { margin-top: 18px; border-top: 1px solid var(--line); border-bottom: 0; padding: 16px 0; }
.shop-price { display: flex; align-items: end; justify-content: space-between; gap: 15px; border-radius: 14px; background: #f4f8f5; padding: 14px 15px; }
.shop-price span { display: grid; }.shop-price span:last-child { justify-items: end; }.shop-price small { color: var(--muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.shop-price b { color: var(--startup-green); font-size: 23px; letter-spacing: -.04em; }.shop-price strong { color: #3c5146; font-size: 13px; }
.shop-price.is-locked { align-items: center; justify-content: flex-start; min-height: 72px; border: 1px solid #dce9e0; background: #f4f8f5; }
.shop-price.is-locked > span { display: grid; flex: 0 0 38px; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #e1efe5; color: var(--startup-green); font-size: 20px; }
.shop-price.is-locked > div { display: grid; gap: 3px; }
.shop-price.is-locked b { font-size: 13px; letter-spacing: -.015em; }
.product-buy { display: grid; gap: 9px; margin-top: auto; padding-top: 17px; }.product-buy > span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.product-buy .button { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 48px; border: 0; cursor: pointer; font-size: 10px; text-decoration: none; }.product-buy .button b { font-size: 15px; }.product-buy .button:disabled { background: #dce3de; color: #708077; box-shadow: none; }
.shop-empty { grid-column: 1/-1; display: grid; justify-items: center; min-height: 330px; align-content: center; border: 1px dashed var(--line); border-radius: 24px; text-align: center; }.shop-empty > span { font-size: 34px; }.shop-empty h3 { margin: 10px 0 0; }.shop-empty p { margin: 4px 0 16px; color: var(--muted); }.shop-empty button { border: 0; background: transparent; color: var(--startup-green); font-weight: 800; cursor: pointer; }

.buying-guide { padding: 110px 5vw; background: var(--startup-green); color: #fff; }
.buying-guide .shop-section-head h2 { color: #fff; }.buying-guide .shop-section-head > p { color: rgba(255,255,255,.65); }.buying-guide .eyebrow { color: #c9f36a; }
.buying-steps { display: grid; grid-template-columns: repeat(4,1fr); max-width: 1460px; margin: 0 auto; border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.buying-steps article { min-height: 245px; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); padding: 29px; }.buying-steps span { color: #c9f36a; font-size: 10px; font-weight: 800; }.buying-steps h3 { margin: 55px 0 8px; font-size: 19px; }.buying-steps p { margin: 0; color: rgba(255,255,255,.65); font-size: 12px; }
.shop-support { scroll-margin-top: 105px; margin: 28px; border-radius: 28px; background: #f2f7f3; padding: 78px 5vw; }
.shop-support-head { display: flex; align-items: end; justify-content: space-between; gap: 60px; max-width: 1460px; margin: 0 auto 42px; }
.shop-support h2 { margin: 6px 0 0; font-size: clamp(42px,4.8vw,72px); line-height: .95; letter-spacing: -.06em; }
.shop-support-head > p { max-width: 610px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.shop-support-layout { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(340px,.82fr); gap: 22px; max-width: 1460px; margin: 0 auto; }
.shop-support-form,.support-access,.support-direct { border: 1px solid rgba(18,63,42,.1); border-radius: 22px; background: #fff; box-shadow: 0 16px 50px rgba(18,63,42,.06); }
.shop-support-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: clamp(28px,4vw,52px); }
.support-form-heading { grid-column: 1/-1; display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; margin-bottom: 6px; }
.support-form-heading > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #e5eee8; color: var(--startup-green); font-size: 9px; font-weight: 800; }
.support-form-heading h3,.support-access h3 { margin: 0 0 5px; font-size: 24px; letter-spacing: -.04em; }.support-form-heading p,.support-access p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.shop-support-form label { display: grid; gap: 8px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }.shop-support-form label:nth-of-type(3) { grid-column: 1/-1; }
.shop-support-form input,.shop-support-form select,.shop-support-form textarea { width: 100%; border: 1px solid #dbe6df; border-radius: 12px; background: #fbfcfb; padding: 14px 15px; color: var(--startup-ink); font: 600 13px var(--startup-font); outline: 0; transition: border-color .2s,box-shadow .2s; }.shop-support-form textarea { min-height: 145px; resize: vertical; line-height: 1.55; }.shop-support-form input:focus,.shop-support-form select:focus,.shop-support-form textarea:focus { border-color: #7aa58d; box-shadow: 0 0 0 4px rgba(44,128,84,.1); }
.shop-support-form > button,.shop-support-form > small,.support-form-status { grid-column: 1/-1; }.shop-support-form > button { justify-self: start; border: 0; cursor: pointer; }.shop-support-form > button:disabled { cursor: wait; opacity: .6; }.shop-support-form > small { color: var(--muted); font-size: 9px; }.support-form-status { min-height: 18px; margin: 0; color: var(--startup-green); font-size: 11px; }.support-form-status.error { color: #a93718; }
.shop-support-side { display: grid; gap: 14px; }.support-access,.support-direct { padding: 30px; }.support-access { align-content: start; }.support-access .button { width: 100%; margin-top: 20px; border: 0; cursor: pointer; text-decoration: none; }.support-icon { display: grid; width: 52px; height: 52px; margin-bottom: 28px; place-items: center; border-radius: 16px; background: var(--startup-green); color: #fff; font-size: 24px; font-weight: 700; }
.shop-ticket-list { display: grid; gap: 8px; margin: 22px 0 16px; }.shop-ticket-row { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; border: 1px solid #e1e9e3; border-radius: 12px; padding: 11px; }.shop-ticket-row > span { color: var(--rust); font-size: 9px; font-weight: 800; }.shop-ticket-row div { min-width: 0; }.shop-ticket-row b,.shop-ticket-row small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.shop-ticket-row b { font-size: 11px; }.shop-ticket-row small { margin-top: 3px; color: var(--muted); font-size: 8px; }.shop-ticket-row em { border-radius: 999px; background: #eef3ef; padding: 6px 8px; color: #476052; font-size: 7px; font-style: normal; font-weight: 800; text-transform: uppercase; }.shop-ticket-empty { margin: 22px 0; border: 1px dashed #dbe5de; border-radius: 12px; padding: 18px; color: var(--muted); font-size: 10px; text-align: center; }
.support-direct { display: grid; gap: 10px; }.support-direct > a { display: grid; gap: 3px; border-top: 1px solid #e1e9e3; padding-top: 13px; text-decoration: none; }.support-direct > a span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }.support-direct > a b { font-size: 13px; }.support-direct > small { color: var(--muted); font-size: 9px; }
.shop-footer { margin-top: 0; }
.cart-assurance { display: flex!important; justify-content: space-between; margin-top: 14px!important; font-size: 8px!important; }
.cart-empty .button { margin-top: 12px; text-decoration: none; }
.cart-login { margin-top: auto; border: 1px solid #dce9e0; border-radius: 18px; background: #f4f8f5; padding: 24px; text-align: center; }
.cart-login > span { display: grid; width: 46px; height: 46px; margin: 0 auto 12px; place-items: center; border-radius: 50%; background: #e1efe5; color: var(--startup-green); font-size: 23px; }
.cart-login h3 { margin: 0; color: var(--startup-ink); font-size: 19px; }
.cart-login p { margin: 8px 0 16px; color: var(--muted); font-size: 11px; }
.cart-login small { display: block; margin-top: 12px; color: var(--muted); font-size: 8px; }

@media(max-width:1100px){
  .shop-hero { grid-template-columns: 1fr 1fr; gap: 30px; }.shop-hero h1 { font-size: clamp(55px,7vw,78px); }.shop-proof { grid-template-columns: 1fr 1fr; }.shop-proof > div:nth-child(2) { border-right: 0; }.shop-toolbar { grid-template-columns: 1fr auto; }.shop-toolbar .filters { grid-column: 1/-1; grid-row: 2; overflow-x: auto; }.shop-product-grid { grid-template-columns: repeat(2,1fr); }.buying-steps { grid-template-columns: 1fr 1fr; }.shop-support-head { align-items: start; flex-direction: column; gap: 18px; }.shop-support-layout { grid-template-columns: 1fr; }.shop-support-side { grid-template-columns: 1fr 1fr; }.support-access { grid-row: span 2; }
}
@media(max-width:760px){
  .shop-page main { padding-top: 68px; }.shop-header { background:#fff; }.shop-hero { display: block; min-height: 0; padding: 65px 20px 45px; }.shop-hero h1 { font-size: clamp(52px,15vw,72px); }.shop-hero-actions { align-items: stretch; flex-direction: column; }.shop-trust-inline { display: grid; gap: 8px; }.shop-hero-card { min-height: 490px; margin-top: 38px; }.shop-proof { grid-template-columns: 1fr; padding: 0 20px; }.shop-proof > div,.shop-proof > div:first-child { border-right: 0; border-left: 0; border-bottom: 1px solid var(--line); }.shop-section-head { display: block; margin-bottom: 32px; }.shop-section-head > p { margin-top: 18px; }.shop-catalog { padding: 78px 16px 85px; }.shop-toolbar { position: relative; top: auto; display: grid; grid-template-columns: 1fr; }.shop-toolbar .filters { grid-column: auto; grid-row: auto; overflow-x: auto; }.shop-sort { border-top: 1px solid var(--line); border-left: 0; padding: 9px 0 0; }.shop-results-meta span { display: none; }.shop-product-grid { grid-template-columns: 1fr; }.shop-product-grid .product-visual { min-height: 270px; }.buying-guide { padding: 78px 20px; }.buying-steps { grid-template-columns: 1fr; }.buying-steps article { min-height: 210px; }.shop-support { margin: 15px; padding: 48px 20px; }.shop-support-head { display: block; }.shop-support-head > p { margin-top: 18px; }.shop-support-form { grid-template-columns: 1fr; padding: 24px; }.shop-support-form label,.shop-support-form label:nth-of-type(3) { grid-column: 1; }.shop-support-side { grid-template-columns: 1fr; }.support-access { grid-row: auto; }.support-access,.support-direct { padding: 24px; }
}

/* Galleria prodotto */
.product-gallery{position:absolute;inset:0}.product-gallery-main{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.product-gallery-main .product-photo{display:block}.product-gallery-zoom{position:absolute;right:15px;top:15px;z-index:4;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.65);border-radius:999px;background:rgba(255,255,255,.9);color:var(--startup-green);box-shadow:0 8px 20px rgba(18,63,42,.13);font-size:11px;backdrop-filter:blur(8px)}.product-gallery-zoom b{font-size:8px;text-transform:uppercase;letter-spacing:.05em}.product-gallery-thumbs{position:absolute;z-index:5;left:15px;bottom:15px;display:flex;gap:7px}.product-gallery-thumbs button{width:48px;height:48px;padding:2px;border:2px solid rgba(255,255,255,.78);border-radius:10px;background:#fff;box-shadow:0 7px 18px rgba(14,45,31,.2);opacity:.76;cursor:pointer;overflow:hidden;transition:.2s}.product-gallery-thumbs button:hover,.product-gallery-thumbs button.active{border-color:var(--startup-green);opacity:1;transform:translateY(-2px)}.product-gallery-thumbs img{display:block;width:100%;height:100%;border-radius:6px;object-fit:cover}.product-gallery-modal{width:min(980px,calc(100% - 30px));max-height:calc(100vh - 30px);padding:18px;border:0;border-radius:24px;background:#fff;box-shadow:0 35px 110px rgba(4,24,14,.45)}.product-gallery-modal::backdrop{background:rgba(5,25,15,.78);backdrop-filter:blur(8px)}.product-gallery-close{position:absolute;z-index:3;right:30px;top:30px;display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(18,63,42,.12);border-radius:50%;background:rgba(255,255,255,.93);color:var(--startup-green);font-size:18px;cursor:pointer}.product-gallery-stage{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;min-height:300px;border-radius:17px;background:#f3f6f3;overflow:hidden}.product-gallery-stage>img{display:block;width:100%;height:min(68vh,720px);object-fit:contain}.product-gallery-stage>button{display:grid;width:42px;height:42px;margin:auto;place-items:center;border:1px solid rgba(18,63,42,.12);border-radius:50%;background:#fff;color:var(--startup-green);font-size:18px;cursor:pointer}.product-gallery-caption{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:18px 5px 10px}.product-gallery-caption h2{margin:3px 0 0;color:var(--startup-ink);font-size:24px;letter-spacing:-.035em}.product-gallery-caption>span{color:var(--muted);font-size:11px;font-weight:800}.product-gallery-modal-thumbs{display:flex;justify-content:center;gap:8px;min-height:58px}.product-gallery-modal-thumbs button{width:64px;height:52px;padding:2px;border:2px solid transparent;border-radius:9px;background:#eef3ef;cursor:pointer;overflow:hidden;opacity:.65}.product-gallery-modal-thumbs button.active{border-color:var(--startup-green);opacity:1}.product-gallery-modal-thumbs img{width:100%;height:100%;border-radius:5px;object-fit:cover}@media(max-width:760px){.product-gallery-zoom b{display:none}.product-gallery-thumbs button{width:43px;height:43px}.product-gallery-modal{padding:10px;border-radius:18px}.product-gallery-close{right:20px;top:20px}.product-gallery-stage{grid-template-columns:42px minmax(0,1fr) 42px}.product-gallery-stage>img{height:min(62vh,560px)}.product-gallery-stage>button{width:35px;height:35px}.product-gallery-caption{padding:14px 4px 8px}.product-gallery-caption h2{font-size:19px}}
.checkout-addresses{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.checkout-addresses label{display:grid;gap:7px;font-size:.82rem;font-weight:700}.checkout-addresses select{width:100%;padding:12px;border:1px solid #dce2df;border-radius:12px;background:#fff}.legal-check{display:block;margin:10px 0;font-size:.84rem;color:#4d5852}.legal-check a{color:#9b3b20}@media(max-width:640px){.checkout-addresses{grid-template-columns:1fr}}
.payment-methods label.is-unavailable{opacity:.58;background:#f4f5f4}.payment-methods label.is-unavailable small{color:#7a817d}.payment-methods label.is-unavailable input{cursor:not-allowed}
