/* All public module catalogue screens mirror the Shop flow and proportions. */
#viewModule:has(.mirrorHero),#viewModule:has(.mirrorSubHead),#viewModule:has(.mirrorListingHead),#viewModule:has(.mirrorDetailCard),#viewModule:has(.mirrorCheckoutCard){max-width:760px;margin:0 auto;padding-bottom:118px}
#viewModule:has(.mirrorHero)>.sectionHdr,#viewModule:has(.mirrorSubHead)>.sectionHdr,#viewModule:has(.mirrorListingHead)>.sectionHdr,#viewModule:has(.mirrorDetailCard)>.sectionHdr,#viewModule:has(.mirrorCheckoutCard)>.sectionHdr{display:none!important}
.mirrorHero{position:relative;overflow:hidden;padding:20px 18px;margin:0 0 12px;border:1px solid rgba(226,181,61,.28);border-radius:22px;background:radial-gradient(circle at 94% 6%,rgba(245,197,72,.14),transparent 42%),linear-gradient(145deg,#20180d,#12110e 58%,#080808);box-shadow:0 18px 36px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,231,161,.08)}
.mirrorHero>span,.mirrorEyebrow{display:block;color:#e3ad32;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;margin-bottom:7px}
.mirrorHero h2{margin:0;color:#fff7e4;font-size:25px;line-height:1.08;letter-spacing:-.03em}.mirrorHero p{margin:8px 0 0;color:#bdb5a5;font-size:12px;line-height:1.45}
.mirrorCodeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:114px}
.mirrorCodeCard{position:relative;display:grid;justify-items:center;align-content:start;gap:5px;min-width:0;min-height:157px;padding:9px 6px 10px;border:1px solid rgba(239,198,77,.3);border-radius:13px;background:#070707;color:#fff5df;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,235,164,.05);cursor:pointer;overflow:hidden}
.mirrorCodeCard:hover,.mirrorCodeCard:focus-visible{transform:translateY(-2px);border-color:rgba(247,211,101,.62)}.mirrorCodeCard:active{transform:translateY(1px) scale(.985)}
.mirrorCodeVisual{width:100%;aspect-ratio:1/.8;display:grid;place-items:center;border-radius:9px;background:radial-gradient(circle at 50% 30%,#f2d776,#b77d0e 68%,#674306);color:#181105;box-shadow:inset 0 1px 0 rgba(255,248,213,.55)}
.mirrorCodeVisual svg{width:52%;height:52%}.mirrorCodeCard>b{color:#e4b63f;font-size:24px;line-height:1}.mirrorCodeCard>strong{max-width:100%;color:#fff6e4;font-size:11px;line-height:1.13;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}.mirrorCodeCard>small{color:#9f9685;font-size:8.5px;line-height:1.2}
.mirrorSubHead,.mirrorListingHead{display:flex;align-items:center;gap:11px;margin-bottom:12px;padding:7px 2px}.mirrorSubHead>button,.mirrorListingHead>button,.mirrorDetailBack{width:42px;height:42px;border:1px solid rgba(225,184,66,.24);border-radius:14px;background:#12100c;color:#e5bd4b;font-size:29px;display:grid;place-items:center;cursor:pointer}.mirrorSubHead>div,.mirrorListingHead>div{min-width:0;display:grid;gap:2px;flex:1}.mirrorSubHead span,.mirrorListingHead span{color:#aa9e87;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.mirrorSubHead strong,.mirrorListingHead strong{color:#fff2d2;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mirrorListingHead{flex-wrap:wrap}.mirrorListingHead>label{width:100%;display:flex;align-items:center;gap:8px;padding:0 12px;min-height:44px;border:1px solid rgba(225,184,66,.2);border-radius:15px;background:#0c0b09;color:#d2ad3c}.mirrorListingHead>label svg{width:19px;height:19px}.mirrorListingHead input{width:100%;border:0;outline:0;background:transparent;color:#fff1cd;font-size:12px}
.mirrorProductGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;padding-bottom:112px}.mirrorListingCard{position:relative}.mirrorListingImage{display:grid!important;place-items:center!important}.mirrorListingIcon{width:70%;height:70%;display:grid;place-items:center;color:#281a05}.mirrorListingIcon svg{width:100%;height:100%}.mirrorListingCard .shopCartBtn span{display:none!important}
.mirrorDetailBack{width:auto;min-width:44px;padding:0 12px;display:inline-flex;gap:6px;margin:0 0 12px;color:#e7c050;font-size:24px}.mirrorDetailBack span{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.mirrorDetailImage{height:330px;margin-bottom:13px;border:1px solid rgba(237,198,88,.24);border-radius:26px;display:grid;place-items:center;background:radial-gradient(circle at 50% 28%,rgba(226,210,164,.98),rgba(165,143,90,.98) 52%,rgba(48,38,19,.98));box-shadow:inset 0 0 34px rgba(22,16,5,.28),0 14px 30px rgba(0,0,0,.28)}.mirrorDetailImage>span{width:52%;height:52%;display:grid;place-items:center;color:#261903}.mirrorDetailImage svg{width:100%;height:100%}
.mirrorDetailCard,.mirrorCheckoutCard{padding:21px 18px;border:1px solid rgba(226,181,61,.26);border-radius:25px;background:linear-gradient(155deg,#1d180f,#11100d 58%,#080808);box-shadow:0 16px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,234,167,.05)}.mirrorDetailCard h2,.mirrorCheckoutCard h2{margin:0;color:#fff6e4;font-size:24px;line-height:1.13}.mirrorDetailPrice{display:block;margin:15px 0 17px;color:#efc34e;font-size:24px}.mirrorDetailRow{min-height:60px;padding:0 15px;border:1px solid rgba(225,184,66,.2);border-radius:17px;display:flex;align-items:center;justify-content:space-between;color:#f4ecdc;font-weight:900}.mirrorDetailRow b{color:#e6b63e;font-size:26px}.mirrorDetailCard p{color:#aaa18f;font-size:11px;line-height:1.55}.mirrorDetailActions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:7px;margin-top:14px}.mirrorDetailActions button{min-height:53px;border:1px solid rgba(225,184,66,.22);border-radius:16px;background:#0c0b09;color:#e8dfcc;font-weight:900}.mirrorDetailActions .mirrorPrimary{background:linear-gradient(180deg,#f1cf62,#c88f17);color:#171106}
.mirrorCheckoutCard>p{margin:7px 0 17px;color:#a99f8e;font-size:11px}.mirrorCheckoutCard>input{display:block;width:100%;min-height:52px;margin:0 0 10px;padding:0 14px;border:1px solid rgba(225,184,66,.2);border-radius:16px;background:#090806;color:#fff2cf;font-size:13px;outline:0}.mirrorPaymentLabel{display:block;margin:16px 0 8px;color:#f4ead6;font-size:10px;font-weight:900;letter-spacing:.1em}.mirrorOptionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.mirrorOptionGrid button{min-height:130px;padding:11px 6px;border:1px solid rgba(225,184,66,.2);border-radius:18px;background:#0c0b09;color:#eee4ce;display:grid;justify-items:center;align-content:center;gap:8px}.mirrorOptionGrid button.active{border-color:rgba(249,211,101,.7);background:linear-gradient(155deg,#392d14,#161109)}.mirrorOptionGrid button>span{width:37px;height:37px;color:#e4b83e}.mirrorOptionGrid svg{width:100%;height:100%}.mirrorOptionGrid strong{font-size:11px}.mirrorOptionGrid small{color:#9c9382;font-size:8.5px;line-height:1.25}.mirrorActionNotice{margin:11px 0;padding:12px;border-radius:14px;background:rgba(213,171,49,.09);color:#a89f8c;font-size:10px;line-height:1.4}.mirrorPlaceOrder{width:100%;min-height:58px;border:0;border-radius:18px;background:linear-gradient(180deg,#f5d56c,#c8941b);color:#181105;font-size:15px;font-weight:950}.mirrorConfirmation,.mirrorEmpty{display:grid;justify-items:center;gap:10px;padding:38px 18px;border:1px solid rgba(225,184,66,.24);border-radius:24px;background:linear-gradient(155deg,#1d180f,#0d0c09);text-align:center}.mirrorConfirmation>span,.mirrorEmpty>span{width:56px;height:56px;color:#e5bb44}.mirrorConfirmation svg,.mirrorEmpty svg{width:100%;height:100%}.mirrorConfirmation strong,.mirrorEmpty strong{color:#fff3d3;font-size:20px}.mirrorConfirmation p,.mirrorEmpty small{max-width:300px;color:#aaa08e;font-size:11px;line-height:1.5}.mirrorConfirmation button{min-width:170px;min-height:45px;border:1px solid rgba(225,184,66,.25);border-radius:15px;background:#0d0c09;color:#e9dfca;font-weight:900}.mirrorConfirmation button:first-of-type{background:linear-gradient(180deg,#f2cf62,#c68e16);color:#171106}
@media(max-width:390px){.mirrorCodeGrid{gap:6px}.mirrorCodeCard{min-height:148px;padding:8px 5px 9px}.mirrorCodeCard>b{font-size:22px}.mirrorCodeCard>strong{font-size:10px}.mirrorDetailImage{height:286px}.mirrorDetailCard,.mirrorCheckoutCard{padding:18px 15px}.mirrorOptionGrid{gap:6px}.mirrorOptionGrid button{min-height:119px}}
@media(min-width:760px){.mirrorCodeGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.mirrorProductGrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}}

.mirrorActionFields{display:grid;grid-template-columns:1fr 1.35fr;gap:10px;margin:0 0 10px}
.mirrorActionFields label{display:grid;gap:6px;min-width:0}
.mirrorActionFields label>span{color:#c6bca7;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.mirrorActionFields input{display:block;width:100%;min-width:0;min-height:52px;padding:0 14px;border:1px solid rgba(225,184,66,.2);border-radius:16px;background:#090806;color:#fff2cf;font-size:13px;outline:0}
.mirrorActionFields input:focus{border-color:rgba(249,211,101,.7);box-shadow:0 0 0 3px rgba(226,182,62,.08)}
@media(max-width:390px){.mirrorActionFields{grid-template-columns:1fr;gap:9px}}

/* Final full-flow mirror update: every module keeps Shop proportions while using its own artwork and controls. */
.mirrorCodeVisual{overflow:hidden;background:#f1eadb}
.mirrorArtworkImage,.mirrorListingPhoto,.mirrorDetailPhoto,.mirrorConfirmationImage{display:block;width:100%;height:100%;object-fit:cover}
.mirrorCodeVisual .mirrorArtworkImage{transform:scale(1.02)}
.mirrorListingImage{overflow:hidden;background:#efe8d9!important}
.mirrorListingPhoto{min-width:100%;min-height:100%}
.mirrorDetailImage>span{width:100%;height:100%;overflow:hidden;border-radius:25px}
.mirrorDetailPhoto{object-fit:contain;padding:24px;background:radial-gradient(circle at 50% 34%,#fffdf5,#d8c6a1 70%,#8f7140)}
.mirrorConfirmation>span:has(.mirrorConfirmationImage){width:72px;height:72px;overflow:hidden;border-radius:18px;border:1px solid rgba(229,187,68,.35);background:#eee6d5}
.mirrorConfirmationImage{object-fit:cover}
.mirrorActionFields select{display:block;width:100%;min-width:0;min-height:52px;padding:0 40px 0 14px;border:1px solid rgba(225,184,66,.2);border-radius:16px;background:#090806;color:#fff2cf;font-size:13px;outline:0;appearance:none;background-image:linear-gradient(45deg,transparent 50%,#d9ae3a 50%),linear-gradient(135deg,#d9ae3a 50%,transparent 50%);background-position:calc(100% - 18px) 22px,calc(100% - 13px) 22px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.mirrorActionFields select:focus{border-color:rgba(249,211,101,.7);box-shadow:0 0 0 3px rgba(226,182,62,.08)}
.mirrorCheckoutCard .mirrorActionFields input[type=date]{color-scheme:dark}
