/* Virtual Card – Viva Giovedì
   Colori e stile ripresi dal layout approvato. Font ereditato dal tema. */
.vcard-page{--vc:#7B4A44;--vc-text:#3A2623;--vc-muted:#6B5551;--vc-grey:#EAEAEA;--vc-beige:#F1E7E2;--vc-line:#e3e3e3;
  color:var(--vc);font-family:inherit;overflow-x:hidden}
.vcard-page a{color:var(--vc);text-decoration:none}
.vcard-page *{box-sizing:border-box}

/* Strutture usate nel contenuto della pagina */
.vcard-page .vc-wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.vcard-page .vc-section{padding:72px 0}
.vcard-page .vc-hero{background:var(--vc-grey);padding:72px 0}
.vcard-page .vc-hero--center{text-align:center}
.vcard-page .vc-hero--center .vc-divider{margin-left:auto;margin-right:auto}
.vcard-page .vc-eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase;margin-bottom:22px}
.vcard-page .vc-h1{margin:0;font-size:52px;line-height:1.08;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--vc)}
.vcard-page .vc-h1 span{background:var(--vc);color:#fff;padding:0 10px;display:inline-block;margin-top:6px}
.vcard-page .vc-h2{margin:0;font-size:30px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--vc)}
.vcard-page .vc-h3{margin:0;font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vc)}
.vcard-page .vc-divider{width:64px;height:2px;background:var(--vc);margin:16px 0 28px}
.vcard-page .vc-lead{margin:0 0 32px;font-size:17px;line-height:1.7;color:var(--vc-text);max-width:620px}
.vcard-page .vc-hero--center .vc-lead{margin-left:auto;margin-right:auto}
.vcard-page .vc-actions{display:flex;flex-wrap:wrap;gap:14px}
.vcard-page .vc-hero--center .vc-actions{justify-content:center}
.vcard-page .vc-btn{display:inline-block;border:2px solid var(--vc);padding:15px 30px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:transparent;color:var(--vc)!important;transition:background .2s,color .2s}
.vcard-page .vc-btn--fill{background:var(--vc);color:#fff!important}
.vcard-page .vc-btn:hover{background:var(--vc);color:#fff!important}
.vcard-page .vc-btn--fill:hover{opacity:.9}

.vcard-page .vc-steps{background:var(--vc-beige)}
.vcard-page .vc-steps__grid{margin-top:44px}
.vcard-page .vc-steps__grid > .wp-block-group__inner-container,.vcard-page .vc-steps__grid:not(:has(> .wp-block-group__inner-container)){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.vcard-page .vc-step__n{width:48px;height:48px;border-radius:50%;background:var(--vc);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.vcard-page .vc-step h3{margin:20px 0 8px;font-size:17px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--vc)}
.vcard-page .vc-step p:not(.vc-step__n){margin:0;font-size:15px;line-height:1.7;color:var(--vc-text)}

.vcard-page .vc-note{margin:40px 0 0;font-size:12px;line-height:1.7;color:var(--vc-muted);max-width:760px}

.vcard-page .vc-app{padding:0 24px 80px}
.vcard-page .vc-app__box{max-width:1052px;margin:0 auto;background:var(--vc);color:#fff;padding:56px}
.vcard-page .vc-app__box > .wp-block-group__inner-container,.vcard-page .vc-app__box:not(:has(> .wp-block-group__inner-container)){display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.vcard-page .vc-app__box h2{margin:0 0 14px;font-size:30px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#fff}
.vcard-page .vc-app__box p{margin:0;font-size:16px;line-height:1.7;color:#F3E8E4}
.vcard-page .vc-app__store{flex:0 0 220px}
.vcard-page .vc-app__store a{display:block;background:#fff;color:var(--vc)!important;text-align:center;padding:15px 24px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase}

/* Carousel prodotti */
.vcard-carousel{margin-top:40px}
.vcard-track{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;outline:0}
.vcard-track::-webkit-scrollbar{display:none}
.vcard-card{flex:0 0 calc((100% - 56px) / 3);scroll-snap-align:start;border:1px solid var(--vc-line);background:#fff}
.vcard-card__img{aspect-ratio:4/5;background:#E9DAD3;overflow:hidden}
.vcard-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.vcard-card__body{padding:22px 24px 26px}
.vcard-card__store{font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.vcard-card__name{font-size:14px;color:var(--vc-muted);margin:6px 0 20px}
.vcard-card__prices{display:flex;gap:22px;align-items:flex-end;flex-wrap:wrap}
.vcard-price span{display:block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#6F5E5A}
.vcard-price s{font-size:14px;color:#6F5E5A}
.vcard-price--promo span{color:var(--vc);font-weight:700}
.vcard-price--promo strong{font-size:26px;font-weight:800;color:var(--vc);line-height:1.1}
.vcard-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:32px}
.vcard-nav{width:40px;height:40px;border:1px solid var(--vc);background:transparent;color:var(--vc);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.vcard-nav:disabled{opacity:.35;cursor:default}
.vcard-dots{display:flex;gap:8px}
.vcard-dots button{width:9px;height:9px;border-radius:50%;border:0;padding:0;background:#cfcfcf;cursor:pointer}
.vcard-dots button.is-active{background:var(--vc)}
.vcard-carousel.is-static .vcard-controls{display:none}
.vcard-empty{margin:32px 0 0;color:var(--vc-muted)}

/* Negozi aderenti */
.vcard-stores__title{margin:44px 0 18px;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--vc)}
.vcard-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.vcard-logo{border:1px solid #d9d9d9;height:84px;display:flex;align-items:center;justify-content:center;padding:10px 16px;text-align:center;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase}
.vcard-logo img{max-width:100%;max-height:100%;object-fit:contain}
.vcard-logos:not(.is-open) .vcard-logo:nth-child(n+11){display:none}
.vcard-more{display:flex;align-items:center;justify-content:center;gap:10px;margin:24px auto 0;border:2px solid var(--vc);background:transparent;color:var(--vc);padding:13px 28px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer}
.vcard-more svg{transition:transform .2s}
.vcard-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.vcard-more:hover{background:var(--vc);color:#fff}
@media (min-width:768px){.vcard-stores--short .vcard-more{display:none}}

/* Tablet */
@media (max-width:991px){
  .vcard-card{flex-basis:calc((100% - 28px) / 2)}
  .vcard-page .vc-steps__grid > .wp-block-group__inner-container,.vcard-page .vc-steps__grid:not(:has(> .wp-block-group__inner-container)){gap:28px}
  .vcard-page .vc-h1{font-size:40px}
}
/* Mobile */
@media (max-width:767px){
  .vcard-page .vc-section,.vcard-page .vc-hero{padding:48px 0}
  .vcard-page .vc-wrap{padding:0 20px}
  .vcard-page .vc-h1{font-size:30px}
  .vcard-page .vc-h2{font-size:23px}
  .vcard-page .vc-lead{font-size:16px}
  .vcard-page .vc-btn{display:block;text-align:center;width:100%}
  .vcard-page .vc-actions{flex-direction:column;gap:12px}
  .vcard-page .vc-steps__grid > .wp-block-group__inner-container,.vcard-page .vc-steps__grid:not(:has(> .wp-block-group__inner-container)){grid-template-columns:1fr;gap:28px}
  .vcard-page .vc-step__n{width:44px;height:44px;font-size:17px}
  .vcard-page .vc-step h3{margin:2px 0 6px;font-size:16px}
  .vcard-page .vc-app{padding:0 20px 48px}
  .vcard-page .vc-app__box{padding:36px 24px}
  .vcard-page .vc-app__box h2{font-size:23px}
  .vcard-page .vc-app__store{flex:1 1 100%}
  .vcard-card{flex-basis:78%}
  .vcard-card__body{padding:18px}
  .vcard-controls .vcard-nav{display:none}
  .vcard-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .vcard-logo{height:68px}
  .vcard-logos:not(.is-open) .vcard-logo:nth-child(n+5){display:none}
  .vcard-more{width:100%}
}

/* Blocchi nativi di Gutenberg */
.vcard-page .vc-divider--flush{margin-bottom:0}
.vcard-page .vc-step__n{margin:0}
.vcard-page .vc-eyebrow,.vcard-page .vc-lead{margin-top:0}
.vcard-page .vc-actions{margin:0;gap:14px}
.vcard-page .vc-actions .wp-block-button__link{display:inline-block;border:2px solid var(--vc);border-radius:0;padding:15px 30px;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:transparent;color:var(--vc);transition:background .2s,color .2s}
.vcard-page .vc-actions .wp-block-button__link:hover{background:var(--vc);color:#fff}
.vcard-page .vc-actions .vc-btn--fill .wp-block-button__link{background:var(--vc);color:#fff}
.vcard-page .vc-actions .vc-btn--fill .wp-block-button__link:hover{opacity:.9}
.vcard-page .vc-app__text{flex:1 1 440px;min-width:0}
.vcard-page .vc-app__store p{margin:0}
.vcard-page .vc-app__store p + p{margin-top:14px}
.vcard-page h1.vc-h1,.vcard-page h2.vc-h2,.vcard-page h3.vc-h3,.vcard-page .vc-step h3{padding:0}
@media (max-width:767px){
  .vcard-page .vc-actions{flex-direction:column;align-items:stretch}
  .vcard-page .vc-actions .wp-block-button,.vcard-page .vc-actions .wp-block-button__link{display:block;width:100%;text-align:center}
}

/* Hero con smartphone */
.vcard-page .vc-hero__grid > .wp-block-group__inner-container,.vcard-page .vc-hero__grid:not(:has(> .wp-block-group__inner-container)){display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:center}
.vcard-page .vc-hero__media{margin:0;text-align:center}
.vcard-page .vc-hero__media img{width:auto;max-width:100%;max-height:540px;height:auto}
.vcard-page .vc-hero__media img:not([src]){display:none}
@media (max-width:767px){.vcard-page .vc-hero__grid > .wp-block-group__inner-container,.vcard-page .vc-hero__grid:not(:has(> .wp-block-group__inner-container)){grid-template-columns:1fr;gap:36px}}
