
:root{
  --pc-ink:#123d62;
  --pc-muted:#617789;
  --pc-line:#cddce7;
  --pc-blue:#e5f2fb;
  --pc-sand:#fff1d2;
  --pc-lilac:#e8e1ff;
  --pc-mint:#ddf5eb;
  --pc-coral:#ffe2dc;
  --pc-yellow:#fff3bd;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.gggpc-body{
  min-height:100vh;background:#e9eef2;color:var(--pc-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.gggpc-shell{padding:20px}
.gggpc-toolbar{
  width:min(1100px,calc(100% - 20px));margin:0 auto 14px;
  display:flex;justify-content:space-between;align-items:center;gap:10px;
}
.gggpc-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.gggpc-toolbar a,.gggpc-toolbar button{
  appearance:none;border:1px solid #cfdae1;background:#fff;color:#173f55;
  border-radius:11px;padding:10px 14px;font-weight:850;text-decoration:none;cursor:pointer;
}
.gggpc-toolbar button.primary{background:#173f55;color:#fff;border-color:#173f55}
.gggpc-stage{display:grid;place-items:center;overflow:auto;padding:6px}
.gggpc-card{
  width:148mm;height:105mm;background:#fff;border-radius:7mm;overflow:hidden;
  box-shadow:0 10mm 28mm rgba(24,48,71,.15);position:relative;
  display:grid;grid-template-rows:22mm 1fr 19mm;
}
.gggpc-head{
  display:flex;justify-content:space-between;align-items:center;gap:5mm;
  padding:5mm 6mm 3.5mm;border-bottom:1px solid #e6edf1;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbfd 60%,#fff8ea 100%);
}
.gggpc-house{min-width:0}
.gggpc-house small{display:block;font-size:5.6pt;letter-spacing:.18em;font-weight:900;color:#4f85a4}
.gggpc-house h1{margin:.5mm 0 0;font-size:20pt;line-height:.94;letter-spacing:-.035em;color:#123d62}
.gggpc-house p{margin:.9mm 0 0;font-size:6.4pt;color:#637786;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90mm}
.gggpc-welcome{text-align:right;flex:0 0 auto}
.gggpc-welcome b{display:block;font-family:"Brush Script MT",cursive;font-size:15pt;line-height:1;color:#2377a4}
.gggpc-welcome span{display:block;margin-top:.9mm;font-size:5.2pt;font-weight:800;color:#8a6c3b}
.gggpc-main{
  display:grid;grid-template-columns:minmax(0,1fr) 38mm;gap:3mm;padding:3.6mm 4.5mm 2.6mm;
}
.gggpc-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2.8mm;min-width:0;
}
.gggpc-tile{
  border:1px solid var(--pc-line);border-radius:4.2mm;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  min-width:0;padding:2.2mm 1.8mm;
}
.gggpc-tile:nth-child(1){background:var(--pc-blue)}
.gggpc-tile:nth-child(2){background:var(--pc-sand)}
.gggpc-tile:nth-child(3){background:var(--pc-lilac)}
.gggpc-tile:nth-child(4){background:var(--pc-mint)}
.gggpc-tile:nth-child(5){background:var(--pc-coral)}
.gggpc-tile:nth-child(6){background:var(--pc-yellow)}
.gggpc-tile:nth-child(7){background:#e4f0ff}
.gggpc-tile:nth-child(8){background:#ece8ff}
.gggpc-icon{
  width:9.2mm;height:9.2mm;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.88);font-size:14.5pt;line-height:1;margin-bottom:1.2mm;
  box-shadow:inset 0 0 0 1px rgba(18,61,98,.05);
}
.gggpc-tile strong{
  display:block;font-size:8.6pt;line-height:1.02;color:#103b60;word-break:normal;overflow-wrap:anywhere;
}
.gggpc-tile small{display:block;margin-top:.7mm;font-size:4.9pt;line-height:1.08;color:#557083;font-weight:800}
.gggpc-tile span{display:block;margin-top:.6mm;font-size:4.75pt;line-height:1.08;color:#6c8190;font-weight:700}
.gggpc-tile--wifi{align-items:flex-start;justify-content:flex-start;text-align:left;padding:2.2mm 2mm}
.gggpc-tile--wifi strong{font-size:8.1pt}
.gggpc-tile--wifi small,.gggpc-tile--wifi span{font-size:4.55pt;line-height:1.08;word-break:break-word;overflow-wrap:anywhere}
.gggpc-icon--sm{width:7.8mm;height:7.8mm;font-size:11.5pt;margin-bottom:.9mm}
.gggpc-qr{
  border:1px solid #9fc5dc;border-radius:4.5mm;background:linear-gradient(180deg,#f7fbfe,#edf6fb);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.8mm 2mm;
}
.gggpc-qr h2{margin:0 0 1.5mm;font-size:10.2pt;line-height:1.02;color:#103b60}
.gggpc-qr h2 small{display:block;margin-top:.5mm;font-size:5pt;color:#557083}
.gggpc-qr img{
  width:28mm;height:28mm;background:#fff;padding:1.2mm;border-radius:2.6mm;
  border:1px solid #cfdce5;
}
.gggpc-qr p{margin:1.3mm 0 0;font-size:5.1pt;line-height:1.15;color:#536c7b}
.gggpc-foot{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,50mm) 17mm;align-items:center;gap:2.5mm;
  padding:2.2mm 5mm;background:linear-gradient(135deg,#f8fbfd,#fffaf1);
  border-top:1px solid #e1e8ec;
}
.gggpc-code small{display:block;font-size:5pt;letter-spacing:.11em;font-weight:900;color:#567386}
.gggpc-code b{display:inline-block;margin-top:.2mm;font-size:12.6pt;letter-spacing:.08em;color:#123d62}
.gggpc-code span{display:block;margin-top:.2mm;font-size:5.3pt;color:#58717f}
.gggpc-benefit{text-align:right;max-width:50mm}
.gggpc-benefit strong{display:block;font-size:7.2pt;color:#b15c24}
.gggpc-benefit span{display:block;margin-top:.4mm;font-size:4.9pt;line-height:1.08;color:#617789}
.gggpc-benefit-qr{display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#38586c;gap:.6mm}
.gggpc-benefit-qr img{width:15.5mm;height:15.5mm;background:#fff;padding:.9mm;border-radius:2.1mm;border:1px solid #cfdce5}
.gggpc-benefit-qr span{display:block;font-size:4pt;line-height:1.02;font-weight:800;text-align:center;color:#5c7382}
.gggpc-demo-badge{
  position:absolute;right:4mm;top:4mm;padding:1mm 2mm;border-radius:999px;
  background:#173f55;color:#fff;font-size:4.6pt;font-weight:900;letter-spacing:.08em;
}
@media(max-width:800px){
  .gggpc-shell{padding:8px}.gggpc-toolbar{width:100%;align-items:stretch;flex-direction:column}
  .gggpc-toolbar>div{display:grid;grid-template-columns:1fr}.gggpc-toolbar a,.gggpc-toolbar button{text-align:center}
  .gggpc-stage{display:block;overflow:auto;padding:0}
  .gggpc-card{transform-origin:top left}
}
@media print{
  @page{size:A6 landscape;margin:0}
  html,body.gggpc-body{width:148mm!important;height:105mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:hidden!important}
  body.gggpc-body *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  .gggpc-shell{width:148mm!important;height:105mm!important;padding:0!important;margin:0!important}
  .gggpc-toolbar,.no-print{display:none!important}
  .gggpc-stage{width:148mm!important;height:105mm!important;padding:0!important;margin:0!important;overflow:hidden!important;display:block!important}
  .gggpc-card{width:148mm!important;height:105mm!important;margin:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important}
}


/* 5.1.41 - Pagina Cartolina completa come Roadmap */
.gggpc-shell{
  padding:18px 20px 34px;
}

/* Barra lingua GTranslate */
.gggpc-body .ggg515-language-bar{
  width:min(1100px,calc(100% - 20px));
  margin:0 auto 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  background:#fff;
  border:1px solid #d6e1e8;
  border-radius:16px;
  box-shadow:0 8px 22px rgba(24,48,71,.06);
}
.gggpc-body .ggg515-language-copy{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.gggpc-body .ggg515-language-globe{
  display:grid;
  place-items:center;
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  background:#eaf5fb;
  font-size:19px;
}
.gggpc-body .ggg515-language-copy strong{
  display:block;
  font-size:14px;
  line-height:1.18;
  color:#153f5c;
}
.gggpc-body .ggg515-language-copy small{
  display:block;
  margin-top:2px;
  font-size:11px;
  line-height:1.2;
  color:#687f8e;
  font-weight:700;
}
.gggpc-body .ggg515-language-widget{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-width:120px;
}
.gggpc-body .ggg515-language-widget img{max-width:none!important}
.gggpc-body .ggg515-language-widget select{max-width:220px}

/* Toolbar */
.gggpc-toolbar{
  background:rgba(255,255,255,.96);
  border:1px solid #d5e0e7;
  border-radius:16px;
  padding:9px;
  box-shadow:0 8px 22px rgba(24,48,71,.06);
}
.gggpc-toolbar-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.gggpc-toolbar .gggpc-current{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  padding:10px 14px;
  font-weight:900;
  background:#e8e2ff;
  color:#584595;
  border:1px solid #cfc5ef;
}
.gggpc-toolbar .primary{
  box-shadow:0 7px 16px rgba(23,63,85,.16);
}
.gggpc-back{white-space:nowrap}

/* Intro */
.gggpc-intro{
  width:min(1100px,calc(100% - 20px));
  margin:0 auto 16px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:18px 20px;
  background:linear-gradient(135deg,#f7fbfd,#fffaf1);
  border:1px solid #d7e2e8;
  border-radius:20px;
}
.gggpc-intro-kicker{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  letter-spacing:.15em;
  font-weight:950;
  color:#2b789c;
}
.gggpc-intro h2{
  margin:0;
  color:#123d62;
  font-size:24px;
  line-height:1.05;
}
.gggpc-intro p{
  max-width:700px;
  margin:7px 0 0;
  color:#5c7281;
  font-size:14px;
  line-height:1.45;
}
.gggpc-intro-badges{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:310px;
}
.gggpc-intro-badges span{
  display:inline-flex;
  align-items:center;
  background:#fff;
  border:1px solid #d7e2e8;
  border-radius:999px;
  padding:7px 10px;
  color:#35576c;
  font-size:12px;
  font-weight:800;
}

/* Preview più elegante */
.gggpc-stage{
  width:min(1100px,100%);
  margin:0 auto;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(135deg,#dde6ec,#eef2f5);
  border:1px solid #d2dde4;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.gggpc-card{
  box-shadow:0 8mm 22mm rgba(24,48,71,.18);
}

/* CTA demo */
.gggpc-demo-cta{
  width:min(1100px,calc(100% - 20px));
  margin:18px auto 0;
  padding:24px;
  text-align:center;
  background:#fff;
  border:1px solid #d7e2e8;
  border-radius:22px;
  box-shadow:0 10px 28px rgba(24,48,71,.06);
}
.gggpc-demo-cta>span{
  display:block;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:950;
  color:#2d789c;
}
.gggpc-demo-cta h2{
  margin:6px 0 7px;
  color:#123d62;
  font-size:27px;
  line-height:1.05;
}
.gggpc-demo-cta p{
  margin:0 auto 15px;
  max-width:680px;
  color:#617789;
  font-size:14px;
  line-height:1.45;
}
.gggpc-demo-cta>div{
  display:flex;
  justify-content:center;
  gap:9px;
  flex-wrap:wrap;
}
.gggpc-demo-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border-radius:12px;
  background:#173f55;
  color:#fff;
  text-decoration:none;
  font-weight:900;
}
.gggpc-demo-cta a.secondary{
  background:#edf4f8;
  color:#214d66;
}

/* Toast condivisione */
.gggpc-toast{
  position:fixed;
  left:50%;
  bottom:24px;
  transform:translate(-50%,15px);
  background:#123d62;
  color:#fff;
  border-radius:999px;
  padding:9px 14px;
  font-size:13px;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
  z-index:99999;
}
.gggpc-toast.show{
  opacity:1;
  transform:translate(-50%,0);
}

@media(max-width:800px){
  .gggpc-body .ggg515-language-bar{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
  }
  .gggpc-body .ggg515-language-widget{
    justify-content:flex-start;
    min-width:0;
  }
  .gggpc-toolbar-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  .gggpc-toolbar .gggpc-current{
    width:100%;
  }
  .gggpc-intro{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
  }
  .gggpc-intro-badges{
    justify-content:flex-start;
    max-width:none;
  }
  .gggpc-stage{
    padding:10px;
  }
  .gggpc-demo-cta{
    width:100%;
  }
  .gggpc-foot{
    grid-template-columns:1fr;
    justify-items:start;
  }
  .gggpc-benefit, .gggpc-benefit-qr{
    text-align:left;
    justify-self:start;
  }
}


@media print{
  .gggpc-body .ggg515-language-bar,
  .gggpc-intro,
  .gggpc-demo-cta,
  .gggpc-toast{
    display:none!important;
  }
}

.gggpc-icon svg{width:80%;height:80%;display:block}
.gggpc-icon--sm{width:8.8mm;height:8.8mm;font-size:0;margin-bottom:.9mm}
.gggpc-icon--sm svg{width:82%;height:82%}
.gggpc-tile--wifi strong{font-size:8.5pt}
.gggpc-tile--wifi small,.gggpc-tile--wifi span{font-size:5.2pt;line-height:1.16;word-break:break-word;overflow-wrap:anywhere;font-weight:800}
.gggpc-tile--map{justify-content:flex-start;padding:2mm 1.8mm 1.8mm}
.gggpc-tile--map .gggpc-mapthumb{margin-top:1mm;width:100%;flex:1;min-height:18mm;border:1px solid rgba(18,61,98,.12);border-radius:2.6mm;overflow:hidden;background:#dfeaf1}
.gggpc-tile--map .gggpc-mapthumb img{display:block;width:100%;height:100%;object-fit:cover}


/* 5.1.47 - Cartolina fix quadranti, footer e mappa */
.gggpc-card{grid-template-rows:22mm minmax(0,1fr) 17mm}
.gggpc-main{display:grid;grid-template-columns:minmax(0,1fr) 34mm;gap:2.6mm;padding:3.1mm 4mm 2mm;min-height:0;height:100%;align-items:stretch}
.gggpc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2.35mm;min-width:0;min-height:0;height:100%}
.gggpc-tile{padding:1.7mm 1.5mm;overflow:hidden}
.gggpc-icon{width:8.5mm;height:8.5mm;margin-bottom:.8mm;background:rgba(255,255,255,.94)}
.gggpc-icon svg{width:84%;height:84%;display:block}
.gggpc-icon--sm{width:7.6mm;height:7.6mm;margin-bottom:.7mm}
.gggpc-icon--sm svg{width:84%;height:84%}
.gggpc-tile strong{font-size:7.8pt;line-height:1.02}
.gggpc-tile small{margin-top:.55mm;font-size:4.55pt;line-height:1.08}
.gggpc-tile span{margin-top:.45mm;font-size:4.35pt;line-height:1.05}
.gggpc-tile--wifi{padding:1.8mm 1.55mm;text-align:left;align-items:flex-start;justify-content:flex-start}
.gggpc-tile--wifi strong{font-size:7.8pt}
.gggpc-tile--wifi small,.gggpc-tile--wifi span{font-size:4.45pt;line-height:1.05;font-weight:800;word-break:break-word;overflow-wrap:anywhere}
.gggpc-tile--map{justify-content:flex-start;padding:1.6mm 1.45mm 1.45mm}
.gggpc-tile--map .gggpc-mapthumb{margin-top:.7mm;width:100%;flex:1;min-height:14.8mm;border:1px solid rgba(18,61,98,.12);border-radius:2.3mm;overflow:hidden;background-color:#dfeaf1;background-position:center;background-size:cover;background-repeat:no-repeat}
.gggpc-qr{padding:2.2mm 1.65mm}
.gggpc-qr h2{margin:0 0 1.1mm;font-size:9.4pt;line-height:1}
.gggpc-qr h2 small{margin-top:.4mm;font-size:4.75pt}
.gggpc-qr img{width:24.8mm;height:24.8mm;padding:1mm}
.gggpc-qr p{margin:1mm 0 0;font-size:4.6pt;line-height:1.08}
.gggpc-foot{grid-template-columns:minmax(0,1fr) minmax(0,48mm) 16mm;gap:2.2mm;padding:1.8mm 4.2mm}
.gggpc-code small{font-size:4.7pt}.gggpc-code b{font-size:11.6pt}.gggpc-code span{font-size:4.8pt}
.gggpc-benefit{max-width:48mm}.gggpc-benefit strong{font-size:6.6pt}.gggpc-benefit span{font-size:4.55pt;line-height:1.05}
.gggpc-benefit-qr img{width:14.4mm;height:14.4mm}.gggpc-benefit-qr span{font-size:3.8pt}
@media print{
  .gggpc-card{width:148mm!important;height:105mm!important;grid-template-rows:22mm minmax(0,1fr) 17mm!important}
  .gggpc-main{grid-template-columns:minmax(0,1fr) 34mm!important;gap:2.6mm!important;padding:3.1mm 4mm 2mm!important;height:100%!important;min-height:0!important}
  .gggpc-grid{gap:2.35mm!important;height:100%!important;min-height:0!important}
  .gggpc-foot{grid-template-columns:minmax(0,1fr) minmax(0,48mm) 16mm!important;padding:1.8mm 4.2mm!important}
}


/* 5.1.49 - icone centrali in alto + mappa diretta nel quadrante */
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map){
  justify-content:flex-start!important;
  padding-top:1.7mm!important;
}
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map) .gggpc-icon{
  align-self:center!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.gggpc-tile--wifi{
  align-items:flex-start!important;
  text-align:left!important;
}
.gggpc-tile--wifi .gggpc-icon{
  align-self:center!important;
}
.gggpc-tile--map{
  display:block!important;
  padding:0!important;
  overflow:hidden!important;
  background:#dfeaf1!important;
}
.gggpc-mapframe{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  margin:0!important;
  background:#dfeaf1!important;
}
.gggpc-mapfallback{
  width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1mm;
  color:#35576c;font-weight:800;text-align:center;font-size:11pt;padding:2mm;
}
.gggpc-mapfallback span{font-size:4.8pt;line-height:1.15;margin:0}
@media print{
  .gggpc-tile--map{padding:0!important;overflow:hidden!important}
  .gggpc-mapframe{width:100%!important;height:100%!important;border:0!important}
}


/* 5.1.50 - cartolina finale: mappa pulita + testi più grandi */
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map) strong{
  font-size:9.1pt!important;
  line-height:1.02!important;
}
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map) small{
  font-size:5.25pt!important;
  line-height:1.1!important;
  font-weight:850!important;
}
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map)>span:not(.gggpc-icon){
  font-size:5.05pt!important;
  line-height:1.08!important;
  font-weight:750!important;
}
.gggpc-tile--wifi small,.gggpc-tile--wifi>span:not(.gggpc-icon){
  font-size:4.95pt!important;
  line-height:1.08!important;
  font-weight:850!important;
}
.gggpc-tile--map{position:relative!important;padding:0!important;overflow:hidden!important;background:#dfeaf1!important}
.gggpc-mapclean{position:absolute;inset:0;overflow:hidden;background:#dfeaf1}
.gggpc-mapclean img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transform-origin:center}
.gggpc-map-pin{
  position:absolute;z-index:2;width:7.2mm;height:7.2mm;transform:translate(-50%,-88%);
  border-radius:50% 50% 50% 0;background:#ef4444;border:1.2mm solid #fff;
  box-shadow:0 1mm 2.4mm rgba(30,41,59,.28);rotate:-45deg;
}
.gggpc-map-pin:after{content:"";position:absolute;width:2.2mm;height:2.2mm;border-radius:50%;background:#fff;left:50%;top:50%;transform:translate(-50%,-50%)}
.gggpc-mapframe{display:none!important}
@media print{
  .gggpc-mapclean img{transform:scale(1.04)!important}
}


/* ==========================================================
 * 5.1.52 - CARTOLINA: CENTRATURA OTTICA ICONE
 * Non modifica dimensioni A6, quadranti, footer, QR o mappa.
 * ========================================================== */
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map) .gggpc-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  place-items:unset!important;
  line-height:0!important;
  padding:0!important;
  text-align:center!important;
  overflow:hidden!important;
}

.gggpc-grid .gggpc-tile:not(.gggpc-tile--map) .gggpc-icon svg{
  display:block!important;
  width:84%!important;
  height:84%!important;
  max-width:none!important;
  max-height:none!important;
  margin:auto!important;
  position:static!important;
  inset:auto!important;
  transform-origin:50% 50%!important;
}

/* Wi-Fi: leggerissimo riallineamento ottico verso il centro */
.gggpc-grid .gggpc-tile:nth-child(1) .gggpc-icon svg{
  transform:translateY(.10mm)!important;
}

/* Check-in: porta e freccia hanno massa grafica a destra */
.gggpc-grid .gggpc-tile:nth-child(2) .gggpc-icon svg{
  transform:translateX(.12mm)!important;
}

/* Check-out */
.gggpc-grid .gggpc-tile:nth-child(3) .gggpc-icon svg{
  transform:translateX(-.04mm)!important;
}

/* No fumo */
.gggpc-grid .gggpc-tile:nth-child(4) .gggpc-icon svg{
  transform:translateY(.03mm)!important;
}

/* Emergenze: croce perfettamente centrata nel cerchio */
.gggpc-grid .gggpc-tile:nth-child(5) .gggpc-icon svg{
  transform:translate(0,.02mm)!important;
}

/* Mantiene le icone centrate anche nella stampa A6/PDF */
@media print{
  .gggpc-grid .gggpc-tile:not(.gggpc-tile--map) .gggpc-icon{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:0!important;
  }
  .gggpc-grid .gggpc-tile:not(.gggpc-tile--map) .gggpc-icon svg{
    margin:auto!important;
  }
}


/* ==========================================================
 * 5.1.54 - CARTOLINA BILINGUE ITALIANO / INGLESE
 * Mantiene invariati dimensioni A6, quadranti, mappa, QR e footer.
 * ========================================================== */
.gggpc-house-en{
  display:block;
  margin-top:.45mm;
  font-size:5.1pt;
  line-height:1;
  font-weight:850;
  letter-spacing:.04em;
  color:#4f7184;
}
.gggpc-house-en + p{margin-top:.55mm!important}

.gggpc-grid .gggpc-enline,
.gggpc-grid .gggpc-heading-en{
  display:block!important;
  margin-top:.28mm!important;
  color:#5c7484!important;
  font-size:4.55pt!important;
  line-height:1.02!important;
  font-weight:800!important;
  font-style:normal!important;
}
.gggpc-grid .gggpc-heading-en{
  margin-top:.35mm!important;
  font-size:4.7pt!important;
}
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map)>span:not(.gggpc-icon):not(.gggpc-enline):not(.gggpc-heading-en){
  font-size:4.55pt!important;
  line-height:1.04!important;
}
.gggpc-grid .gggpc-tile:not(.gggpc-tile--map) small{
  font-size:4.9pt!important;
  line-height:1.06!important;
}
.gggpc-tile--wifi small,
.gggpc-tile--wifi>span:not(.gggpc-icon){
  font-size:4.72pt!important;
  line-height:1.05!important;
}
.gggpc-benefit-en{
  display:block;
  margin-top:.25mm;
  color:#8a6049;
  font-size:4.45pt;
  line-height:1.02;
  font-weight:800;
}
.gggpc-benefit span em,
.gggpc-code span em{
  font-style:normal;
  color:#6b7f8c;
  font-size:4.2pt;
  line-height:1.02;
}
.gggpc-benefit-qr span{
  font-size:3.65pt!important;
  line-height:1.02!important;
}
@media print{
  .gggpc-house-en{font-size:5.1pt!important}
  .gggpc-grid .gggpc-enline,
  .gggpc-grid .gggpc-heading-en{font-size:4.55pt!important;line-height:1.02!important}
  .gggpc-benefit-en{font-size:4.45pt!important}
}


/* ==========================================================
 * 5.1.55 - CARTOLINA A5 LANDSCAPE
 * Mantiene esattamente struttura/proporzioni A6, ingrandita a A5.
 * La cartolina A6 usa ancora postcard.css e non viene modificata.
 * ========================================================== */
body.gggpc-a5-body .gggpc-card{
  width:210mm;height:148mm;
  grid-template-rows:31mm minmax(0,1fr) 24mm;
  border-radius:8mm;
}
body.gggpc-a5-body .gggpc-head{
  gap:7mm;padding:7mm 8.5mm 5mm;
}
body.gggpc-a5-body .gggpc-house small{font-size:7.7pt}
body.gggpc-a5-body .gggpc-house h1{font-size:28pt}
body.gggpc-a5-body .gggpc-house-en{font-size:7.2pt;margin-top:.65mm}
body.gggpc-a5-body .gggpc-house p{font-size:8.8pt;max-width:128mm;margin-top:1.2mm}
body.gggpc-a5-body .gggpc-welcome b{font-size:21pt}
body.gggpc-a5-body .gggpc-welcome span{font-size:7.2pt;margin-top:1.2mm}

body.gggpc-a5-body .gggpc-main{
  grid-template-columns:minmax(0,1fr) 48mm;
  gap:3.7mm;padding:4.4mm 5.7mm 2.8mm;
}
body.gggpc-a5-body .gggpc-grid{gap:3.3mm}
body.gggpc-a5-body .gggpc-grid .gggpc-tile:not(.gggpc-tile--map){
  padding:2.4mm 2.1mm!important;padding-top:2.4mm!important;
  border-radius:5.8mm;
}
body.gggpc-a5-body .gggpc-icon{
  width:12mm;height:12mm;margin-bottom:1.15mm;
}
body.gggpc-a5-body .gggpc-icon--sm{width:10.8mm;height:10.8mm;margin-bottom:1.05mm}
body.gggpc-a5-body .gggpc-grid .gggpc-tile:not(.gggpc-tile--map) strong{
  font-size:12.6pt!important;line-height:1.02!important;
}
body.gggpc-a5-body .gggpc-grid .gggpc-tile:not(.gggpc-tile--map) small{
  font-size:6.75pt!important;line-height:1.08!important;
}
body.gggpc-a5-body .gggpc-grid .gggpc-enline,
body.gggpc-a5-body .gggpc-grid .gggpc-heading-en{
  font-size:6.35pt!important;line-height:1.05!important;margin-top:.42mm!important;
}
body.gggpc-a5-body .gggpc-grid .gggpc-tile:not(.gggpc-tile--map)>span:not(.gggpc-icon):not(.gggpc-enline):not(.gggpc-heading-en){
  font-size:6.25pt!important;line-height:1.07!important;
}
body.gggpc-a5-body .gggpc-tile--wifi{padding:2.5mm 2.3mm!important}
body.gggpc-a5-body .gggpc-tile--wifi small,
body.gggpc-a5-body .gggpc-tile--wifi>span:not(.gggpc-icon){
  font-size:6.5pt!important;line-height:1.08!important;
}
body.gggpc-a5-body .gggpc-tile--map{border-radius:5.8mm!important}
body.gggpc-a5-body .gggpc-map-pin{
  width:10mm;height:10mm;border-width:1.6mm;
}
body.gggpc-a5-body .gggpc-map-pin:after{width:3mm;height:3mm}

body.gggpc-a5-body .gggpc-qr{
  border-radius:5.8mm;padding:3.1mm 2.3mm;
}
body.gggpc-a5-body .gggpc-qr h2{font-size:13.2pt;margin-bottom:1.5mm}
body.gggpc-a5-body .gggpc-qr h2 small{font-size:6.6pt;margin-top:.55mm}
body.gggpc-a5-body .gggpc-qr img{width:35mm;height:35mm;padding:1.4mm;border-radius:3.3mm}
body.gggpc-a5-body .gggpc-qr p{font-size:6.4pt;line-height:1.12;margin-top:1.4mm}

body.gggpc-a5-body .gggpc-foot{
  grid-template-columns:minmax(0,1fr) minmax(0,68mm) 23mm;
  gap:3.1mm;padding:2.55mm 6mm;
}
body.gggpc-a5-body .gggpc-code small{font-size:6.5pt}
body.gggpc-a5-body .gggpc-code b{font-size:16.3pt}
body.gggpc-a5-body .gggpc-code span{font-size:6.6pt}
body.gggpc-a5-body .gggpc-benefit{max-width:68mm}
body.gggpc-a5-body .gggpc-benefit strong{font-size:9.2pt}
body.gggpc-a5-body .gggpc-benefit-en{font-size:6.25pt}
body.gggpc-a5-body .gggpc-benefit span{font-size:6.25pt;line-height:1.07}
body.gggpc-a5-body .gggpc-benefit span em{font-size:5.9pt}
body.gggpc-a5-body .gggpc-benefit-qr img{width:20.5mm;height:20.5mm;padding:1.2mm}
body.gggpc-a5-body .gggpc-benefit-qr span{font-size:5.1pt!important}

@media print{
  @page{size:A5 landscape;margin:0}
  html,body.gggpc-a5-body{
    width:210mm!important;height:148mm!important;margin:0!important;padding:0!important;
    background:#fff!important;overflow:hidden!important;
  }
  body.gggpc-a5-body .gggpc-shell{
    width:210mm!important;height:148mm!important;padding:0!important;margin:0!important;
  }
  body.gggpc-a5-body .gggpc-stage{
    width:210mm!important;height:148mm!important;padding:0!important;margin:0!important;overflow:hidden!important;display:block!important;
  }
  body.gggpc-a5-body .gggpc-card{
    width:210mm!important;height:148mm!important;margin:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;
    grid-template-rows:31mm minmax(0,1fr) 24mm!important;
  }
  body.gggpc-a5-body .gggpc-main{
    grid-template-columns:minmax(0,1fr) 48mm!important;
    gap:3.7mm!important;padding:4.4mm 5.7mm 2.8mm!important;height:100%!important;min-height:0!important;
  }
  body.gggpc-a5-body .gggpc-grid{gap:3.3mm!important;height:100%!important;min-height:0!important}
  body.gggpc-a5-body .gggpc-foot{
    grid-template-columns:minmax(0,1fr) minmax(0,68mm) 23mm!important;
    gap:3.1mm!important;padding:2.55mm 6mm!important;
  }
}


/* 5.1.56 - A5: footer Guest Card più leggibile; QR invariato */
body.gggpc-a5-body .gggpc-benefit{max-width:72mm!important}
body.gggpc-a5-body .gggpc-benefit strong{font-size:11.4pt!important;line-height:1.02!important}
body.gggpc-a5-body .gggpc-benefit-en{display:block!important;margin-top:.5mm!important;font-size:8pt!important;line-height:1.04!important;font-weight:800!important}
body.gggpc-a5-body .gggpc-benefit span{font-size:7.35pt!important;line-height:1.12!important;margin-top:.7mm!important}
body.gggpc-a5-body .gggpc-benefit span em{font-size:6.9pt!important;line-height:1.1!important}
body.gggpc-a5-body .gggpc-foot{grid-template-columns:minmax(0,1fr) minmax(0,72mm) 23mm!important;gap:3.1mm!important}
@media print{
  body.gggpc-a5-body .gggpc-benefit strong{font-size:11.4pt!important}
  body.gggpc-a5-body .gggpc-benefit-en{font-size:8pt!important}
  body.gggpc-a5-body .gggpc-benefit span{font-size:7.35pt!important}
  body.gggpc-a5-body .gggpc-benefit span em{font-size:6.9pt!important}
  body.gggpc-a5-body .gggpc-foot{grid-template-columns:minmax(0,1fr) minmax(0,72mm) 23mm!important}
}

/* 5.1.58 - A5: testo benefit rientra correttamente nel footer senza uscire sotto */
body.gggpc-a5-body .gggpc-benefit{
  max-width:70mm!important;
  align-self:center!important;
}
body.gggpc-a5-body .gggpc-benefit strong{
  font-size:10.3pt!important;
  line-height:1.02!important;
}
body.gggpc-a5-body .gggpc-benefit-en{
  display:block!important;
  margin-top:.35mm!important;
  font-size:7.15pt!important;
  line-height:1.02!important;
  font-weight:800!important;
}
body.gggpc-a5-body .gggpc-benefit span{
  font-size:6.55pt!important;
  line-height:1.08!important;
  margin-top:.45mm!important;
}
body.gggpc-a5-body .gggpc-benefit span em{
  font-size:6.1pt!important;
  line-height:1.06!important;
}
body.gggpc-a5-body .gggpc-foot{
  grid-template-columns:minmax(0,1fr) minmax(0,70mm) 23mm!important;
  align-items:center!important;
}
@media print{
  body.gggpc-a5-body .gggpc-benefit strong{font-size:10.3pt!important;line-height:1.02!important}
  body.gggpc-a5-body .gggpc-benefit-en{font-size:7.15pt!important;line-height:1.02!important}
  body.gggpc-a5-body .gggpc-benefit span{font-size:6.55pt!important;line-height:1.08!important}
  body.gggpc-a5-body .gggpc-benefit span em{font-size:6.1pt!important;line-height:1.06!important}
  body.gggpc-a5-body .gggpc-foot{grid-template-columns:minmax(0,1fr) minmax(0,70mm) 23mm!important;align-items:center!important}
}

/* 5.1.59 - A5: alza il blocco Sconti/Omaggi di qualche mm dal bordo inferiore */
body.gggpc-a5-body .gggpc-foot{
  box-sizing:border-box!important;
  padding:1.8mm 6mm 4.8mm!important;
  align-items:center!important;
}
body.gggpc-a5-body .gggpc-benefit,
body.gggpc-a5-body .gggpc-code,
body.gggpc-a5-body .gggpc-benefit-qr{
  align-self:center!important;
}
@media print{
  body.gggpc-a5-body .gggpc-foot{
    box-sizing:border-box!important;
    padding:1.8mm 6mm 4.8mm!important;
    align-items:center!important;
  }
}

/* 5.1.60 - A5: vero distacco del testo benefit dal bordo inferiore */
body.gggpc-a5-body .gggpc-card{
  grid-template-rows:31mm minmax(0,1fr) 25.8mm!important;
}
body.gggpc-a5-body .gggpc-foot{
  box-sizing:border-box!important;
  min-height:25.8mm!important;
  grid-template-columns:minmax(0,1fr) minmax(0,70mm) 23mm!important;
  align-items:center!important;
  padding:1.8mm 6mm 5.8mm!important;
  gap:3.1mm!important;
}
body.gggpc-a5-body .gggpc-benefit{
  max-width:70mm!important;
  align-self:center!important;
  transform:translateY(-1.4mm)!important;
}
body.gggpc-a5-body .gggpc-benefit strong,
body.gggpc-a5-body .gggpc-benefit-en,
body.gggpc-a5-body .gggpc-benefit span,
body.gggpc-a5-body .gggpc-benefit span em{
  margin-bottom:0!important;
}
body.gggpc-a5-body .gggpc-benefit-qr{
  align-self:center!important;
  transform:translateY(-.6mm)!important;
}
@media print{
  body.gggpc-a5-body .gggpc-card{
    grid-template-rows:31mm minmax(0,1fr) 25.8mm!important;
  }
  body.gggpc-a5-body .gggpc-foot{
    min-height:25.8mm!important;
    grid-template-columns:minmax(0,1fr) minmax(0,70mm) 23mm!important;
    align-items:center!important;
    padding:1.8mm 6mm 5.8mm!important;
    gap:3.1mm!important;
  }
  body.gggpc-a5-body .gggpc-benefit{
    transform:translateY(-1.4mm)!important;
  }
  body.gggpc-a5-body .gggpc-benefit-qr{
    transform:translateY(-.6mm)!important;
  }
}


/* 5.1.62 - QR Guest Card senza didascalia sotto */
.gggpc-benefit-qr{gap:0!important;}
.gggpc-benefit-qr>span{display:none!important;}
