/**
 * 07-cards-specialized.css - ITCSS Component Layer (Specialized Cards)
 * 
 * ITCSS Layer: Components (Specialized)
 * Load Order: 7 of 12
 * Consolidation: 10 files → 1 file
 * Dependencies: 01-foundation.css, 06-cards-base.css
 * 
 * Consolidated Files:
 * ├── cards-property.css     → Property Cards
 * ├── cards-team.css         → Team Cards  
 * ├── cards-agent.css        → Agent Cards
 * ├── cards-experience.css   → Experience Cards
 * ├── cards-dream.css        → Dream Cards
 * ├── cards-city.css         → City Cards
 * ├── cards-partner.css      → Partner Cards
 * ├── cards-gallery.css      → Gallery Cards
 * ├── cards-articles.css     → Articles Cards
 * └── cards-blog-hero.css    → Blog Hero Cards
 * 
 * System Features:
 * • Domain-specific card types extending base card system
 * • Complex specialized layouts (horizontal, float-based, grid systems)
 * • Industry-specific components (real estate, blog, gallery)
 * • Advanced positioning and overlay systems
 * • Container queries and responsive design patterns
 * • Content-specific optimizations and theming
 */

/* ========================================================================
   DOMAIN-SPECIFIC CARDS
   ======================================================================== */

/* ============================
   Property Cards
   ============================ */

/* Height alignment support for property cards */
body.theme-pt .card.card-property {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.theme-pt .card.card-property .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

body.theme-pt .card.card-property .card-image {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    height: 250px;
    flex-shrink: 0;
}

/* Content area grows to fill available space */
body.theme-pt .card.card-property .card-text {
    -webkit-line-clamp: unset;
    flex-grow: 1;
    margin-bottom: var(--space-md);
}

/* Property card HR - part of footer group */
body.theme-pt .card.card-property hr {
    margin-top: 0; /* Override base card hr margin-top: auto */
    margin-bottom: var(--space-sm); /* Small gap before prop-feat */
}

/* Property features - part of footer group */
body.theme-pt .card.card-property .prop-feat {
    margin-top: 0; /* Remove auto margin - handled by footer group */
    flex-shrink: 0;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Card footer group styling for property cards */
body.theme-pt .card.card-property .card-footer-group {
    padding-top: var(--space-sm); /* Breathing room above footer group */
}

body.theme-pt .card.card-property .badge {
    position: absolute;
    top: var(--space-lg);
    right: var(--space-lg);
    color: var(--color-primary);
    border-radius: var(--card-badge-radius);
    padding: var(--card-badge-padding);
    font-size: var(--card-text-size);
    font-weight: 700;
    line-height: 1.375em;
    box-shadow: 0 1px 6px var(--card-badge-shadow);
}

body.theme-pt .card.card-property .badge.bg-primary {
    color: var(--color-bg-primary);
    background: var(--color-primary);
}

body.theme-pt .card.card-property .prop-feat-left {
    gap: var(--space-xl);
}

body.theme-pt .card.card-property .prop-feat-right {
    display: flex;
    align-items: center;
}

body.theme-pt .card.card-property .prop-feat-right h4 {
    margin-bottom: 0;
    text-align: right;
}

body.theme-pt .card.card-property.card-clickable .prop-feat > div {
    background-color: transparent;
    border-radius: 0;
    padding: 0;
    text-align: left;
    color: var(--color-text-secondary);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 6px;
    box-shadow: none;
}

body.theme-pt .card.card-property .prop-feat-left.d-flex {
    gap: var(--space-xl) !important;
}

body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex {
    gap: var(--space-xl);
}

body.theme-pt .card.card-property.card-clickable .prop-feat > div img {
    margin-right: 6px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    vertical-align: middle;
}

body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex > div {
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 6px;
}

body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex > div img {
    margin-right: 6px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* ============================
   Team Cards
   ============================ */

body.theme-pt .card.card-team {
    text-align: left;
}

body.theme-pt .card.card-team .card-image {
    height: 350px;
    border-radius: 0;
    flex-shrink: 0;
}

body.theme-pt .card.card-team .card-image img {
    border-radius: 0;
}

body.theme-pt .card.card-team .card-body .designation {
    font-weight: 500;
    color: var(--color-text-muted);
    margin-bottom: 0;
    min-height: 2.8em; /* Handle longer titles gracefully */
    line-height: 1.4;
    display: flex;
    align-items: flex-start;
}

body.theme-pt .card.card-team .card-body hr {
    margin-top: 8px;
    margin-bottom: 8px;
}

body.theme-pt .card.card-team .contact-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 0;
    justify-content: flex-start;
}

/* ============================
   Team Profile Card
   ============================ */

body.theme-pt .card.card-team-profile {
    background: var(--card-bg);
    box-shadow: var(--card-shadow);
    border-radius: var(--card-radius);
    padding: 0;
    overflow: hidden;
    position: relative;
    z-index: 3;
}

body.theme-pt .single--team .card.card-team-profile {
    z-index: 3; /* Ensures card appears above the background */
}

body.theme-pt .card.card-team-profile .row > * {
    padding-right: 0;
    padding-left: 0;
}

body.theme-pt .card.card-team-profile .img {
    position: relative;
    overflow: hidden;
}

body.theme-pt .card.card-team-profile .img img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: top;
    border-top-left-radius: var(--card-radius);
    border-bottom-left-radius: var(--card-radius);
}

body.theme-pt .card.card-team-profile .row {
    align-items: stretch !important;
    margin-right: 0;
    margin-left: 0;
}

body.theme-pt .single--team .card.card-team-profile .col-lg-7:last-child,
body.theme-pt .card.card-team-profile .col-lg-7:last-child {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 400px !important; /* Ensure minimum height for proper flexbox behavior */
}

body.theme-pt .single--team .card.card-team-profile .col-lg-7 .inner,
body.theme-pt .card.card-team-profile .inner {
    padding: 30px !important; /* Remove top padding completely */
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    flex-grow: 1 !important; /* Fill available height in column */
    min-height: 100% !important; /* Ensure full height utilization */
    justify-content: space-between !important; /* Distribute space properly */
}

body.theme-pt .single--team .card.card-team-profile .inner .content-section,
body.theme-pt .card.card-team-profile .inner .content-section {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
}

body.theme-pt .card.card-team-profile h1 {
    font-size: var(--heading-size-h1);
    font-weight: var(--font-weight-bold);
    color: var(--heading-color-primary);
    line-height: var(--heading-line-height-tight);
    margin-top: 0;
    margin-bottom: 0.5rem;
}

body.theme-pt .card.card-team-profile h3 {
    font-size: var(--heading-size-h3);
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-muted);
    line-height: var(--heading-line-height-h3);
    margin-top: 0;
    margin-bottom: 1.5rem;
}

