/* Shared safeguards for compact screens. Keep page colors and backgrounds. */
.project-collection .projects-hero {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.project-collection .projects-hero > *,
.project-collection .projects-section-heading > * {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}
.project-collection .projects-section-heading > * {
    flex-shrink: 1;
}
.project-collection .projects-hero-description,
.project-collection .projects-heading-desc {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    white-space: normal;
}
.project-collection .projects-heading-desc p,
.project-collection .projects-hero-description p {
    overflow-wrap: anywhere;
    white-space: normal;
}
.project-collection .projects-hero-caption {
    max-width: calc(100% - 32px);
    white-space: normal;
    overflow-wrap: anywhere;
    box-sizing: border-box;
}
@media (max-width: 700px) {
    .project-collection .projects-hero {
        grid-template-columns: minmax(0, 1fr);
    }
    .project-collection .projects-hero h1 {
        font-size: clamp(34px, 10vw, 52px);
        overflow-wrap: anywhere;
    }
}
@media (max-width: 768px) {
    .interior-detail .design-comparisons,
    .project-story-page .design-comparisons,
    .interior-detail .design-floor-plans {
        grid-template-columns: minmax(0, 1fr);
    }
    .design-comparison-control {
        flex-wrap: wrap;
        min-width: 0;
    }
    .design-comparison-control .control-label {
        max-width: 100%;
        white-space: normal;
    }
    .design-comparison-control input[type="range"] {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
}
@media (max-width: 359px) {
    .site-header .navbar-shell {
        padding-inline: 10px !important;
    }
    .site-header .navbar {
        gap: 8px;
        min-width: 0;
    }
    .site-header .navbar-logo {
        flex: 0 0 auto;
        width: auto !important;
    }
    .site-header .navbar-logo img {
        width: auto !important;
        max-width: 56px !important;
        max-height: 44px !important;
    }
    .site-header .navbar-actions {
        gap: 6px !important;
    }
    .site-header .navbar-icon,
    .site-header .profile-button,
    .site-header .profile-avatar,
    .site-header .navbar-toggle {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        padding-inline: 0 !important;
    }
    .site-header .navbar-toggle svg {
        width: 22px;
    }
    .calculator-page .calculator-steps-list {
        grid-template-columns: minmax(0, 1fr);
    }
    .calculator-page .calculator-step,
    .calculator-page .step-text,
    .calculator-page .calculator-screen,
    .calculator-page .bhk-option,
    .calculator-page .bhk-option-info,
    .calculator-page .room-option,
    .calculator-page .package-option,
    .calculator-page .calculator-form-group {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
    .calculator-page .bhk-options,
    .calculator-page .room-options,
    .calculator-page .package-options,
    .calculator-page .calculator-step4-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .calculator-page .bhk-option {
        padding: 18px 14px;
        gap: 10px;
    }
    .calculator-page .step-text strong {
        white-space: normal;
    }
    .calculator-modal .calculator-modal-box {
        max-width: calc(100vw - 24px);
        padding: 28px 18px;
        box-sizing: border-box;
    }
    .calculator-modal .summary-submit {
        padding-inline: 12px;
        gap: 8px;
        white-space: normal;
    }
    .contact-page-refined .contact-card-item,
    .contact-page-refined .enquiry-form,
    .contact-page-refined .form-group {
        min-width: 0;
        max-width: 100%;
    }
    .contact-page-refined .contact-card-item a,
    .contact-page-refined .form-group small,
    .calculator-page .calculator-form-group small {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 991px) {
    .mobile-menu { z-index: 11010 !important; }
    .mobile-menu-overlay { z-index: 11000 !important; }
}

@media (max-width: 359px) {
    .site-header .navbar-icon .cart-count,
    .site-header .navbar-icon .wishlist-count {
        right: 0 !important;
        left: auto !important;
    }
    .cart-page .cart-item-info { min-width: 0 !important; }
    .cart-page .cart-item-actions {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        gap: 10px !important;
    }
    .cart-page .quantity-control {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) minmax(24px, auto) minmax(0, 1fr);
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    .cart-page .quantity-control button,
    .cart-page .quantity-control span {
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box;
    }
    .cart-page .cart-remove-btn,
    .cart-page .cart-buy-item-btn {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 44px;
        padding: 10px 8px !important;
        white-space: normal !important;
        box-sizing: border-box;
    }
}

@media (max-width: 575px) {
    .calculator-page .room-option {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 12px;
        padding: 18px 14px;
    }
    .calculator-page .room-info { min-width: 0; overflow-wrap: anywhere; }
    .calculator-page .room-counter {
        grid-column: 1 / -1;
        justify-self: end;
        max-width: 100%;
    }
    .calculator-page .room-counter button { width: 40px; height: 40px; }
    .calculator-page .package-price-row { flex-wrap: wrap; gap: 10px; }
    .calculator-page .calc-phone-prefix { flex-shrink: 0; white-space: nowrap; }
    .calculator-page .calc-phone-wrap input { flex: 1; min-width: 0; }
    .calculator-page .calculator-form-group label { flex-wrap: wrap; }
    .calculator-page .whatsapp-pill { min-width: 0; overflow-wrap: anywhere; }
}
@media (max-width: 359px) {
    .calculator-page .package-content { padding: 20px 14px; }
    .calculator-page .calculator-form-group input { padding-inline: 10px; }
    .calculator-page .calc-phone-prefix { padding-inline: 8px; }
    .calculator-page .calculator-question,
    .calculator-page .package-content,
    .calculator-page .calculator-form-group label { overflow-wrap: anywhere; }
}

@media (max-width: 575px) {
    .checkout-address-item .addr-item-top,
    .checkout-address-item .addr-item-radio-wrap,
    .checkout-address-item .addr-item-actions {
        flex-wrap: wrap;
        gap: 10px;
        max-width: 100%;
        min-width: 0;
    }
    .checkout-address-item .addr-radio-input { flex: 0 0 18px; }
    .checkout-address-item .addr-badge-default { white-space: normal; }
    .checkout-address-item .addr-text-details { overflow-wrap: anywhere; }
}
@media (max-width: 359px) {
    .calculator-page .calculator-snapshot-card {
        min-width: 0;
        padding: 20px 14px;
    }
    .calculator-page .snapshot-live-price { padding: 16px 10px; }
    .calculator-page .snapshot-live-price strong,
    .calculator-modal .summary-price strong {
        font-size: clamp(28px, 10vw, 34px);
        overflow-wrap: anywhere;
    }
    .calculator-page .snapshot-item { gap: 8px; }
    .checkout-container .checkout-address-card { padding: 20px 16px; }
    .checkout-container .checkout-address-item { padding: 16px 12px; }
}

@media (max-width: 359px) {
    .checkout-container .checkout-delivery-card,
    .checkout-container .checkout-payment-box,
    .checkout-container .checkout-summary-box { padding: 20px 16px; min-width: 0; }
    .checkout-container .checkout-delivery-grid { grid-template-columns: minmax(0, 1fr); }
    .checkout-container .checkout-delivery-option {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 18px 14px;
        box-sizing: border-box;
    }
    .checkout-container .delivery-option-middle,
    .checkout-container .checkout-delivery-card-header,
    .checkout-container .checkout-pay-item,
    .checkout-container .checkout-summary-row,
    .checkout-container .checkout-summary-total {
        flex-wrap: wrap;
        gap: 12px;
    }
    .checkout-container .delivery-selected-check { right: 8px; top: 8px; }
    .checkout-container .delivery-time-block { white-space: normal; }
    .checkout-container .checkout-pay-left { min-width: 0; }
    .checkout-container .checkout-pay-left label { white-space: normal; }
}
