/* ============================================
   FOOTILITY - QUOTATION STYLES
   ============================================ */

/* === COLUMN TITLES === */
.quotation-column-title {
    font-size: 12px;
    font-weight: bold;
    color: #000;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.5rem 0;
    border-bottom: 2px dashed #000;
}

/* === BASE === */
.quotation-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px;
    font-family: Arial, sans-serif;
    font-size: 11px;
    height: 100%;
    box-sizing: border-box;
}

/* === TITLES === */
.quotation-title {
    font-size: 1.8rem;
    font-weight: bold;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    border-bottom: 3px dotted #000;
}

.quotation-subtitle {
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 0.5rem;
    border-bottom: 3px dotted #000;
}

.quotation-info-text {
    color: #555;
    margin-top: 0.5rem;
    margin-bottom: 0;
}

.quotation-description {
    font-style: italic;
    margin-top: 0.5rem;
    margin-bottom: 0;
    font-size: 11px;
    color: #555;
}

/* === CARDS === */
.quotation-card {
    border: 1px dashed #000;
}

.quotation-card-header {
    background-color: #000;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
}

.quotation-card-body {
    font-size: 12px;
}

.quotation-card-body-centered {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60px;
    font-size: 12px;
}

/* === COMPANY INFO CARDS === */
.company-info-table {
    border: none;
    font-size: 12px;
    width: 100%;
    table-layout: fixed;
}

.company-info-label {
    padding: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: bold;
    font-size: 12px;
    border-bottom: 1px dashed #ccc;
    width: 110px;
    vertical-align: top;
}

.company-info-value {
    padding: 0;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    font-weight: 300;
    color: #666;
    font-size: 12px;
    border-bottom: 1px dashed #ccc;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.company-info-table tbody tr:last-child td {
    border-bottom: none;
}

.company-info-link {
    font-weight: 300;
    color: #666;
    font-size: 12px;
}

/* === ACTIVITY LIST === */
.activity-row {
    border-bottom: 1px dashed #ccc !important;
    padding: 0.5rem 0.75rem;
    align-items: center;
}

.activity-title {
    font-style: italic;
}

.activity-time,
.activity-delivery,
.activity-cost {
    text-align: center;
    border-left: 1px solid #ccc;
    border-right: 1px solid #ccc;
    font-weight: bold;
}

.activity-cost {
    text-align: end;
    border-right: none;
}

/* === PHASE HEADER === */
.phase-header-info {
    font-size: 0.9rem;
}

.phase-header-info-row {
    margin-top: 2px;
}

/* === SUMMARY CARDS === */
.summary-card {
    border: 1px dashed #000;
    margin-bottom: 0.5rem;
}

.summary-card-project-cost {
    border: 2px dashed #000;
    margin-bottom: 1rem;
}

.summary-card-project-cost .summary-card-content {
    font-size: 1.2rem;
    font-weight: bold;
}

/* === SLOT COLUMNS === */
.slot-column {
    transition: opacity 0.3s ease, transform 0.2s ease;
}

.slot-column.summary-card-inactive {
    opacity: 0.85;
}

.slot-column:hover {
    opacity: 1 !important;
}

.slot-column:hover .summary-card-inactive {
    opacity: 1 !important;
}

.slot-column:hover .summary-card-header {
    background-color: #000 !important;
    color: #fff !important;
}

.slot-column:hover .slot-title {
    color: #000 !important;
    border-bottom-color: #000 !important;
}

.slot-title {
    font-size: 12px;
    font-weight: bold;
    padding: 0.5rem 0;
    border-bottom: 2px dashed #000;
    transition: color 0.3s ease, border-bottom-color 0.3s ease;
}

.slot-title.text-muted {
    border-bottom-color: #d0d0d0;
    color: #999;
}

#date-container {
    margin-top: 1rem;
}

.summary-card-header {
    background-color: #000;
    color: #fff;
    font-weight: bold;
    text-align: center;
    font-size: 12px;
    padding: 0.5rem;
}

.summary-card-inactive .summary-card-header {
    background-color: #d0d0d0;
    color: #666;
}

.summary-card-inactive {
    opacity: 0.85;
}

/* Hover effect sulle colonne slot */
.slot-column:hover {
    opacity: 1 !important;
}

.slot-column:hover .summary-card-inactive {
    opacity: 1 !important;
}

.slot-column:hover .summary-card-header {
    background-color: #000 !important;
    color: #fff !important;
}

.slot-column:hover .slot-title {
    color: #000 !important;
    border-bottom-color: #000 !important;
}

.summary-card-content {
    font-weight: bold;
    font-size: 12px;
    text-align: center;
}

.summary-card .card-footer {
    padding: 0.5rem;
    text-align: center;
    font-size: 10px;
    color: #6c757d;
    border-top: 1px dashed #ccc;
    background-color: #f8f9fa;
}

/* === LEGEND === */
.quotation-legend {
    margin-top: 0.5rem;
    margin-bottom: 0.75rem;
}

.quotation-legend-item {
    margin-left: 0.5rem;
}

.quotation-legend-separator {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

/* === PHASE TOTAL === */
.phase-total {
    padding: 0.75rem;
    background-color: #000;
    color: #fff;
}

.phase-total-item {
    font-weight: bold;
    font-size: 11px;
}

/* === SERVICE CARDS === */
.service-card {
    height: 100%;
    border: 1px dashed #000;
    display: flex;
    flex-direction: column;
}

.service-card-header {
    background-color: #000;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
}

.service-card .card-body {
    flex: 1 1 auto;
}

.service-table {
    font-size: 12px;
}

.service-table-cell {
    padding: 0.75rem;
    font-style: italic;
}

.service-table-value {
    text-align: end;
    font-weight: bold;
}

.service-table-check {
    text-align: center;
    font-style: italic;
}

.service-card .card-footer {
    margin-top: auto;
    padding: 0.5rem 0.75rem;
    text-align: center;
    font-size: 10px;
    color: #6c757d;
    border-top: 1px dashed #ccc;
    background-color: #f8f9fa;
}

/* === NOTES === */
.quotation-notes-card {
    border: 1px dashed #000;
}

.quotation-notes-header {
    background-color: #000;
    color: #fff;
    font-weight: bold;
}

.quotation-notes-text {
    font-size: 10px;
    margin-bottom: 0.5rem;
}

.quotation-notes-text:last-child {
    margin-bottom: 0;
}

/* === LOGO === */
.footility-logo {
    font-family: 'Kg Happy', Arial, sans-serif;
    font-size: clamp(4rem, 8vw, 6rem);
    line-height: 1;
    text-align: center;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* === UTILITIES === */
.text-light-gray {
    color: #555;
}

.border-dashed-black {
    border: 1px dashed #000;
}

.border-dashed-gray {
    border-top: 1px dashed #ccc !important;
}

.border-dotted-black {
    border-bottom: 3px dotted #000;
}

