/* ===== V1.4 — Thiệp cưới: phong bì mở ra, typography biên tập, bảng màu theo chủ đề ===== */
.lux-wedding{
 --fs:1;--f-head:'Playfair Display',serif;--f-body:'DM Sans',sans-serif;--f-names:'Great Vibes',cursive;--names-style:normal;--names-scale:1;--focus:50%;
 /* champagne (mặc định) */
 --c-bg:#fbf7f2;--c-alt:#f3ebe3;--c-paper:#fffdf9;--c-ink:#3f3234;--c-mute:#7d6e70;--c-accent:#6e3a47;--c-gold:#b08d57;--c-line:#e3d5c8;--c-deep:#4a2f37;--c-on-deep:#f8ece0;--deep-rgb:74,47,55;
 font-size:calc(16px*var(--fs));font-family:var(--f-body);color:var(--c-ink);background:var(--c-bg);line-height:1.65;overflow-x:clip;-webkit-text-size-adjust:100%
}
.lux-wedding[data-theme=emerald]{--c-bg:#f5f6f1;--c-alt:#e9eee6;--c-paper:#fcfdf9;--c-ink:#1f2b26;--c-mute:#5f6e66;--c-accent:#1f4a3d;--c-gold:#b8964f;--c-line:#d6ddd0;--c-deep:#173a30;--c-on-deep:#f1ead5;--deep-rgb:23,58,48}
.lux-wedding[data-theme=navy]{--c-bg:#f6f6f8;--c-alt:#e9ebf1;--c-paper:#ffffff;--c-ink:#1d2233;--c-mute:#626a80;--c-accent:#1c2b57;--c-gold:#b99a5b;--c-line:#d9dce6;--c-deep:#141c3a;--c-on-deep:#f1e8d3;--deep-rgb:20,28,58}
.lux-wedding[data-theme=burgundy]{--c-bg:#faf4f1;--c-alt:#f1e4df;--c-paper:#fffaf7;--c-ink:#3a2124;--c-mute:#7a5f62;--c-accent:#6d1f33;--c-gold:#b38b52;--c-line:#e6d0c8;--c-deep:#4a1424;--c-on-deep:#f6e5d6;--deep-rgb:74,20,36}
.lux-wedding[data-theme=sage]{--c-bg:#f7f3ee;--c-alt:#ece4da;--c-paper:#fffcf8;--c-ink:#3b3029;--c-mute:#7b6a5e;--c-accent:#6b4a3a;--c-gold:#a98a5f;--c-line:#e0d3c4;--c-deep:#4a362c;--c-on-deep:#f4e8d8;--deep-rgb:74,54,44}
.lux-wedding *{box-sizing:border-box}
.lux-wedding img{max-width:100%;display:block}
.lux-wedding a{-webkit-tap-highlight-color:transparent}
.lux-wedding h1,.lux-wedding h2,.lux-wedding h3{font-family:var(--f-head);font-weight:500;margin:0}
.lux-wedding p{margin:0}
body.lux-lock{overflow:hidden}

/* ---------- Phong bì mở thiệp ---------- */
.env{position:fixed;inset:0;z-index:200;display:grid;place-items:center;color:var(--c-on-deep);text-align:center;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom));touch-action:manipulation}
.env-panel{position:absolute;top:0;bottom:0;width:50.4%;background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.07),transparent 60%),var(--c-deep);transition:transform 1.15s cubic-bezier(.76,0,.24,1);will-change:transform}
.env-l{left:0}.env-r{right:0}
.env-frame{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.28);outline:1px solid rgba(255,255,255,.12);outline-offset:6px;pointer-events:none;transition:opacity .5s}
.env-body{position:relative;z-index:2;display:grid;justify-items:center;gap:.9em;max-width:560px;transition:opacity .45s,transform .6s}
.env-to{font:italic 1em/1.5 var(--f-head);opacity:.85}
.env-names{font-family:var(--f-names);font-style:var(--names-style);font-weight:400;font-size:calc(clamp(40px,9vw,76px)*var(--fs)*var(--names-scale));line-height:1.15;color:var(--c-on-deep)}
.env-names i{display:block;font:italic 400 .4em var(--f-head);opacity:.7;margin:.1em 0}
.env-seal{margin-top:.6em;width:calc(96px*var(--fs));height:calc(96px*var(--fs));border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:radial-gradient(circle at 32% 28%,#e9d3a2,var(--c-gold) 55%,#7b5f31);color:var(--c-deep);box-shadow:0 10px 30px rgba(0,0,0,.4),inset 0 0 0 4px rgba(255,255,255,.18),inset 0 0 0 5px rgba(0,0,0,.12);font:600 1.5em/1 var(--f-head);letter-spacing:.04em;transition:transform .25s;animation:sealBeat 2.6s ease-in-out infinite}
.env-seal:hover{transform:scale(1.06)}
.env-seal:focus-visible,.lux-wedding a:focus-visible,.lux-wedding button:focus-visible,.lux-wedding summary:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}
.env-hint{font-size:.78em;letter-spacing:.18em;opacity:.8}
.env-skip{position:absolute;z-index:3;right:20px;top:max(16px,env(safe-area-inset-top));background:none;border:1px solid rgba(255,255,255,.35);color:var(--c-on-deep);border-radius:999px;padding:.5em 1em;font-size:.78em;cursor:pointer;min-height:36px}
.env.open .env-l{transform:translateX(-101%)}.env.open .env-r{transform:translateX(101%)}
.env.open .env-body,.env.open .env-frame,.env.open .env-skip{opacity:0;transform:scale(.94);pointer-events:none}
@keyframes sealBeat{0%,100%{box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 0 rgba(176,141,87,.45),inset 0 0 0 4px rgba(255,255,255,.18)}50%{box-shadow:0 10px 30px rgba(0,0,0,.4),0 0 0 16px rgba(176,141,87,0),inset 0 0 0 4px rgba(255,255,255,.18)}}

/* ---------- Hero ---------- */
.lux-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;isolation:isolate;background:radial-gradient(120% 90% at 50% 0%,rgba(var(--deep-rgb),.7),rgba(var(--deep-rgb),1)),var(--c-deep)}
.lux-hero-img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% var(--focus)}
.lux-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--deep-rgb),.35) 0%,rgba(var(--deep-rgb),.15) 38%,rgba(var(--deep-rgb),.78) 100%)}
.lux-hero-content{width:min(960px,100%);padding:clamp(56px,10vh,120px) 20px clamp(90px,14vh,150px);text-shadow:0 2px 24px rgba(0,0,0,.35)}
.lux-hero-kicker{font:italic 1.05em var(--f-head);letter-spacing:.03em;opacity:.95;padding:0 8px}
.lux-names{font-family:var(--f-names);font-style:var(--names-style);font-weight:400;font-size:calc(clamp(46px,12vw,150px)*var(--fs)*var(--names-scale));line-height:1.02;margin:.18em 0 .1em;display:flex;flex-direction:column;align-items:center}
.lux-names span.amp{font:italic 400 .34em var(--f-head);color:var(--c-gold);margin:.12em 0;text-shadow:none;filter:brightness(1.35)}
.lux-hero-rule{display:flex;align-items:center;justify-content:center;gap:14px;margin:1.3em auto 1em;color:var(--c-gold);filter:brightness(1.35)}
.lux-hero-rule:before,.lux-hero-rule:after{content:"";height:1px;width:min(90px,18vw);background:currentColor;opacity:.8}
.lux-hero-date{font:500 clamp(1.1em,2.6vw,1.6em) var(--f-head);letter-spacing:.12em}
.lux-hero-venue{margin-top:.5em;font-size:.92em;letter-spacing:.06em;opacity:.92}
.lux-scroll{position:absolute;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;justify-items:center;gap:6px;color:#fff;text-decoration:none;font-size:.7em;letter-spacing:.24em;opacity:.9;min-height:44px}
.lux-scroll:after{content:"";width:1px;height:34px;background:linear-gradient(#fff,transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- Thanh điều hướng ---------- */
.lux-nav{position:sticky;top:0;z-index:30;display:flex;justify-content:center;gap:clamp(6px,2.4vw,34px);padding:6px 10px;padding-top:max(6px,env(safe-area-inset-top));background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--c-line);overflow-x:auto;scrollbar-width:none}
.lux-nav::-webkit-scrollbar{display:none}
.lux-nav a{flex:none;display:grid;place-items:center;min-height:44px;padding:0 .8em;color:var(--c-accent);text-decoration:none;font-size:.82em;font-weight:500;letter-spacing:.04em;white-space:nowrap;border-bottom:2px solid transparent}
.lux-nav a:hover,.lux-nav a.on{border-color:var(--c-gold)}

/* ---------- Khung chung ---------- */
.lux-section{padding:clamp(56px,9vw,104px) clamp(16px,4vw,32px);max-width:1120px;margin:0 auto;text-align:center;scroll-margin-top:56px}
.lux-band{max-width:none;background:var(--c-alt)}
.lux-band>.in{max-width:1000px;margin:0 auto}
.lux-title{font-size:clamp(1.9em,4.4vw,3em);color:var(--c-accent);line-height:1.15;margin:0 0 .5em!important}
.lux-lead{max-width:560px;margin:0 auto 2em;color:var(--c-mute);font-size:.95em}
.lux-eyebrow{display:flex;align-items:center;justify-content:center;gap:.8em;color:var(--c-gold);font:italic 1.05em var(--f-head);margin-bottom:.5em}
.lux-eyebrow:before,.lux-eyebrow:after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.rv{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.rv.in{opacity:1;transform:none}

/* ---------- Thiệp mời (tờ giấy) ---------- */
.lux-invite{max-width:860px}
.lux-paper{position:relative;padding:clamp(34px,6vw,72px) clamp(20px,5vw,64px);background:var(--c-paper);border:1px solid var(--c-line);box-shadow:0 24px 60px rgba(var(--deep-rgb),.1)}
.lux-paper:before{content:"";position:absolute;inset:10px;border:1px solid var(--c-gold);opacity:.55;pointer-events:none}
.lux-paper .corner{position:absolute;width:26px;height:26px;border:2px solid var(--c-gold);opacity:.9}
.corner.tl{left:6px;top:6px;border-right:0;border-bottom:0}.corner.tr{right:6px;top:6px;border-left:0;border-bottom:0}
.corner.bl{left:6px;bottom:6px;border-right:0;border-top:0}.corner.br{right:6px;bottom:6px;border-left:0;border-top:0}
.lux-to{font:italic 1.05em var(--f-head);color:var(--c-mute)}
.lux-guest{font:600 1.6em var(--f-head);color:var(--c-accent);margin:.15em 0 .6em!important}
.lux-invite-copy{max-width:620px;margin:0 auto;color:var(--c-mute);font:italic 1.08em/2 var(--f-head);white-space:pre-line}
.lux-cal{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(12px,3vw,28px);margin:2em auto 1.2em;max-width:520px;color:var(--c-accent)}
.lux-cal .side{font:500 .95em var(--f-head);letter-spacing:.1em;padding:.7em 0;border-block:1px solid var(--c-gold)}
.lux-cal .day{font:500 clamp(4em,12vw,6em)/1 var(--f-head)}
.lux-time-label{color:var(--c-mute);font-size:.9em;letter-spacing:.14em}
.lux-countdown{display:flex;justify-content:center;gap:clamp(8px,2.4vw,22px);margin:2em auto 0}
.lux-countdown div{min-width:clamp(58px,15vw,84px);padding:.8em .2em;border:1px solid var(--c-line);background:var(--c-bg)}
.lux-countdown b{display:block;font:500 clamp(1.5em,5vw,2.1em)/1.1 var(--f-head);color:var(--c-accent);font-variant-numeric:tabular-nums}
.lux-countdown span{font-size:.68em;letter-spacing:.14em;color:var(--c-mute)}
.lux-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:2em}
.lux-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:.7em 1.5em;border:1px solid var(--c-accent);border-radius:999px;background:transparent;color:var(--c-accent);text-decoration:none;font:500 .85em var(--f-body);letter-spacing:.06em;cursor:pointer;transition:background .2s,color .2s}
.lux-btn:hover{background:var(--c-accent);color:#fff}
.lux-btn.solid{background:var(--c-accent);color:#fff}.lux-btn.solid:hover{filter:brightness(1.12)}

/* ---------- Cô dâu chú rể ---------- */
.lux-couple{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(8px,3vw,36px);max-width:860px;margin:0 auto}
.lux-couple figure{margin:0}
.arch{aspect-ratio:3/4;width:100%;border-radius:999px 999px 8px 8px;overflow:hidden;border:1px solid var(--c-gold);padding:clamp(5px,1vw,10px);background:var(--c-paper);box-shadow:0 18px 44px rgba(var(--deep-rgb),.14)}
.arch img{width:100%;height:100%;object-fit:cover;border-radius:999px 999px 4px 4px}
.lux-couple figcaption{margin-top:1em}
.lux-couple figcaption small{display:block;color:var(--c-gold);font:italic .95em var(--f-head)}
.lux-couple figcaption b{display:block;font-family:var(--f-names);font-style:var(--names-style);font-weight:400;font-size:calc(2.1em*var(--names-scale));line-height:1.2;color:var(--c-accent)}
.lux-couple .mid{font:italic 2.4em var(--f-head);color:var(--c-gold)}
.lux-couple.one{grid-template-columns:minmax(0,320px);justify-content:center}.lux-couple.one .mid{display:none}

/* ---------- Gia đình / địa điểm ---------- */
.lux-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,3vw,28px);margin-top:1em}
.lux-card{padding:clamp(22px,4vw,36px) clamp(18px,3vw,28px);background:var(--c-paper);border:1px solid var(--c-line);box-shadow:0 12px 34px rgba(var(--deep-rgb),.07);text-align:center}
.lux-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:1.4em}
.lux-card .tag{color:var(--c-gold);font:italic 1em var(--f-head)}
.lux-card h3{font-size:1.5em;color:var(--c-accent);margin:.3em 0 .4em}
.lux-card p{font-size:.92em;color:var(--c-mute)}
.lux-card .big-time{font:500 2.1em/1.1 var(--f-head);color:var(--c-accent);margin:.2em 0 .3em}
.lux-card .btn-row{margin-top:1.2em}
.lux-map-link{display:inline-flex;align-items:center;min-height:44px;padding:0 1.3em;border:1px solid var(--c-gold);color:var(--c-accent);text-decoration:none;font-size:.82em;letter-spacing:.06em;border-radius:999px;transition:.2s}
.lux-map-link:hover{background:var(--c-accent);border-color:var(--c-accent);color:#fff}

/* ---------- Lịch trình ---------- */
.lux-timeline-list{max-width:660px;margin:1.6em auto 0;text-align:left;position:relative}
.lux-timeline-list:before{content:"";position:absolute;left:calc(5.6em + 8px);top:8px;bottom:8px;width:1px;background:var(--c-gold);opacity:.5}
.lux-time-row{display:grid;grid-template-columns:5.6em 17px 1fr;gap:0 14px;padding-bottom:1.8em;position:relative}
.lux-time{font:500 1.2em var(--f-head);color:var(--c-accent);text-align:right;line-height:1.3}
.lux-time-dot{width:17px;height:17px;border-radius:50%;background:var(--c-bg);border:2px solid var(--c-gold);margin-top:.35em;position:relative;z-index:1}
.lux-time-row h3{font-size:1.2em;color:var(--c-accent)}
.lux-time-row p{font-size:.88em;color:var(--c-mute)}
.lux-time-row .lux-map-link{margin-top:.5em;min-height:38px}

/* ---------- Câu chuyện ---------- */
.lux-story-copy{max-width:680px;margin:0 auto;font:italic 1.12em/2.05 var(--f-head);color:var(--c-ink);white-space:pre-line;position:relative}
.lux-story-copy:before{content:"“";display:block;font:5em/.6 var(--f-head);color:var(--c-gold);opacity:.55;height:.45em}

/* ---------- Album (masonry) ---------- */
.lux-gallery{columns:3;column-gap:12px;margin-top:1.6em}
.lux-gallery-item{display:block;width:100%;margin:0 0 12px;padding:0;border:0;background:var(--c-alt);break-inside:avoid;overflow:hidden;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.lux-gallery-item img{width:100%;height:auto;transition:transform .6s}
.lux-gallery-item:hover img{transform:scale(1.04)}
.lux-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(14,9,11,.95);display:grid;place-items:center;padding:56px 12px;touch-action:pan-y}
.lux-lightbox img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lux-lightbox button{position:absolute;display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer}
.lux-lightbox .x{right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top))}
.lux-lightbox .pv{left:max(8px,env(safe-area-inset-left));top:50%;margin-top:-24px}.lux-lightbox .nx{right:max(8px,env(safe-area-inset-right));top:50%;margin-top:-24px}
.lux-lightbox .ct{position:absolute;left:0;right:0;bottom:max(14px,env(safe-area-inset-bottom));text-align:center;color:#fff;opacity:.75;font-size:13px}

/* ---------- Thông tin / FAQ ---------- */
.lux-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px;margin-top:1.4em}
.lux-detail-grid article{padding:1.6em 1.3em;background:var(--c-paper);border:1px solid var(--c-line)}
.lux-detail-grid h3{font-size:1.15em;color:var(--c-accent);margin-bottom:.4em}
.lux-detail-grid p,.lux-detail-grid a{font-size:.9em;color:var(--c-mute);overflow-wrap:anywhere}
.lux-detail-grid .ic{display:block;color:var(--c-gold);font:1.6em var(--f-head);margin-bottom:.2em}
.lux-faq .list{max-width:760px;margin:1.4em auto 0;text-align:left}
.lux-faq details{border-bottom:1px solid var(--c-line)}
.lux-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1em;align-items:center;min-height:56px;color:var(--c-accent);font:500 1.05em var(--f-head)}
.lux-faq summary::-webkit-details-marker{display:none}
.lux-faq summary:after{content:"+";font-size:1.5em;color:var(--c-gold);transition:transform .25s}
.lux-faq details[open] summary:after{transform:rotate(45deg)}
.lux-faq details p{padding:0 0 1.2em;font-size:.92em;color:var(--c-mute)}