body.theme-pt .single--team .card.card-team-profile .col-lg-7 .inner .bio,
body.theme-pt .single--team .card.card-team-profile .inner .bio,
body.theme-pt .card.card-team-profile .inner .bio {
    display: flex !important;
    flex-direction: column !important; 
    justify-content: flex-start !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important; /* Allow shrinking if needed */
    margin-bottom: 20px !important; /* Consistent spacing before contact group */
    overflow-y: auto !important; /* Handle overflow content gracefully */
}

body.theme-pt .single--team .card.card-team-profile .inner .bio p {
    font-size: var(--body-text-secondary);
    line-height: var(--body-line-height-secondary);
    margin-bottom: 15px;
    color: var(--card-text-color);
}

body.theme-pt .single--team .card.card-team-profile .col-lg-7 .inner .contact-group,
body.theme-pt .single--team .card.card-team-profile .inner .contact-group,
body.theme-pt .card.card-team-profile .inner .contact-group {
    flex-shrink: 0 !important; /* Prevent shrinking */
    flex-grow: 0 !important; /* Don't grow, stay fixed size */
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: stretch !important; /* Ensure HR and UL take full width */
}

body.theme-pt .card.card-team-profile hr {
    width: 100%;
    min-height: 1px;
    border-color: var(--card-border-color);
    margin-top: 0;
    margin-bottom: 20px;
    opacity: 1;
}

body.theme-pt .card.card-team-profile ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: var(--space-lg);
}

body.theme-pt .card.card-team-profile ul li {
    margin-bottom: 15px;
}

body.theme-pt .card.card-team-profile ul li a {
    color: var(--card-text-color);
    text-decoration: none;
    font-size: 19px;
    font-weight: 500;
    transition: var(--card-transition-fast);
}

body.theme-pt .card.card-team-profile ul li a:hover {
    color: var(--primary-color);
}

body.theme-pt .card.card-team-profile ul li a i {
    margin-right: 8px;
    color: var(--primary-color);
}

/* ============================
   Agent Cards
   ============================ */

/* Height alignment support for vertical agent cards */
body.theme-pt .card.card-agent {
    text-align: left;
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.theme-pt .card.card-agent .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

body.theme-pt .card.card-agent .card-image {
    height: 350px;
    border-radius: 0;
    flex-shrink: 0;
}

body.theme-pt .card.card-agent .card-image img {
    border-radius: 0;
}

body.theme-pt .card.card-agent .card-body .designation {
    font-weight: 500;
    color: var(--color-text-muted);
    margin-bottom: 0;
    min-height: 2.8em; /* Handle longer titles gracefully */
    line-height: 1.4;
    display: flex;
    align-items: flex-start;
}

/* Agent card HR - part of footer group */
body.theme-pt .card.card-agent .card-body hr {
    border-color: var(--color-border-primary);
    opacity: 1;
    margin-top: 0; /* Override base card hr margin-top: auto */
    margin-bottom: var(--space-sm); /* Reduced spacing before contact info */
}

/* Contact info - part of footer group */
body.theme-pt .card.card-agent .contact-info {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 0; /* Remove auto margin - handled by footer group */
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    justify-content: flex-start;
    flex-shrink: 0;
}

/* ============================
   Agent Card - Horizontal Layout
   ============================ */

body.theme-pt .card.card-agent-horizontal {
    background: var(--card-bg);
    border: none;
    box-shadow: var(--card-shadow);
    border-radius: var(--card-radius);
    padding: 0;
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: row;
    min-height: 360px;
}

body.theme-pt .card.card-agent-horizontal .row > * {
    padding-right: 0;
    padding-left: 0;
}

body.theme-pt .card.card-agent-horizontal .card-image {
    width: 35%;
    height: 360px;
    margin: 0;
    border-radius: 0;
    overflow: hidden;
    flex-shrink: 0;
}

body.theme-pt .card.card-agent-horizontal .card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-top-left-radius: var(--card-radius);
    border-bottom-left-radius: var(--card-radius);
}

body.theme-pt .card.card-agent-horizontal .card-body {
    width: 65%;
    padding: var(--card-padding-lg);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: visible;
}

body.theme-pt .card.card-agent-horizontal .card-body h3 {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--space-xs);
    line-height: 1.2;
    color: var(--color-primary);
}

body.theme-pt .card.card-agent-horizontal .card-body h3 a {
    color: var(--color-primary);
    text-decoration: none;
}

body.theme-pt .card.card-agent-horizontal .card-body h3 a:hover {
    color: var(--color-accent);
    text-decoration: underline;
}

body.theme-pt .card.card-agent-horizontal .card-body .designation {
    font-weight: 500;
    color: var(--color-text-muted);
    margin-bottom: var(--space-sm);
    line-height: 1.3;
}

body.theme-pt .card.card-agent-horizontal .card-content {
    flex-grow: 1;
    margin-bottom: var(--space-md);
    font-size: 15px;
    line-height: 1.5;
}

body.theme-pt .card.card-agent-horizontal hr {
    border-color: var(--color-border-primary);
    opacity: 1;
    margin: var(--space-sm) 0;
}

