﻿ul {
    list-style-type: none;
    margin-bottom: 10px;
    padding-left: 0 !important;
}

ul li {
    padding: 5px 0;
}

.mainhead {
    /* background-color: #d24a00; */
    /* background-color: #f38323; */
    /* background-color: #feb20d; */
    background-color: #ffe3b6;
    color: #d92c1e;
}

.mainhead .navbar{
    background-color: #E8610A;
    padding: 18px 0;
    min-height: 110px;
}
.mainhead .navbar .site-logo__title{ color:#fff !important; font-size:22px; }
.mainhead .navbar .site-logo__tagline{ color:#fff1dd !important; font-size:13px; }
.mainhead .navbar .nav-link{ color:#fff; font-size:16px; }
.mainhead .navbar .nav-link:hover,
.mainhead .navbar .nav-link.active{ color:#fff2b2; }
.mainhead .navbar .customshadow{
    background:#fff;
    border-color:#fff !important;
}

/* Header banner image replaces navbar */
.mainhead .navbar.header-banner-nav{
    background:#fff;
    padding:0;
    min-height:0;
    display:block;
}
.header-banner-img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    display:block;
}
@media (max-width: 991px){
    .header-banner-img{ height:auto; }
}
@media (max-width: 575px){
    .header-banner-img{ height:auto; }
}

/* Thick white divider under banner */
.header-divider{
    height:8px;
    background:#ffffff;
    border-top:1px solid #eee;
    border-bottom:1px solid #eee;
}

/* Info strip: logo left + 3 non-clickable date badges right */
.header-info-strip{
    background:#ffffff;
    padding:10px 0;
    border-bottom:3px solid #138A36;
    width:100%;
}
.header-info-strip > .container-fluid{
    padding-left:16px;
    padding-right:16px;
    max-width:100%;
}
.header-info-row{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    flex-wrap:nowrap;
}
.header-info-logo{
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
}
.header-info-logo img{
    width:64px;
    height:64px;
    object-fit:contain;
    background:#fff;
    padding:4px;
    border-radius:10px;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
    transition:transform .2s ease;
}
.header-info-logo:hover img{ transform:scale(1.04); }

.header-info-badges{
    display:flex;
    gap:10px;
    flex-wrap:nowrap;
    justify-content:flex-start;
    flex:1 1 auto;
    min-width:0;
}
.date-badge{
    display:inline-flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:18px 22px;
    min-height:64px;
    background:#F57C00;
    color:#fff;
    border-radius:12px;
    box-shadow:none;
    min-width:0;
    flex:1 1 0;
    cursor:default;
    user-select:none;
    pointer-events:none;
    border:2px solid rgba(255,255,255,.4);
    white-space:nowrap;
    animation: orangeGreenBlink 1.6s steps(1,end) infinite;
}
.date-badge__label{
    font-size:16px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    line-height:1.2;
    opacity:.98;
}

/* Stagger the three badges so they blink in sequence */
.header-info-badges .date-badge:nth-child(1){ animation-delay: 0s; }
.header-info-badges .date-badge:nth-child(2){
    animation-name: yellowGreenBlink;
    animation-delay: .4s;
    background:#FFD600;
    color:#1a1a1a;
    box-shadow:none;
}
.header-info-badges .date-badge:nth-child(3){ animation-delay: .8s; }

/* Blink: solid ORANGE → solid GREEN, repeating. No grey. */
@keyframes orangeGreenBlink{
    0%, 50%   { background:#F57C00; color:#fff; box-shadow:none; }
    50.01%,100%{ background:#138A36; color:#fff; box-shadow:none; }
}

/* Blink: solid YELLOW → solid GREEN, repeating. No grey. */
@keyframes yellowGreenBlink{
    0%, 50%   { background:#FFD600; color:#1a1a1a; box-shadow:none; }
    50.01%,100%{ background:#138A36; color:#fff; box-shadow:none; }
}


@media (max-width: 991px){
    .header-info-badges{ gap:8px; }
    .date-badge{ padding:14px 12px; min-height:54px; }
    .date-badge__label{ font-size:14px; letter-spacing:.6px; }
    .header-info-logo img{ width:54px; height:54px; }
}
@media (max-width: 767px){
    .header-info-row{ flex-wrap:wrap; justify-content:center; }
    .header-info-badges{ width:100%; justify-content:center; }
}
@media (max-width: 575px){
    .date-badge{ padding:12px 8px; min-height:48px; }
    .date-badge__label{ font-size:12px; letter-spacing:.4px; }
    .header-info-logo img{ width:46px; height:46px; }
}
.header-menu-btn{
    position:absolute;
    top:14px;
    right:18px;
    z-index:20;
    background:rgba(255,255,255,.92);
    border:0;
    border-radius:8px;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 3px 10px rgba(0,0,0,.15);
    transition:background .2s ease, transform .2s ease;
}
.header-menu-btn:hover{ background:#fff; transform:scale(1.05); }
.header-menu-btn:focus{ box-shadow:0 0 0 3px rgba(19,138,54,.35); outline:0; }
@media (max-width: 575px){
    .header-menu-btn{ top:8px; right:8px; width:40px; height:40px; }
}

.nav-link {
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s;
}

.nav-link.active {
    font-weight: 700;
    font-size: 18px;
}

.mainhead .navbar-brand {
    color: #d92c1e;
    font-size: 32px;
    font-weight: 600;
}

.headertop {
    background-color: #138A36;
    color: #fff !important;
    padding: 14px 0;
    min-height: 48px;
    display: flex;
    align-items: center;
}

.headertop p {
    margin-bottom: 0;
}

.headertop a {
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
}

.bannerfold {
    position: relative;
    z-index: 8;
}

.page-title {
    font-weight: 600;
    font-size: 38px !important;
}

.sub-heading {
    margin: 15px 0;
}

.custombutton {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 1000;
    transform: translateX(53px) rotate(90deg);
}

.custombutton a {
    background-color: #11317a;
    padding: 15px 20px;
    border-radius: 0px 0px 20px 20px;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none;
}

.bannerfold img {
    height: 620px;
    object-fit: cover;
    object-position: top center;
}

.customtextfold {
    position: absolute;
    top: 8%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    width: 92%;
    max-width: 1100px;
    text-align:left;
}
.customtextfold h1{
    font-size:clamp(1.4rem, 3vw, 2.1rem);
    font-weight:700;
    line-height:1.25;
    margin:0 0 10px;
}
.customtextfold .bannershorttext{
    font-size:clamp(.95rem, 1.6vw, 1.1rem);
    margin:0 0 14px;
    opacity:.95;
}

/* Two-column pointer lists inside hero — SIDE BY SIDE */
.customtextfold .pointsmain-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:1fr;
    gap:6px 24px;
}
/* Wrap both lists together into 2 columns on desktop */
.customtextfold{ display:flex; flex-direction:column; }
.customtextfold .hero-points-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 32px;
    align-items:start;
}
.customtextfold .pointsmain{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:clamp(.85rem, 1.4vw, 1rem);
    font-weight:500;
    line-height:1.4;
    margin:0;
    padding:3px 0;
}
.customtextfold .pointsmain svg{
    width:18px;
    height:18px;
    flex-shrink:0;
    padding:0;
    margin:0;
}
.usp-list .pointsmain{ font-weight:600; }
.usp-list .pointsmain svg{ width:20px; height:20px; }

@media (max-width:767px){
    .customtextfold .hero-points-wrap{ grid-template-columns:1fr; gap:6px; }
    .customtextfold{ top:auto; left:auto; transform:none; position:relative; width:100%; max-width:100%; padding:18px 16px; background:rgba(0,0,0,.6); }
}

.carousel-item {
    position: relative;
}


/* .carousel-item::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
    background-color: rgb(0 0 0 / 23%);
    z-index: 9;
} */

.customtextfold {
    color: #fff;
}

.customshadow {
    box-shadow: none !important;
    border-color: #d92c1e;
    border-width: 2px;
    border-radius: 8px;
}

.customshadow:focus {
    box-shadow: none !important;
}

.customicon svg {
    width: 30px;
}


/* banner potins */

.pointsmain svg {
    width: 30px;
    padding-right: 15px;
    margin-bottom: -12px;
}

.pointsmain {
    font-weight: 500;
    font-size: 17px;
}

.overview {
    padding: 50px 0;
}


/* Section */

.info-section {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    padding: 40px 60px;
}


/* Box */

.info-box {
    text-align: center;
}


/* Icon */

.icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 15px;
    /* background: #111; */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon i {
    color: #fff;
    font-size: 22px;
}


/* Heading */

.info-box h4 {
    font-size: 14px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
    font-weight: 600;
}


/* Text */

.info-box p {
    font-size: 18px;
    font-weight: 500;
    color: #111;
}


/* Tablet */

@media (max-width: 991px) {
    .info-section {
        grid-template-columns: repeat(2, 1fr);
        padding: 30px;
        gap: 25px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .info-section {
        grid-template-columns: 1fr;
        padding: 20px;
    }
    .info-box p {
        font-size: 16px;
    }
    .mainhead .navbar-brand {
        font-size: 18px !important;
    }
    .customtextfold {
        top: 10% !important;
    }
    .customtextfold h1 {
        font-size: 30px;
    }
    .customtextfold h3 {
        font-size: 17px;
    }
    .pointsmain {
        font-size: 14px;
    }
}


/* Section */

.highlights-section {
    padding: 80px 20px;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Header */

.section-header {
    text-align: center;
    margin-bottom: 50px;
}

.section-header h2 {
    font-size: 42px;
    letter-spacing: 2px;
    margin-bottom: 10px;
    font-weight: 600;
}

.section-header p {
    font-size: 16px;
    color: #555;
}


/* Section */

.reservation-cta {
    padding: 50px 20px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}


/* Container */

.cta-container {
    max-width: 1200px;
    margin: auto;
    text-align: center;
}


/* Text */

.cta-text {
    font-size: 28px;
    font-weight: 600;
    color: #3a3a3a;
    margin-bottom: 30px;
}


/* Buttons wrapper */

.cta-buttons {
    display: flex;
    justify-content: center;
    gap: 25px;
}


/* Buttons */

.btn {
    padding: 14px 34px;
    font-size: 20px;
    font-weight: 800;
    border-radius: 8px;
    text-decoration: none;
    color: #fff;
    display: inline-block;
    transition: 0.3s ease;
    width: 48%;
}

.btn:hover {
    border: 2px solid #000;
}


/* Colors */

.btn-red {
    background: #ff6f6f;
    border: 2px solid #ff6f6f;
}

.btn-orange {
    background: green;
    border: 2px solid green;
}


/* Hover */

.btn:hover {
    transform: translateY(-2px);
    opacity: 0.95;
}

.btn_text_blink {
    animation: textblink 1s infinite;
}

@keyframes textblink {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}


/* Tablet */

@media (max-width: 992px) {
    .cta-text {
        font-size: 22px;
    }
    .btn {
        width: 100% !important;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .cta-text {
        font-size: 18px;
        line-height: 1.4;
    }
    .cta-buttons {
        flex-direction: column;
        gap: 15px;
    }
    .btn {
        width: 100%;
        max-width: 98%;
        margin: auto;
    }
}

.highlights-section {
    padding: 50px 0;
    /* background-color: #f86201; */
    /* background-color: #bfd7ff; */
    background-color: #fffbde;
}


/* Grid */

.highlights-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


/* Card */

.highlight-card {
    background: #fff;
    padding: 35px 30px;
    border-radius: 16px;
    position: relative;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}


/* Number badge */

.highlight-card .count {
    width: 42px;
    height: 42px;
    background: #00a65a;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    color: #ffffff;
    margin-bottom: 15px;
}


/* Text */

.highlight-card p {
    font-size: 18px;
    line-height: 1.5;
    color: #1f2937;
    font-weight: 500;
}


/* Hover (optional but classy) */

.highlight-card:hover {
    transform: translateY(-4px);
    transition: 0.3s ease;
}


/* Tablet */

@media (max-width: 992px) {
    .highlights-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .section-header h2 {
        font-size: 34px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .highlights-grid {
        grid-template-columns: 1fr;
    }
    .highlight-card {
        padding: 28px 22px;
    }
    .highlight-card p {
        font-size: 16px;
    }
}


/* Section */

.price-list-section {
    padding: 80px 20px;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Header */

.section-header {
    text-align: center;
    margin-bottom: 50px;
}

.section-header h2 {
    font-size: 44px;
    font-weight: 600;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.section-header p {
    font-size: 18px;
    color: #0a2a66;
}


/* Grid */

.price-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.price-card .btn {
    width: 100% !important;
}


/* Card */

.price-card {
    background: #fff;
    padding: 40px 30px;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}


/* Text */

.price-card h4 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 15px;
}

.price-card .size {
    font-size: 18px;
    margin-bottom: 10px;
}

.price-card .price {
    font-size: 20px;
    margin-bottom: 25px;
}

.price-card .price span {
    font-size: 28px;
    font-weight: 600;
}


/* Button */

.price-card .btn {
    display: inline-block;
    padding: 10px 30px;
    background: green;
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    transition: 0.3s ease;
    border: none;
}

.price-card .btn:hover {
    background: #122c70;
}


/* Tablet */

@media (max-width: 992px) {
    .price-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .section-header h2 {
        font-size: 36px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .price-grid {
        grid-template-columns: 1fr;
    }
    .price-card {
        padding: 30px 20px;
    }
    .price-card .price span {
        font-size: 24px;
    }
}


/* Section */

.amenities-section {
    padding: 50px 20px;
    background-color: #f7e1bd;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Header */

.section-header {
    text-align: center;
    margin-bottom: 50px;
}

.section-header h2 {
    font-size: 44px;
    letter-spacing: 2px;
}

.section-header p {
    font-size: 18px;
    color: #0a1a44;
}


/* Grid */

.amenities-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}


/* Card */

.amenity-card {
    position: relative;
    height: 200px;
    border-radius: 16px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    cursor: pointer;
}


/* Overlay (DEFAULT STATE) */


/* .amenity-card .overlay {
    position: absolute;
    inset: 0;
    background: #0a1a44;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: 0.4s ease;
} */


/* Icon */

.amenity-card .icon {
    font-size: 36px;
}


/* Title */

.amenity-card h3 {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    transition: 0.3s ease;
}


/* âœ… HOVER BEHAVIOR */

.amenity-card:hover .overlay {
    background: rgba(10, 26, 68, 0);
    /* overlay disappears */
}

.overlay h3 {
    text-align: center;
    background-color: #fff;
    color: #000 !important;
    padding: 10px;
}


/* .amenity-card:hover h3,
.amenity-card:hover .icon {
    opacity: 0;
} */


/* Tablet */

@media (max-width: 992px) {
    .amenities-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* Mobile */

@media (max-width: 576px) {
    .amenities-grid {
        grid-template-columns: 1fr;
    }
    .amenity-card {
        height: 170px;
    }
    .section-header h2 {
        font-size: 32px;
    }
}


/* Section */

.floor-plan-section {
    padding: 80px 20px;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Header */

.section-header {
    text-align: center;
    margin-bottom: 40px;
}

.section-header h2 {
    font-size: 44px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.section-header p {
    font-size: 18px;
    color: #0a2a66;
}


/* Wrapper */

.floor-plan-wrapper {
    display: flex;
    justify-content: center;
}


/* Card */

.floor-plan-card {
    width: 100%;
    max-width: 520px;
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15);
}


/* Image */

.plan-image {
    position: relative;
}

.plan-image img {
    width: 100%;
    display: block;
    filter: blur(1.5px);
}


/* Button */

.view-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #0a1a44;
    color: #fff;
    padding: 12px 28px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: 0.3s ease;
}

.view-btn:hover {
    background: #122c70;
}


/* Footer */

.plan-footer {
    background: #0a1a44;
    color: #fff;
    text-align: center;
    padding: 14px;
    font-size: 18px;
    font-weight: 500;
}


/* Tablet */

@media (max-width: 992px) {
    .section-header h2 {
        font-size: 36px;
    }
    .floor-plan-card {
        max-width: 480px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .section-header h2 {
        font-size: 30px;
    }
    .section-header p {
        font-size: 16px;
    }
    .view-btn {
        font-size: 14px;
        padding: 10px 22px;
    }
}


/* Section Background */

.location-advantage {
    background: #f3eddc;
    padding: 80px 20px;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Header */

.section-header {
    text-align: center;
    margin-bottom: 60px;
}

.section-header h2 {
    font-size: 44px;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.section-header p {
    font-size: 18px;
    color: #0a2a66;
}


/* Layout */

.location-wrapper {
    display: grid;
    grid-template-columns: 1fr 400px 1fr;
    gap: 40px;
    align-items: center;
}


/* Map */

.location-map img {
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}


/* Lists */

.location-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}


/* Item */

.location-item {
    position: relative;
    padding-bottom: 12px;
}

.location-item span {
    display: block;
    font-size: 16px;
    color: #333;
}

.location-item strong {
    display: block;
    font-size: 15px;
    margin-top: 6px;
    color: #111;
}


/* Dotted line effect */

.location-item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80%;
    border-bottom: 1px dotted #666;
}


/* Alignment tweaks */

.location-list.right .location-item::after {
    left: auto;
    right: 0;
}


/* Tablet */

@media (max-width: 992px) {
    .location-wrapper {
        grid-template-columns: 1fr;
        gap: 50px;
    }
    .location-list {
        align-items: center;
        text-align: center;
    }
    .location-item::after {
        left: 50%;
        transform: translateX(-50%);
    }
    .section-header h2 {
        font-size: 36px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .section-header h2 {
        font-size: 30px;
    }
    .section-header p {
        font-size: 16px;
    }
    .location-item span {
        font-size: 15px;
    }
}


/* Section */

.project-gallery {
    padding: 80px 20px;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Title */

.gallery-title {
    text-align: center;
    font-size: 36px;
    font-weight: 500;
    margin-bottom: 50px;
    color: #111;
}


/* Grid */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}


/* Card */

.gallery-item {
    background: #fff;
    padding: 8px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}


/* Image */

.gallery-item img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 12px;
    object-fit: cover;
}


/* Tablet */

@media (max-width: 992px) {
    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .gallery-title {
        font-size: 32px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .gallery-grid {
        grid-template-columns: 1fr;
    }
    .gallery-title {
        font-size: 28px;
    }
}


/* Section */

.about-builder-section {
    position: relative;
    padding: 80px 20px;
    background-color: #fff !important;
    /* background: url("https://via.placeholder.com/1600x900") center/cover no-repeat; */
}


/* Dark overlay */


/* .about-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
} */


/* Container */

.about-container {
    position: relative;
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 60px;
    align-items: center;
    color: #000000;
}


/* Left content */

.about-content h2 {
    font-size: 42px;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.about-content p {
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
    color: #000000;
}


/* Form card */

.enquiry-form {
    background: #f3eddc;
    padding: 35px;
    border-radius: 14px;
    color: #111;
}

.enquiry-form h3 {
    text-align: center;
    font-size: 26px;
    margin-bottom: 25px;
}


/* Inputs */

.enquiry-form input,
.enquiry-form textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #333;
    background: transparent;
    padding: 10px 5px;
    margin-bottom: 20px;
    font-size: 15px;
    outline: none;
}


/* Wrapper */


/* Custom checkbox box */


/* Tick mark */

input[type="checkbox"] {
    width: 20px !important;
    padding: 5px !important;
}

.enquiry-form textarea {
    resize: none;
    height: 50px;
}


/* Button */

.enquiry-form button {
    display: block;
    margin: 10px auto 20px;
    padding: 10px 35px;
    background: #0a1a44;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    cursor: pointer;
}


/* Consent */

.consent {
    font-size: 12px;
    line-height: 1.4;
    display: flex;
    gap: 8px;
}


/* Tablet */

@media (max-width: 992px) {
    .about-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .about-content h2 {
        font-size: 34px;
    }
}


/* Mobile */

@media (max-width: 576px) {
    .about-builder-section {
        padding: 60px 15px;
    }
    .about-content h2 {
        font-size: 28px;
    }
    .enquiry-form {
        padding: 25px;
    }
}


/* Date field wrapper */

.date-field {
    margin-bottom: 20px;
}


/* Label */

.date-field label {
    display: block;
    font-size: 13px;
    color: #333;
    margin-bottom: 6px;
}


/* Date input */

.date-field input[type="date"] {
    width: 100%;
    border: none;
    border-bottom: 1px solid #333;
    background: transparent;
    padding: 10px 5px;
    font-size: 15px;
    outline: none;
}

.disclaimer-section {
    padding: 50px 20px 10px;
    /* background: #ffffff; */
}

.disclaimer-section .container {
    max-width: 1100px;
    margin: auto;
    text-align: center;
}

.disclaimer-text,
.disclaimer-more p {
    font-size: 14px;
    line-height: 1.7;
    color: #ffffff;
    margin-bottom: 15px;
}


/* Hidden content */

.disclaimer-more {
    display: none;
}


/* Button */

.toggle-btn {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 14px;
    cursor: pointer;
    margin: 10px 0;
    text-decoration: underline;
}


/* Policy link */

.policy-link {
    display: block;
    margin-top: 10px;
    font-size: 14px;
    color: #ffffff;
    text-decoration: none;
}

.policy-link:hover {
    text-decoration: underline;
}


/* Mobile */

@media (max-width: 576px) {
    .disclaimer-text,
    .disclaimer-more p {
        font-size: 13px;
    }
}


/* why ddjay */

.why-ddjay {
    padding: 80px 20px;
    background: #fff2b2;
}


/* Container */

.container {
    max-width: 1200px;
    margin: auto;
}


/* Centered heading */

.section-title {
    text-align: center;
    font-size: 36px;
    margin-bottom: 60px;
    font-weight: 600;
}


/* Grid */

.why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px 30px;
}


/* Item */

.why-item {
    text-align: center;
}


/* Icon */

.icon-circle {
    width: 90px;
    height: 90px;
    border: 2px solid #1aa94c;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 36px;
    margin: 0 auto 20px;
    color: #111;
}


/* Title */

.why-item h4 {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: 600;
}


/* Text */

.why-item p {
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}

.why-item a {
    color: #1aa94c;
    text-decoration: none;
    font-weight: 600;
}


/* Tablet */

@media (max-width: 1024px) {
    .why-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


/* Mobile */

@media (max-width: 576px) {
    .why-grid {
        grid-template-columns: 1fr;
    }
    .section-title {
        font-size: 28px;
    }
    .icon-circle {
        width: 80px;
        height: 80px;
        font-size: 30px;
    }
}


/* ===== MODAL CONTAINER ===== */

#enquiryModal .modal-content {
    background: #f3eddc;
    border-radius: 20px;
    border: none;
    padding: 10px;
}


/* ===== HEADER ===== */

#enquiryModal .modal-header {
    border-bottom: none;
    justify-content: center;
}

#enquiryModal .modal-title {
    font-size: 26px;
    font-weight: 600;
    color: #111;
}

#enquiryModal .btn-close {
    position: absolute;
    right: 18px;
    top: 18px;
}


/* ===== BODY ===== */

#enquiryModal .modal-body {
    padding: 25px 30px 30px;
}


/* ===== INPUTS & TEXTAREA ===== */

#enquiryModal .form-control {
    border: none;
    border-bottom: 1px solid #222;
    border-radius: 0;
    background: transparent;
    padding: 12px 5px;
    font-size: 15px;
    box-shadow: none;
    color: #111;
}

#enquiryModal .form-control::placeholder {
    color: #666;
}


/* Focus */

#enquiryModal .form-control:focus {
    border-bottom-color: #0a1a44;
    box-shadow: none;
}


/* ===== DATE FIELD ===== */

#enquiryModal .form-label {
    font-size: 14px;
    margin-bottom: 6px;
    color: #111;
}

#enquiryModal input[type="date"] {
    padding-right: 35px;
}

#enquiryModal input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
}


/* ===== TEXTAREA ===== */

#enquiryModal textarea.form-control {
    resize: none;
}


/* ===== SUBMIT BUTTON ===== */

#enquiryModal .btn-primary {
    background: #0a1a44;
    border: none;
    border-radius: 8px;
    padding: 10px 0;
    font-size: 16px;
    font-weight: 500;
}

#enquiryModal .btn-primary:hover {
    background: #122c70;
}


/* ===== CONSENT CHECKBOX ===== */

#enquiryModal .consent {
    font-size: 12px;
    line-height: 1.5;
    color: #111;
}

