/* Shared base for every page of the Riad Ciel d’Orient site.
   Page-specific layout and breakpoints live in css/<page>.css. */

:where(.rco-site, .rco-site *, .rco-site *::before, .rco-site *::after) { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; background: #faf6f1; }
:where(.rco-site img) { max-width: 100%; }

@media (max-width: 560px) {
  html { scroll-padding-top: 90px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  :where(.rco-site, .rco-site *, .rco-site *::before, .rco-site *::after) { transition-duration: 0s !important; }
}

/* Conditional blocks (menus, tabs, FAQ answers…) toggled by js/main.js */
.rco-if { display: contents; }
.rco-if[hidden] { display: none !important; }

/* Room carousel controls (home): prev · dots · next, shown when the
   carousel becomes a swipeable track on tablet and mobile. */
.rco-dots { display: none; align-items: center; justify-content: center; gap: 18px; margin-top: 18px; }
.rco-dots .rco-round {
  width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
  padding: 0; border: 1px solid #eadcca; border-radius: 50%; background: #ffffff; color: #8f5e2c; cursor: pointer;
}
.rco-dot-row { display: flex; align-items: center; gap: 8px; }
.rco-dot {
  width: 8px; height: 8px; padding: 0; border: none; border-radius: 4px;
  background: #dcc9b0; cursor: pointer; transition: width .3s ease, background-color .3s ease;
}
.rco-dot[aria-current="true"] { width: 22px; background: #925f29; }
.rco-track { scrollbar-width: none; }
.rco-track::-webkit-scrollbar { display: none; }

@media (max-width: 900px) {
  .rco-dots { display: flex; }
}