body.theme-pt .card.card-agent-horizontal .contact-info {
    display: flex !important;
    flex-direction: row !important;
    gap: var(--space-lg);
    margin-top: auto;
    position: relative !important;
    z-index: 2 !important;
    padding: 0 !important;
    background: none !important;
    border-radius: 0 !important;
    width: 100% !important;
}

body.theme-pt .card.card-agent-horizontal .cinfo {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    position: relative !important;
}

body.theme-pt .card.card-agent-horizontal .cinfo img {
    width: 16px;
    height: 16px;
    position: static !important;
}

body.theme-pt .card.card-agent-horizontal .cinfo a {
    font-size: 14px;
    font-weight: 500;
    position: relative !important;
    z-index: 3 !important;
}

/* ============================
   Experience Cards
   ============================ */

body.theme-pt .card-link {
    color: inherit;
    text-decoration: none;
    display: flex;
    height: 100%;
}

body.theme-pt .experiences .card-link {
    padding-bottom: var(--space-lg);
}

body.theme-pt .card-link:hover,
body.theme-pt .card-link:focus {
    color: inherit;
    text-decoration: none;
}

body.theme-pt .card.card-experience {
    box-shadow: rgba(0, 0, 0, 0.08) 4px 4px 10px 0px;
    margin-bottom: var(--card-margin-bottom);  /* Use system margin for consistent shadow spacing */
    overflow: hidden;  /* Prevent child elements from bleeding outside border radius */
}

body.theme-pt .card.card-experience .card-header-title {
    padding: var(--card-padding-lg) var(--card-padding-lg) 0;
    background: var(--card-bg);
    border-radius: var(--card-radius) var(--card-radius) 0 0;  /* Top corners to match card */
}

body.theme-pt .card.card-experience .card-image {
    height: 300px;
    flex-shrink: 0;
    border-radius: 0;  /* No corners - positioned in middle between header and body */
}

body.theme-pt .card.card-experience .card-image img {
    object-fit: contain;
}

body.theme-pt .card.card-experience .card-body {
    padding: var(--card-padding-lg);
    border-radius: 0 0 var(--card-radius) var(--card-radius);  /* Bottom corners to match card */
}

body.theme-pt .card.card-experience .card-title,
body.theme-pt .card.card-experience h3.card-title {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
    color: var(--heading-color-primary);
    margin-bottom: var(--space-sm);
    line-height: var(--heading-line-height-tight);
    text-align: center;
}

body.theme-pt .card.card-experience .card-subtitle,
body.theme-pt .card.card-experience h4.card-subtitle {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-md);
    line-height: var(--line-height-normal);
    text-align: left;
}

body.theme-pt .card.card-experience .card-content {
    color: var(--color-text-primary);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--space-lg);
    font-size: var(--font-size-md);
    flex-grow: 1;
    text-align: left;
}

body.theme-pt .card.card-experience .card-content p {
    margin-bottom: var(--space-md);
}

body.theme-pt .card.card-experience .card-content p:last-child {
    margin-bottom: 0;
}

/* Button as part of footer group */
body.theme-pt .card.card-experience .btn {
    margin-top: 0; /* Remove auto margin - handled by footer group */
    align-self: center;
    flex-shrink: 0;
}

body.theme-pt .experiences .card-link {
    display: block;
    height: 100%;
    width: 100%;
}

/* ============================
   Dream Cards
   ============================ */

/* Dream Card - MIGRATED FROM pages-special.css
 * Remains specialized due to unique horizontal layout with fixed image width
 * Visual consistency maintained with card system through shared variables
 */
body.theme-pt .finding-dreams .dream-card {
    margin-bottom: var(--card-margin-bottom-sm);  /* Use system margin for --card-shadow-sm */
    display: block;
    padding: var(--card-dream-padding) var(--card-dream-padding);
    background-color: var(--card-bg);
    box-shadow: var(--card-shadow-sm);
    border-radius: var(--card-radius-xl);
    overflow: hidden;
}

body.theme-pt .finding-dreams .dream-card .dream-content-row {
    display: block;
    overflow: hidden; /* Clearfix for floated elements */
    margin-top: var(--space-md);
}

body.theme-pt .finding-dreams .dream-card .img {
    float: left;
    margin-right: var(--space-md); /* 16px gap between image and text */
    margin-bottom: var(--space-sm); /* 8px gap below image for wrapped text */
    width: 110px;
    height: auto;
}

body.theme-pt .finding-dreams .dream-card .img img {
    max-width: 110px;
    max-height: 108px;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: var(--radius-md);
}

body.theme-pt .finding-dreams .dream-card .text {
    display: block;
}

body.theme-pt .finding-dreams .dream-card h3 {
    color: var(--color-text-secondary);
    font-size: var(--card-subtitle-size);
    font-weight: 700;
    line-height: 1.364em;
    margin-bottom: 8px;
}

body.theme-pt .finding-dreams .dream-card p {
    margin-bottom: 0px;
    color: var(--card-text-muted);
}

/* ============================
   Dream Card Grid System
   ============================ */

/* Finding Dreams Section - Desktop-First Responsive Layout
 * Optimized for larger screens with progressive enhancement approach
 */

body.theme-pt .finding-dreams .dream-cards-grid {
    display: grid;
    gap: var(--space-xl);
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, auto);
}

body.theme-pt .finding-dreams .dream-card:nth-child(4) {
    grid-column: 1 / 2;
}

body.theme-pt .finding-dreams .dream-card:nth-child(5) {
    grid-column: 2 / 3;
}

body.theme-pt .finding-dreams .dream-card:nth-child(6) {
    grid-column: 3 / 4;
}

/* ============================
   City Cards
   ============================ */

/* Height alignment support for city cards */
body.theme-pt .card.card-city {
    height: 100%;
    display: flex;
    flex-direction: column;
}

body.theme-pt .card.card-city .card-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