#enquiryModal .form-check-input {
    accent-color: #a855f7;
    /* purple tick */
    margin-top: 4px;
}


/* ===== VALIDATION ===== */

#enquiryModal .was-validated .form-control:invalid {
    border-bottom-color: #dc3545;
}

#enquiryModal .was-validated .form-check-input:invalid {
    outline: 1px solid #dc3545;
}


/* ===== MOBILE ===== */

@media (max-width: 576px) {
    #enquiryModal .modal-body {
        padding: 20px;
    }
    #enquiryModal .modal-title {
        font-size: 22px;
    }
}

footer {
    background-color: #0a2a66;
    color: #fff;
}

footer p.small {
    margin-bottom: 0;
    padding: 10px;
}

.jhajjarmsaterplan {
    padding: 50px 0px 50px !important;
}

.jhajjarmsaterplan img {
    width: 100%;
    max-width: 100% !important;
}


/* ================================
   PAYMENT FORM â€“ GLOBAL RESET
================================ */

#paymentForm * {
    box-sizing: border-box;
    font-family: "Segoe UI", Arial, sans-serif;
}


/* ================================
   FORM HEADING
================================ */

#paymentForm h3 {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
    color: #111;
    margin-bottom: 30px;
}


/* ================================
   FORM GROUP SPACING
================================ */

