/* Palette e finiture del template approvato sulle pagine precedenti.
   Selettori circoscritti: non modificano griglie, visibilità degli step o validazione. */
.fd-legacy-polish {
    --fd-ink: #173b5b;
    --fd-blue: #066ea9;
    --fd-line: #d7e5ee;
    --fd-muted: #526b7e;
    --fd-hero-blue: #1a3a52;
    --form-primary: #066ea9;
    --form-primary-dark: #173b5b;
    --form-primary-light: #eef8fd;
    --form-border: #d7e5ee;
    --form-border-focus: #066ea9;
    --form-text: #173b5b;
    --form-text-muted: #526b7e;
    --form-radius: 10px;
    --form-radius-lg: 10px;
    --form-shadow: none;
    color: var(--fd-ink);
    background: #f8f9fa;
}
.fd-legacy-polish #fd-content { color: var(--fd-ink); }
.fd-legacy-polish #fd-content :is(.checkout-layout, .iscrizione-layout, .richiesta-section, .catalog-search-page) {
    background: #f8f9fa;
}
.fd-legacy-polish #fd-content :is(.checkout-form-card, .checkout-sidebar, .checkout-recap-card,
    .form-moderno-card, .iscrizione-sidebar, .sidebar-box, .diploma-card,
    .info-card, .conversation-card, .reply-card, .catalog-search-result-card,
    .catalog-search-welcome, .catalog-search-empty) {
    border: 1px solid var(--fd-line);
    border-radius: 10px;
    box-shadow: none;
}
.fd-legacy-polish #fd-content :is(.checkout-form-card-title, .card-title, .sidebar-box-title,
    .checkout-sidebar-title, .iscrizione-sidebar-title, .form-laurea-title) {
    color: var(--fd-ink);
    border-color: var(--fd-line);
}
.fd-legacy-polish #fd-content :is(.checkout-form-card-title, .card-title, .sidebar-box-title) > i {
    color: var(--fd-blue);
}
.fd-legacy-polish #fd-content :is(.form-control, .checkout-coupon-form input) {
    border-color: var(--fd-line);
    border-radius: 8px;
    color: var(--fd-ink);
    font-size: 16px;
    box-shadow: none;
}
.fd-legacy-polish #fd-content :is(.form-control, .checkout-coupon-form input):focus {
    border-color: var(--fd-blue);
    outline: 2px solid var(--fd-blue);
    outline-offset: 2px;
    box-shadow: none;
}
.fd-legacy-polish #fd-content :is(.form-control.error, .form-control.is-invalid) {
    border-color: #dc3545;
}
.fd-legacy-polish #fd-content :is(.btn-primary, .btn-cta-form, .btn-submit, .checkout-cta,
    .checkout-cta-large:not(.danger), .checkout-actions .btn-action.primary, .btn-invia, .catalog-search-page-form button,
    .catalog-search-primary-link) {
    background: #ff6b00;
    border-color: #ff6b00;
    color: #fff;
    border-radius: 10px;
    box-shadow: none;
}
.fd-legacy-polish #fd-content :is(.btn-primary, .btn-cta-form, .btn-submit, .checkout-cta,
    .checkout-cta-large:not(.danger), .checkout-actions .btn-action.primary, .btn-invia, .catalog-search-page-form button,
    .catalog-search-primary-link):hover {
    background: #e75f00;
    border-color: #e75f00;
}
.fd-legacy-polish #fd-content :is(.checkout-hero, .iscrizione-hero)::after {
    background: linear-gradient(90deg, rgba(26,58,82,.96), rgba(26,58,82,.75) 60%, rgba(26,58,82,.35));
}
.fd-legacy-polish #fd-content .category-hero-overlay {
    background: linear-gradient(90deg, rgba(26,58,82,.96), rgba(26,58,82,.75) 60%, rgba(26,58,82,.35));
}
.fd-legacy-polish #fd-content :is(.catalog-search-hero, .richiesta-hero, .diploma-card-header) {
    background: var(--fd-hero-blue);
    color: #fff;
}
.fd-legacy-polish #fd-content .diploma-card-title { color: #fff; }
.fd-legacy-polish #fd-content :is(.catalog-search-result-icon, .trust-icon) {
    background: #eef8fd;
    color: var(--fd-blue);
}
.fd-legacy-polish #fd-content .catalog-search-filters a.is-active {
    background: var(--fd-hero-blue);
    border-color: var(--fd-hero-blue);
    color: #fff;
}
.fd-legacy-polish #fd-content .checkout-stepper-item.active .checkout-stepper-circle {
    background: var(--fd-blue);
    border-color: var(--fd-blue);
    box-shadow: none;
}
.fd-legacy-polish #fd-content .checkout-stepper-item.active .checkout-stepper-label {
    color: var(--fd-ink);
}
/* Il modulo keycard resta autonomo; usa lo stesso marchio e le stesse finiture. */
.fd-legacy-polish .dt-header { background: #fff; box-shadow: none; border-bottom: 1px solid var(--fd-line); }
.fd-legacy-polish .dt-card { border: 1px solid var(--fd-line); border-radius: 10px; box-shadow: none; }
.fd-legacy-polish .dt-btn-primary { background: #ff6b00; color: #fff; border-radius: 10px; }
.fd-legacy-polish .dt-btn-primary:hover:not(:disabled) { background: #e75f00; }
.fd-legacy-polish .dt-field :is(input, select, textarea) { border-color: var(--fd-line); border-radius: 8px; }
/* Pagine di errore: stessi testi e collegamenti, tipografia e colori condivisi. */
.fd-error-polish .notfound :is(h1, h2, p, a) {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    color: var(--fd-ink);
}
.fd-error-polish .notfound > a { background: #ff6b00; color: #fff; border-radius: 10px; }
@media print {
    .fd-legacy-polish { background: #fff; }
}

.fd-error-polish { background: #fff; color: #173b5b; }
.fd-error-polish > .card { background: #fff; border: 1px solid #d7e5ee; border-radius: 10px; box-shadow: none; }
.fd-error-polish > .card .help a { color: #066ea9; border-color: #d7e5ee; }

/* Ricevuta, conferme e firma: stesse finiture dei moduli iniziali. */
.fd-legacy-polish #fd-content .checkout-bonifico-card {
    border: 1px solid var(--fd-line);
    border-radius: 10px;
    box-shadow: none;
}
.fd-legacy-polish #fd-content .checkout-bonifico-header {
    background: #eef8fd;
    color: var(--fd-ink);
    border-color: var(--fd-line);
}
.fd-legacy-polish #fd-content .checkout-bonifico-row { border-color: var(--fd-line); }
.fd-legacy-polish:has(.firma-container) { padding: 0; }
.fd-legacy-polish #fd-content .firma-container {
    margin: 28px auto;
    border: 1px solid var(--fd-line);
    border-radius: 10px;
    box-shadow: none;
}
.fd-legacy-polish #fd-content .firma-header h2 { color: var(--fd-ink); font-size: 22px; }
.fd-legacy-polish #fd-content .btn-confirm { background: #ff6b00; color: #fff; }
@media (max-width: 540px) {
    .fd-legacy-polish #fd-content .firma-container { margin: 20px 15px; }
}
.fd-legacy-polish #fd-content .checkout-layout { min-height: 0; }
.fd-legacy-polish #fd-content .form-moderno-card h4 { color: var(--fd-ink); border-color: var(--fd-line); }

/* Le azioni di completamento esistono anche fuori dal tag form. */
.fd-legacy-polish #fd-content .btn-submit {
    display: inline-flex; align-items: center; justify-content: center;
    gap: 10px; padding: 14px 24px; min-height: 48px;
    font-size: 16px; font-weight: 700; line-height: 1.4; text-decoration: none;
}
.fd-legacy-polish #fd-content .btn-submit > i { margin: 0; flex-shrink: 0; }
.fd-legacy-polish #fd-content .upload-area:focus-visible { outline: 2px solid var(--fd-blue); outline-offset: 3px; }
/* Ricerca, diplomi e orientamento lauree: componenti e misure del catalogo approvato. */
.fd-service-page .fd-cat-hero-grid--copy { grid-template-columns: 1fr; }
.fd-service-page .fd-cat-hero-grid--copy .fd-cat-hero-copy { max-width: 850px; }
.fd-service-page .fd-service-content { background: #fff; padding: 44px 0; }
.fd-service-page .fd-service-content > .container { padding-block: 0; }
.fd-service-page .fd-service-content > .container > .row {
    display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,1fr); gap: 28px; margin: 0;
}
.fd-service-page .fd-service-content > .container > .row::before,
.fd-service-page .fd-service-content > .container > .row::after { display: none; }
.fd-service-page .fd-service-content > .container > .row > [class*="col-"] { float: none; width: auto; min-width: 0; padding: 0; }
.fd-service-page #fd-content .fd-service-panel { padding: 28px; border: 1px solid #d7e5ee; border-radius: 10px; background: #fff; box-shadow: none; }
.fd-service-page #fd-content :is(.diploma-card-body, .sidebar-box) { padding: 26px; }
.fd-service-page #fd-content .sidebar-form { background: #fff; }
.fd-service-page #fd-content :is(.sidebar-course, .sidebar-cta) { background: #1a3a52; color: #fff; }
.fd-service-page #fd-content :is(.sidebar-course, .sidebar-cta) :is(p, a, span, .sidebar-box-title, .sidebar-box-title > i) { color: #fff; }
.fd-service-page #fd-content .sidebar-course .btn-default { background: transparent; border-color: #9ac8de; border-radius: 8px; padding: 10px 16px; }
.fd-service-page #fd-content :is(.form-laurea-title, .sidebar-box-title) { font-size: 24px; line-height: 1.3; }
.fd-service-page #fd-content :is(.form-laurea-section, .diploma-card-title) { font-size: 21px; }
.fd-service-page #fd-content :is(.diploma-card-body, .diploma-intro, .trust-content p, .fd-service-form p) { font-size: 17px; line-height: 1.65; }
.fd-service-page #fd-content .form-group { margin-bottom: 20px; }
.fd-service-page #fd-content .form-control:not(textarea) { min-height: 48px; height: auto; }
.fd-service-page #fd-content .btn-form-moderno { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 14px 24px; border-radius: 10px; background: #ff6b00; color: white; border: 0; font-size: 16px; font-weight: 700; }
.fd-service-page #fd-content .btn-form-moderno i { margin: 0; }
.fd-service-page #catalog-search-box h2 { font-size: 24px; margin: 0 0 18px; }
.fd-service-page #catalog-search-box .catalog-search-page-form { border: 1px solid #d7e5ee; border-radius: 8px; box-shadow: none; max-width: none; }
.fd-service-page #fd-content .catalog-search-page { background: #fff; min-height: 0; padding: 44px 0; }
.fd-service-page #fd-content .catalog-search-welcome, .fd-service-page #fd-content .catalog-search-empty { max-width: none; margin: 0; padding: 28px; text-align: left; }
.fd-service-page #fd-content .catalog-search-quick-links, .fd-service-page #fd-content .catalog-search-empty-actions { justify-content: flex-start; }
.fd-service-page #fd-content .catalog-search-welcome-icon, .fd-service-page #fd-content .catalog-search-empty-icon { margin: 0 0 16px; }
.fd-service-page #fd-content .catalog-search-result-card { align-items: flex-start; padding: 24px; gap: 16px; }
.fd-service-page #fd-content .catalog-search-result-icon { border-radius: 50%; width: 48px; height: 48px; flex-basis: 48px; margin: 0; }
.fd-service-page #fd-content .catalog-search-result-content > strong { font-size: 20px; line-height: 1.35; text-transform: none; }
.fd-service-page #fd-content .catalog-search-result-content > small { font-size: 14px; white-space: normal; overflow: visible; }
.fd-service-page #fd-content .catalog-search-result-arrow { align-self: center; margin-left: auto; color: #066ea9; font-size: 18px; }
.fd-service-page #fd-content .catalog-search-result-content .fd-course-rating-slot { margin: 14px 0 0; }
.fd-service-page #fd-content .catalog-search-result-content :is(.fd-rating-summary-label, .fd-rating-method) { display: none; }
.fd-service-page #fd-content .catalog-search-result-content .fd-rating-score { display: inline; font-size: 18px; white-space: nowrap; }
.fd-service-page #fd-content .catalog-search-result-content .fd-rating-score small { display: inline; font-size: 13px; font-weight: 400; margin: 0; }
@media (max-width: 991px) {
    .fd-service-page .fd-service-content > .container > .row { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .fd-service-page #fd-content .catalog-search-result-card { padding: 20px; gap: 12px; }
    .fd-service-page #fd-content .catalog-search-result-icon { width: 38px; height: 38px; flex-basis: 38px; }
    .fd-service-page #fd-content .catalog-search-result-content > strong { font-size: 18px; }
    .fd-service-page #fd-content .fd-service-panel { padding: 22px; }
}
.fd-service-page #fd-content .sidebar-cta .btn-default { background: transparent; border: 1px solid #9ac8de; border-radius: 8px; padding: 10px 16px; color: white; }

.fd-service-page #catalog-search-box h2 { color: #1a3a52; }
.fd-service-page #fd-content .diploma-list li { font-size: 17px; line-height: 1.6; color: #173b5b; padding: 10px 0; }
.fd-service-page #fd-content .diploma-list li i { margin-top: 7px; font-size: 14px; }
.fd-service-page #fd-content .sidebar-trust { background: #fff; }
.fd-service-page #fd-content .trust-icon { background: #eef8fd; color: #066ea9; }
.fd-service-page #fd-content .trust-icon i { color: #066ea9; font-size: 20px; }
.fd-service-page #fd-content .trust-title { color: #173b5b; font-size: 17px; }

/* Foto panoramica continua: sfondo ampio con margine per il volto. */
.fd-diplomi .fd-cat-hero-photo { left: 0; right: 0; width: 100%; }
.fd-diplomi .fd-cat-hero-photo img {
    display: block; width: 100%; max-width: 100%; height: 100%; margin: 0;
    object-fit: cover; object-position: center 38%;
}
@media (max-width: 600px) {
    .fd-diplomi .fd-cat-hero-photo img { object-position: 80% center; }
}
