 :root{--terra:#a95f45;--terra-dark:#81452f;--gold:#c7a66a;--ivory:#fbf7f0;--ink:#342b27;--sage:#7a8061;--line:#e8d9ca}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:"DM Sans",sans-serif}button,input{font:inherit}.invite-page{background:radial-gradient(ellipse at top,#fffdf9 0%,#f8eee4 62%,#f1e2d4 100%);min-height:100vh;padding:24px}.invitation{max-width:860px;margin:0 auto;text-align:center;background:rgba(255,253,249,.86);border:1px solid #d8bd9d;outline:1px solid #eadaca;outline-offset:-8px;padding:42px clamp(18px,6vw,72px) 32px;box-shadow:0 20px 70px #6d3b2410;position:relative;overflow:hidden}.invitation:before,.invitation:after{content:"❧";position:absolute;color:#c7a66a;opacity:.45;font-size:82px;top:30px}.invitation:before{left:14px;transform:rotate(-35deg)}.invitation:after{right:14px;transform:scaleX(-1) rotate(-35deg)}.ornament,.eyebrow{letter-spacing:.17em;font-size:.68rem;color:var(--terra);font-weight:600}.eyebrow{margin:26px 0 12px}.invitation h1{font:500 clamp(2.8rem,8vw,5.8rem)/.95 "Cormorant Garamond",serif;color:var(--terra-dark);margin:16px 0}.invitation h1 span{color:var(--gold);font-style:italic}.flourish{font:3rem "Cormorant Garamond",serif;color:var(--gold);margin:8px}.intro{max-width:480px;margin:0 auto 26px;line-height:1.8;color:#66564d}.rule{height:1px;max-width:230px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:24px auto}.date{font:500 clamp(1.7rem,4vw,2.6rem) "Cormorant Garamond",serif;color:var(--terra-dark);margin:14px 0 28px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px auto;max-width:620px}.details-grid section{padding:20px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-icon{color:var(--gold);font-size:1.4rem}.details-grid h2,.guest-card h2{font:600 1.7rem "Cormorant Garamond",serif;margin:8px 0;color:var(--terra-dark)}.details-grid p{font-size:.9rem;line-height:1.5;margin:5px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--terra);border-radius:2px;background:var(--terra);color:white;padding:13px 22px;cursor:pointer;text-decoration:none;font-size:.86rem;letter-spacing:.03em;transition:.2s}.button:hover{background:var(--terra-dark);transform:translateY(-1px)}.button.secondary{background:transparent;color:var(--terra-dark)}.countdown-wrap{margin:28px 0}.countdown{font:1.4rem "Cormorant Garamond",serif;color:var(--terra-dark)}.guest-card{max-width:560px;margin:28px auto 24px;padding:28px 20px;background:#f5e9dd;border:1px solid #e0c8b2}.guest-card .eyebrow{margin-top:0}.guest-card p{line-height:1.6}.rsvp-note{font-size:.88rem;color:#6b5c53}.guest-card button{min-width:230px}#rsvpMessage{font-weight:600;color:var(--sage);min-height:1.4em}footer{font:italic 1.1rem "Cormorant Garamond",serif;color:#77645a;margin-top:24px}.admin-page{padding:28px 16px 60px}.admin-shell{max-width:1150px;margin:auto}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 26px}.admin-header h1{font:600 clamp(2rem,4vw,3.2rem) "Cormorant Garamond",serif;color:var(--terra-dark);margin:6px 0}.admin-header p{color:#74645b}.panel{background:#fffdfa;border:1px solid var(--line);padding:24px;margin:18px 0;box-shadow:0 8px 28px #6d3b2408}.panel h2{font:600 1.7rem "Cormorant Garamond",serif;color:var(--terra-dark);margin:0 0 18px}.login-panel{max-width:460px;margin:30px auto}.panel label{display:flex;flex-direction:column;gap:7px;font-size:.85rem;margin:12px 0}.panel input{padding:12px;border:1px solid #d8c8ba;background:white;border-radius:2px;min-width:0}.login-panel .button{width:100%;margin-top:10px}.login-panel small{display:block;color:#786b63;line-height:1.5;margin-top:14px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{background:#f3e5d8;border:1px solid #e3cbb7;padding:18px}.stat span{display:block;font-size:.8rem;color:#6f5b50}.stat strong{display:block;font:600 2.2rem "Cormorant Garamond",serif;color:var(--terra-dark);margin-top:6px}.guest-form{display:grid;grid-template-columns:2fr 1fr auto;gap:14px;align-items:end}.guest-form label{margin:0}.table-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.84rem}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--terra-dark);background:#faf2e9;font-weight:600}.link-cell{max-width:220px;overflow-wrap:anywhere}.small-btn{padding:7px 10px;font-size:.75rem;border:1px solid var(--line);background:#fff;color:var(--terra-dark);cursor:pointer}.hidden{display:none!important}#loginMessage,#formMessage{color:var(--terra-dark);min-height:1.2em} @media(max-width:680px){.invite-page{padding:8px}.invitation{padding:36px 18px 24px}.ornament{font-size:.52rem}.invitation:before,.invitation:after{font-size:48px;top:20px}.details-grid{grid-template-columns:1fr;gap:12px}.details-grid section{padding:14px}.admin-page{padding:16px 10px}.stats{grid-template-columns:repeat(2,1fr)}.guest-form{grid-template-columns:1fr}.table-heading,.admin-header{align-items:flex-start;flex-direction:column}.panel{padding:17px}th,td{padding:9px;font-size:.78rem}}
.couple-photo{width:min(100%,510px);margin:18px auto 28px;padding:8px;border:1px solid #d8bd9d;background:#fffaf4}
.couple-photo img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}
.couple-photo figcaption{font:italic 1.05rem "Cormorant Garamond",serif;color:#80634f;padding:12px 8px 5px}
/* Diseño adaptable: conserva proporciones y evita recortar la fotografía. */
@media(min-width:900px){.invitation{max-width:1040px;padding:48px clamp(48px,7vw,100px) 38px}.details-grid{max-width:760px}.couple-photo{max-width:460px}}
@media(max-width:680px){.couple-photo{max-width:100%;padding:5px}.invitation{width:100%}.couple-photo img{width:100%;height:auto}}
@media(orientation:landscape) and (max-height:600px){.invite-page{padding:10px}.invitation{max-width:1000px;padding:28px 36px}.invitation:before,.invitation:after{font-size:48px;top:15px}.couple-photo{max-width:min(44vw,360px)}.couple-photo img{height:auto;max-height:none}.details-grid{grid-template-columns:1fr 1fr}}
