.gs-magazine-cta{margin:1.6rem 0;padding:1.15rem 1.25rem;border-radius:16px;line-height:1.55}.gs-magazine-cta p{margin:0}.gs-magazine-cta--soft{background:#f5f2ea;border-left:4px solid #d5a84b}.gs-magazine-cta--primary{background:#173d62;color:#fff;box-shadow:0 10px 26px rgba(23,61,98,.18)}.gs-magazine-cta--primary strong,.gs-magazine-cta--primary a{color:#fff}@media(max-width:640px){.gs-magazine-cta{padding:1rem;border-radius:13px}}

/* CTA editoriale personalizzata: apre la chat contestuale di Giulia. */
.gs-article-cta-button{
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  box-sizing:border-box;
  gap:20px;
  width:min(100%,360px);
  max-width:100%;
  min-height:72px;
  margin:1.65rem 0 .9rem;
  padding:10px 11px 10px 19px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:linear-gradient(135deg,#0b2f50 0%,#174f78 100%);
  color:#fff;
  box-shadow:0 12px 26px rgba(11,47,80,.18);
  font:inherit;
  text-align:left;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.gs-article-cta-button:hover{
  background:linear-gradient(135deg,#123d63 0%,#1a608f 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(11,47,80,.28);
  transform:translateY(-2px);
}
.gs-article-cta-button:focus-visible{
  outline:3px solid rgba(216,166,60,.48);
  outline-offset:3px;
}
.gs-article-cta-copy{
  display:grid;
  min-width:0;
  gap:3px;
}
.gs-article-cta-kicker{
  color:rgba(255,255,255,.72);
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.11em;
  line-height:1.2;
  text-transform:uppercase;
}
.gs-article-cta-label{
  min-width:0;
  color:#fff;
  font-size:1.08rem;
  font-weight:850;
  letter-spacing:-.01em;
  line-height:1.2;
}
.gs-article-cta-icon{
  display:grid;
  flex:0 0 42px;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:#d8a63c;
  color:#0b2f50;
  font-size:1.25rem;
  line-height:1;
  transition:transform .18s ease;
}
.gs-article-cta-button:hover .gs-article-cta-icon{transform:translateX(2px)}
@media(prefers-reduced-motion:reduce){.gs-article-cta-button,.gs-article-cta-icon{transition:none}.gs-article-cta-button:hover{transform:none}}
@media(max-width:640px){
  .gs-article-cta-button{width:min(100%,340px);min-height:68px;padding-left:17px}
  .gs-article-cta-label{font-size:1rem}
  .gs-article-cta-icon{flex-basis:40px;width:40px;height:40px}
}


/* Scheda Crociere Salotto — layout pubblico originale */
.gs-cruise-offer{--gs-cruise-ink:#0b2f50;--gs-cruise-gold:#d8a63c;--gs-cruise-sand:#fbf7ef;--gs-cruise-sea:#eaf4f8;--gs-cruise-line:#dbe5eb;color:var(--gs-cruise-ink);display:grid;gap:30px;margin:24px 0;font-family:inherit}
.gs-cruise-offer *{box-sizing:border-box}
.gs-cruise-overview{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);gap:24px;align-items:stretch}
.gs-cruise-overview-main,.gs-cruise-price-card,.gs-cruise-benefit-card,.gs-cruise-faq-item,.gs-cruise-consultation{border:1px solid var(--gs-cruise-line);border-radius:24px;background:#fff;box-shadow:0 12px 35px rgba(11,47,80,.06)}
.gs-cruise-overview-main{padding:28px}.gs-cruise-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:#9a6a17}.gs-cruise-route{font-size:clamp(1.55rem,3vw,2.4rem);line-height:1.08;font-weight:800;margin:0 0 8px}.gs-cruise-route-meta{margin:0;color:#5f7282;font-size:1rem}
.gs-cruise-badges{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.gs-cruise-badges span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#fff4d9;border:1px solid #efd18a;font-size:.82rem;font-weight:750;color:#714b08}
.gs-cruise-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 0}.gs-cruise-facts div{padding:13px 14px;border-radius:15px;background:#f3f7fa}.gs-cruise-facts dt{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;color:#6d7e8b}.gs-cruise-facts dd{margin:5px 0 0;font-weight:750;line-height:1.25}
.gs-cruise-price-card{padding:28px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#0b2f50,#164c73);color:#fff}.gs-cruise-price-label{text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:#f1d38f}.gs-cruise-price{font-size:clamp(2rem,4vw,3.3rem);line-height:1;margin:12px 0}.gs-cruise-price-meta{font-weight:700}.gs-cruise-price-secondary{margin-top:10px;font-size:.92rem}.gs-cruise-price-note{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.24);line-height:1.4;color:#dcebf4}
.gs-cruise-benefits h2,.gs-cruise-itinerary-section h2,.gs-cruise-faq h2{font-size:clamp(1.35rem,2.3vw,1.9rem);margin:0 0 16px}.gs-cruise-benefit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.gs-cruise-benefit-card{padding:22px}.gs-cruise-benefit-card-muted{background:var(--gs-cruise-sand)}.gs-cruise-benefit-card h3{margin:0 0 12px}.gs-cruise-benefit-card ul{margin:0;padding-left:20px}.gs-cruise-benefit-card li+li{margin-top:7px}
.gs-cruise-timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px;position:relative}.gs-cruise-timeline:before{content:"";position:absolute;left:106px;top:16px;bottom:16px;width:2px;background:var(--gs-cruise-line)}.gs-cruise-stop{display:grid;grid-template-columns:92px minmax(0,1fr);gap:28px;position:relative}.gs-cruise-stop:before{content:"";position:absolute;left:99px;top:27px;width:16px;height:16px;border-radius:50%;background:var(--gs-cruise-gold);border:4px solid #fff;box-shadow:0 0 0 2px var(--gs-cruise-line)}.gs-cruise-stop-sea_destination:before{background:#1b6f91}.gs-cruise-stop-navigation:before{background:#8796a1}.gs-cruise-stop-when{padding-top:20px;text-align:right;display:flex;flex-direction:column;font-size:.82rem;color:#607686}.gs-cruise-stop-content{padding:18px 20px;border-radius:20px;background:var(--gs-cruise-sand);min-height:78px}.gs-cruise-stop-sea_destination .gs-cruise-stop-content{background:var(--gs-cruise-sea)}.gs-cruise-stop-navigation .gs-cruise-stop-content{background:#f0f3f5}.gs-cruise-stop-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#607686}.gs-cruise-stop-content h3{margin:5px 0 4px;font-size:1.1rem}.gs-cruise-stop-content p{margin:7px 0 0}.gs-cruise-stop-time{font-size:.88rem;color:#526b7c}
.gs-cruise-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gs-cruise-faq-item{padding:20px}.gs-cruise-faq-item h3{margin:0 0 9px;font-size:1rem}.gs-cruise-faq-item p{margin:0;color:#536a7a}
.gs-cruise-consultation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;padding:26px;background:linear-gradient(135deg,#fff8e7,#fff)}.gs-cruise-consultation h2{margin:0 0 8px}.gs-cruise-consultation p{margin:0;color:#526b7c}.gs-cruise-consultation-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.gs-cruise-consultation-actions strong{display:inline-flex;padding:12px 18px;border-radius:999px;background:var(--gs-cruise-gold);color:#132e46}.gs-cruise-consultation-actions span{font-size:.88rem;color:#607686}.gs-cruise-disclaimer{font-size:.82rem;color:#6e7f8b;margin:0}
@media(max-width:820px){.gs-cruise-overview{grid-template-columns:1fr}.gs-cruise-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.gs-cruise-benefit-grid,.gs-cruise-faq-grid{grid-template-columns:1fr}.gs-cruise-consultation{grid-template-columns:1fr}.gs-cruise-consultation-actions{align-items:flex-start}}
@media(max-width:560px){.gs-cruise-overview-main,.gs-cruise-price-card{padding:20px}.gs-cruise-facts{grid-template-columns:1fr}.gs-cruise-timeline:before{left:14px}.gs-cruise-stop{grid-template-columns:1fr;gap:8px;padding-left:34px}.gs-cruise-stop:before{left:7px;top:18px}.gs-cruise-stop-when{text-align:left;padding-top:0;flex-direction:row;gap:8px}.gs-cruise-stop-content{padding:16px}.gs-cruise-route{font-size:1.55rem}}

/* Schede pubbliche Navi Costa */
.gs-ship-public-gallery,.gs-ship-public-docs,.gs-ship-public-offers{margin:2.4rem 0}
.gs-ship-public-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.gs-ship-public-grid figure{margin:0;border-radius:18px;overflow:hidden;background:#f5f2ea}
.gs-ship-public-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.gs-ship-public-grid figcaption{padding:10px 13px;font-size:.9rem;color:#526b7c}
.gs-ship-public-docs ul{display:grid;gap:8px;padding-left:20px}
.gs-ship-offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gs-ship-offer-grid article,.gs-fleet-public-card{padding:20px;border:1px solid #dbe5eb;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(11,47,80,.06)}
.gs-ship-offer-grid h3,.gs-fleet-public-card h2{margin:0 0 9px}
.gs-ship-offer-link{display:inline-flex;margin-top:8px;padding:9px 14px;border-radius:999px;background:#173d62;color:#fff!important;text-decoration:none;font-weight:700}
.gs-fleet-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}
.gs-fleet-public-card{padding:0;overflow:hidden}.gs-fleet-public-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.gs-fleet-public-card>div{padding:20px}
@media(max-width:900px){.gs-ship-offer-grid,.gs-fleet-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gs-ship-public-grid,.gs-ship-offer-grid,.gs-fleet-public-grid{grid-template-columns:1fr}}