#paymentForm .form-group {
    margin-bottom: 22px;
}


/* ================================
   LABELS
================================ */

#paymentForm label {
    font-size: 16px;
    font-weight: 600;
    color: #222;
    margin-bottom: 6px;
    display: block;
}


/* ================================
   INPUTS, SELECTS, TEXTAREA
================================ */

#paymentForm .form-control {
    width: 100%;
    border-radius: 10px;
    border: none;
    border: 1.5px solid #333;
    padding: 10px;
    font-size: 14px;
    background: transparent;
    box-shadow: none;
    transition: border-color 0.3s ease;
}

#paymentForm .form-control::placeholder {
    color: #666;
}

#paymentForm .form-control:focus {
    border-bottom-color: #01589d;
    outline: none;
    box-shadow: none;
}


/* ================================
   DATE FIELD (KYC)
================================ */

#paymentForm .date-field input[type="date"] {
    padding-right: 35px;
    cursor: pointer;
}

#paymentForm input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.8;
}


/* ================================
   SELECT DROPDOWNS
================================ */

#paymentForm select.form-control {
    cursor: pointer;
    background-color: transparent;
}


/* ================================
   TEXTAREA
================================ */

#paymentForm textarea.form-control {
    resize: none;
    min-height: 70px;
}


/* ================================
   CHECKBOX (TERMS & CONDITIONS)
================================ */

