/* Studio Mazini — charte globale (complète les réglages Elementor, aucun !important sauf mobile) */

/* Titres à deux lignes : sans-serif + italique serif */
.sm-title em{display:block;font-family:'Bodoni Moda','Bodoni MT',Didot,serif;font-style:italic;font-weight:400}
.sm-title-georgia em{display:block;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:inherit}
.sm-title-inline em{display:inline}
.sm-card-title em{font-size:1.15em}

/* Display du héro accueil */
.sm-display span{display:block}
.sm-display em{display:block;margin-left:8%;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:.91em;line-height:.76;letter-spacing:-.065em}

/* Héros */
.sm-hero{color:#fff}
/* le conteneur interne doit remplir le héro pour pousser l'accroche et le lien en bas (zone sombre de la photo) */
.sm-hero .e-con.sm-hero-inner{min-height:720px !important;justify-content:space-between;width:100%}
.sm-hero .e-con.sm-hero-bottom{width:min(100%,624px)}
.sm-hero.e-con{--padding-left:32px !important;--padding-right:32px !important}
@media (max-width:1024px){.sm-hero.e-con{--padding-left:24px !important;--padding-right:24px !important}}
.sm-hero-topline p{display:flex;justify-content:space-between;gap:16px;margin:0;padding-top:10px;border-top:1px solid rgba(255,255,255,.7)}
.sm-arrow-link{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff;text-decoration:none;font-family:'Cormorant Garamond',Georgia,serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.sm-arrow-link b{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;font-size:18px;font-weight:400;transition:transform .3s,background .3s,color .3s}
.sm-arrow-link:hover{color:#fff}
.sm-arrow-link:hover b{background:#fff;color:#090909;transform:rotate(45deg)}
.sm-arrow-link--dark{color:#111;padding-top:17px;border-top:1px solid rgba(9,9,9,.25);font-family:'Cormorant Garamond',Georgia,serif;font-weight:600}
.sm-arrow-link--dark b{width:auto;height:auto;border:0;font-size:20px}
.sm-arrow-link--dark:hover{color:#666}
.sm-arrow-link--dark:hover b{background:transparent;color:#666;transform:translate(3px,-3px)}

/* Bandeau défilant */
.sm-marquee-wrap .elementor-widget-container,.sm-marquee-wrap .elementor-widget-html{margin:0}
.sm-marquee{overflow:hidden;padding:12px 0;background:#080808;color:#fff;white-space:nowrap}
.sm-marquee-track{display:flex;align-items:center;gap:30px;width:max-content;padding-left:30px;font-family:'Cormorant Garamond',Georgia,serif;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;animation:smMarquee 28s linear infinite}
.sm-marquee-track i{font-style:normal;font-size:8px}
@keyframes smMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.sm-marquee-track{animation:none}}

/* Notre objectif : filigrane + colonnes décalées */
.sm-objectif{position:relative}
.sm-watermark{position:absolute;right:0;top:-40px;font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;font-size:273px;line-height:1;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px rgba(9,9,9,.07);pointer-events:none;user-select:none}
.sm-objectif .elementor-widget-html{position:static}
@media (max-width:1024px){.sm-watermark{display:none}}

/* Liens soulignés (CTA noir) et bouton pilule */
.sm-underline{display:inline-flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #fff;color:#fff;text-decoration:none;font-family:Raleway,Arial,sans-serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:border-color .3s}
.sm-underline span{transition:transform .3s}
.sm-underline:hover{border-color:rgba(255,255,255,.6);color:#fff}
.sm-underline:hover span{transform:translate(3px,-3px)}
.sm-cta .elementor-widget-html{text-align:center}
.sm-pill .elementor-button{height:54px;display:inline-flex;align-items:center;gap:14px}

/* Pastilles (À propos) */
.sm-pills{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:6px}
.sm-pills span{font-family:'Cormorant Garamond',Georgia,serif;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:9px 15px;border:1px solid rgba(2,14,1,.25);border-radius:50px}
.sm-align-end{margin-left:auto}
@media (max-width:1024px){.sm-reverse-mobile>.elementor-element:first-child{order:2}}

/* Notes de bas de carte poussées en bas */
.sm-card-note{margin-top:auto;padding-top:14px}

/* Pages légales */
.sm-box{background:rgba(0,0,0,.04);border-radius:12px;padding:28px 30px;margin:12px 0}
.sm-notice{background:rgba(0,0,0,.035);border-radius:8px;padding:16px 20px;margin:12px 0}
.sm-legal p{margin:0 0 14px}
.sm-legal p:last-child,.sm-legal .sm-box p:last-child{margin-bottom:0}
.sm-legal ul{margin:0 0 14px;padding-left:22px}
.sm-legal h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:19px;margin:20px 0 8px}

/* Header / footer */
.sm-header{position:sticky;top:0;z-index:50}
.sm-logo a{color:inherit;text-decoration:none}
.sm-footer-legal a{color:#fff;opacity:.75;text-decoration:none}
.sm-footer-legal a:hover{opacity:1;color:#fff}
.sm-footer .elementor-nav-menu--layout-vertical .menu-item a{padding:4px 0}
.sm-header .elementor-nav-menu--dropdown{box-shadow:0 12px 30px rgba(0,0,0,.08)}

/* Formulaire de contact (widget Formulaire d'Elementor Pro) */
.sm-form .elementor-field-textual{padding:14px 16px}
.sm-form .elementor-field-textual:focus{outline:2px solid #090909;outline-offset:1px;box-shadow:none}
.sm-form textarea.elementor-field-textual{min-height:180px;resize:vertical}
.sm-form .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:10px;align-items:flex-start}
.sm-form .elementor-field-type-acceptance .elementor-field-option label{display:inline;text-transform:none;letter-spacing:0;font-size:13px;line-height:1.6;font-weight:300}
.sm-form .elementor-field-type-acceptance input{flex:none;margin:4px 0 0}
.sm-form .elementor-field-type-acceptance a{color:#090909;text-decoration:underline}
.sm-form .elementor-button{height:54px;display:inline-flex;align-items:center;gap:14px;transition:background .3s}
.sm-form .elementor-field-type-recaptcha_v3{margin-top:4px}
.sm-form .elementor-message{margin-top:20px;padding:14px 16px;border:1px solid rgba(9,9,9,.25);font-family:Raleway,Arial,sans-serif;font-size:14px}
.sm-form .elementor-message.elementor-message-danger{border-color:#c0392b}
.sm-form .elementor-field-group .elementor-form-field-error-message{font-family:Raleway,Arial,sans-serif;font-size:12px;margin-top:6px}

/* Mobile */
@media (max-width:767px){
	.sm-hero .e-con.sm-hero-inner{min-height:650px !important}
	.sm-display .elementor-heading-title,.elementor-heading-title.sm-display,.sm-display{font-size:clamp(44px,13vw,60px) !important}
	.sm-display em{margin-left:4%}
	.sm-watermark{display:none}
	.sm-header.e-con{flex-direction:row;flex-wrap:nowrap;align-items:center}
	.sm-header.e-con>.elementor-widget{width:auto;flex:0 0 auto}
	.sm-header.e-con>.elementor-widget-navigation-menu{flex:0 0 auto}
	.sm-logo .elementor-heading-title{white-space:nowrap;font-size:20px}
	.sm-header .elementor-social-icons-wrapper{display:inline-flex;flex-wrap:nowrap;gap:10px}
	.sm-hero.e-con{--padding-left:20px !important;--padding-right:20px !important}
	.sm-header .elementor-icon.elementor-social-icon{font-size:14px}
}

/* Galeries de réalisations : photos cadrées en 3:4 */
.sm-gallery .elementor-widget-image img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.sm-gallery .elementor-widget-image .elementor-widget-container{line-height:0}
