/* Casa Syab 1.2 — shared visual rules for native and Elementor pages. */
:root{--muted:#625f53;--radius:18px}
body{overflow-wrap:break-word}main{overflow:clip}h1,h2,h3{ text-wrap:balance }p{text-wrap:pretty}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
.container{max-width:1180px}.section-pad{padding-block:88px}.eyebrow{font-size:11px;line-height:1.6;letter-spacing:.16em;margin-bottom:18px}
body .cs-el-section{padding:84px max(24px,5vw)!important}body .cs-el-section>.elementor-container,body .cs-el-hero>.elementor-container,body .cs-el-cta>.elementor-container{max-width:1180px!important;width:100%}
.cs-el-section .elementor-column,.cs-el-hero .elementor-column,.cs-el-cta .elementor-column{min-width:0}.cs-el-section .elementor-widget,.cs-el-hero .elementor-widget{min-width:0;max-width:100%}
body .cs-el-section .elementor-heading-title,.split h2,.section-heading h2{font-family:var(--serif)!important;font-size:clamp(34px,3.8vw,52px)!important;line-height:1.1!important;letter-spacing:-.025em!important;font-weight:600!important}
body .cs-el-section .elementor-widget-text-editor,body .cs-el-section .elementor-widget-text-editor p{font:400 16px/1.8 var(--sans);color:var(--muted)}
body .cs-el-section .elementor-widget-heading{margin-bottom:20px}body .cs-el-section .elementor-widget-text-editor p:last-child{margin-bottom:0}
.cs-el-intro>.elementor-container{align-items:center!important;gap:64px}.cs-el-intro>.elementor-container>.elementor-column:first-child{width:46%!important}.cs-el-intro>.elementor-container>.elementor-column:last-child{width:54%!important}.cs-el-intro .elementor-widget-wrap{padding:0!important}.cs-el-intro .elementor-heading-title{max-width:480px}.cs-el-intro strong{font-weight:400;color:var(--ink)}.cs-el-intro .elementor-widget-text-editor+.elementor-widget-text-editor{margin-top:18px}
/* Keep the hero copy readable independently of Elementor's global kit colors. */
body .cs-el-hero{position:relative;min-height:660px!important;padding:190px max(24px,5vw) 90px!important;background-image:linear-gradient(90deg,rgba(25,28,22,.84),rgba(25,28,22,.48) 60%,rgba(25,28,22,.12)),url('../images/hero-casa-syab.webp')!important}
.cs-el-hero>.elementor-container>.elementor-column:first-child{width:80%!important;max-width:840px}.cs-el-hero>.elementor-container>.elementor-column:last-child{width:20%!important}.cs-el-hero .elementor-widget-wrap{padding:0!important}
body .cs-el-hero .elementor-heading-title,.hero-content h1{font-family:var(--serif)!important;font-size:clamp(50px,6.2vw,84px)!important;line-height:1.06!important;letter-spacing:-.035em!important;max-width:800px;margin:0 0 24px!important}
body .cs-el-hero .elementor-heading-title{color:#fff!important}body .cs-el-hero .elementor-heading-title span{color:#efb89b!important}
body .cs-el-hero .eyebrow{color:#f2d7c4!important}body .cs-el-hero .elementor-widget-text-editor,body .cs-el-hero .elementor-widget-text-editor p{font:400 17px/1.8 var(--sans)!important;color:#fff7f0!important;max-width:590px}
.cs-el-hero .elementor-widget-button{margin-top:20px}
body .cs-el-page-hero{min-height:460px!important;padding-top:180px!important;padding-bottom:72px!important;background-color:var(--ivory)!important;background-image:linear-gradient(90deg,#f7f3ec 0%,#f7f3ec 43%,rgba(247,243,236,.9) 58%,rgba(247,243,236,.15)),url('../images/appartement-paris.webp')!important;background-position:center,right center!important;background-size:cover!important}
body .cs-el-page-hero .elementor-heading-title{color:var(--ink)!important;font-size:clamp(44px,5.3vw,68px)!important;max-width:700px}body .cs-el-page-hero .elementor-heading-title span{color:var(--terra)!important}
body .cs-el-page-hero .eyebrow{color:var(--terra)!important}body .cs-el-page-hero .elementor-widget-text-editor,body .cs-el-page-hero .elementor-widget-text-editor p{color:#514d42!important;max-width:520px}
body .cs-el-hero--nos-services{background-image:linear-gradient(90deg,#f7f3ec 0%,#f7f3ec 40%,rgba(247,243,236,.88) 60%,rgba(247,243,236,.14)),url('../images/riad-marrakech.webp')!important}
body .cs-el-hero--nos-appartements{background-image:linear-gradient(90deg,#f7f3ec 0%,#f7f3ec 40%,rgba(247,243,236,.88) 60%,rgba(247,243,236,.14)),url('../images/appartement-casablanca.webp')!important}
body .cs-el-hero--contact{min-height:390px!important;background-image:none!important;background-color:var(--ivory)!important;padding-bottom:60px!important}
/* Consistent buttons override inherited Elementor kit accents. */
body .cs-el-hero .elementor-button,body .cs-el-section .elementor-button,body .cs-el-cta .elementor-button,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:15px 24px!important;border-radius:8px!important;border:1px solid transparent;font:700 12px/1.45 var(--sans)!important;letter-spacing:.025em!important;text-transform:none!important;text-align:center;white-space:normal;box-shadow:none!important;text-decoration:none!important}
body .cs-el-hero .elementor-button,body .cs-el-section .elementor-button{background:var(--terra)!important;color:#fff!important}body .cs-el-hero .elementor-button:hover,body .cs-el-section .elementor-button:hover{background:#85432e!important}
body .cs-el-hero .elementor-button-text,body .cs-el-section .elementor-button-text{color:#fff!important}
.button-light,body .cs-el-cta .elementor-button{background:var(--ivory)!important;color:var(--olive)!important}.cs-el-cta .elementor-button-text{color:var(--olive)!important}.button-dark{background:var(--olive)!important;color:white!important}
body .cs-el-cta{padding:62px max(24px,5vw)!important}body .cs-el-cta>.elementor-container{align-items:center!important;gap:40px}.cs-el-cta .elementor-widget-wrap{align-content:center!important;padding:0!important}body .cs-el-cta .elementor-heading-title,.cta-inner h2{font:600 clamp(34px,3.5vw,48px)/1.12 var(--serif)!important;max-width:680px;letter-spacing:-.02em}.cs-el-cta>.elementor-container>.elementor-column:last-child .elementor-widget-wrap{justify-content:flex-end}.cs-el-cta .eyebrow{color:#f6ddcd!important}
.cs-el-services>.elementor-container,.cs-el-service-detail>.elementor-container,.cs-el-testimonial-grid>.elementor-container{align-items:stretch}.cs-el-services .elementor-column,.cs-el-service-detail .elementor-column{display:flex}.cs-el-services .elementor-widget-wrap,.cs-el-service-detail .elementor-widget-wrap{height:auto!important;min-height:260px!important;padding:30px!important;border-radius:16px!important;align-content:flex-start!important}
body .cs-el-services .elementor-heading-title,body .cs-el-service-detail .elementor-heading-title,body .cs-el-testimonial-grid .elementor-heading-title{font-size:32px!important;line-height:1.15!important}
body .cs-el-stats{padding-block:40px!important}body .cs-el-stats .elementor-heading-title{color:#efb89b!important;font-size:44px!important}body .cs-el-stats .elementor-widget-text-editor,body .cs-el-stats .elementor-widget-text-editor p{color:#f3eee4!important;font-size:13px!important}.cs-el-stats .elementor-widget-wrap{padding:10px 28px!important}
body .cs-el-process-step>.elementor-container>.elementor-column:first-child .elementor-heading-title{font-size:64px!important;color:var(--terra)!important}body .cs-el-process-step>.elementor-container>.elementor-column:last-child .elementor-heading-title{font-size:42px!important}
/* Contact: one coherent grid, instead of nested competing columns. */
body .cs-el-contact>.elementor-container>.elementor-column:first-child{display:none!important}body .cs-el-contact>.elementor-container>.elementor-column:last-child{width:100%!important}.cs-el-contact .elementor-widget-wrap{padding:0!important}
.cs-contact-paths{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:48px;align-items:start;scroll-margin-top:120px}.cs-contact-main{min-width:0}.cs-contact-card{padding:28px;margin:0;background:var(--ivory);border-radius:16px}.cs-contact-card h3{font:600 30px/1.15 var(--serif);color:var(--ink)}.cs-contact-card .cs-whatsapp-link{font-size:14px;line-height:1.7}.cs-contact-card>a{font-size:14px}.cs-contact-card p{font-size:13px}.cs-social-links{gap:8px}.cs-social-links a{font:400 12px/1.5 var(--sans)!important;padding:8px 12px;border-color:var(--line);background:var(--paper)}.cs-social-links a:hover{color:var(--terra);border-color:var(--terra)}
.cs-contact-main>h2{font-size:clamp(32px,3vw,42px);line-height:1.12;margin-bottom:14px}.cs-contact-main>p{font-size:14px}.cs-contact-path{padding:24px;border-radius:14px;margin:18px 0}.cs-contact-path summary{font:700 16px/1.6 var(--sans);min-height:28px;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.cs-contact-path summary::-webkit-details-marker{display:none}.cs-contact-path summary:after{content:'+';font-size:22px;color:var(--terra)}.cs-contact-path[open] summary:after{content:'−'}.cs-contact-path>p{font-size:14px}.cs-contact-path form h3{font:600 27px/1.2 var(--serif);margin:24px 0}.casa-form label{font-size:12px;text-transform:none;letter-spacing:0;line-height:1.5}.casa-form input,.casa-form select,.casa-form textarea{background:#fff;border:1px solid #cfc9bc;border-radius:7px;padding:12px;min-height:46px;font-size:15px}.casa-form select{appearance:auto}.casa-form textarea{resize:vertical}.casa-form input:focus,.casa-form select:focus,.casa-form textarea:focus{outline:2px solid var(--terra);outline-offset:2px}.form-row{gap:18px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.casa-form .cs-consent{font-size:12px;font-weight:400}.cs-contact-paths .cs-privacy{font-size:11px;line-height:1.7}.cs-contact-path .button{width:100%}.cs-contact-paths .hp-field{width:1px;height:1px;overflow:hidden}
.narrow:has(.cs-contact-paths){width:min(1180px,calc(100% - 48px));max-width:1180px}
.native-hero{min-height:690px}.hero-content{padding-top:215px;padding-bottom:90px}.hero-content p{color:#fff7f0}.hero-content .eyebrow{color:#f2d7c4}.page-hero{padding:180px 0 80px}.page-hero h1{font-size:clamp(44px,5.3vw,68px);line-height:1.06}.page-hero p{font-size:16px}.contact-hero{background-image:none}.contact-hero:after{display:none}.split{gap:64px;align-items:center}.split>div:last-child{padding-top:0}.service-grid article{min-height:340px}.service-grid h3{font-size:30px;line-height:1.15}.property-card h3{font-size:28px;line-height:1.15}.property-image{height:auto;aspect-ratio:4/3}.property-card-body{display:flex;flex-direction:column;min-height:215px}.property-card .card-link{margin-top:auto;padding-top:18px}.cta-inner{align-items:center}.whatsapp-float{background:#246c49}.site-footer .cs-social-links a{background:transparent;border-color:#68685b;color:#f1ede3}.site-footer .footer-grid{gap:50px}
@media(max-width:900px){body .cs-el-intro>.elementor-container{gap:30px}.cs-contact-paths{gap:26px;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}body .cs-el-section .elementor-heading-title{font-size:40px!important}.cs-el-hero>.elementor-container>.elementor-column:first-child{width:100%!important}.cs-el-hero>.elementor-container>.elementor-column:last-child{display:none!important}.cs-el-cta>.elementor-container{flex-wrap:wrap}.cs-el-cta .elementor-column{width:100%!important}.cs-el-cta>.elementor-container>.elementor-column:last-child .elementor-widget-wrap{justify-content:flex-start}}
@media(max-width:767px){.section-pad{padding-block:60px}body .cs-el-section{padding:58px 22px!important}body .cs-el-section>.elementor-container{flex-direction:column;gap:24px}body .cs-el-section>.elementor-container>.elementor-column,body .cs-el-intro>.elementor-container>.elementor-column:first-child,body .cs-el-intro>.elementor-container>.elementor-column:last-child{width:100%!important}body .cs-el-section .elementor-heading-title{font-size:36px!important}body .cs-el-hero{min-height:590px!important;padding:155px 24px 66px!important}body .cs-el-hero .elementor-heading-title{font-size:52px!important}body .cs-el-page-hero{min-height:390px!important;padding:150px 24px 58px!important;background-image:linear-gradient(90deg,rgba(247,243,236,.98),rgba(247,243,236,.86)),url('../images/appartement-paris.webp')!important}body .cs-el-page-hero .elementor-heading-title{font-size:44px!important}body .cs-el-page-hero .elementor-widget-text-editor p{font-size:16px!important}body .cs-el-hero--contact{background-image:none!important}.cs-el-services .elementor-widget-wrap,.cs-el-service-detail .elementor-widget-wrap{margin:0!important;min-height:0!important}body .cs-el-cta{padding:48px 24px!important}.cs-el-cta .elementor-heading-title{font-size:36px!important}.cs-contact-paths{grid-template-columns:1fr;gap:32px}.cs-contact-card{padding:24px}.cs-contact-main>h2{font-size:36px}.cs-contact-path{padding:20px}.cs-contact-main .form-row{grid-template-columns:1fr;gap:0}.cs-el-stats .elementor-column{border:0}.native-hero{min-height:620px}.hero-content{padding-top:175px}.hero-content h1{font-size:52px!important}.page-hero{padding:150px 0 60px}.page-hero h1{font-size:44px}.split{gap:28px}.primary-nav.open{height:100dvh}.header-inner{backdrop-filter:none}.site-footer .footer-grid{gap:32px}}
@media(max-width:400px){body .cs-el-hero .elementor-heading-title{font-size:46px!important}body .cs-el-page-hero .elementor-heading-title{font-size:40px!important}.cs-contact-main>h2{font-size:32px}.cs-social-links a{font-size:11px!important}.button{padding-inline:18px!important}}
@media(min-width:901px){.cs-el-intro>.elementor-container>.elementor-column:first-child{width:calc(46% - 32px)!important}.cs-el-intro>.elementor-container>.elementor-column:last-child{width:calc(54% - 32px)!important}.cs-el-cta>.elementor-container>.elementor-column:first-child{width:calc(70% - 20px)!important}.cs-el-cta>.elementor-container>.elementor-column:last-child{width:calc(30% - 20px)!important}}
@media(min-width:768px) and (max-width:900px){.cs-el-intro>.elementor-container>.elementor-column:first-child{width:calc(46% - 15px)!important}.cs-el-intro>.elementor-container>.elementor-column:last-child{width:calc(54% - 15px)!important}}
