/* 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 */

/* PP_MOBILE_CART_ADMIN_HOTFIX_2026_05_12 */
@media (max-width: 1080px) {
  button[aria-label="Show layout administration panel"],
  button[aria-label="Show content overlay"] {
    position: fixed !important;
    left: 12px !important;
    z-index: 100000 !important;
  }
  button[aria-label="Show layout administration panel"] { bottom: calc(env(safe-area-inset-bottom, 0px) + 112px) !important; }
  button[aria-label="Show content overlay"] { bottom: calc(env(safe-area-inset-bottom, 0px) + 168px) !important; }

  #pp-mpanel .pp-container { display: grid !important; grid-template-rows: auto minmax(0, 1fr) auto !important; }
  #pp-mpanel .pp-mobile-utilities {
    width: max-content !important;
    margin-top: auto !important;
    margin-left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
    text-align: right !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
  }
  #pp-mpanel .pp-mobile-utilities a {
    display: inline-flex !important;
    justify-content: flex-end !important;
    width: auto !important;
  }

  #pp-newsletter-open,
  .pp-newsletter-fab {
    bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 24px)) !important;
  }
  .shopping-cart-page #pp-newsletter-open,
  .shopping-cart-page .pp-newsletter-fab,
  .checkout-page #pp-newsletter-open,
  .checkout-page .pp-newsletter-fab {
    bottom: max(88px, calc(env(safe-area-inset-bottom, 0px) + 88px)) !important;
  }

  #pp-top-actions .adminbutton svg {
    display: none !important;
  }
  #pp-top-actions .adminbutton::before {
    content: "⚙";
    font-size: 18px;
    line-height: 1;
    margin-right: 8px;
  }
}