#paymentForm .checkbox-col {
    margin-top: 25px;
}

#paymentForm .checkbox-col p {
    font-size: 13px;
    line-height: 1.6;
    color: #111;
    margin: 0;
}

#paymentForm .checkbox-col input[type="checkbox"] {
    accent-color: #01589d;
    transform: scale(1.1);
    margin-right: 6px;
    cursor: pointer;
}


/* ================================
   SUBMIT BUTTON
================================ */

button.buy_now {
    display: block;
    width: 100%;
    margin-top: 35px;
    border-radius: 8px;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.5px;
    border: none;
    transition: all 0.3s ease;
    padding: 15px 32px !important;
    background-color: #013f73;
    color: #fff;
}

.customclsdiv .buy_now:hover {
    background-color: #013f73 !important;
    transform: translateY(-1px);
}


/* ================================
   VALIDATION STATES
================================ */

#paymentForm .form-control:invalid {
    border-bottom-color: #0d0000;
}

#paymentForm .form-control:valid {
    border-bottom-color: #000000;
}


/* ================================
   RESPONSIVE â€“ TABLET
================================ */

@media (max-width: 992px) {
    #paymentForm h3 {
        font-size: 20px;
    }
}


/* ================================
   RESPONSIVE â€“ MOBILE
================================ */

