/* Royal 1.0.71: focused repairs from the mobile audit, 22 October 2026. */
.royal-finder-dialog a.finder-next,
.royal-finder-dialog a.finder-next:is(:visited,:hover,:focus,:active) {
  color:#fff!important; -webkit-text-fill-color:#fff!important;
  background:#172139!important; text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center;
}
.royal-finder-dialog :is(a,button,select):focus-visible { outline:3px solid #4264d7; outline-offset:3px; }
.finder-fields :is(select,input) { width:100%; min-width:0; font-size:16px; }
.finder-fields .royal-finder-actions { grid-column:1/-1; }
.rhc-mobile-status { display:none; }
.rhc-mobile-contents > summary { display:none; }

@media(max-width:921px) {
  /* The existing controls stay in document flow; their original handlers remain. */
  .rhc-mobile-status { display:flex; justify-content:flex-end; align-items:center; gap:8px; padding:6px 14px 10px; background:#fff; }
  .rhc-mobile-status:empty { display:none; }
  .rhc-mobile-status .rhc-test-corner,
  .rhc-mobile-status #cmplz-manage-consent { position:static!important; inset:auto!important; width:auto!important; height:auto!important; transform:none!important; margin:0!important; padding:0!important; }
  .rhc-mobile-status .rhc-test-corner[hidden] { display:none!important; }
  .rhc-mobile-status .rhc-test-ribbon,
  .rhc-mobile-status #cmplz-manage-consent .cmplz-manage-consent {
    position:static!important; inset:auto!important; transform:none!important; translate:none!important;
    width:auto!important; height:auto!important; min-height:44px!important; min-width:44px!important;
    padding:8px 11px!important; margin:0!important; border:1px solid #d8dce5!important;
    border-radius:8px!important; box-shadow:none!important; text-indent:0!important;
    font:600 11px/1.35 system-ui,sans-serif!important; letter-spacing:0!important;
    white-space:normal!important; text-transform:none!important; overflow:visible!important;
  }
  .rhc-mobile-status .rhc-test-ribbon { background:#172139!important; color:#ead18d!important; }
  .rhc-mobile-status .rhc-test-ribbon::before,
  .rhc-mobile-status .rhc-test-ribbon::after { display:none!important; }
  .rhc-mobile-status #cmplz-manage-consent .cmplz-manage-consent { color:#172139!important; background:#f7f8fb!important; }
  /* Woo's staff-only preview reminder remains visible below the page, in flow. */
  #coming-soon-footer-banner { position:relative!important; inset:auto!important; transform:none!important; width:100%!important; box-sizing:border-box; }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-desktop-header .rhc-discovery {
    width:100%; box-sizing:border-box; padding:0 16px 12px;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated .rhc-discovery-menu__panel { max-height:calc(100dvh - 24px); }
  .rhc-header-enabled #masthead #ast-mobile-header .ast-builder-grid-row { grid-template-columns:minmax(0,1fr) max-content!important; column-gap:8px!important; }
  .rhc-header-enabled #masthead #ast-mobile-header .site-header-primary-section-left { min-width:0; }
  .rhc-header-enabled #masthead #ast-mobile-header .site-header-primary-section-right { flex-wrap:nowrap!important; gap:4px!important; }
  .rhc-header-enabled #masthead #ast-mobile-header .custom-logo-link img { max-width:100%!important; }
  .rhc-catalog-mobile-tools { gap:8px!important; margin-bottom:8px!important; }
  .rhc-catalog-mobile-tools > button { flex:1; min-height:44px; }
  .rhc-catalog-results .woocommerce-ordering { float:none!important; width:100%; margin:0 0 12px!important; }
  .rhc-catalog-results .woocommerce-ordering select { width:100%; max-width:100%; min-height:44px; font-size:16px; }
}
@media(max-width:767px) {
  .rhc-editorial-page .rhc-editorial-hero__inner { padding:24px 18px!important; }
  .rhc-editorial-page .rhc-editorial-hero__title { font-size:clamp(27px,7vw,34px)!important; line-height:1.18!important; overflow-wrap:anywhere; }
  .rhc-editorial-page .rhc-editorial-hero__subtitle { margin-top:12px!important; font-size:16px!important; line-height:1.5; }
  .rhc-editorial-page .rhc-editorial-layout { padding:20px 18px 40px!important; gap:24px!important; }
  .rhc-editorial-page .rhc-editorial-sidebar { padding:0!important; margin:0!important; border:0!important; }
  .rhc-mobile-contents { border:1px solid #dce2eb; border-radius:10px; background:#f8fafc; padding:0 12px; }
  .rhc-mobile-contents > summary { display:list-item; cursor:pointer; padding:12px 0; min-height:44px; box-sizing:border-box; color:#172139; font-size:15px; font-weight:650; }
  .rhc-mobile-contents .rhc-editorial-nav { padding-bottom:12px; }
  .rhc-mobile-contents .rhc-editorial-sidebar__help { margin-top:0; padding-top:12px; }
  .rhc-mobile-contents a { min-height:44px; display:flex; align-items:center; }
  .rhc-category-ui .rhc-catalog-intro { margin-bottom:12px!important; padding-block:16px!important; }
  .rhc-category-ui .rhc-catalog-intro h1 { font-size:28px!important; margin-bottom:8px!important; }
  .rhc-category-ui .rhc-catalog-intro p { font-size:14px!important; margin:0!important; }
}
@media(max-width:600px) {
  /* A cart total cell forced visible by the theme created a fourth implicit column. */
  body.woocommerce-cart #content > .ast-container { padding-inline:12px!important; }
  body.woocommerce-cart .ast-article-single { padding:18px 12px!important; }
  body.woocommerce-cart .wp-block-woocommerce-cart,
  body.woocommerce-cart .wc-block-components-main { min-width:0!important; max-width:100%; }
  body.woocommerce-cart table.wc-block-cart-items,
  body.woocommerce-cart .wc-block-cart-items tbody { display:block!important; width:100%!important; max-width:100%!important; }
  body.woocommerce-cart .wc-block-cart-items thead { display:none!important; }
  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row { display:grid!important; grid-template-columns:64px minmax(0,1fr)!important; column-gap:12px!important; width:100%!important; max-width:100%!important; }
  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image { grid-column:1!important; grid-row:1!important; padding:0!important; min-width:0; }
  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__product { grid-column:2!important; grid-row:1!important; min-width:0!important; padding:0!important; overflow-wrap:anywhere; }
  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__total { display:none!important; }
  body.woocommerce-cart .wc-block-components-totals-coupon__form { display:flex; flex-wrap:wrap; gap:8px; }
  body.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input { min-width:0; flex:1 1 140px; }
  body.woocommerce-cart :is(input,textarea) { font-size:16px!important; max-width:100%; }
  /* Preserve the existing product orbit, in a shorter mobile scene. */
  html body #page #content .rhc-modern-hero[data-royal-orbit] { height:500px!important; min-height:500px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .rhc-modern-hero__text { width:calc(100% - 40px)!important; max-width:290px!important; top:-100px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] h1 { font-size:28px!important; margin-bottom:12px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] p { font-size:14px!important; margin-bottom:14px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions { flex-direction:row!important; gap:8px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions > * { font-size:13px!important; padding-inline:12px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-product { top:73%!important; width:82px!important; height:82px!important; }
  .royal-orbit-path { top:73%!important; height:150px!important; width:calc(100% - 110px)!important; }
  html body .royal-orbit-toggle { z-index:65; bottom:8px; }
}
@media(max-width:360px) {
  .rhc-header-enabled #masthead #ast-mobile-header .rhc-header-account-link { font-size:0!important; gap:0!important; width:44px!important; min-width:44px!important; justify-content:center; padding:0!important; }
  .rhc-header-enabled #masthead #ast-mobile-header .rhc-header-account-link .dashicons { display:inline-block!important; font-size:20px!important; }
  .rhc-header-enabled #masthead #ast-mobile-header .custom-logo-link img { width:120px!important; max-width:100%!important; }
  .rhc-header-enabled #masthead #ast-mobile-header .ast-container { padding-inline:12px!important; }
}
@media(min-width:601px) and (max-width:921px) {
  html body #page #content .rhc-modern-hero[data-royal-orbit] { height:540px!important; min-height:540px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .rhc-modern-hero__text { top:-100px!important; }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-product { top:66%!important; width:96px!important; height:96px!important; }
  .royal-orbit-path { top:66%!important; height:130px!important; }
}
@media(max-width:921px) and (max-height:480px) {
  .rhc-header-enabled #masthead #ast-desktop-header .ast-primary-header-bar .ast-container { padding-block:8px!important; }
  .rhc-header-enabled #masthead #ast-desktop-header .custom-logo-link img { width:140px!important; max-width:140px!important; }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-desktop-header .rhc-discovery { padding-bottom:6px; }
}

/* Royal mobile correction draft, 23 October 2026. Existing components only. */
/* A missing price must not leave the primary action halfway up the card. */
body.rhc-experience.home .rhc-home-main .rhc-product-row ul.products.rhc-product-row__track > li.product .astra-shop-summary-wrap:not(:has(.price)) > .button {
  margin-top:auto!important;
}
.rhc-header-enabled #masthead.rhc-header-integrated .rhc-discovery-menu__panel a:is(:hover,:focus,:active,[aria-current="page"]) {
  color:#173d73!important;
  -webkit-text-fill-color:#173d73!important;
  background:#edf3fc!important;
}

@media(max-width:921px) {
  /* The same account and cart remain directly available in the header. */
  .rhc-header-enabled #masthead #ast-mobile-header .ast-mobile-header-content .ast-header-html:has(.rhc-header-account-link),
  .rhc-header-enabled #masthead #ast-mobile-header .ast-mobile-header-content .ast-header-button-1:has(.rhc-header-cart-link) {
    display:none!important;
  }
  .rhc-header-enabled #masthead #ast-mobile-header .ast-mobile-header-content {
    padding:0 12px 8px!important;
  }
  .rhc-header-enabled #masthead #ast-mobile-header .ast-mobile-header-content .main-header-menu > .menu-item > .menu-link {
    min-height:44px;
    padding:10px 12px!important;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-mobile-header .ast-primary-header-bar {
    min-height:56px!important;
    padding:4px 12px!important;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-mobile-header .rhc-discovery {
    padding:2px 12px 8px!important;
  }
  .rhc-mobile-status {
    position:relative;
    z-index:0;
    isolation:isolate;
    padding:2px 12px 4px!important;
    gap:6px;
  }
  .rhc-mobile-status .rhc-test-ribbon,
  .rhc-mobile-status #cmplz-manage-consent .cmplz-manage-consent {
    padding:6px 9px!important;
    min-height:44px!important;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated .rhc-discovery-menu__panel {
    max-height:calc(100dvh - var(--rhc-menu-top,120px) - 12px)!important;
    overscroll-behavior:contain;
  }
}

@media(max-width:600px) {
  /* The copy stays in normal grid flow, including at larger text sizes. */
  html body #page #content .rhc-modern-hero[data-royal-orbit] {
    height:auto!important;
    min-height:360px!important;
    grid-template-rows:auto 140px 44px!important;
    align-content:start!important;
    padding:20px 18px 10px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .rhc-modern-hero__text {
    grid-row:1;
    align-self:start;
    top:auto!important;
    width:100%!important;
    max-width:100%!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] h1 {
    font-size:26px!important;
    line-height:1.16!important;
    margin-bottom:10px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] p {
    font-size:14px!important;
    line-height:1.45!important;
    margin-bottom:12px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions {
    gap:8px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions > * {
    min-height:44px!important;
    padding:10px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-product {
    top:calc(100% - 122px)!important;
    width:80px!important;
    height:80px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-path {
    top:calc(100% - 122px)!important;
    height:34px!important;
    width:calc(100% - 100px)!important;
  }
  html body .royal-orbit-toggle {
    bottom:8px!important;
    min-height:44px!important;
  }
}

@media(max-width:360px) {
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions > * {
    width:100%!important;
    min-width:0;
    box-sizing:border-box;
    padding:8px!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
}

@media(min-width:601px) and (max-width:921px) {
  html body #page #content .rhc-modern-hero[data-royal-orbit] {
    height:420px!important;
    min-height:420px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .rhc-modern-hero__text {
    width:calc(100% - 64px)!important;
    max-width:480px!important;
    top:-75px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-product {
    top:calc(100% - 138px)!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-path {
    top:calc(100% - 138px)!important;
    height:36px!important;
  }
}

/* Royal 1.0.74 draft, 23 October 2026: short landscape and touch controls. */
@media(max-width:921px) {
  body.rhc-category-ui .rhc-catalog-mobile-tools {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.rhc-category-ui .rhc-catalog-results .woocommerce-ordering select {
    font-size:16px!important;
    min-height:44px;
  }
  body.single-product .variations_form .reset_variations {
    display:inline-flex!important;
    align-items:center;
    min-height:44px!important;
    max-width:100%;
    box-sizing:border-box;
    padding:8px 0!important;
    font-size:14px!important;
    line-height:1.4!important;
  }
}

@media(max-width:600px) {
  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs {
    display:flex!important;
    flex-wrap:wrap;
    align-items:stretch;
    gap:6px!important;
    overflow:visible!important;
  }
  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li {
    min-width:0;
    flex:1 1 120px;
    width:auto!important;
  }
  body.single-product.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    min-height:44px;
    box-sizing:border-box;
    padding:8px 4px!important;
    font-size:14px;
    line-height:1.35;
    text-align:center;
    white-space:normal;
    overflow-wrap:normal;
  }
}

@media(max-width:1024px) and (max-height:500px) and (orientation:landscape) {
  /* Leave more room for the page on phones turned sideways. */
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-desktop-header .ast-primary-header-bar .ast-container {
    min-height:56px!important;
    padding:4px 16px!important;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-desktop-header .custom-logo-link img {
    width:140px!important;
    max-width:140px!important;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-desktop-header [data-section=title_tagline] {
    flex-basis:140px;
  }
  .rhc-header-enabled #masthead.rhc-header-integrated #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
    min-height:44px;
    padding:10px 0!important;
    line-height:1.4!important;
  }
  .rhc-header-enabled #masthead .rhc-offer-bar {
    display:none!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] {
    height:auto!important;
    min-height:340px!important;
    grid-template-rows:auto 100px 44px!important;
    align-content:start!important;
    padding:18px 24px 10px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .rhc-modern-hero__text {
    grid-row:1;
    align-self:start;
    top:auto!important;
    width:100%!important;
    max-width:600px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] h1 {
    font-size:28px!important;
    line-height:1.16!important;
    margin-bottom:10px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] p {
    font-size:14px!important;
    line-height:1.45!important;
    margin-bottom:12px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-hero-actions > * {
    min-height:44px!important;
    padding:10px 14px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-product {
    top:calc(100% - 110px)!important;
    width:80px!important;
    height:80px!important;
  }
  html body #page #content .rhc-modern-hero[data-royal-orbit] .royal-orbit-path {
    top:calc(100% - 110px)!important;
    height:34px!important;
  }
}
