/* Updated 2026 inner-page mockups. Every rule is scoped away from the homepage. */
.primary-nav a.is-active,.primary-nav .nav-dropdown__toggle.is-active { color:#f28791 !important; }
.primary-nav a.is-active:after,.primary-nav .nav-dropdown__toggle.is-active:after { content:''; display:block; height:2px; margin-top:7px; background:#f28791; }
.primary-nav .nav-dropdown { position:relative; flex:0 0 auto; }
.primary-nav .nav-dropdown__toggle { display:block; margin:0; padding:0 0 0 32px; border:0; outline:0; color:#35446f; background:transparent; font:inherit; text-transform:uppercase; white-space:nowrap; cursor:pointer; }
.primary-nav .nav-dropdown__menu { position:absolute; z-index:30; top:100%; left:16px; width:220px; margin-top:0; padding:7px 0 0; border:0; background:transparent; box-shadow:none; opacity:0; visibility:hidden; transform:translateY(-3px); pointer-events:none; transition:opacity .15s ease,transform .15s ease,visibility .15s ease; }
.primary-nav .nav-dropdown__menu:before { content:''; position:absolute; z-index:-1; top:7px; right:0; bottom:0; left:0; border:1px solid #edf0f4; background:#fff; box-shadow:0 8px 20px rgba(30,42,73,.15); }
.primary-nav .nav-dropdown__menu a { display:block; width:100%; padding:12px 15px!important; border-bottom:1px solid #edf0f4; color:#35446f!important; font-size:12px; font-weight:500; line-height:1.25; text-align:left; text-transform:uppercase; }
.primary-nav .nav-dropdown__menu a:last-child { border-bottom:0; }
.primary-nav .nav-dropdown__menu a:hover,.primary-nav .nav-dropdown__menu a:focus-visible,.primary-nav .nav-dropdown__menu a.is-current { color:#f28791!important; background:#fff8f8; }
.primary-nav .nav-dropdown.is-open .nav-dropdown__menu { opacity:1; visibility:visible; transform:none; pointer-events:auto; }
@media (min-width:701px) { .primary-nav .nav-dropdown:hover .nav-dropdown__menu,.primary-nav .nav-dropdown:focus-within .nav-dropdown__menu { opacity:1; visibility:visible; transform:none; pointer-events:auto; } }
body:not(#page_index) .mockup-page { --mock-navy:#35446f; --mock-coral:#f28791; --mock-pale:#f7f8fa; color:#41444a; font-family:Inter,Arial,sans-serif; }
body:not(#page_index) .mockup-page h1,
body:not(#page_index) .mockup-page h2,
body:not(#page_index) .mockup-page h3 { font-family:Inter,Arial,sans-serif; }
body:not(#page_index) .mockup-page p { line-height:1.65; }
body:not(#page_index) .mockup-page .content-width { width:calc(100% - 128px); max-width:1152px; }
.mockup-title-band { display:flex; min-height:132px; align-items:center; justify-content:center; padding:28px 24px; background:#35446f; text-align:center; }
.mockup-title-band h1 { margin:0; color:#fff; font-size:48px; font-weight:300; line-height:1.1; text-transform:uppercase; }
.mockup-kicker { margin:0 0 18px; color:#f28791; font-size:13px; font-weight:600; letter-spacing:1.4px; text-transform:uppercase; }
.mockup-display { margin:0; color:#35446f; font-size:46px; font-weight:300; line-height:1.06; text-transform:uppercase; }
.mockup-lead-panel { margin-top:10px; padding:28px 28px 28px 24px; border-left:3px solid #f28791; background:#f7f8fa; font-size:16px; line-height:1.65; }
.mockup-section { padding:78px 0; }
.mockup-split { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:center; }
.mockup-split > img { display:block; width:100%; height:470px; object-fit:cover; }
.mockup-split--wide { grid-template-columns:390px 1fr; gap:60px; }
.mockup-copy h2 { margin:0 0 24px; color:#35446f; font-size:42px; font-weight:300; line-height:1.08; text-transform:uppercase; }
.mockup-copy p { margin:0 0 18px; }
.mockup-dark { background:#35446f; color:#fff; }
.mockup-dark h2 { color:#fff; }
.mockup-dark .mockup-kicker { color:#f28791; }
.mockup-coral-section { background:#fff0f2; }
.mockup-coral-section h2 { color:#f28791; }
.mockup-bullets { margin:0; padding-left:20px; }
.mockup-bullets li { margin:0 0 18px; padding-left:6px; line-height:1.65; }
.mockup-center-statement { max-width:760px; margin:55px auto 0; color:#35446f; font-size:25px; font-weight:500; line-height:1.3; text-align:center; text-transform:uppercase; }
.mockup-team-image { object-position:center 45%; }
.mockup-dark-intro { max-width:910px; margin:0 auto 50px; text-align:center; }
.mockup-dark-intro h2 { margin:0 0 24px; font-size:46px; font-weight:300; text-transform:uppercase; }
.mockup-dark-intro p { color:#fff; }
.mockup-agency-services { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.mockup-agency-services article { min-height:250px; padding:26px 20px; border:1px dashed #fff; border-radius:7px; text-align:center; }
.mockup-agency-services img { width:52px; height:52px; filter:brightness(0) invert(1); }
.mockup-agency-services h3 { margin:18px 0 12px; color:#f28791; font-size:18px; font-weight:400; line-height:1.3; text-transform:uppercase; }
.mockup-agency-services p { margin:0; color:#fff; font-size:13px; line-height:1.55; }
.mockup-newsletter { padding:58px 0 62px; background:#fff; }
.mockup-newsletter .newsletter__form { width:620px; max-width:100%; margin:auto; }
.mockup-newsletter .newsletter__form label { display:block; margin:0 0 11px; color:#f28791; font-size:12px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; }
.mockup-newsletter .newsletter__form > div { display:flex; gap:24px; }
.mockup-newsletter input[type=email] { flex:1; min-width:0; height:50px; padding:0 14px; border:1px solid #9da8c1; color:#35446f; background:#fff; }
.mockup-newsletter .button { width:180px; height:50px; padding:0 20px; background:#df8688; }
.mockup-service-strip { padding:78px 0; background:#35446f; }
.mockup-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.mockup-service-grid article { min-height:242px; padding:25px 18px; border:1px dashed rgba(255,255,255,.8); border-radius:7px; color:#fff; text-align:center; }
.mockup-service-grid img { width:48px; height:48px; filter:brightness(0) invert(1); }
.mockup-service-grid h3 { margin:18px 0 12px; color:#f28791; font-size:18px; font-weight:400; line-height:1.35; text-transform:uppercase; }
.mockup-service-grid p { margin:0; color:#fff; font-size:13px; line-height:1.55; }

/* Agency */
.mockup-agency .agency-intro { padding:72px 0 68px; }
.mockup-agency .agency-intro-primary { align-items:center; }
.mockup-agency .agency-intro-primary > img { height:390px; }
.mockup-agency .agency-intro-secondary { align-items:center; margin-top:42px; }
.mockup-agency .agency-intro-secondary > img { height:310px; }
.mockup-agency .agency-intro-secondary .mockup-copy h2 { margin-bottom:18px; }
.mockup-agency .agency-intro-secondary .mockup-copy p { margin-bottom:15px; }
.mockup-agency .agency-split-heading { margin:0; font-size:42px; font-weight:300; line-height:1.05; text-transform:uppercase; }
.mockup-agency .agency-split-heading span,
.mockup-agency .agency-split-heading strong { display:block; }
.mockup-agency .agency-split-heading strong { font-weight:600; }
.mockup-agency .agency-owner-block { padding:52px 0 58px; background:#35446f; color:#fff; }
.mockup-agency .agency-owner-block .agency-split-heading { color:#fff; }
.mockup-agency .agency-owner-intro { margin:28px 0 0; color:#fff; font-size:13px; line-height:1.55; text-transform:uppercase; }
.mockup-agency .agency-owner-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:36px; align-items:start; margin-top:32px; }
.mockup-agency .agency-owner-grid img { width:100%; height:340px; object-fit:cover; }
.mockup-agency .agency-owner-grid .mockup-bullets { margin:0; padding-left:20px; color:#fff; font-size:13px; line-height:1.5; }
.mockup-agency .agency-owner-grid .mockup-bullets li { margin:0 0 3px; padding-left:2px; line-height:1.5; }
.mockup-agency .agency-sale-block { padding:62px 0 68px; }
.mockup-agency .agency-sale-block .agency-split-heading { color:#f28791; }
.mockup-agency .agency-sale-grid { display:grid; grid-template-columns:180px minmax(0,1fr); gap:36px; align-items:start; margin-top:32px; }
.mockup-agency .agency-sale-grid img { width:100%; height:310px; object-fit:cover; }
.mockup-agency .agency-sale-copy p { margin:0 0 18px; color:#566480; font-size:15px; line-height:1.62; }
.mockup-agency .agency-sale-copy p:last-child { margin-bottom:0; }

/* Concierge */
.mockup-concierge .concierge-services { padding:52px 0 62px; background:#35446f; color:#fff; }
.mockup-concierge .concierge-services h2 { max-width:820px; margin:0 0 24px; color:#fff; font-size:46px; font-weight:300; line-height:1.08; text-transform:uppercase; }
.mockup-concierge .concierge-services > .content-width > p { margin-bottom:0; color:#fff; }
.mockup-concierge .concierge-service-row { display:grid; grid-template-columns:210px minmax(0,1fr); gap:38px; align-items:start; margin-top:32px; }
.mockup-concierge .concierge-service-row > img { display:block; width:100%; height:260px; object-fit:cover; object-position:center; }
.mockup-concierge .concierge-service-row .mockup-bullets { margin:0; padding-left:20px; font-size:14px; line-height:1.45; }
.mockup-concierge .concierge-service-row .mockup-bullets li { margin:0 0 6px; padding-left:2px; line-height:1.45; }
.mockup-concierge .concierge-appointment { display:flex; align-items:center; gap:24px; margin-top:28px; }
.mockup-concierge .concierge-appointment-icon { display:block; flex:0 0 82px; width:82px; height:82px; overflow:visible; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.mockup-concierge .concierge-cta { display:inline-flex; min-width:330px; justify-content:center; margin:0; background:#f28791; }

/* Contact */
.mockup-contact .contact-intro { padding:78px 0 60px; }
.mockup-contact .contact-intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:42px; align-items:stretch; }
.mockup-contact .contact-address { padding-right:24px; }
.mockup-contact .contact-address .mockup-display { font-size:40px; }
.mockup-contact .contact-address .mockup-display span,
.mockup-contact .contact-form-title span { display:block; }
.mockup-contact .contact-address-card { margin-top:12px; padding:30px 28px; border-left:3px solid #f28791; background:#f7f8fa; }
.mockup-contact .contact-address-card p { margin:0 0 12px; color:#303642; font-size:16px; line-height:1.65; }
.mockup-contact .contact-address-card p:last-child { margin-bottom:0; }
.mockup-contact .contact-address-card strong { font-weight:500; }
.mockup-contact .contact-address-card .contact-hours { margin-top:30px; }
.mockup-contact .contact-brand-card { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:390px; padding:38px 48px; background:#35446f; color:#fff; text-align:center; }
.mockup-contact .contact-brand-card .contact-card-logo { display:block; width:225px; height:235px; margin:0 auto 20px; object-fit:contain; object-position:center; }
.mockup-contact .contact-card-links { width:100%; }
.mockup-contact .contact-brand-card a { display:flex; align-items:center; justify-content:center; gap:12px; margin:12px auto 0; color:#fff; font-size:17px; font-weight:600; line-height:1.35; text-align:center; }
.mockup-contact .contact-brand-card svg { flex:0 0 23px; width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mockup-contact .contact-form-section { padding:40px 0 80px; }
.mockup-contact .contact-form-title { margin:0 0 38px; color:#35446f; font-size:43px; font-weight:300; line-height:1.12; text-align:center; text-transform:uppercase; }
.mockup-contact .contact-form-shell { padding:0; background:#fff; }
.mockup-contact #form-contact { max-width:980px; margin:auto; }
.mockup-contact #form-contact .form-group { display:flex; gap:24px; margin:0 0 22px; }
.mockup-contact #form-contact .form-group > [class*="col-"] { width:100%; float:none; padding:0; }
.mockup-contact #form-contact input,
.mockup-contact #form-contact textarea { width:100%; min-height:52px; margin:0; padding:14px 16px; border:1px solid #aeb6c9; border-radius:0; color:#35446f; background:#fff; box-shadow:none; }
.mockup-contact #form-contact input.is-invalid,
.mockup-contact #form-contact textarea.is-invalid { border-color:#f28791!important; color:#f28791; outline:0; }
.mockup-contact #form-contact input.is-invalid::placeholder,
.mockup-contact #form-contact textarea.is-invalid::placeholder { color:#f28791; opacity:1; }
.mockup-contact #form-contact textarea { min-height:190px; }
.mockup-contact #form-contact .btn { display:block; float:none!important; min-width:190px; margin:8px auto 0; padding:16px 32px; border:0; border-radius:0; background:#df8688; color:#fff; letter-spacing:1.2px; text-transform:uppercase; }

/* FAQ */
.mockup-faq .faq-main { padding:70px 0 85px; }
.mockup-faq .faq-heading { margin:0 0 40px; color:#35446f; font-size:43px; font-weight:300; text-align:center; text-transform:uppercase; }
.mockup-faq .faq-layout { display:grid; grid-template-columns:260px minmax(0,1fr); gap:54px; align-items:start; }
.mockup-faq .faq-categories { position:sticky; top:28px; padding:26px 0 20px; }
.mockup-faq .faq-categories .mockup-kicker { margin-bottom:12px; }
.mockup-faq .faq-categories h3 { margin:0 0 30px; color:#35446f; font-size:27px; font-weight:300; line-height:1.2; }
.mockup-faq .faq-categories nav { display:grid; }
.mockup-faq .faq-categories a { position:relative; display:block; padding:14px 24px 14px 0; border-bottom:1px solid #e2e5ec; color:#35446f; font-size:14px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; }
.mockup-faq .faq-categories a:after { content:''; position:absolute; right:3px; bottom:-1px; left:0; height:2px; background:#f28791; transform:scaleX(0); transform-origin:left; transition:transform .2s ease; }
.mockup-faq .faq-categories a:hover,
.mockup-faq .faq-categories a:focus,
.mockup-faq .faq-categories a.is-active { color:#f28791; }
.mockup-faq .faq-categories a.is-active:after { transform:scaleX(1); }
.mockup-faq .faq-list { display:grid; min-width:0; gap:12px; }
.mockup-faq .faq-list details { padding:0; border:1px solid #dfe3ec; background:#fff; }
.mockup-faq .faq-list summary { position:relative; padding:21px 72px 21px 26px; color:#35446f; cursor:pointer; font-size:17px; font-weight:500; list-style:none; }
.mockup-faq .faq-list summary::-webkit-details-marker { display:none; }
.mockup-faq .faq-list summary:after { content:''; position:absolute; top:50%; right:20px; width:31px; height:31px; transform:translateY(-50%); border-radius:50%; background:#f28791; }
.mockup-faq .faq-list summary:before { content:''; position:absolute; z-index:1; top:50%; right:25px; width:21px; height:21px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 5v13M6.5 12.5 12 18l5.5-5.5' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; transform:translateY(-50%); }
.mockup-faq .faq-list details[open] summary:before { transform:translateY(-50%) rotate(180deg); }
.mockup-faq .faq-answer { padding:0 26px 24px; color:#646b79; line-height:1.65; }

/* Owner landing pages */
.mockup-owner .owner-intro { padding:82px 0 52px; }
.mockup-owner .owner-commitments { padding:0 0 56px; }
.mockup-owner .owner-commitments-grid { display:grid; grid-template-columns:180px 1fr; gap:36px; margin-top:28px; }
.mockup-owner .owner-commitments-grid img { width:100%; height:310px; object-fit:cover; }
.mockup-owner .owner-commitments-grid .mockup-bullets { margin:0; padding-left:20px; font-size:14px; line-height:1.5; }
.mockup-owner .owner-commitments-grid .mockup-bullets li { margin:0 0 8px; padding-left:2px; line-height:1.5; }
.mockup-owner .owner-commitments .mockup-center-statement { margin-top:38px; }
.mockup-owner .owner-premium { padding:58px 0; background:#fde4e7; }
.mockup-owner .owner-premium h2 { margin:0 0 36px; color:#f28791; font-size:40px; font-weight:300; text-transform:uppercase; }
.mockup-owner .owner-premium-grid { display:grid; grid-template-columns:180px 1fr; gap:42px; }
.mockup-owner .owner-premium-grid img { width:100%; height:250px; object-fit:cover; }
.mockup-owner-location .owner-intro .mockup-split > img { height:500px; }
.mockup-owner-location .owner-commitments-grid img { height:340px; }
.mockup-owner-location .owner-premium-heading { display:flex; align-items:flex-start; gap:24px; margin-bottom:25px; }
.mockup-owner-location .owner-premium-heading img { flex:0 0 62px; width:62px; height:62px; object-fit:contain; }
.mockup-owner-location .owner-premium-heading h2 { margin:0; line-height:1.08; }
.mockup-owner-location .owner-premium-intro { margin:0 0 30px; color:#40434a; font-size:13px; font-weight:500; letter-spacing:.2px; text-transform:uppercase; }
.mockup-owner-location .owner-premium-grid .mockup-bullets { padding-left:20px; font-size:14px; }
.mockup-owner-location .owner-premium-grid .mockup-bullets li { margin-bottom:5px; line-height:1.45; }
.mockup-owner-contact { padding:70px 0; }
.mockup-owner-contact__box { display:grid; grid-template-columns:330px 1fr; gap:35px; padding:52px; background:#35446f; color:#fff; }
.mockup-owner-contact__brand { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.mockup-owner-contact__brand .owner-contact-logo { display:block; width:190px; height:195px; margin:0 auto 12px; object-fit:contain; object-position:center; }
.mockup-owner-contact__brand h2 { margin:0; color:#fff; font-size:30px; text-transform:none; }
.mockup-owner-contact__brand .owner-contact-note { margin:4px 0 12px; color:#fff; font-size:12px; line-height:1.4; }
.mockup-owner-contact__brand .owner-contact-phone { display:flex; align-items:center; justify-content:center; gap:9px; color:#fff; font-size:15px; font-weight:600; }
.mockup-owner-contact__brand .owner-contact-phone img { width:22px; height:22px; filter:brightness(0) invert(1); }
.mockup-owner-contact .owner-form-heading { margin:0 0 14px; color:#fff; font-size:15px; font-weight:500; text-transform:uppercase; }
.mockup-owner-contact .owner-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.mockup-owner-contact .owner-form-full { grid-column:1/-1; }
.mockup-owner-contact form .form-group { display:flex; gap:18px; margin:0 0 18px; }
.mockup-owner-contact form .form-group > [class*="col-"] { width:100%; float:none; padding:0; }
.mockup-owner-contact form input,
.mockup-owner-contact form textarea { width:100%; min-height:48px; margin:0; padding:12px 14px; border:1px solid rgba(255,255,255,.6); border-radius:0; color:#fff; background:transparent; box-shadow:none; }
.mockup-owner-contact form input::placeholder,
.mockup-owner-contact form textarea::placeholder { color:rgba(255,255,255,.7); }
.mockup-owner-contact form textarea { min-height:120px; }
.mockup-owner-contact form .btn,
.mockup-owner-contact form .button { width:100%; margin-top:20px; border:0; border-radius:0; background:#df8688; }

/* Listings */
.mockup-listing .listing-search-zone { padding:66px 0 48px; background:#35446f; }
.mockup-listing .listing-search-card { max-width:940px; margin:auto; padding:30px 28px 26px; border-radius:8px; background:#fff; }
.mockup-listing .listing-search-card h1 { margin:0 0 22px; color:#f28791; font-size:25px; font-weight:400; text-transform:uppercase; }
.mockup-listing .filter-bar { display:grid; grid-template-columns:repeat(3,1fr) 190px; gap:0; margin:0; padding:0; background:#fff; }
.mockup-listing .filter-bar label { min-width:0; padding:11px 16px; border-left:1px solid rgba(196,198,205,.3); color:#35446f; font-size:12px; font-weight:600; text-transform:uppercase; }
.mockup-listing .filter-bar label:nth-of-type(1),
.mockup-listing .filter-bar label:nth-of-type(4) { border-left:0; }
.mockup-listing .filter-bar input,
.mockup-listing .filter-bar select { width:100%; height:26px; margin:3px 0 0; padding:0 23px 0 0; border:0; outline:0; color:#9aa5bb; background:#fff url('/alize-assets/images/icon-chevron.svg') right center/20px no-repeat; box-shadow:none; font-size:12px; font-style:italic; }
.mockup-listing .filter-bar input { background:#fff; }
.mockup-listing .filter-bar .button { grid-column:4; grid-row:2; align-self:center; height:50px; margin:0 8px; padding:0 22px; background:#35446f; }
.mockup-listing .sales-filter { grid-template-columns:repeat(3,1fr) 190px; align-items:center; }
.mockup-listing .sales-filter .button { grid-column:4; grid-row:1; }
.mockup-listing .listing-results { padding:38px 0 75px; }
.mockup-listing .listing-controls { display:flex; justify-content:space-between; align-items:end; margin-bottom:22px; color:#35446f; }
.mockup-listing .listing-sort strong,
.mockup-listing .listing-view { display:block; font-size:12px; font-weight:600; text-transform:uppercase; }
.mockup-listing .listing-sort span { display:block; margin-top:8px; color:#6d7483; font-size:12px; font-style:italic; text-transform:uppercase; }
.mockup-listing .listing-view a { margin-left:18px; color:#35446f; }
.mockup-listing .listing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px 24px; }
.mockup-listing .property-card { position:relative; overflow:visible; border:1px solid rgba(196,198,205,.35); background:#f8f9fb; }
.mockup-listing .property-card__image { display:block; height:274px; overflow:hidden; }
.mockup-listing .property-card__image img { width:100%; height:100%; object-fit:cover; }
.mockup-listing .property-card__image > span { position:absolute; top:16px; left:16px; padding:4px 12px; background:#fff; color:#35446f; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; }
.mockup-listing .property-card__body { min-height:0; padding:22px 24px 20px; }
.mockup-listing .property-card__title { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.mockup-listing .property-card__title h3 { margin:0; color:#35446f; font-size:20px; font-weight:400; text-transform:uppercase; }
.mockup-listing .property-card__title strong { color:#f28791; font-size:20px; font-weight:400; white-space:nowrap; }
.mockup-listing .property-card__body > p { min-height:48px; margin:8px 0 16px; font-size:14px; line-height:1.55; }
.mockup-listing .property-card__features { display:flex; gap:18px; margin:0; padding:18px 0 0; border-top:1px solid rgba(196,198,205,.3); color:#35446f; font-size:12px; font-weight:600; list-style:none; }
.mockup-listing .property-card__features li { display:flex; align-items:center; gap:6px; }
.mockup-listing .property-card__features img { width:18px; height:18px; }
.mockup-listing .property-card__actions { display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.mockup-listing .property-card__actions .button { padding:9px 12px; font-size:10px; }
.mockup-listing .property-card__actions .underlined-link { margin-left:auto; font-size:10px; }
.mockup-listing .property-card__favorite { position:absolute; z-index:5; top:14px; right:14px; }
.mockup-listing .favorite-button { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#fff; color:#f28791; }
.mockup-listing .listing-empty { grid-column:1/-1; padding:50px 20px; text-align:center; }
.mockup-listing .mockup-map-layout { display:grid; grid-template-columns:370px 1fr; gap:34px; align-items:start; }
.mockup-listing .mockup-map-list { grid-template-columns:1fr; max-height:1080px; overflow:auto; padding-right:8px; }
.mockup-listing .mockup-map-canvas { position:sticky; top:20px; min-height:1080px; overflow:hidden; background:#182a43; isolation:isolate; }
.mockup-listing .mockup-map-canvas .map-loading { position:absolute; z-index:0; inset:0; display:grid; min-height:1080px; margin:0; place-items:center; color:#fff; font-size:14px; letter-spacing:1px; text-transform:uppercase; }
.mockup-listing .mockup-map-canvas.is-ready .map-loading { display:none; }
.mockup-listing .alize-google-map-frame { position:absolute; z-index:1; inset:0; width:100%; height:100%; border:0; }
.mockup-listing .alize-map-markers { position:absolute; z-index:2; inset:0; pointer-events:none; }
.mockup-listing .alize-map-marker { position:absolute; left:var(--marker-left); top:var(--marker-top); min-width:76px; height:36px; padding:0 12px; transform:translate(-50%,-100%); border:1px solid #d9dfe8; border-radius:5px; background:#fff; box-shadow:0 2px 7px rgba(20,38,59,.24); color:#35446f; font:600 12px/34px Inter,Arial,sans-serif; white-space:nowrap; pointer-events:auto; cursor:pointer; transition:background .15s,color .15s,opacity .15s; }
.mockup-listing .alize-map-marker:after { content:''; position:absolute; left:50%; bottom:-7px; width:12px; height:12px; transform:translateX(-50%) rotate(45deg); border-right:1px solid #d9dfe8; border-bottom:1px solid #d9dfe8; background:inherit; }
.mockup-listing .alize-map-marker:hover,.mockup-listing .alize-map-marker:focus-visible,.mockup-listing .alize-map-marker.is-hover,.mockup-listing .alize-map-marker.is-active { z-index:3; border-color:#f28791; outline:0; background:#f28791; color:#fff; }
.mockup-listing .alize-map-markers.is-focused .alize-map-marker:not(.is-active) { opacity:0; pointer-events:none; }
.mockup-listing .alize-map-markers.is-focused .alize-map-marker.is-active { left:50%; top:50%; }

/* Property detail */
.mockup-detail .detail-cover { position:relative; min-height:680px; background:#eef0f4; }
.mockup-detail .detail-cover__image { width:100%; height:680px; object-fit:cover; }
.mockup-detail .detail-floating { position:absolute; left:50%; bottom:0; width:min(1152px,calc(100% - 128px)); transform:translate(-50%,35%); }
.mockup-detail .detail-heading-card { width:520px; max-width:55%; padding:34px 38px; background:#fff; box-shadow:0 10px 35px rgba(25,35,65,.12); }
.mockup-detail .detail-heading-card h1 { margin:0; color:#35446f; font-size:40px; font-weight:300; text-transform:uppercase; }
.mockup-detail .detail-heading-card .detail-summary__price { display:block; margin-top:12px; color:#f28791; font-size:27px; }
.mockup-detail .detail-overview { padding:115px 0 75px; }
.mockup-detail .detail-overview-grid { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:60px; align-items:start; }
.mockup-detail .detail-description h2,
.mockup-detail .detail-info h2,
.mockup-detail .detail-location h2,
.mockup-detail .detail-related h2 { margin:0 0 30px; color:#35446f; font-size:40px; font-weight:300; text-transform:uppercase; }
.mockup-detail .detail-features { display:flex; gap:34px; margin:0 0 35px; padding:18px 0; border-top:1px solid #e4e6eb; border-bottom:1px solid #e4e6eb; color:#35446f; list-style:none; }
.mockup-detail .detail-features li { display:flex; align-items:center; gap:8px; }
.mockup-detail .detail-features img { width:22px; height:22px; }
.mockup-detail .detail-booking-form,
.mockup-detail .sale-contact-form { margin:0; padding:30px; border:0; background:#35446f; color:#fff; }
.mockup-detail .detail-booking-form:before { content:'Réserver votre séjour'; display:block; margin-bottom:22px; color:#fff; font-size:22px; font-weight:500; text-transform:uppercase; }
.mockup-detail .detail-booking-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mockup-detail .detail-booking-form label { color:#fff; font-size:11px; font-weight:600; text-transform:uppercase; }
.mockup-detail .detail-booking-form input,
.mockup-detail .detail-booking-form select { display:block!important; width:100%!important; height:44px!important; margin:7px 0 0!important; padding:0 10px!important; border:1px solid rgba(255,255,255,.6)!important; border-radius:0!important; color:#35446f!important; background:#fff!important; opacity:1!important; visibility:visible!important; }
.mockup-detail #recap { margin-top:16px; }
.mockup-detail #recap .table { width:100%; margin:0 0 16px; background:#fff; color:#35446f; }
.mockup-detail #recap .table td,
.mockup-detail #recap .table th,
.mockup-detail #recap .table h5,
.mockup-detail #recap .table strong { color:#35446f !important; }
.mockup-detail #recap .table td { padding:10px 9px; border-color:#e3e6ed; font-size:12px; line-height:1.45; }
.mockup-detail #recap .bg-warning { padding:11px 12px; color:#35446f; background:#fff4d6; font-size:12px; line-height:1.45; }
.mockup-detail #recap .btn,
.mockup-detail #recap .button { width:100%; background:#f28791; }
.mockup-detail .sale-contact-form h3 { color:#fff; }
.mockup-detail .sale-contact-form input,
.mockup-detail .sale-contact-form textarea { color:#35446f; background:#fff; }
.mockup-detail .detail-collage { padding:20px 0 85px; }
.mockup-detail .detail-collage-grid { display:grid; grid-template-columns:1.35fr .65fr; grid-template-rows:300px 300px; gap:18px; }
.mockup-detail .detail-collage-grid img { width:100%; height:100%; object-fit:cover; }
.mockup-detail .detail-collage-grid img:first-child { grid-row:1/span 2; }
.mockup-detail .detail-collage-grid:has(img:only-child) { grid-template-columns:1fr; grid-template-rows:520px; }
.mockup-detail .detail-collage-grid img:only-child { grid-column:1/-1; grid-row:1; }
.mockup-detail .detail-collage-grid:has(img:nth-child(2):last-child) { grid-template-columns:1fr 1fr; grid-template-rows:480px; }
.mockup-detail .detail-collage-grid img:first-child:nth-last-child(2) { grid-row:1; }
.mockup-detail .detail-info { padding:70px 0; background:#f7f8fa; }
.mockup-detail .detail-info-columns { columns:2; column-gap:70px; }
.mockup-detail .detail-info-columns p { break-inside:avoid; margin:0 0 14px; }
.mockup-detail .detail-location { padding:75px 0; }
.mockup-detail .detail-map { min-height:390px; background:url('/alize-assets/images/map.png') center/cover; }
.mockup-detail .detail-related { padding:70px 0 85px; }
.mockup-detail .detail-related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

@media (max-width:980px) {
  body:not(#page_index) .mockup-page .content-width { width:calc(100% - 48px); }
  .mockup-agency-services,.mockup-service-grid { grid-template-columns:repeat(2,1fr); }
  .mockup-listing .listing-grid { grid-template-columns:repeat(2,1fr); }
  .mockup-listing .mockup-map-layout { grid-template-columns:1fr; }
  .mockup-listing .mockup-map-list { grid-template-columns:repeat(2,1fr); max-height:none; overflow:visible; }
  .mockup-listing .mockup-map-canvas { position:static; min-height:520px; grid-row:1; }
  .mockup-listing .mockup-map-canvas .map-loading { min-height:520px; }
  .mockup-listing .filter-bar { grid-template-columns:repeat(2,1fr); gap:10px; }
  .mockup-listing .filter-bar label { border:0; }
  .mockup-listing .filter-bar .button { grid-column:1/-1; grid-row:auto; margin:10px 0 0; }
  .mockup-faq .faq-layout { grid-template-columns:220px minmax(0,1fr); gap:30px; }
  .mockup-detail .detail-overview-grid { grid-template-columns:1fr; }
  .mockup-detail .detail-booking-form,.mockup-detail .sale-contact-form { max-width:620px; }
}
@media (max-width:700px) {
  .primary-nav a.is-active:after,.primary-nav .nav-dropdown__toggle.is-active:after { margin-top:4px; }
  .primary-nav .nav-dropdown { width:100%; }
  .primary-nav .nav-dropdown__toggle { width:100%; padding:12px 18px!important; border-bottom:1px solid var(--border); color:#35446f; font-size:12px!important; text-align:left; }
  .primary-nav .nav-dropdown__toggle:before { content:''; position:absolute; right:19px; width:8px; height:8px; margin-top:2px; border-right:1px solid currentColor; border-bottom:1px solid currentColor; transform:rotate(45deg); transition:transform .15s; }
  .primary-nav .nav-dropdown.is-open .nav-dropdown__toggle:before { margin-top:7px; transform:rotate(225deg); }
  .primary-nav .nav-dropdown__menu { position:static; display:none; width:100%; padding-top:0; border:0; box-shadow:none; opacity:1; visibility:visible; transform:none; pointer-events:auto; }
  .primary-nav .nav-dropdown__menu:before { display:none; }
  .primary-nav .nav-dropdown.is-open .nav-dropdown__menu { display:block; }
  .primary-nav .nav-dropdown__menu a { padding:11px 18px 11px 34px!important; background:#f8f9fb; font-size:11px!important; }
  body:not(#page_index) .mockup-page .content-width { width:calc(100% - 32px); }
  .mockup-title-band { min-height:94px; }
  .mockup-title-band h1 { font-size:32px; }
  .mockup-section { padding:52px 0; }
  .mockup-display,.mockup-copy h2,.mockup-dark-intro h2,.mockup-concierge .concierge-services h2,.mockup-contact .contact-form-title,.mockup-faq .faq-heading { font-size:31px; }
  .mockup-contact .contact-address .mockup-display { font-size:31px; }
  .mockup-agency .agency-split-heading { font-size:31px; }
  .mockup-split,.mockup-split--wide,.mockup-agency .agency-owner-grid,.mockup-agency .agency-sale-grid,.mockup-concierge .concierge-service-row,.mockup-contact .contact-intro-grid,.mockup-owner .owner-commitments-grid,.mockup-owner .owner-premium-grid,.mockup-owner-contact__box { grid-template-columns:1fr; gap:28px; }
  .mockup-split > img { height:330px; }
  .mockup-agency .agency-intro-primary > img,.mockup-agency .agency-intro-secondary > img,.mockup-agency .agency-owner-grid img,.mockup-agency .agency-sale-grid img,.mockup-concierge .concierge-service-row img { height:330px; }
  .mockup-agency-services,.mockup-service-grid { grid-template-columns:1fr; }
  .mockup-contact .contact-brand-card { min-height:320px; padding:35px 25px; }
  .mockup-contact .contact-brand-card .contact-card-logo { width:190px; height:200px; }
  .mockup-contact .contact-address { padding-right:0; }
  .mockup-contact #form-contact .form-group,.mockup-owner-contact form .form-group { display:block; }
  .mockup-owner-contact .owner-form-grid { grid-template-columns:1fr; gap:14px; }
  .mockup-owner-contact .owner-form-full { grid-column:auto; }
  .mockup-contact #form-contact .form-group > [class*="col-"],.mockup-owner-contact form .form-group > [class*="col-"] { margin-bottom:14px; }
  .mockup-faq .faq-layout { grid-template-columns:1fr; gap:28px; }
  .mockup-faq .faq-categories { position:static; padding:0; }
  .mockup-faq .faq-categories h3 { font-size:24px; }
  .mockup-owner-contact__box { padding:32px 22px; }
  .mockup-owner-contact__brand .owner-contact-logo { width:170px; height:175px; }
  .mockup-newsletter .newsletter__form > div { display:block; }
  .mockup-newsletter input[type=email],.mockup-newsletter .button { width:100%; }
  .mockup-newsletter .button { margin-top:10px; }
  .mockup-listing .filter-bar,.mockup-listing .listing-grid { grid-template-columns:1fr; }
  .mockup-listing .mockup-map-list { grid-template-columns:1fr; }
  .mockup-listing .listing-controls { flex-direction:column; align-items:flex-start; gap:16px; }
  .mockup-listing .listing-view { display:flex; width:100%; flex-wrap:wrap; gap:10px 18px; }
  .mockup-listing .listing-view a { margin:0; }
  .mockup-listing .property-card__image { height:245px; }
  .mockup-detail .detail-cover,.mockup-detail .detail-cover__image { min-height:440px; height:440px; }
  .mockup-detail .detail-floating { width:calc(100% - 32px); transform:translate(-50%,45%); }
  .mockup-detail .detail-heading-card { width:100%; max-width:none; padding:24px; }
  .mockup-detail .detail-heading-card h1 { font-size:30px; }
  .mockup-detail .detail-overview { padding-top:140px; }
  .mockup-detail .detail-features { flex-wrap:wrap; }
  .mockup-detail .detail-collage-grid { grid-template-columns:1fr 1fr; grid-template-rows:220px 170px; }
  .mockup-detail .detail-collage-grid:has(img:only-child) { grid-template-columns:1fr; grid-template-rows:300px; }
  .mockup-detail .detail-collage-grid:has(img:nth-child(2):last-child) { grid-template-columns:1fr; grid-template-rows:260px 260px; }
  .mockup-detail .detail-info-columns { columns:1; }
  .mockup-concierge .concierge-service-row > img { width:210px; height:260px; }
  .mockup-concierge .concierge-appointment { align-items:flex-start; flex-direction:column; }
  .mockup-concierge .concierge-cta { width:100%; min-width:0; }
  .mockup-owner-location .owner-intro .mockup-split > img { height:330px; }
  .mockup-owner-location .owner-premium-heading { gap:15px; }
  .mockup-owner-location .owner-premium-heading img { flex-basis:48px; width:48px; height:48px; }
}