body.theme-pt .card.card-city .card-image {
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    height: 250px;
    flex-shrink: 0;
}

/* HR divider as part of footer group */
body.theme-pt .card.card-city .card-body hr {
    border-color: var(--color-border-primary);
    opacity: 1;
    margin-top: 0; /* Remove auto margin - handled by footer group */
    margin-bottom: var(--space-sm);
}

/* Text link as part of footer group */
body.theme-pt .card.card-city .btn-link {
    text-decoration: none;
    color: var(--color-text-muted);
    margin-top: 0; /* Remove auto margin - handled by footer group */
    margin-bottom: 0;
    align-self: flex-start;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs, 8px);
}

body.theme-pt .card.card-city .btn-link img {
    width: 16px;
    height: auto;
    flex-shrink: 0;
}

/* ============================
   City Profile Card
   ============================ */

body.theme-pt .card.card-city-profile,
body.theme-pt .card-city-profile {
    background: var(--color-bg-secondary, #f9f9f9);
    border: 1px solid var(--color-border-primary);
    border-radius: var(--card-radius);
    box-shadow: 4px 4px 10px var(--card-shadow-light);
    padding: 0;
    overflow: hidden;
    margin-bottom: var(--card-margin-bottom);  /* Use system margin for consistent shadow spacing */
}

body.theme-pt .card.card-city-profile .img,
body.theme-pt .card.card-city-profile .card-image,
body.theme-pt .card-city-profile .img,
body.theme-pt .card-city-profile .card-image {
    border-radius: var(--card-city-partial-radius);
    box-shadow: var(--card-shadow-dark) 0px 3px 20px 0px;
    overflow: hidden;
    margin-bottom: var(--card-margin-bottom);
}

body.theme-pt .card.card-city-profile .col-lg-4,
body.theme-pt .card.card-city-profile .col-md-5,
body.theme-pt .card.card-city-profile .col-12:first-child,
body.theme-pt .card-city-profile .col-lg-4,
body.theme-pt .card-city-profile .col-md-5,
body.theme-pt .card-city-profile .col-12:first-child {
    padding-left: 0;
    padding-right: 0;
}

body.theme-pt .about-john .card.card-city-profile .img,
body.theme-pt .about-john .card-city-profile .img {
    margin-bottom: 0;
}

body.theme-pt .card.card-city-profile .card-body,
body.theme-pt .card.card-city-profile .section-title,
body.theme-pt .card-city-profile .card-body,
body.theme-pt .card-city-profile .section-title {
    padding-left: 40px;
}

body.theme-pt .card.card-city-profile .icons,
body.theme-pt .card-city-profile .icons {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: var(--card-text-dark);
}

body.theme-pt .card.card-city-profile .icons img,
body.theme-pt .card-city-profile .icons img {
    margin-right: 10px;
    width: 24px;
    height: auto;
}

body.theme-pt .card.card-city-profile .icons h4,
body.theme-pt .card-city-profile .icons h4 {
    display: inline;
    font-size: 18px;
    font-weight: 500;
    line-height: 24px;
    color: var(--card-text-dark);
    margin: 0;
}

body.theme-pt .card.card-city-profile .icons.first,
body.theme-pt .card-city-profile .icons.first {
    margin-bottom: 15px;
}

body.theme-pt .card.card-city-profile h2,
body.theme-pt .card.card-city-profile .card-title,
body.theme-pt .card-city-profile h2,
body.theme-pt .card-city-profile .card-title {
    font-size: 32px;
    font-weight: 700;
    line-height: 44px;
    color: var(--card-text-dark);
    margin-bottom: 12px;
}

/* ============================
   Partner Cards
   ============================ */

/* Height alignment support for partner cards */
body.theme-pt .card.card-partner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--card-padding-lg);
    min-height: 150px;
    height: 100%; /* Fill available height in row */
    flex-direction: column;
}

body.theme-pt .card.card-partner:hover {
    background-color: var(--card-bg-hover);
}

/* ============================
   Gallery Cards
   ============================ */

body.theme-pt .card.card-gallery,
body.theme-pt .card.card-gallery:focus,
body.theme-pt .card.card-gallery:active {
    position: relative;
}

body.theme-pt .card.card-gallery img,
body.theme-pt .card.card-gallery .card-image img {
    height: auto;
}

body.theme-pt .card.card-gallery .overlay,
body.theme-pt .card.card-gallery .card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--card-overlay-gradient);
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

body.theme-pt .card.card-gallery .overlay img,
body.theme-pt .card.card-gallery .card-overlay img {
    width: 48px;
    height: 48px;
    opacity: 1;
    filter: brightness(0) invert(1);
    position: static;
    border-radius: 0;
}

/* ========================================================================
   CONTENT-SPECIFIC CARDS
   ======================================================================== */

/* ============================
   Articles Section Cards
   ============================ */

body.theme-pt .articles-section .card .card-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

body.theme-pt .articles-section .card .card-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: left top;
    display: block;
    position: static;
    top: auto;
    left: auto;
}

body.theme-pt .articles-section .articles-grid .card .card-image img {
    position: static !important;
    height: auto !important;
    object-fit: contain !important;
    top: auto !important;
    left: auto !important;
}

/* ============================
   Flexible Card Layout
   ============================ */

body.theme-pt .articles-section .card-flexible {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
    gap: 0;
    min-height: auto;
    height: auto;
    overflow: hidden;
    border-radius: var(--card-radius);
}

body.theme-pt .articles-section .card-flexible .card-image {
    grid-column: 1;
    grid-row: 1;
    height: auto;
    overflow: visible;
    border-radius: var(--card-radius) var(--card-radius) 0 0;
    aspect-ratio: auto;
    min-height: 200px;
}

body.theme-pt .articles-section .card-flexible .card-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    display: block;
    border-radius: var(--card-radius) var(--card-radius) 0 0;
}

body.theme-pt .articles-section .card-flexible .card-body {
    grid-column: 1;
    grid-row: 2;
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border-radius: 0 0 var(--card-radius) var(--card-radius);
}

