/* Shared editorial rhythm; scoped away from chat, navigation and administration. */
:is(.sdv-article,.so-offer) h1{text-wrap:balance;letter-spacing:-.025em}
:is(.sdv-article,.so-offer) .sdv-prose{font-size:clamp(17px,1.15vw,19px);line-height:1.78;color:#263f4d;overflow-wrap:break-word}
:is(.sdv-article,.so-offer) .sdv-prose p{margin:0 0 1.3em;text-align:justify;hyphens:auto}
:is(.sdv-article,.so-offer) .sdv-prose :is(h2,h3){color:#10344d;line-height:1.2;text-wrap:balance;letter-spacing:-.018em;scroll-margin-top:110px}
:is(.sdv-article,.so-offer) .sdv-prose h2{font-size:clamp(25px,2.1vw,34px);margin:1.65em 0 .65em}
:is(.sdv-article,.so-offer) .sdv-prose h3{font-size:clamp(20px,1.6vw,25px);margin:1.4em 0 .6em}
:is(.sdv-article,.so-offer) .sdv-prose :is(ul,ol){padding-inline-start:1.4em;margin:1em 0 1.5em}
:is(.sdv-article,.so-offer) .sdv-prose li{padding-inline-start:.2em;margin:.6em 0;text-align:start}
:is(.sdv-article,.so-offer) .sdv-prose a{color:#124b69;text-underline-offset:.2em;text-decoration-thickness:1px}
:is(.sdv-article,.so-offer) .sdv-prose a:focus-visible{outline:2px solid #b5904b;outline-offset:4px}
:is(.sdv-article,.so-offer) .sdv-prose strong{font-weight:700}
.sdv-editorial-signature{border-top:1px solid #dce3e6;padding-top:20px;margin-top:32px!important;text-align:left!important;font-size:16px;color:#12364a}
.so-offer .sdv-offer-summary{font-size:clamp(17px,1.4vw,21px);line-height:1.55;text-wrap:pretty;max-width:48ch;text-align:left}
@media(min-width:761px){.so-offer .sdv-offer-hero-copy .sdv-offer-hero-media{align-self:center}}
@media(max-width:760px){:is(.sdv-article,.so-offer) .sdv-prose{font-size:17px;line-height:1.7}:is(.sdv-article,.so-offer) .sdv-prose h2{margin-top:1.4em}}

@media(min-width:761px){html body.so-offer article.sdv-offer-premium .sdv-offer-hero-copy .sdv-offer-hero-media{grid-row:1 / span 3!important;align-self:center!important;margin-top:0!important}}
html body.so-offer article.sdv-offer-premium .sdv-offer-hero-copy .sdv-offer-summary{ text-align:left!important;text-wrap:pretty }

/* Data stays semantic; the same reading rules cover new JSON and existing tables. */
:is(.sdv-article,.so-offer) .sdv-prose table,
.sdv-offer-premium .so-price-table table{width:100%;border-collapse:collapse;border:1px solid #bcccd5;margin:24px 0;background:#fff;color:#263f4d;font-size:16px;line-height:1.55}
:is(.sdv-article,.so-offer) .sdv-prose table caption,
.sdv-offer-premium .so-price-table caption{text-align:left;font-weight:700;color:#10344d;padding:14px 16px;background:#edf3f6;caption-side:top}
:is(.sdv-article,.so-offer) .sdv-prose table :is(th,td),
.sdv-offer-premium .so-price-table table :is(th,td){padding:15px 18px;border:1px solid #bcccd5;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:break-word;hyphens:none;font-variant-numeric:tabular-nums}
:is(.sdv-article,.so-offer) .sdv-prose table thead th,
.sdv-offer-premium .so-price-table table thead th{background:#12364a;color:#fff;font-weight:700;border-color:#627e8d}
:is(.sdv-article,.so-offer) .sdv-prose table tbody tr:nth-child(odd)>*,
.sdv-offer-premium .so-price-table table tbody tr:nth-child(odd)>*{background:#fff}
:is(.sdv-article,.so-offer) .sdv-prose table tbody tr:nth-child(even)>*,
.sdv-offer-premium .so-price-table table tbody tr:nth-child(even)>*{background:#edf3f6}
:is(.sdv-article,.so-offer) .sdv-prose table tbody th,
.sdv-offer-premium .so-price-table table tbody th{font-weight:700;color:#10344d}
:is(.sdv-article,.so-offer) .sdv-prose table tfoot>tr>*,
.sdv-offer-premium .so-price-table table tfoot>tr>*{background:#e3edf2;border-top:2px solid #627e8d;font-weight:700}
:is(.sdv-article,.so-offer) .sdv-prose table p{margin:0 0 .5em;text-align:left;hyphens:none}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-table-scroll,
.sdv-offer-premium .so-price-table{max-width:100%;overflow-x:auto;margin:24px 0;border:1px solid #bcccd5;border-radius:12px;background:#fff;overscroll-behavior-x:contain}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-table-scroll table,
.sdv-offer-premium .so-price-table table{margin:0;border:0}
.sdv-table-scroll:focus-visible,.so-price-table:focus-visible{outline:3px solid #124b69;outline-offset:3px}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-table-hint,
.sdv-offer-premium .sdv-table-hint{font-size:14px;text-align:left;line-height:1.5;color:#3d596a;margin:18px 0 6px}
.sdv-table-hint[hidden]{display:none!important}
.sdv-table-hint:not([hidden])+.sdv-table-scroll,.sdv-table-hint:not([hidden])+.so-price-table{margin-top:6px}
.so-offer .sdv-rate-grid{gap:20px}
.so-offer .sdv-rate-card{border:1px solid #bcccd5;border-radius:12px}
.so-offer .sdv-rate-card h3{padding-bottom:12px;border-bottom:2px solid #bcccd5}
.so-offer .sdv-rate-card dl>div,
.salotto-costa-offer .breakdown>div,
.salotto-costa-offer .price-panel .proposal-summary>div{padding:12px;border-bottom:1px solid #bcccd5;gap:16px}
.so-offer .sdv-rate-card dl>div:nth-child(even),
.salotto-costa-offer .breakdown>div:nth-child(even),
.salotto-costa-offer .price-panel .proposal-summary>div:nth-child(even){background:#edf3f6}
.so-offer .sdv-rate-card dl>div>*,
.salotto-costa-offer .breakdown>div>*,
.salotto-costa-offer .price-panel .proposal-summary>div>*{min-width:0;overflow-wrap:anywhere}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0;min-width:0}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-grid>h2{grid-column:1/-1;margin:0}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-card{min-width:0;margin:24px 0;padding:22px;border:1px solid #bcccd5;border-top:4px solid #b5904b;border-radius:12px;background:#f6f9fa;box-sizing:border-box}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-grid>.sdv-data-card{margin:0}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-card>:is(h2,h3){margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #bcccd5}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-card p{text-align:left;hyphens:none;line-height:1.65}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-card>:last-child{margin-bottom:0}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-list{list-style:none;padding:0;margin:16px 0}
:is(.sdv-article,.so-offer) .sdv-prose :is(.sdv-data-list,.sm-brief>ul)>li{margin:0;padding:12px 8px;border-bottom:1px solid #bcccd5;line-height:1.6;text-align:left}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-list>li:nth-child(even){background:#e8f0f4}
:is(.sdv-article,.so-offer) .sdv-prose .sdv-data-list>li>strong:first-child{display:block;color:#10344d;margin-bottom:3px}
@media(max-width:760px){
 :is(.sdv-article,.so-offer) .sdv-prose .sdv-data-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 :is(.sdv-article,.so-offer) .sdv-prose .sdv-data-card{padding:18px}
 :is(.sdv-article,.so-offer) .sdv-prose table :is(th,td),.sdv-offer-premium .so-price-table table :is(th,td){padding:12px;min-width:105px;font-size:16px}
}
