/**
 * Single Property Page Styles
 * 
 * Specific styling for individual property pages, including
 * semantic heading fixes for proper information architecture.
 */

/* === PROPERTY PRICE STYLING === */
/* Replaces H2 price elements to fix heading hierarchy issues */
.property-price {
    font-size: 20.625px;
    font-weight: 600;
    color: var(--color-primary);
    margin-top: 0;
    margin-bottom: 12px;
    line-height: 1.25;
    display: block;
}

/* Property price container for better spacing */
.property-price-ctn {
    margin-bottom: 1rem;
}

.property-price-ctn .property-price {
    margin-bottom: 0;
}

/* === PROPERTY OVERVIEW SECTION === */
/* New semantic section for property overview */
.property-overview-section {
    padding: var(--space-mobile-property-section) 0;
}

.property-overview-section h2 {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    color: var(--heading-color-primary);
    margin-bottom: var(--space-lg);
}

/* === PROPERTY STATUS STYLING === */
/* Replaces H4 property status to maintain hierarchy */
.property-status {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-md);
    display: block;
}

/* === ACCESSIBILITY === */
/* Screen reader only content for proper heading hierarchy */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* === PROPERTY DETAILS SECTION === */
/* Enhanced styling for property details tables */
body.theme-pt .property-details-section h3 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--heading-color-primary);
    margin-bottom: var(--space-md);
}

body.theme-pt .property-details-section .resp_table p {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    letter-spacing: 0.5px;
}

/* === CONTACT FORM FIXES === */
/* Fix contact form stretching in sticky column */
body.theme-pt .sticky-col .card {
    height: auto !important;
}

body.theme-pt .sticky-col .card-body {
    justify-content: flex-start !important;
    flex-grow: 0 !important;
}

/* === MOBILE RESPONSIVE OVERRIDES === */
@media (max-width: 768px) {
    .property-price {
        font-size: var(--font-size-property-h2-mobile);
    }
    
    .property-overview-section {
        padding: var(--space-mobile-property-section-lg) 0;
    }
    
    /* Single property page H1 scaling */
    body.theme-pt .sp-address {
        font-size: var(--font-size-property-title-mobile) !important;
        line-height: 1.25 !important;
    }
    
    /* Single property page H2 sections scaling */
    body.theme-pt .property-details-section h2,
    body.theme-pt .gallery-section h2,
    body.theme-pt .properties-section h2,
    body.theme-pt .property-overview-section h2 {
        font-size: var(--font-size-property-h2-mobile) !important;
        line-height: 1.3 !important;
        margin-bottom: 1rem !important;
    }
    
    /* Single property page H3 subsections scaling */
    body.theme-pt .property-details-section h3 {
        font-size: var(--font-size-property-h3-mobile) !important;
        line-height: 1.3 !important;
    }
}