.villa-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; border-block: 1px solid #ffffff29; margin-bottom: 48px; }
.villa-offer h2 { max-width: 12ch; }
.villa-offer p { color: #bfc5c9; line-height: 1.7; margin-top: 24px; max-width: 48ch; }
.villa-offer__price { min-width: 0; }
.villa-offer__price > strong { display: block; font-size: clamp(30px,4vw,56px); font-weight: 500; line-height: 1.15; }
.villa-offer__price > span { display: block; font-size: 24px; margin-top: 12px; color: var(--accent); }
.villa-offer__price > p { font-size: 13px; margin: 18px 0 24px; }
.villa-plans .ocean-villa-plans__grid a { display: block; }
.villa-plans .ocean-villa-plans__grid img { display: block; width: 100%; height: 360px; object-fit: contain; }
.villa-plans--dream .ocean-villa-plans__grid { grid-template-columns: 1fr; gap: 20px; }
.villa-plans--dream .ocean-villa-plans__grid img { height: 215px; }
.villa-plans figcaption { margin-top: 8px; color: #bfc5c9; font-size: 13px; }
.villa-plans a:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
.villa-site-plan { margin-top: 20px; border-block: 1px solid #ffffff29; }
.villa-site-plan summary { cursor: pointer; min-height: 44px; padding: 12px 0; }
.villa-site-plan img { display: block; width: 100%; max-width: 400px; margin: 0 auto 24px; }
.villa-equipment .ocean-details__heading { grid-template-columns: 1fr; }
.villa-equipment .ocean-included__hero { align-self: start; }
.villa-equipment .ocean-included__hero > img { height: 390px; max-height: 390px; }
.detail-intro dl.villa-facts { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 32px; }
.villa-facts dd { overflow-wrap: anywhere; hyphens: auto; }
.villa-purchase h2 { font: 500 20px/1.4 var(--font-body,sans-serif); margin-bottom: 16px; }
.detail-intro .villa-purchase__options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 32px; }
.villa-purchase dd span, .villa-purchase dd small { display: block; }
.villa-purchase dd span { font-size: 15px; color: #e2e7e9; }
.villa-purchase dd small { margin-top: 8px; font-size: 13px; color: #bfc5c9; }
.villa-gallery__header { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.villa-gallery__controls { display: flex; gap: 8px; }
.villa-gallery__controls button { width: 44px; height: 44px; border-radius: 50%; background: #112832; border: 1px solid #ffffff50; color: #fff; cursor: pointer; font-size: 22px; }
.villa-gallery__controls button:disabled { opacity: .35; cursor: default; }
.villa-gallery__rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px)/3); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 16px; scrollbar-width: thin; scrollbar-color: #89c5d6 #12202a; }
.villa-gallery__rail figure { margin: 0; min-width: 0; scroll-snap-align: start; }
.villa-gallery__rail img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; }
.villa-gallery__rail figcaption { margin-top: 12px; font-size: 13px; line-height: 1.5; color: #bfc5c9; }
@media (max-width:900px) { .villa-gallery__rail { grid-auto-columns: calc((100% - 16px)/2); } }
@media (max-width:760px) {
  .villa-offer { grid-template-columns: 1fr; gap: 28px; margin-bottom: 40px; }
  .villa-offer h2 { max-width: none; }
  .villa-offer__price .button { width: 100%; white-space: normal; text-align: center; }
  .villa-plans .ocean-villa-plans__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .villa-plans .ocean-villa-plans__grid img { height: auto; max-height: 360px; }
  .villa-plans--dream .ocean-villa-plans__grid { grid-template-columns: 1fr; }
  .villa-equipment .ocean-included__hero > img { height: 280px; max-height: 280px; }
  .detail-intro dl.villa-facts > div:last-child { grid-column: auto; border-top: 0; }
  .detail-intro .villa-purchase__options { gap: 16px; }
  .detail-intro .villa-purchase__options > div:last-child { grid-column: auto; border-top: 0; }
  .villa-purchase dd span { font-size: 13px; }
  .villa-purchase dd small { font-size: 12px; }
}
@media (max-width:540px) { .villa-gallery__rail { grid-auto-columns: 82%; } }
