/* Area riservata › "Aggiungi foto di società" e "Il tuo scatto CAL": stesso linguaggio delle altre pagine */
.cal-fs {
    --cal-navy: #0a1841;
    --cal-red: var(--customify-secondary, #dd3333);
    --cal-soft: #f3f5fa;
    --cal-line: #e3e7f0;
    display: grid;
    gap: 1.5rem;
}
.cal-fs__card {
    padding: clamp(1.1rem, 0.8rem + 1vw, 1.6rem);
    background: #fff;
    border: 1px solid var(--cal-line);
    border-radius: 16px;
    box-shadow: 0 6px 20px rgba(10, 24, 65, 0.06);
}
.cal-fs__notice { margin: 0; padding: 0.8rem 1rem; background: var(--cal-soft); border-radius: 12px; font-weight: 600; }
.cal-fs__notice a { color: var(--cal-navy); }
.cal-fs__intro { margin: 0 0 1rem; color: #5b6275; }
.cal-fs__row { margin: 0 0 1rem; }
.cal-fs__row label,
.cal-fs__box legend { display: block; margin-bottom: 0.35rem; font-weight: 600; color: var(--cal-navy); }
.cal-fs__optional { font-weight: 400; color: #5b6275; }
.cal-fs .required { color: var(--cal-red); text-decoration: none; }
.cal-fs__row input[type="text"],
.cal-fs__row textarea { width: 100%; min-height: 46px; font-size: 16px; border: 1px solid var(--cal-line); border-radius: 10px; background: #fff; }
.cal-fs__row textarea { min-height: 150px; resize: vertical; }

.cal-fs__box { position: relative; margin: 0 0 1rem; padding: 0.9rem 1.1rem 0.3rem; border: 1px solid var(--cal-line); border-radius: 12px; }
.cal-fs__box legend { float: none; margin: 0; padding: 0 0.4rem; }
.cal-fs__file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; clip: rect(0 0 0 0); }
.cal-fs__pick {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    min-height: 60px;
    margin: 0 0 0.9rem;
    padding: 0.7rem 1rem;
    border: 2px dashed var(--cal-navy);
    border-radius: 12px;
    background: var(--cal-soft);
    color: var(--cal-navy);
    font-family: var(--cal-font-display, inherit);
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    cursor: pointer;
}
.cal-fs__pick svg { flex: 0 0 auto; width: 26px; height: 26px; color: var(--cal-red); }
.cal-fs__file:focus-visible + .cal-fs__pick { outline: 2px solid var(--cal-navy); outline-offset: 2px; }
.cal-fs__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 0 0.9rem; }
.cal-fs__thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; border: 1px solid var(--cal-line); }
.cal-fs__thumbs--one { grid-template-columns: 1fr; }
.cal-fs__thumbs--one img { aspect-ratio: 16 / 9; }
.cal-fs__hint { margin: 0 0 0.9rem; font-size: 0.9rem; color: #5b6275; }

.cal-fs__check { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0 0 0.9rem; font-size: 0.95rem; line-height: 1.45; cursor: pointer; }
.cal-fs__check input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; accent-color: var(--cal-navy); }
.cal-fs__check--required { padding: 0.8rem; background: var(--cal-soft); border-radius: 10px; }

.cal-fs__actions { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 0.5rem; }
.cal-fs__actions .button { min-height: 50px; margin: 0; border-radius: 10px; }
.cal-fs__main { background-color: var(--cal-red) !important; border-color: var(--cal-red) !important; color: #fff !important; }
.cal-fs__secondary { background: transparent !important; border: 1px solid var(--cal-navy) !important; color: var(--cal-navy) !important; }
.cal-fs__sending { margin-top: 0.75rem; font-weight: 600; color: var(--cal-navy); }

/* Apertura di "Il tuo scatto CAL" */
.cal-fs__hero {
    position: relative;
    overflow: hidden;
    padding: 1.4rem 1.3rem;
    background: var(--cal-navy);
    color: #fff;
    border-radius: 18px;
}
.cal-fs__hero::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -70px;
    width: 170px;
    height: 170px;
    border-radius: 50%;
    border: 22px solid var(--cal-red);
    opacity: 0.9;
}
.cal-fs__hero > * { position: relative; z-index: 1; }
.cal-fs__hero h3 { margin: 0.4rem 0 0.4rem; color: #fff; font-size: 1.6rem; }
.cal-fs__hero p { margin: 0; max-width: min(34em, calc(100% - 64px)); color: rgba(255, 255, 255, 0.9); }
.cal-fs__hero-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--cal-red); }
.cal-fs__hero-icon svg { width: 26px; height: 26px; color: #fff; }

/* Elenchi (ultimi articoli, i tuoi scatti) */
.cal-fs__list h3 { margin: 0 0 0.6rem; font-size: 1.2rem; color: var(--cal-navy); }
.cal-fs__list ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.cal-fs__list li { display: grid; gap: 2px; padding: 10px 14px; background: #fff; border: 1px solid var(--cal-line); border-radius: 12px; }
.cal-fs__list li > a,
.cal-fs__list-title { font-weight: 600; color: var(--cal-navy); }
.cal-fs__list li small { color: #5b6275; }
.cal-fs__list li small a { color: var(--cal-red); font-weight: 600; }
.cal-fs__state { justify-self: start; padding: 0.1em 0.65em; border-radius: 999px; font-size: 0.8rem; font-weight: 600; color: #fff; background: #6b7280; }
.cal-fs__state--attesa { background: #b26b00; }
.cal-fs__state--bozza { background: #1f4e79; }
.cal-fs__state--pubblicata { background: #1a7f37; }
.cal-fs__state--scartata { background: #6b7280; }

@media screen and (min-width: 600px) {
    .cal-fs__actions { grid-template-columns: 2fr 1fr; }
    .cal-fs__actions--single { grid-template-columns: 1fr; }
}
