/* Ricky CSS Tweaks*/
.megaedit-preview #addToBasketButton {
    position: fixed;
    top: 1rem;
    right: 6rem;
}
html body .rawAttributeInfo__item table.table.child-item-table {
    display: table!important;
    width: 275px;
}

html body .rawAttributeInfo__item table.table.child-item-table tr {
    display: table-row!important;
    float: none!important;
    width: auto;
}
html body .rawAttributeInfo__item table.table.child-item-table thead {
    display:table-header-group!important
}
html body .rawAttributeInfo__item table.table.child-item-table tr th, 
html body .rawAttributeInfo__item table.table.child-item-table tr td {
    display: table-cell!important;
    white-space: nowrap!important;
    padding: 0.25rem!important;
    width: auto!important;
    float: none!important;
}
input[readonly="readonly"] {
    border: solid 1px #ccc !important;
}
@media screen and (max-width: 1471px) {
    .shoppingcart__wrapper .cartform .cartTableWrapper .cart tr td.cart--quantity, 
    .shoppingcart__wrapper .cartform .cartTableWrapper .cart tr td.cart--unitprice, 
    .shoppingcart__wrapper .cartform .cartTableWrapper .cart tr td.cart--itemtotal {
        max-width: 33%!important;
        width:33%!important;
    }
    .shoppingcart__wrapper .cartform .cartTableWrapper .cart tr.cart-item-row {
        flex-direction: row;
        flex-wrap: wrap;
    }
   
}
.shoppingcart__wrapper .cartform .cartTableWrapper .cart-item-row .cart--productinfo .rawAttributeInfo__item .value {
    width: auto;
    float: none;
}
.rawAttributeInfo__item .title {
    margin-bottom: 0px;
}

/* Trey CSS Tweaks*/
/* Make font inheritance work on both desktop and mobile */
.page-dynamicproduct-editor body *:not(.fal, .fa, .fas, .fab, .far, [style]),
html.mobile .page-dynamicproduct-editor body *:not(.fal, .fa, .fas, .fab, .far, [style]),
html[data-device="mobile"] .page-dynamicproduct-editor body *:not(.fal, .fa, .fas, .fab, .far, [style]),
.page-dynamicproduct-editor[data-mobile="true"] body *:not(.fal, .fa, .fas, .fab, .far, [style]) {
    font-family: inherit !important;
}

/* Ensure Font Awesome icons still use their proper font on all devices */
.page-dynamicproduct-editor body .fa, 
.page-dynamicproduct-editor body .fab, 
.page-dynamicproduct-editor body .fal, 
.page-dynamicproduct-editor body .far, 
.page-dynamicproduct-editor body .fas,
html.mobile .page-dynamicproduct-editor body .fa,
html.mobile .page-dynamicproduct-editor body .fab,
html.mobile .page-dynamicproduct-editor body .fal,
html.mobile .page-dynamicproduct-editor body .far,
html.mobile .page-dynamicproduct-editor body .fas,
html[data-device="mobile"] .page-dynamicproduct-editor body .fa,
html[data-device="mobile"] .page-dynamicproduct-editor body .fab,
html[data-device="mobile"] .page-dynamicproduct-editor body .fal,
html[data-device="mobile"] .page-dynamicproduct-editor body .far,
html[data-device="mobile"] .page-dynamicproduct-editor body .fas {
    font-family: "Font Awesome 5 Pro" !important;
}

/* ===== PortraitPress header guard (stops the global .open rotate) ===== */

/* If .open ever appears inside the header, neutralize it */
#pp-header .pp-has-sub.open { transform: none !important; }

/* Our real open state is .pp-open */
#pp-header .pp-has-sub.pp-open { transform: none !important; }

/* Extra belt-and-suspenders so dropdown text can't be rotated by any transform */
#pp-header .pp-submenu,
#pp-header .pp-submenu * {
  transform: none !important;
  rotate: 0deg !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/* ===== PortraitPress: suppress theme small-search everywhere ===== */
.search-box,
#small-searchterms,
#btn-small-search,
form[action*="/search"]:not(.pp-search-form) { display: none !important; }


