/* ===== Servizi online — categorie acquistabili / su preventivo ===== */

.shop-hero .hub-lead{max-width:62ch}
.preview-flag{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.4rem;padding:.5rem .95rem;border:1px solid var(--line);border-radius:50px;background:rgba(194,160,90,.10);color:var(--teal-700);font-size:.78rem;font-weight:600;letter-spacing:.01em}
.preview-flag svg{width:15px;height:15px;color:var(--gold);flex-shrink:0}

.cat{padding:3.2rem 0 .5rem}
.cat:first-of-type{padding-top:3.6rem}
.cat-head{margin-bottom:1.9rem;max-width:64ch}
.cat-head h2{font-size:clamp(1.5rem,3vw,2.1rem);color:var(--ink);line-height:1.15;margin:.55rem 0 .5rem}
.cat-head p{font-size:.95rem;line-height:1.65;color:var(--muted)}
.cat-note{font-size:.8rem;color:var(--muted);margin-top:.55rem}

.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;padding-bottom:1.4rem}
.shop-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line-soft);border-radius:16px;padding:1.6rem 1.5rem;overflow:hidden;transition:transform .35s cubic-bezier(.25,.46,.45,.94),box-shadow .35s,border-color .35s}
.shop-card::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--teal),var(--teal-300));transform:scaleX(0);transform-origin:left;transition:transform .4s}
.shop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.shop-card:hover::before{transform:scaleX(1)}
.shop-card h3{font-size:1.05rem;color:var(--ink);line-height:1.28;margin-bottom:.45rem}
.shop-card p{font-size:.875rem;line-height:1.55;color:var(--muted);flex:1;margin-bottom:1.15rem}

.price{font-family:'DM Serif Display',Georgia,serif;color:var(--teal);font-size:1.95rem;line-height:1;margin-bottom:.1rem}
.price .pre{font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-right:.32rem;vertical-align:.18em}
.price .cur{font-size:1.15rem;color:var(--teal-700)}
.price-sub{font-size:.74rem;color:var(--muted);margin-bottom:1.05rem;min-height:1em}

.shop-card .btn.gold{width:100%;justify-content:center;padding:.8rem;font-size:.9rem}
.shop-card .btn.gold svg{transition:transform .25s}
.shop-card .btn.gold:hover svg{transform:translateX(3px)}

/* card "su preventivo" */
.shop-card.quote .quote-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.73rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:.85rem}
.shop-card.quote .quote-label::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--gold)}

@media(max-width:880px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.shop-grid{grid-template-columns:1fr}}

/* toast anteprima acquisto */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(18px);background:var(--ink);color:#fff;padding:.85rem 1.2rem;border-radius:12px;box-shadow:0 18px 50px rgba(11,30,38,.3);font-size:.86rem;line-height:1.45;max-width:min(92vw,470px);opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:200}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
.toast a{color:var(--gold-2);font-weight:600;text-decoration:none}
