:root{--bg:#fffaf7;--white:#fff;--ink:#34232b;--muted:#847580;--rose:#b83761;--rose-deep:#8f284e;--soft-rose:#fbe5e8;--peach:#ffeddf;--border:#f0e5e6;--shadow:0 18px 60px rgba(106,48,68,.09);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 'DM Sans',system-ui,-apple-system,sans-serif;overflow-x:hidden}body:not(.story-body){min-height:100vh}img{max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:hover{color:var(--rose)}h1,h2,h3,h4,p{margin:0 0 .9rem}h1,h2,h3{line-height:1.2;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5vw,5rem)}h2{font-size:clamp(2rem,3.5vw,3.5rem)}h3{font-size:1.2rem}em{font-family:'Playfair Display',Georgia,serif;font-weight:500;color:var(--rose)}strong{font-weight:750}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #e69bae;outline-offset:3px}.container{width:min(1160px,calc(100% - 40px));margin:0 auto}.section{padding:82px 0}.eyebrow,.tiny-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;font-weight:800;color:var(--rose)}.muted{color:var(--muted)}.small{font-size:.83rem}.lead{font-size:1.17rem;line-height:1.9;color:#675660}.centered{text-align:center}.section-heading{max-width:725px;margin-bottom:42px}.section-heading.centered{margin-left:auto;margin-right:auto}.section-heading h1,.section-heading h2{margin:13px 0 17px}.section-heading p{color:var(--muted)}.left{margin-left:0}.stack>*+*{margin-top:17px}.compact>*+*{margin-top:9px}.wide{width:100%;justify-content:center}.inline-form{display:inline-flex;vertical-align:middle}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 22px;border-radius:100px;font-weight:700;border:1px solid transparent;min-height:45px;transition:.2s ease;background:transparent;color:var(--rose);text-align:center;cursor:pointer}.btn:hover{transform:translateY(-2px);color:var(--rose-deep)}.btn.primary{background:linear-gradient(120deg,#c0446b,#a92d55);color:white;box-shadow:0 10px 24px rgba(174,45,86,.19)}.btn.primary:hover{box-shadow:0 16px 28px rgba(174,45,86,.27);color:white}.btn.ghost{background:#fff0f0;color:#a92d55}.btn.outline{border-color:#e9cbd1;background:#fff;color:#9e3859}.btn.danger{color:#9b2444;background:#fff0f2;border-color:#f5cbd3}.btn.whatsapp{background:#e7f8e9;color:#137b44}.btn.small{font-size:.8rem;padding:8px 14px;min-height:34px}.btn.large{padding:17px 29px;min-height:54px}.status{display:inline-flex;border-radius:100px;padding:4px 10px;font-size:.73rem;line-height:1.4;font-weight:800;white-space:nowrap}.status.ok{background:#dff8e7;color:#207747}.status.wait{background:#fff2d8;color:#9f651a}.status.bad{background:#ffe7e9;color:#a02945}.btn-row,.table-actions{display:flex;gap:8px;flex-wrap:wrap}.link-danger{color:#ae3955;background:transparent;border:0;text-decoration:underline;font-size:.9rem;padding:5px}.link-danger:hover{color:#73243a}.panel{background:white;border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}.panel h2{font-size:1.7rem}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.alert{padding:13px 17px;border-radius:14px;font-weight:650;margin:10px 0 18px;border:1px solid transparent}.alert.success{background:#e5f8ed;border-color:#c1e6ce;color:#257648}.alert.info{background:#eaf1ff;border-color:#c9d9ff;color:#315989}.alert.error{background:#fff0f2;border-color:#ffd0d9;color:#a83353}.flash-wrap{position:fixed;z-index:1200;right:24px;top:85px;max-width:min(430px,calc(100% - 48px));box-shadow:0 12px 45px #50223529;border-radius:14px}.flash-wrap .alert{margin:0}.field{display:flex;flex-direction:column;gap:7px;font-size:.87rem;font-weight:700;color:#6a4e5b}.field input,.field select,.field textarea,input:not([type='checkbox']):not([type='radio']),textarea,select{min-width:0;max-width:100%;width:100%;border:1px solid #eddfe1;border-radius:11px;background:#fff;outline:none;min-height:45px;padding:11px 13px;color:#30232b;transition:border-color .15s,box-shadow .15s}.field input:focus,.field textarea:focus,.field select:focus{border-color:#c85678;box-shadow:0 0 0 3px #f6dfe5}.field textarea{resize:vertical;min-height:90px}.field input[type='file']{font-size:.77rem;cursor:pointer}.field input[type='color']{padding:5px;height:45px}.field audio{width:100%;height:40px}.field.full{grid-column:1/-1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .field{margin:0}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check{display:flex;align-items:center;gap:11px;background:#fffbfa;border:1px solid #f0e2e4;border-radius:13px;padding:11px;cursor:pointer;font-size:.9rem;font-weight:600}.check input{accent-color:#b83761;width:17px;height:17px}.topbar{background:rgba(255,250,247,.97);border-bottom:1px solid #f4e9e9;position:sticky;top:0;z-index:70;backdrop-filter:blur(12px)}.nav-row{display:flex;align-items:center;justify-content:space-between;height:72px}.wordmark{font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.65rem;display:flex;align-items:center;gap:10px;letter-spacing:-.06em}.wordmark:hover{color:var(--rose)}.brand-heart{display:inline-grid;place-items:center;border-radius:13px;background:#b6375b;color:#fff;width:39px;height:39px;font-size:1.5rem}.logo-img{width:42px;height:42px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:24px}.site-nav>a:not(.btn),.site-nav .nav-link{font-size:.88rem;font-weight:700;color:#644b55}.nav-link{border:0;background:transparent;cursor:pointer}.site-nav>a:hover,.site-nav .nav-link:hover{color:var(--rose)}.hamburger{display:none;background:#fff;border:1px solid var(--border);border-radius:12px;font-size:1.4rem;color:var(--rose);padding:4px 11px}.footer{background:#fff;border-top:1px solid var(--border);padding:30px 0}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:15px}.footer p{font-size:.87rem;margin:4px 0 0;color:var(--muted)}.footer-right{display:flex;gap:20px;font-size:.8rem;color:var(--muted)}
/* Homepage */
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;min-height:700px;gap:55px;padding:48px 0 90px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.18;font-size:clamp(3.2rem,5.2vw,5rem);margin:20px 0 24px}.hero-copy .lead{max-width:555px}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 22px}.trust-line{font-size:.76rem;color:#88727a;max-width:460px}.trust-line strong{color:#8f5369}.mini-heart{color:var(--rose)}.eyedot{display:inline-block;border-radius:50%;width:8px;height:8px;background:#d45677;box-shadow:0 0 0 5px #ffe6eb;margin-right:6px}.hero-visual{min-height:570px;position:relative;display:flex;align-items:center;justify-content:center}.orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.orb-one{width:405px;height:405px;background:radial-gradient(circle,#ffe0d3 3%,#fddfe7 55%,transparent 72%)}.orb-two{width:140px;height:140px;top:30px;right:45px;background:#f8d0d7;filter:blur(35px)}.phone-mock{width:267px;height:533px;background:#1e1620;border:8px solid #312531;border-radius:41px;box-shadow:0 32px 75px rgba(68,24,42,.3),0 0 0 2px #d2a7af;position:relative;transform:rotate(7deg);padding:5px;z-index:2}.phone-screen{position:relative;border-radius:29px;height:100%;background:radial-gradient(circle at 60% 20%,#fcece9,transparent 50%),linear-gradient(157deg,#f8d4d6,#f5eae2 60%,#ec9ea9);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:20px}.phone-top{width:93px;height:22px;background:#191419;position:absolute;z-index:3;left:calc(50% - 46px);top:13px;border-radius:25px}.story-stars{font-size:1.2rem;color:#c57e92;letter-spacing:12px;margin-bottom:24px}.tiny-label{font-size:.53rem;letter-spacing:.15em;color:#ab677c}.huge-heart{font-size:7rem;line-height:1.2;color:#be4e75;text-shadow:0 8px 25px #b45b7045;animation:heartbeat 2.6s ease-in-out infinite}.phone-title{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;line-height:1.25;margin-bottom:20px}.phone-title i{color:#a43858}.phone-tag{font-size:.58rem;letter-spacing:.05em;color:#925d70}.phone-tap{border:1px solid #be7890;border-radius:50%;width:36px;height:36px;display:grid;place-items:center;margin-top:35px;color:#9e4865}.love-note{position:absolute;background:#fffefc;padding:18px;box-shadow:0 16px 32px #6f355329;border-radius:12px;z-index:3;transform:rotate(-9deg);font-size:.88rem;color:#895466}.love-note strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.4rem}.note-left{top:70px;left:0}.note-left span{color:#d68190;font-size:1.3rem}.note-right{bottom:65px;right:-15px;transform:rotate(8deg);width:205px}.note-right .seal{font-size:2rem;color:#b83761}.note-right small{display:block;font-size:.67rem;color:#987a83}.proof-bar{background:#fff1ed;border-top:1px solid #f7e0dd;border-bottom:1px solid #f7e0dd}.proof-content{display:flex;justify-content:space-around;flex-wrap:wrap;gap:25px;padding:22px 0;color:#996475;font-weight:700;font-size:.81rem}.steps-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.step-card{background:#fff;border:1px solid var(--border);border-radius:22px;padding:29px 22px;box-shadow:0 9px 26px #783d4e0a}.step-icon{height:53px;width:53px;border-radius:18px;background:#fbe7e7;color:#b83660;font-size:1.9rem;display:grid;place-items:center;margin-bottom:20px}.step-number{font:700 .75rem 'DM Sans',sans-serif;color:#cb8c9b;letter-spacing:.1em}.step-card h3{margin:8px 0}.step-card p{color:var(--muted);font-size:.87rem}.features-section{background:linear-gradient(160deg,#fff3f0,#fff6f7);padding:85px 0}.features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature{padding:30px;border:1px solid #f3dddd;background:rgba(255,255,255,.7);border-radius:18px}.feature span{font-size:1.75rem}.feature h3{margin-top:12px}.feature p{font-size:.9rem;color:#836b75}.cta-section{margin:75px auto;border-radius:30px;background:linear-gradient(120deg,#fbdfe3,#fceadf);padding:60px 85px;display:flex;align-items:center;gap:80px}.cta-section>div:last-child{max-width:620px}.cta-art{font-size:10rem;color:#c04b70;text-shadow:0 15px 0 #e8b3c0;line-height:1}.cta-section p{color:#806572;margin-bottom:25px}
/* Auth */
.auth-bg{background:radial-gradient(circle at 7% 50%,#f7d5d4 0,transparent 45%),#fff7f4}.auth-layout{display:grid;grid-template-columns:1fr 470px;gap:70px;align-items:center;min-height:calc(100vh - 150px);padding:65px 0}.auth-promo{max-width:580px;padding-left:20px;position:relative}.auth-promo h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.7rem,4.4vw,4.3rem);font-weight:500;margin:16px 0}.auth-promo p{color:var(--muted)}.auth-sparkle{font-size:2.5rem;color:#d89eae;margin-bottom:30px}.auth-illustration{position:relative;width:250px;height:220px;margin:35px auto 0;color:#be4569;font-size:10rem;display:grid;place-items:center;background:radial-gradient(circle,#f6cdd1,transparent 68%)}.auth-illustration span{position:absolute;bottom:25px;right:-50px;color:#994d65;background:white;border-radius:8px;padding:10px 17px;box-shadow:var(--shadow);font-family:'Playfair Display',Georgia,serif;font-size:1.1rem;transform:rotate(8deg)}.auth-card{background:#fff;border:1px solid #f3e5e5;border-radius:28px;box-shadow:0 22px 70px #9635511b;padding:40px}.auth-card h2{font-size:2rem;margin:11px 0}.auth-card>p{margin-bottom:23px}.auth-switch{margin:20px 0 0;text-align:center;color:var(--muted);font-size:.91rem}.auth-switch a{font-weight:800;color:var(--rose)}.password-field{position:relative}.password-field input{padding-right:60px}.pass-toggle{position:absolute;right:10px;top:7px;color:#ad4564;background:#fff;border:0;padding:5px 9px;font-size:.85rem;font-weight:700}
/* App dashboard */
.dashboard-page,.admin-page,.editor-page{background:radial-gradient(circle at top left,#faeae5,transparent 36%),#fffaf8;min-height:75vh}.dash-header,.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:30px}.dash-header h1,.editor-heading h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(2.1rem,4.5vw,3.9rem);margin:8px 0}.sparkle{color:#df9aa9}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:28px 0 60px}.stat{background:white;padding:24px 27px;border-radius:18px;border:1px solid var(--border);display:flex;flex-direction:column;gap:7px;box-shadow:0 8px 26px #9f44660a}.stat>span{color:#8e7380;font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.stat strong{font-size:2.2rem;line-height:1.1;font-weight:800;letter-spacing:-.04em;color:#893656}.stat small{font-size:.78rem;color:var(--muted)}.gifts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 60px}.gift-card{overflow:hidden;border-radius:20px;border:1px solid var(--border);background:#fff;box-shadow:var(--shadow)}.gift-card-image{height:168px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 50% 45%,#fbdadf,#f9afb8);background-size:cover;background-position:center}.gift-card-image.has-cover:after{content:'';background:#712d4870;position:absolute;inset:0}.gift-card-heart{font-size:4.7rem;color:#fff;z-index:1;text-shadow:0 4px 20px #9e496464}.gift-card-image .status{position:absolute;top:15px;right:15px;z-index:2}.gift-card-content{padding:23px}.gift-card-content h3{font-size:1.4rem;margin:6px 0}.gift-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.empty-state{border:2px dashed #ebced2;padding:60px 20px;text-align:center;background:#fff5f5;border-radius:22px;margin:20px 0 50px}.empty-state .empty-art{font-family:Georgia,serif;font-size:6rem;line-height:1;color:#cf748a}.empty-state p{color:var(--muted);margin-bottom:20px}.empty-state.mini{padding:30px;margin:0}.new-gift-panel{display:grid;grid-template-columns:.82fr 1.18fr;border-radius:25px;overflow:hidden;box-shadow:var(--shadow);background:#fff;margin:20px 0 0}.new-gift-art{padding:42px;background:linear-gradient(135deg,#b53864,#e58ba0);color:#fff;display:flex;flex-direction:column;justify-content:center}.new-gift-art>div{font-size:5.3rem;line-height:1}.new-gift-art strong{font-family:'Playfair Display',Georgia,serif;font-size:2.1rem;line-height:1.3;margin-top:18px}.new-gift-art em{color:#ffe8e6}.new-gift-art p{color:#ffeff1}.new-gift-form{padding:38px}.new-gift-form h3{font-size:1.55rem;margin:10px 0 22px}.new-gift-form>p{margin:16px 0}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.profile-grid h2{margin-bottom:25px}
/* Admin */
.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:30px}.admin-stats .stat strong{font-size:1.85rem}.admin-tabs,.editor-tabs{display:flex;gap:8px}.admin-tabs{margin:30px 0 20px;overflow-x:auto}.admin-tabs a{padding:11px 20px;border-radius:13px;font-weight:700;white-space:nowrap;background:#fff;color:#7e6974;border:1px solid var(--border)}.admin-tabs a.active{background:#bb456d;color:#fff;border-color:#bb456d}.admin-payment-list{display:flex;flex-direction:column;gap:14px}.payment-row{display:grid;grid-template-columns:1.3fr 145px 1.2fr;gap:20px;align-items:center;border:1px solid #f0dee4;border-radius:15px;padding:18px;background:#fffcfc}.payment-summary{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.payment-summary strong small{color:#9d8290}.payment-check img{height:115px;width:120px;object-fit:cover;border-radius:10px;border:1px solid #e5d6dc}.payment-check .proof-link{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:.7rem;text-align:center;color:var(--rose)}.no-proof{background:#fff5f5;color:#ab8c98;border-radius:10px;padding:22px 10px;text-align:center;font-size:.78rem}.payment-controls .field textarea{min-height:55px}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.87rem;text-align:left;min-width:670px}.data-table td,.data-table th{padding:16px 11px;border-bottom:1px solid #f1e8eb;vertical-align:top}.data-table th{background:#fff6f7;text-transform:uppercase;letter-spacing:.06em;color:#8c5c70;font-size:.7rem}.data-table small{color:var(--muted)}.table-actions a{color:var(--rose);text-decoration:underline}.user-detail{margin-top:8px}.user-detail summary{cursor:pointer;color:var(--rose)}.user-detail form{margin:8px 0}.settings-panel{max-width:900px}.settings-panel .form-section-title{margin-top:30px}
/* Editor */
.back-link{color:var(--rose);display:inline-block;font-size:.87rem;margin-bottom:15px;font-weight:700}.editor-shell{display:grid;grid-template-columns:235px minmax(0,1fr);gap:24px;align-items:start}.editor-sidebar{position:sticky;top:97px}.side-title{letter-spacing:.13em;color:#a56c7d;font-weight:800;font-size:.7rem;margin:8px 8px 14px}.editor-tabs{display:flex;flex-direction:column;gap:6px}.editor-tabs a{border-radius:11px;padding:12px 16px;color:#756574;font-weight:750;display:flex;align-items:center;gap:10px}.editor-tabs a span{font-size:1.3rem;color:#bb4a70}.editor-tabs a:hover{background:#fff0f2}.editor-tabs a.active{background:#b63c61;color:#fff;box-shadow:0 10px 20px #b63c6122}.editor-tabs a.active span{color:white}.sidebar-preview{border-radius:20px;background:linear-gradient(145deg,#fae4e3,#fcefeb);padding:25px;text-align:center;margin-top:25px;display:flex;align-items:center;flex-direction:column}.sidebar-preview>div{color:#ba456e;font-size:3.2rem;line-height:1}.sidebar-preview strong{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem}.sidebar-preview small{color:#8f6f7a}.sidebar-preview a{color:#a93459;font-weight:700;text-decoration:underline;margin-top:10px}.editor-main>.panel{max-width:920px}.edit-badge{border-radius:20px;background:#fff3e0;padding:6px 10px;font-size:.75rem;color:#af703a;font-weight:700}.form-section-title{display:flex;align-items:center;gap:12px;margin:22px 0 14px;padding-bottom:10px;border-bottom:1px solid #f4e5e9}.form-section-title span{border-radius:9px;background:#fbe9ec;color:#a93b60;font-weight:800;padding:6px 9px;font-size:.8rem}.form-section-title h3{margin:0;font-size:1.03rem}.thumb{max-height:120px;max-width:170px;object-fit:cover;margin:7px 0;border-radius:10px}.remove-files{border-top:1px solid #f1e3e7;margin-top:30px;padding-top:20px}.remove-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f5e9ec;padding:8px 0}.photo-upload{background:#fff6f7;padding:22px;border:1px dashed #dfbac6;border-radius:14px;margin:20px 0}.photo-manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.manage-photo{border-radius:14px;overflow:hidden;border:1px solid #f0e4e7;padding-bottom:13px}.manage-photo>img{width:100%;aspect-ratio:1;object-fit:cover}.manage-photo form{padding:10px 13px 0}.item-accordion{margin:14px 0;background:#fff;border:1px solid var(--border);border-radius:13px;padding:16px}.item-accordion summary{cursor:pointer;font-weight:800;display:flex;justify-content:space-between;gap:15px}.item-accordion summary span{font-size:.8rem;color:var(--muted);font-weight:500}.item-accordion form{margin-top:18px}.subpanel{border:1px dashed #ecc4d0;border-radius:15px;background:#fff7f8;padding:20px;margin-top:25px}.subpanel h3{margin:0 0 20px}.activation-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:25px;align-items:start}.activation-hero{background:linear-gradient(155deg,#ab2e5d,#d56c8b);border-radius:23px;padding:40px;color:white;position:relative;overflow:hidden}.activation-hero .eyebrow{color:#ffccd8}.activation-hero h2{font-family:'Playfair Display',Georgia,serif;font-size:2.9rem;font-weight:500}.activation-hero em{color:#ffe6db}.activation-hero>p{color:#ffeef1}.activation-icon{font-size:5.5rem;line-height:1.2;color:#ffcbd8}.price-badge{padding:22px;border-radius:15px;background:#ffffff24;border:1px solid #ffffff55;display:flex;flex-direction:column;align-items:start;margin:25px 0 14px}.price-badge strong{font-size:2rem;line-height:1.2}.price-badge small{color:#ffe8ee}.nequi-block{background:#fff;color:#8b2d50;display:flex;align-items:start;flex-direction:column;padding:20px;border-radius:13px;margin-bottom:20px}.nequi-block strong{font-size:2rem;line-height:1.2}.copy-link{border:0;background:#ffe9ef;color:#9f3457;border-radius:8px;padding:6px 10px;font-weight:700;margin-top:10px}.activation-form h2{font-size:1.75rem;margin:10px 0 19px}.activation-form .field input[type=file]{padding:9px}.proof-preview{max-height:270px;max-width:100%;border-radius:15px;object-fit:contain;display:block;margin-bottom:24px}.status-list{margin-top:35px;border-top:1px solid var(--border);padding-top:20px;display:grid;gap:13px;color:#8b7480;font-size:.85rem}.status-list>div:first-child,.status-list>div:nth-child(2){color:#258555}.activation-form .inline-form{margin-top:25px}.share-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:25px;align-items:start;margin:26px 0}.share-url{display:flex;align-items:center;gap:5px}.share-url input{font-size:.83rem}.share-actions{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.publish-form{background:#fff9f9;border:1px solid #f1e4e8;border-radius:12px;padding:18px;margin-top:28px}.publish-status{display:flex;flex-direction:column;align-items:start;gap:6px;margin-bottom:14px}.qr-card{background:white;border:1px solid #f1e3e7;border-radius:16px;padding:20px;text-align:center}.qr-card svg{max-width:100%;height:auto;display:block;margin:0 auto}.qr-card>span{display:block;font-size:.75rem;color:var(--muted);margin:10px 0}.danger-zone{margin-top:30px}.danger-zone p{color:var(--muted)}
/* Viewer */
.story-body{background:#fff4f1;color:#542f3e;--story-accent:#b83761;font-family:Georgia,'Times New Roman',serif}.story-body.theme-noche{background:#201629;color:#f6e8ee;--surface:#35233a;--story-text:#f7e9ee;--card:#37263a}.story-body.theme-rosa{--surface:#fff3f0;--story-text:#593344;--card:#fffaf7}.story-body.theme-dorado{background:#fff4e8;--surface:#fff0e2;--story-text:#69442f;--card:#fffaf2}.story-body.theme-lavanda{background:#f8f2ff;--surface:#f1e7fa;--story-text:#533d65;--card:#fbf8ff}.story-body h1,.story-body h2,.story-body h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.03em}.story-body h2{font-size:clamp(2rem,5vw,3.6rem)}.story-body h2 em{color:var(--story-accent)}.story-body p{font-family:Georgia,serif;line-height:1.95}.story-body button{font-family:'DM Sans',sans-serif}.preview-ribbon{position:fixed;z-index:1300;top:0;left:0;right:0;background:#fff1c3;color:#694b20;text-align:center;font:700 .76rem 'DM Sans',sans-serif;padding:6px}.preview-ribbon~.heart-gate{padding-top:20px}.heart-gate{position:fixed;inset:0;z-index:1000;background:radial-gradient(ellipse at 50% 35%,#ffe9e2 0,#fff3f0 50%,#f7d2d4 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px;transition:opacity .8s ease,visibility .8s}.theme-noche .heart-gate{background:radial-gradient(ellipse at 50% 40%,#55394d,#261c33 80%);color:#ffeef1}.theme-lavanda .heart-gate{background:radial-gradient(circle,#fef4ff,#dccdf1)}.theme-dorado .heart-gate{background:radial-gradient(circle,#fff7e5,#f5d7b5)}.heart-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}.gate-kicker,.story-overline,.story-eyebrow{font:800 .7rem 'DM Sans',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--story-accent)}.gate-petals{font-size:2rem;letter-spacing:.5em;color:#d786a1;margin-bottom:25px;animation:float 3s ease-in-out infinite}.heart-gate h1{font-size:clamp(2.1rem,4.5vw,4rem);max-width:650px;font-weight:500;margin:10px 0 25px}.heart-gate>p{font-size:.85rem;color:#a56f80;margin:13px 0 20px}.heart-gate>small{font-style:italic;font-size:.92rem}.open-heart{border:0;background:transparent;color:var(--story-accent);font-size:clamp(7rem,23vw,12rem);filter:drop-shadow(0 10px 18px #be5e8155);line-height:1.2;animation:heartbeat 1.75s ease-in-out infinite;transition:transform .15s}.open-heart:hover{transform:scale(1.12)}.story-content{visibility:hidden}.story-content.opened{visibility:visible}.story-nav{z-index:50;position:sticky;top:0;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 28px;background:#fff9f7de;backdrop-filter:blur(14px);border-bottom:1px solid #eecbd0;color:#753e53;font-family:'DM Sans',sans-serif}.theme-noche .story-nav{background:#291e32db;color:#ffecf2;border-color:#503f4b}.story-wordmark{font-weight:800;font-size:.87rem;display:flex;align-items:center;gap:9px}.story-wordmark:first-letter{color:var(--story-accent)}.story-nav-links{display:flex;align-items:center;gap:25px}.story-nav-links a{font-size:.76rem;font-weight:700;color:inherit}.story-nav button{font-size:1.6rem;line-height:1;border:0;background:none;color:var(--story-accent)}.story-cover{min-height:83vh;display:flex;align-items:center;justify-content:center;position:relative;background-image:var(--cover,radial-gradient(circle at 50% 30%,#fbd7d7,transparent 54%));background-color:#f4d7d4;background-size:cover;background-position:center;isolation:isolate}.theme-noche .story-cover{background-color:#4c354b}.theme-lavanda .story-cover{background-color:#dbbee5}.theme-dorado .story-cover{background-color:#f4d3b0}.story-cover-filter{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#47203755,#632846a1);}.story-cover-content{text-align:center;color:white;padding:55px 20px;max-width:900px}.story-cover .story-overline{color:#fff0dc}.cover-ornament{font-size:2rem;color:#ffd5dd;margin:35px 0}.story-cover h1{font-size:clamp(2.7rem,8vw,6.4rem);font-weight:500;line-height:1.1;text-wrap:balance;text-shadow:0 3px 20px #50243a4d}.story-cover-sub{font-size:clamp(1rem,2vw,1.4rem);font-style:italic;color:#ffeded;margin:20px 0 28px}.story-cover-names{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-size:1.2rem}.story-cover-names strong{font-family:'Playfair Display',Georgia,serif;font-size:1.7rem;font-weight:500}.story-cover-names span{opacity:.7}.story-cover-content>small{display:block;margin:20px 0}.story-scroll{display:inline-block;border:1px solid #ffffff80;padding:12px 19px;border-radius:100px;color:#fff;font-size:.8rem;margin-top:20px;font-family:'DM Sans',sans-serif}.story-scroll:hover{color:white;background:#ffffff29}.story-section{padding:110px 20px;text-align:center;scroll-margin-top:75px}.story-section>h2{max-width:720px;margin:15px auto 25px}.story-section>p{max-width:670px;margin:0 auto 30px}.story-dedication{background:var(--surface);color:var(--story-text)}.story-dedication .dedication-text{max-width:610px;font-size:clamp(1.15rem,2.8vw,1.45rem);font-style:italic;margin:35px auto;line-height:2.05}.tiny-ornament{color:var(--story-accent);font-size:1.2rem}.story-sign{font-style:italic;color:var(--story-accent)}.music-section{background:#fbe7e3;color:#583144}.theme-noche .music-section{background:#372439;color:#fff2f4}.music-record{display:flex;gap:45px;align-items:center;justify-content:center;padding:35px;margin:20px auto 0;border-radius:20px;background:var(--card);max-width:650px;text-align:left;color:var(--story-text);box-shadow:0 16px 50px #7e3a4c19}.record-vinyl{height:175px;width:175px;flex:none;border-radius:50%;background:repeating-radial-gradient(circle,#27161f 0,#29141e 2px,#3b2935 3px,#160e17 5px);box-shadow:0 9px 29px #49304433;display:grid;place-items:center;animation:spin 16s linear infinite}.record-center{height:72px;width:72px;border-radius:50%;background:#d67b93;display:grid;place-items:center;font-size:2rem;color:#fff}.music-meta{min-width:0;flex:1}.music-meta span{font:700 .68rem 'DM Sans';letter-spacing:.14em;color:var(--story-accent)}.music-meta h3{font-size:1.8rem;margin:9px 0}.music-meta p{font-style:italic;color:#aa8292}.music-meta audio,.voice-bubble audio{display:block;width:100%;max-width:335px}.gallery-section{background:var(--surface);color:var(--story-text)}.story-gallery{position:relative;width:min(570px,95%);height:min(560px,80vw);min-height:260px;margin:30px auto 14px;border-radius:25px;box-shadow:0 25px 55px #3c193a22;overflow:hidden;background:#e4c6ce}.gallery-slide{position:absolute;inset:0;opacity:0;pointer-events:none;margin:0;transition:opacity .4s ease}.gallery-slide.active{opacity:1;pointer-events:auto}.gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}.gallery-slide figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#271920c9);color:#fff;padding:55px 22px 18px;font-style:italic}.gallery-controls{display:flex;align-items:center;justify-content:center;gap:20px;font:700 .85rem 'DM Sans',sans-serif}.gallery-controls button{height:42px;width:42px;border:1px solid #ddb1be;border-radius:50%;background:#fff;color:var(--story-accent);font-size:1.5rem}.letter-section{background:#fff4ee;color:#563546}.theme-noche .letter-section{background:#281d30;color:#f6e7ee}.letter-card{position:relative;width:min(790px,100%);background:var(--card);color:var(--story-text);padding:clamp(28px,8vw,75px);box-shadow:0 22px 65px #7d33481d;margin:35px auto;border-radius:8px;text-align:left;transform:rotate(-.6deg)}.letter-sparkle{position:absolute;right:25px;top:14px;color:var(--story-accent);font-size:1.5rem}.letter-intro{font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;color:var(--story-accent)}.letter-body{white-space:normal;font-size:1.1rem;line-height:2.05;margin:32px 0 48px}.letter-sign{display:flex;align-items:flex-start;flex-direction:column;font-style:italic}.letter-sign strong{font-family:'Playfair Display',Georgia,serif;font-size:2rem;font-weight:500}.seal-heart{align-self:flex-end;font-size:2rem;color:var(--story-accent)}.timeline-section{background:var(--surface);color:var(--story-text)}.timeline-list{position:relative;max-width:750px;margin:45px auto 0;text-align:left;padding-left:40px}.timeline-list:before{content:'';background:#df9bb1;position:absolute;left:16px;top:15px;bottom:35px;width:2px}.timeline-item{position:relative;margin-bottom:25px}.timeline-node{position:absolute;left:-40px;top:25px;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;background:var(--story-accent);color:white;font-size:.9rem}.timeline-card{background:var(--card);border-radius:18px;display:grid;grid-template-columns:160px 1fr;overflow:hidden;box-shadow:0 7px 23px #a24c6310;color:var(--story-text)}.timeline-card:not(:has(img)){grid-template-columns:1fr}.timeline-card img{width:100%;height:100%;min-height:160px;object-fit:cover}.timeline-content{padding:24px}.timeline-content h3{font-size:1.4rem;margin:8px 0}.timeline-content p{font-size:.93rem;margin:0}.places-section{background:#fff5f1;color:#5a3543}.theme-noche .places-section{background:#2e2033;color:#f6e7ee}.places-grid{max-width:950px;margin:38px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;text-align:left}.place-card{border-radius:20px;overflow:hidden;background:var(--card);color:var(--story-text);box-shadow:0 10px 30px #673c4811}.place-card>img{height:200px;width:100%;object-fit:cover}.place-card>div{padding:25px}.place-card h3{font-size:1.65rem}.place-card a{font-family:'DM Sans',sans-serif;color:var(--story-accent);font-size:.85rem;font-weight:800}.voice-section{background:var(--surface);color:var(--story-text)}.voice-bubble{max-width:560px;margin:40px auto 0;display:flex;align-items:center;gap:25px;text-align:left;background:var(--card);color:var(--story-text);border-radius:20px;padding:28px;box-shadow:0 10px 30px #793b4917}.voice-icon{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:#f6d5dc;color:var(--story-accent);font-size:2.1rem;flex:none}.voice-bubble>div{min-width:0;flex:1}.voice-bubble p{color:#9a7b87;font-style:italic}.surprise-section{background:linear-gradient(150deg,#f8dce2,#fff5e9);color:#623447}.theme-noche .surprise-section{background:linear-gradient(150deg,#382536,#271e33);color:#f9e8f1}.surprise-intro{font-style:italic}.quiz-card,.surprise-reveal{max-width:610px;margin:30px auto 0;border:1px solid #f2d7dd;background:var(--card);color:var(--story-text);padding:32px;border-radius:22px;box-shadow:0 20px 48px #9b436123}.quiz-symbol{font-size:3.5rem}.quiz-card h3,.surprise-reveal h3{font-size:1.8rem;margin:18px 0}.quiz-options{display:grid;gap:12px}.quiz-option{border:1px solid #e8c4cf;background:#fff8f8;color:#8a3b56;padding:15px;font-weight:800;border-radius:13px;transition:.15s}.quiz-option:hover{transform:translateY(-2px);border-color:var(--story-accent)}.quiz-option.wrong{background:#ffe3e7;border-color:#d985a0}.quiz-hint{color:#a47485;font-size:.88rem;margin-top:12px}.surprise-reveal[hidden]{display:none}.reveal-icon{font-size:4rem;color:var(--story-accent)}.surprise-reveal img{display:block;border-radius:17px;max-height:340px;max-width:100%;object-fit:contain;margin:20px auto}.surprise-reveal p{font-size:1.15rem}.story-footer{background:#ac3d63;color:#fff;text-align:center;padding:75px 18px 45px}.story-footer div{font-size:3rem}.story-footer h2{font-size:clamp(2.2rem,4.5vw,3.7rem);max-width:650px;margin:15px auto}.story-footer h2 em{color:#ffe0e3}.story-footer p{font-style:italic}.story-footer small{opacity:.65;font:.75rem 'DM Sans',sans-serif;display:block;margin-top:30px}.float-heart{position:fixed;bottom:-30px;pointer-events:none;z-index:700;font-size:24px;color:#dd4b7b;animation:rise 2.2s ease-in forwards}
@keyframes heartbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.12)}25%{transform:scale(1)}38%{transform:scale(1.08)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{0%{opacity:1;transform:translateY(0) rotate(-5deg)}100%{opacity:0;transform:translateY(-110vh) rotate(30deg)}}
@media(max-width:1020px){.hero{gap:15px}.hero-visual{transform:scale(.9)}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.features-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-layout{gap:25px;grid-template-columns:1fr 440px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-row{grid-template-columns:1fr 120px}.payment-controls{grid-column:1/-1}.editor-shell{grid-template-columns:185px 1fr;gap:13px}.editor-tabs a{padding:12px 8px}.story-nav-links{gap:12px}}
@media(max-width:740px){.container{width:min(100% - 30px,600px)}.section{padding:45px 0}.topbar .nav-row{height:64px}.hamburger{display:block}.site-nav{position:absolute;top:64px;left:0;right:0;background:#fffaf8;box-shadow:0 12px 20px #643c4a19;flex-direction:column;align-items:stretch;padding:15px 22px 25px;gap:14px;display:none}.site-nav.open{display:flex}.site-nav .inline-form{justify-content:flex-start}.wordmark{font-size:1.45rem}.hero{display:flex;flex-direction:column;min-height:0;padding:45px 0 40px;gap:25px}.hero h1{font-size:clamp(2.65rem,10vw,4rem);line-height:1.13}.hero-visual{height:480px;min-height:480px;width:100%;transform:scale(.82);margin:-20px auto}.note-left{left:0;top:50px}.note-right{right:0;bottom:45px}.hero-actions{flex-wrap:wrap}.hero-actions .btn{font-size:.83rem}.proof-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));font-size:.74rem;gap:15px}.steps-grid,.features-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.step-card,.feature{padding:20px}.step-card p,.feature p{font-size:.82rem}.cta-section{padding:34px;display:block;margin-top:35px;margin-bottom:35px}.cta-art{text-align:center;font-size:5rem}.auth-layout{display:flex;flex-direction:column;padding:42px 0}.auth-promo{display:none}.auth-card{padding:29px;width:100%}.dash-header,.editor-heading{align-items:flex-start;flex-direction:column}.dash-header .btn{margin-top:7px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:15px 0 35px}.stats-grid .stat{padding:17px}.stats-grid .stat strong{font-size:1.8rem}.stats-grid .stat:last-child:nth-child(odd){grid-column:1/-1}.gifts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gift-card-image{height:125px}.gift-card-content{padding:16px}.gift-card-content h3{font-size:1.1rem}.gift-card-actions{gap:5px}.gift-card-actions .btn{padding:6px 9px}.new-gift-panel{grid-template-columns:1fr}.new-gift-art{padding:25px}.new-gift-art>div{font-size:3rem}.new-gift-art strong{font-size:1.65rem}.new-gift-form{padding:25px}.profile-grid,.activation-layout{grid-template-columns:1fr}.editor-shell{display:block}.editor-sidebar{position:static;overflow:hidden;margin-bottom:20px}.side-title,.sidebar-preview{display:none}.editor-tabs{flex-direction:row;overflow-x:auto;padding:4px 0 12px}.editor-tabs a{white-space:nowrap;flex:none;padding:10px 12px;font-size:.84rem}.editor-tabs a span{font-size:1rem}.panel{padding:22px}.form-grid{grid-template-columns:1fr}.checkbox-grid{grid-template-columns:1fr}.photo-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.share-grid{grid-template-columns:1fr}.payment-row{grid-template-columns:1fr}.payment-check .proof-link{align-items:flex-start}.payment-controls{grid-column:auto}.settings-panel{padding:20px}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats .stat strong{font-size:1.35rem}.footer-grid{flex-direction:column;text-align:center}.footer-right{display:flex;flex-direction:column;gap:0}.story-nav{padding:12px 16px}.story-nav-links{gap:8px}.story-nav-links a{font-size:.64rem}.story-wordmark span{display:none}.story-section{padding:70px 16px}.story-cover{min-height:80vh}.story-cover-content{padding:50px 16px}.music-record{flex-direction:column;text-align:center;gap:20px}.music-meta audio{max-width:100%}.timeline-card{grid-template-columns:1fr}.timeline-card img{max-height:220px}.places-grid{grid-template-columns:1fr}.heart-gate h1{font-size:2rem}.voice-bubble{flex-direction:column;text-align:center}.voice-bubble audio{max-width:100%}}
@media(max-width:420px){.container{width:calc(100% - 24px)}.hero-actions .btn{width:100%}.hero-visual{transform:scale(.74);margin:-60px auto;min-height:470px}.steps-grid,.features-grid{grid-template-columns:1fr}.proof-content{grid-template-columns:1fr}.stats-grid .stat>span{font-size:.67rem}.gifts-grid{grid-template-columns:1fr}.gift-card-image{height:170px}.photo-manage-grid{grid-template-columns:1fr}.panel{padding:17px}.story-nav-links a:nth-child(2),.story-nav-links a:nth-child(3){display:none}.record-vinyl{width:145px;height:145px}.story-section h2{font-size:2rem}.letter-card{padding:24px}.quiz-card,.surprise-reveal{padding:21px}.cta-section{padding:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* modoQRiño additions */
.announcement-bar{background:linear-gradient(90deg,#ff5aa7,#8f2de2);color:#fff;font:700 .9rem/1.4 'DM Sans',sans-serif;padding:11px 0;text-align:center}
.hero-product{padding-top:38px}
.product-badges{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 6px}.product-badges span{background:#fff;border:1px solid #efd3dc;border-radius:999px;padding:9px 14px;font:700 .84rem 'DM Sans',sans-serif;color:#7d3550;box-shadow:0 8px 18px #83365012}
.product-phone .phone-screen{justify-content:center}
.product-spotlight{padding-top:30px}.product-card-wide{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:22px;align-items:stretch;background:linear-gradient(180deg,#fff,#fff8f8);border:1px solid #f0d6de;border-radius:32px;padding:28px;box-shadow:0 24px 50px #7d334812}.mini-rating{font:800 .92rem 'DM Sans',sans-serif;color:#f2a11a;margin-bottom:10px}.mini-rating span{color:#835066;margin-left:8px;font-weight:700}.product-card-wide h3{font-size:2rem;margin:0 0 10px}.check-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}.check-list li{background:#fff;border:1px solid #f1dbe1;border-radius:16px;padding:12px 14px;color:#724558}.price-box{display:flex;align-items:flex-end;gap:10px;margin:18px 0 22px}.price-box strong{font:900 2rem/1 'DM Sans',sans-serif;color:#b1295c}.price-box span{color:#8d6b78}.product-side{display:grid;gap:16px}.product-mini-card{background:linear-gradient(180deg,#ffffff,#fff1f5);border:1px solid #f2d8df;border-radius:24px;padding:22px;box-shadow:0 12px 30px #6f355010}.product-mini-card.soft{background:linear-gradient(180deg,#fff,#fbf1ff)}.product-mini-card .small-title{font:800 .78rem 'DM Sans',sans-serif;letter-spacing:.12em;color:#a64b73;text-transform:uppercase;margin-bottom:9px}.product-mini-card strong{display:block;font-size:1.35rem;margin-bottom:10px;color:#571f37}.testimonials{padding-top:30px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.testimonial-card{background:#fff;border:1px solid #efd8df;border-radius:24px;padding:22px;box-shadow:0 12px 28px #7c35500d}.testimonial-card p{font-size:1rem;line-height:1.8;color:#72455b;margin-bottom:14px}.testimonial-card strong{font:800 .92rem 'DM Sans',sans-serif;color:#9f4570}.faq-wrap{padding-top:10px}.faq-list{max-width:860px;margin:0 auto;display:grid;gap:12px}.faq-list details{background:#fff;border:1px solid #edd4dc;border-radius:18px;padding:16px 18px;box-shadow:0 8px 22px #6e35500d}.faq-list summary{cursor:pointer;list-style:none;font:800 1rem 'DM Sans',sans-serif;color:#56253b}.faq-list summary::-webkit-details-marker{display:none}.faq-list p{margin:12px 0 0;color:#71495b;line-height:1.8}.story-validity,.gift-expiry{display:inline-flex;align-items:center;gap:8px;background:#fff7da;color:#7b4f00;border:1px solid #f2d388;border-radius:999px;padding:8px 14px;font:700 .85rem 'DM Sans',sans-serif}.story-validity{margin:0 auto 15px;background:#fff5d6}.footer-right{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:1020px){.product-card-wide{grid-template-columns:1fr}.testimonial-grid{grid-template-columns:1fr 1fr}}
@media(max-width:740px){.announcement-bar{font-size:.78rem;padding:9px 0}.product-card-wide{padding:20px;border-radius:24px}.product-badges{gap:8px}.product-badges span{font-size:.76rem}.testimonial-grid{grid-template-columns:1fr}.footer-right{justify-content:center}.story-validity,.gift-expiry{font-size:.76rem;padding:7px 11px}}
