/* ROOM65 icon system — local inline SVG <use> components, no font/CDN dependency.
   Shared by storefront, customer account, product pages and admin area. */
svg.ui-icon {
  display:inline-block;
  vertical-align:-.16em;
  width:20px;
  height:20px;
  flex:0 0 auto;
  color:inherit;
  fill:none;
  overflow:visible;
  pointer-events:none;
}
.ui-icon.icon-xs { width:13px; height:13px; }
.ui-icon.icon-sm { width:16px; height:16px; }
.ui-rating {
  display:inline-flex;
  align-items:center;
  gap:1px;
  line-height:1;
  font-size:17px;
  white-space:nowrap;
  letter-spacing:0;
  vertical-align:-.13em;
}
.ui-rating > .ui-rating-star {
  width:.95em;
  height:.95em;
  color:#bfc6d3;
}
.ui-rating > .ui-rating-star.is-filled { color:#e2b516; }
/* Storefront header/utility controls; preserve dimensions and existing focus style. */
.rh-header-icon .ui-icon.icon { transition:color .2s ease; }
.rh-search-close { display:grid;place-items:center;width:36px;height:36px;cursor:pointer; }
.rh-search-close .ui-icon { width:21px;height:21px; }
.rh-mobile-nav a .ui-icon { width:14px;height:14px;vertical-align:middle;margin-left:4px; }
.rh-footer-intro .rh-contact-link { display:flex;align-items:center;gap:8px;max-width:100%;width:max-content; }
.rh-footer-intro .rh-contact-link .ui-icon { width:15px;height:15px;color:var(--rh-gold,#c39b55); }
.rh-slider-arrow .ui-icon { width:21px;height:21px; }
.rh-promo-controls .rh-slider-arrow .ui-icon { width:16px;height:16px; }
.rh-pause-btn .ui-state-pause,.rh-pause-btn .ui-state-play { display:grid;place-items:center; }
.rh-pause-btn .ui-state-play { display:none; }
.rh-pause-btn[aria-pressed="true"] .ui-state-pause { display:none; }
.rh-pause-btn[aria-pressed="true"] .ui-state-play { display:grid; }
.rh-pause-btn .ui-icon { width:17px;height:17px; }
.rh-promo-controls .rh-pause-btn .ui-icon { width:14px;height:14px; }
.rh-homepage .rh-review-stars .ui-rating { font-size:15px; }
.rh-homepage .rh-review-stars .ui-icon { vertical-align:middle; }
.rh-homepage .rh-compare-row .ui-rating { font-size:13px; }
.rh-homepage .rh-seller-detail .ui-rating { font-size:13px; }
.rh-homepage .rh-review-summary .ui-rating { font-size:16px; }
.rh-homepage .rh-testimonial .ui-rating { font-size:14px;margin-right:6px; }
.rh-homepage .rh-trust-sparkles { display:inline-flex;gap:5px;align-items:center;color:var(--rh-gold,#ffbf36);margin-bottom:6px; }
.rh-homepage .rh-trust-sparkles .ui-icon { width:16px;height:16px; }
.rh-homepage .rh-trust-icon { width:17px;height:17px;color:var(--rh-gold,#ffbf36);margin-right:6px; }
/* Shop cards, small action buttons and empty states. */
.rh-catalog-card .rh-card-stars.ui-rating { display:inline-flex;font-size:20px;letter-spacing:0;gap:1px; }
.rh-catalog-card .rh-card-stars.ui-rating .ui-icon { width:.91em;height:.91em; }
.ui-empty-icon { display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;color:var(--gold,#bc914c);border:1px solid rgba(181,143,79,.19);border-radius:22px;background:rgba(255,255,255,.6); }
.empty-state > .ui-empty-icon .ui-icon {width:39px;height:39px;}
.sidebar-note>span .ui-icon { width:29px;height:29px;vertical-align:middle; }
.custom-pagination .ui-icon { width:16px;height:16px; }
.alert .alert-close { display:inline-grid;place-items:center;min-width:30px;min-height:30px; }
.alert .alert-close .ui-icon { width:16px;height:16px; }
.alert > .ui-icon { width:19px;height:19px; }
.stock-yes .ui-icon {width:15px;height:15px;vertical-align:-.22em;color:#247a51;}
.success-check .ui-icon { width:34px;height:34px; }
.tracking-step > span .ui-icon { width:17px;height:17px; }
/* Product detail: dimensions follow the reference UI; only artwork/alignments change. */
.rh-product-page .rh-product-zoom {display:grid;place-items:center;}
.rh-product-page .rh-product-zoom .ui-icon {width:21px;height:21px;}
.rh-product-page .rh-product-trail-actions a { display:inline-grid;place-items:center;width:24px;height:24px; }
.rh-product-page .rh-product-trail-actions .ui-icon { width:18px;height:18px; }
.rh-product-page .rh-assurance-lock {display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:#dceafb;color:#2e68c7;flex:none;}
.rh-product-page .rh-assurance-lock .ui-icon { width:17px;height:17px; }
.rh-product-page .rh-purchase-assurance li > .ui-icon {color:#2f72c9;width:16px;height:16px;margin-top:2px;}
.rh-product-page .rh-stock-available > .ui-icon {width:17px;height:17px;color:#2f72c9;vertical-align:-.13em;}
.rh-product-page .rh-product-secondary-actions button {display:inline-flex;align-items:center;gap:8px;}
.rh-product-page .rh-product-secondary-actions button .ui-icon {width:21px;height:21px;}
.rh-product-page .rh-copy-link .ui-icon {width:15px;height:15px;}
.rh-product-page .rh-copy-link {display:inline-flex;align-items:center;gap:5px;}
.rh-product-page .rh-lightbox-close {display:grid;place-items:center;}
.rh-product-page .rh-lightbox-close .ui-icon {width:23px;height:23px;}
.rh-product-page .rh-review-spotlight-arrow .ui-icon {width:18px;height:18px;}
.rh-product-page .rh-review-spotlight-stars.ui-rating {font-size:15px;gap:0;}
.rh-product-page .rh-product-stars.ui-rating {display:inline-flex;align-items:center;gap:1px;font-size:22px;letter-spacing:0;line-height:1;}
.rh-product-page .rh-product-stars.ui-rating.rh-unrated .ui-icon {color:#c4cad4;}
.rh-product-page .rh-customer-review-content .rh-product-stars.ui-rating {font-size:19px;}
.rh-product-page .rh-rating-bar-line .ui-icon {width:14px;height:14px;color:#e0b519;vertical-align:-.18em;}
.rh-product-page .rh-customer-id small .ui-icon {width:12px;height:12px;}
.rh-product-page .rh-editorial-kicker .ui-icon {width:15px;height:15px;color:#326ce3;vertical-align:-.27em;margin-right:7px;}
/* Customer account navigation & dashboard. */
.account-nav nav a {display:flex;align-items:center;gap:11px;}
.account-nav nav .account-nav-icon {width:18px;height:18px;color:#ac8452;}
.account-nav nav a:hover .account-nav-icon,.account-nav nav a.active .account-nav-icon {color:#22436b;}
.account-nav nav .account-nav-external {width:12px;height:12px;margin-left:auto;}
.account-logout {display:inline-flex;align-items:center;gap:7px;}
.account-logout .ui-icon {width:16px;height:16px;}
.account-summary-cards .account-summary-icon {display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f8f2e6;color:#ba8f4f;font-size:1rem;}
.account-summary-cards .account-summary-icon .ui-icon {width:25px;height:25px;}
/* Admin nav uses equal-sized outlines instead of arbitrary font glyphs. */
.admin-brand-mark .ui-icon {width:24px;height:24px;}
.admin-menu a .admin-nav-icon {width:19px;height:19px;color:#9daec3;transition:color .22s ease,transform .22s ease;}
.admin-menu a:hover .admin-nav-icon,.admin-menu a.active .admin-nav-icon {color:#edc27e;}
.admin-menu a:hover .admin-nav-icon {transform:translateY(-1px);}
.admin-topbar-links a,.admin-topbar-links button {display:inline-flex;align-items:center;gap:7px;}
.admin-topbar-links .ui-icon {width:14px;height:14px;}
.admin-btn .ui-icon {width:17px;height:17px;}
.quick-panel > a > .quick-action-name {display:inline-flex;align-items:center;gap:10px;flex:1;min-width:0;color:inherit;}
.quick-panel > a > .quick-action-name .ui-icon {width:17px;height:17px;color:#a77a3c;}
.quick-panel > a > span.attention {flex:none;}
.admin-alert {display:flex;align-items:flex-start;gap:9px;}
.admin-alert > .ui-icon {width:18px;height:18px;margin-top:1px;}
.admin-alert.success > .ui-icon {color:#28784b;}
.admin-alert.error > .ui-icon {color:#bd5147;}
/* Respect keyboard and system motion preferences. */
@media (prefers-reduced-motion: reduce) {
  .admin-menu a .admin-nav-icon,.rh-header-icon .ui-icon {transition:none;}
  .admin-menu a:hover .admin-nav-icon {transform:none;}
}
@media (max-width:850px) {
  .admin-menu a .admin-nav-icon {width:23px;height:23px;}
}
@media (max-width:520px) {
  .account-nav nav a {gap:7px;font-size:11px;}
  .account-nav nav .account-nav-icon {width:16px;height:16px;}
  .ui-empty-icon {width:64px;height:64px;}
}
.auth-benefit {display:flex;align-items:center;gap:10px;}
.auth-benefit > .ui-icon {width:18px;height:18px;color:#deba77;}
.subtle-remove {display:inline-flex;align-items:center;gap:5px;}
.subtle-remove > .ui-icon {width:14px;height:14px;}
.rh-product-page .ui-review-search {position:relative;display:block;}
.rh-product-page .ui-review-search > .ui-icon {position:absolute;left:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:#677b95;}
.rh-product-page .ui-review-search > input {padding-left:38px;}
.quick-panel > a > .quick-action-chevron {display:grid;place-items:center;flex:none;color:#b58d52;}
.quick-panel > a > .quick-action-chevron .ui-icon {width:16px;height:16px;}
.quantity-stepper > button {display:inline-grid;place-items:center;}
.quantity-stepper > button > .ui-icon {width:13px;height:13px;}
.rh-product-page .rh-product-quantity button > .ui-icon {width:12px;height:12px;}