@media (max-width: 576px) {
    #paymentForm h3 {
        font-size: 18px;
    }
    #paymentForm label {
        font-size: 13px;
    }
    #paymentForm .form-control {
        font-size: 13px;
    }
    #paymentForm .buy_now {
        font-size: 16px;
    }
}

.abouutuss {
    padding: 50px 15px;
}

.ddjay-section {
    width: 100%;
    font-family: "Poppins", sans-serif;
}


/* Container */

.ddjay-container {
    max-width: 1200px;
    margin: auto;
    padding: 0 20px;
    text-align: center;
}


/* Top Orange Section */

.ddjay-top {
    background: #f9a825;
    padding: 50px 0;
}

.ddjay-top h1 {
    color: #fff;
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.3;
}

.ddjay-top .subtitle {
    color: #fff;
    font-size: 20px;
    font-weight: 400;
    margin-top: 15px;
}


/* Divider */

.divider {
    width: 80%;
    max-width: 900px;
    height: 1px;
    background: rgba(255, 255, 255, 0.6);
    margin: 15px auto;
}


/* Bottom White Section */

.ddjay-bottom {
    background: #f3f6fb;
    padding: 30px 0;
}

.ddjay-bottom h2 {
    font-size: 24px;
    font-weight: 600;
    color: #111;
    margin-bottom: 10px;
}

