.portal{background:#fff8fa;min-height:70vh;padding:55px 0 80px;color:#07516a}.portal-shell{width:min(1120px,calc(100% - 32px));margin:auto}.portal-narrow{width:min(720px,calc(100% - 32px));margin:auto}.portal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.portal h1{font-size:34px;line-height:1.2;margin:0 0 8px;font-weight:800}.portal h2{font-size:23px;font-weight:800;margin:0 0 18px}.portal h3{font-size:18px;font-weight:800}.portal p,.portal label,.portal input,.portal select,.portal textarea,.portal button{font-size:16px}.portal-muted{color:#51717d}.portal-panel{background:#fff;border:1px solid #f1dce4;border-radius:14px;padding:28px;box-shadow:0 10px 34px rgba(5,62,87,.07);margin-bottom:22px}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.portal-grid .portal-field label{min-height:2.6em;line-height:1.3;display:flex;align-items:flex-end}.portal-field label,.portal-label{font-weight:800;color:#063f58}.portal-field input,.portal-field select,.portal-field textarea{width:100%;border:1px solid #ccd9de;border-radius:8px;padding:12px 14px;background:#fff;color:#073f58}.portal-field textarea{min-height:115px;resize:vertical}.portal-check{display:flex;align-items:center;gap:12px;margin:14px 0;font-weight:600;cursor:pointer}.portal-check input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;min-width:22px;margin:0;border:2px solid #ccd9de;border-radius:6px;background:#fff;cursor:pointer;position:relative;flex-shrink:0;transition:background .15s,border-color .15s}.portal-check input[type=checkbox]:checked{background:#e65391;border-color:#e65391}.portal-check input[type=checkbox]:checked::after{content:'';position:absolute;left:50%;top:50%;box-sizing:border-box;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:translate(-50%,-62%) rotate(45deg)}.portal-check input[type=checkbox]:focus-visible{outline:2px solid #07516a;outline-offset:2px}.portal-check span{line-height:1.4}.portal-errors{background:#fff0f3;border:1px solid #ef7aa8;color:#8b1747;border-radius:8px;padding:13px 18px;margin-bottom:20px}.portal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.portal-step-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:8px}.portal-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.portal-checklist li{color:#51717d;font-weight:600}.portal-checklist li.done{color:#126344}.portal-suggested-service{border-left:4px solid #e65391;background:#fff8fb;border-radius:10px;padding:14px 16px;margin-bottom:18px}.portal-checkbox-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;margin-bottom:8px}
.portal-checkbox-group .portal-check{align-items:flex-start}
.portal-checkbox-group .portal-check span{word-break:break-word}.sos-family-row{border:1px solid #e6edef;border-radius:10px;padding:14px;margin-bottom:12px;background:#fbfdfd}#sos-family-add{margin-bottom:16px}.portal-btn{border:2px solid #e65391;border-radius:7px;background:#e65391;color:#fff!important;padding:11px 22px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.portal-btn.outline{background:#fff;color:#e65391!important}.portal-btn.dark{background:#07516a;border-color:#07516a}.portal-btn.danger{background:#a6224f;border-color:#a6224f}.portal-link{color:#d93d7e;font-weight:800}.portal-card{background:#fff;border:1px solid #e3e9eb;border-radius:12px;padding:22px}.portal-card.selected{border:2px solid #e65391}.portal-card strong.price{display:block;color:#e65391;font-size:28px;margin:15px 0}.portal-status{display:inline-block;border-radius:20px;background:#e9f4f7;padding:5px 11px;font-weight:800;font-size:13px}.portal-status.paid,.portal-status.report_ready,.portal-status.completed{background:#e3f7ee;color:#126344}.portal-status.integration_required{background:#fff0c9;color:#7a5900}.portal-table{width:100%;border-collapse:collapse}.portal-table th,.portal-table td{text-align:left;padding:13px;border-bottom:1px solid #e6edef}.portal-table th{font-size:14px;text-transform:uppercase}.portal-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:25px 0}.portal-progress span{background:#e4edf0;height:8px;border-radius:8px}.portal-progress span.done{background:#e65391}.portal-doc{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid #e6edef}.portal-message{padding:13px 16px;background:#edf5f7;border-radius:10px;margin-bottom:10px;max-width:82%}.portal-message.patient{margin-left:auto;background:#ffe9f1}.portal-report{border-left:5px solid #e65391}.portal-kpi{font-size:31px;font-weight:800;color:#e65391}.portal-notification{border-left:4px solid #e65391;padding:10px 14px;margin:8px 0;background:#fff}.portal-disclaimer{font-size:14px!important;background:#f3f6f7;padding:15px;border-radius:8px}.portal-upload{border:2px dashed #e59ab9;border-radius:12px;padding:25px;text-align:center}.portal-empty{text-align:center;padding:40px;color:#51717d}.portal-radio input{position:absolute;opacity:0}.portal-radio input:checked+.portal-card{border:2px solid #e65391;background:#fff8fb}.portal-radio{cursor:pointer}.portal-step{color:#e65391;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.portal-meta{display:flex;flex-wrap:wrap;gap:12px 22px;color:#51717d;font-weight:600}.portal-nav{display:flex;gap:15px;align-items:center}.analytics-note{font-size:13px!important;color:#718891}
@media(max-width:767px){.portal{padding-top:35px}.portal-grid,.portal-grid.three{grid-template-columns:1fr}.portal-grid .portal-field label{min-height:0;display:block}.portal-head{align-items:flex-start;flex-direction:column}.portal-panel{padding:20px}.portal-table{display:block;overflow-x:auto}.portal-progress{gap:5px}.portal h1{font-size:29px}.portal-btn{width:100%}.portal-actions{align-items:stretch}.portal-message{max-width:95%}.portal-checkbox-group{grid-template-columns:1fr}}

/* Rosa polvere coordinato con l'identità SOS Seno. */
.portal-btn{border-color:#e697b9;background:#e697b9}
.portal-btn.outline{color:#d97fa5!important}
.portal-link{color:#d97fa5}
.portal-card.selected,.portal-radio input:checked+.portal-card{border-color:#e697b9}
.portal-card strong.price,.portal-kpi,.portal-step{color:#d97fa5}
.portal-progress span.done{background:#e697b9}
.portal-report{border-left-color:#e697b9}
.portal-notification{border-left-color:#e697b9}
.portal-upload{border-color:#e7a2c0}

/* Testata e tipografia delle pagine informative pubbliche. */
.sos-inner-hero{min-height:270px;display:flex;align-items:center;background:#fff5f8;color:var(--sos-blue)}
.sos-inner-hero .sos-container{position:relative}
.sos-inner-hero span{display:block;margin-bottom:8px;color:#d97fa5;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.sos-inner-hero h1{max-width:52%;margin:0;color:var(--sos-blue);font-size:44px;line-height:1.12;font-weight:700}
.sos-public-page{padding-top:64px;background:#fff;color:var(--sos-blue)}
.sos-public-page,.sos-public-page p,.sos-public-page li,.sos-public-page label,.sos-public-page summary,.sos-public-page small,.sos-public-page strong{color:var(--sos-blue)}
.sos-public-page p{font-weight:400;line-height:1.65}
.sos-public-page h2{color:var(--sos-blue);font-weight:600}
.sos-public-page h3{color:var(--sos-blue);font-weight:600}
.sos-public-page .portal-step{font-weight:700}
.sos-public-page .portal-panel,.sos-public-page .portal-card{color:var(--sos-blue)}
.sos-public-page .portal-panel h2,.sos-public-page .portal-card h2{font-weight:600}
.sos-public-page .portal-field label,.sos-public-page .portal-label{font-weight:600}
.sos-public-page .portal-btn{font-weight:700;color:#fff!important}.sos-public-page .portal-btn.outline{color:#d97fa5!important}
.sos-public-page .portal-card strong.price{color:#d97fa5;font-weight:700}
@media(max-width:767px){
    .sos-inner-hero{min-height:205px;background-position:62% center}
    .sos-inner-hero h1{max-width:64%;font-size:34px}
    .sos-inner-hero span{max-width:60%;font-size:13px}
    .sos-public-page{padding-top:44px}
}

/* Gerarchia più leggera e spaziature dell'area riservata. */
.portal h1{font-weight:600;color:var(--sos-blue)}
.portal h2{font-weight:600;color:var(--sos-blue)}
.portal h3{font-weight:600;color:var(--sos-blue)}
.portal p{font-weight:400;color:var(--sos-blue)}
.portal-field label,.portal-label{font-weight:600}
.portal-btn{font-weight:600}
.portal-link{font-weight:500}
.portal-card>strong,.portal-panel>strong{font-weight:600}
.portal-kpi{font-weight:600}
.portal-table th{font-weight:600}
.portal-table td,.portal-table td strong{font-weight:500}
.portal-status{font-weight:500}
.portal-head+.portal-grid.three{margin-bottom:28px}
.portal-actions{gap:18px 22px}
.portal-actions .portal-link{display:inline-flex;align-items:center;min-height:44px;padding:4px 0}
@media(max-width:767px){
    .portal-head+.portal-grid.three{margin-bottom:22px}
    .portal-actions{gap:10px 18px}
    .portal-actions .portal-link{justify-content:center;width:auto;min-height:40px}
}

.sos-conditional{margin:22px 0;padding:20px;border:1px solid #f1dce4;border-radius:10px;background:#fffafd}
.sos-conditional h2{font-size:20px;margin-bottom:14px}

.portal-field textarea.sos-notes{margin-top:8px;min-height:0;font-size:14px;background:#fbfdfe}
.portal-field textarea.sos-notes::placeholder{color:#8aa0a8}
.sos-info{margin:12px 0}

.sos-stepbar{margin:0 0 6px}.sos-stepbar-label{font-size:13px;font-weight:700;color:#d97fa5;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.sos-stepbar-track{height:6px;background:#e4edf0;border-radius:6px;overflow:hidden}.sos-stepbar-track i{display:block;height:100%;background:#e65391;border-radius:6px;transition:width .25s}
.sos-stepped .sos-conditional.sos-step{margin-top:14px}
.sos-wizard-actions{justify-content:space-between}.sos-wizard-actions .portal-btn{width:auto;min-width:130px}.sos-wizard-actions [hidden]{display:none!important}

.sos-wizard-actions #sos-next,.sos-wizard-actions #sos-submit{margin-left:auto}
.sos-rating{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 4px}
.sos-rating label{position:relative;cursor:pointer;margin:0}
.sos-rating input{position:absolute;opacity:0;width:1px;height:1px}
.sos-rating span{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:2px solid #ccd9de;border-radius:12px;background:#fff;font-size:20px;font-weight:800;color:#07516a;transition:background .15s,border-color .15s,color .15s,transform .1s}
.sos-rating label:hover span{border-color:#e697b9;transform:translateY(-2px)}
.sos-rating input:checked+span{background:#e65391;border-color:#e65391;color:#fff}
.sos-rating input:focus-visible+span{outline:2px solid #07516a;outline-offset:2px}
.sos-rating-legend{display:flex;justify-content:space-between;max-width:314px;font-size:13px;color:#51717d;font-weight:600}

.portal-consents{display:flex;flex-direction:column;gap:10px;margin:12px 0 22px}
.portal-consent-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border:1px solid #f1dce4;border-radius:10px;background:#fffafd}
.portal-consent-row form{margin:0}.portal-consent-row .portal-btn{width:auto;white-space:nowrap}
@media(max-width:767px){.portal-consent-row{flex-direction:column;align-items:flex-start}}

.portal-grid .portal-field label{min-height:.6em}
.registration-form .portal-actions{justify-content:flex-end}
.registration-form .portal-actions .portal-btn{width:auto;margin-left:auto}
.registration-form #invoice-country,.registration-form #profile-country{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:linear-gradient(45deg,transparent 50%,#07516a 50%),linear-gradient(135deg,#07516a 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 14px) 50%;background-size:8px 8px,8px 8px;background-repeat:no-repeat}
form[data-analytics-form="questionnaire"] .portal-field select{appearance:none;-webkit-appearance:none;padding-right:48px;background-image:linear-gradient(45deg,transparent 50%,#07516a 50%),linear-gradient(135deg,#07516a 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 14px) 50%;background-size:8px 8px,8px 8px;background-repeat:no-repeat}
.registration-form .portal-field:has(input[name="invoice_address"]){grid-column:1 / -1}
.portal-narrow .portal-actions{justify-content:flex-end}
.portal-narrow .portal-actions .portal-btn{width:auto}
.portal-narrow .portal-panel > .portal-btn{display:flex;width:max-content;margin-left:auto}

/* ===== Area paziente: novità, richieste, notifiche, sezioni della richiesta (2026-10) ===== */
.portal-medium{width:min(900px,calc(100% - 32px))}
.portal-nav{flex-wrap:wrap;justify-content:flex-end}
.sos-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:24px;padding:0 8px;border-radius:12px;background:#eef6f8;color:#07516a;font-size:13px;font-weight:600;vertical-align:middle}
.sos-new-badge{display:inline-block;border-radius:10px;background:#e65391;color:#fff;font-size:12px;font-weight:600;padding:2px 9px;vertical-align:middle}
.sos-priority{display:inline-block;border-radius:20px;background:#eef6f8;color:#07516a;padding:5px 11px;font-size:13px;font-weight:500}
.sos-priority.urgent{background:#c8456f;color:#fff}
.sos-priority.express{background:#fbeef3;color:#b83a72}
.sos-flash-ok{border-color:#b8e2cc;background:#f2fbf6;color:#126344}
.sos-action{border-left:5px solid #e65391}
.sos-linkbtn{background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}

/* novità in evidenza */
.sos-news{border:2px solid #e697b9;background:linear-gradient(180deg,#fff 0%,#fff7fa 100%)}
.sos-news-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.sos-news-head>div{position:relative;padding-left:22px}
.sos-news-head h2{margin:0 0 4px}
.sos-pulse{position:absolute;left:0;top:10px;width:12px;height:12px;border-radius:50%;background:#e65391;box-shadow:0 0 0 0 rgba(230,83,145,.6);animation:sosPulse 1.8s infinite}
@keyframes sosPulse{0%{box-shadow:0 0 0 0 rgba(230,83,145,.55)}70%{box-shadow:0 0 0 12px rgba(230,83,145,0)}100%{box-shadow:0 0 0 0 rgba(230,83,145,0)}}
@media (prefers-reduced-motion:reduce){.sos-pulse{animation:none}}
.sos-news-list{list-style:none;margin:0;padding:0}
.sos-news-item{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #f3dfe7}
.sos-news-icon{width:42px;height:42px;border-radius:12px;background:#fbeef3;color:#d6457f;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px}
.sos-news-item.kind-report .sos-news-icon{background:#e3f7ee;color:#126344}
.sos-news-item.kind-documents .sos-news-icon{background:#fff0c9;color:#7a5900}
.sos-news-item.kind-appointment .sos-news-icon{background:#eaf5f7;color:#07516a}
.sos-news-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sos-news-text span{color:#3c5a66;font-size:15px}
.sos-news-text small{color:#7d949c;font-size:13px}
.sos-news-btn{flex-shrink:0;padding:9px 18px}
.sos-news.compact .sos-news-item{padding:10px 0}

/* elenco richieste */
.sos-case-list{display:flex;flex-direction:column;gap:10px}
.sos-case-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:14px 16px;border:1px solid #e6edef;border-radius:12px;color:#07516a;text-decoration:none;transition:border-color .15s,background .15s}
.sos-case-row:hover{border-color:#e697b9;background:#fffafc}
.sos-case-row.has-news{border-color:#e697b9;box-shadow:inset 4px 0 0 #e65391}
.sos-case-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.sos-case-main .portal-muted{flex-basis:100%;font-size:14px}
.sos-case-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px}

/* notifiche */
.sos-notif-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.sos-notif-head h2{margin:0}
.sos-search{display:flex;align-items:center;gap:8px;flex:0 1 420px}
.sos-search input{flex:1;min-width:0;border:1px solid #ccd9de;border-radius:8px;padding:10px 12px;color:#073f58}
.sos-search .portal-btn{padding:9px 16px;width:auto}
.sos-notif{display:flex;gap:12px;align-items:flex-start;color:#3c5a66;text-decoration:none;border-radius:0 8px 8px 0;border-left-color:#e6edef}
.sos-notif i{color:#d97fa5;margin-top:4px;width:18px;text-align:center}
.sos-notif strong{color:#07516a}
.sos-notif small{display:block;color:#7d949c;margin-top:3px;font-size:13px}
.sos-notif.unread{border-left-color:#e65391;background:#fff7fa}
.sos-notif:hover{background:#fbf3f6}
.sos-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:16px}
.sos-pagination a{min-width:38px;height:38px;padding:0 12px;border:1px solid #e6edef;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#07516a;text-decoration:none;font-weight:500}
.sos-pagination a.active{background:#e65391;border-color:#e65391;color:#fff}

/* pagina della richiesta: cose da fare e sezioni verticali */
.sos-alerts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:0 22px}
.sos-todo{border-left:5px solid #e65391}
.sos-todo ul{list-style:none;margin:0;padding:0}
.sos-todo li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f3dfe7}
.sos-todo li:first-child{border-top:0}
.sos-todo li i{color:#e65391;width:20px;text-align:center}
.sos-todo li span{flex:1}
.sos-todo .portal-btn{padding:8px 16px;width:auto}
.sos-tabs-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start;scroll-margin-top:90px}
.sos-tabs{position:sticky;top:100px;display:flex;flex-direction:column;gap:8px}
.sos-tab{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1px solid #f1dce4;border-radius:14px;color:#07516a;text-decoration:none;box-shadow:0 6px 18px rgba(5,62,87,.05);transition:border-color .15s,background .15s}
.sos-tab i{width:38px;height:38px;border-radius:10px;background:#eef6f8;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px}
.sos-tab span{display:flex;flex-direction:column;min-width:0}
.sos-tab b{font-weight:600}
.sos-tab small{color:#7d949c;font-size:13px}
.sos-tab:hover{border-color:#e697b9}
.sos-tab.active{border-color:#e65391;background:#fff7fa}
.sos-tab.active i{background:#e65391;color:#fff}
.sos-tab.has-news i{box-shadow:0 0 0 3px #fbeef3}
.sos-tab-flag{position:absolute;top:8px;right:10px;font-style:normal;font-size:11px;font-weight:600;border-radius:10px;padding:1px 8px;background:#e65391;color:#fff}
.sos-tab-flag.action{background:#c8456f}
.sos-tab-panel[hidden]{display:none}
.sos-request-box{background:#fff8e6;border:1px solid #efd39a;border-radius:10px;padding:14px 16px;margin-bottom:16px;color:#5f4500}
.sos-request-box p{margin:6px 0 0;color:#5f4500}
.sos-thread{display:flex;flex-direction:column;margin-bottom:12px}
.sos-thread .portal-message small{color:#7d949c}
.sos-appointment{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid #e6edef}
.sos-appointment:first-of-type{border-top:0}
.sos-appointment .portal-btn{width:auto}
.portal-status.cancelled{background:#f1f3f4;color:#6b7b80}
.sos-steps{margin:0 0 18px;padding-left:20px;color:#3c5a66}
.sos-steps li{margin-bottom:6px}
@media (max-width:899px){
    .sos-tabs-layout{grid-template-columns:1fr;gap:14px}
    .sos-tabs{position:static;flex-direction:row;overflow-x:auto;gap:8px;padding:2px 2px 8px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
    .sos-tab{flex:0 0 auto;min-width:200px;scroll-snap-align:start;padding:12px 14px}
}
@media (max-width:767px){
    .portal-nav{width:100%;justify-content:flex-start;gap:10px 18px}
    .portal-nav .portal-btn{width:100%}
    .sos-news-item{flex-wrap:wrap}
    .sos-news-btn{width:100%}
    .sos-search{flex-basis:100%}
    .sos-search .portal-btn{width:auto}
    .sos-case-meta{gap:6px 10px}
    .sos-todo li{flex-wrap:wrap}
    .sos-todo .portal-btn{width:100%}
    .portal-step-actions{flex-wrap:wrap}
    .portal-step-actions .portal-btn{width:100%}
    .sos-appointment .portal-btn{width:100%}
}
.sos-alerts{align-items:start}
.sos-tab-flag{top:-9px;right:12px;box-shadow:0 2px 6px rgba(200,69,111,.25)}
@media (max-width:899px){.sos-tabs{padding-top:12px}}
.portal-upload input[type=file]{max-width:100%}

/* area paziente: avviso novità compatto e contatori nel titolo delle richieste */
.sos-news-alert{display:flex;align-items:center;gap:16px;border:2px solid #e697b9;background:#fff7fa;padding:18px 22px}
.sos-news-alert .sos-pulse{position:static;flex-shrink:0}
.sos-news-alert-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sos-news-alert-text strong{color:#07516a;font-size:18px;font-weight:600}
.sos-news-alert-text span{color:#3c5a66}
.sos-news-alert-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sos-news-alert-actions form{margin:0}
.sos-news-alert-actions .portal-btn{width:auto;padding:9px 18px}
.sos-cases-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:16px}
.sos-cases-head h2{margin:0}
.sos-cases-summary{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;font-size:15px;color:#51717d}
.sos-cases-summary b{color:#d6457f;font-weight:600}
@media (max-width:767px){
    .sos-news-alert{flex-wrap:wrap;padding:16px}
    .sos-news-alert-text{flex-basis:calc(100% - 30px)}
    .sos-news-alert-actions{width:100%}
    .sos-news-alert-actions .portal-btn{width:100%}
}
.sos-booking-info{display:flex;gap:14px;align-items:flex-start;background:#eef6f8;border-radius:12px;padding:14px 16px;margin:0 0 20px}
.sos-booking-info i{color:#07516a;font-size:20px;margin-top:3px}
.sos-booking-info p{margin:0;font-size:15px;line-height:1.55;color:#3c5a66}
.sos-alerts .sos-news-alert{align-self:start}

/* questionario: sezioni facoltative, "Salta" e "Invia ora" */
.sos-optional-note{margin:6px 0 0;padding:10px 14px;border-radius:10px;background:#eef6f8;color:#3c5a66;font-size:14px}
.sos-wizard-actions{flex-wrap:wrap;gap:10px 12px}
.sos-wizard-actions #sos-finish{order:5;flex-basis:100%;text-align:right;font-size:15px}
@media(max-width:767px){.sos-wizard-actions .portal-btn{width:100%;min-width:0}.sos-wizard-actions #sos-finish{text-align:center}}
.sos-wizard-actions #sos-skip{margin-left:auto}
.sos-wizard-actions #sos-skip:not([hidden])+#sos-next{margin-left:0}

/* testate delle pagine interne: stessa immagine della home (mani con il nastro rosa), così il sito usa un solo soggetto oltre alla foto del medico;
   multiply toglie il fondo bianco della foto come nella home */
.sos-inner-hero{background:url('/frontend/img/sos_seno_header.webp') right 4% center/auto 150% no-repeat,#fff5f8;background-blend-mode:multiply}
@media(max-width:767px){.sos-inner-hero{background-position:right -40px center;background-size:auto 105%}}

/* ===== Privacy, cookie: pagine legali e banner (2026-10-23) ===== */
.sos-legal-wrap{width:min(860px,calc(100% - 32px))}
.sos-legal{line-height:1.7}
.sos-legal h2{font-size:21px;margin:28px 0 10px}
.sos-legal h2:first-of-type{margin-top:6px}
.sos-legal h3{font-size:17px;margin:18px 0 8px}
.sos-legal p,.sos-legal li{color:#3c5a66;font-size:16px}
.sos-legal ul{padding-left:22px;margin:0 0 14px}
.sos-legal li{margin-bottom:6px}
.sos-legal a{color:#d6457f;text-decoration:underline;word-break:break-word}
.sos-legal-sub{font-size:14px!important;color:#7d949c!important;margin-bottom:8px}
.sos-legal-table-wrap{overflow-x:auto;margin:10px 0 16px}
.sos-legal-table{width:100%;border-collapse:collapse;font-size:14px}
.sos-legal-table th,.sos-legal-table td{border:1px solid #e6edef;padding:9px 10px;text-align:left;vertical-align:top;color:#3c5a66}
.sos-legal-table th{background:#f6fafb;color:#07516a;font-weight:600}
.sos-legal-table code{color:#07516a;background:#eef6f8;padding:1px 5px;border-radius:4px;font-size:13px;white-space:normal}
@media(max-width:767px){
    .sos-legal-table thead{display:none}
    .sos-legal-table,.sos-legal-table tbody,.sos-legal-table tr,.sos-legal-table td{display:block;width:100%}
    .sos-legal-table tr{border:1px solid #e6edef;border-radius:10px;margin-bottom:10px;padding:6px 10px}
    .sos-legal-table td{border:0;padding:4px 0}
    .sos-legal-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#7d949c;text-transform:uppercase;letter-spacing:.04em}
}
.sos-footer-linkbtn{display:block;background:none;border:0;padding:0;margin:0 0 9px;color:rgba(255,255,255,.85);font:inherit;font-size:15px;line-height:1.55;cursor:pointer;text-align:inherit}
.sos-footer-linkbtn:hover{color:#fff;text-decoration:underline}
@media(max-width:767px){.sos-footer-linkbtn{font-size:17px;line-height:1.35;padding:7px 2px;margin:0 auto}}

.sos-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;display:flex;justify-content:center;pointer-events:none}
.sos-cookie[hidden]{display:none}
.sos-cookie-box{position:relative;pointer-events:auto;width:min(760px,100%);background:#fff;border-radius:18px;border-top:5px solid #e697b9;box-shadow:0 18px 50px rgba(7,81,106,.22);padding:22px 24px;color:#3c5a66}
.sos-cookie-box h2{font-size:20px;font-weight:600;color:#07516a;margin:0 0 8px;padding-right:30px}
.sos-cookie-box p{font-size:15px;line-height:1.55;margin:0 0 14px;color:#3c5a66}
.sos-cookie-box a{color:#d6457f;text-decoration:underline}
.sos-cookie-close{position:absolute;z-index:2;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:#f6fafb;color:#07516a;font-size:22px;line-height:1;cursor:pointer}
.sos-cookie-prefs{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
.sos-cookie-option{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid #e6edef;border-radius:10px;cursor:pointer}
.sos-cookie-option.is-locked{cursor:default;background:#f6fafb}
.sos-cookie-option input{width:20px;height:20px;margin-top:3px;accent-color:#e65391;flex-shrink:0}
.sos-cookie-option span{display:flex;flex-direction:column;gap:2px}
.sos-cookie-option b{color:#07516a;font-weight:600}
.sos-cookie-option small{font-size:13px;color:#51717d}
.sos-cookie-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.sos-cookie-actions .portal-btn{padding:10px 18px;width:auto}
.sos-cookie-actions [hidden]{display:none!important}
@media(max-width:600px){.sos-cookie{left:8px;right:8px;bottom:8px}.sos-cookie-box{padding:18px 16px}.sos-cookie-actions .portal-btn{flex:1 1 100%}}
/* icona fissa delle preferenze cookie, in basso a destra */
.sos-cookie-fab{position:fixed;right:18px;bottom:18px;z-index:9990;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:#d6457f;box-shadow:0 6px 18px rgba(7,81,106,.22);display:flex;align-items:center;justify-content:center;font-size:21px;cursor:pointer;transition:transform .15s}
.sos-cookie-fab:hover,.sos-cookie-fab:focus-visible{transform:scale(1.08);outline:2px solid #e697b9;outline-offset:2px}
.sos-cookie-fab[hidden]{display:none}
@media(max-width:600px){.sos-cookie-fab{right:12px;bottom:12px;width:44px;height:44px;font-size:19px}}

/* riepilogo prima del pagamento (templates/payment-summary.phtml) */
.sos-pay-summary{width:100%;border-collapse:collapse;margin:14px 0 10px;font-size:16px}.sos-pay-summary th,.sos-pay-summary td{padding:9px 0;border-bottom:1px solid #f2d9e3;color:#3c5a66;font-weight:400;text-align:left;vertical-align:top}.sos-pay-summary td{text-align:right;white-space:nowrap;padding-left:16px}.sos-pay-summary tfoot th,.sos-pay-summary tfoot td{border-bottom:0;padding-top:14px;color:#07516a;font-weight:700;font-size:20px}.sos-pay-note{font-size:14px;margin:4px 0}