/* ============================
   Container Queries
   ============================ */

body.theme-pt .articles-section {
    container-type: inline-size;
}

@container (max-width: 400px) {
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 180px;
    }
    
    body.theme-pt .articles-section .card-flexible .card-body {
        padding: 1rem;
    }
}

/* ============================
   Blog Hero Section
   ============================ */

body.theme-pt .blog-hero {
    padding: var(--blog-hero-padding);
    background: var(--color-bg-primary);
    position: relative;
}

body.theme-pt .blog-breadcrumb .breadcrumb {
    background: none;
    padding: 0;
    margin: 0;
    font-size: var(--breadcrumb-font-size);
}

body.theme-pt .blog-breadcrumb .breadcrumb-item {
    color: var(--color-text-muted);
}

body.theme-pt .blog-breadcrumb .breadcrumb-item a {
    color: var(--color-primary);
    text-decoration: none;
}

body.theme-pt .blog-breadcrumb .breadcrumb-item a:hover {
    color: var(--color-accent);
    text-decoration: underline;
}

body.theme-pt .blog-breadcrumb .breadcrumb-item.active {
    color: var(--color-text-muted);
}

body.theme-pt .blog-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: var(--breadcrumb-separator-color);
    padding: 0 0.5rem;
}

body.theme-pt .blog-hero-content {
    gap: var(--blog-hero-content-gap);
    min-height: 400px;
    align-items: flex-start !important;
}

body.theme-pt .blog-hero-content {
    min-height: 200px;
    gap: 10px;
}

