/*
Theme Name: Maison Rosny
Theme URI: https://wordpress.org/
Author: Maison Rosny
Description: Site immobilier mono-bien premium, sans builder. Customizer natif, galerie, plans et formulaire de visite.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maison-rosny
Tags: custom-logo, custom-menu, featured-images, theme-options, one-column
*/
:root{--ink:#192022;--muted:#55585a;--paper:#fff;--soft:#f6f5f2;--line:#d7d7d4;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--width:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{width:42px;height:42px;flex-shrink:0}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(42px,4.6vw,68px)}h2{font-size:clamp(32px,3.25vw,46px);margin-bottom:24px}h3{font-size:30px}p{margin-bottom:18px}.container{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.section{padding-block:64px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:54px;padding:15px 29px;border:1px solid var(--ink);border-radius:7px;background:var(--ink);color:white;font-size:14px;font-weight:500;line-height:1.35;transition:background .2s,transform .2s}.button:hover{background:#343e40;transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.button.white{background:white;color:var(--ink);border-color:white}.button.white:hover{background:#eeeeeb}.button.small{min-height:46px;font-size:12px;padding:12px 22px;border-radius:4px}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #987746;outline-offset:5px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;padding:14px;background:white}.skip-link:focus{top:10px}.eyebrow{display:flex;align-items:center;gap:14px;text-transform:uppercase;font-size:11px;letter-spacing:.19em;margin-bottom:25px}.eyebrow:after{content:'';width:70px;height:1px;background:currentColor;opacity:.35}.eyebrow.light{color:white;font-size:12px;letter-spacing:.23em}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.98);border-bottom:1px solid #eee}.admin-bar .site-header{top:32px}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand>a{font-family:var(--serif);font-size:34px;letter-spacing:-.055em;line-height:1;display:block}.brand span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.21em;text-transform:uppercase;margin-top:9px}.custom-logo{max-width:210px;max-height:62px;width:auto}.menu{list-style:none;margin:0;padding:0;display:flex;gap:30px;align-items:center}.menu a{font-size:13px;display:block;padding:12px 0}.menu a:hover{text-decoration:underline;text-underline-offset:6px}#primary-navigation{display:flex;align-items:center;gap:30px}.menu li{position:relative}.sub-menu{list-style:none;display:none;position:absolute;top:100%;left:0;width:200px;background:white;padding:12px;box-shadow:0 8px 30px #0001}.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}.menu-toggle{display:none}.hero{position:relative;min-height:560px;height:clamp(550px,43vw,700px);isolation:isolate;color:white;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-image{object-position:center 55%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.20) 58%,rgba(0,0,0,.03))}.hero-content{padding-block:56px}.hero h1{margin:0 0 12px;max-width:680px}.price{font-family:var(--serif);font-size:40px;line-height:1.2;margin-bottom:12px;letter-spacing:-.03em}.hero-description{max-width:460px;font-size:18px;line-height:1.45;margin-bottom:28px}.demo-label{position:absolute;right:16px;bottom:12px;font-size:10px;color:white;background:#0007;padding:4px 8px;border-radius:2px}.features{padding:40px 0;border-bottom:1px solid #ededeb}.feature-grid,.strength-grid{display:grid;grid-template-columns:repeat(5,1fr)}.feature-grid>div,.strength-grid>div{text-align:center;padding:0 20px;display:flex;align-items:center;flex-direction:column;justify-content:flex-start;border-right:1px solid var(--line)}.feature-grid>div:last-child,.strength-grid>div:last-child{border:0}.feature-grid svg{margin-bottom:12px}.feature-grid strong{font-weight:400;font-size:17px}.feature-grid span{color:var(--muted);font-size:14px;line-height:1.25}.intro{display:grid;grid-template-columns:.92fr 1.08fr;gap:68px;align-items:center;padding-block:26px}.intro-copy{padding:30px 0}.intro h2{max-width:480px}.prose{color:#454849}.prose p:last-child{margin-bottom:24px}.intro-figure{position:relative;align-self:stretch;min-height:490px;overflow:hidden}.intro-figure img{width:100%;height:100%;object-fit:cover}.intro-figure:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0006)}.intro-figure figcaption{position:absolute;z-index:1;bottom:35px;left:35px;max-width:260px;font-family:var(--serif);font-style:italic;color:white;font-size:31px;line-height:1.1;transform:rotate(-7deg);text-shadow:0 2px 8px #0005}.strengths{background:var(--ink);color:white;padding:36px 0 42px}.line-title{display:flex;align-items:center;gap:28px;font-size:36px;letter-spacing:-.03em}.line-title:after{content:'';height:1px;width:72px;background:currentColor;opacity:.35}.strength-grid{margin-top:30px}.strength-grid>div{border-color:#ffffff35}.strength-grid svg{width:46px;height:46px;margin-bottom:16px}.strength-grid p{font-size:16px;line-height:1.5;margin:0;max-width:180px}.gallery-section{padding-block:48px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.section-heading h2{margin:0}.text-button{border:0;background:none;padding:10px 0;display:inline-flex;gap:15px;align-items:center;font-size:14px;color:var(--ink)}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.text-button span{font-size:22px}.gallery-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/5);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:8px}.gallery-item{aspect-ratio:1.02;overflow:hidden;scroll-snap-align:start;background:var(--soft)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.area{background:var(--soft)}.area-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;align-items:center}.area h2{max-width:470px}.address{border-top:1px solid var(--line);padding-top:20px;margin-top:26px;font-size:14px}.map-panel{min-height:365px;background:#e9e8e2;border:1px solid #deddd6;display:grid;place-items:center}.map-placeholder{text-align:center;padding:30px;max-width:390px}.map-pin{font-size:54px;line-height:1;display:block;margin-bottom:12px}.map-placeholder h3{margin-bottom:14px}.map-placeholder p{font-size:13px}.map-placeholder>a{display:block;font-size:12px;margin-top:16px;text-decoration:underline}.map-panel iframe{width:100%;height:365px;border:0}.section-description{color:var(--muted);max-width:620px}.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;margin-top:30px}.plans-grid figure{background:var(--soft);padding:20px}.plans-grid figure img{height:320px;width:100%;object-fit:contain}.plans-grid figcaption{font-size:14px;padding-top:12px}.plans-empty{grid-column:1/-1;border:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:28px 32px}.plans-empty p{margin:0;flex:1}.plans-empty a{flex-shrink:0}.contact{background:var(--soft);padding-block:44px}.contact-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:55px;align-items:center}.contact-heading h2{margin-bottom:12px}.contact-heading .eyebrow{margin-bottom:18px}.contact-heading p{max-width:610px}.direct-contact{border-left:1px solid var(--line);padding:30px 0 30px 55px;display:flex;align-items:center;gap:28px}.direct-contact>svg{border:1px solid var(--ink);border-radius:50%;width:88px;height:88px;padding:23px}.direct-contact span,.direct-contact strong,.direct-contact small{display:block}.phone{display:block;font-family:var(--serif);font-size:30px;letter-spacing:-.03em;white-space:nowrap}.direct-contact small{font-size:13px;color:var(--muted)}.direct-contact strong{font-family:var(--serif);font-size:24px;font-weight:400;margin-block:8px}.visit-form{border-top:1px solid var(--line);padding-top:28px;margin-top:24px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.form-grid label{font-size:13px;display:block}.form-grid label>span{color:#785a38}input:not([type=checkbox]):not([type=hidden]),textarea{display:block;width:100%;border:1px solid #cecfca;border-radius:3px;padding:12px 14px;background:#fff;color:var(--ink);margin-top:8px;min-height:48px}textarea{resize:vertical}.message-field{grid-column:1/-1}.form-bottom{display:flex;gap:30px;align-items:center;justify-content:space-between;margin-top:20px}.consent{display:flex;align-items:flex-start;gap:10px;max-width:670px;font-size:12px;color:var(--muted)}.consent input{margin-top:3px;flex-shrink:0;width:17px;height:17px;accent-color:var(--ink)}.consent a{text-decoration:underline}.form-bottom .button{flex-shrink:0}.required-note{font-size:11px;color:var(--muted);margin:12px 0 0}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-status{border:1px solid #879184;background:white;padding:18px;margin-top:25px}.site-footer{padding:26px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}.footer-brand{font-family:var(--serif);font-size:29px;letter-spacing:-.04em}.footer-inner p{font-size:12px;margin:0;color:var(--muted)}.footer-inner .menu{gap:24px}.footer-inner .menu a{font-size:12px}.legal-links{font-size:11px;display:flex;gap:20px;margin-top:20px}.legal-links a{text-decoration:underline}.sale-details{font-size:12px;color:var(--muted);padding-block:24px}.sale-details p:last-child{margin:0}.lightbox{background:rgba(15,19,20,.97);color:#fff;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:55px 65px}.lightbox::backdrop{background:#101415f5}.lightbox[open]{display:grid;place-items:center}.lightbox figure{margin:auto;max-width:100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;overflow:hidden}.lightbox img{max-height:calc(100dvh - 150px);width:auto;max-width:100%;object-fit:contain}.lightbox figcaption{text-align:center;font-size:13px;flex-shrink:0}.lightbox button{position:absolute;border:1px solid #ffffff50;background:#1a2021;color:white;width:44px;height:44px;border-radius:50%;font-size:25px;display:grid;place-items:center}.lightbox button[hidden]{display:none}.lightbox-close{top:15px;right:18px}.lightbox-prev{left:12px;top:50%}.lightbox-next{right:12px;top:50%}.content-page{min-height:60vh;max-width:900px}.content-page article+article{margin-top:50px}.content-page h1{font-size:46px}.content-page .prose a{text-decoration:underline}.alignwide{width:100%}.aligncenter{margin-inline:auto}.wp-caption{max-width:100%}.wp-caption-text{font-size:13px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1500px){.intro{gap:85px}.intro-figure{min-height:520px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.menu{gap:20px}#primary-navigation{gap:22px}.brand>a{font-size:30px}.intro{gap:42px}.intro-figure{min-height:460px}.area-grid{gap:42px}.direct-contact{padding-left:30px;gap:20px}.direct-contact>svg{width:66px;height:66px;padding:16px}.footer-inner{flex-wrap:wrap}.footer-inner nav{margin-left:auto}.footer-inner>.button{display:none}}
@media(max-width:850px){.header-inner{min-height:80px}.menu-toggle{display:flex;gap:15px;align-items:center;background:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px;min-height:44px;font-size:13px}#primary-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:24px 32px;background:white;box-shadow:0 12px 16px #0001;max-height:calc(100dvh - 100px);overflow:auto}#primary-navigation.is-open{display:flex;align-items:stretch;flex-direction:column}.menu{gap:10px}#primary-navigation .menu{flex-direction:column;align-items:stretch}#primary-navigation .menu a{font-size:16px;padding:10px}.sub-menu{position:static;display:block;box-shadow:none;width:auto;padding:0 16px}.hero{min-height:550px;height:auto}.hero h1{font-size:56px}.intro{gap:32px}.intro h2{font-size:35px}.intro-figure{min-height:490px}.feature-grid>div,.strength-grid>div{padding-inline:10px}.strength-grid p{font-size:14px}.gallery-track{grid-auto-columns:calc((100% - 24px)/3)}.area-grid{grid-template-columns:1fr;gap:24px}.area h2{max-width:600px}.map-panel,.map-panel iframe{min-height:330px;height:330px}.contact-heading{grid-template-columns:1fr;gap:8px}.direct-contact{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.form-bottom{align-items:flex-start;flex-direction:column;gap:18px}.plans-empty{flex-wrap:wrap}.plans-empty p{flex-basis:70%}.plans-empty a{margin-left:70px}.admin-bar .site-header{top:32px}}
@media(max-width:600px){html{scroll-padding-top:88px}.container{width:calc(100% - 40px)}.section{padding-block:40px}.header-inner{min-height:76px}.brand>a{font-size:27px}.brand span{font-size:8px;letter-spacing:.19em;margin-top:6px}.hero{min-height:570px}.hero-content{padding-block:58px 70px}.hero h1{font-size:48px;max-width:350px}.price{font-size:34px}.hero-description{font-size:16px;max-width:320px}.hero-shade{background:linear-gradient(90deg,#0009,#0004)}.hero-image{object-position:58% center}.demo-label{font-size:8px}.features{padding-block:25px}.feature-grid{grid-template-columns:repeat(6,1fr);row-gap:25px}.feature-grid>div{grid-column:span 2}.feature-grid>div:nth-child(3){border:0}.feature-grid>div:nth-child(4){grid-column:2/span 2}.feature-grid svg{width:34px;height:34px;margin-bottom:9px}.feature-grid strong{font-size:14px}.feature-grid span{font-size:12px}.intro{grid-template-columns:1fr;gap:26px}.intro-copy{padding:0}.intro h2{font-size:37px;max-width:370px}.intro-figure{min-height:0;aspect-ratio:1.05}.intro-figure figcaption{font-size:27px;bottom:28px;left:25px}.eyebrow{font-size:9px;margin-bottom:20px}.strengths{padding-block:32px}.line-title{font-size:31px;gap:20px}.line-title:after{width:45px}.strength-grid{grid-template-columns:repeat(2,1fr);row-gap:28px}.strength-grid>div:nth-child(2n){border:0}.strength-grid>div:last-child{grid-column:1/-1}.strength-grid svg{width:39px;height:39px;margin-bottom:12px}.strength-grid p{font-size:14px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading .text-button{font-size:12px;padding:0}.gallery-track{grid-auto-columns:76%;gap:12px}.gallery-item{aspect-ratio:1.08}.plans-grid{grid-template-columns:1fr}.plans-grid figure img{height:auto;max-height:400px}.plans-empty{padding:24px;gap:18px}.plans-empty p{font-size:14px}.plans-empty a{margin-left:0}.contact-heading{gap:6px}.contact-heading h2{font-size:35px}.contact-heading p{font-size:15px}.form-grid{grid-template-columns:1fr;gap:16px}.form-bottom .button{width:100%}.footer-inner{flex-direction:column;align-items:flex-start;gap:18px}.footer-inner nav{margin-left:0;width:100%}.footer-inner .menu{gap:12px;flex-wrap:wrap;justify-content:space-between}.footer-brand{font-size:27px}.lightbox{padding:65px 44px}.lightbox button{width:36px;height:36px}.lightbox-prev{left:4px}.lightbox-next{right:4px}.lightbox figcaption{font-size:11px}.admin-bar .site-header{top:0}.content-page h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.visit-form,.map-panel,.button,.demo-label,.gallery-open{display:none!important}.hero{height:auto;min-height:400px}.container{width:100%}.section{padding-block:20px}body{font-size:12pt}.strengths{background:#fff;color:#000}.gallery-track{overflow:visible}.hero-image{print-color-adjust:exact}}
