html {  scroll-behavior: smooth; }

#cadre_defil_2 {   height: 20px;  width:100%;  margin: 0 auto; font-size: 12px; line-height:normal; color: #FFFFFF; }
#cadre_defil_2 img { border:0; vertical-align: middle; }
#cadre_defil_2 .liens { color: #FFFFFF; }
#conteneur_defil_2 { position : relative; overflow : hidden; visibility : hidden; height:100%; bottom: 14px }
.uner { width: 62px; height: 4px; background: #34605F; margin: auto; margin-top: auto; margin-top: 25px; }
.texthome { padding: 0 136px; }
.villasNbChambres { color: rgba(0,0,0,0.8) !important }
.villa .content { text-align: center !important; }
.villaName { background: #34605F !important; height: 90px; text-align: center; padding-top: 15px  }
.villaName .span_01 { color:white; display: block; font-weight: normal; letter-spacing: 13px; padding-left: 11px; }
.villaName .span_02 { color:white; display: block; font-size: 36px !important; font-weight: bold; font-family: 'D-DIN-bold' !important; }
.villaPrice { background: rgba(0,0,0,0.1) !important; height: 200px; text-align: center; padding: 20px   }
.villaPrice h2 { margin-top: -6px; font-size: 46px !important; color: black !important; }
.partir { font-style: italic; font-weight: bold; color:#282828; }
.terrain { font-style: italic; color:#34605F; font-weight: bold }
.savoir { background: #34605F; color: white !important; padding: 8px 12px; font-size: 12px; font-weight: bold; letter-spacing: 2px; }
.no-realisations .carousel-item { padding: 3px !important  }

.carousel-control-next-icon { position: absolute;  right: -38px; background:transparent !important; font-size: 30px }
.carousel-control-prev-icon { position: absolute;  left: -38px; background:transparent !important; font-size: 30px}

.villaName p { margin: 0 0 2px !important; }
.slide-title { line-height: normal;width: max-content;text-align: left;font-size: 46px;color: white;height: 42px; }

.home-text-top { margin-top: 50px  }
.ils01 { text-align: center; margin-bottom: 48px; margin-top: 29px; }
#what-we-do { margin-top: 30px }
.slide-images { height: 314px !important; }
.notre-catalog { margin-bottom: 110px; }
.rea01 {  padding: 34px 30px 92px 30px; }
.nosRealisations { text-align: center; margin-bottom: 46px; margin-top: 15px; }

.newPrice { font-size: 16px !important; color: red !important; }
.projetcs-custom { padding:20px 70px !important }
.projetcs-custom h3 { color:black !important; text-align:center; }
.projetcs-custom p { color:black; text-align:justify ; min-height: 200px; }
.projetcs-custom a { margin:auto; }
.button { background:#34605F; color: }
.section-projetcs-custom { margin-bottom: 80px; min-height: 400px; background-color: #E7E0DA; padding: 54px; padding-top: 80px; padding-right: 80px; padding-left: 80px; padding-top: 60px; }
.btn-savoir { background-color: #fff; color: #34605F !important; font-weight: 700; padding: 13px 36px; margin-top: 3rem; text-transform: uppercase; display: block; width: fit-content; }
.mot p { font-family: 'MyriadPro-Regular'; font-size: 22px; line-height: 29px; margin-top: 160px; font-style: italic; letter-spacing: 1px; color: white; }
.swiper-button-next { color:white !important }
.swiper-button-prev { color:white !important }
.qligg-icon-instagram  { color:white !important } 

/*New CSS*/
.package h3 { margin-top:20px !important }
.villa-packages p { margin-bottom:40px !important }
.plans{padding:80px 20px;text-align:center;}
.section-title{font-size:38px;font-weight:500;margin-bottom:10px;letter-spacing:1px;}
.section-subtitle{color:#777;margin-bottom:60px;}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;max-width:1100px;margin:auto;}
.plan-card{background:white;padding:40px;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,0.08);transition:0.3s;text-align:left;}
.plan-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,0.12);}
.plan-card h3{font-size:24px;margin-bottom:5px;}
.plan-desc{color:#999;margin-bottom:25px;}
.plan-card ul{list-style:none;padding:0;margin-bottom:30px;}
.plan-card li{padding:8px 0;border-bottom:1px solid #eee;font-size:15px;}
.plan-btn{display:inline-block;padding:12px 26px;background:#c6a46a;color:white;text-decoration:none;border-radius:4px;font-size:14px;letter-spacing:1px;}
.plan-btn:hover{background:#a88955;}

.standard { border-top:4px solid #2e6f73;}
.standard h3 {color: #2e6f73 !important;}

.premium { border-top:4px solid #c6a46a;}
.premium h3 { color: #c6a46a !important; }

.prestige { border-top:4px solid #000000;}
.prestige h3 { color: #C6A46A !important; }
.prestige li{ border-bottom:1px solid rgba(255,255,255,0.1);}
.prestige .plan-btn{ background:#c6a46a;}
.prestige { background:#1a1a1a;color:white;}

.villa-packages { padding:20px 6px; font-family:"Playfair Display", serif; }
.title { text-align:center; font-size:40px; margin-bottom:10px; text-transform:uppercase; }
.title span {  font-size:40px; color:#c6a46a; }
.subtitle { text-align:center; color:#777; margin-bottom:60px; font-size: 14px; }
.packages { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:40px; 
/*    max-width:1200px; */
    margin:auto; }
.package { background:white; padding: 0px 30px 40px 30px; border-radius:10px; box-shadow:0 15px 40px rgba(0,0,0,0.08); transition:0.3s; }
.package:hover { transform:translateY(-8px); box-shadow:0 25px 60px rgba(0,0,0,0.12); }
.package h3 { font-size:20px !important; letter-spacing:1px; margin-bottom:0 !important }
.tagline { color:#888; margin-bottom:20px; }
.package ul { list-style:none; padding:0; margin-bottom:30px; min-height: 680px; }
.package li { padding:8px 0; border-bottom:1px solid #eee; font-size:14px; }
.package .btn { display:inline-block; padding:12px 28px; background:#2e6f73; color:white; text-decoration:none; border-radius:4px; font-size:14px; letter-spacing:1px; font-weight:bold }
.premium .btn { background:#c6a46a; }
.prestige { background:#1b1b1b; color:white; }
.prestige li { border-bottom:1px solid rgba(255,255,255,0.1); }
.gold { background:#c6a46a; }
.parcours-cta-wrap { text-align: center; margin-top: 34px; }
.parcours-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 32px;
    border-radius: 999px;
    background: #34605F;
    color: #fff !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    font-weight: 700;
    transition: background .2s ease, transform .2s ease;
}
.parcours-cta:hover {
    background: #254746;
    transform: translateY(-2px);
}

ul .fa-check { font-weight:normal !important; font-size: 12px; }
.compteur { height: 130px !important; padding-top: 30px !important; }

@media screen and (max-width: 1000px) { 
	.texthome { padding: 0; } 
	.carousel-control-next-icon { right: -16px;  }
	.carousel-control-prev-icon { left: -16px; }
	.slide-title { font-size: 29px !important }
	.home-text-top { margin-top: 20px !important  }
	.partanaires-home { margin-bottom: 0 !important }
	.ils01 { margin-bottom: 32px; margin-top: 0px; }
	#what-we-do { margin-top: -22px }
	.slide-images { height: 170px !important; }
	.notre-catalog { margin-bottom: 10px; }
	.rea01 { background: rgba(0,0,0,0.1); padding: 0 8px 43px; }
	.right001 { position: absolute; left: 11px; }
	.left001 { position: absolute; left: -11px; }
	.nosRealisations { text-align: center; margin-bottom: 14px; margin-top: 22px; }
	.mot p { font-size: 14px !important;  line-height: 21px !important; }
	#home-villa { padding:40px !important }
	#home-villa h3 { text-align: center; margin-top: 23px; font-size: 20px !important;  }
	.mot { background-position: -752px !important; }
	.projects  { min-height: 154px; !important; }
	#compteur { padding-bottom: 27px !important; }
	.projetcs-custom h3 { text-align: center; margin-top: 23px; font-size: 20px !important;  }
	#what-we-do h2  { text-align: center; margin-top: 23px; font-size: 20px !important;  }
	#n1 { font-size: 80px !important; }
	#n2 { font-size: 80px !important; }
	#instagram h3  { text-align: center; margin-top: 23px; font-size: 20px !important;  }
	#bestay h3  { text-align: center; margin-top: 23px; font-size: 20px !important;  }
    .compteur { height: 340px !important;  }
}

@media screen and (max-width: 767px) {
    .section-projetcs-custom {
        padding: 32px 16px 28px !important;
    }

    .villa-packages {
        padding: 0;
    }

    .title {
        font-size: 28px !important;
        line-height: 1.2;
        margin-bottom: 18px;
    }

    .packages {
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 100%;
    }

    .package {
        padding: 0 18px 24px;
    }

    .package ul {
        min-height: auto;
    }

    .package .btn {
        width: 100%;
        display: block;
        text-align: center;
    }

    .the-content .logos { margin-top:-28px !important }
    #instagram { padding: 0px !important; }
}

@media screen and (max-width: 480px) {
    .section-projetcs-custom {
        padding: 28px 12px 20px !important;
    }

    .package h3 {
        font-size: 18px !important;
    }

    .tagline {
        font-size: 13px;
    }

    .package li {
        font-size: 13px;
    }
}

/* ── Terrains Section ──────────────────────────────────────────────── */
#section-terrains {
    background: #F8F5F0;
    padding: 70px 0 80px;
}
#section-terrains .ts-header {
    text-align: center;
    margin-bottom: 48px;
    padding: 0 20px;
}
.ts-eyebrow {
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #34605F;
    margin-bottom: 10px;
}
.ts-title {
    font-size: 32px !important;
    font-weight: 500;
    color: #1a1a1a;
    margin-bottom: 8px;
    font-family: 'Raleway', serif;
    letter-spacing: 0;
}
.ts-title span { color: #c6a46a; }
.ts-subtitle {
    font-size: 14px;
    color: #888;
    margin: 0;
}

/* ── Swiper wrapper ────────────────────────────────────────────────── */
.ts-swiper-wrap {
    position: relative;
    padding: 0 60px;
}
.ts-swiper-wrap .swiper-button-prev,
.ts-swiper-wrap .swiper-button-next {
    color: #fff !important;
    width: 44px;
    height: 44px;
    background: #34605F;
    border-radius: 50%;
    box-shadow: 0 3px 14px rgba(0,0,0,.13);
    top: 45%;
    margin-top: 0;
    transform: translateY(-50%);
    transition: opacity .2s, background .2s;
}
.ts-swiper-wrap .swiper-button-prev:after,
.ts-swiper-wrap .swiper-button-next:after {
    font-size: 13px !important;
    font-weight: 900;
}
.ts-swiper-wrap .swiper-button-prev { left: 8px; z-index: 10; }
.ts-swiper-wrap .swiper-button-next { right: 8px; z-index: 10; }
.ts-swiper-wrap .swiper-button-disabled {
    opacity: .35 !important;
    cursor: not-allowed !important;
    pointer-events: auto !important;
}

/* ── Terrain Card ──────────────────────────────────────────────────── */
.tc {
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 3px 16px rgba(0,0,0,.07);
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: transform .22s ease, box-shadow .22s ease;
    text-decoration: none !important;
    color: inherit;
    position: relative;
}
.tc:hover {
    transform: translateY(-6px);
}
.tc--PREMIUM {
    border-top: 3px solid #c6a46a;
    background: linear-gradient(160deg, #fffdf8 0%, #fff 50%);
}
.tc--OFF-PLAN {
    border-top: 3px solid #34605F;
    background: linear-gradient(160deg, #f5fafa 0%, #fff 50%);
}

/* Image */
.tc-img {
    position: relative;
    height: 210px;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    overflow: hidden;
}
.tc-img::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.42) 0%, transparent 52%);
}
.tc-badges {
    position: absolute;
    top: 12px; left: 12px;
    z-index: 2;
    display: flex;
    gap: 6px;
}
.tc-badge {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;
    backdrop-filter: blur(5px);
}
.tc-badge-PREMIUM  { background: rgba(184,151,90,.92); color: #fff; }
.tc-badge-OFF-PLAN { background: rgba(52,96,95,.88);   color: #fff; }
.tc-badge-soldout  { background: rgba(220,53,69,.88);  color: #fff; }

/* Body */
.tc-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 6px;

}
.tc-location {
    font-size: 10px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #34605F;
    font-weight: 600;
    font-family: 'D-DIN' !important;
}
.tc--PREMIUM .tc-location { color: #b8975a; }
.tc-title {
    font-size: 15px !important;
  color: #111418;
  line-height: 1.3;
  margin-bottom: 4px;
  font-family: 'Raleway' !important;
}

/* Price pill */
.tc-price {
    background: #EDE8E0;
    border-radius: 40px;
    padding: 10px 18px;
    font-size: 14px;
    color: #1a1a1a;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-family: 'D-DIN-bold' !important;
}

/* Stats */
.tc-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    padding: 12px 0 6px;
    border-top: 1px solid #f0f2f5;
    margin-top: 4px;
}
.tc--PREMIUM  .tc-stats { border-top-color: #f0e6c8; }
.tc--OFF-PLAN .tc-stats { border-top-color: #d0e8e8; }
.tc-stat { text-align: center; }
.tc-stat-val {
    display: block;
    font-size: 14px;
    color: #111418;
    line-height: 1;
    font-family: 'D-DIN' !important;
}
.tc--PREMIUM  .tc-stat-val { color: #5a3e00; }
.tc--OFF-PLAN .tc-stat-val { color: #1a3f3f;  font-family: 'D-DIN' !important;}
.tc-stat-label {
    display: block;
    font-size: 9px;
    color: #9aa3ae;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-top: 4px;
    line-height: 1.3;
}

/* CTA */
.tc-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #2C2C2C;
    color: #E8D9BE !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 12px 18px;
    border-radius: 6px;
    text-decoration: none !important;
    transition: background .2s;
    margin-top: auto;
}
.tc-cta:hover { background: #111; }
.tc--PREMIUM  .tc-cta { background: linear-gradient(135deg, #b8975a, #d4aa6a); color: #fff !important; }
.tc--PREMIUM  .tc-cta:hover { background: linear-gradient(135deg, #9a7d46, #b8975a); }
.tc--OFF-PLAN .tc-cta { background: linear-gradient(135deg, #24413F, #34605F); color: #fff !important; }
.tc--OFF-PLAN .tc-cta:hover { background: linear-gradient(135deg, #1a2e2e, #24413F); }

/* View all */
.ts-viewall {
    text-align: center;
    margin-top: 46px;
}
.ts-viewall a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 2px solid #34605F;
    color: #34605F !important;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    padding: 13px 36px;
    border-radius: 4px;
    text-decoration: none !important;
    transition: background .2s, color .2s;
}
.ts-viewall a:hover {
    background: #34605F;
    color: #fff !important;
}

.ts-interest-wrap {
    text-align: center;
    margin-top: 26px;
}
.ts-form-notice {
    max-width: 800px;
    margin: 0 auto 14px;
    text-align: center;
    font-size: 14px;
    border-radius: 8px;
    padding: 10px 16px;
}
.ts-form-notice-success {
    background: #e8f5f1;
    border: 1px solid #b9dfd5;
    color: #234846;
}
.ts-form-notice-error {
    background: #fff0f0;
    border: 1px solid #f0c9c9;
    color: #7b2d2d;
}
.ts-interest-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: linear-gradient(135deg, #24413F, #34605F);
    color: #fff;
    padding: 12px 34px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: .1em;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 10px 24px rgba(36,65,63,.28);
}
.ts-interest-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(36,65,63,.36);
}

#interestModal .modal-dialog {
    max-width: 980px;
    margin: 1.75rem auto;
    min-height: calc(100vh - 3.5rem);
    display: flex;
    align-items: center;
}
#interestModal .modal-content {
    border: 0;
    border-radius: 0;
    overflow: hidden;
}
.modal-backdrop.show {
    opacity: 0.75;
}
.interest-modal {
    display: grid;
    grid-template-columns: 36% 64%;
    min-height: 430px;
}
.interest-left {
    background: #fff;
    padding: 50px 42px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.interest-left h3 {
    margin: 0 0 18px;
    font-size: 44px;
    line-height: .95;
    text-transform: uppercase;
    color: #34605F;
    font-family: 'D-DIN-Bold' !important;
}
.interest-left p {
    margin: 0;
    color: #3f5c5a;
    font-size: 18px;
    line-height: 1.4;
}
.interest-right {
    position: relative;
    background-image: linear-gradient(rgba(22,40,39,.28), rgba(22,40,39,.42)), url('https://magnitudeconstruction.com/wp-content/themes/magnitude/new-templates/premium/header.jpg');
    background-size: cover;
    background-position: center;
    padding: 46px 44px 34px;
}
.interest-close {
    position: absolute;
    top: 12px;
    right: 14px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
}
.interest-form .form-group {
    margin-bottom: 12px;
}
.interest-form .form-control,
.interest-form select {
    height: 48px;
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.85);
    background: rgba(255,255,255,.94);
    color: #1f2f2e;
    padding: 10px 18px;
    font-size: 13px;
    box-shadow: none;
}
.interest-form .form-control::placeholder { color: #506664; opacity: 1; }
.interest-submit {
    margin-top: 8px;
    width: 210px;
    max-width: 100%;
    height: 48px;
    border-radius: 999px;
    border: 0;
    background: #34605F;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 991px) {
    #interestModal .modal-dialog {
        max-width: 94%;
        margin: 20px auto;
    }
    .interest-modal {
        grid-template-columns: 1fr;
    }
    .interest-left {
        padding: 34px 26px 12px;
    }
    .interest-left h3 {
        font-size: 34px;
    }
    .interest-left p {
        font-size: 16px;
    }
    .interest-right {
        padding: 24px 20px 24px;
    }
}

@media (max-width: 1000px) {
    #section-terrains { padding: 40px 0 50px; }
}

#sb_instagram .sbi_follow_btn a, #sb_instagram .sbi_follow_btn a, #sb_instagram #sbi_load .sbi_load_btn { color:white !important }

/* Hero CTA buttons + scroll arrow */
.home-hero-cta-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 24px;
    flex-wrap: wrap;
}
.home-hero-cta {
    display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 170px;
  height: 38px;
  padding: 0 20px;
  border: 2px solid rgba(255,255,255,.95);
  border-radius: 999px;
  background: rgba(255,255,255,.05);
  color: #fff !important;
  text-decoration: none !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.home-hero-cta:hover {
    background: #fff;
    color: #34605F !important;
    transform: translateY(-2px);
}
.home-hero-scroll {
    margin: 26px auto 0;
    display: block;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 44px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
    opacity: .95;
    transition: transform .2s ease, opacity .2s ease;
}
.home-hero-scroll:hover {
    transform: translateY(3px);
    opacity: 1;
}
@media screen and (max-width: 1000px) {
    .home-hero-cta-wrap {
        gap: 12px;
        margin-top: 18px;
    }
    .home-hero-cta {
        min-width: 160px;
        height: 44px;
        padding: 0 20px;
        font-size: 14px;
    }
    .home-hero-scroll {
        font-size: 34px;
        margin-top: 18px;
    }
}