body.theme-pt .blog-hero .container {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

body.theme-pt .blog-hero .row {
    margin-left: -5px !important;
    margin-right: -5px !important;
}

body.theme-pt .blog-hero .row > [class*="col-"] {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

body.theme-pt .blog-header {
    max-width: 100%;
}

body.theme-pt .blog-title {
    font-size: var(--blog-title-size);
    font-weight: var(--blog-title-weight);
    line-height: var(--blog-title-line-height);
    color: var(--color-primary);
    margin-bottom: var(--space-lg);
    letter-spacing: -0.02em;
}

body.theme-pt .blog-meta {
    gap: var(--space-lg) !important;
    margin-bottom: var(--space-lg);
    flex-wrap: wrap;
}

body.theme-pt .blog-meta span,
body.theme-pt .blog-meta div {
    font-size: var(--blog-meta-size);
    color: var(--color-text-muted);
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

body.theme-pt .blog-meta .fa {
    color: var(--color-primary);
    font-size: 14px;
}

/* ============================
   Blog Categories and Badges
   ============================ */

body.theme-pt .blog-categories {
    display: flex;
    gap: var(--space-xs);
    flex-wrap: wrap;
}

body.theme-pt .badge-category {
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    padding: 4px 8px;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: none;
}

body.theme-pt .badge-buyer-questions {
    background-color: var(--badge-buyer-questions) !important;
    color: white !important;
}

body.theme-pt .badge-seller-questions {
    background-color: var(--badge-seller-questions) !important;
    color: white !important;
}

body.theme-pt .badge-market-insights {
    background-color: var(--badge-market-insights) !important;
    color: white !important;
}

body.theme-pt .badge-category:not([class*="badge-"]) {
    background-color: var(--badge-default) !important;
    color: white !important;
}

/* ============================
   Blog Content Elements
   ============================ */

body.theme-pt .blog-excerpt {
    font-size: var(--blog-excerpt-size);
    line-height: var(--line-height-relaxed);
    color: var(--color-text-secondary);
    margin-bottom: var(--space-xl);
}

body.theme-pt .blog-excerpt p {
    margin-bottom: var(--space-md);
}

body.theme-pt .blog-excerpt p:last-child {
    margin-bottom: 0;
}

/* ============================
   Social Sharing
   ============================ */

body.theme-pt .blog-social-share {
    display: flex;
    align-items: center;
    gap: var(--social-link-gap);
    flex-wrap: wrap;
}

body.theme-pt .blog-social-share .share-label {
    font-size: var(--blog-meta-size);
    font-weight: var(--font-weight-medium);
    color: var(--color-text-secondary);
    margin-right: var(--space-xs);
}

body.theme-pt .blog-social-share .social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--social-link-size);
    height: var(--social-link-size);
    border-radius: var(--social-link-border-radius);
    text-decoration: none;
    color: white;
    font-size: 16px;
    box-shadow: var(--card-shadow-sm);
}

body.theme-pt .blog-social-share .social-link:hover {
    box-shadow: var(--card-shadow);
}

body.theme-pt .blog-social-share .social-link.twitter {
    background-color: #1da1f2;
}

body.theme-pt .blog-social-share .social-link.twitter:hover {
    background-color: #0d8bd9;
}

body.theme-pt .blog-social-share .social-link.facebook {
    background-color: #1877f2;
}

body.theme-pt .blog-social-share .social-link.facebook:hover {
    background-color: #166fe5;
}

body.theme-pt .blog-social-share .social-link.linkedin {
    background-color: #0a66c2;
}

body.theme-pt .blog-social-share .social-link.linkedin:hover {
    background-color: #004182;
}

/* ============================
   Featured Media (Image and Video)
   ============================ */

body.theme-pt .blog-featured-media {
    position: relative;
    display: flex;
    align-items: center;
}

body.theme-pt .blog-featured-image {
    position: relative;
    display: flex;
    align-items: center;
}

body.theme-pt .blog-featured-media.col-lg-6 {
    height: 100%;
    min-height: 400px;
}

body.theme-pt .blog-featured-media.col-lg-6 {
    min-height: 200px;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

body.theme-pt .blog-featured-image.col-lg-3 {
    height: 100%;
    min-height: 400px;
}

body.theme-pt .blog-video-container {
    position: relative;
    width: 100%;
    margin: 0;
    cursor: pointer;
}

body.theme-pt .blog-featured-media.col-lg-6 .blog-video-container {
    height: 100%;
}

body.theme-pt .blog-video-thumbnail {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
    object-fit: cover;
    object-position: center;
    border-radius: var(--blog-image-border-radius);
    box-shadow: var(--blog-image-shadow);
}

body.theme-pt .blog-featured-media.col-lg-6 .blog-video-thumbnail {
    height: 100%;
    aspect-ratio: unset;
}

body.theme-pt .blog-video-container .play {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    opacity: 0.9;
}

body.theme-pt .blog-video-container:hover .play {
    opacity: 1;
}

body.theme-pt .blog-image-container {
    position: relative;
    width: 100%;
    margin: 0;
}

body.theme-pt .blog-featured-image.col-lg-3 .blog-image-container {
    height: 100%;
}

body.theme-pt .blog-featured-media.col-lg-6 .blog-image-container {
    height: 100%;
}

body.theme-pt .blog-featured-img {
    width: 100%;
    height: auto;
    aspect-ratio: var(--blog-image-aspect-ratio);
    object-fit: cover;
    object-position: center;
    border-radius: var(--blog-image-border-radius);
    box-shadow: var(--blog-image-shadow);
}

body.theme-pt .blog-featured-image.col-lg-3 .blog-featured-img {
    height: 100%;
    aspect-ratio: unset;
}

body.theme-pt .blog-image-caption {
    font-size: var(--font-size-sm);
    color: var(--color-text-muted);
    text-align: center;
    margin-top: var(--space-sm);
    font-style: italic;
}

/* ========================================================================
   RESPONSIVE DESIGN
   ======================================================================== */

/* ============================
   Mobile Bootstrap Row/Column Spacing Fix
   ============================ */

@media (max-width: 767.98px) {
    .aboutteam .row.pb-5.mb-1 {
        margin-left: calc(-1 * var(--bs-gutter-x, 1.5rem)) !important;
        margin-right: calc(-1 * var(--bs-gutter-x, 1.5rem)) !important;
        margin-bottom: var(--space-xs, 4px) !important;
    }
    
    .aboutteam .row.card-row .col {
        padding-left: var(--bs-gutter-x, 1.5rem) !important;
        padding-right: var(--bs-gutter-x, 1.5rem) !important;
    }
}

/* ============================
   Property Card Responsive
   ============================ */

@media (min-width: 768px) and (max-width: 991px) {
    body.theme-pt .card.card-property .prop-feat-left {
        gap: var(--space-md);
    }
    
    body.theme-pt .card.card-property .prop-feat-right h4 {
        font-size: var(--font-size-xl);
    }
}

@media (max-width: 767px) {
    body.theme-pt .card.card-property .prop-feat {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-sm);
    }
    
    body.theme-pt .card.card-property .prop-feat-left {
        gap: var(--space-xl);
        width: 100%;
    }
    
    body.theme-pt .card.card-property .prop-feat-right {
        width: 100%;
        justify-content: flex-end;
    }
    
    body.theme-pt .card.card-property .prop-feat-right h4 {
        font-size: var(--font-size-lg);
        text-align: right;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat > div {
        font-size: var(--font-size-xs);
        gap: 6px;
        font-weight: var(--font-weight-medium);
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat > div img {
        margin-right: 4px;
        width: 14px;
        height: 14px;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex {
        gap: var(--space-xl);
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex > div {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 4px;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex > div img {
        margin-right: 4px;
        width: 14px;
        height: 14px;
    }
}

@media (max-width: 576px) {
    body.theme-pt .card.card-property .prop-feat-left {
        gap: var(--space-xl);
    }
    
    body.theme-pt .card.card-property .prop-feat-right h4 {
        font-size: var(--font-size-md);
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat > div {
        font-size: 11px;
        gap: 5px;
        font-weight: var(--font-weight-medium);
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        flex-wrap: nowrap;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat > div img {
        margin-right: 3px;
        width: 12px;
        height: 12px;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex {
        gap: var(--space-xl);
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex > div {
        display: flex;
        align-items: center;
        flex-direction: row;
        gap: 3px;
    }
    
    body.theme-pt .card.card-property.card-clickable .prop-feat-left.d-flex > div img {
        margin-right: 3px;
        width: 12px;
        height: 12px;
    }
}

/* ============================
   Team Profile Mobile Responsive
   ============================ */

@media (max-width: 991.98px) {
    .single--team .card.card-team-profile {
        margin-top: 20px;
    }
    
    .single--team .card.card-team-profile .row {
        margin: 0;
    }
    
    .single--team .card.card-team-profile .col-lg-5,
    .single--team .card.card-team-profile .col-lg-7 {
        padding: 0;
    }
}

@media (max-width: 767.98px) {
    body.theme-pt .card.card-team-profile .img img {
        height: auto;
        border-radius: var(--card-radius) var(--card-radius) 0 0;
    }
    
    body.theme-pt .card.card-team-profile .row {
        align-items: stretch !important;
    }
    
    body.theme-pt .single--team .card.card-team-profile .col-lg-7:last-child,
    body.theme-pt .card.card-team-profile .col-lg-7:last-child {
        display: flex !important;
        flex-direction: column !important;
        min-height: 300px !important; /* Mobile minimum height */
    }
    
    body.theme-pt .single--team .card.card-team-profile .col-lg-7 .inner,
    body.theme-pt .card.card-team-profile .inner {
        padding: 15px !important; /* Remove top padding on mobile */
        display: flex !important;
        flex-direction: column !important;
        height: 100% !important;
        flex-grow: 1 !important;
        min-height: 100% !important; /* Ensure full height utilization on mobile */
        justify-content: space-between !important; /* Distribute space properly on mobile */
    }
    
    body.theme-pt .single--team .card.card-team-profile .inner .content-section,
    body.theme-pt .card.card-team-profile .inner .content-section {
        display: flex !important;
        flex-direction: column !important;
        flex-grow: 1 !important;
        flex-shrink: 1 !important;
    }
    
    body.theme-pt .card.card-team-profile h1 {
        font-size: var(--heading-size-h1) !important;
        line-height: 1.3 !important;
        margin-bottom: 0.4rem !important;
    }
    
    body.theme-pt .card.card-team-profile h3 {
        font-size: var(--heading-size-h3) !important;
        line-height: 1.4 !important;
        margin-bottom: 1rem !important;
    }
    
    body.theme-pt .single--team .card.card-team-profile .col-lg-7 .inner .bio,
    body.theme-pt .single--team .card.card-team-profile .inner .bio,
    body.theme-pt .card.card-team-profile .inner .bio {
        flex-grow: 1 !important;
        flex-shrink: 1 !important; /* Allow shrinking on mobile */
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        margin-bottom: 15px !important; /* Mobile spacing before contact group */
        overflow-y: auto !important; /* Handle mobile content overflow */
    }
    
    body.theme-pt .single--team .card.card-team-profile .inner .bio p {
        font-size: var(--body-text-secondary);
        line-height: var(--body-line-height-secondary);
    }
    
    body.theme-pt .card.card-team-profile ul li a {
        font-size: var(--font-size-md);
    }
    
    body.theme-pt .card.card-team-profile hr {
        margin-top: 0;
        margin-bottom: 15px;
    }
    
    body.theme-pt .single--team .card.card-team-profile .col-lg-7 .inner .contact-group,
    body.theme-pt .single--team .card.card-team-profile .inner .contact-group,
    body.theme-pt .card.card-team-profile .inner .contact-group {
        flex-shrink: 0 !important;
        flex-grow: 0 !important; /* Don't grow on mobile */
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        align-items: stretch !important; /* Ensure HR and UL take full width on mobile */
    }
    
    .card-team-profile .contact-info a {
        display: inline-block;
        padding: var(--space-sm) var(--space-xs);
        margin: 4px 0;
        min-height: var(--touch-target-min-height);
        min-width: var(--touch-target-min-width);
        text-decoration: none;
        border-radius: var(--radius-sm);
        transition: var(--transition-background);
        text-align: center;
        justify-content: center;
        align-items: center;
    }
    
    .card-team-profile .contact-info a:hover {
        background-color: var(--color-overlay-light);
    }
}

/* ============================
   Experience Section Layout Responsive
   ============================ */

@media (min-width: 992px) {
    body.theme-pt .experiences .col-lg-6 {
        padding-left: var(--bs-gutter-x, 0.75rem);
        padding-right: var(--bs-gutter-x, 0.75rem);
    }
    
    body.theme-pt .experiences .card.card-experience {
        width: 100%;
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    body.theme-pt .experiences .container {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* ============================
   Experience Card Responsive Design
   ============================ */

@media (max-width: 991.98px) {
    body.theme-pt .card.card-experience .card-image {
        height: 250px;
    }
    
    body.theme-pt .card.card-experience .card-body {
        padding: var(--card-padding);
    }
    
    body.theme-pt .card.card-experience .card-title,
    body.theme-pt .card.card-experience h3.card-title {
        font-size: var(--font-size-xl);
    }
}

@media (max-width: 575.98px) {
    body.theme-pt .card.card-experience .card-image {
        height: 200px;
    }
    
    body.theme-pt .card.card-experience .card-body {
        padding: var(--card-padding-sm);
    }
    
    body.theme-pt .card.card-experience .card-title,
    body.theme-pt .card.card-experience h3.card-title {
        font-size: var(--font-size-lg);
    }
    
    body.theme-pt .card.card-experience .card-subtitle,
    body.theme-pt .card.card-experience h4.card-subtitle {
        font-size: var(--font-size-md);
    }
    
    body.theme-pt .card.card-experience .card-content {
        font-size: var(--font-size-sm);
    }
}

/* ============================
   Dream Card Responsive Design
   ============================ */

@media (max-width: 1199.98px) and (min-width: 992px) {
    body.theme-pt .finding-dreams .dream-cards-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, auto);
        gap: var(--space-lg);
    }
}

@media (max-width: 991.98px) and (min-width: 768px) {
    body.theme-pt .finding-dreams .dream-cards-grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto);
        gap: var(--space-lg);
    }
    
    body.theme-pt .finding-dreams .dream-card:nth-child(4),
    body.theme-pt .finding-dreams .dream-card:nth-child(5),
    body.theme-pt .finding-dreams .dream-card:nth-child(6) {
        grid-column: auto;
    }
    
    body.theme-pt .finding-dreams .dream-card {
        padding: var(--space-md) var(--space-lg);
        margin-bottom: var(--space-lg);
    }
}

@media (max-width: 767.98px) {
    body.theme-pt .finding-dreams .dream-cards-grid {
        grid-template-columns: 1fr;
        grid-template-rows: repeat(6, auto);
        gap: var(--space-md);
    }
    
    body.theme-pt .finding-dreams .dream-card {
        padding: var(--space-sm) var(--space-md);
        margin-bottom: var(--space-md);
    }
    
    body.theme-pt .finding-dreams .dream-card .img {
        width: 90px;
        margin-right: var(--space-sm);
    }
    
    body.theme-pt .finding-dreams .dream-card .img img {
        max-width: 90px;
        max-height: 88px;
    }
}

@media (max-width: 575.98px) {
    body.theme-pt .finding-dreams .dream-card {
        padding: var(--space-xs) var(--space-sm);
    }
    
    body.theme-pt .finding-dreams .dream-card h3 {
        font-size: var(--font-size-lg);
        margin-bottom: 6px;
    }
    
    body.theme-pt .finding-dreams .dream-card .img {
        width: 80px;
        margin-right: var(--space-xs);
    }
    
    body.theme-pt .finding-dreams .dream-card .img img {
        max-width: 80px;
        max-height: 78px;
    }
}

/* ============================
   Articles Responsive Design Fallbacks
   ============================ */

@media (max-width: 1199.98px) {
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 220px;
    }
}

@media (max-width: 991.98px) {
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 240px;
    }
}

@media (max-width: 767.98px) {
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 280px;
    }
    
    body.theme-pt .articles-section .card-flexible .card-body {
        padding: 1.5rem;
    }
}

@media (max-width: 575.98px) {
    body.theme-pt .articles-section .card-flexible .card-image {
        min-height: 220px;
    }
    
    body.theme-pt .articles-section .card-flexible .card-body {
        padding: 1rem;
    }
}

/* ============================
   Blog Hero Responsive Design
   ============================ */

@media (min-width: 992px) {
    body.theme-pt .blog-hero-content {
        display: block !important;
        font-size: 0 !important; /* Remove whitespace between inline-block elements */
    }
    
    body.theme-pt .blog-header.mb-4 {
        margin-bottom: 10px !important;
    }
    
    body.theme-pt .blog-meta.mb-3 {
        margin-bottom: 8px !important;
    }
    
    body.theme-pt .blog-title {
        margin-bottom: 8px !important;
    }
    
    body.theme-pt .blog-meta {
        margin-bottom: 5px !important;
    }
    
    body.theme-pt section.blog-hero .row.blog-hero-content .col-lg-6.blog-content-primary {
        flex: 0 0 auto !important;
        width: 50% !important;
        display: inline-block !important;
        vertical-align: top !important;
        position: relative !important;
        font-size: 16px !important; /* Reset font-size */
        max-width: 50% !important;
        flex-basis: 50% !important;
    }

    body.theme-pt section.blog-hero .row.blog-hero-content .col-lg-6.blog-featured-media {
        flex: 0 0 auto !important;
        width: 50% !important;
        display: inline-block !important;
        vertical-align: top !important;
        position: relative !important;
        font-size: 16px !important; /* Reset font-size */
        max-width: 50% !important;
        flex-basis: 50% !important;
    }
}

body.theme-pt section.blog-hero .row.blog-hero-content::after {
    content: "";
    display: table;
    clear: both;
}

@media (min-width: 1200px) {
    body.theme-pt .blog-hero-content {
        min-height: 220px;
    }
    
    body.theme-pt .blog-title {
        font-size: 42px;
    }
}

@media (max-width: 991.98px) {
    body.theme-pt .blog-hero {
        padding: var(--blog-hero-padding-mobile);
    }
    
    body.theme-pt .blog-hero-content {
        gap: var(--space-xl);
        min-height: auto;
    }
    
    body.theme-pt .blog-content-primary {
        order: 1;
    }
    
    body.theme-pt .blog-featured-image {
        order: 2;
        margin-top: var(--space-lg);
    }
    
    body.theme-pt .blog-meta {
        justify-content: flex-start;
    }
    
    body.theme-pt .blog-hero .col-lg-6.blog-content-primary,
    body.theme-pt .blog-hero .col-lg-6.blog-featured-media {
        width: 100% !important;
    }
    
    body.theme-pt .blog-hero .col-lg-9.blog-content-primary,
    body.theme-pt .blog-hero .col-lg-3.blog-featured-image {
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    body.theme-pt .blog-hero-content {
        gap: 15px !important;
    }
    
    body.theme-pt .blog-breadcrumb {
        margin-bottom: var(--space-md);
    }
    
    body.theme-pt .blog-breadcrumb .breadcrumb {
        flex-wrap: wrap;
    }
    
    body.theme-pt .blog-header.mb-4 {
        margin-bottom: 10px !important;
    }
    
    body.theme-pt .blog-title {
        font-size: 28px;
        margin-bottom: var(--space-md);
    }
    
    body.theme-pt .blog-meta {
        gap: var(--space-md) !important;
        margin-bottom: var(--space-md);
    }
    
    body.theme-pt .blog-excerpt {
        font-size: var(--font-size-md);
        margin-bottom: var(--space-lg);
    }
    
    body.theme-pt .blog-social-share {
        justify-content: flex-start;
    }
    
    body.theme-pt .blog-featured-media {
        margin-top: 10px !important;
        padding: 0 !important;
    }
    
    body.theme-pt .blog-featured-media.col-lg-6 {
        min-height: unset !important;
        height: auto !important;
    }
    
    body.theme-pt .blog-featured-media .ratio {
        margin: 0 !important;
    }
    
    body.theme-pt .blog-featured-image {
        margin-top: var(--space-md);
    }
    
    body.theme-pt .blog-featured-img {
        aspect-ratio: 4/3;
    }
}

@media (max-width: 575.98px) {
    body.theme-pt .blog-hero-content {
        gap: 10px !important;
    }
    
    body.theme-pt .blog-featured-media {
        margin-top: 5px !important;
    }
    
    body.theme-pt .blog-header.mb-4 {
        margin-bottom: 5px !important;
    }
    
    body.theme-pt .blog-breadcrumb .breadcrumb-item {
        font-size: 12px;
    }
    
    body.theme-pt .blog-title {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 10px !important;
    }
    
    body.theme-pt .blog-meta {
        flex-direction: column;
        align-items: flex-start !important;
        gap: var(--space-sm) !important;
        margin-bottom: 5px !important;
    }
    
    body.theme-pt .social-link-size {
        --social-link-size: 36px;
    }
}

/* ============================
   Blog Hero Accessibility
   ============================ */

body.theme-pt .blog-breadcrumb a:focus,
body.theme-pt .blog-social-share .social-link:focus {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body.theme-pt .blog-featured-img,
    body.theme-pt .blog-social-share .social-link {
    }
    
    body.theme-pt .blog-featured-img:hover,
    body.theme-pt .blog-social-share .social-link:hover {
    }
}

@media (prefers-contrast: high) {
    body.theme-pt .blog-meta .fa {
        color: var(--color-text-primary);
    }
    
    body.theme-pt .blog-social-share .social-link {
        border: 2px solid var(--color-text-primary);
    }
}