.ddjay-bottom .rera {
    font-size: 16px;
    color: #000;
    font-weight: 500;
}


/* =====================
   RESPONSIVE STYLES
   ===================== */

@media (max-width: 992px) {
    .ddjay-top h1 {
        font-size: 26px;
    }
    .ddjay-top .subtitle {
        font-size: 18px;
    }
    .ddjay-bottom h2 {
        font-size: 20px;
    }
}

@media (max-width: 576px) {
    .ddjay-top {
        padding: 40px 0;
    }
    .ddjay-top h1 {
        font-size: 22px;
    }
    .ddjay-top .subtitle {
        font-size: 16px;
    }
    .divider {
        width: 100%;
    }
    .ddjay-bottom h2 {
        font-size: 18px;
    }
    .ddjay-bottom .rera {
        font-size: 14px;
    }
    .headertop p>a {
        width: 98%;
        display: block;
    }
}

.footertermslink a {
    display: inline-block;
}

.contentpage {
    padding: 50px 0;
}


/* location advantages */


/* Section Background */

.location-advantages {
    background: #f4f7f6;
    padding: 60px 20px;
    font-family: 'Segoe UI', Arial, sans-serif;
}

.container {
    max-width: 1200px;
    margin: auto;
}


/* Section Title */

.section-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    color: #0b3d2e;
    margin-bottom: 40px;
    letter-spacing: 1px;
}


/* Grid */

.facility-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}


/* Cards */

.facility-card {
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: 0.3s ease;
}

.facility-card:hover {
    transform: translateY(-6px);
}


/* Card Headers */

.card-header {
    padding: 16px;
    text-align: center;
    font-weight: 700;
    color: #fff;
    font-size: 18px;
    letter-spacing: 1px;
}


/* Header Colors */

.business {
    background: linear-gradient(45deg, #e59a2e, #d27b00);
}

.healthcare {
    background: linear-gradient(45deg, #2f9e73, #1b7d58);
}

.education {
    background: linear-gradient(45deg, #2d7dd2, #1a5ea8);
}


/* List Styling */

.facility-card ul {
    list-style: none;
    padding: 20px 25px 25px 25px !important;
    margin: 0;
}

.facility-card ul li {
    padding: 8px 0;
    font-size: 15px;
    color: #333;
    position: relative;
    padding-left: 22px;
    border-bottom: 1px solid #eee;
}

.facility-card ul li:last-child {
    border-bottom: none;
}


/* Bullet Icon */

.facility-card ul li::before {
    content: "\2714";
    color: #1b7d58;
    font-weight: bold;
    position: absolute;
    left: 0;
}


/* Tablet */

@media (max-width: 992px) {
    .facility-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* Mobile */

@media (max-width: 600px) {
    .facility-grid {
        grid-template-columns: 1fr;
    }
    .section-title {
        font-size: 24px;
    }
    .facility-card ul li {
        font-size: 14px;
    }
}

/* ==============================================================
   Global Alignment & Polish Layer (appended)
   ============================================================== */

/* Consistent section spacing */
section{ padding:60px 0; }
@media (max-width:767px){ section{ padding:40px 0; } }

/* Consistent container horizontal padding on phones */
@media (max-width:575px){
  .container,.container-fluid{ padding-left:16px; padding-right:16px; }
}

/* Section titles — centered & underlined */
.section-title,
.page-title{
  text-align:center;
  font-weight:800;
  color:#0D6B28;
  margin:0 auto 14px;
  position:relative;
  display:block;
}
.section-title::after,
.page-title::after{
  content:'';
  display:block;
  width:70px;
  height:3px;
  background:#138A36;
  border-radius:2px;
  margin:12px auto 0;
}

/* Sub-heading below section title */
.sub-heading{
  text-align:center;
  max-width:800px;
  margin:0 auto 30px;
  color:#555;
  font-size:15px;
}

/* Overview / Why DDJAY grid alignment */
.why-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:22px;
  align-items:stretch;
}
.why-item{
  background:#fff;
  border-radius:14px;
  padding:26px 22px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  height:100%;
}
.why-item:hover{
  transform:translateY(-4px);
  box-shadow:0 10px 24px rgba(19,138,54,.15);
}
.why-item .icon-circle{
  width:66px;height:66px;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#e9f8ee 0%,#c9ecd5 100%);
  border-radius:50%;
  font-size:30px;
  margin:0 auto 14px;
  box-shadow:0 4px 12px rgba(19,138,54,.15);
}
.why-item h4{
  color:#0D6B28;
  font-size:17px;
  font-weight:700;
  margin:0 0 10px;
  line-height:1.35;
}
.why-item p{
  color:#555;
  font-size:14px;
  line-height:1.6;
  margin:0;
}

/* Highlights numbered list — even columns */
.highlights-list,
.highlights-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
}

/* Amenities list — inline rows */
.amenities-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px 24px;
  justify-content:center;
  padding:0;
  list-style:none;
}
.amenities-list li{
  background:#fff;
  padding:10px 18px;
  border-radius:30px;
  border:1px solid #d5ead9;
  color:#0D6B28;
  font-weight:600;
  font-size:14px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}

/* Generic centered CTA buttons row */
.btn-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  margin-top:20px;
}

