body{margin:0}
.site-hero::after{background:rgba(10,17,40,.10)!important}
  a{color:#d4af6a;text-decoration:none}
  a:hover{color:#e8c98a}
  input[type=range]{-webkit-appearance:none;background:transparent}
  input[type=range]::-webkit-slider-runnable-track{height:4px;background:#3a4570;border-radius:2px}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#d4af6a;margin-top:-4px}
  .royal-gallery-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 40px 38px;direction:rtl}
  .royal-gallery-pagination button{min-width:36px;height:36px;padding:0 12px;border:1px solid #d4af6a;border-radius:9px;background:transparent;color:#f2f0e8;font:700 12px 'Cairo',sans-serif;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
  .royal-gallery-pagination button:hover,.royal-gallery-pagination button:focus-visible{background:rgba(212,175,106,.16);transform:translateY(-2px);outline:none}
  .royal-gallery-pagination button.is-active{background:#d4af6a;color:#0a1128;box-shadow:0 5px 15px rgba(212,175,106,.25)}
  @media(max-width:560px){.royal-gallery-pagination{gap:5px;padding:0 14px 28px}.royal-gallery-pagination button{min-width:32px;height:34px;padding:0 8px;font-size:10px}.royal-gallery-pagination button:first-child,.royal-gallery-pagination button:last-child{font-size:0}.royal-gallery-pagination button:first-child::before{content:'→';font-size:17px}.royal-gallery-pagination button:last-child::before{content:'←';font-size:17px}}

/* Stable YouTube player and responsive modal. */
.royal-video-modal {
  box-sizing:border-box;
  z-index:100000 !important;
}

.royal-video-dialog {
  box-sizing:border-box;
}

.royal-video-player,
.royal-video-player__stage {
  box-sizing:border-box;
  width:100%;
  background:#000;
}

.royal-video-player:fullscreen,
.royal-video-player:-webkit-full-screen {
  width:100vw !important;
  width:100dvw !important;
  height:100vh !important;
  height:100dvh !important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000 !important;
}

.royal-video-player:fullscreen .royal-video-player__stage[data-video-aspect],
.royal-video-player:-webkit-full-screen .royal-video-player__stage[data-video-aspect] {
  height:100%;
  padding-top:0 !important;
}

.royal-video-player:fullscreen .royal-player-controls,
.royal-video-player:-webkit-full-screen .royal-player-controls {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:5;
  background:linear-gradient(transparent,rgba(0,0,0,.9));
  border-top:0;
}

.royal-video-actions,
.royal-video-action,
.royal-video-action > div {
  white-space:nowrap !important;
}

.royal-player-controls {
  min-height:42px;
  padding:6px 10px;
  display:flex;
  align-items:center;
  gap:6px;
  direction:rtl;
  color:#f2f0e8;
  background:linear-gradient(180deg,#0d1530,#080e21);
  border-top:1px solid #232c52;
}

.royal-player-control {
  min-width:0;
  min-height:30px;
  padding:4px 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#f2f0e8;
  background:transparent;
  border:1px solid #30395e;
  border-radius:7px;
  font-family:'Cairo',sans-serif;
  font-size:10px;
  white-space:nowrap;
  cursor:pointer;
  touch-action:manipulation;
}

.royal-player-control:hover,
.royal-player-control:focus-visible {
  color:#0a1128;
  background:#d4af6a;
  border-color:#d4af6a;
  outline:none;
}

.royal-player-control--youtube {
  border-color:#ff3030;
  background:#ff0000;
  color:#fff;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(255,0,0,.22);
}

.royal-player-control--youtube:hover,
.royal-player-control--youtube:focus-visible {
  border-color:#ff4b4b;
  background:#c90000;
  color:#fff;
}

.royal-player-control--youtube svg { flex:0 0 auto; }

.royal-player-quality { position:relative;display:flex; }
.royal-player-control--quality { min-width:72px; }
.royal-player-quality__menu {
  position:absolute;
  z-index:12;
  right:0;
  bottom:calc(100% + 9px);
  width:168px;
  max-height:min(310px,55vh);
  padding:7px;
  display:grid;
  gap:3px;
  overflow-y:auto;
  border:1px solid #394469;
  border-radius:11px;
  background:rgba(8,14,33,.98);
  box-shadow:0 14px 34px rgba(0,0,0,.55);
  direction:rtl;
}
.royal-player-quality__menu button {
  width:100%;
  min-height:34px;
  padding:6px 10px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#d9deec;
  font:600 11px/1.4 'Cairo',sans-serif;
  text-align:right;
  cursor:pointer;
}
.royal-player-quality__menu button:hover,
.royal-player-quality__menu button:focus-visible,
.royal-player-quality__menu button.is-active {
  outline:0;
  background:linear-gradient(135deg,#e0bd68,#bd8e35);
  color:#091020;
}
.royal-player-quality__menu button.is-active::before { content:'✓';margin-left:8px;font-weight:900; }

.royal-control-pause-icon { display:none; }
.royal-video-player.is-playing .royal-control-play-icon { display:none; }
.royal-video-player.is-playing .royal-control-pause-icon { display:block; }

.royal-video-booking {
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:14px;
}

.royal-video-booking__title {
  min-width:0;
  white-space:nowrap;
}

.royal-video-booking__button {
  width:auto !important;
  margin-top:0 !important;
  padding-inline:20px !important;
  flex:0 0 auto;
  white-space:nowrap;
}

@media (max-width:1024px) {
  .royal-video-modal {
    width:100vw;
    width:100dvw;
    height:100vh;
    height:100dvh;
    padding:12px !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .royal-video-dialog {
    width:100% !important;
    max-width:900px !important;
    max-height:calc(100dvh - 24px);
    overflow:auto !important;
  }

  .royal-video-topbar {
    gap:8px;
    padding:9px 10px !important;
  }

  .royal-video-topbar > div:last-child {
    gap:clamp(6px,1.2vw,10px) !important;
  }

  .royal-video-topbar a,
  .royal-video-sound-badge {
    padding:3px 5px !important;
    font-size:clamp(8px,1.3vw,10px) !important;
    white-space:nowrap !important;
  }

  .royal-video-actions {
    box-sizing:border-box;
    width:100%;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:center;
    justify-content:space-between;
    gap:clamp(2px,.7vw,8px) !important;
    padding:8px clamp(5px,1.4vw,12px) !important;
    overflow:visible;
  }

  .royal-video-action {
    min-width:0 !important;
    flex:0 1 auto;
    gap:3px !important;
    margin-inline-start:0 !important;
    color:#c3c8dc;
    font-size:clamp(7.4px,1.35vw,10px) !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .royal-video-action span {
    min-width:0 !important;
    font-size:inherit !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  .royal-video-action svg {
    width:clamp(11px,1.8vw,14px) !important;
    height:clamp(11px,1.8vw,14px) !important;
    flex:0 0 auto;
  }

  .royal-video-action--share > div {
    gap:3px !important;
  }

  .royal-player-controls {
    min-height:38px;
    padding:4px 7px;
    justify-content:space-between;
  }

  .royal-player-control {
    flex:0 1 auto;
    min-height:28px;
    padding:3px 6px;
    font-size:8.5px;
    gap:3px;
  }

  .royal-player-control svg { width:15px;height:15px;flex:0 0 auto; }
  .royal-player-control--quality { min-width:62px; }

  .royal-video-booking {
    padding:12px 14px 14px !important;
    gap:8px;
  }

  .royal-video-booking > div:first-child {
    font-size:clamp(11px,2.1vw,14px) !important;
  }

  .royal-video-booking button {
    margin-top:0 !important;
    padding:9px clamp(9px,2vw,16px) !important;
    font-size:clamp(9px,1.7vw,11px) !important;
  }
}

@media (max-width:420px) {
  .royal-video-modal { padding:6px !important; }
  .royal-video-dialog { max-height:calc(100dvh - 12px); }
  .royal-video-topbar > div:first-child img { display:none; }
  .royal-video-topbar > div:first-child > div { font-size:9px !important; }
  .royal-video-actions { padding-inline:4px !important; }
  .royal-video-action { font-size:7.2px !important; }
  .royal-video-action svg { width:11px !important;height:11px !important; }
  .royal-player-control { flex:1 1 0;padding:3px;font-size:0; }
  .royal-player-control svg { width:16px;height:16px; }
  .royal-player-control--quality { min-width:0; }
  .royal-player-quality__menu { right:0;left:auto;width:150px; }
  .royal-player-control--youtube svg { width:19px;height:19px; }
  .royal-video-booking { padding-inline:8px !important;gap:5px; }
  .royal-video-booking > div:first-child { font-size:10.5px !important; }
  .royal-video-booking button { padding:8px 7px !important;font-size:8.5px !important; }
}

/* Once a phone or tablet is rotated, dedicate the entire screen to the video. */
@media (max-width:1024px) and (orientation:landscape) and (max-height:600px) {
  .royal-video-modal { padding:0 !important; }

  .royal-video-dialog {
    width:100dvw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    border:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
  }

  .royal-video-topbar {
    position:absolute;
    inset:0 0 auto;
    z-index:5;
    border:0 !important;
    background:linear-gradient(180deg,rgba(0,0,0,.78),transparent);
  }

  .royal-video-player,
  .royal-video-player__stage {
    width:100%;
    height:100%;
  }

  .royal-video-player__stage { padding-top:0 !important; }
  .royal-player-controls {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    z-index:5;
    background:linear-gradient(transparent,rgba(0,0,0,.9));
    border-top:0;
  }
  .royal-video-actions,
  .royal-video-booking { display:none !important; }
}

.royal-video-player__stage[data-video-aspect="auto"][data-video-portrait="true"] { --video-ratio: .5625; }
/* Only the playback frame adapts; gallery cards and page layout stay intact. */
.royal-video-player__stage[data-video-aspect="9:16"] { --video-ratio: .5625; }
.royal-video-player__stage[data-video-aspect="16:9"] { --video-ratio: 1.7777778; }
.royal-video-player__stage[data-video-aspect="1:1"] { --video-ratio: 1; }
.royal-video-player__stage[data-video-aspect="3:4"] { --video-ratio: .75; }
.royal-video-player__stage[data-video-aspect="4:3"] { --video-ratio: 1.3333333; }
.royal-video-player__stage:is([data-video-portrait="true"],[data-measured="true"],[data-video-aspect]:not([data-video-aspect="auto"])) {
  padding-top:0!important; height:auto!important; margin-inline:auto;
  width:min(100%,calc(65dvh * var(--video-ratio)))!important; aspect-ratio:var(--video-ratio);
}
.royal-video-error { display:none; padding:12px; color:#e8c98a; font-size:13px; text-align:center; }
.royal-video-error.is-visible { display:block; }
.royal-video-player:fullscreen .royal-video-player__stage[data-video-aspect],
.royal-video-player:-webkit-full-screen .royal-video-player__stage[data-video-aspect] { width:100%!important; height:100%!important; padding-top:0!important; }
