/* IRTH — quick view, bag drawer and shared commerce bits. Loaded on every page when WooCommerce is active. */
.irth-cart, .irth-qv { --btn-bg: #C29B3C; --btn-fg: #262524; font-family: var(--irth-f-sans, sans-serif); color: var(--irth-cream, #F0E6DA); }
.irth-hairline { display: block; height: 1px; background: linear-gradient(90deg, rgba(194,155,60,0) 0%, #C29B3C 18%, #C29B3C 82%, rgba(194,155,60,0) 100%); }
.irth-btn--outline { background: transparent; color: #C29B3C; box-shadow: inset 0 0 0 1px #C29B3C; }
.irth-btn--outline:hover { background: #C29B3C; color: #262524; }
.irth-xbtn { width: 42px; height: 42px; border: 0; border-radius: 50%; padding: 0; background: transparent; color: #CFC2B0; box-shadow: inset 0 0 0 1px #5A5248; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; line-height: 1; transition: background .22s ease, color .22s ease; }
.irth-xbtn:hover { background: #C29B3C; color: #262524; box-shadow: none; }
.irth-qty { display: inline-flex; align-items: center; height: 50px; box-shadow: inset 0 0 0 1px #5A5248; }
.irth-qty button { width: 46px; height: 100%; border: 0; background: transparent; color: #C29B3C; font-size: 17px; line-height: 1; cursor: pointer; transition: background .2s ease; }
.irth-qty button:hover { background: rgba(194,155,60,.12); }
.irth-qty span { min-width: 40px; text-align: center; font-size: 15px; color: #F0E6DA; }

/* ---------- Quick view ---------- */
.irth-qv { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; visibility: hidden; opacity: 0; transition: opacity .28s ease, visibility .28s; }
.irth-qv.is-open { visibility: visible; opacity: 1; }
.irth-qv__scrim { position: absolute; inset: 0; background: rgba(14,11,10,.78); backdrop-filter: blur(2px); }
.irth-qv__panel { position: relative; z-index: 2; width: 1040px; max-width: 94%; max-height: 92vh; overflow: auto; display: grid; grid-template-columns: 420px minmax(0, 1fr); background: #2A2724; box-shadow: 0 50px 110px -40px rgba(0,0,0,.92), inset 0 0 0 1px rgba(194,155,60,.22); transform: translateY(10px); transition: transform .3s var(--irth-ease, ease); }
.irth-qv.is-open .irth-qv__panel { transform: none; }
.irth-qv__panel.has-lattice::before { content: none; }
.irth-qv__panel { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23C29B3C' stroke-opacity='0.16' stroke-width='1'%3E%3Cpath d='M60 18 L102 60 L60 102 L18 60 Z'/%3E%3Cpath d='M32 32 H88 V88 H32 Z'/%3E%3Cpath d='M0 0 L32 32 M120 0 L88 32 M0 120 L32 88 M120 120 L88 88'/%3E%3Cpath d='M60 0 V18 M60 102 V120 M0 60 H18 M102 60 H120'/%3E%3C/g%3E%3C/svg%3E"); background-size: 120px 120px; }
.irth-qv__img { z-index: 0; }
.irth-qv__img { position: relative; background: linear-gradient(180deg, #4A2320 0%, #331F1D 55%, #2A1F1C 100%); min-height: 420px; }
.irth-qv__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.irth-qv__body { position: relative; padding: 40px 44px; display: flex; flex-direction: column; }
.irth-qv__x { position: absolute; inset-block-start: 24px; inset-inline-end: 24px; }
.irth-qv__cat { font: 400 9.5px/1.3 var(--irth-f-sans); letter-spacing: .28em; text-transform: uppercase; color: #C29B3C; }
.irth-qv__title { margin: 12px 54px 0 0; font: 400 32px/1.15 var(--irth-f-didone); color: #F0E6DA; }
html[dir="rtl"] .irth-qv__title { margin: 12px 0 0 54px; }
.irth-qv__short { margin: 12px 0 0; max-width: 420px; font: italic 400 17px/1.5 var(--irth-f-didone); color: #CFC2B0; }
.irth-qv__price { display: flex; align-items: baseline; gap: 13px; padding-top: 18px; }
.irth-qv__price .price { margin: 0; font: 400 26px/1.2 var(--irth-f-display); letter-spacing: .04em; color: #F0E6DA; }
.irth-qv__price del { opacity: .5; font-size: .7em; margin-inline-end: 8px; }
.irth-qv__price ins { text-decoration: none; }
.irth-qv__stock { font-size: 12.5px; color: #9A9185; }
.irth-qv__body .irth-hairline { margin: 22px 0; }
.irth-qv__buy { display: flex; gap: 11px; }
.irth-qv__add { flex: 1; }
.irth-qv__note { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; font-size: 12.5px; color: #9A9185; }
.irth-qv__note i { width: 6px; height: 6px; border-radius: 50%; background: #C29B3C; flex: none; }
.irth-qv__more { align-self: flex-start; margin-top: 18px; padding-bottom: 4px; border-bottom: 1px solid rgba(194,155,60,.4); font: 400 9.5px/1.3 var(--irth-f-sans); letter-spacing: .28em; text-transform: uppercase; color: #C29B3C; }
.irth-qv__loading { grid-column: 1 / -1; padding: 90px 0; text-align: center; color: #9A9185; }
html[dir="rtl"] .irth-qv__cat, html[dir="rtl"] .irth-qv__more, html[dir="rtl"] .irth-qv .irth-btn { letter-spacing: 0; text-transform: none; font-size: 13px; }
@media (max-width: 820px) { .irth-qv__panel { grid-template-columns: 1fr; } .irth-qv__img { min-height: 0; aspect-ratio: 4 / 3; } .irth-qv__body { padding: 28px 24px; } }

/* ---------- Bag drawer ---------- */
.irth-cart { position: fixed; inset: 0; z-index: 1000; visibility: hidden; transition: visibility .35s; }
.irth-cart.is-open { visibility: visible; }
.irth-cart__scrim { position: absolute; inset: 0; background: rgba(14,11,10,.72); opacity: 0; transition: opacity .35s ease; }
.irth-cart.is-open .irth-cart__scrim { opacity: 1; }
.irth-cart__panel { position: absolute; inset-block: 0; inset-inline-end: 0; width: 470px; max-width: 100%; background: #2A2724; box-shadow: -30px 0 80px -30px rgba(0,0,0,.8), inset 1px 0 0 rgba(194,155,60,.22); transform: translateX(100%); transition: transform .4s var(--irth-ease, ease); display: flex; flex-direction: column; }
html[dir="rtl"] .irth-cart__panel { transform: translateX(-100%); box-shadow: 30px 0 80px -30px rgba(0,0,0,.8), inset -1px 0 0 rgba(194,155,60,.22); }
.irth-cart.is-open .irth-cart__panel { transform: none; }
.irth-cart__inner { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.irth-cart__head { display: flex; align-items: flex-start; justify-content: space-between; padding: 30px 34px 22px; }
.irth-cart__cap { display: block; font: 400 9.5px/1.3 var(--irth-f-sans); letter-spacing: .28em; text-transform: uppercase; color: #C29B3C; }
.irth-cart__title { margin: 8px 0 0; font: 400 26px/1.1 var(--irth-f-didone); color: #F0E6DA; }
.irth-cart__inner > .irth-hairline { margin-inline: 34px; }
.irth-cart__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 26px; padding: 70px 34px 0; text-align: center; }
.irth-cart__empty p { margin: 0; font: italic 400 22px/1.3 var(--irth-f-didone); color: #CFC2B0; }
.irth-cart__empty .irth-btn { height: 50px; font-size: 10px; letter-spacing: .26em; padding: 0 30px; }
.irth-cart__items { list-style: none; margin: 0; padding: 8px 34px; flex: 1; overflow: auto; }
.irth-cart__item { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid rgba(194,155,60,.16); }
.irth-cart__thumb img { width: 76px; height: 76px; object-fit: cover; display: block; background: #241F1D; }
.irth-cart__info { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.irth-cart__name { font: 400 17px/1.25 var(--irth-f-didone); color: #F0E6DA; }
.irth-cart__var { font-size: 12px; color: #9A9185; }
.irth-cart__var dl, .irth-cart__var dd, .irth-cart__var dt, .irth-cart__var p { display: inline; margin: 0; }
.irth-cart__line { font: 400 13px/1.3 var(--irth-f-sans); color: #CFC2B0; }
.irth-cart__rm { width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; box-shadow: inset 0 0 0 1px #5A5248; color: #CFC2B0; font-size: 16px; }
.irth-cart__rm:hover { background: #C29B3C; color: #262524; box-shadow: none; }
.irth-cart__foot { padding: 22px 34px 30px; border-top: 1px solid rgba(194,155,60,.3); display: flex; flex-direction: column; gap: 12px; }
.irth-cart__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 13.5px; color: #CFC2B0; }
.irth-cart__row > span:first-child { color: #F0E6DA; }
.irth-cart__val { font-family: var(--irth-f-display); letter-spacing: .04em; color: #F0E6DA; }
.irth-cart__total { display: flex; justify-content: space-between; align-items: baseline; margin: 8px 0 4px; }
.irth-cart__val--lg { font-size: 26px; }
.irth-cart__foot .irth-btn { box-sizing: border-box; width: 100%; height: 50px; font-size: 10px; letter-spacing: .26em; }
.irth-cart__val .amount, .irth-cart__line .amount { font-family: inherit; }
html[dir="rtl"] .irth-cart__cap, html[dir="rtl"] .irth-cart .irth-btn { letter-spacing: 0; text-transform: none; font-size: 13px; }
