/* ========================================================================
 * HERTS CUPPING 1.60.0 — UX, NAVIGATION AND RESPONSIVE CORRECTIONS
 * Final, isolated overrides only. Amelia internals are deliberately excluded.
 * ====================================================================== */

/* Consistent keyboard visibility across the site chrome and footer. */
.hc-v15-header :focus-visible,
.hc-v15-footer :focus-visible,
.hc-v8-page-nav :focus-visible{
  outline:3px solid #b84a43!important;
  outline-offset:3px!important;
}
.hc-v15-footer .hc-cookie-settings-link:focus-visible{outline-color:#fff!important}

/* The desktop menu switches to its accessible drawer before labels crowd. */
@media(max-width:1180px){
  .hc-v15-footer-grid>div:last-child{display:block!important}
  .hc-v15-footer-grid{gap:28px!important}
}

/* Keep all persistent header actions readable on small phones. */
@media(max-width:600px){
  .hc-v15-book{font-size:10px!important;letter-spacing:.035em!important;padding-inline:9px!important}
  .hc-v15-menu b{font-size:9px!important}
  .hc-v15-footer-grid a{font-size:13px!important;line-height:1.5!important}
}
@media(max-width:390px){
  .hc-v15-logo{max-width:108px!important}
  .hc-v15-book{font-size:10px!important;padding-inline:7px!important;letter-spacing:.02em!important}
}
@media(max-width:340px){
  .hc-v15-logo{max-width:92px!important;flex-basis:92px!important}
  .hc-v15-book{font-size:10px!important;padding-inline:5px!important}
}

/* Interior section navigation remains available on tablet and mobile. */
@media(max-width:900px){
  body.hc-v8-representative .hc-v8-page-shell .hc-v8-page-nav,
  .hc-v8-page-shell.hc-v8-page-shell .hc-v8-page-nav{
    display:block!important;
    position:sticky!important;
    top:0!important;
    z-index:120!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(35,23,18,.12)!important;
    background:rgba(255,255,255,.98)!important;
    box-shadow:0 7px 18px rgba(35,19,17,.07)!important;
    overflow:hidden!important;
  }
  body.hc-v15-header-fixed.hc-v8-representative .hc-v8-page-shell .hc-v8-page-nav,
  body.hc-v15-header-fixed .hc-v8-page-shell.hc-v8-page-shell .hc-v8-page-nav{
    top:calc(var(--hc-sticky-top) + var(--hc-header-height))!important;
  }
  body.hc-v8-representative .hc-v8-page-shell .hc-v8-page-nav>.hc-v8-shell,
  .hc-v8-page-shell.hc-v8-page-shell .hc-v8-page-nav>.hc-v8-shell{
    width:calc(100% - 28px)!important;
    min-height:50px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:6px 0!important;
    overflow:hidden!important;
  }
  .hc-v8-page-shell .hc-v8-page-nav-label{
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    font-size:10.5px!important;
    white-space:nowrap!important;
  }
  .hc-v8-page-shell .hc-v8-page-nav-links{
    display:flex!important;
    flex:1 1 auto!important;
    gap:7px!important;
    max-width:none!important;
    padding:2px 2px 3px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  .hc-v8-page-shell .hc-v8-page-nav-links::-webkit-scrollbar{display:none!important}
  .hc-v8-page-shell .hc-v8-page-nav-links a{
    flex:0 0 auto!important;
    min-height:36px!important;
    display:inline-flex!important;
    align-items:center!important;
    padding:0 11px!important;
    border:1px solid rgba(35,23,18,.14)!important;
    background:#fff!important;
    color:#5c514d!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    text-decoration:none!important;
  }
  .hc-v8-page-shell .hc-v8-page-nav-links a.is-current{
    border-color:#7c2d2a!important;
    background:#7c2d2a!important;
    color:#fff!important;
  }
  .hc-v8-page-shell .hc-v8-page-nav + .hc-v8-section{padding-top:44px!important}
  .hc-v8-page-shell [id]{scroll-margin-top:calc(var(--hc-sticky-top) + var(--hc-header-height) + 66px)}
}
@media(max-width:480px){
  .hc-v8-page-shell .hc-v8-page-nav-label{
    position:absolute!important;
    width:1px!important;height:1px!important;
    margin:-1px!important;padding:0!important;
    overflow:hidden!important;clip:rect(0 0 0 0)!important;
    white-space:nowrap!important;border:0!important;
  }
  .hc-v8-page-shell .hc-v8-page-nav-links{width:100%!important}
}

/* Better touch targets for frequently repeated disclosure components. */
@media(max-width:767px){
  .hc-v8-accordion summary,
  .hc-v7-accordion summary,
  .hc-v7-price-more summary,
  .hc-v7-compare-details summary{min-height:48px!important;display:flex!important;align-items:center!important}
}

/* Journal: persistent desktop contents, no nested scrollbar or repeated intro. */
.hc-jr-mobile-toc{display:none}
@media(min-width:981px){
  .hc-jr-toc{
    position:sticky!important;
    top:var(--hc-content-sticky-top)!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
  }
}
@media(max-width:980px){
  .hc-jr-mobile-toc{
    display:block;
    margin:0 0 24px;
    border:1px solid var(--jr-line);
    background:#fff;
  }
  .hc-jr-mobile-toc>summary{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:0 17px;
    color:var(--jr-red);
    font:800 12px/1.3 Montserrat,Inter,sans-serif;
    cursor:pointer;
    list-style:none;
  }
  .hc-jr-mobile-toc>summary::-webkit-details-marker{display:none}
  .hc-jr-mobile-toc[open]>summary span{transform:rotate(45deg)}
  .hc-jr-mobile-toc nav{border-top:1px solid var(--jr-line)}
  .hc-jr-mobile-toc ol{margin:0;padding:9px;list-style:none}
  .hc-jr-mobile-toc li{margin:0}
  .hc-jr-mobile-toc a{
    display:block;
    padding:10px 11px;
    border-left:2px solid transparent;
    color:var(--jr-muted);
    font-size:14px;
    line-height:1.45;
  }
  .hc-jr-mobile-toc li.is-sub a{padding-left:25px;font-size:13.5px}
  .hc-jr-mobile-toc a.is-current{border-left-color:var(--jr-red);color:var(--jr-red);font-weight:700}
}

/* Journal archive search is visible without replacing category browsing. */
.hc-jr-filters-inner{justify-content:space-between}
.hc-jr-filter-browse{min-width:0;display:flex;align-items:center;gap:20px;flex:1 1 auto}
.hc-jr-search{flex:0 0 286px;padding:10px 0}
.hc-jr-search label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hc-jr-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto}
.hc-jr-search input{width:100%;min-width:0;height:40px;padding:0 12px;border:1px solid var(--jr-line);border-right:0;background:#fff;color:var(--jr-ink);font:500 13px/1 Inter,Arial,sans-serif}
.hc-jr-search button{min-width:72px;height:40px;padding:0 12px;border:1px solid var(--jr-red);background:var(--jr-red);color:#fff;font:800 10px/1 Montserrat,Inter,sans-serif;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
.hc-jr-search input:focus-visible,.hc-jr-search button:focus-visible{outline:3px solid var(--jr-red);outline-offset:2px}
@media(max-width:980px){
  .hc-jr-filters-inner{display:block!important;padding:12px 0!important}
  .hc-jr-filter-browse{display:block}
  .hc-jr-search{width:100%;padding:8px 0 2px}
}

/* Lightweight review links replace full third-party widgets on secondary pages. */
.hc-v160-review-link{
  width:min(1160px,calc(100% - 48px));
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto;
  padding:0 22px;
  border:1px solid rgba(255,255,255,.42);
  color:#fff!important;
  background:transparent;
  font:800 11px/1.2 Montserrat,Inter,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none!important;
}
.hc-v160-review-link:hover{background:#fff;color:#7c2d2a!important}
@media(max-width:600px){.hc-v160-review-link{width:calc(100% - 30px);font-size:11px}}

/* Privacy-first, click-to-load map placeholder. */
.hc-v160-map-load{
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:32px;
  border:1px solid rgba(35,23,18,.14);
  background:#f3eee8;
  text-align:center;
}
.hc-v160-map-load p{max-width:52ch;margin:0;color:#5d5551}
.hc-v160-map-load button{
  min-height:46px;
  padding:0 20px;
  border:1px solid #7c2d2a;
  background:#7c2d2a;
  color:#fff;
  font:800 11px/1.2 Montserrat,Inter,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  cursor:pointer;
}
.hc-v160-map-load iframe{width:100%;min-height:360px;border:0}
.hc-v160-map-load.is-loaded{display:block;min-height:360px;padding:0;background:#fff}

/* Booking guidance around Amelia; no selectors target Amelia's own controls. */
.hc-v160-booking-terms{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:16px;
  align-items:start;
  margin:20px auto 28px;
  padding:18px 20px;
  border:1px solid rgba(35,23,18,.14);
  border-left:4px solid #7c2d2a;
  background:#fff;
}
.hc-v160-booking-terms strong{color:#211b19}
.hc-v160-booking-terms p{margin:3px 0 0;color:#615752;font-size:14px;line-height:1.6}
.hc-v160-booking-terms a{color:#7c2d2a;font-weight:700}
@media(max-width:600px){.hc-v160-booking-terms{display:block;margin-top:16px;padding:16px}.hc-v160-booking-terms p{font-size:13.5px}}

.hc-v160-date-note{margin-top:10px!important;font-size:13px!important}
.hc-v160-medical-source{display:inline;font-weight:700;color:#7c2d2a!important;text-decoration:underline!important;text-underline-offset:3px}
