/* Ottoman Research — Heritage Shop cart / checkout / account layout */
.orhs-commerce-page{background:#f7f2e9;color:#28251f}
.orhs-commerce-page main,
.orhs-commerce-page .site-main,
.orhs-commerce-page .content-area{min-width:0}

/* Keep WooCommerce transactional content on the same 1180px master grid as Heritage Shop. */
.orhs-commerce-page main .entry-content,
.orhs-commerce-page main .wp-block-post-content,
.orhs-commerce-page .site-main .entry-content,
.orhs-commerce-page .site-main .wp-block-post-content{
  width:min(1180px,calc(100% - 48px));
  max-width:1180px;
  margin-inline:auto!important;
  padding:68px 0 84px;
  box-sizing:border-box;
}

/* Neutralise alignwide/alignfull offsets created by the theme/Woo blocks inside these pages. */
.orhs-commerce-page main .entry-content .alignwide,
.orhs-commerce-page main .entry-content .alignfull,
.orhs-commerce-page main .wp-block-post-content .alignwide,
.orhs-commerce-page main .wp-block-post-content .alignfull,
.orhs-commerce-page main [class*="wp-block-woocommerce"]{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  box-sizing:border-box;
}

/* ---------- CART ---------- */
.orhs-cart-page .woocommerce,
.orhs-cart-page .wc-block-cart,
.orhs-cart-page .wp-block-woocommerce-empty-cart-block{
  width:100%;
  max-width:1180px;
  margin-inline:auto!important;
}

.orhs-cart-page .wp-block-woocommerce-empty-cart-block{
  text-align:center;
  padding-top:6px;
}

.orhs-cart-page .wp-block-woocommerce-empty-cart-block h2,
.orhs-cart-page .wp-block-woocommerce-empty-cart-block .wp-block-heading{
  color:#15352b;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  letter-spacing:-.025em;
}

/* Woo's empty-cart product recommendation block is allowed to be wide, but never off-canvas. */
.orhs-cart-page .wp-block-woocommerce-empty-cart-block > *,
.orhs-cart-page .wp-block-woocommerce-empty-cart-block [class*="product-new"],
.orhs-cart-page .wp-block-woocommerce-empty-cart-block [class*="product-collection"]{
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.orhs-cart-page ul.wc-block-product-template,
.orhs-cart-page ul.wc-block-grid__products,
.orhs-cart-page .wc-block-product-template,
.orhs-cart-page .wc-block-grid__products{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  max-width:100%!important;
  margin:28px 0 0!important;
  padding:0!important;
  list-style:none!important;
  box-sizing:border-box;
}

.orhs-cart-page .wc-block-product,
.orhs-cart-page .wc-block-grid__product,
.orhs-cart-page ul.wc-block-product-template > li,
.orhs-cart-page ul.wc-block-grid__products > li{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 22px!important;
  border:1px solid rgba(83,63,42,.15)!important;
  background:#fbf8f2;
  box-sizing:border-box!important;
  text-align:left;
}

.orhs-cart-page .wc-block-components-product-image,
.orhs-cart-page .wc-block-grid__product-image,
.orhs-cart-page .wc-block-components-product-image img,
.orhs-cart-page .wc-block-grid__product-image img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  display:block;
}

.orhs-cart-page .wc-block-components-product-name,
.orhs-cart-page .wc-block-grid__product-title,
.orhs-cart-page .wc-block-components-product-price,
.orhs-cart-page .wc-block-grid__product-price{
  display:block;
  margin-left:20px!important;
  margin-right:20px!important;
}
.orhs-cart-page .wc-block-components-product-name,
.orhs-cart-page .wc-block-grid__product-title{
  margin-top:18px!important;
  color:#28251f!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:1.08rem!important;
  line-height:1.3!important;
  text-decoration:none!important;
}
.orhs-cart-page .wc-block-components-product-price,
.orhs-cart-page .wc-block-grid__product-price{margin-top:10px!important;color:#28251f!important}

/* Normal cart-with-items blocks */
.orhs-cart-page .wc-block-cart__main,
.orhs-cart-page .wc-block-cart__sidebar{box-sizing:border-box}
.orhs-cart-page .wc-block-cart__sidebar{padding-left:28px}
.orhs-cart-page .wc-block-components-sidebar-layout{gap:32px}

/* ---------- MY ACCOUNT ---------- */
/*
 * Kadence/WooCommerce can add width/flex rules to the account navigation.
 * Use a deliberately explicit two-column flex shell here so the sidebar can
 * never collapse to a few pixels (which caused the username to render one
 * character per line in 1.2.2).
 */
.orhs-account-page .woocommerce{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:36px!important;
  width:100%!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  align-items:flex-start!important;
  box-sizing:border-box!important;
}
.orhs-account-page .woocommerce::before,
.orhs-account-page .woocommerce::after{display:none!important;content:none!important}

.orhs-account-page .woocommerce-MyAccount-navigation{
  float:none!important;
  flex:0 0 250px!important;
  width:250px!important;
  min-width:250px!important;
  max-width:250px!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(83,63,42,.15)!important;
  background:#f1e9dc!important;
  overflow:visible!important;
}
/* Prevent any theme account/user-label rule from forcing character-by-character wrapping. */
.orhs-account-page .woocommerce-MyAccount-navigation,
.orhs-account-page .woocommerce-MyAccount-navigation *{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  writing-mode:horizontal-tb!important;
}
.orhs-account-page .woocommerce-MyAccount-navigation ul{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:10px 0!important;
  list-style:none!important;
  box-sizing:border-box!important;
}
.orhs-account-page .woocommerce-MyAccount-navigation li{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid rgba(83,63,42,.11)!important;
  box-sizing:border-box!important;
}
.orhs-account-page .woocommerce-MyAccount-navigation li:last-child{border-bottom:0!important}
.orhs-account-page .woocommerce-MyAccount-navigation a{
  display:block!important;
  width:100%!important;
  padding:14px 18px!important;
  box-sizing:border-box!important;
  color:#302b24!important;
  text-decoration:none!important;
  font-weight:650!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.orhs-account-page .woocommerce-MyAccount-navigation .is-active a,
.orhs-account-page .woocommerce-MyAccount-navigation a:hover{background:#7a1e2d!important;color:#fff!important}

.orhs-account-page .woocommerce-MyAccount-content{
  float:none!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  min-height:340px!important;
  padding:34px 38px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(83,63,42,.15)!important;
  background:#fbf8f2!important;
  color:#403a32!important;
  overflow-wrap:break-word!important;
}
.orhs-account-page .woocommerce-MyAccount-content p:first-child{margin-top:0!important}
.orhs-account-page .woocommerce-MyAccount-content h2,
.orhs-account-page .woocommerce-MyAccount-content h3{
  color:#15352b!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-weight:400!important;
}
.orhs-account-page .woocommerce-MyAccount-content a{color:#7a1e2d!important}
.orhs-account-page .woocommerce-MyAccount-content table{width:100%!important;border-collapse:collapse!important;background:#fff!important}
.orhs-account-page .woocommerce-MyAccount-content th,
.orhs-account-page .woocommerce-MyAccount-content td{padding:12px 14px!important;border:1px solid rgba(83,63,42,.13)!important;text-align:left!important}

/* Some Kadence/Woo account variants add a user/profile block ahead of the links. */
.orhs-account-page .woocommerce-MyAccount-navigation img,
.orhs-account-page .woocommerce-MyAccount-navigation .avatar{
  max-width:48px!important;
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
}

/* ---------- CHECKOUT ---------- */
.orhs-checkout-page .woocommerce,
.orhs-checkout-page .wc-block-checkout{
  width:100%;
  max-width:1180px;
  margin-inline:auto!important;
}
.orhs-checkout-page .wc-block-components-sidebar-layout{gap:36px}
.orhs-checkout-page .wc-block-components-main,
.orhs-checkout-page .wc-block-components-sidebar{
  min-width:0;
  box-sizing:border-box;
}
.orhs-checkout-page .wc-block-components-sidebar{
  padding:28px!important;
  border:1px solid rgba(83,63,42,.15);
  background:#fbf8f2;
}

/* Buttons and form controls shared by transactional pages. */
.orhs-commerce-page .button,
.orhs-commerce-page button.button,
.orhs-commerce-page .wc-block-components-button{
  border-radius:0!important;
  background:#7a1e2d!important;
  color:#fff!important;
  border:1px solid #7a1e2d!important;
  font-weight:700!important;
}
.orhs-commerce-page input[type="text"],
.orhs-commerce-page input[type="email"],
.orhs-commerce-page input[type="tel"],
.orhs-commerce-page input[type="password"],
.orhs-commerce-page select,
.orhs-commerce-page textarea{
  border:1px solid rgba(83,63,42,.25)!important;
  background:#fff!important;
}

@media(max-width:980px){
  .orhs-cart-page ul.wc-block-product-template,
  .orhs-cart-page ul.wc-block-grid__products,
  .orhs-cart-page .wc-block-product-template,
  .orhs-cart-page .wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .orhs-account-page .woocommerce{gap:26px!important}
  .orhs-account-page .woocommerce-MyAccount-navigation{flex-basis:220px!important;width:220px!important;min-width:220px!important;max-width:220px!important}
  .orhs-account-page .woocommerce-MyAccount-content{padding:28px!important}
}

@media(max-width:700px){
  .orhs-commerce-page main .entry-content,
  .orhs-commerce-page main .wp-block-post-content,
  .orhs-commerce-page .site-main .entry-content,
  .orhs-commerce-page .site-main .wp-block-post-content{
    width:calc(100% - 32px);
    padding:44px 0 62px;
  }
  .orhs-cart-page ul.wc-block-product-template,
  .orhs-cart-page ul.wc-block-grid__products,
  .orhs-cart-page .wc-block-product-template,
  .orhs-cart-page .wc-block-grid__products{grid-template-columns:1fr!important}
  .orhs-account-page .woocommerce{display:block!important}
  .orhs-account-page .woocommerce-MyAccount-navigation{width:100%!important;min-width:0!important;max-width:none!important;margin-bottom:24px!important}
  .orhs-account-page .woocommerce-MyAccount-content{width:100%!important;padding:24px 20px!important}
  .orhs-cart-page .wc-block-cart__sidebar{padding-left:0}
}

/* ---------- MY ACCOUNT POLISH — 1.2.4 ---------- */
/* Give the account rail enough room for the signed-in name and keep it on one line. */
.orhs-account-page .woocommerce-MyAccount-navigation{
  flex-basis:290px!important;
  width:290px!important;
  min-width:290px!important;
  max-width:290px!important;
}
.orhs-account-page .woocommerce-MyAccount-navigation > *:not(ul),
.orhs-account-page .woocommerce-MyAccount-navigation > *:not(ul) *{
  max-width:100%!important;
  box-sizing:border-box!important;
}
.orhs-account-page .woocommerce-MyAccount-navigation > *:not(ul) span,
.orhs-account-page .woocommerce-MyAccount-navigation > *:not(ul) a,
.orhs-account-page .woocommerce-MyAccount-navigation > *:not(ul) strong,
.orhs-account-page .woocommerce-MyAccount-navigation > *:not(ul) p{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Orders / Downloads empty-state notices: restore a visible, compact CTA label. */
.orhs-account-page .woocommerce-info,
.orhs-account-page .woocommerce-message,
.orhs-account-page .woocommerce-error{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  min-height:62px!important;
  margin:0 0 24px!important;
  padding:16px 18px 16px 46px!important;
  box-sizing:border-box!important;
  line-height:1.45!important;
}
.orhs-account-page .woocommerce-info .button,
.orhs-account-page .woocommerce-message .button,
.orhs-account-page .woocommerce-error .button,
.orhs-account-page .woocommerce-info a.button,
.orhs-account-page .woocommerce-message a.button,
.orhs-account-page .woocommerce-error a.button{
  float:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:132px!important;
  max-width:none!important;
  height:auto!important;
  margin:0 0 0 auto!important;
  padding:12px 18px!important;
  background:#7a1e2d!important;
  border:1px solid #7a1e2d!important;
  color:#fff!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-family:inherit!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  text-indent:0!important;
  text-transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.orhs-account-page .woocommerce-info .button *,
.orhs-account-page .woocommerce-message .button *,
.orhs-account-page .woocommerce-error .button *{
  color:#fff!important;
  font-size:13px!important;
  line-height:1.2!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
}

/* Addresses endpoint: replace Woo's floated two-column layout with a stable grid. */
.orhs-account-page .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  margin:24px 0 0!important;
}
.orhs-account-page .woocommerce-Address,
.orhs-account-page .woocommerce-Addresses .col-1,
.orhs-account-page .woocommerce-Addresses .col-2{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:24px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(83,63,42,.14)!important;
  background:#fffdf9!important;
}
.orhs-account-page .woocommerce-Address-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 16px!important;
}
.orhs-account-page .woocommerce-Address-title::before,
.orhs-account-page .woocommerce-Address-title::after{
  display:none!important;
  content:none!important;
}
.orhs-account-page .woocommerce-Address-title h2,
.orhs-account-page .woocommerce-Addresses h2{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  color:#15352b!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:30px!important;
  line-height:1.08!important;
  font-weight:400!important;
  letter-spacing:-.02em!important;
}
.orhs-account-page .woocommerce-Address-title .edit{
  float:none!important;
  flex:0 0 auto!important;
  margin:7px 0 0!important;
  font-size:13px!important;
  line-height:1.35!important;
  white-space:nowrap!important;
}
.orhs-account-page .woocommerce-Address address{
  margin:0!important;
  color:#514a41!important;
  font-style:normal!important;
  line-height:1.65!important;
}

/* Account dashboard should read as a compact panel rather than an oversized empty box. */
.orhs-account-page .woocommerce-MyAccount-content{
  min-height:255px!important;
}
.orhs-account-page .woocommerce-MyAccount-content > :last-child{margin-bottom:0!important}

@media(max-width:980px){
  .orhs-account-page .woocommerce-MyAccount-navigation{
    flex-basis:250px!important;
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
  }
  .orhs-account-page .woocommerce-Addresses{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:700px){
  .orhs-account-page .woocommerce-MyAccount-navigation{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .orhs-account-page .woocommerce-info,
  .orhs-account-page .woocommerce-message,
  .orhs-account-page .woocommerce-error{
    display:block!important;
    padding:16px 18px 16px 42px!important;
  }
  .orhs-account-page .woocommerce-info .button,
  .orhs-account-page .woocommerce-message .button,
  .orhs-account-page .woocommerce-error .button{
    display:flex!important;
    width:100%!important;
    margin:14px 0 0!important;
  }
  .orhs-account-page .woocommerce-Address-title{
    display:block!important;
  }
  .orhs-account-page .woocommerce-Address-title .edit{
    display:inline-block!important;
    margin-top:10px!important;
  }
  .orhs-account-page .woocommerce-Address-title h2,
  .orhs-account-page .woocommerce-Addresses h2{
    font-size:27px!important;
  }
}