/* PP_TODO_CSS_2026_05_04: mobile cart/checkout/order-summary readability. Rollback: remove this marked block and re-upload CSS. */
@media (max-width: 640px) {
  .cart table,
  .shoppingcart__wrapper table,
  .shopping-cart-page table,
  .order-summary-content table,
  .checkout-page table {
    width: 100% !important;
    table-layout: fixed;
  }

  .cart table th,
  .cart table td,
  .shoppingcart__wrapper table th,
  .shoppingcart__wrapper table td,
  .shopping-cart-page table th,
  .shopping-cart-page table td,
  .order-summary-content table th,
  .order-summary-content table td,
  .checkout-page table th,
  .checkout-page table td {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    padding-left: .35rem !important;
    padding-right: .35rem !important;
  }
}
/* /PP_TODO_CSS_2026_05_04 */

/* PP_TODO_CSS_2026_05_05: follow-up login/cart/checkout polish. Rollback: remove this marked block. */
.pp-password-wrap {
  display: flex !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}
.pp-password-wrap > input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}
.pp-password-toggle {
  flex: 0 0 auto !important;
  min-width: 4.75rem !important;
  border: 1px solid #c8d7e8 !important;
  border-left: 0 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #f7fbff !important;
  color: #005eb8 !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}
.pp-password-toggle:hover,
.pp-password-toggle:focus {
  background: #e7f2ff !important;
  outline: 2px solid #7fb9ef !important;
  outline-offset: 2px !important;
}
.pp-login-toggle,
.LoginPage .pp-login-toggle,
.login-page .pp-login-toggle {
  border: 0 !important;
  border-radius: 999px !important;
  background: #005eb8 !important;
  color: #fff !important;
  padding: 12px 18px !important;
  min-height: 44px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.pp-login-toggle:hover,
.pp-login-toggle:focus {
  background: #004f9e !important;
  color: #fff !important;
  outline: 3px solid rgba(0,94,184,.22) !important;
  outline-offset: 2px !important;
}
.pp-qty-wrap {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  max-width: none !important;
  min-width: 122px !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
}
.pp-qty-input,
.pp-qty-wrap input {
  width: 44px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 6px 4px !important;
  text-align: center !important;
  border: 1px solid #c8d7e8 !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}
.pp-qty-button {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  border: 1px solid #c8d7e8 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #005eb8 !important;
  font-size: 16px !important;
  line-height: 30px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
.pp-qty-button:hover,
.pp-qty-button:focus {
  background: #e7f2ff !important;
  outline: 2px solid rgba(0,94,184,.24) !important;
  outline-offset: 1px !important;
}
td:has(.pp-qty-wrap),
.cart td:has(.pp-qty-wrap),
.shopping-cart-page td:has(.pp-qty-wrap) {
  min-width: 145px !important;
  overflow: visible !important;
}
.pp-address-validation-link {
  display: inline-block !important;
  margin-left: 6px !important;
  font-size: 0.92rem !important;
}
.pp-address-validation-link a {
  color: #005eb8 !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}
.pp-empty-cart-recs {
  margin: 28px auto 8px !important;
  padding: 26px !important;
  border: 1px solid #c8d7e8 !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg,#f6fbff 0%,#ffffff 58%,#eef7ff 100%) !important;
  box-shadow: 0 14px 36px rgba(0,55,105,.10) !important;
}
.pp-empty-cart-recs__eyebrow {
  color: #005eb8 !important;
  font-size: 0.82rem !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.pp-empty-cart-recs h2 {
  margin: 6px 0 6px !important;
  color: #12384f !important;
}
.pp-empty-cart-recs p {
  margin: 0 0 18px !important;
  color: #31576b !important;
}
.pp-empty-cart-recs__grid {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 12px !important;
}
.pp-empty-cart-recs__grid a {
  display: block !important;
  padding: 16px !important;
  border: 1px solid #c8d7e8 !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #12384f !important;
  text-decoration: none !important;
}
.pp-empty-cart-recs__grid a:hover,
.pp-empty-cart-recs__grid a:focus {
  border-color: #005eb8 !important;
  box-shadow: 0 8px 20px rgba(0,94,184,.14) !important;
  outline: none !important;
}
.pp-empty-cart-recs__grid strong,
.pp-empty-cart-recs__grid span {
  display: block !important;
}
.pp-empty-cart-recs__grid strong {
  color: #005eb8 !important;
  margin-bottom: 5px !important;
}
@media (max-width: 720px) {
  .pp-empty-cart-recs__grid { grid-template-columns: 1fr !important; }
  .pp-qty-wrap { min-width: 116px !important; }
}
/* /PP_TODO_CSS_2026_05_05 */
