#gallery .villa-gallery{margin-top:38px;min-width:0}
#gallery .villa-gallery-slide{margin:0 0 32px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);background:#f7f4eb;border:1px solid #e3e7df;border-radius:12px;overflow:hidden}
#gallery .villa-gallery-slide picture{position:relative;display:flex;align-items:center;justify-content:center;background:#e9e8df;min-width:0;aspect-ratio:4/3}
#gallery .villa-gallery-slide img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:680px;object-fit:contain}
#gallery .villa-gallery-slide figcaption{padding:clamp(24px,3vw,46px);align-self:center;min-width:0}
#gallery .villa-gallery-eyebrow{color:#5d5a42;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin:0 0 20px}
#gallery .villa-gallery-slide h3{font-size:clamp(1.65rem,2.5vw,2.65rem);line-height:1.15;margin:0 0 20px}
#gallery .villa-gallery-description{font-size:1rem;line-height:1.75;margin:0;color:#425d62}
#gallery .villa-gallery-slide[hidden],#gallery [hidden]{display:none}
#gallery .is-enhanced .villa-gallery-slide{margin-bottom:0}
#gallery .villa-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0}
#gallery .villa-gallery-hint{font-size:.88rem;color:#526b6d;margin:0}
#gallery .villa-gallery-arrows{display:flex;align-items:center;gap:18px;flex-shrink:0}
#gallery .villa-gallery-arrows button{width:60px;height:60px;display:grid;place-items:center;border:2px solid #08777b;border-radius:50%;background:#08777b;color:#fff;cursor:pointer;box-shadow:0 5px 14px #092d351c;transition:background .18s ease,transform .18s ease}
#gallery .villa-gallery-arrows button span{font:32px/1 Arial,sans-serif;transform:translateY(-2px)}
#gallery .villa-gallery-arrows button:hover{background:#092d35;border-color:#092d35;transform:translateY(-2px)}
#gallery button:focus-visible{outline:3px solid #a37432;outline-offset:4px}
#gallery .villa-gallery-count{font-size:.83rem;font-weight:800;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:#425d62}
#gallery .villa-gallery-rooms{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid #dde4df;padding-top:20px}
#gallery .villa-gallery-rooms button{min-height:46px;padding:10px 16px;font:inherit;font-size:.87rem;font-weight:700;line-height:1.4;border:1px solid #d4dfda;border-radius:24px;color:#23484d;background:#fff;cursor:pointer;transition:background .18s ease}
#gallery .villa-gallery-rooms button:hover{background:#eef4f0}
#gallery .villa-gallery-rooms button[aria-current="true"]{background:#092d35;color:#fff;border-color:#092d35}
#gallery .villa-gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#gallery .is-enhanced .villa-gallery-slides{touch-action:pan-y pinch-zoom}
#gallery .villa-gallery-enter{animation:villa-gallery-appear .22s ease-out}
@keyframes villa-gallery-appear{from{opacity:.35}to{opacity:1}}
@media(max-width:900px){
  #gallery .villa-gallery-slide{grid-template-columns:minmax(0,1fr)}
  #gallery .villa-gallery-slide picture{aspect-ratio:4/3;max-height:580px}
  #gallery .villa-gallery-slide img{max-height:580px}
  #gallery .villa-gallery-slide figcaption{padding:28px}
  #gallery .villa-gallery-slide h3{font-size:clamp(1.8rem,5vw,2.6rem);max-width:650px}
  #gallery .villa-gallery-description{max-width:700px}
}
@media(max-width:480px){
  #gallery .villa-gallery{margin-top:28px}
  #gallery .villa-gallery-slide figcaption{padding:24px 21px}
  #gallery .villa-gallery-eyebrow{font-size:.66rem;margin-bottom:14px}
  #gallery .villa-gallery-slide h3{font-size:1.8rem;margin-bottom:16px}
  #gallery .villa-gallery-description{font-size:.96rem;line-height:1.7}
  #gallery .villa-gallery-controls{justify-content:center;padding:20px 0}
  #gallery .villa-gallery-hint{display:none}
  #gallery .villa-gallery-arrows{width:100%;justify-content:space-between}
  #gallery .villa-gallery-rooms{gap:8px}
  #gallery .villa-gallery-rooms button{flex:1 1 calc(50% - 8px);padding:10px 8px;font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){
  #gallery .villa-gallery-enter{animation:none}
  #gallery button{transition:none}
  #gallery .villa-gallery-arrows button:hover{transform:none}
}