@media (max-width: 640px) {
  .shopping-cart-page table.cart td::before,
  .shopping-cart-page .cart table td::before,
  .shopping-cart-page .order-summary-content > table:first-of-type td::before {
    content: none !important;
    display: none !important;
  }

  .shopping-cart-page table.cart,
  .shopping-cart-page .cart table,
  .shopping-cart-page .order-summary-content > table:first-of-type {
    width: 100% !important;
    table-layout: auto !important;
  }

  .shopping-cart-page table.cart tbody,
  .shopping-cart-page .cart table tbody {
    display: block;
  }

  .shopping-cart-page table.cart tbody tr,
  .shopping-cart-page .cart table tbody tr {
    display: grid !important;
    grid-template-columns: minmax(88px, 104px) minmax(0, 1fr);
    grid-template-areas:
      "image product"
      "price qty"
      "total total"
      "actions actions";
    gap: 14px 16px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid #dfe8f3;
    border-radius: 18px;
    background: #f8fbff;
  }

  .shopping-cart-page table.cart tbody td,
  .shopping-cart-page .cart table tbody td {
    display: block !important;
    width: auto !important;
    min-width: 0;
    padding: 0 !important;
    border: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .shopping-cart-page table.cart tbody td:nth-child(1),
  .shopping-cart-page .cart table tbody td:nth-child(1) { grid-area: actions; }
  .shopping-cart-page table.cart tbody td:nth-child(2),
  .shopping-cart-page .cart table tbody td:nth-child(2),
  .shopping-cart-page table.cart .product-picture,
  .shopping-cart-page .cart table .product-picture { grid-area: image; }
  .shopping-cart-page table.cart tbody td:nth-child(3),
  .shopping-cart-page .cart table tbody td:nth-child(3),
  .shopping-cart-page table.cart .product,
  .shopping-cart-page .cart table .product { grid-area: product; min-width: 0; }
  .shopping-cart-page table.cart tbody td:nth-child(4),
  .shopping-cart-page .cart table tbody td:nth-child(4),
  .shopping-cart-page table.cart .unit-price,
  .shopping-cart-page .cart table .unit-price { grid-area: price; }
  .shopping-cart-page table.cart tbody td:nth-child(5),
  .shopping-cart-page .cart table tbody td:nth-child(5),
  .shopping-cart-page table.cart .quantity,
  .shopping-cart-page .cart table .quantity { grid-area: qty; }
  .shopping-cart-page table.cart tbody td:nth-child(6),
  .shopping-cart-page .cart table tbody td:nth-child(6),
  .shopping-cart-page table.cart .subtotal,
  .shopping-cart-page .cart table .subtotal { grid-area: total; }

  .shopping-cart-page table.cart .product-picture,
  .shopping-cart-page .cart table .product-picture { display: block !important; }
  .shopping-cart-page table.cart .product-picture img,
  .shopping-cart-page .cart table .product-picture img {
    width: 100%;
    max-width: 104px;
    height: auto;
    display: block;
  }

  .shopping-cart-page .coupon-box input[type="text"],
  .shopping-cart-page .coupon-box input[type="email"],
  .shopping-cart-page .giftcard-box input[type="text"],
  .shopping-cart-page [aria-label="discount coupon code input"],
  .shopping-cart-page .discount-coupon-code,
  .shopping-cart-page .gift-card-coupon-code {
    width: 100% !important;
    max-width: none !important;
    min-height: 44px;
  }

  .shopping-cart-page .coupon-box .buttons,
  .shopping-cart-page .giftcard-box .buttons,
  .shopping-cart-page .coupon-box .coupon-code,
  .shopping-cart-page .giftcard-box .coupon-code {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
  }

  .shopping-cart-page .coupon-box button,
  .shopping-cart-page .giftcard-box button,
  .shopping-cart-page .coupon-box input[type="submit"],
  .shopping-cart-page .giftcard-box input[type="submit"] {
    width: 100%;
    min-height: 48px;
    margin: 0;
  }
}
/* /PP_MOBILE_CART_ADMIN_HOTFIX_2026_05_12 */

/* PP_MOBILE_CART_FINAL_2026_05_12 */
@media (max-width: 767px) {
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart > tbody {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
  }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    padding: 10px !important;
  }

  /* Keep product details first and actions last in mobile card */
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.productpicture,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.cart--pictures { order: 1 !important; }
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.product,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.cart--productinfo { order: 2 !important; }
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.cart--unitprice { order: 3 !important; }
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.cart--quantity { order: 4 !important; }
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.cart--itemtotal,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.end { order: 5 !important; }
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td.cart--actions { order: 6 !important; }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row td::before,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart tr.cart-item-row th::before {
    content: none !important;
    display: none !important;
  }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart td.cart--actions .button {
    width: min(220px, 100%) !important;
    margin-bottom: 8px !important;
  }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cartform .cartTableWrapper table.cart td.cart--pictures img {
    width: 100% !important;
    max-width: 104px !important;
    height: auto !important;
    display: block !important;
  }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cart-footer .deals .coupon-box__wrapper .coupon-box__input,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cart-footer .deals .giftcard-box__wrapper .giftcard-box__input {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  html.page-shoppingcart-cart .shoppingcart__wrapper .cart-footer .deals .coupon-box__wrapper input,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cart-footer .deals .giftcard-box__wrapper input,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cart-footer .deals .coupon-box__wrapper button,
  html.page-shoppingcart-cart .shoppingcart__wrapper .cart-footer .deals .giftcard-box__wrapper button {
    width: 100% !important;
    max-width: none !important;
    min-height: 44px !important;
    margin: 0 !important;
  }
}

@media (max-width: 1080px) {
  button[aria-label="Show layout administration panel"] { bottom: calc(env(safe-area-inset-bottom, 0px) + 112px) !important; left: 12px !important; z-index: 100000 !important; }
  button[aria-label="Show content overlay"] { bottom: calc(env(safe-area-inset-bottom, 0px) + 168px) !important; left: 12px !important; z-index: 100000 !important; }

  #pp-newsletter-open, .pp-newsletter-fab {
    bottom: max(24px, calc(env(safe-area-inset-bottom, 0px) + 24px)) !important;
  }
  html.page-shoppingcart-cart #pp-newsletter-open,
  html.page-shoppingcart-cart .pp-newsletter-fab,
  html.CheckoutPage #pp-newsletter-open,
  html.CheckoutPage .pp-newsletter-fab {
    bottom: max(88px, calc(env(safe-area-inset-bottom, 0px) + 88px)) !important;
  }
}
/* /PP_MOBILE_CART_FINAL_2026_05_12 */

/* PP_HEADER_AUTH_GRID_2026_05_12 */
/* Keep auth state correct: never show both login and logout */
#pp-top-actions a.is-hidden,
#pp-mpanel .pp-mobile-utilities a.is-hidden {
  display: none !important;
}
#pp-top-actions a.is-shown,
#pp-mpanel .pp-mobile-utilities a.is-shown {
  display: inline-flex !important;
}

/* Revert pseudo cog injection and use actual admin icon/link rendering */
#pp-top-actions .adminbutton::before,
#pp-mpanel .adminbutton::before {
  content: none !important;
  display: none !important;
}
#pp-top-actions .adminbutton svg {
  display: inline-block !important;
}

/* Mobile utility links in a stable 3-column strip: account | admin | auth */
@media (max-width: 1080px) {
  #pp-mpanel .pp-mobile-utilities {
    width: 100% !important;
    margin-top: auto !important;
    margin-left: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: center !important;
    justify-items: stretch !important;
    text-align: center !important;
    padding-bottom: calc(env(safe-area-inset-bottom, 0px) + 8px) !important;
  }

  #pp-mpanel .pp-mobile-utilities a {
    min-height: 40px !important;
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
  }

  #pp-mpanel .pp-mobile-utilities a[href*='/customer/info'] { grid-column: 1 !important; }
  #pp-mpanel .pp-mobile-utilities a[href*='/Admin'] { grid-column: 2 !important; }
  #pp-mpanel .pp-mobile-utilities a[href*='/logout'],
  #pp-mpanel .pp-mobile-utilities a[href*='/login'] { grid-column: 3 !important; }
}
/* /PP_HEADER_AUTH_GRID_2026_05_12 */