/* Images inside cards — responsive */
section img{ max-width:100%; height:auto; }

/* Forms — neat vertical rhythm */
.form-control,
input.form-control,
textarea.form-control,
select.form-control{
  padding:10px 14px;
  border-radius:8px;
  border:1.5px solid #d5d5d5;
  margin-bottom:14px;
  font-size:15px;
}
.form-control:focus{
  border-color:#138A36;
  box-shadow:0 0 0 3px rgba(19,138,54,.15);
  outline:0;
}

/* Footer alignment */
footer{ text-align:center; }

/* Kill stray horizontal scroll */
html,body{ overflow-x:hidden; }



/* ====== END OF ORIGINAL STYLES ====== */

/* ==============================================================
   FULL RESPONSIVE OVERHAUL (appended)
   Breakpoints: 1400 / 1200 / 992 / 768 / 576 / 480 / 360
   ============================================================== */

/* ---------- Global base ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
    overflow-x:hidden;
    font-size:16px;
    line-height:1.55;
    word-wrap:break-word;
    overflow-wrap:break-word;
}
img,video,iframe,svg{ max-width:100%; height:auto; display:block; }
iframe{ border:0; }
.container,.container-fluid{ width:100%; padding-left:16px; padding-right:16px; }
.container{ max-width:1200px; margin-left:auto; margin-right:auto; }
@media (min-width:1400px){ .container{ max-width:1320px; } }

/* ---------- Fluid typography with clamp ---------- */
h1, .h1{ font-size:clamp(1.75rem, 4.2vw, 3rem); line-height:1.2; }
h2, .h2, .section-header h2, .section-title{ font-size:clamp(1.5rem, 3.5vw, 2.4rem); line-height:1.25; }
h3, .h3{ font-size:clamp(1.25rem, 2.6vw, 1.75rem); line-height:1.3; }
h4, .h4{ font-size:clamp(1.05rem, 2vw, 1.25rem); line-height:1.35; }
p, li, label{ font-size:clamp(.9rem, 1.4vw, 1rem); }
.page-title{ font-size:clamp(1.6rem,4vw,2.4rem) !important; }

/* ---------- Topbar phone pill & headertop ---------- */
@media (max-width:767px){
    .headertop{ padding:10px 0; min-height:auto; }
    .headertop .text-end{ text-align:center !important; }
    .headertop a[href^="tel"]{ font-size:14px !important; padding:5px 12px !important; }
}

/* ---------- Header banner + info strip ---------- */
.header-banner-img{ width:100%; height:auto; }
.header-info-strip .container,
.header-info-strip .container-fluid{ max-width:100%; }
@media (max-width:991px){
    .header-info-row{ flex-wrap:wrap; gap:10px; justify-content:center; }
    .header-info-logo{ width:100%; justify-content:center; }
    .header-info-badges{ width:100%; flex-wrap:wrap; justify-content:center; }
    .date-badge{ flex:1 1 30%; }
}
@media (max-width:575px){
    .date-badge{ flex:1 1 100%; padding:10px 12px !important; min-height:42px !important; }
    .date-badge__label{ font-size:12px !important; letter-spacing:.3px !important; }
}

/* ---------- Hero / banner carousel ---------- */
.bannerfold img{ height:auto; max-height:620px; object-fit:cover; }
@media (max-width:991px){
    .bannerfold img{ height:420px; }
    .customtextfold{ width:90%; max-width:90%; top:12%; left:5%; }
}
@media (max-width:767px){
    .bannerfold img{ height:340px; }
    .customtextfold{ position:relative; width:100%; max-width:100%; top:auto; left:auto; padding:20px 16px; color:#fff; background:rgba(0,0,0,.55); }
    .customtextfold h1{ font-size:clamp(1.5rem,5vw,2rem); text-align:center; }
    .customtextfold h3{ font-size:clamp(1rem,3.5vw,1.25rem); text-align:center; }
    .pointsmain{ text-align:left; }
}
@media (max-width:575px){
    .bannerfold img{ height:260px; }
    .custombutton{ display:none; }
}

/* ---------- Section spacing ---------- */
section{ padding:clamp(32px, 6vw, 80px) 0; }

/* ---------- Section headers ---------- */
.section-header{ margin-bottom:clamp(24px,4vw,50px); }
.section-header h2{ font-size:clamp(1.5rem,3.5vw,2.4rem); margin-bottom:8px; }
.section-header p{ font-size:clamp(.9rem,1.8vw,1.05rem); }

/* ---------- Grids unified ---------- */
.info-section,
.highlights-grid,
.price-grid,
.amenities-grid,
.facility-grid,
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:20px;
}
.why-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
    gap:clamp(18px,3vw,34px);
}
.highlight-card{ padding:clamp(20px,3vw,35px); height:100%; }
.why-item{ height:100%; }
.icon-circle{
    width:clamp(64px,10vw,90px);
    height:clamp(64px,10vw,90px);
    font-size:clamp(24px,4vw,36px);
}
.gallery-item img{ aspect-ratio:4/3; object-fit:cover; }
.facility-card ul{ padding:16px 20px 20px 20px !important; }
.facility-card ul li{ font-size:clamp(.85rem,1.6vw,.95rem); padding-left:22px; }

