.cottage-videos { margin-top:1.5rem; }
.cottage-videos h3 { margin:0 0 .75rem; font-size:1.15rem; }
.cottage-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.cottage-video-link { display:block; overflow:hidden; border:1px solid var(--cp-hotel-line); background:var(--cp-hotel-white); color:var(--cp-hotel-ink); text-decoration:none; }
.split-media .cottage-video-link img { display:block; width:100%; height:220px; object-fit:contain; background:var(--cp-hotel-sand); }
.cottage-video-label,.cottage-video-hint { display:block; padding:.65rem .75rem 0; }
.cottage-video-label { font-weight:600; }
.cottage-video-label > span { color:var(--cp-hotel-gold); margin-right:.25rem; }
.cottage-video-hint { padding-top:.2rem; padding-bottom:.75rem; color:var(--cp-hotel-muted); font-size:.78rem; }
.cottage-video-link:hover,.cottage-video-link:focus-visible { border-color:var(--cp-hotel-gold); }
.cottage-video-link:focus-visible,.cottage-video-dialog button:focus-visible,.cottage-video-direct:focus-visible { outline:2px solid var(--cp-hotel-gold); outline-offset:3px; }
.cottage-video-dialog { width:min(440px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); padding:1rem; border:1px solid var(--cp-hotel-line); background:var(--cp-hotel-white); color:var(--cp-hotel-ink); overflow:auto; }
.cottage-video-dialog::backdrop { background:var(--cp-hotel-shade); }
.cottage-video-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.5rem; }
.cottage-video-heading h3 { margin:0; }
.cottage-video-heading button { flex-shrink:0; width:44px; height:44px; border:1px solid var(--cp-hotel-line); background:var(--cp-hotel-white); color:var(--cp-hotel-ink); cursor:pointer; font-size:1.8rem; }
.cottage-video-dialog video { display:block; width:100%; max-height:calc(100dvh - 190px); aspect-ratio:9/16; background:var(--cp-hotel-shade); }
.cottage-video-direct { display:inline-block; margin-top:.75rem; color:var(--cp-hotel-ink); font-size:.85rem; text-decoration:underline; }
.cottage-video-status { margin:.75rem 0 0; }
@media(max-width:480px) {
  .split-media .cottage-video-link img { height:180px; }
  .cottage-video-label { font-size:.9rem; }
}