/* ---------- RSVP ---------- */
.lux-rsvp-card{max-width:580px;margin:0 auto;padding:clamp(26px,5vw,52px) clamp(18px,4vw,44px);background:var(--c-paper);border:1px solid var(--c-line);box-shadow:0 20px 56px rgba(var(--deep-rgb),.1);position:relative}
.lux-rsvp-card:before{content:"";position:absolute;inset:8px;border:1px solid var(--c-gold);opacity:.45;pointer-events:none}
.lux-rsvp-form{text-align:left;display:grid;gap:.4em;margin-top:1.4em}
.lux-rsvp-form label.lbl{font-size:.8em;font-weight:600;color:var(--c-accent);margin-top:.7em}
.lux-rsvp-form input[type=text],.lux-rsvp-form input[type=tel],.lux-rsvp-form input:not([type]),.lux-rsvp-form select,.lux-rsvp-form textarea{width:100%;min-height:48px;padding:.75em .9em;border:1px solid var(--c-line);border-radius:6px;background:#fff;color:var(--c-ink);font:1em var(--f-body);-webkit-appearance:none;appearance:none}
.lux-rsvp-form select{background-image:linear-gradient(45deg,transparent 50%,var(--c-accent) 50%),linear-gradient(135deg,var(--c-accent) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.4em}
.lux-rsvp-form textarea{min-height:96px;resize:vertical}
.lux-rsvp-form input:focus,.lux-rsvp-form select:focus,.lux-rsvp-form textarea:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 3px rgba(176,141,87,.2)}
.lux-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lux-choice label{position:relative;display:grid;place-items:center;min-height:56px;padding:.6em;text-align:center;border:1px solid var(--c-line);border-radius:6px;background:#fff;cursor:pointer;font-size:.88em;line-height:1.35}
.lux-choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.lux-choice label:has(input:checked){border-color:var(--c-accent);background:var(--c-accent);color:#fff}
.lux-choice label:has(input:focus-visible){outline:2px solid var(--c-gold);outline-offset:2px}
.lux-submit{margin-top:1em;min-height:52px;border:0;border-radius:999px;background:var(--c-accent);color:#fff;font:600 .95em var(--f-body);letter-spacing:.08em;cursor:pointer}
.lux-submit:hover{filter:brightness(1.12)}.lux-submit:disabled{opacity:.6}
.lux-success{padding:1.4em 0;color:var(--c-accent);font:500 1.15em var(--f-head)}
.lux-small{font-size:.8em!important}

/* ---------- Chân trang ---------- */
.lux-footer{padding:60px 20px calc(96px + env(safe-area-inset-bottom));text-align:center;background:var(--c-deep);color:var(--c-on-deep)}
.lux-footer .nm{font-family:var(--f-names);font-style:var(--names-style);font-size:calc(2.6em*var(--names-scale));line-height:1.2}
.lux-footer p{font-size:.85em;letter-spacing:.14em;opacity:.8;margin-top:.4em}
.lux-footer small{display:block;margin-top:1.6em;font-size:.68em;letter-spacing:.2em;opacity:.55}

/* ---------- Nút đăng nhập cặp đôi (giữ vị trí góc dưới trái) ---------- */
.lux-wedding .couple-login-launch{left:max(14px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}

/* ---------- Máy tính bảng ---------- */
@media(max-width:900px){
 .lux-gallery{columns:3;column-gap:8px}.lux-gallery-item{margin-bottom:8px}
 .lux-section{scroll-margin-top:52px}
}
/* ---------- Điện thoại ---------- */
@media(max-width:640px){
 .lux-nav{justify-content:flex-start;padding-inline:6px}
 .lux-grid2{grid-template-columns:1fr}
 .lux-gallery{columns:2}
 .lux-couple .mid{font-size:1.6em}
 .lux-timeline-list:before{left:calc(4.4em + 8px)}
 .lux-time-row{grid-template-columns:4.4em 17px 1fr;gap:0 10px}
 .lux-time{font-size:1.05em}
 .lux-card .big-time{font-size:1.8em}
 .lux-lightbox button{width:44px;height:44px}
 .lux-wedding .couple-login-launch span{display:none}
 .lux-wedding .couple-login-launch{padding:12px 15px;font-size:15px}
}
@media(max-width:380px){.lux-choice{grid-template-columns:1fr}.lux-countdown div{min-width:54px}}
/* Điện thoại xoay ngang / màn hình thấp */
@media(max-height:520px) and (orientation:landscape){.lux-hero{min-height:620px}.env-body{gap:.4em}.env-seal{width:64px;height:64px;font-size:1.1em;margin-top:.2em}}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}.env-panel{transition-duration:.01s}.env-seal,.lux-scroll:after{animation:none}.lux-gallery-item img{transition:none}}
@media print{.env,.lux-nav,.couple-login-launch,.lux-scroll{display:none!important}.rv{opacity:1;transform:none}}