/* ---------- Location advantage ---------- */
.location-wrapper{
    display:grid;
    grid-template-columns:1fr minmax(280px,420px) 1fr;
    gap:30px;
    align-items:center;
}
@media (max-width:991px){
    .location-wrapper{ grid-template-columns:1fr; gap:30px; }
    .location-list{ align-items:center; text-align:center; }
    .location-item::after{ left:50%; transform:translateX(-50%); width:60%; }
}

/* ---------- About / Enquiry form ---------- */
.about-container{
    grid-template-columns:1.2fr .8fr;
    gap:clamp(20px,4vw,60px);
}
@media (max-width:991px){
    .about-container{ grid-template-columns:1fr; gap:30px; }
    .about-content h2{ font-size:clamp(1.5rem,4vw,2.2rem); }
}
.enquiry-form{ padding:clamp(20px,3vw,35px); }
.enquiry-form input,
.enquiry-form textarea,
.enquiry-form select{ width:100%; font-size:15px; }
@media (max-width:575px){
    .enquiry-form button{ width:100%; padding:12px; }
    .enquiry-form .row > [class^="col"]{ width:100%; flex:0 0 100%; max-width:100%; }
}

/* ---------- CTA buttons ---------- */
.cta-buttons{ flex-wrap:wrap; gap:15px; }
.btn{ font-size:clamp(.95rem,1.8vw,1.15rem); padding:clamp(10px,1.5vw,14px) clamp(20px,3vw,34px); }
@media (max-width:767px){
    .cta-buttons{ flex-direction:column; }
    .cta-buttons .btn{ width:100% !important; }
}

/* ---------- Floating WhatsApp / Call ---------- */
@media (max-width:575px){
    .whatsapp-float,
    .call-float{
        width:50px !important;
        height:50px !important;
        font-size:22px !important;
    }
}

/* ---------- Modal ---------- */
@media (max-width:575px){
    #enquiryModal .modal-dialog{ margin:10px; max-width:calc(100% - 20px); }
    #enquiryModal .modal-body{ padding:16px; }
    #enquiryModal .btn-primary{ width:100%; }
}

/* ---------- Apply-online ---------- */
#paymentForm .form-group{ margin-bottom:16px; }
#paymentForm .row > [class^="col"]{ margin-bottom:12px; }
@media (max-width:575px){
    #paymentForm .row > [class^="col"]{ flex:0 0 100%; max-width:100%; }
    #paymentForm .buy_now{ width:100%; padding:14px 20px !important; }
}

/* ---------- Master plan / large images ---------- */
.jhajjarmsaterplan img,
.location-map img,
#layoutImage{ width:100%; height:auto; }

/* ---------- Tables scroll on mobile ---------- */
@media (max-width:767px){
    table{ display:block; width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
}

/* ---------- Maps / iframes responsive ---------- */
.responsive-embed,
.map-embed{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    overflow:hidden;
}
.responsive-embed iframe,
.map-embed iframe{
    position:absolute; inset:0; width:100%; height:100%; border:0;
}

/* ---------- Carousel ---------- */
@media (max-width:575px){
    .carousel-control-prev,
    .carousel-control-next{ width:12%; }
}

/* ---------- Footer ---------- */
footer{ padding:30px 16px 20px; }
footer .row{ row-gap:24px; }
footer [class^="col"]{ text-align:center; }
@media (min-width:768px){
    footer [class^="col"]{ text-align:left; }
}
.footertermslink{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px 12px; }
@media (max-width:575px){
    footer{ padding:24px 14px 16px; }
    footer p, footer li, footer a{ font-size:14px; }
}

/* ---------- DDJAY summary band ---------- */
.ddjay-top{ padding:clamp(30px,5vw,50px) 0; }
.ddjay-top h1{ font-size:clamp(1.25rem,3.2vw,2rem); }
.ddjay-top .subtitle{ font-size:clamp(.95rem,1.8vw,1.25rem); }
.ddjay-bottom h2{ font-size:clamp(1.1rem,2.5vw,1.5rem); }

/* ---------- Extra-small phones ---------- */
@media (max-width:480px){
    .container,.container-fluid{ padding-left:12px; padding-right:12px; }
    section{ padding:30px 0; }
    .section-header{ margin-bottom:22px; }
    .mainhead .navbar-brand{ font-size:16px !important; }
    .price-card,
    .highlight-card,
    .why-item,
    .facility-card{ padding:20px 16px; }
    .enquiry-form{ padding:18px 14px; }
    .overview p,
    .highlight-card p,
    .why-item p{ font-size:14px; }
}
@media (max-width:360px){
    .container,.container-fluid{ padding-left:10px; padding-right:10px; }
    .date-badge__label{ font-size:11px !important; }
    .headertop a[href^="tel"]{ font-size:13px !important; padding:5px 10px !important; }
    .btn{ font-size:.9rem; padding:10px 16px; }
}

/* ---------- Safety ---------- */
.row{ margin-left:0; margin-right:0; }
.row > [class^="col"],
.row > [class*=" col-"]{ padding-left:12px; padding-right:12px; }
h1, h2, h3, h4, p, a, span, li{ word-break:break-word; overflow-wrap:anywhere; }
.dropdown-menu{ max-width:calc(100vw - 20px); }
a.btn, button.btn, .nav-link, .btn-close{ min-height:40px; }
html, body, main, .mainhead, footer, section, .container, .container-fluid{ max-width:100%; }
