/* Site-wide fixes on top of the original design (keep the design, remove the bugs). */
.logo{flex:0 0 auto}
.logo>span{white-space:nowrap;flex:0 0 auto}
.logo small{display:none}
.ms{overflow:hidden;white-space:nowrap;direction:ltr}
/* phone numbers stay on one line and read left to right */
a[href^="tel:"],a[href*="wa.me"][dir="ltr"],.topbar a[dir="ltr"]{white-space:nowrap;unicode-bidi:isolate}
/* hero buttons never push past the screen edge on phones */
@media (max-width:480px){.hero-cta{flex-wrap:wrap}.hero-cta .btn{flex:1 1 auto;justify-content:center;min-width:0;padding-inline:16px}}
/* English: longer words need a little more room in the header */
html[lang="en"] .hdr nav a{white-space:nowrap}
html[lang="en"] .btn{white-space:nowrap}
/* logo name: two short lines instead of one long line that pushes the menu button off screen */
html[lang="en"] .logo>span{white-space:normal;max-width:11em}
@media (max-width:600px){.logo{flex:0 1 auto;min-width:0}.logo>span{white-space:normal;max-width:8.5em}.logo b{font-size:12px;line-height:1.25}}
/* product cards: when the product photo is shown, the brand name is not printed over it */
.pc-img.has-photo .pc-brand{display:none}
/* portfolio popup: controls fully visible, no clipped buttons, no stray scrollbar */
dialog.al-lb{overflow:visible;margin:auto}
dialog.al-lb>div{position:relative}
.al-lbw{max-height:min(88vh,760px);overflow:hidden}
.al-lbw>*:last-child{overflow-y:auto;scrollbar-width:thin}
.al-x,.al-pv,.al-nx{transition:transform .2s,background .2s;cursor:pointer;border:0}
.al-x:hover,.al-pv:hover,.al-nx:hover{background:var(--ivory,#f7f1ea)}
.al-x:focus-visible,.al-pv:focus-visible,.al-nx:focus-visible{outline:3px solid var(--copper2,#e3a47c);outline-offset:2px}
.al-x{top:14px;left:14px;right:auto}
.al-pv,.al-nx{top:50%;transform:translateY(-50%)}
.al-pv{right:-66px;left:auto}
.al-nx{left:-66px;right:auto}
@media (max-width:1240px){.al-pv{right:12px}.al-nx{left:12px}.al-pv,.al-nx{background:rgba(255,255,255,.92)}}
@media (max-width:900px){dialog.al-lb{margin-top:64px;max-height:calc(100vh - 80px)}.al-lbw{max-height:calc(100vh - 80px)}.al-x{position:fixed;top:10px;left:12px}.al-lbw{overflow-y:auto}.al-lbw>*:last-child{overflow:visible}.al-pv,.al-nx{top:min(38vw,240px)}}
/* brand wordmark (new logo): no colour filters, sized by height, short Persian name beside it with a hairline */
.logo img,.ft-logo img{filter:none!important;width:auto!important;height:42px;aspect-ratio:1089/402}
.logo{gap:12px}
.logo>span{padding-inline-start:12px;border-inline-start:1px solid rgba(241,231,218,.25)}
.logo>span b{font-size:12px;font-weight:700;color:#e9dccb}
.ft-logo img{height:52px!important;margin-bottom:16px!important}
.sig img{filter:none;height:30px;width:auto}
@media (max-width:1080px){.logo img{height:36px}}
@media (max-width:600px){.logo img{height:32px}.logo>span{display:none}}
/* cart: payment methods, order instructions, payment result */
.cp-pay{border:1px solid var(--line,#e5dccf);border-radius:14px;padding:8px 10px;margin:8px 0;display:grid;gap:6px}
.cp-pay legend{font-size:12px;font-weight:800;padding:0 6px}
.cp-pay label{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;cursor:pointer;line-height:1.7}
.cp-pay input{margin-top:5px;accent-color:#c27a4e}
.cp-done{border:1px solid #cfe5d6;background:#f1f8f3;border-radius:14px;padding:10px 12px;margin:8px 0;font-size:12.5px;line-height:1.9}
.cp-done p{margin:4px 0 0}.cp-done a{color:#a0522d;font-weight:800}
.pay-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:9999;max-width:calc(100vw - 32px);padding:12px 18px;border-radius:16px;background:#a3362d;color:#fff;font-weight:700;font-size:13.5px;box-shadow:0 14px 40px rgba(0,0,0,.25)}
.pay-toast.ok{background:#2e7d4f}
