  .rh-calendar-app{
    --accent: #9c1814;
    --accent-hov: #7a1210;
    --black: #000;
    --text: #2d3940;
    --text-soft: #4e4e4e;
    --muted: #808080;
    --nav-active: #9c1814;
    --line: #e2e2e2;
    --bg-light: #f3f3f3;
    --bg-lighter: #f8f8f8;
    --white: #fff;
    --ok: #2e7d32;
    --today-ring: #2ea3f2;
    --max: 1280px;
    --pad: clamp(1.25rem, 4vw, 3rem);
    --serif: "Fraunces", Georgia, "Times New Roman", serif;
    --sans: "Karla", Arial, sans-serif;
  }
  .rh-calendar-app *,.rh-calendar-app *::before,.rh-calendar-app *::after{box-sizing:border-box;margin:0;padding:0}
  .rh-calendar-app{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;scroll-margin-top:130px}
  .rh-calendar-app :focus-visible{outline:3px solid var(--nav-active);outline-offset:2px;border-radius:2px}
  .rh-calendar-app button:focus-visible,.rh-calendar-app a:focus-visible,.rh-calendar-app input:focus-visible{outline:3px solid var(--nav-active);outline-offset:2px}
  .rh-calendar-app button,.rh-calendar-app a,.rh-calendar-app input{-webkit-tap-highlight-color:transparent;font-family:inherit}
  .rh-calendar-app .skip-link{position:absolute;left:-9999px;top:0;background:var(--nav-active);color:#fff;padding:10px 18px;font-weight:700;z-index:999}
  .rh-calendar-app .skip-link:focus{left:12px;top:12px}
  .rh-calendar-app{font-family:var(--sans);color:var(--text);background:#fff;line-height:1.7;font-size:15px;font-weight:400;padding:24px 0}
  .rh-calendar-app .site-box{max-width:1320px;margin:0 auto;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06),0 20px 50px rgba(0,0,0,.12);position:relative;overflow:hidden}
  .rh-calendar-app img{max-width:100%;display:block}
  .rh-calendar-app a{color:var(--accent);text-decoration:none;transition:color .2s}
  .rh-calendar-app a:hover{color:var(--accent-hov)}
  .rh-calendar-app h1,.rh-calendar-app h2,.rh-calendar-app h3,.rh-calendar-app h4{font-family:var(--serif);font-weight:700;color:var(--accent);line-height:1.25}
  .rh-calendar-app .container{max-width:var(--max);width:80%;margin:0 auto;padding:0 var(--pad)}
  @media (max-width:980px){.rh-calendar-app .container{width:92%}.rh-calendar-app{padding:0}.rh-calendar-app .site-box{box-shadow:none}}

  .rh-calendar-app .btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:#fff!important;border:2px solid var(--accent);padding:11px 28px;border-radius:2px;font-family:var(--sans);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;transition:all .2s;cursor:pointer}
  .rh-calendar-app .btn:hover{background:var(--black);border-color:var(--black);color:#fff!important}
  .rh-calendar-app .btn-outline{background:transparent;color:var(--text)!important;border-color:var(--line)}
  .rh-calendar-app .btn-outline:hover{background:var(--black);border-color:var(--black);color:#fff!important}
  .rh-calendar-app .btn-white{background:#fff;color:var(--black)!important;border-color:#fff}
  .rh-calendar-app .btn-white:hover{background:var(--accent);border-color:var(--accent);color:#fff!important}

  /* TOP BAR */
  .rh-calendar-app .top-bar{background:var(--accent);color:#fff;font-size:12px;padding:8px 0}
  .rh-calendar-app .top-bar .container{display:flex;justify-content:flex-end;align-items:center;gap:22px}
  .rh-calendar-app .top-bar a{color:#fff;display:inline-flex;align-items:center;justify-content:center}
  .rh-calendar-app .top-bar a:hover{color:rgba(255,255,255,.8)}
  .rh-calendar-app .top-bar svg{width:14px;height:14px;fill:currentColor}

  /* HEADER */
  .rh-calendar-app .site-header{background:var(--white);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);box-shadow:0 1px 3px rgba(0,0,0,.03);transition:box-shadow .3s}
  .rh-calendar-app .site-header.scrolled{box-shadow:0 4px 14px rgba(0,0,0,.08)}
  .rh-calendar-app .site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px;gap:2rem}
  .rh-calendar-app .header-logo{display:flex;align-items:center;line-height:0}
  .rh-calendar-app .header-logo img{height:86px;width:auto;display:block}
  .rh-calendar-app .main-nav{display:flex;align-items:center}
  .rh-calendar-app .main-nav>ul{list-style:none;display:flex;gap:2.2rem;align-items:center;margin:0;padding:0}
  .rh-calendar-app .main-nav a{font-family:var(--sans);font-weight:600;font-size:15px;color:#333;padding:6px 0;position:relative;display:inline-block;line-height:1.3}
  .rh-calendar-app .main-nav a:hover{color:var(--accent)}
  .rh-calendar-app .main-nav li.current-menu-item>a{color:var(--nav-active)}
  .rh-calendar-app .main-nav .has-children>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:7px;vertical-align:middle;margin-bottom:3px;opacity:.7}
  .rh-calendar-app .search-icon{background:none;border:0;cursor:pointer;padding:6px;margin-left:4px;color:#333;display:inline-flex;align-items:center;transition:color .2s}
  .rh-calendar-app .search-icon:hover{color:var(--accent)}
  .rh-calendar-app .search-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
  .rh-calendar-app .burger{display:none;background:none;border:0;cursor:pointer;width:32px;height:32px;position:relative}
  .rh-calendar-app .burger span{display:block;position:absolute;left:4px;right:4px;height:2px;background:var(--black)}
  .rh-calendar-app .burger span:nth-child(1){top:9px}.rh-calendar-app .burger span:nth-child(2){top:16px}.rh-calendar-app .burger span:nth-child(3){top:23px}

  /* BREADCRUMB */
  .rh-calendar-app .breadcrumb{background:var(--bg-light);padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}
  .rh-calendar-app .breadcrumb a{color:var(--text-soft);font-weight:600}
  .rh-calendar-app .breadcrumb a:hover{color:var(--accent)}
  .rh-calendar-app .breadcrumb .sep{margin:0 8px;color:var(--muted)}
  .rh-calendar-app .breadcrumb .current{color:var(--accent);font-weight:600}

  /* PAGE HERO */
  .rh-calendar-app .page-hero{background:var(--black);color:#fff;padding:64px 0 56px}
  .rh-calendar-app .page-hero .label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700;margin-bottom:10px}
  .rh-calendar-app .page-hero .divider{width:50px;height:2px;background:var(--accent);margin:18px 0}
  .rh-calendar-app .page-hero h1{font-family:var(--serif);font-size:clamp(32px,4.5vw,52px);font-weight:700;color:#fff;line-height:1.15;margin-bottom:14px;max-width:20ch}
  .rh-calendar-app .page-hero p{color:rgba(255,255,255,.8);max-width:64ch;font-size:16px;line-height:1.7;margin-bottom:26px}
  .rh-calendar-app .page-hero .cta-row{display:flex;gap:12px;flex-wrap:wrap}



  /* CONTENT */
  .rh-calendar-app .hire-content{padding:60px 0 80px;background:var(--bg-lighter)}
  .rh-calendar-app .hire-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
  @media (max-width:900px){.rh-calendar-app .hire-grid{grid-template-columns:1fr;gap:36px}}

  .rh-calendar-app .prose .accent-line{width:40px;height:3px;background:var(--accent);margin-bottom:18px}
  .rh-calendar-app .prose h2{font-size:clamp(26px,3vw,34px);margin-bottom:14px}
  .rh-calendar-app .prose p{color:var(--text-soft);font-size:15px;line-height:1.75;margin-bottom:14px}
  .rh-calendar-app .prose p strong{color:var(--black)}
  .rh-calendar-app .prose ul{list-style:none;margin:18px 0 26px}
  .rh-calendar-app .prose ul li{padding:6px 0 6px 26px;position:relative;color:var(--text-soft);font-size:14px}
  .rh-calendar-app .prose ul li::before{content:"✓";position:absolute;left:0;top:6px;color:var(--accent);font-weight:700}
  .rh-calendar-app .rates{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
  @media (max-width:480px){.rh-calendar-app .rates{grid-template-columns:1fr}}
  .rh-calendar-app .rate-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:2px;padding:18px 20px}
  .rh-calendar-app .rate-card .kind{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
  .rh-calendar-app .rate-card .amt{font-family:var(--serif);font-size:26px;font-weight:700;color:var(--black);line-height:1.1;margin:4px 0}
  .rh-calendar-app .rate-card .amt small{font-family:var(--sans);font-size:13px;font-weight:400;color:var(--muted)}
  .rh-calendar-app .rate-card p{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.5}

  .rh-calendar-app .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
  @media (max-width:720px){.rh-calendar-app .steps{grid-template-columns:1fr}}
  .rh-calendar-app .step{background:#fff;border:1px solid var(--line);border-radius:3px;padding:24px}
  .rh-calendar-app .step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--serif);font-size:36px;font-weight:700;color:var(--accent);opacity:.25;line-height:1;display:block;margin-bottom:8px}
  .rh-calendar-app .steps{counter-reset:step}
  .rh-calendar-app .step h4{font-family:var(--sans);font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--black);margin-bottom:6px}
  .rh-calendar-app .step p{color:var(--text-soft);font-size:13px;line-height:1.6}

  /* CALENDAR CARD (on white page, not black) */
  .rh-calendar-app .calendar-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:28px}
  .rh-calendar-app .calendar-card h3{font-family:var(--sans);text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--black);padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:6px}
  .rh-calendar-app .cal-sub{color:var(--muted);font-size:13px;line-height:1.55;margin-bottom:18px}
  .rh-calendar-app .cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .rh-calendar-app .cal-nav button{background:#fff;border:1px solid var(--line);color:var(--text);width:34px;height:34px;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:all .2s}
  .rh-calendar-app .cal-nav button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}
  .rh-calendar-app .cal-nav button:disabled{opacity:.35;cursor:not-allowed}
  .rh-calendar-app .cal-nav .cal-title{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--black)}

  .rh-calendar-app .cal-legend{display:flex;gap:14px;font-size:11px;color:var(--muted);margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;flex-wrap:wrap}
  .rh-calendar-app .cal-legend span{display:inline-flex;align-items:center;gap:6px}
  .rh-calendar-app .cal-legend .sw{width:12px;height:12px;border-radius:2px;border:1px solid var(--line);display:inline-block}
  .rh-calendar-app .cal-legend .sw.booked{background:rgba(156,24,20,.18);border-color:rgba(156,24,20,.45)}
  .rh-calendar-app .cal-legend .sw.sel{background:var(--accent);border-color:var(--accent)}
  .rh-calendar-app .cal-legend .sw.today{box-shadow:inset 0 0 0 2px var(--today-ring);border-color:transparent}

  .rh-calendar-app .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
  .rh-calendar-app .cal-dow{text-align:center;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;padding:6px 0}
  .rh-calendar-app .cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;border-radius:2px;cursor:default;color:var(--muted);background:transparent;border:1px solid transparent;position:relative;transition:all .15s}
  .rh-calendar-app .cal-day.in-month{color:var(--text);background:#fafafa;border-color:#eee}
  .rh-calendar-app .cal-day.available{cursor:pointer;background:#fff;border-color:var(--line);color:var(--black)}
  .rh-calendar-app .cal-day.available:hover{background:var(--accent);border-color:var(--accent);color:#fff}
  .rh-calendar-app .cal-day.booked{background:rgba(156,24,20,.12);border-color:rgba(156,24,20,.3);color:var(--accent);cursor:not-allowed;text-decoration:line-through;text-decoration-color:rgba(156,24,20,.35)}
  .rh-calendar-app .cal-day.past{opacity:.3;cursor:not-allowed}
  .rh-calendar-app .cal-day.today{box-shadow:inset 0 0 0 2px var(--today-ring);border-color:transparent}
  .rh-calendar-app .cal-day.selected{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}

  /* Always-visible TIME PICKER PANEL below calendar grid */
  .rh-calendar-app .cal-times-panel{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
  .rh-calendar-app .cal-times-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}
  .rh-calendar-app .cal-times-head strong{font-family:var(--serif);font-size:17px;font-weight:700;color:var(--black)}
  .rh-calendar-app .cal-times-date{font-family:var(--sans);font-size:13px;color:var(--accent);font-weight:600}
  .rh-calendar-app .cal-times-hint{font-size:12px;color:var(--muted);line-height:1.55;margin-bottom:14px}
  .rh-calendar-app .cal-times-body.no-date .cal-slots,.rh-calendar-app .cal-times-body.no-date .cal-summary,.rh-calendar-app .cal-times-body.no-date .cal-actions{opacity:.4;pointer-events:none}
  .rh-calendar-app .cal-times-label{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:8px}
  .rh-calendar-app .cal-times-label .hint{font-weight:400;text-transform:none;letter-spacing:0;font-size:11px;color:var(--muted)}
  .rh-calendar-app .cal-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px}
  @media (max-width:480px){.rh-calendar-app .cal-slots{grid-template-columns:repeat(3,1fr)}}
  .rh-calendar-app .cal-slot{font-family:var(--sans);font-size:12px;font-weight:600;padding:9px 4px;text-align:center;border-radius:2px;border:1px solid var(--line);background:var(--bg-lighter);color:var(--muted);cursor:pointer;transition:all .12s;user-select:none}
  .rh-calendar-app .cal-slot.available{background:#fff;color:var(--text-soft);cursor:pointer}
  .rh-calendar-app .cal-slot.available:hover{background:var(--bg-lighter);border-color:var(--accent);color:var(--accent)}
  .rh-calendar-app .cal-slot.booked{background:#fdf2f2!important;border-color:#f0c5c3!important;color:var(--accent)!important;cursor:not-allowed;text-decoration:line-through;text-decoration-color:rgba(156,24,20,.45);opacity:.85;font-weight:600}
  .rh-calendar-app .cal-slot.in-range{background:rgba(156,24,20,.06);border-color:var(--accent);color:var(--accent);font-weight:600}
  .rh-calendar-app .cal-slot.selected-start,.rh-calendar-app .cal-slot.selected-end{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;font-weight:700;text-decoration:none;opacity:1}
  .rh-calendar-app .cal-summary{margin-top:10px;padding:12px 14px;background:var(--bg-lighter);border-left:3px solid var(--accent);border-radius:2px;font-size:13px;color:var(--text-soft);display:none}
  .rh-calendar-app .cal-summary.show{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
  .rh-calendar-app .cal-summary strong{color:var(--accent);font-family:var(--serif);font-size:16px;font-weight:700;letter-spacing:0;text-transform:none;display:block;margin-top:2px}
  .rh-calendar-app .cal-actions{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
  .rh-calendar-app .cal-actions .btn{padding:9px 18px;font-size:12px}
  .rh-calendar-app .cal-actions .btn-outline{padding:9px 18px;font-size:12px}
  .rh-calendar-app .cal-note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.5;font-style:italic}

  /* CTA STRIP */
  .rh-calendar-app .cta-strip{background:var(--black);color:#fff;padding:56px 0}
  .rh-calendar-app .cta-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
  .rh-calendar-app .cta-strip h2{color:#fff;font-size:clamp(22px,3vw,30px);margin-bottom:6px}
  .rh-calendar-app .cta-strip p{color:rgba(255,255,255,.7);font-size:15px;max-width:52ch}
  .rh-calendar-app .cta-strip p a{color:var(--accent);font-weight:600}
  .rh-calendar-app .cta-strip p a:hover{color:#c23029}

  /* FOOTER */
  .rh-calendar-app footer{background:var(--black);color:rgba(255,255,255,.7);padding:56px 0 20px;font-size:14px}
  .rh-calendar-app .fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.1)}
  .rh-calendar-app .flogo{display:inline-block;margin-bottom:22px}
  .rh-calendar-app .flogo img{height:auto;width:100%;max-width:320px}
  .rh-calendar-app .fbrand p{line-height:1.7;max-width:34ch;margin-bottom:16px;color:rgba(255,255,255,.6);font-size:14px}
  .rh-calendar-app .socials{display:flex;gap:6px}
  .rh-calendar-app .socials a{width:36px;height:36px;border:1.5px solid rgba(255,255,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .2s}
  .rh-calendar-app .socials a:hover{background:var(--accent);border-color:var(--accent)}
  .rh-calendar-app .socials svg{width:15px;height:15px;fill:currentColor}
  .rh-calendar-app .fcol h4{color:var(--accent);font-family:var(--serif);font-size:16px;font-weight:700;margin-bottom:14px}
  .rh-calendar-app .fcol ul{list-style:none;display:flex;flex-direction:column;gap:6px}
  .rh-calendar-app .fcol ul a{color:rgba(255,255,255,.6);font-size:13px}
  .rh-calendar-app .fcol ul a:hover{color:#fff}
  .rh-calendar-app .ack{font-style:italic;font-size:13px;color:rgba(255,255,255,.5);line-height:1.7;margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}
  .rh-calendar-app .fbottom{padding-top:18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:rgba(255,255,255,.4)}
  .rh-calendar-app .fbottom a{color:rgba(255,255,255,.6)}
  .rh-calendar-app .fbottom a:hover{color:#fff}

  @media (max-width:980px){
    .rh-calendar-app .main-nav,.rh-calendar-app .search-icon{display:none}
    .rh-calendar-app .burger{display:block}
    .rh-calendar-app .fgrid{grid-template-columns:1fr 1fr;gap:28px}
    .rh-calendar-app .header-logo img{height:60px}
  }
  @media (max-width:580px){
    .rh-calendar-app .fgrid{grid-template-columns:1fr}
    .rh-calendar-app .page-hero{padding:44px 0}
  }

  .rh-calendar-app .mobile-menu{display:none;position:fixed;inset:0;background:#fff;z-index:200;padding:80px 24px 24px;overflow-y:auto}
  .rh-calendar-app .mobile-menu.open{display:block}
  .rh-calendar-app .mobile-menu a{display:block;font-family:var(--sans);font-weight:600;font-size:17px;color:var(--black);padding:14px 0;border-bottom:1px solid var(--line)}
  .rh-calendar-app .mobile-menu a:hover{color:var(--accent)}
  .rh-calendar-app .mobile-menu .close{position:absolute;top:12px;right:20px;background:none;border:0;font-size:34px;cursor:pointer;color:var(--black);line-height:1}
  .rh-calendar-app .mobile-menu .close:hover{color:var(--accent)}

  .rh-calendar-app .search-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:300;display:none;align-items:flex-start;justify-content:center;padding-top:140px}
  .rh-calendar-app .search-overlay.open{display:flex}
  .rh-calendar-app .search-overlay .sbox{width:90%;max-width:640px;position:relative}
  .rh-calendar-app .search-overlay label{display:block;color:rgba(255,255,255,.6);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;margin-bottom:12px}
  .rh-calendar-app .search-overlay .sclose{position:absolute;top:-40px;right:0;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;line-height:1}
  .rh-calendar-app .search-overlay .sclose:hover{color:var(--accent)}
  .rh-calendar-app .search-overlay input{width:100%;padding:16px 56px 16px 20px;font-family:var(--sans);font-size:17px;border:2px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;outline:none;border-radius:2px}
  .rh-calendar-app .search-overlay input::placeholder{color:rgba(255,255,255,.4)}
  .rh-calendar-app .search-overlay input:focus{border-color:var(--accent);background:rgba(255,255,255,.1)}
  .rh-calendar-app .search-overlay button.sgo{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--accent);border:0;color:#fff;width:44px;height:44px;cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center}
  .rh-calendar-app .search-overlay button.sgo svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round}

  .rh-calendar-app .to-top{position:fixed;right:32px;bottom:32px;width:46px;height:46px;background:var(--accent);color:#fff;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(156,24,20,.35);opacity:0;pointer-events:none;transform:translateY(12px);transition:all .3s;z-index:40}
  .rh-calendar-app .to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
  .rh-calendar-app .to-top:hover{background:var(--black)}
  .rh-calendar-app .to-top svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  @media (max-width:580px){.rh-calendar-app .to-top{right:16px;bottom:16px}}

  .rh-calendar-app .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
  .rh-calendar-app .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.rh-calendar-app .reveal{opacity:1;transform:none;transition:none}}

/* v2.1.4: Only dates in the visible month, with aligned blank leading cells. */
.rh-calendar-app .cal-day-empty{min-width:0;aspect-ratio:1;pointer-events:none}
/* A little more separation between the month and time selection below. */
.rh-calendar-app .cal-times-panel{margin-top:36px;padding-top:22px}

/* 2.1.5: distinguish partly booked dates immediately after availability loads. */
.rh-calendar-app .cal-day.partly-booked{background:#f8e8df!important;border:1px solid #b36b56!important;color:#713126!important;font-weight:700}
.rh-calendar-app .cal-day.partly-booked::after{content:"";position:absolute;bottom:7px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#9c332a}
.rh-calendar-app .cal-day.booked{background:#e8cbc5!important;border:1px solid #a84940!important;color:#7e201b!important;text-decoration:line-through;opacity:1!important}
.rh-calendar-app .cal-day.availability-pending{opacity:.35;cursor:not-allowed}
.rh-calendar-app .cal-day:disabled{cursor:not-allowed}
.rh-calendar-app .cal-legend .sw.partial{background:#f8e8df;border-color:#b36b56}

/* v2.1.6: accessible calendar navigation and key, larger and easier to read. */
.rh-calendar-app .cal-legend {font-size:15px;line-height:1.5;gap:10px 20px;letter-spacing:.02em;font-weight:700;margin-bottom:18px;color:#38322d}
.rh-calendar-app .cal-legend span {gap:9px}
.rh-calendar-app .cal-legend .sw {width:16px;height:16px;flex:0 0 16px;border-width:1.5px}
.rh-calendar-app .cal-dow {font-size:13px;line-height:1.5;letter-spacing:.045em;color:#514b45;font-weight:700;padding:8px 0}
.rh-calendar-app .cal-nav .cal-title {font-size:22px;line-height:1.3}
.rh-calendar-app .cal-nav button {width:42px;height:42px;font-size:22px}
.rh-calendar-app .cal-day {font-size:15px}
@media (max-width:580px) {
 .rh-calendar-app .cal-legend {font-size:13px;gap:9px 14px}
 .rh-calendar-app .cal-legend .sw {width:15px;height:15px;flex-basis:15px}
 .rh-calendar-app .cal-dow {font-size:12px;letter-spacing:0}
 .rh-calendar-app .cal-nav .cal-title {font-size:20px}
 .rh-calendar-app .cal-nav button {width:40px;height:40px}
}
