/* Bloques MasEventos (pase, álbum, canción, muro) — un tema por diseño. */
.mx-sec,.mx-flores{--mx-ink:#273126;--mx-acc:#b79c58;--mx-acc2:#ddc982;--mx-dark:#28371f;--mx-dark2:#3a4d2c;--mx-paper:#fbfaf5;--mx-line:#ddd6bb;--mx-cream:#f3efdc;--mx-f1:var(--serif,'Playfair Display',Georgia,serif);--mx-f2:var(--script,'Great Vibes',cursive);--mx-f3:var(--sans,'DM Sans',Arial,sans-serif)}
.mx-flores{--mx-ink:#2c3527;--mx-acc:#bda46c;--mx-acc2:#a9c08f;--mx-dark:#4f6842;--mx-dark2:#6c855d;--mx-paper:#fffdf6;--mx-line:#e3dcc0;--mx-cream:#fffdf6;--mx-f1:var(--display,'Cormorant Garamond',Georgia,serif);--mx-f2:var(--display,'Cormorant Garamond',Georgia,serif);--mx-f3:var(--sans,'Jost',sans-serif)}
/* Olivar: secciones */
.mx-sec{min-height:0;padding:96px 22px 92px;text-align:center;color:var(--mx-ink);font-family:var(--mx-f1)}
.mx-sec.mx-dk{color:var(--mx-cream)}
.mx-eyebrow{margin:0 0 6px;font:italic 500 21px var(--mx-f1);color:var(--mx-acc)}
.mx-dk .mx-eyebrow{color:var(--mx-acc2)}
.mx-title{margin:0;font:400 clamp(48px,11vw,72px)/1.05 var(--mx-f2);color:inherit}
.mx-orn2{display:block;width:140px;height:14px;margin:18px auto 14px;background:linear-gradient(var(--mx-acc),var(--mx-acc)) left center/52px 1px no-repeat,linear-gradient(var(--mx-acc),var(--mx-acc)) right center/52px 1px no-repeat;position:relative}
.mx-orn2::after{content:"✿";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:15px var(--mx-f1);color:var(--mx-acc)}
.mx-sub{max-width:470px;margin:0 auto 26px;font:400 17px/1.65 var(--mx-f1);opacity:.85}
/* Flores: dentro de la página del libro */
.mx-flores .page-surface{gap:.25rem}
.mx-flores .page-surface>.soft-copy{margin-bottom:.4rem}
/* piezas comunes */
.mx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 26px;border:1px solid var(--mx-acc);border-radius:999px;background:var(--mx-dark);color:#f6f1de!important;font:600 12px/1 var(--mx-f3);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px #1a24162e}
.mx-btn:hover{transform:translateY(-1px)}
.mx-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mx-dk .mx-btn{background:linear-gradient(135deg,#d8c27a,#b79c58);color:#25301b!important;border-color:#e6d38f}
.mx-btn.mx-alt{background:transparent;color:var(--mx-dark)!important;box-shadow:none}
.mx-tag{display:inline-block;margin:0 0 6px;padding:4px 12px;border:1px solid var(--mx-acc);border-radius:99px;font:600 9.5px/1.3 var(--mx-f3);letter-spacing:.2em;text-transform:uppercase;color:var(--mx-acc)}
.mx-note{margin:0 0 14px;font:italic 400 16px/1.55 var(--mx-f1);opacity:.85}
.mx-in{width:100%;box-sizing:border-box;border:1px solid var(--mx-line);border-radius:14px;background:#fff;padding:13px 16px;font:400 16px var(--mx-f1);color:var(--mx-ink);outline:none;transition:border-color .2s,box-shadow .2s}
.mx-in:focus{border-color:var(--mx-acc);box-shadow:0 0 0 3px #b79c5822}
textarea.mx-in{resize:none;line-height:1.5}
.mx-hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}
.mx-msg{min-height:1.3em;margin:6px 0 0;font:italic 15px var(--mx-f1);color:var(--mx-acc)}
.mx-dk .mx-msg{color:var(--mx-acc2)}
.mx-form{display:flex;flex-direction:column;gap:9px;width:100%;max-width:420px;margin:0 auto}
.mx-form[hidden],.mx-open[hidden]{display:none}
/* ---- Pase: boleto con muescas ---- */
.mx-ticket{width:min(100%,340px);margin:0 auto;filter:drop-shadow(0 18px 28px #0a120a55);text-align:center}
.mx-tt,.mx-tb{position:relative;padding:20px 22px}
.mx-tt{background:linear-gradient(160deg,#fbf7e6,#efe6c6);color:var(--mx-dark);border-radius:20px 20px 0 0;display:flex;flex-direction:column;align-items:center;gap:3px;
 -webkit-mask:radial-gradient(circle 11px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat}
.mx-tt::before{content:"";position:absolute;inset:8px 8px 4px;border:1px solid #b79c5877;border-radius:14px 14px 0 0;border-bottom:0;pointer-events:none}
.mx-tt::after{content:"";position:absolute;left:18px;right:18px;bottom:0;border-top:2px dotted #b79c58aa}
.mx-tb{background:#fffefa;color:var(--mx-ink);border-radius:0 0 20px 20px;padding-top:18px;min-height:150px;display:flex;flex-direction:column;align-items:center;gap:6px;
 -webkit-mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 11px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat}
.mx-orn{width:34px;height:34px;border-radius:50%;border:1px solid var(--mx-acc);display:grid;place-items:center;margin-bottom:2px;position:relative}
.mx-orn::after{content:"✿";font:15px var(--mx-f1);color:var(--mx-acc)}
.mx-k2{font:600 10px/1 var(--mx-f3);letter-spacing:.34em;color:var(--mx-acc)}
.mx-nm{font:400 34px/1.1 var(--mx-f2);color:var(--mx-dark)}
.mx-flores .mx-nm{font:italic 500 32px/1.1 var(--mx-f1)}
.mx-nm em{font-style:normal;color:var(--mx-acc);padding:0 2px}
.mx-dt{font:600 10px/1.4 var(--mx-f3);letter-spacing:.26em;color:#6b6a55;text-transform:uppercase}
.mx-gn{margin:2px 0 0;font:500 19px/1.2 var(--mx-f1);letter-spacing:.03em;color:var(--mx-dark)}
.mx-qr{padding:10px;background:#fff;border:1px solid var(--mx-line);border-radius:14px;line-height:0}
.mx-qr svg{width:164px;height:164px}
.mx-cd{margin:2px 0 0;font:700 12px/1 var(--mx-f3);letter-spacing:.3em;color:var(--mx-acc)}
.mx-wal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;margin-top:6px}
.mx-wal .mx-btn{min-height:40px;padding:0 15px;font-size:10.5px;letter-spacing:.1em}
/* ---- Álbum: polaroids + tarjeta QR ---- */
.mx-pols{position:relative;display:flex;justify-content:center;height:150px;margin:0 auto 16px;width:min(100%,330px)}
.mx-pol{position:absolute;margin:0;width:104px;padding:7px 7px 24px;background:#fff;box-shadow:0 10px 22px #22301c33;border-radius:2px;transition:transform .35s}
.mx-pol1{left:6%;top:14px;transform:rotate(-9deg)}.mx-pol2{left:50%;top:0;transform:translateX(-50%) rotate(2deg);z-index:2}.mx-pol3{right:6%;top:14px;transform:rotate(8deg)}
.mx-pic{display:block;width:100%;aspect-ratio:1;background-color:#e7eadb;background-repeat:no-repeat}
.mx-pic:not(.photo){background-size:cover;background-position:center}
.mx-pic.photo{background-size:300% 200%}
.mx-empty{display:grid;place-items:center;background:linear-gradient(145deg,#eef0e0,#dfe5cf)}
.mx-empty svg{width:34px;height:34px;fill:none;stroke:var(--mx-acc);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.mx-tape{position:absolute;top:-9px;left:50%;width:46px;height:16px;transform:translateX(-50%) rotate(-3deg);background:#e9ddb2cc;box-shadow:0 1px 3px #0002}
.mx-albcard{display:flex;align-items:center;gap:16px;width:min(100%,360px);margin:0 auto;padding:16px;background:#fffefa;border:1px solid var(--mx-line);border-radius:22px;box-shadow:0 14px 30px #22301c22;text-align:left}
.mx-albcard .mx-qr{flex:none;padding:8px}.mx-albcard .mx-qr svg{width:108px;height:108px}
.mx-albtx{display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:0}
.mx-albtx b{font:600 18px/1.2 var(--mx-f1);color:var(--mx-dark)}
.mx-albtx span{font:italic 14px/1.4 var(--mx-f1);color:#6b6a55}
.mx-albtx .mx-btn{margin-top:6px;min-height:40px;padding:0 16px;font-size:10px;letter-spacing:.1em}
/* ---- Canción: vinilo ---- */
.mx-song{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.mx-vinyl{width:118px;height:118px;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#121612 0 2px,#1d241b 2px 4px);box-shadow:0 12px 26px #0006,inset 0 0 0 2px #333b30;position:relative;animation:mxspin 9s linear infinite}
.mx-vinyl::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 20deg,#fff0 0 20%,#ffffff22 25%,#fff0 32% 70%,#ffffff18 76%,#fff0 82%)}
.mx-vinyl i{position:absolute;inset:36px;border-radius:50%;background:radial-gradient(circle,#13170f 0 5px,transparent 6px),linear-gradient(135deg,#e2cf86,#b79c58)}
@keyframes mxspin{to{transform:rotate(360deg)}}
.mx-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:2px 0 4px}
.mx-chip{padding:8px 14px;border:1px solid #b79c5888;border-radius:99px;background:transparent;color:inherit;font:500 14px var(--mx-f1);cursor:pointer;transition:all .2s}
.mx-chip[aria-pressed="true"]{background:var(--mx-acc2);border-color:var(--mx-acc2);color:#25301b}
.mx-flores .mx-chip{border-color:#bda46c99;color:var(--mx-ink)}.mx-flores .mx-chip[aria-pressed="true"]{background:var(--mx-dark2);border-color:var(--mx-dark2);color:#fff}
.mx-dk .mx-in{background:#ffffff12;border-color:#b79c5877;color:var(--mx-cream)}.mx-dk .mx-in::placeholder{color:#e6e0cbaa}
.mx-ya{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;max-width:420px}
.mx-ya small{width:100%;font:600 9.5px var(--mx-f3);letter-spacing:.24em;text-transform:uppercase;opacity:.7}
.mx-ya span{padding:5px 12px;border-radius:99px;background:#ffffff14;font:italic 14px var(--mx-f1)}
.mx-flores .mx-ya span{background:#6c855d1a}
.mx-flores .mx-in{background:#fff;color:var(--mx-ink)}
/* ---- Muro: cartas de cariño ---- */
.mx-wall{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}
.mx-wmeta{display:flex;align-items:center;gap:12px}
.mx-avs{display:inline-flex}.mx-avs i{width:30px;height:30px;margin-left:-8px;border-radius:50%;display:grid;place-items:center;background:var(--mx-dark);color:#f3efdc;border:2px solid var(--mx-paper);font:600 12px var(--mx-f1);font-style:normal}.mx-avs i:first-child{margin-left:0}.mx-avs i:nth-child(2){background:var(--mx-acc)}.mx-avs i:nth-child(3){background:var(--mx-dark2)}.mx-avs i:nth-child(4){background:#8a7a4a}
.mx-count{font:600 10.5px var(--mx-f3);letter-spacing:.2em;text-transform:uppercase;color:var(--mx-acc)}
.mx-deck{position:relative;width:calc(100% + 44px);margin:0 -22px}
.mx-flores .mx-deck{width:calc(100% + 2rem);margin:0 -1rem}
.mx-notes{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px calc(50% - min(42%,160px)) 26px;scrollbar-width:none;scroll-behavior:smooth}
.mx-notes::-webkit-scrollbar{display:none}
.mx-note-card{flex:0 0 min(84%,320px);scroll-snap-align:center;position:relative;padding:36px 26px 22px;color:var(--mx-ink);text-align:center;background:linear-gradient(165deg,#fffef9,#f8f3e2);border-radius:4px;box-shadow:0 1px 0 #fff inset,0 16px 30px #22301c33,0 3px 8px #22301c1a;transform:rotate(var(--r,0deg));display:flex;flex-direction:column;gap:14px;min-height:210px;justify-content:space-between;transition:transform .35s}
.mx-note-card::before{content:"";position:absolute;inset:7px;border:1px solid #b79c5877;pointer-events:none}
.mx-note-card::after{content:"";position:absolute;inset:11px;border:1px solid #b79c5833;pointer-events:none}
.mx-qm{position:absolute;top:2px;left:50%;transform:translateX(-50%);font:400 74px/1 var(--mx-f1);color:var(--mx-acc);opacity:.4;font-style:normal;pointer-events:none}
.mx-note-card p{position:relative;margin:14px 0 0;font:italic 400 18px/1.55 var(--mx-f1);color:var(--mx-ink)}
.mx-note-card footer{display:flex;flex-direction:column;align-items:center;gap:0;position:relative}
.mx-note-card footer::before{content:"";width:46px;height:1px;background:var(--mx-acc);margin-bottom:10px}
.mx-with{font:600 9.5px var(--mx-f3);letter-spacing:.26em;text-transform:uppercase;color:#8d8a72}
.mx-sign{font:400 30px/1.15 var(--mx-f2);color:var(--mx-dark)}
.mx-flores .mx-sign{font:italic 600 24px/1.15 var(--mx-f1)}
.mx-first p{margin-top:18px}.mx-first .mx-sign{opacity:.6}
.mx-nav{position:absolute;top:calc(50% - 22px);z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid var(--mx-acc);background:#fffef9ee;color:var(--mx-dark);font:400 24px/1 var(--mx-f1);cursor:pointer;display:grid;place-items:center;padding:0 0 3px;box-shadow:0 6px 14px #22301c2e}
#mx-prev{left:8px}#mx-next{right:8px}
.mx-nav:hover{background:var(--mx-dark);color:#fff}
.mx-dots{display:flex;gap:7px;min-height:8px}.mx-dots i{width:7px;height:7px;border-radius:50%;background:#b79c5855;transition:all .25s}.mx-dots i.on{width:22px;border-radius:99px;background:var(--mx-acc)}
.mx-open{margin-top:6px}
.mx-compose{width:min(100%,400px);margin:4px auto 0;padding:22px 20px 20px;text-align:left;background:linear-gradient(165deg,#fffef9,#f8f3e2);border-radius:6px;box-shadow:0 20px 40px #22301c38;position:relative;display:flex;flex-direction:column;gap:10px;color:var(--mx-ink)}
.mx-compose[hidden]{display:none}
.mx-compose::before{content:"";position:absolute;inset:7px;border:1px solid #b79c5877;pointer-events:none}
.mx-cp-h{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;padding-bottom:4px}
.mx-cp-h span{font:600 9.5px var(--mx-f3);letter-spacing:.28em;text-transform:uppercase;color:var(--mx-acc)}
.mx-cp-h b{font:400 30px/1.1 var(--mx-f2);color:var(--mx-dark)}.mx-flores .mx-cp-h b{font:italic 600 26px/1.1 var(--mx-f1)}.mx-cp-h b em{font-style:normal;color:var(--mx-acc)}
.mx-x{position:absolute;right:12px;top:10px;width:30px;height:30px;border:0;border-radius:50%;background:#2830201a;color:var(--mx-ink);font-size:18px;cursor:pointer;line-height:1}
.mx-starters{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.mx-starters button{padding:6px 11px;border:1px dashed #b79c58aa;border-radius:99px;background:transparent;color:var(--mx-dark);font:italic 13.5px var(--mx-f1);cursor:pointer}.mx-starters button:hover{background:#b79c5822}
.mx-compose .mx-in{background:#fff;color:var(--mx-ink);border-color:var(--mx-line)}
.mx-compose textarea.mx-in{font:italic 400 17px/1.5 var(--mx-f1);background:repeating-linear-gradient(#fff 0 28px,#efe9d2 28px 29px);line-height:29px;padding-top:6px}
.mx-cnt{align-self:flex-end;font:600 10.5px var(--mx-f3);letter-spacing:.1em;color:#8d8a72;margin-top:-6px}
.mx-sg{display:flex;align-items:center;gap:10px}.mx-sg span{flex:none;font:italic 15px var(--mx-f1);color:#6b6a55}
.mx-compose .mx-btn{align-self:center;margin-top:4px}
.mx-compose .mx-msg{text-align:center}
.mx-petals{position:fixed;z-index:3000;pointer-events:none;width:0;height:0}
.mx-petals i{position:absolute;left:0;top:0;font:400 20px var(--mx-f1);font-style:normal;color:var(--mx-acc);opacity:0;animation:mxpet 1.6s ease-out var(--d,0s) forwards}
.mx-petals i:nth-child(3n){color:#c9627a}.mx-petals i:nth-child(3n+1){color:#8fb07a}
@keyframes mxpet{0%{opacity:0;transform:translate(0,0) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(var(--rr)) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.mx-vinyl{animation:none}}
@media (max-width:380px){.mx-albcard{flex-direction:column;text-align:center}.mx-albtx{align-items:center}}

/* ===== Muro: identidad propia por diseño ===== */
/* Olivar de Oro: arcos verde olivo con filete dorado */
.mx-olivar .mx-note-card{background:linear-gradient(180deg,#34462a,#28371f);color:#f3efdc;border-radius:150px 150px 6px 6px;padding:62px 26px 26px;transform:none;box-shadow:0 18px 34px #1a24164d;min-height:250px}
.mx-olivar .mx-note-card::before{inset:8px;border:1px solid #ddc98299;border-radius:144px 144px 3px 3px}
.mx-olivar .mx-note-card::after{display:none}
.mx-olivar .mx-qm{top:20px;font-size:46px;color:#ddc982;opacity:1;font-family:var(--mx-f1)}
.mx-olivar .mx-note-card p{color:#f3efdc;font:italic 400 17.5px/1.6 var(--mx-f1);margin-top:6px}
.mx-olivar .mx-note-card footer::before{background:#ddc982}
.mx-olivar .mx-with{color:#c9c49f}
.mx-olivar .mx-sign{color:#ddc982;font:400 32px/1.15 var(--mx-f2)}
.mx-olivar .mx-first .mx-sign{opacity:1}
/* Flores de Campo: papel de carta con cinta washi y flores */
.mx-flores .mx-note-card{background:linear-gradient(170deg,#fffdf8,#f6efe3 70%,#efe6d8);border-radius:14px 22px 16px 24px;padding:44px 26px 24px;box-shadow:0 14px 28px #4f684233,0 2px 6px #4f684222;min-height:230px}
.mx-flores .mx-note-card::before{inset:auto;top:-13px;left:50%;width:92px;height:26px;border:0;transform:translateX(-50%) rotate(-3deg);background:repeating-linear-gradient(115deg,#cfe0c0cc 0 7px,#e9f0dfcc 7px 14px);box-shadow:0 1px 3px #4f68422b;opacity:1}
.mx-flores .mx-note-card:nth-child(even)::before{background:repeating-linear-gradient(115deg,#f2d3d0cc 0 7px,#f9e8e5cc 7px 14px);transform:translateX(-50%) rotate(3deg)}
.mx-flores .mx-note-card::after{content:"❀";inset:auto;right:14px;bottom:10px;font:20px var(--mx-f1);color:#a9c08f;opacity:.75;border:0}
.mx-flores .mx-note-card:nth-child(even)::after{color:#e2aaa3}
.mx-flores .mx-qm{display:none}
.mx-flores .mx-note-card p{font:italic 500 20px/1.5 var(--mx-f1);margin-top:0;text-align:left}
.mx-flores .mx-note-card footer{align-items:flex-end}
.mx-flores .mx-note-card footer::before{display:none}
.mx-flores .mx-with{color:#8a9a78}
.mx-flores .mx-sign{color:#4f6842;font:italic 600 26px/1.15 var(--mx-f1)}
.mx-flores .mx-first .mx-sign{opacity:1}
.mx-flores .mx-btn{border-radius:14px 22px 14px 22px}
