.mdi-nocnok-property { --mdi-property-ink: #362c44; --mdi-property-accent: #7b6e80; --mdi-property-surface: #dad8df; color: var(--mdi-property-ink); font-family: inherit; }
.mdi-nocnok-property *, .mdi-nocnok-property *::before, .mdi-nocnok-property *::after { box-sizing: border-box; }
.mdi-nocnok-property .hero-banner { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 400px; padding: 88px 0 110px; background: #6d6780; color: #fff; text-align: center; overflow: hidden; }
.mdi-nocnok-property .hero-banner::before { position: absolute; z-index: 1; inset: 0; background: #0008; content: ''; }
.mdi-nocnok-property .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.mdi-nocnok-property .hero-content { position: relative; z-index: 2; width: 100%; max-width: 1100px; padding: 1rem 1.5rem; }
.mdi-nocnok-property .hero-content h1 { margin: 0 0 10px; color: #fff; font-size: clamp(1.75rem, 4vw, 3rem); }
.mdi-nocnok-property .hero-content p { margin: 0; color: #fff; font-size: 1.2rem; }
.mdi-nocnok-property .container.section { display: flex; width: min(100%, 1000px); margin: max(-120px, -8%) auto 0; padding: 0 0 48px; position: relative; z-index: 2; }
.mdi-nocnok-property .gallery-details-container { width: 60%; min-width: 0; padding: 0 30px; }
.mdi-nocnok-property .property-navigation { position: absolute; z-index: 2; top: 24px; left: 0; width: 100%; padding: 0 max(24px, calc((100% - 940px) / 2)); text-align: left; }
.mdi-nocnok-property .property-return { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .5rem 1rem; border: 1px solid #ffffff80; border-radius: 24px; background: #362c44cc; color: #fff; font-size: .875rem; line-height: 1.4; text-decoration: none; }
.mdi-nocnok-property .property-return:hover { background: var(--mdi-property-ink); text-decoration: underline; text-underline-offset: .2em; }
.mdi-nocnok-property .property-return:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.mdi-nocnok-property .property-code { margin: 0 0 1rem; font-size: .875rem; }
.mdi-nocnok-property .gallery { width: 100%; outline-offset: 4px; }
.mdi-nocnok-property .gallery-frame { width: 100%; aspect-ratio: 4 / 3; background: #dad8df; touch-action: pan-y pinch-zoom; }
.mdi-nocnok-property .gallery-image { width: 100%; height: 100%; object-fit: cover; }
.mdi-nocnok-property .gallery-image[hidden] { display: none; }
.mdi-nocnok-property .gallery-dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 0; margin: 10px 0 0; }
.mdi-nocnok-property .gallery-dots button { display: grid; place-items: center; width: 28px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.mdi-nocnok-property .gallery-dots button::before { content: ""; width: 12px; height: 12px; border: 0; border-radius: 50%; background: #dad8df; }
.mdi-nocnok-property .gallery-dots button[aria-current="true"]::before { background: #7b6e80; }
.mdi-nocnok-property .gallery-dots button:focus-visible { outline: 2px solid #362c44; outline-offset: 2px; }
.mdi-nocnok-property .property-info { display: flex; justify-content: space-between; gap: 1.5rem; margin-top: 1.5rem; }
.mdi-nocnok-property .property-description, .mdi-nocnok-property .property-details { flex: 1; min-width: 0; }
.mdi-nocnok-property h2 { margin: 0 0 .75rem; color: #362c44; font-size: 1.25rem; }
.mdi-nocnok-property .property-description p { white-space: normal; overflow-wrap: anywhere; }
.mdi-nocnok-property .hero-content h1, .mdi-nocnok-property .property-prices, .mdi-nocnok-property .property-amenities { overflow-wrap: anywhere; }
.mdi-nocnok-property .property-prices p { margin: 0 0 1rem; padding: 0; font-weight: 700; line-height: 1.5; }
.mdi-nocnok-property .property-details table:not(.variations) { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 1rem; }
.mdi-nocnok-property .property-details th, .mdi-nocnok-property .property-details td { padding: .375rem 0; border: 0; color: var(--mdi-property-ink); line-height: 1.5; text-align: left; vertical-align: top; }
.mdi-nocnok-property .property-details th { width: 60%; padding-right: 1rem; font-weight: 500; }
.mdi-nocnok-property .property-details td { width: 40%; overflow-wrap: anywhere; }
.mdi-nocnok-property .property-amenities { margin-top: 1.5rem; }
.mdi-nocnok-property .property-amenities ul { margin: 0; padding-left: 1.25rem; }
.mdi-nocnok-property .contact-section { width: 40%; height: fit-content; background: var(--mdi-property-surface); color: var(--mdi-property-ink); padding: 2rem; }
.mdi-nocnok-property .contact-section h2 { padding: 0; line-height: 1.35; }
.mdi-nocnok-property .contact-intro { margin: 0 0 1.5rem; padding: 0; font-size: 1rem; line-height: 1.5; }
.mdi-nocnok-property .contact-form { width: 100%; }
.mdi-nocnok-property .contact-form .custom-form-container { display: block; width: 100%; padding: 0; background: none; color: var(--mdi-property-ink); }
.mdi-nocnok-property .container.section.property-no-images { margin-top: 0; }
.mdi-nocnok-property .contact-form .custom-form-container :is(input:not([type="hidden"]):not([type="submit"]), textarea) { display: block; width: 100%; min-width: 0; min-height: 48px; margin: 0; padding: .75rem; border: 1px solid var(--mdi-property-ink) !important; border-radius: 8px; background: var(--mdi-property-surface) !important; color: var(--mdi-property-ink); font: inherit; font-size: 16px; line-height: 1.5; }
.mdi-nocnok-property .contact-form .custom-form-container textarea { min-height: 120px; resize: vertical; }
.mdi-nocnok-property .contact-form .custom-form-container :is(input, textarea)::placeholder { color: var(--mdi-property-ink); opacity: 1; }
.mdi-nocnok-property .contact-form .custom-form-container label,
.mdi-nocnok-property .contact-form .custom-form-container .wpcf7-form-control-wrap { display: block; width: 100%; }
.mdi-nocnok-property .contact-form .custom-form-container p { display: grid; gap: 1rem; margin: 0 0 1rem; padding: 0; width: 100%; }
.mdi-nocnok-property .contact-form .custom-form-container p br { display: none; }
.mdi-nocnok-property .contact-form .withSubmit { position: relative; width: 100%; }
.mdi-nocnok-property .contact-form .withSubmit p { margin: 0; }
.mdi-nocnok-property .contact-form .wpcf7-spinner { position: absolute; top: calc(100% + 4px); left: calc(50% - 12px); margin: 0; }
.mdi-nocnok-property .contact-form .custom-form-container :is(button[type="submit"], input[type="submit"]) { display: block; width: 100%; min-height: 48px; padding: .75rem 1rem !important; border: 0 !important; border-radius: 30px; background: var(--mdi-property-accent) !important; color: #fff; font: inherit; font-size: 16px; line-height: 1.5; cursor: pointer; }
.mdi-nocnok-property .contact-form .custom-form-container button[type="submit"]::after { display: none; }
.mdi-nocnok-property .contact-form .custom-form-container :is(button[type="submit"], input[type="submit"]):hover { background: var(--mdi-property-ink) !important; }
.mdi-nocnok-property .contact-form .submitting :is(button[type="submit"], input[type="submit"]) { opacity: .7; cursor: progress; }
.mdi-nocnok-property .contact-form :is(input, textarea, button):focus-visible { outline: 2px solid var(--mdi-property-ink); outline-offset: 3px; }
.mdi-nocnok-property .contact-form .wpcf7-not-valid-tip { margin-top: .375rem; color: #8a2424; font-size: .875rem; line-height: 1.4; }
.mdi-nocnok-property .contact-form .wpcf7-response-output { margin: 2rem 0 0; padding: .75rem; color: var(--mdi-property-ink); font-size: 1rem; line-height: 1.5; }
.mdi-nocnok-property-message { color: #362c44; }
@media (max-width: 1023px) { .mdi-nocnok-property .container.section { flex-direction: column; margin-top: 0; } .mdi-nocnok-property .gallery-details-container, .mdi-nocnok-property .contact-section { width: 100%; } .mdi-nocnok-property .contact-section { margin-top: 2rem; } }
@media (max-width: 599px) { .mdi-nocnok-property .hero-banner { min-height: 320px; padding: 80px 0 2rem; } .mdi-nocnok-property .gallery-details-container { padding: 1.5rem; } .mdi-nocnok-property .property-info { flex-direction: column; } .mdi-nocnok-property .contact-section { padding: 1.5rem; } }
/* Keep the cover full width; inset gallery, details and contact together. */
@media (max-width: 1024px) {
  .mdi-nocnok-property .container.section { width: min(1000px, calc(100% - 80px)); }
  .mdi-nocnok-property .gallery-details-container { padding-inline: 0; }
  .mdi-nocnok-property :is(.hero-content, .property-navigation) { padding-inline: 40px; }
}
@media (max-width: 767px) {
  .mdi-nocnok-property .container.section { width: calc(100% - 48px); }
  .mdi-nocnok-property :is(.hero-content, .property-navigation) { padding-inline: 24px; }
}
