:root{--navy:#172440;--purple:#432650;--ink:#25273b;--paper:#fcfaf8;--silver:#b8acbd;--muted:#696571;--line:#ddd5df;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #976db0;outline-offset:5px}[hidden]{display:none!important}.skip{position:absolute;left:15px;top:-100px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}.header{max-width:1200px;margin:auto;min-height:100px;padding:22px 40px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{text-decoration:none;font:italic 24px var(--serif);color:var(--navy)}nav{display:flex;gap:32px;font-size:11px;letter-spacing:2px;text-transform:uppercase}nav a{text-decoration:none}nav a:hover{color:var(--purple);text-decoration:underline}.eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:600;margin:0 0 22px}.hero{text-align:center;position:relative;overflow:hidden;padding:52px 24px 0;background:radial-gradient(ellipse at 14% 57%,#e9e9f0 0,transparent 45%),radial-gradient(ellipse at 89% 60%,#ece3ed 0,transparent 45%)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15}h1{font-size:clamp(48px,7vw,84px);margin:0 0 18px;color:var(--navy);letter-spacing:-2px}h2{font-size:clamp(34px,4vw,49px);margin:10px 0 24px}h3{font-size:24px}.intro{max-width:470px;margin:0 auto 34px;color:var(--muted);font-size:14px}.ornament{display:flex;align-items:center;justify-content:center;gap:18px;color:#918099;margin:22px auto;font:26px var(--serif)}.ornament:before,.ornament:after{content:'';height:1px;width:80px;background:currentColor;opacity:.5}.portrait-wrap{position:relative;width:min(355px,84vw);margin:40px auto 0;padding:12px;border:1px solid #afa1b5;border-radius:190px 190px 0 0;background:#ffffff60}.portrait-wrap:before{content:'❧';position:absolute;font:65px var(--serif);color:var(--purple);top:-47px;left:50%;transform:translateX(-50%);background:var(--paper);line-height:1}.portrait{height:445px;border-radius:180px 180px 0 0;overflow:hidden;background:linear-gradient(145deg,#e9e4ed,#d8dce8);position:relative}.portrait img{width:100%;height:100%;object-fit:cover}.portrait-fallback{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;color:#72617e;background:repeating-linear-gradient(45deg,transparent 0,transparent 38px,#ffffff30 38px,#ffffff30 39px)}.portrait-fallback span{font:italic 37px var(--serif)}.portrait-fallback small{margin-top:18px;font-size:10px;letter-spacing:2px;text-transform:uppercase}.hero-side{position:absolute;top:62%;font:italic 27px var(--serif);color:#827489}.hero-side.left{right:calc(50% + 240px)}.hero-side.right{left:calc(50% + 240px)}.details{background:var(--navy);color:white;padding:36px 25px;display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:20px}.details>div+div{border-left:1px solid #ffffff30}.details small{display:block;letter-spacing:2px;font-size:9px;text-transform:uppercase;color:#d1c7da;margin-bottom:8px}.details strong{font:22px var(--serif);display:block}.details span{font-size:12px;color:#d5d7df}.section{max-width:1120px;margin:auto;padding:100px 40px}.venue{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.venue p{color:var(--muted);font-size:14px}.venue-image{height:340px;background:#e9e5ec;position:relative;overflow:hidden;border-radius:180px 180px 3px 3px;border:8px solid white;box-shadow:0 0 0 1px var(--line)}.venue-image img{width:100%;height:100%;object-fit:cover}.venue-fallback{display:grid;place-content:center;text-align:center;height:100%;color:var(--purple);font:28px var(--serif)}.venue-fallback small{font:11px Arial;margin-top:12px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--navy);background:var(--navy);color:white;padding:13px 23px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;min-height:46px}.button:hover{background:var(--purple);border-color:var(--purple)}.button.outline{color:var(--navy);background:transparent}.button.outline:hover{background:#eee9f0}.map-shell{margin-top:42px;min-height:260px;background:#eeedf0;border:1px solid var(--line);text-align:center;display:grid;place-items:center;padding:20px}.map-shell p{font-size:12px;color:var(--muted)}.map-shell iframe{border:0;width:100%;height:300px}.map-shell.loaded{padding:0}.gift{position:relative;background:var(--purple);color:white;text-align:center;padding:80px 28px;overflow:hidden}.gift:before,.gift:after{content:'❦';position:absolute;font:230px var(--serif);opacity:.07;top:18px}.gift:before{left:3%}.gift:after{right:3%;transform:scaleX(-1)}.gift .inner{max-width:650px;margin:auto;position:relative;border:1px solid #b7a1c34d;padding:40px 35px}.gift .eyebrow{color:#d5c1df}.gift p{font:18px/1.9 var(--serif);max-width:490px;margin:20px auto}.gift .ornament{color:#c6b0d1}.closing{text-align:center;padding:76px 22px}.closing h2{font-style:italic;color:var(--purple)}.closing p{color:var(--muted);font-size:14px}.signature{font:italic 28px var(--serif);color:var(--navy)}footer{border-top:1px solid var(--line);padding:25px;text-align:center;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}.rsvp-hero{padding:65px 24px;text-align:center;background:linear-gradient(115deg,var(--navy),var(--purple));color:white}.rsvp-hero h1{color:white;font-size:clamp(42px,6vw,68px)}.rsvp-hero p{max-width:580px;margin:18px auto;color:#e5dfeb}.rsvp-hero .eyebrow{color:#d4c7db}.rsvp-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.timeline{list-style:none;padding:0;margin:32px 0}.timeline li{display:grid;grid-template-columns:76px 1fr;gap:22px;padding:0 0 28px;position:relative}.timeline li:before{content:'';position:absolute;left:85px;top:10px;bottom:-10px;width:1px;background:var(--line)}.timeline li:after{content:'';width:7px;height:7px;background:var(--purple);border-radius:50%;position:absolute;left:82px;top:10px}.timeline li:last-child:before{display:none}.timeline time{font:18px var(--serif);padding-top:3px}.timeline strong{font:21px var(--serif);display:block}.timeline p{font-size:12px;color:var(--muted);margin:6px 0}.form-box{padding:32px;background:white;border:1px solid var(--line)}.form-box h2{font-size:32px}.form-box p{font-size:14px;color:var(--muted)}.form-box iframe{width:100%;min-height:850px;border:0}.form-placeholder{padding:35px 20px;text-align:center;background:#f3eff5;border:1px dashed #c6b5ce}.form-placeholder strong{font:23px var(--serif);display:block;color:var(--purple)}.back{display:inline-block;margin-top:20px;font-size:12px}.qr-layout{max-width:800px;margin:auto;padding:50px 24px}.qr-layout input{width:100%;padding:13px;border:1px solid var(--line);margin:10px 0 20px}.qr-results{display:flex;gap:30px;flex-wrap:wrap;margin-top:35px}.qr-card{background:white;padding:25px;border:1px solid var(--line);max-width:100%;overflow-wrap:anywhere}.qr-card img{max-width:100%}.qr-card p{font-size:12px}.status{color:var(--purple)}@media(max-width:760px){.header{padding:20px;min-height:80px}.brand{font-size:21px}nav{gap:16px;font-size:9px;letter-spacing:1px}.hero{padding-top:30px}.hero-side{display:none}.portrait{height:390px}.details{grid-template-columns:1fr;padding:25px}.details>div+div{border-left:0;border-top:1px solid #ffffff25;padding-top:17px}.section{padding:60px 24px}.venue,.rsvp-layout{grid-template-columns:1fr;gap:35px}.venue-image{height:310px;max-width:440px;width:100%;margin:auto}.gift{padding:45px 20px}.gift .inner{padding:28px 20px}.gift p{font-size:17px}.form-box{padding:22px 14px}.closing{padding:55px 22px}.rsvp-hero{padding:45px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{nav,.map-shell,.form-box,.button,.skip{display:none}body{background:white}.hero,.gift,.rsvp-hero{background:white;color:#222}.rsvp-hero h1{color:#222}.section{padding:30px}.details{background:white;color:#222}.details span,.details small{color:#444}}

.timeline time{overflow-wrap:anywhere;font-size:15px;line-height:1.4}.timeline li{grid-template-columns:85px 1fr;gap:25px}.timeline li:before{left:96px}.timeline li:after{left:93px}h1{overflow-wrap:anywhere}@media(max-width:760px){.hero h1{font-size:clamp(30px,8.5vw,48px);letter-spacing:-1px}.header{flex-wrap:wrap}}
/* Barokk × jelenkor: helyi vektoros díszítés, ezüst és tintaszínek. */
:root{--wedding-gradient:linear-gradient(90deg,#16233b 0%,#24223e 50%,#402449 100%);--paper:#fcfaf7;--serif:'Palatino Linotype','Book Antiqua',Palatino,Georgia,serif;--silver:#b4a4bd}
body{background:var(--paper)}
.header{border-bottom:1px solid #b4a4bd77;max-width:none;padding-inline:max(30px,calc((100vw - 1120px)/2));background:#fcfaf7;position:relative}
.header:after{content:'';position:absolute;bottom:5px;left:20px;right:20px;border-bottom:1px solid #b4a4bd44;pointer-events:none}
.brand{font-family:var(--serif);font-size:27px}.brand:before{content:'❦';font-style:normal;font-size:22px;margin-right:12px;color:var(--purple)}
.hero{padding:45px 28px 55px;background:var(--wedding-gradient);isolation:isolate;color:var(--paper)}
.hero:before,.rsvp-hero:before,.gift:before{content:'';position:absolute;inset:0;background:url('../assets/damask.svg') repeat;background-size:150px 188px;opacity:.32;z-index:-1;pointer-events:none;transform:none;font-size:0}
.hero:after{content:'';position:absolute;inset:18px;border:1px solid #b4a4bd80;outline:1px solid #b4a4bd3d;outline-offset:6px;pointer-events:none;z-index:-1}
.hero h1{color:#fcfaf7;font-family:var(--serif);font-size:clamp(42px,6.7vw,82px);font-style:italic;font-weight:400;letter-spacing:-2px}
.hero .eyebrow{color:#ded2e4;margin-bottom:15px}.intro{color:#e4dce8;line-height:1.9;margin-bottom:45px}
.crest{width:260px;height:75px;margin:0 auto 15px;background:url('../assets/flourish.svg') center/contain no-repeat;display:grid;place-items:center}
.crest span{font:12px var(--serif);letter-spacing:3px;background:#26213a;padding:5px 9px;margin-top:1px}
.portrait-wrap{width:min(365px,76vw);margin:35px auto 10px;padding:13px;border:3px double #c7b8d0;border-radius:48% 48% 9px 9px;background:#b4a4bd20;box-shadow:0 0 0 5px #1c223b,0 0 0 6px #b4a4bd88,0 18px 45px #0004}
.portrait-wrap:before{content:'';width:290px;height:65px;top:-40px;background:url('../assets/flourish.svg') center/contain no-repeat}
.portrait-wrap:after{content:'';position:absolute;width:270px;height:55px;bottom:-31px;left:50%;transform:translateX(-50%) rotate(180deg);background:url('../assets/flourish.svg') center/contain no-repeat;pointer-events:none}
.portrait{height:425px;border-radius:48% 48% 3px 3px}.portrait-fallback{background:linear-gradient(#eeebf2cc,#e1dce9cc),url('../assets/damask.svg') center/120px;color:#655471}.portrait-fallback span{font-family:var(--serif)}
.hero-side{color:#dacbdf;font:italic 30px var(--serif);top:62%}.hero-side:after{content:'';display:block;width:190px;height:50px;background:url('../assets/flourish.svg') center/contain no-repeat;margin:10px auto}.hero-side.left{right:calc(50% + 230px)}.hero-side.right{left:calc(50% + 230px)}
.details{background:#f8f5f2;color:var(--navy);padding:40px 28px;border-bottom:4px double #b4a4bd;border-top:4px double #b4a4bd}.details small{color:#776180}.details span{color:#696571}.details strong{font-family:var(--serif);font-size:25px}.details>div+div{border-color:#b4a4bd80}
h2{font-family:var(--serif);color:var(--purple)}.venue h2{font-style:italic}.venue-image{border:9px solid #fcfaf7;outline:3px double #b4a4bd;outline-offset:5px;box-shadow:0 12px 35px #33244412;border-radius:48% 48% 3px 3px}.venue-image img{object-position:50% 60%}
.button{border:3px double #b4a4bd;padding:12px 22px;letter-spacing:1.4px}.button.outline{border:3px double #8c7897}.map-shell{border:4px double #c9bdce;background:#f1edf3}
.gift{isolation:isolate;background:var(--wedding-gradient);padding:65px 28px}.gift:after{content:none}.gift .inner{border:4px double #b4a4bd;outline:1px solid #b4a4bd66;outline-offset:8px;background:#ffffff05;max-width:740px;padding:25px 42px}.gift h2{color:#fff9ff;font-style:italic}.gift p{font-family:var(--serif);font-size:20px;max-width:550px}
.ornament{height:65px;width:min(320px,90%);display:block;background:url('../assets/flourish.svg') center/contain no-repeat;margin:12px auto}.ornament:before,.ornament:after{content:none}
.closing:before{content:'';display:block;background:url('../assets/flourish.svg') center/contain no-repeat;width:min(300px,80vw);height:65px;margin:0 auto 20px}.closing{background:radial-gradient(ellipse at center,#fff 20%,#eee9f250)}.closing h2{font-size:clamp(36px,4vw,52px)}
.rsvp-hero{position:relative;isolation:isolate;background:var(--wedding-gradient);padding:70px 35px}.rsvp-hero:after{content:'';position:absolute;inset:17px;border:3px double #b4a4bd88;pointer-events:none;z-index:-1}.rsvp-hero h1{font-style:italic;font-family:var(--serif)}
.rsvp-layout{align-items:start}.form-box{border:4px double #b4a4bd;box-shadow:0 8px 30px #43265008;padding:32px;background:#fffdfb}.form-box:before{content:'';display:block;background:url('../assets/flourish.svg') center/contain no-repeat;width:220px;height:50px;max-width:100%;margin:0 auto 20px}.form-box h2{font-family:var(--serif);font-style:italic}
.timeline li{grid-template-columns:100px 1fr;gap:28px;padding-bottom:28px}.timeline li:before{left:112px;background:#b4a4bd}.timeline li:after{left:109px;border-radius:0;transform:rotate(45deg);background:#73557f}.timeline time{font:17px/1.4 var(--serif);color:var(--purple)}.time-dash{display:none}.timeline strong{font-family:var(--serif)}.schedule-note{font-size:12px;color:var(--muted)}
footer{border-top:3px double #b4a4bd;background:#172440;color:#ded5e4}
@media(max-width:760px){.header{padding:18px 24px}.brand{font-size:23px}.hero{padding:35px 25px 50px}.hero h1{font-size:clamp(31px,8.2vw,52px);letter-spacing:-1px}.hero:after{inset:11px;outline-offset:4px}.crest{width:220px;height:60px}.intro{font-size:13px;max-width:300px}.hero .eyebrow{font-size:9px;letter-spacing:2px}.portrait{height:365px}.portrait-wrap{width:min(325px,76vw)}.portrait-wrap:before{width:235px}.portrait-wrap:after{width:235px}.details>div+div{border-top-color:#b4a4bd77}.details{gap:18px;padding:30px 25px}.gift{padding:42px 23px}.gift .inner{padding:22px 18px}.gift p{font-size:18px}.ornament{height:55px}.rsvp-hero{padding:52px 27px}.rsvp-hero h1{font-size:40px}.form-box{padding:25px 18px}.timeline li{grid-template-columns:88px 1fr;gap:25px}.timeline li:before{left:99px}.timeline li:after{left:96px}.timeline time{font-size:16px}.venue-image{width:calc(100% - 12px)}}
@media print{.hero,.rsvp-hero,.gift{background:white;color:#222}.hero h1,.rsvp-hero h1,.gift h2,.hero .intro{color:#222}.hero:before,.hero:after,.rsvp-hero:before,.rsvp-hero:after,.gift:before{display:none}}

.time-dash{display:inline;font-size:12px;color:#8c7897}

/* Közös Google Forms – az esküvői weboldalhoz illesztett, natív kérdőív. */
.rsvp-form{display:grid;gap:0;margin-top:23px}.rsvp-field{margin:0 0 26px;padding:0;border:0;min-width:0}
.rsvp-field legend{display:block;width:100%;padding:0 0 11px;font:23px/1.3 var(--serif);color:var(--navy)}
.rsvp-required{color:#8f4f72}.rsvp-field .rsvp-description{margin:-4px 0 13px;font-size:13px;color:#696571;line-height:1.5}
.rsvp-field input[type='text'],.rsvp-field input[type='date'],.rsvp-field input[type='time'],.rsvp-field textarea,.rsvp-field select{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;background:#fcfaf7;color:#222139;border:1px solid #c9bfd0;border-radius:3px;font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;box-shadow:inset 0 1px 3px #25203509}
.rsvp-field textarea{min-height:105px;resize:vertical}.rsvp-field input:focus-visible,.rsvp-field textarea:focus-visible,.rsvp-field select:focus-visible{outline:2px solid #71547c;outline-offset:2px}
.rsvp-options{display:grid;gap:10px}.rsvp-choice{display:flex;align-items:center;gap:12px;cursor:pointer;padding:13px 14px;background:#fcfaf7;border:1px solid #d8cfd9;border-radius:3px;color:#2e2c3b;font:15px/1.4 system-ui,-apple-system,'Segoe UI',sans-serif;transition:border-color .15s,background .15s}
.rsvp-choice:has(input:checked){background:#f1eaf3;border-color:#73557f;box-shadow:inset 0 0 0 1px #73557f}.rsvp-choice:focus-within{outline:2px solid #73557f;outline-offset:2px}
.rsvp-choice input{width:18px;height:18px;flex-shrink:0;accent-color:#6b4c7a;cursor:pointer}.attendance-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.attendance-options .rsvp-choice{justify-content:center;padding:15px 8px;font:20px var(--serif);text-align:center;border:2px solid #b5a6bd}
.rsvp-privacy{font:12px/1.7 system-ui,-apple-system,'Segoe UI',sans-serif!important;color:#746a79!important;margin:0 0 15px!important}
.rsvp-send{width:100%;cursor:pointer;background:linear-gradient(110deg,#172440,#402449);color:white;text-transform:none;font-size:14px}
.rsvp-send:hover{filter:brightness(1.15)}.rsvp-send:disabled{opacity:.66;cursor:wait}
.rsvp-status{min-height:22px;margin:10px 0!important;font-size:13px!important;color:#5b4f72!important}
.rsvp-status.error{color:#9a294d!important}.rsvp-help{margin-top:12px;padding-top:16px;border-top:1px solid #e2d9e4;font-size:12px;color:#777}
.rsvp-fallback{display:inline-block;font-size:13px;color:#583a69;text-decoration:underline;text-underline-offset:4px;margin-top:9px}
.rsvp-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.rsvp-success{text-align:center;padding:20px 8px 32px}.rsvp-success h3{font:italic 32px/1.3 var(--serif);color:#402449}.rsvp-success p{font:16px/1.7 var(--serif);color:#575161;margin:14px auto;max-width:340px}
.rsvp-success-ornament{width:220px;max-width:100%;height:65px;margin:0 auto 10px;background:url('../assets/flourish.svg') center/contain no-repeat}
@media(max-width:430px){.attendance-options{grid-template-columns:1fr}.rsvp-field legend{font-size:21px}}
@media(prefers-reduced-motion:reduce){.rsvp-choice{transition:none}}
@media print{.rsvp-form,.rsvp-help,.rsvp-success{display:none}}

/* Beágyazott Google Apps Script űrlap: külön eredmény-visszaigazolással. */
.rsvp-embed{margin-top:24px;min-width:0}.rsvp-widget-frame{display:block;width:100%;height:780px;min-height:250px;border:0!important;background:transparent}.rsvp-embed .rsvp-help{line-height:1.7}.rsvp-embed .rsvp-loading{margin-bottom:16px}.rsvp-embed .form-placeholder{margin-bottom:14px}

/* 2026.11 – natív visszajelzés (nincs külső iframe). */
.rsvp-form-native{margin-top:22px;gap:0}
.rsvp-form-native [hidden]{display:none!important}
.rsvp-form-native .rsvp-send{border:3px double #baa9c7;border-radius:2px;min-height:50px}
.rsvp-form-native .rsvp-nav-note{margin:12px 0 0!important;line-height:1.6}
.rsvp-form-native .rsvp-field input[type=text]{max-width:100%;font-size:16px}
.rsvp-form-native .rsvp-field .rsvp-options .rsvp-choice{font-size:15px}
.rsvp-form-native .attendance-options .rsvp-choice{font:20px/1.3 var(--serif)}
.rsvp-form-native .rsvp-field:first-of-type legend{margin-bottom:2px}
@media(prefers-reduced-motion:reduce){.rsvp-form-native .rsvp-choice{transition:none}}
