/* Modelo 62 · Lúpulo — clases .lu */
.pmc-m-lupulo { min-height: 100vh; margin: 0; background: var(--pmc-secondary); color: #f6efe0; }
.lu { --k-ink: #f6efe0; --k-muted: #d8cfbd; --k-line: rgba(246,239,224,.16); --k-accent: var(--pmc-primary-ink); --k-btn-r: .3rem; --k-gap: 1.5rem; --k-q-bg: transparent; --k-q-ink: #f6efe0; --k-q-border: 2px solid rgba(246,239,224,.55); --k-h: var(--pmc-display); --k-h2-s: 1.7rem; --k-h2-w: 700; --k-photo-r: .3rem; }
.lu .k-body { padding-top: 1.8rem; }
.lu-label { display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: 1.6rem 1rem 1.4rem; text-align: center; border: 2px solid var(--pmc-primary); outline: 1px solid var(--pmc-primary); outline-offset: 5px; border-radius: 1.6rem 1.6rem .4rem .4rem; }
.lu-medal { position: relative; display: grid; place-items: center; width: 7.5rem; height: 7.5rem; border-radius: 50%; border: 3px double var(--pmc-primary); color: var(--pmc-primary-ink); }
.lu-medal svg { width: 2.6rem; height: 3.4rem; fill: var(--pmc-primary-ink); stroke: var(--pmc-primary-ink); }
.lu-medal span { position: absolute; bottom: .8rem; font: 700 .8rem var(--pmc-display); letter-spacing: .2em; }
.lu-ribbon { position: relative; width: calc(100% + 2.6rem); padding: .6rem 1.2rem; background: var(--pmc-primary-strong); color: var(--pmc-on-strong); clip-path: polygon(0 0, 100% 0, 96% 50%, 100% 100%, 0 100%, 4% 50%); }
.lu-name { font: 900 clamp(1.7rem, 8.5vw, 2.2rem)/1.05 var(--pmc-display); text-transform: uppercase; letter-spacing: .04em; }
.lu-tagline { max-width: 20rem; font: italic 500 1rem/1.45 var(--pmc-font); color: #d8cfbd; }
.lu .k-btn { font-family: var(--pmc-display); text-transform: uppercase; letter-spacing: .06em; }
.lu .k-main { min-height: 3.5rem; background: var(--pmc-primary-strong); color: var(--pmc-on-strong); }
.lu .k-h2 { text-align: center; text-transform: uppercase; letter-spacing: .08em; }
.lu .k-items .k-item { align-items: center; }
.lu .k-num { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 2px solid var(--pmc-primary); border-radius: 50%; font: 700 .9rem var(--pmc-display); }
.lu .k-item-name { font: 700 1.15rem var(--pmc-display); text-transform: uppercase; }
.lu .k-price { font: 900 1.25rem var(--pmc-display); color: var(--pmc-primary-ink); }
.lu .k-tags li { border-color: var(--pmc-primary); }
.lu .k-when, .lu .k-reach { padding: 1.2rem; border: 1px solid rgba(246,239,224,.2); border-radius: .4rem; }
.lu .k-qr { border-radius: .3rem; }
.lu .k-sbtn { border-color: rgba(246,239,224,.55); }
.lu .k-sbtn:first-child { background: #f6efe0; color: #1f2a1f; border-color: #f6efe0; }
.lu .k-links a { border-color: rgba(246,239,224,.35); border-radius: .3rem; }
.lu-foot a { color: #d8cfbd; }
