.vvp-ca-tablewrap{overflow-x:auto}
.vvp-ca-table{border-collapse:collapse;width:100%;font-size:.95rem}
.vvp-ca-table th{background:#0066cc;color:#fff;text-align:left;padding:.7rem .8rem;font-weight:600;font-size:.85rem}
.vvp-ca-table td{padding:.75rem .8rem;border-top:1px solid #e3ebf2;vertical-align:top}
.vvp-ca-row--feat{background:#eaf3fc}
.vvp-ca-portname{font-weight:700}
.vvp-ca-flag{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#f28c00;font-weight:700;margin-top:.15rem}
.vvp-ca-chip{display:block;font-weight:600;white-space:nowrap}
.vvp-ca-dur{color:#40566b;font-weight:500;font-variant-numeric:tabular-nums}
.vvp-ca-pill{display:inline-block;font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:999px;white-space:nowrap}
.vvp-ca-pill--yes{background:#e3f4ec;color:#12855a}
.vvp-ca-pill--no{background:#eef1f4;color:#7089a0}
.vvp-ca-pill--year{background:#e2f6f6;color:#008a8a}
.vvp-ca-pill--season{background:#fef0dc;color:#c56f00}
.vvp-ca-book{font-weight:700;color:#0066cc;text-decoration:none;white-space:nowrap}
.vvp-ca-book:hover{text-decoration:underline}
/* blocco porto */
.vvp-ca-block{border:1px solid #e3ebf2;border-radius:14px;overflow:hidden}
.vvp-ca-block__head{background:#0066cc;color:#fff;padding:1.1rem 1.3rem}
/* colore forzato: il tema (WPBakery) stila gli h3 con specificita' alta e sovrascriverebbe il bianco */
.vvp-ca-block__head .vvp-ca-kick{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85;font-weight:700;color:#fff!important}
.vvp-ca-block__head .vvp-ca-block__title{margin:.2rem 0 0;font-size:1.5rem;color:#fff!important}
.vvp-ca-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#e3ebf2}
.vvp-ca-spec{background:#fff;padding:.9rem}
.vvp-ca-spec__k{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#7089a0;font-weight:700;margin-bottom:.25rem}
.vvp-ca-spec__v{font-weight:600}
.vvp-ca-block__body{padding:1.2rem 1.3rem;display:grid;gap:1.2rem}
.vvp-ca-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.vvp-ca-mini h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#008a8a;margin:0 0 .5rem}
.vvp-ca-mini ul{margin:0;padding-left:1.1rem;display:grid;gap:.4rem}
.vvp-ca-booking{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;background:#eaf3fc;border-radius:10px;padding:.9rem 1.1rem}
.vvp-ca-btn{display:inline-block;background:#f28c00;color:#3a2200;font-weight:700;text-decoration:none;padding:.55rem 1.1rem;border-radius:999px}
.vvp-ca-btn--ghost{background:transparent;color:#0066cc;border:1.5px solid #0066cc}
/* .vvp-ca-call has no style rule (hook class for Chiama button detection; styling via .vvp-ca-btn) */
/* faq */
.vvp-ca-faq{display:grid}
.vvp-ca-faq__item{border-top:1px solid #e3ebf2;padding:.2rem 0}
.vvp-ca-faq__item:last-child{border-bottom:1px solid #e3ebf2}
.vvp-ca-faq__q{cursor:pointer;list-style:none;font-weight:600;color:#40566b;padding:.75rem 1.6rem .75rem 0;position:relative}
.vvp-ca-faq__q::-webkit-details-marker{display:none}
.vvp-ca-faq__q::after{content:"+";position:absolute;right:0;top:.7rem;font-weight:700;color:#0066cc}
.vvp-ca-faq__item[open] .vvp-ca-faq__q::after{content:"–"}
.vvp-ca-faq__a{padding:0 0 .9rem;color:#40566b}
@media(max-width:760px){
  .vvp-ca-table thead{display:none}
  .vvp-ca-table,.vvp-ca-table tbody,.vvp-ca-table tr,.vvp-ca-table td{display:block;width:100%}
  .vvp-ca-table tr{border-top:1px solid #e3ebf2;padding:.4rem 0 .8rem}
  .vvp-ca-row--feat{border-left:3px solid #f28c00}
  .vvp-ca-table td{border-top:0;padding:.35rem .8rem;display:grid;grid-template-columns:38% 1fr;gap:.6rem}
  .vvp-ca-table td::before{content:attr(data-l);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#7089a0;font-weight:700}
  .vvp-ca-port{padding-top:.6rem}
  .vvp-ca-port::before{content:none}
  .vvp-ca-specs{grid-template-columns:repeat(2,1fr)}
  .vvp-ca-cols{grid-template-columns:1fr}
}
