@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@700;800;900&display=swap');

:root { --blue:#1463d9; --ink:#17233d; --muted:#68738b; --pale:#f4f7fc; --yellow:#ffbe31; --orange:#ff812d; --line:#e4e9f2; --radius:20px; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); font:16px/1.5 'DM Sans',sans-serif; background:#fff; } button,input,select { font:inherit; } button { cursor:pointer; border:0; } a { color:inherit; text-decoration:none; }
#app.approved-reference { position:relative; width:100%; max-width:1536px; min-width:1180px; aspect-ratio:3 / 2; margin:0 auto; background:#fff url('./landing-reference.png') center top / 100% auto no-repeat; } #app.approved-reference > .landing { display:none; }.reference-hit {position:absolute;display:block;z-index:3;border-radius:28px}.reference-hit.how{left:25%;top:2%;width:9%;height:6%}.reference-hit.albums{left:34%;top:2%;width:7%;height:6%}.reference-hit.pricing{left:40%;top:2%;width:6%;height:6%}.reference-hit.opinions{left:46%;top:2%;width:7%;height:6%}.reference-hit.security{left:52%;top:2%;width:7%;height:6%}.reference-hit.top-invite{left:62%;top:2%;width:14%;height:6%}.reference-hit.top-create{left:77%;top:2%;width:14%;height:6%}.reference-hit.hero-create{left:59%;top:58%;width:19%;height:7%}.reference-hit.hero-invite{left:59%;top:66%;width:19%;height:7%}.reference-hit.account{left:92%;top:2%;width:5%;height:6%}.reference-account-status{position:absolute;z-index:4;top:7.7%;left:90.5%;width:8%;text-align:center;color:#0b54bd;font:700 11px/1.2 'DM Sans',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.wrap { max-width:1160px; margin:auto; padding:0 28px; } .nav { height:80px; display:flex; align-items:center; justify-content:space-between; } .logo { position:relative;font:900 34px/.8 Nunito,sans-serif; color:#074bb8; letter-spacing:-2.5px; }.official-spark { position:absolute;color:#ffb917;font:900 19px Nunito;left:-13px;top:-13px;letter-spacing:0;transform:rotate(-15deg); }
.nav-actions { display:flex; align-items:center; gap:15px; }.link { color:var(--muted);font-weight:600; }.btn { display:inline-flex; justify-content:center;align-items:center;gap:8px;padding:13px 20px;border-radius:12px;background:var(--blue);color:white;font-weight:700;box-shadow:0 8px 18px #1463d928; }.btn:hover { background:#0d51bb; }.btn.alt {background:white;color:var(--blue);border:1px solid #b9cff4;box-shadow:none}.btn.warm { background:var(--orange); }.btn.small {padding:9px 14px;font-size:14px}.btn:disabled {opacity:.45;cursor:not-allowed}
.hero { min-height:630px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:54px 0 90px;overflow:hidden; }.eyebrow {color:var(--blue);font-weight:800;font-size:14px;letter-spacing:.04em;text-transform:uppercase}.hero h1 {font:900 clamp(43px,5.4vw,72px)/.98 Nunito,sans-serif;letter-spacing:-2.8px;margin:14px 0 20px;max-width:570px}.hero p {font-size:19px;color:var(--muted);max-width:490px;margin:0 0 28px}.hero-buttons{display:flex;gap:12px;flex-wrap:wrap}.note{font-size:13px;color:var(--muted);margin-top:16px}
.polaroids {height:420px;position:relative;}.polaroid {position:absolute;width:240px;background:#fff;padding:12px 12px 42px;border-radius:4px;box-shadow:0 18px 40px #17233d27;opacity:0;animation:drop .72s cubic-bezier(.25,.8,.25,1) forwards;}.polaroid img {width:100%;height:184px;object-fit:cover;display:block}.polaroid:nth-child(1){left:7%;top:105px;transform:rotate(-15deg);animation-delay:.1s}.polaroid:nth-child(2){left:29%;top:28px;transform:rotate(8deg);animation-delay:.3s}.polaroid:nth-child(3){left:47%;top:145px;transform:rotate(17deg);animation-delay:.5s}.polaroid small{display:block;margin:9px 3px 0;font:700 14px Nunito}.foty{position:absolute;width:145px;right:-8px;bottom:-7px;filter:drop-shadow(0 15px 14px #17233d25);z-index:5}@keyframes drop{from{opacity:0;margin-top:-30px}to{opacity:1;margin-top:0}}
.trust {background:var(--pale);padding:24px 0;color:#50607a}.trust .wrap {display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;font-weight:700}.trust span:before{content:'✓';color:var(--blue);margin-right:8px}.section{padding:84px 0}.section h2{font:900 clamp(30px,4vw,44px)/1.05 Nunito;margin:0 0 14px;letter-spacing:-1.5px}.section-intro{color:var(--muted);max-width:560px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.feature{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:white}.feature-icon{font-size:28px;background:#eef5ff;border-radius:14px;display:grid;place-items:center;width:55px;height:55px}.feature h3{font:800 20px Nunito;margin:18px 0 7px}.feature p{color:var(--muted);margin:0}.footer{border-top:1px solid var(--line);padding:30px 0;color:var(--muted);font-size:14px}
.page {min-height:100vh;background:var(--pale)}.appbar{height:96px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center}.appbar .wrap{width:100%;display:flex;align-items:center;justify-content:space-between}.appbar .logo{display:block;width:244px;height:74px;background:url('./tejunto-logo.png') center / contain no-repeat;font-size:0;letter-spacing:0}.appbar .official-spark{display:none}.appmain{max-width:1100px;margin:auto;padding:40px 28px 80px}.page-title{font:900 34px/1 Nunito;margin:0 0 7px;letter-spacing:-1px}.subtitle{color:var(--muted);margin:0}.topline{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:32px}.tabs{display:flex;gap:8px;margin:28px 0}.tab{background:transparent;border:1px solid transparent;padding:9px 13px;border-radius:10px;color:var(--muted);font-weight:700}.tab.active{background:#eaf2ff;color:var(--blue)}
.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.album-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer;transition:transform .15s}.album-card:hover{transform:translateY(-3px)}.cover{height:165px;background:#eaf1fa}.cover img{width:100%;height:100%;display:block;object-fit:cover}.album-card-body{padding:16px}.album-card h3{font:800 19px Nunito;margin:0 0 4px}.album-card p{margin:0;color:var(--muted);font-size:14px}.badge{display:inline-block;color:#29653b;background:#e7f7eb;border-radius:7px;padding:3px 7px;font-size:12px;font-weight:700;margin-top:12px}.empty{padding:52px;text-align:center;background:white;border:2px dashed #ccd8e9;border-radius:18px;color:var(--muted)}
.wizard{max-width:720px;margin:10px auto}.steps{display:flex;gap:8px;margin:0 0 30px}.step{height:6px;flex:1;border-radius:8px;background:#dbe4f2}.step.active{background:var(--blue)}.panel{background:white;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:0 8px 35px #17233d08}.panel h1{font:900 30px/1.1 Nunito;margin:0 0 8px}.panel>p{margin:0 0 27px;color:var(--muted)}.field{display:grid;gap:7px;margin:16px 0}.field label{font-weight:700;font-size:14px}.field input,.field select{border:1px solid #cbd6e6;border-radius:11px;padding:12px;background:white;outline-color:var(--blue)}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.type{padding:13px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center;font-weight:700;color:#516078}.type.selected{border-color:var(--blue);box-shadow:0 0 0 2px #1463d922;color:var(--blue);background:#f4f8ff}.actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}.style-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.style{height:125px;border-radius:14px;border:3px solid transparent;text-align:left;padding:14px;color:white;font:800 16px Nunito;display:flex;align-items:end}.style:nth-child(1){background:linear-gradient(135deg,#1c6cd9,#83c6ff)}.style:nth-child(2){background:linear-gradient(135deg,#ff8b43,#ffd86b)}.style:nth-child(3){background:linear-gradient(135deg,#283c4d,#8bc6ae)}.style.selected{border-color:var(--ink);transform:scale(1.02)}.invite-link{border:1px solid var(--line);padding:13px;border-radius:11px;display:flex;align-items:center;gap:9px;overflow:hidden;color:var(--muted)}.invite-link span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.share{background:var(--pale);border-radius:12px;padding:11px 5px;color:var(--ink);font-weight:700;font-size:13px}.qr{height:148px;width:148px;margin:0 auto 18px;background:repeating-linear-gradient(90deg,#17233d 0 7px,#fff 7px 12px),repeating-linear-gradient(#fff 0 11px,transparent 11px 17px);border:12px solid white;outline:1px solid var(--line)}
.album-hero{height:290px;background-size:cover;background-position:center;position:relative;color:white}.album-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#142242a8,transparent 80%)}.album-hero .wrap{height:100%;position:relative;display:flex;align-items:end;padding-bottom:30px}.album-hero h1{font:900 38px/1 Nunito;margin:0}.album-hero p{margin:8px 0 0}.album-nav{background:white;border-bottom:1px solid var(--line)}.album-nav .wrap{height:62px;display:flex;align-items:center;justify-content:space-between}.gallery{columns:3;gap:16px;margin-top:24px}.media{break-inside:avoid;position:relative;margin:0 0 16px;border-radius:13px;overflow:hidden;background:#dce4ee;cursor:pointer}.media img{display:block;width:100%;min-height:145px;object-fit:cover}.media:hover:after{content:'♡';position:absolute;right:11px;bottom:10px;border-radius:50%;background:#ffffffdd;color:var(--blue);padding:6px 9px;font-size:20px}.byline{position:absolute;bottom:0;left:0;right:0;color:white;padding:23px 11px 9px;background:linear-gradient(transparent,#17233dab);font-size:13px;font-weight:700}.upload-zone{margin:28px auto 0;max-width:620px;border:2px dashed #b9cae2;border-radius:17px;background:#f9fbff;padding:26px;text-align:center}.previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.preview{width:85px;height:85px;position:relative;border-radius:9px;overflow:hidden}.preview img{width:100%;height:100%;object-fit:cover}.remove{position:absolute;right:4px;top:4px;border-radius:50%;background:#17233ddd;color:white;width:22px;height:22px}.quota{font-size:13px;color:var(--muted);margin:16px 0}.modal{position:fixed;inset:0;background:#17233d80;display:grid;place-items:center;padding:20px;z-index:20}.modal .panel{max-width:430px;width:100%}#toast{position:fixed;z-index:30;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;background:#17233d;color:#fff;border-radius:11px;padding:12px 18px;transition:.2s;pointer-events:none}#toast.show{transform:translate(-50%,0);opacity:1}
@media(max-width:760px){.wrap,.appmain{padding-left:18px;padding-right:18px}.nav .link{display:none}.hero{grid-template-columns:1fr;gap:5px;padding-top:38px}.polaroids{height:320px;order:2;transform:scale(.8);transform-origin:top left;width:125%}.hero h1{font-size:48px}.three,.album-grid{grid-template-columns:1fr}.types,.style-options{grid-template-columns:repeat(2,1fr)}.share-grid{grid-template-columns:repeat(2,1fr)}.gallery{columns:2}.topline{align-items:start;flex-direction:column}.album-hero{height:235px}.panel{padding:24px 18px}.foty{right:12%}}

/* Landing inspired by the approved TEJUNTO direction: photo-led, vivid blue and warm yellow. */
.landing { overflow:hidden; background:radial-gradient(circle at 46% 28%,#fff 0 42%,#fbfdff 76%,#f4f8ff 100%); }.landing-wrap {max-width:1480px;margin:auto;padding:0 42px}.brand-nav{height:105px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{position:relative;display:grid;color:#074bb8;font:900 55px/.72 Nunito,sans-serif;letter-spacing:-4px;min-width:235px}.brand small{font:700 15px/1 'DM Sans';letter-spacing:0;margin:11px 0 0 28px}.brand-rays{position:absolute;color:#ffb917;font:900 34px Nunito;left:-21px;top:-13px;transform:rotate(-15deg);letter-spacing:0}.brand-links{display:flex;gap:32px;align-items:center;white-space:nowrap}.brand-links a{font-weight:600;color:#003c9c}.brand-actions{display:flex;gap:15px;align-items:center;white-space:nowrap}.invite-nav,.secondary-cta{border:1.5px solid #075ee9;background:white;color:#0754d1;border-radius:26px;font-weight:700}.invite-nav{padding:13px 24px}.create-nav,.main-cta{border:0;color:white;background:linear-gradient(115deg,#0867ff,#0058dc);box-shadow:0 9px 18px #0058dc35;font-weight:800}.create-nav{padding:15px 38px;border-radius:27px}.account-icon{border:1px solid #bdd0f2;width:53px;height:53px;border-radius:50%;background:#fff;color:#0754d1;font-size:28px}.designed-hero{min-height:748px;display:grid;grid-template-columns:55% 31% 14%;align-items:center;position:relative}.memory-collage{height:690px;position:relative;transform:translateX(-20px)}.memory{position:absolute;margin:0;padding:10px 10px 28px;background:white;box-shadow:0 13px 26px #20304c2b;transform-origin:center;border-radius:2px}.memory img{display:block;width:100%;height:100%;object-fit:cover}.memory.wedding{width:250px;height:210px;left:235px;top:34px;transform:rotate(-12deg);z-index:3}.memory.trip{width:310px;height:260px;left:116px;top:208px;transform:rotate(8deg);z-index:4}.memory.friends{width:358px;height:292px;left:170px;top:173px;transform:rotate(14deg);z-index:7}.memory.beach{width:188px;height:156px;left:4px;top:275px;transform:rotate(-8deg);z-index:3}.memory.party{width:215px;height:175px;left:314px;top:420px;transform:rotate(-15deg);z-index:5}.memory.baby{width:178px;height:146px;left:202px;top:510px;transform:rotate(8deg);z-index:2}.memory.concert{width:247px;height:201px;left:58px;top:464px;transform:rotate(-10deg);z-index:6}.memory.lake{width:220px;height:178px;left:390px;top:128px;transform:rotate(7deg);z-index:2}.memory.table{width:220px;height:175px;left:379px;top:472px;transform:rotate(7deg);z-index:6}.hero-copy{align-self:center;position:relative;padding-left:0;margin-top:-36px;z-index:9}.wordmark{font:900 clamp(66px,7vw,122px)/.8 Nunito;color:#064ebd;letter-spacing:-7px;margin:0 0 36px}.wordmark span{font-size:.38em;color:#ffb916;vertical-align:top;margin-left:7px;letter-spacing:0}.hero-copy h1{color:#0643a3;font:900 clamp(38px,4vw,61px)/.98 Nunito;margin:0 0 18px;letter-spacing:-2.6px}.hero-copy h1 em{font-style:normal;color:#ffb718}.hero-copy p{max-width:420px;color:#315898;font-size:18px;line-height:1.42;margin:0 0 23px}.hero-cta{display:grid;gap:13px;width:285px}.main-cta,.secondary-cta{height:60px;font-size:17px}.main-cta{border-radius:29px}.main-cta b{font-size:25px;margin-left:15px}.secondary-cta{border-radius:29px}.hand-note{color:#0754be;font:900 35px/.6 Nunito;margin:13px 0 0 -15px;transform:rotate(-4deg)}.hand-note span{font:700 14px/1.35 Nunito;display:inline-block;margin-left:35px;transform:rotate(4deg)}.foty-side{align-self:end;position:relative;height:502px;margin-bottom:16px}.foty-figure{width:285px;height:350px;position:absolute;bottom:-24px;left:-45px;background-image:url('./foty.png');background-repeat:no-repeat;background-size:400% 200%;background-position:0 0;filter:drop-shadow(0 17px 14px #1d3c6e20)}.foty-note{position:absolute;color:#0754be;font:700 19px/1.25 Nunito;transform:rotate(-7deg);right:10px;top:17px;z-index:2}.benefits{max-width:1390px;margin:0 auto 44px;display:grid;grid-template-columns:repeat(4,1fr);padding:23px 12px;background:#fff;box-shadow:0 -7px 28px #083b8820;border-radius:26px}.benefits article{padding:0 27px;display:flex;gap:15px;align-items:center;border-right:1px solid #d7e4f5}.benefits article:last-child{border:0}.benefits i{display:grid;place-items:center;width:53px;height:53px;border-radius:50%;background:#edf5ff;color:#0754c5;font-size:28px;font-style:normal}.benefits b{display:block;color:#003d9d;font-weight:800}.benefits span{display:block;color:#7190c2;font-size:14px;line-height:1.3;margin-top:3px}
@media(max-width:1080px){.landing-wrap{padding:0 24px}.brand-links{display:none}.designed-hero{grid-template-columns:56% 44%;min-height:650px}.foty-side{display:none}.memory-collage{transform:scale(.85);transform-origin:center left}.benefits{margin-left:20px;margin-right:20px}.benefits article{padding:0 12px}.benefits i{width:43px;height:43px}.hero-copy{margin-left:-30px}}@media(max-width:700px){.landing-wrap{padding:0 18px}.brand-nav{height:85px}.brand{font-size:42px;min-width:150px}.brand small{font-size:11px;margin-left:14px}.brand-rays{font-size:25px;left:-12px}.invite-nav,.account-icon{display:none}.create-nav{padding:12px 17px;font-size:13px}.designed-hero{display:flex;flex-direction:column;min-height:0}.memory-collage{width:100%;height:350px;transform:scale(.55);transform-origin:top left;margin-bottom:-122px}.hero-copy{align-self:stretch;margin:0;padding:0 4px}.wordmark{font-size:74px;letter-spacing:-5px;margin-bottom:22px}.hero-copy h1{font-size:42px;letter-spacing:-2px}.hero-copy p{font-size:16px}.benefits{grid-template-columns:1fr 1fr;border-radius:18px;margin:38px 15px 25px;gap:18px;padding:20px 8px}.benefits article{border:0;padding:0 8px;align-items:start}.benefits i{width:38px;height:38px;font-size:20px}.benefits b{font-size:13px}.benefits span{font-size:12px}.hand-note{display:none}.landing .section{padding-top:50px}}
@media (min-width:701px) and (max-width:900px){.designed-hero{display:flex;flex-direction:column;min-height:0;padding-top:15px}.memory-collage{width:690px;max-width:100%;height:390px;transform:scale(.64);transform-origin:top center;margin-bottom:-125px}.hero-copy{align-self:stretch;max-width:510px;margin:0 auto;padding-bottom:35px}.wordmark{font-size:78px;margin-bottom:20px}.hero-copy h1{font-size:43px}.foty-side{display:none}.benefits{grid-template-columns:1fr 1fr;gap:16px}.benefits article:nth-child(2){border-right:0}.benefits article{border-bottom:1px solid #d7e4f5;padding-bottom:15px}.benefits article:nth-child(n+3){border-bottom:0}}

/* Collage real: las fotos se apilan desde el fondo hasta la foto protagonista. */
.memory { --tilt:0deg; opacity:0; transform:rotate(var(--tilt)); animation:stack-photo .52s cubic-bezier(.18,.9,.25,1) both; }
.memory.wedding { --tilt:-12deg; animation-delay:.14s; }.memory.trip { --tilt:8deg; animation-delay:.28s; }.memory.friends { --tilt:14deg; animation-delay:.82s; }.memory.beach { --tilt:-8deg; animation-delay:.36s; }.memory.party { --tilt:-15deg; animation-delay:.65s; }.memory.baby { --tilt:8deg; animation-delay:.47s; }.memory.concert { --tilt:-10deg; animation-delay:.56s; }.memory.lake { --tilt:7deg; animation-delay:.05s; }.memory.table { --tilt:7deg; animation-delay:.73s; }
@keyframes stack-photo { from { opacity:0; transform:translate(-34px,-42px) rotate(var(--tilt)) scale(.82); } to { opacity:1; transform:translate(0,0) rotate(var(--tilt)) scale(1); } }
@media (prefers-reduced-motion:reduce){.memory{animation:none;opacity:1;transform:rotate(var(--tilt))}}

/* Creación de álbum: primer flujo tras la portada. */
.create-page{background:linear-gradient(135deg,#f3f7ff 0%,#fff 52%,#fff8e8 100%)}.create-page .appmain{max-width:1200px;padding-top:54px}.create-shell{display:grid;grid-template-columns:340px minmax(0,620px);justify-content:center;gap:42px;align-items:stretch}.create-aside{position:relative;overflow:hidden;min-height:570px;border-radius:28px;padding:43px 34px;color:#fff;background:linear-gradient(150deg,#0756cc,#0b83ec);box-shadow:0 22px 45px #0d5dc331;display:flex;flex-direction:column;z-index:0}.create-aside>*:not(.aside-orbit){position:relative;z-index:2}.aside-orbit{position:absolute;border:1px solid #ffffff40;border-radius:50%;z-index:1}.orbit-one{width:380px;height:380px;top:-175px;right:-210px}.orbit-two{width:290px;height:290px;bottom:-175px;left:-170px}.aside-icon{width:69px;height:69px;display:grid;place-items:center;border-radius:22px;background:#ffffff25;border:1px solid #ffffff48;font-size:32px;margin-bottom:58px}.create-aside span{font-size:12px;font-weight:800;letter-spacing:.1em}.create-aside h2{font:900 35px/1.03 Nunito;margin:12px 0 14px;letter-spacing:-1.5px}.create-aside p{margin:0;line-height:1.45;color:#e2f1ff}.aside-points{display:grid;gap:12px;margin-top:auto;font-size:14px}.aside-points b{font-weight:600}.create-wizard{max-width:none;margin:0}.create-progress{display:flex;align-items:center;gap:10px;margin:9px 8px 24px}.progress-item{display:flex;align-items:center;gap:7px;color:#8290a5;font-size:13px;font-weight:800;white-space:nowrap}.progress-item i{display:grid;place-items:center;width:25px;height:25px;border:1px solid #cbd6e6;border-radius:50%;font-style:normal;font-size:12px;background:#fff}.progress-item.current,.progress-item.done{color:#075edc}.progress-item.current i{background:#075edc;border-color:#075edc;color:#fff;box-shadow:0 5px 11px #075edc35}.progress-item.done i{background:#e9f3ff;border-color:#92bcfa}.create-progress em{height:1px;flex:1;background:#dbe4f1}.create-panel{padding:38px 42px;border:0;box-shadow:0 18px 48px #1e43721a}.create-panel h1{font-size:34px}.create-panel>p{font-size:16px;margin-bottom:29px}.create-panel .field{margin:19px 0}.create-panel .field small{color:#7e8ba0;font-size:12px}.create-panel .types{grid-template-columns:repeat(3,1fr);gap:9px}.create-panel .type{min-height:50px;padding:9px 6px;font-size:13px}.create-panel .actions{margin-top:31px;padding-top:20px;border-top:1px solid #edf0f5}
@media(max-width:820px){.create-page .appmain{padding:25px 18px 60px}.create-shell{grid-template-columns:1fr;gap:20px}.create-aside{display:none}.create-panel{padding:27px 21px}.create-progress{margin:5px 3px 18px}.progress-item span{display:none}.create-panel .types{grid-template-columns:repeat(2,1fr)}}

.step-kicker{color:#0a67da;font-size:12px;font-weight:800;letter-spacing:.09em;margin-bottom:8px}.themed-styles{grid-template-columns:repeat(3,1fr);gap:12px}.themed-styles .style{height:150px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:2px;padding:15px;border-radius:17px;box-shadow:inset 0 -60px 50px #10234a36}.themed-styles .style b{font:800 16px Nunito}.themed-styles .style span{font-size:12px;font-weight:600;opacity:.9}.themed-styles .style-blue{background:linear-gradient(135deg,#1268e0,#8ecbff)}.themed-styles .style-sun{background:linear-gradient(135deg,#f06437,#ffd265)}.themed-styles .style-nature{background:linear-gradient(135deg,#346c61,#b9dba9)}.themed-styles .style.selected{border-color:#075edc;box-shadow:0 0 0 3px #075edc24,inset 0 -60px 50px #10234a36}.moderation-card{margin-top:25px;padding:16px 17px;border:1px solid #e0e8f3;border-radius:14px;background:#f8fbff;display:flex;gap:15px;align-items:center;justify-content:space-between}.moderation-card b,.moderation-card span{display:block}.moderation-card b{font-size:14px}.moderation-card span{font-size:12px;color:#75839a;margin-top:2px}.moderation-card select{max-width:220px;border:1px solid #cbd6e6;border-radius:9px;padding:10px;background:#fff;color:#30415d}.invite-preview{display:grid;grid-template-columns:155px 1fr;gap:23px;align-items:center;padding:19px;background:#f6faff;border:1px solid #dbe8fa;border-radius:18px}.invite-preview .qr{width:130px;height:130px;margin:0;background-color:#fff}.invite-preview b,.invite-preview span{display:block}.invite-preview b{font:800 18px Nunito}.invite-preview>div>span{font-size:13px;color:#65748c;margin:5px 0 13px;line-height:1.4}.invite-preview .invite-link{padding:9px;background:#fff;font-size:12px}.invite-preview .btn{padding:6px 9px}.share-grid .share{line-height:1.6}.share-grid .share:first-letter{font-size:18px}@media(max-width:560px){.themed-styles{grid-template-columns:1fr}.themed-styles .style{height:105px}.moderation-card{align-items:stretch;flex-direction:column}.moderation-card select{max-width:none}.invite-preview{grid-template-columns:1fr;gap:13px}.invite-preview .qr{margin:auto}.invite-preview .invite-link{margin-top:8px}}

/* Pantalla de subida: acciones claras y sin botones superpuestos. */
.upload-panel{padding:38px;}.upload-heading .eyebrow{display:block;margin-bottom:9px}.upload-heading h1{margin-bottom:9px}.upload-heading p{margin-bottom:23px}.upload-panel .quota{padding:12px 14px;border-radius:12px;background:#f4f8ff;border:1px solid #dce9fb;margin:0;color:#53667f}.upload-panel .upload-zone{display:block;cursor:pointer;margin-top:22px;padding:38px 26px;transition:border-color .2s,background .2s}.upload-panel .upload-zone:hover{border-color:#1463d9;background:#f2f7ff}.upload-panel .upload-zone strong{font:800 18px Nunito;color:#17345f}.upload-panel .upload-zone .subtitle{display:inline-block;margin-top:4px}.upload-panel .previews{min-height:0;margin-top:18px}.upload-actions{margin-top:32px;padding-top:22px;border-top:1px solid #e7edf5}.upload-actions .btn{min-width:132px}@media(max-width:640px){.appbar{height:auto;min-height:72px}.appbar .wrap{min-height:72px;padding-top:8px;padding-bottom:8px;gap:10px}.appbar .logo{width:150px;height:48px}.appbar .nav-actions{gap:7px}.appbar .nav-actions .link{display:none}.appbar .btn.small{padding:9px 11px;font-size:12px}.upload-panel{padding:25px 18px}.upload-actions{display:grid;grid-template-columns:1fr 1fr}.upload-actions .btn{width:100%;min-width:0}.upload-panel .upload-zone{padding:30px 16px}}

/* Acción principal dentro de la portada del álbum. */
.album-hero-wrap{position:relative}.album-add-photos{position:absolute;top:22px;left:28px;padding:11px 17px;border-radius:12px;background:#ffffffed;color:#0756cc;font:800 14px Nunito;box-shadow:0 7px 18px #0b254347;backdrop-filter:blur(5px)}.album-add-photos:hover{background:#fff;transform:translateY(-1px)}@media(max-width:640px){.album-add-photos{top:16px;left:18px;padding:10px 13px;font-size:12px}.album-hero .wrap{padding-bottom:22px}}
.album-cover-menu{position:absolute;top:22px;right:28px;z-index:5}.album-cover-menu summary{list-style:none;border-radius:11px;padding:10px 13px;background:#ffffffed;color:#0756cc;font:800 13px Nunito;box-shadow:0 7px 18px #0b254347;backdrop-filter:blur(5px);cursor:pointer}.album-cover-menu summary::-webkit-details-marker{display:none}.album-cover-menu>div{position:absolute;right:0;top:calc(100% + 7px);min-width:145px;padding:6px;background:#fff;border-radius:11px;box-shadow:0 10px 26px #09244a3a}.album-cover-menu label,.album-cover-menu button{display:block;width:100%;padding:9px 10px;border-radius:7px;background:transparent;color:#24436d;text-align:left;font:700 13px 'DM Sans';cursor:pointer}.album-cover-menu label:hover,.album-cover-menu button:hover{background:#edf5ff}.album-cover-menu button{color:#a33333}@media(max-width:640px){.album-cover-menu{top:16px;right:18px}.album-cover-menu summary{padding:9px 10px;font-size:11px}}
.media.missing-media{min-height:145px;background:linear-gradient(135deg,#eaf1fa,#dfe9f6)}.media.missing-media:before{content:'Esta imagen ya no está disponible en la demo';display:grid;place-items:center;min-height:145px;padding:20px;text-align:center;color:#62738c;font-size:13px}
.media-viewer{background:#0a172de8;place-items:center;padding:38px;cursor:zoom-out}.viewer-content{max-width:min(1100px,92vw);max-height:calc(100vh - 76px);display:grid;place-items:center;gap:10px;cursor:default}.viewer-content img{display:block;max-width:100%;max-height:calc(100vh - 130px);object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #0008}.viewer-content p{margin:0;color:#fff;font-size:14px}.viewer-close{position:fixed;right:24px;top:20px;width:44px;height:44px;border-radius:50%;background:#ffffffeb;color:#12315c;font-size:32px;line-height:1;z-index:22}@media(max-width:640px){.media-viewer{padding:20px}.viewer-close{right:14px;top:13px;width:40px;height:40px}.viewer-content img{max-height:calc(100vh - 105px)}}
.viewer-social{width:min(760px,100%);color:#fff}.reaction-picker{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}.reaction-picker button{background:#ffffffeb;color:#17345f;border-radius:18px;padding:5px 8px;font-size:17px}.reaction-picker button:hover{background:#fff;transform:translateY(-1px)}.reaction-picker small{font:700 11px 'DM Sans';vertical-align:middle}.comment-list{max-height:120px;overflow:auto;display:grid;gap:5px;margin-bottom:10px}.comment-list p{padding:7px 9px;background:#ffffff18;border-radius:8px;font-size:13px}.comment-list .no-comments{color:#dce7fb}.comment-form{display:flex;gap:8px}.comment-form input{min-width:0;flex:1;border:0;border-radius:10px;padding:10px 12px}.comment-form button{border-radius:10px;background:#fff;color:#0756cc;padding:10px 14px;font-weight:800}@media(max-width:640px){.reaction-picker{gap:4px}.reaction-picker button{font-size:15px;padding:4px 6px}.comment-form button{padding:10px}.comment-list{max-height:92px}}
.media-reactions{position:absolute;right:8px;top:9px;z-index:3;display:grid;gap:5px;pointer-events:none}.media-reactions span{display:flex;align-items:center;gap:3px;padding:4px 6px;border-radius:14px;background:#fffffff2;box-shadow:0 3px 10px #0d24442b;font-size:16px}.media-reactions b{font:800 10px 'DM Sans';color:#183b6b}
.media:hover:after{content:none}
.album-cover-menu .cancel-cover-menu{color:#24436d;border-top:1px solid #e5ebf4;margin-top:4px}
