:root{--ink:#302b24;--gold2:#d9c49b;--paper:#fbf8f1;--line:#e7decd}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f0ece4;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.23;background-image:radial-gradient(#b7a782 0.65px,transparent .65px);background-size:13px 13px;mask-image:linear-gradient(to bottom,black,transparent 85%);z-index:-1}
.shell{width:min(100%,900px);margin:0 auto;padding:26px 18px 54px}
.topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 auto 18px;max-width:760px;animation:rise .7s both}
.brand-mark{width:31px;height:31px;border:1px solid var(--gold2);border-radius:50%;display:grid;place-items:center}
.passport{position:relative;max-width:760px;margin:auto;background:var(--paper);border:1px solid #e4d9c4;border-radius:7px;overflow:hidden;box-shadow:0 25px 80px #51432d14,0 3px 10px #51432d08}
.passport:before{content:"";position:absolute;inset:9px;border:1px solid #e8ddc7;border-radius:3px;pointer-events:none;z-index:1}
.hero{position:relative;text-align:center;padding:60px 28px 36px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 10%,#eee4ce 0%,#f8f4eb 43%,#fbf8f1 75%)}
.couple-names{font-family:"Bodoni Moda",Didot,"Times New Roman",serif;font-size:clamp(24px,4.6vw,34px);font-style:italic;letter-spacing:.055em;color:#8e7448;margin:0 auto 25px;animation:rise .7s both}
.couple-names span{display:inline-block;color:#b99c66;font-size:.82em;padding:0 7px;font-style:normal}
.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #d7c39b55;border-radius:50%;left:50%;top:-300px;transform:translateX(-50%);box-shadow:0 0 0 22px #d7c39b12,0 0 0 50px #d7c39b0b;z-index:-1}

.kicker{display:inline-flex;align-items:center;gap:8px;border:1px solid #d9c8a5;border-radius:99px;padding:8px 13px;color:#927644;background:#fffaf0a8;font-size:9px;letter-spacing:.2em;text-transform:uppercase;animation:rise .65s .05s both}
.kicker svg{width:13px;height:13px}
h1{font-family:"Bodoni  Moda",Didot,"Times New Roman",serif;font-weight:400;letter-spacing:.055em;font-size:clamp(37px,7vw,62px);line-height:1.05;margin:23px 0 11px;color:#6e5735;animation:rise .7s .13s both}
.hero-copy{max-width:460px;margin:0 auto;color:#7c7262;font-family:Georgia,serif;font-size:14px;line-height:1.8;animation:rise .7s .3s both}
.content{padding:0 34px 35px;position:relative}
.step{border:1px solid var(--line);border-radius:14px;background:#fffdf9c9;margin-bottom:15px;overflow:hidden;animation:rise .7s both;transition:box-shadow .25s,border-color .25s}
.step:focus-within{border-color:#c9b184;box-shadow:0 8px 25px #7a60321a}
.step:nth-of-type(2){animation-delay:.08s}.step:nth-of-type(3){animation-delay:.14s}.step:nth-of-type(4){animation-delay:.2s}
.step-head{display:flex;align-items:center;gap:13px;padding:19px 21px 14px}
.step-icon{width:38px;height:38px;flex:0 0 auto;border-radius:12px;display:grid;place-items:center;background:#f4eddf;color:#9a7b47}
.step-icon svg{width:19px;height:19px}
.step-number{font-size:9px;letter-spacing:.15em;color:#b49b6d;text-transform:uppercase;margin-bottom:4px}
.step-title{font-family:Georgia,serif;font-size:19px;font-weight:400;color:#53452f}
.step-body{padding:3px 21px 22px 72px}
.field{margin-bottom:15px}.field:last-child{margin-bottom:0}
label.field-label{display:block;color:#766b5b;font-size:10px;letter-spacing:.09em;text-transform:uppercase;margin:0 0 8px;font-weight:650}
input,select,textarea{font:14px inherit;font-family:inherit;width:100%;border:1px solid #e5dccb;background:#fffefa;border-radius:9px;padding:13px 13px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
input::placeholder,textarea::placeholder{color:#b1a796}
input:focus,select:focus,textarea:focus{border-color:#b69a65;box-shadow:0 0 0 3px #b69a6518}
textarea{min-height:85px;resize:vertical;line-height:1.5}
.radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radio-card{position:relative;display:flex;align-items:center;gap:10px;padding:13px;border:1px solid #e5dccb;border-radius:9px;cursor:pointer;font-size:12px;line-height:1.4;transition:.2s;background:#fffefa}
.radio-card:has(input:checked){border-color:#b69a65;background:#f8f2e6}
.radio-card input{accent-color:#987745;width:15px;height:15px;margin:0}
.hint{font-size:11px;line-height:1.6;color:#948978;margin-top:7px}
.guest-list{display:grid;gap:8px}
.guest-list:empty{display:none}
.guest-row{display:grid;grid-template-columns:1fr 38px;gap:8px}
.remove{border:1px solid #e5dccb;background:#fffefa;border-radius:9px;color:#a58a58;font-size:20px;cursor:pointer;transition:.2s}
.remove:hover{background:#f4ecdd}
.add{margin-top:10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #d8c7a5;background:#fcf8ef;color:#876c3d;padding:10px 13px;border-radius:8px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:all .2s}
.add:hover{background:#f2e8d5;transform:translateY(-1px)}
.success{display:none;margin-top:18px;padding:20px;border:1px solid #d8c7a5;background:#f7f0e2;border-radius:12px;text-align:center;font-size:13px;line-height:1.7}
.success strong{display:block;font-family:Georgia,serif;font-size:21px;font-weight:400;color:#80643a;margin-bottom:5px}
footer{text-align:center;padding:27px 15px 0;color:#9a8b73;font-size:9px;letter-spacing:.14em;text-transform:uppercase}
footer .footer-mark{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:11px;color:#b49b6d}
footer .footer-mark:before,footer .footer-mark:after{content:"";width:36px;height:1px;background:#dfd2b7}
footer svg{width:17px;height:17px}
@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.shell{padding:0 0 32px}.topline{padding:15px 19px;margin:0}.passport{border-left:0;border-right:0;border-radius:0}.passport:before{inset:6px}.hero{padding:49px 23px 30px}.kicker{font-size:8px;letter-spacing:.14em}h1{font-size:clamp(34px,10vw,49px);margin-top:22px}.hero-copy{font-size:13px}.content{padding:0 17px 26px}.step-head{padding:16px 15px 12px}.step-body{padding:4px 15px 18px}.step-icon{width:34px;height:34px}.step-title{font-size:17px}.radio-grid{grid-template-columns:1fr}.radio-card{padding:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

:root{--ink:#34271f;--gold2:#e4cc91;--paper:#fffaf0;--line:#e8d8b9}
body{background:#eee5d6;background-image:radial-gradient(ellipse at 12% 8%,#fffaf0 0,transparent 35%),radial-gradient(ellipse at 90% 90%,#e2d2b3 0,transparent 36%)}
body:before{opacity:.18;background-size:17px 17px}
.shell{width:min(100%,980px);padding-top:30px}
.passport{max-width:840px;border:1px solid #c9a86b;border-radius:10px;background:#fffaf0;box-shadow:0 28px 90px #59432724,0 0 0 5px #fffaf080,0 0 0 6px #c7a56855;isolation:isolate}
.passport:before{inset:11px;border:1px solid #d8bd83;border-radius:5px}
.hero{padding:18px 34px 22px;background:linear-gradient(145deg,#fffaf0 0%,#f4e8ce 47%,#fffaf2 100%)}
.hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.2;background:repeating-linear-gradient(35deg,transparent 0 17px,#c6a86c 18px,transparent 19px 34px);mask-image:linear-gradient(to bottom,transparent,#000 45%,transparent)}
.couple-names{font-size:clamp(25px,4.5vw,36px);margin:0 auto 12px;color:#8d642d;text-shadow:0 1px #fff}
.kicker{position:relative;z-index:2;background:#fffaf0e8;border-color:#c9a86b;color:#8a672e}
h1{color:#73512b;text-shadow:0 1px #fff7e4}
.hero-copy{color:#776752}
.thanks-art{display:block;width:min(100%,560px);max-height:210px;object-fit:contain;margin:26px auto 0;filter:drop-shadow(0 5px 8px #80602c12);animation:rise .8s .2s both}
.content{padding:0 42px 38px}
.step-icon{background:#f2e5c9;color:#99713a}
.step{border-color:#e6d6b8;background:#fffdf8e8;box-shadow:0 5px 18px #73552a08}
.step-title{color:#60472c}
.step:focus-within{border-color:#c7a05c;box-shadow:0 8px 25px #7a60321a}
input,select,textarea,.radio-card{border-color:#e4d7bf;background:#fffefb}
.radio-card:has(input:checked){border-color:#bb9556;background:#faf1df}
.add{border-color:#d5bc8c;background:#fff9ec;color:#88652f}
.success{border-color:#d9c08f;background:#fbf2df}
footer{color:#9b8054}
@keyframes goldShimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@media(max-width:600px){
 .shell{padding-top:0}
 .hero{padding:15px 20px 20px}
 .content{padding:0 17px 28px}
 .thanks-art{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){}
select{
 appearance:none;-webkit-appearance:none;
 background-color:#fffaf0;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239a7740' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
 background-repeat:no-repeat;background-position:right 13px center;background-size:16px;
 padding-right:42px;cursor:pointer;border-radius:10px;
 box-shadow:inset 0 1px 0 #fff;
}
select:hover{border-color:#c6a365;background-color:#fffdf7}
select:focus{border-color:#b58a45;box-shadow:0 0 0 3px #b58a4520,0 3px 9px #8d682014}
option{background:#fffaf0;color:#493925;padding:10px}
.radio-grid{gap:12px}
.radio-card{
 border:1px solid #e1d0ad;border-radius:11px;padding:14px 15px;
 background:linear-gradient(145deg,#fffdf8,#fbf4e7);
 box-shadow:0 2px 7px #6f512008;position:relative;overflow:hidden;
}
.radio-card:before{content:"";width:4px;position:absolute;left:0;top:0;bottom:0;background:linear-gradient(#d9bd7d,#a77b3d);opacity:.45}
.radio-card input{
 appearance:none;-webkit-appearance:none;flex:0 0 17px;width:17px;height:17px;
 border:1px solid #c6a365;border-radius:50%;background:#fffdf8;position:relative;
 transition:box-shadow .2s,background .2s,border-color .2s;
}
.radio-card input:checked{background:#9b7339;border-color:#9b7339;box-shadow:inset 0 0 0 4px #fff8e8}
.radio-card:has(input:checked){border-color:#b58a45;background:linear-gradient(145deg,#fbf1dc,#fffaf0);box-shadow:0 4px 13px #98713b17}
.radio-card:has(input:checked):before{opacity:1}
.radio-card span{font-family:Georgia,serif;font-size:13px;color:#60482d}
.radio-card:hover{transform:translateY(-1px);border-color:#c6a365}
input,textarea{border-radius:10px}
.add{border-radius:999px}
@media(max-width:600px){
 .radio-card{padding:12px 13px}
}

:root{--ink:#252d30;--gold2:#d9c28f;--paper:#f8f7f1;--line:#d9ded9}
body{background:#e8e8e0;background-image:linear-gradient(135deg,#f2f0e8 0%,#e1e5e0 48%,#ede5d8 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body:before{opacity:.13;background-image:radial-gradient(#7c8a85 .7px,transparent .7px);background-size:11px 11px}
.shell{width:min(100%,1000px);padding:28px 18px 58px}
.passport{max-width:900px;border:1px solid #c8b78f;border-radius:5px;background:var(--paper);box-shadow:0 28px 80px #26302c1c,0 0 0 5px #ffffff70,0 0 0 6px #b7a47835;overflow:hidden;animation:passportIn .8s ease-out both}
.passport:before{inset:10px;border:1px solid #d8c99f;border-radius:2px}
.hero{padding:22px 38px 28px;background:linear-gradient(135deg,#f9f8f2 0%,#edf1ef 48%,#f7f2e8 100%);border-bottom:1px solid #d8d6c9}
.hero:after{width:540px;height:540px;top:-410px;border-color:#b7a47755;box-shadow:0 0 0 30px #b7a4770e,0 0 0 68px #b7a4770a}
.couple-names{font-size:clamp(23px,4vw,33px);margin-bottom:8px;letter-spacing:.03em;color:#6f5838}
.kicker{font-size:9px;letter-spacing:.22em;padding:8px 14px;background:#fbfaf4;border-color:#c9b886;color:#79633c}
h1{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:clamp(34px,6.3vw,54px);margin:15px 0 7px;letter-spacing:.035em;color:#354348}
.hero-copy{font-size:13px;line-height:1.8;color:#68716d;max-width:480px}
.content{padding:24px 42px 36px}
.step-icon{border-radius:3px;background:#e8ece6;color:#8b7145}
.step{border-radius:3px;border:1px solid #d6d9d1;background:#fffefa;box-shadow:0 4px 16px #313d3708;position:relative;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.step:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#d8c28e,#9caa9d);opacity:.8}
.step:hover{border-color:#b8aa83;box-shadow:0 10px 28px #29342e12;transform:translateY(-2px)}
.step-head{padding:20px 22px 14px}
.step-number{letter-spacing:.19em;color:#a58a57}
.step-title{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:21px;color:#354348}
.step-body{padding-left:73px}
label.field-label{font-size:9px;letter-spacing:.15em;color:#737c75}
input,select,textarea{border-radius:3px;border-color:#d9ddd4;background:#fdfcf7;box-shadow:inset 0 1px 2px #5e6d5e08}
input:hover,select:hover,textarea:hover{border-color:#c2b185}
input:focus,select:focus,textarea:focus{border-color:#a98a51;box-shadow:0 0 0 3px #b58a451c}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%239a7740' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:16px;padding-right:42px;cursor:pointer}
select:hover{background-color:#fffdf7}
.radio-grid{gap:10px}
.radio-card{border-radius:3px;border-color:#d9ddd4;background:linear-gradient(120deg,#fffefa,#f5f6ef);padding:14px 15px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative;overflow:hidden}
.radio-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(#b8a16e,#87988b);opacity:.55}
.radio-card span{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;letter-spacing:.01em;color:#4c5954}
.radio-card:hover{transform:translateY(-2px);box-shadow:0 6px 15px #4c5b4f13;border-color:#b7a477}
.radio-card:has(input:checked){border-color:#aa8b53;background:linear-gradient(120deg,#f8f1df,#f5f5ec);box-shadow:0 4px 14px #94774715}
.radio-card input{accent-color:#917347}
.add{border-radius:3px;background:#f7f4e9;border-color:#d6c59c;color:#7d663d;letter-spacing:.1em}
.add:hover{background:#eee7d5;transform:translateY(-2px);box-shadow:0 5px 13px #5b4a2b12}
.success{border-radius:3px;background:#f4f2e7;border-color:#d6c59c}
.thanks-art{width:min(100%,520px);max-height:160px;margin:22px auto 0}
footer{letter-spacing:.18em;color:#8c8b79}
footer .footer-mark:before,footer .footer-mark:after{background:#c9c4ae}
@keyframes passportIn{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes goldShimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@media(max-width:600px){.shell{padding:0 0 32px}.hero{padding:19px 20px 23px}.content{padding:17px 17px 26px}.step-head{padding:16px 15px 12px}.step-body{padding:4px 15px 18px}.step-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){.passport{animation:none!important}.step,.radio-card,.add{transition:none!important}}

.topline{
 position:sticky;top:0;z-index:9999;display:flex;visibility:visible;opacity:1;max-width:900px;margin:0 auto 12px;
 padding:11px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;
 background:#f8f7f1eF;border:1px solid #d8c99f;border-radius:4px;
 box-shadow:0 5px 22px #27322d0a;
 transition:padding .28s ease,box-shadow .28s ease,background .28s ease,transform .28s ease;
}
.topline.is-scrolled{padding:7px 18px;background:#fbfaf3f5;box-shadow:0 9px 28px #27322d18;transform:translateY(0)}
.brand-mark{width:29px;height:29px;border-color:#bda56f;transition:transform .35s ease,background .35s ease}
.topline.is-scrolled .brand-mark{transform:rotate(-12deg);background:#eee7d4}
@media(max-width:600px){
 .topline{position:sticky;top:0;z-index:9999;visibility:visible;opacity:1;padding:9px 14px;margin:0 0 9px;border-left:0;border-right:0;border-radius:0}
 .topline.is-scrolled{padding:6px 14px}
 .brand-mark{width:25px;height:25px}
}
@media(prefers-reduced-motion:reduce){.topline,.brand-mark{transition:none!important}}

.accommodation-note{margin-top:10px;padding:12px 14px;border:1px dashed #c9b886;background:linear-gradient(110deg,#f7f4e9,#fffdf7);color:#71654d;font-size:11px;line-height:1.65}
.accommodation-note strong{color:#705632;font-weight:650}

.topline{position:sticky;top:0;z-index:9999;max-width:900px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#f8f7f1f2;border:1px solid #d8c99f;border-radius:4px;box-shadow:0 5px 22px #27322d0a;transition:padding .25s ease,box-shadow .25s ease,background .25s ease}
.topline.is-scrolled{padding:8px 20px;background:#fbfaf3f7;box-shadow:0 9px 28px #27322d1a}
.topbar-left{display:flex;align-items:center;gap:11px;min-width:0}
.topline .brand-mark{width:31px;height:31px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #bda56f;border-radius:50%;color:#947642;background:#f9f6ec;transition:transform .3s}
.topline.is-scrolled .brand-mark{transform:rotate(-10deg)}
.topline .brand-mark svg{width:16px;height:16px}
.topbar-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.topbar-kicker:empty{display:none}
.topbar-kicker{font-size:7px;letter-spacing:.2em;color:#9b8354}
.topbar-copy strong{font-family:Georgia,serif;font-size:15px;font-weight:400;color:#455249;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;align-items:center;gap:13px;text-align:right}
#topbarDetail{font-size:9px;color:#7e8174;letter-spacing:.04em}
.topbar-progress{font-size:8px;letter-spacing:.14em;color:#8d7447;border:1px solid #d8c99f;background:#fffaf0;padding:6px 8px;white-space:nowrap}
@media(max-width:600px){.topline{top:0;margin:0 0 9px;padding:9px 13px;border-left:0;border-right:0;border-radius:0;gap:8px}.topline.is-scrolled{padding:7px 13px}.topline .brand-mark{width:26px;height:26px}.topbar-left{gap:8px}.topbar-kicker{font-size:6px;letter-spacing:.14em}.topbar-copy strong{font-size:13px;max-width:42vw}#topbarDetail{display:none}.topbar-right{gap:6px}.topbar-progress{font-size:7px;padding:5px 6px}}
@media(prefers-reduced-motion:reduce){.topline,.topline .brand-mark{transition:none!important}}
.photo-divider {
  display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:18px;
  margin:0 0 24px;padding:12px;border:1px solid var(--line);
  border-radius:13px;background:#fffdf7;
}
.photo-divider img {
  width:100%;height:100px;min-height:100px;object-fit:cover;object-position:center 48%;
  border-radius:8px;display:block;
}
.photo-divider-copy {padding:8px 10px 8px 0}
.photo-divider-copy .eyebrow {font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#a18756;margin-bottom:8px}
.photo-divider-copy strong {display:block;font:italic 19px Georgia,serif;font-weight:400;color:#655238;line-height:1.35}
@media(max-width:560px){
 .photo-divider{grid-template-columns:1fr;gap:9px}
 .photo-divider img{height:125px}
 .photo-divider-copy{padding:2px 6px 8px}
}

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: -3%;
  background-image: url("../img/eskuvoi-hero-960.webp");
  background-size: cover;
  background-position: center 48%;
  opacity: 0.46;
}
.hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(115deg, rgba(250,247,239,.92) 5%, rgba(250,247,239,.68) 48%, rgba(250,247,239,.34) 100%);
  pointer-events: none;
}
.hero > * {
  position: relative;
  z-index: 1;
}

.hero-invite{max-width:520px;margin:20px auto 0;padding:20px 24px 18px;background:rgba(255,253,247,.72);border:1px solid #d8c99f;border-radius:6px;box-shadow:0 10px 30px #2c342d12,inset 0 0 0 4px #fffefa99;;animation:rise .7s .3s both}
.invite-ornament{display:flex;align-items:center;justify-content:center;gap:10px;color:#b08d50;font-size:13px;margin-bottom:10px}
.invite-ornament span{width:44px;height:1px;background:linear-gradient(90deg,transparent,#c8b07c)}
.invite-ornament span:last-child{transform:scaleX(-1)}
.hero-invite .hero-copy{margin:0 auto;font-size:14px;line-height:1.8;color:#5f675f;animation:none}
.hero-copy em{display:block;font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:20px;color:#6f5838;letter-spacing:.02em;margin-bottom:4px}
@media(max-width:600px){
 .hero-invite{margin-top:16px;padding:16px 14px 14px}
 .hero-copy em{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.hero-invite{animation:none!important}}

.wedding-date{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(100%,360px);margin:6px auto 0;color:#6f5838;animation:rise .7s .05s both}
.date-side{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:15px;letter-spacing:.28em;text-transform:uppercase;padding:9px 0;border-top:1px solid #c8b07c;border-bottom:1px solid #c8b07c}
.date-side:first-child{text-align:right}
.date-side:nth-child(3){text-align:left}
.date-day{font-family:"Bodoni Moda",Didot,Georgia,serif;font-size:clamp(58px,10vw,78px);line-height:1;color:#8d6a35;text-shadow:0 1px #fffaf0,0 6px 18px #8d682022}
.date-weekday{grid-column:1/-1;font-family:Georgia,serif;font-style:italic;font-size:13px;letter-spacing:.12em;color:#8b7a5d;margin-top:-4px}
@media(max-width:600px){
 .wedding-date{gap:12px;width:min(100%,290px)}
 .date-side{font-size:12px;letter-spacing:.2em;padding:7px 0}
 .date-day{font-size:56px}
}
@media(prefers-reduced-motion:reduce){.wedding-date{animation:none!important}}

.send-btn{position:relative;display:block;width:100%;height:62px;margin-top:24px;padding:0;border:0;border-radius:12px;cursor:pointer;overflow:hidden;isolation:isolate;
 background:linear-gradient(120deg,#2f3f3a 0%,#3d504a 55%,#2f3f3a 100%);background-size:200% 100%;color:#ecd9ac;
 font:600 11px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.2em;text-transform:uppercase;
 box-shadow:0 12px 26px #2f3f3a30,0 2px 5px #2f3f3a20,inset 0 0 0 4px #2f3f3a,inset 0 0 0 5px #c8a96466;
 transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background-position .6s,color .4s}
.send-btn:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 38%,#fff3d624 50%,transparent 62%);transform:translateX(-100%);animation:sendGlint 6s 2.5s ease-in-out infinite}
.send-btn:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(110deg,#9c7740,#c9a462 50%,#a8814a);opacity:0;transition:opacity .5s}
.send-btn:hover{transform:translateY(-2px);background-position:100% 0;box-shadow:0 18px 34px #2f3f3a3a,0 3px 7px #2f3f3a24,inset 0 0 0 4px #2f3f3a,inset 0 0 0 5px #c8a964aa}
.send-btn:active{transform:translateY(0) scale(.985)}
.send-btn:focus-visible{outline:2px solid #c8a964;outline-offset:3px}
.send-btn:disabled{cursor:default}
.send-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;transition:opacity .35s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.send-busy,.send-done{opacity:0;transform:translateY(16px)}
.send-badge{width:32px;height:32px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,#e2c98f,#b8914f);color:#2f3f3a;box-shadow:0 0 0 4px #c8a9641f;transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.send-badge svg{width:16px;height:16px;transform:rotate(90deg)}
.send-arrow{width:17px;height:17px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.send-btn:hover .send-badge{transform:rotate(-14deg) scale(1.06);box-shadow:0 0 0 6px #c8a96426}
.send-btn:hover .send-arrow{transform:translateX(6px)}
.send-dots{display:inline-flex;gap:4px}
.send-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:sendDot 1s ease-in-out infinite}
.send-dots i:nth-child(2){animation-delay:.15s}.send-dots i:nth-child(3){animation-delay:.3s}
.send-flight{position:absolute;top:50%;left:0;width:22px;height:22px;margin-top:-11px;color:#e2c98f;opacity:0;pointer-events:none}
.send-flight svg{width:100%;height:100%;transform:rotate(90deg)}
.send-flight:before{content:"";position:absolute;right:100%;top:50%;width:120px;border-top:1px dashed #c8a96499}
.send-progress{position:absolute;left:5px;right:5px;bottom:5px;height:2px;border-radius:2px;background:linear-gradient(90deg,#b8914f,#f0dca8);transform:scaleX(0);transform-origin:left}
.send-check{width:20px;height:20px;stroke-dasharray:24;stroke-dashoffset:24}
.send-ripple{position:absolute;z-index:-1;border-radius:50%;background:radial-gradient(circle,#fff3d633 0,#fff3d600 60%);transform:scale(0);animation:sendRipple .7s ease-out forwards;pointer-events:none}
.send-btn[data-state="sending"] .send-idle,.send-btn[data-state="done"] .send-idle{opacity:0;transform:translateY(-16px)}
.send-btn[data-state="sending"] .send-busy{opacity:1;transform:none}
.send-btn[data-state="sending"] .send-flight{animation:sendFly 1.7s cubic-bezier(.55,.05,.35,1) forwards}
.send-btn[data-state="sending"] .send-progress{animation:sendProgress 1.7s cubic-bezier(.4,0,.2,1) forwards}
.send-btn[data-state="done"]{color:#2f3f3a;transform:none;box-shadow:0 14px 30px #a8814a40,inset 0 0 0 4px #b8914f,inset 0 0 0 5px #fff3d688}
.send-btn[data-state="done"]:after{opacity:1}
.send-btn[data-state="done"]:before{animation:none}
.send-btn[data-state="done"] .send-done{opacity:1;transform:none}
.send-btn[data-state="done"] .send-check{animation:sendCheck .5s .2s ease-out forwards}
.send-btn[data-state="done"] .send-progress{opacity:0;transition:opacity .3s}
.send-btn.is-shaking{animation:sendShake .45s cubic-bezier(.36,.07,.19,.97)}
.success{animation:successIn .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes sendGlint{0%,70%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@keyframes sendDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
@keyframes sendFly{0%{opacity:0;transform:translateX(-40px)}12%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(calc(100cqw + 40px))}}
@keyframes sendProgress{to{transform:scaleX(1)}}
@keyframes sendCheck{to{stroke-dashoffset:0}}
@keyframes sendRipple{to{transform:scale(1);opacity:0}}
@keyframes sendShake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(3px)}30%,50%,70%{transform:translateX(-5px)}40%,60%{transform:translateX(5px)}}
@keyframes successIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.send-btn{container-type:inline-size}
@media(max-width:600px){
 .send-btn{height:58px;font-size:10px;letter-spacing:.13em}
 .send-label{gap:11px}
 .send-badge{width:28px;height:28px}
}
@media(prefers-reduced-motion:reduce){
 .send-btn,.send-btn:before,.send-label,.send-badge,.send-arrow,.send-dots i,.success{animation:none!important;transition:none!important}
 .send-btn[data-state="sending"] .send-flight{animation:none!important}
 .send-btn[data-state="sending"] .send-progress{animation:none!important;transform:scaleX(1)}
 .send-btn[data-state="done"] .send-check{animation:none!important;stroke-dashoffset:0}
}

.hero .couple-names{display:flex;align-items:center;justify-content:center;gap:0;margin:4px auto 2px;padding:0;font-weight:400;font-style:normal;letter-spacing:0;text-shadow:none;line-height:1;animation:none}
.couple-names .cn-name{font-family:"Pinyon Script","Great Vibes","Edwardian Script ITC","Monotype Corsiva",cursive;font-size:clamp(50px,9vw,78px);line-height:1.25;padding:0 .08em;
 background:linear-gradient(100deg,#7a5527 0%,#b98d48 30%,#e6cf98 48%,#b98d48 62%,#7a5527 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;
 filter:drop-shadow(0 1px 0 #fffaf0) drop-shadow(0 6px 14px #8d68202a);animation:cnIn 1.1s cubic-bezier(.2,.8,.2,1) both,cnShine 9s 1.4s ease-in-out infinite}
.cn-left{animation-delay:.05s,1.4s}
.cn-right{animation-delay:.3s,1.4s}
.couple-names .cn-amp{font-family:"Bodoni Moda",Didot,Georgia,serif;font-style:italic;font-size:clamp(30px,5vw,44px);color:#b08d50;opacity:.85;margin:0 .15em;transform:translateY(.12em);animation:cnAmp 1s .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes cnIn{from{opacity:0;transform:translateY(10px);filter:blur(6px) drop-shadow(0 1px 0 #fffaf0)}to{opacity:1;transform:none}}
@keyframes cnAmp{from{opacity:0;transform:translateY(.12em) scale(.6) rotate(-12deg)}to{opacity:.85;transform:translateY(.12em)}}
@keyframes cnShine{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(max-width:600px){.couple-names .cn-name{font-size:clamp(44px,13vw,56px)}.couple-names .cn-amp{font-size:28px}}
@media(prefers-reduced-motion:reduce){.cn-name,.cn-amp{animation:none!important}.cn-amp{opacity:.85}}

/* ===== Útlevél téma: gyöngyház, pezsgő keret, mélyarany ===== */
:root{--pp-ink:#1e2026;--pp-muted:#6c675b;--pp-gold:#a8822a;--pp-gold-2:#c8a656;--pp-pearl:#fffefa;--pp-paper:#fbf9f3;--pp-sand:#e8e1cd;--pp-sand-line:#d5c9a8;--pp-gold-deep:#80621b;--pp-title:"Cinzel","Trajan Pro",Georgia,serif;--pp-serif:"Cormorant Garamond",Georgia,serif}
body{background:#f4f2ec;background-image:radial-gradient(120% 80% at 50% 0,#fbfaf6 0,#f1eee6 60%,#ebe7dc 100%);color:var(--pp-ink)}
body:before{opacity:.07;background-image:radial-gradient(#8a7a55 .6px,transparent .6px);background-size:12px 12px}

/* Útlevél borító: pezsgő keret, gyöngyház lap */
.passport{animation:none;max-width:860px;background:var(--pp-pearl);border:1px solid var(--pp-sand-line);border-radius:22px;box-shadow:0 0 0 5px var(--pp-sand),0 0 0 6px var(--pp-sand-line),0 34px 70px #4b3f2424,0 6px 16px #4b3f2412;margin-top:18px;margin-bottom:18px}
.passport:before{inset:9px;border:1px solid #e7dcbc;border-radius:15px}

/* Hero: guilloche biztonsági minta */
.hero{--hero-px:38px;padding:42px var(--hero-px) 34px;background:var(--pp-paper);border-bottom:1.5px dashed var(--pp-sand-line);text-align:center}
.hero::before{opacity:.42;filter:saturate(.7) sepia(.18);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 30%,transparent 92%);mask-image:linear-gradient(to bottom,#000 0%,#000 30%,transparent 92%)}
.hero::after{top:0;left:0;width:auto;height:auto;border:0;border-radius:0;box-shadow:none;transform:none}
.hero::after{background:
  repeating-radial-gradient(circle at 50% -40%,transparent 0 11px,#a8822a12 11px 12px),
  repeating-radial-gradient(circle at 50% 140%,transparent 0 11px,#a8822a0e 11px 12px),
  radial-gradient(60% 50% at 50% 38%,#fffefad0 0,#fbf9f399 60%,#fbf9f355 100%)}
.passport .pp-title{font-family:var(--pp-title);font-weight:500;font-size:clamp(46px,9vw,76px);letter-spacing:.09em;line-height:1;margin:0;color:var(--pp-gold);text-shadow:0 1px 0 #fff;animation:none}
.pp-subtitle{margin:12px 0 0;font-family:var(--pp-title);font-weight:600;font-size:clamp(11px,1.9vw,14px);letter-spacing:.42em;text-transform:uppercase;color:var(--pp-ink);padding-left:.42em;animation:none}
/* Szalag a teljes lapszélességben: kilóg a hero belső margójából a lap széléig */
.hero-ribbon{display:block;width:calc(100% + 2 * var(--hero-px,38px) + 4px);max-width:none;height:auto;margin:18px calc(-1 * var(--hero-px,38px) - 2px) 6px;pointer-events:none;filter:drop-shadow(0 6px 8px #6b552a26)}
/* Pecsét a lap jobb felső sarkában, enyhén megdöntve, mint egy útlevél-bélyegző */
.hero > .pp-crest{position:absolute;z-index:2;top:22px;right:24px;display:block;width:clamp(84px,13vw,118px);height:auto;margin:0;color:var(--pp-gold);opacity:.92;transform:rotate(-9deg);animation:none}
.hero .couple-names{margin:2px auto 4px}
.couple-names .cn-name{background:linear-gradient(100deg,#86661c 0%,#ad8730 30%,#e2c97f 48%,#ad8730 62%,#86661c 100%);background-size:220% 100%;background-position:30% 0;animation:none;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 1px 0 #fffefa)}
.couple-names .cn-amp{font-family:var(--pp-serif);color:var(--pp-gold);animation:none}
.wedding-date{color:var(--pp-ink);margin-top:10px;animation:none}
.date-side{font-family:var(--pp-title);font-weight:600;font-size:13px;letter-spacing:.32em;color:var(--pp-ink);border-color:var(--pp-gold-2)}
.date-day{font-family:var(--pp-title);font-weight:500;color:var(--pp-gold);text-shadow:0 1px 0 #fff}
.date-weekday{font-family:var(--pp-serif);font-size:15px;color:var(--pp-muted)}
.hero-invite{animation:none;background:#fffefaf0;border:1px solid var(--pp-sand-line);border-radius:14px;box-shadow:0 0 0 5px #e8e1cd80,0 12px 28px #4b3f2410}
.invite-ornament{color:var(--pp-gold)}
.invite-ornament span{background:linear-gradient(90deg,transparent,var(--pp-gold-2))}
.hero-invite .hero-copy{font-family:var(--pp-serif);font-size:17px;line-height:1.6;color:#4a463d}
.hero-copy em{font-family:var(--pp-title);font-style:normal;font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--pp-gold);margin-bottom:8px}

/* Fotó */
.photo-divider{margin:30px 46px 0;border:1px solid var(--pp-sand-line);border-radius:16px;background:var(--pp-pearl);box-shadow:0 0 0 6px var(--pp-sand)}
.photo-divider img{border-radius:10px;filter:saturate(.85) sepia(.08)}
.photo-divider-copy .eyebrow{font-family:var(--pp-title);font-weight:600;font-size:11px;letter-spacing:.22em;color:var(--pp-gold-deep)}
.photo-divider-copy strong{font-family:var(--pp-serif);font-size:23px;color:var(--pp-ink)}

/* Lépések = beszállókártya lapok */
.content{padding:30px 40px 38px}
.step{background:var(--pp-pearl);border:1px solid var(--pp-sand-line);border-radius:16px;box-shadow:0 0 0 7px var(--pp-sand),0 0 0 8px #ddd2b3,0 16px 30px #4b3f240f;margin:8px 8px 34px;overflow:visible}
.step:before{display:none}
.step:hover{border-color:var(--pp-gold-2);box-shadow:0 0 0 7px var(--pp-sand),0 0 0 8px var(--pp-gold-2),0 20px 36px #4b3f2418;transform:translateY(-2px)}
.step-head{position:relative;padding:20px 22px 16px;border-bottom:1.5px dashed var(--pp-sand-line)}
.step-head:before,.step-head:after{content:"";position:absolute;bottom:-9px;width:16px;height:16px;border-radius:50%;background:var(--pp-sand);border:1px solid var(--pp-sand-line)}
.step-head:before{left:-9px;clip-path:inset(0 0 0 50%)}
.step-head:after{right:-9px;clip-path:inset(0 50% 0 0)}
.step-icon{width:40px;height:40px;border-radius:50%;background:var(--pp-pearl);border:1px solid var(--pp-gold-2);color:var(--pp-gold);box-shadow:0 0 0 3px #f3ecd8}
.step-number{display:inline-block;margin-bottom:7px;padding:4px 9px 3px;background:var(--pp-gold-deep);color:#fffdf5;font-family:var(--pp-title);font-weight:600;font-size:11px;letter-spacing:.18em;border-radius:3px}
.step-title{font-family:var(--pp-title);font-weight:500;font-size:21px;letter-spacing:.06em;color:var(--pp-ink)}
.step-body{padding:18px 22px 22px 75px}
label.field-label{font-family:var(--pp-title);font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--pp-muted)}
input,select,textarea{border:1px solid #dcd2b6;border-radius:8px;background:#fffefb;color:var(--pp-ink)}
input:hover,select:hover,textarea:hover{border-color:var(--pp-gold-2)}
input:focus,select:focus,textarea:focus{border-color:var(--pp-gold);box-shadow:0 0 0 3px #a8822a1f;outline:0}
.radio-card{border:1px solid #dcd2b6;border-radius:10px;background:#fffefb}
.radio-card:before{background:var(--pp-gold);opacity:0;transition:opacity .2s}
.radio-card span{color:var(--pp-ink)}
.radio-card:hover{border-color:var(--pp-gold-2);box-shadow:0 6px 14px #4b3f2412}
.radio-card:has(input:checked){border-color:var(--pp-gold);background:linear-gradient(120deg,#fbf4e0,#fffefb);box-shadow:0 0 0 1px var(--pp-gold) inset,0 6px 14px #a8822a1a}
.radio-card:has(input:checked):before{opacity:1}
.radio-card input{accent-color:var(--pp-gold)}
.add{border-radius:8px;background:#fbf6e8;border-color:var(--pp-gold-2);color:#7f6220}
.add:hover{background:#f5ecd3}
.hint{font-size:12px;color:var(--pp-muted)}
.accommodation-note{border:1px dashed var(--pp-gold-2);border-radius:10px;background:#fcf8ec;color:#5d584b;font-size:13px}
.accommodation-note strong{font-family:var(--pp-title);letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--pp-gold-deep)}

/* Küldés gomb: arany címke */
.send-btn{font-size:12px;border-radius:12px;background:linear-gradient(120deg,#9c7824 0%,#bb963f 50%,#9c7824 100%);background-size:200% 100%;color:#fffdf5;font-family:var(--pp-title);font-weight:600;letter-spacing:.24em;box-shadow:0 12px 24px #a8822a33,inset 0 0 0 4px #9c7824,inset 0 0 0 5px #f2dfa966}
.send-btn:hover{box-shadow:0 16px 30px #a8822a40,inset 0 0 0 4px #9c7824,inset 0 0 0 5px #f2dfa9aa}
.send-badge{background:#fffdf5;color:var(--pp-gold);box-shadow:0 0 0 4px #fffdf526}
.send-flight{color:#fffdf5}
.send-progress{background:linear-gradient(90deg,#fffdf5,#f2dfa9)}
.send-btn:after{background:linear-gradient(110deg,#1e2026,#3a3c43 50%,#1e2026)}
.send-btn[data-state="done"]{color:#f2dfa9;box-shadow:0 14px 30px #1e202633,inset 0 0 0 4px #1e2026,inset 0 0 0 5px #c8a65688}
.send-btn:focus-visible{outline-color:var(--pp-gold)}
.success{border:1px solid var(--pp-sand-line);border-radius:14px;background:#fcf8ec}
.success > strong{font-family:var(--pp-title);font-weight:500;font-size:20px;letter-spacing:.05em;line-height:1.35;color:var(--pp-gold-deep);margin-bottom:8px}
.success > span{display:block;font-family:var(--pp-serif);font-size:17px;line-height:1.5;color:#4a463d}
.send-btn:before{animation:none}
.thanks-art{height:auto;animation:none}

/* Lábléc */
footer{color:var(--pp-muted);font-family:var(--pp-title);font-size:11px;letter-spacing:.18em}
footer .footer-mark{color:var(--pp-gold)}
footer .footer-mark:before,footer .footer-mark:after{background:var(--pp-sand-line)}

/* Felső sáv */
.topline{animation:none;--tb-w:min(860px,100%);width:var(--tb-w);max-width:none;margin:0 0 22px calc((100% - var(--tb-w)) / 2);padding:10px 20px;background:#fffefaf2;border:1px solid var(--pp-sand-line);border-radius:14px;box-shadow:0 0 0 5px var(--pp-sand),0 0 0 6px var(--pp-sand-line),0 10px 26px #4b3f2414;;transition:width .35s ease,margin .35s ease,padding .35s ease,border-radius .35s ease,box-shadow .35s ease,background .35s ease}
.topline:before{content:"";position:absolute;inset:4px;border:1px solid #efe6cc;border-radius:10px;pointer-events:none;transition:opacity .3s}
.topline.is-scrolled{--vw:calc(100vw - var(--sbw,0px));width:var(--vw);margin-left:calc(50% - var(--vw) / 2);padding:8px max(20px,calc((var(--vw) - 860px) / 2 + 20px));border-radius:0;border-width:0 0 1px;background:#fffefaf5;box-shadow:0 4px 0 var(--pp-sand),0 5px 0 var(--pp-sand-line),0 14px 28px #4b3f2418}
.topline.is-scrolled:before{opacity:0}
.topline .brand-mark{width:38px;height:38px;border:0;background:none;color:var(--pp-gold);transform:none}
.topline .brand-mark svg{width:38px;height:38px}
.topline.is-scrolled .brand-mark{transform:none}
.topbar-kicker{font-family:var(--pp-title);font-weight:600;font-size:10px;letter-spacing:.2em;color:var(--pp-gold-deep)}
.topbar-copy strong{font-family:var(--pp-title);font-weight:500;font-size:15px;letter-spacing:.08em;color:var(--pp-ink)}
#topbarDetail{font-family:var(--pp-serif);font-style:italic;font-size:15px;letter-spacing:.02em;color:var(--pp-muted)}
.topbar-progress{background:var(--pp-gold-deep);border:0;color:#fffdf5;border-radius:3px;font-family:var(--pp-title);font-weight:600;font-size:11px;letter-spacing:.18em;padding:6px 9px 5px}

@media(max-width:600px){
 .passport{border-radius:0;border-left:0;border-right:0;box-shadow:0 0 0 0 transparent,0 10px 30px #4b3f241a;margin:0}
 .passport:before{inset:6px;border-radius:10px}
 .hero{--hero-px:20px;padding:76px var(--hero-px) 28px}
 .hero > .pp-crest{top:12px;right:14px;width:64px}
 .pp-subtitle{letter-spacing:.3em}
 .content{padding:24px 16px 30px}
 .photo-divider{margin:24px 22px 0}
 .step{margin:7px 7px 28px}
 .step-head{padding:16px 16px 14px}
 .step-body{padding:16px 16px 20px}
 .step-title{font-size:18px}
  .topline,.topline.is-scrolled{width:100%;margin:0 0 10px;padding:8px 14px;border-radius:0;border-width:0 0 1px;box-shadow:0 3px 0 var(--pp-sand),0 4px 0 var(--pp-sand-line),0 10px 22px #4b3f2414}
  .topline:before{display:none}
  .topline .brand-mark,.topline .brand-mark svg{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){.pp-title,.pp-subtitle,.pp-crest{animation:none!important}}

/* Étkezés: igények személyenként */
.diet-list{display:grid;gap:10px}
.diet-person{display:grid;grid-template-columns:minmax(150px,210px) 1fr;align-items:center;gap:12px 16px;padding:12px 14px;border:1px solid #dcd2b6;border-radius:12px;background:#fffefb;transition:border-color .2s,box-shadow .2s}
.diet-person:has(input:checked){border-color:var(--pp-gold-2);box-shadow:0 4px 12px #a8822a14}
.diet-who{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;min-width:0}
.diet-avatar{grid-row:1/3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fbf6e8;border:1px solid var(--pp-gold-2);color:var(--pp-gold-deep);font-family:var(--pp-title);font-weight:600;font-size:12px;letter-spacing:.04em}
.diet-name{font-family:var(--pp-serif);font-size:17px;font-weight:500;line-height:1.2;color:var(--pp-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.diet-name.is-empty{font-style:italic;color:#9b9384}
.diet-role{font-family:var(--pp-title);font-weight:600;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-gold-deep)}
.diet-chips{display:flex;flex-wrap:wrap;gap:7px}
.diet-chip{position:relative;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #dcd2b6;border-radius:99px;background:#fffefb;color:var(--pp-ink);font-size:13px;line-height:1.2;cursor:pointer;transition:border-color .2s,background .2s,color .2s}
.diet-chip:hover{border-color:var(--pp-gold-2)}
.diet-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;pointer-events:none}
.diet-chip span:before{content:"";display:inline-block;width:14px;height:14px;margin:-2px 7px 0 -2px;vertical-align:middle;border:1px solid var(--pp-gold-2);border-radius:4px;background:#fffefb;transition:background .2s,border-color .2s}
.diet-chip:has(input:checked){border-color:var(--pp-gold);background:#fbf3dc;color:#5b4512}
.diet-chip:has(input:checked) span:before{background:var(--pp-gold-deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fffdf5' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat;border-color:var(--pp-gold-deep)}
.diet-chip:has(input:focus-visible){outline:2px solid var(--pp-gold);outline-offset:2px}
@media(max-width:600px){
 .diet-person{grid-template-columns:1fr;padding:12px}
 .diet-chip{font-size:13px;padding:7px 11px}
}
.radio-card input{flex:0 0 18px;width:18px;height:18px;padding:0;margin:0;border:1px solid var(--pp-gold-2);border-radius:50%;background:#fffefb;box-shadow:none}
.radio-card input:focus{box-shadow:0 0 0 3px #a8822a24}
.radio-card input:checked{background:var(--pp-gold);border-color:var(--pp-gold);box-shadow:inset 0 0 0 3.5px #fffefb}

/* Beküldött adatok áttekintése */
.summary{margin-top:16px;text-align:left;background:var(--pp-pearl);border:1px solid var(--pp-sand-line);border-radius:14px;box-shadow:0 0 0 5px var(--pp-sand),0 0 0 6px var(--pp-sand-line);overflow:hidden}
.sum-head{display:flex;flex-direction:column;gap:4px;padding:16px 20px 14px;border-bottom:1.5px dashed var(--pp-sand-line);background:#fbf6e8}
.sum-kicker{font-family:var(--pp-title);font-weight:600;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--pp-gold-deep)}
.success .sum-title{margin:0;font-family:var(--pp-title);font-weight:500;font-size:20px;letter-spacing:.05em;color:var(--pp-ink)}
.sum-table{margin:0;padding:4px 20px 8px}
.sum-row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #efe6d0}
.sum-row:last-child{border-bottom:0}
.sum-row dt{padding-top:2px;font-family:var(--pp-title);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-gold-deep)}
.sum-row dd{margin:0;font-family:var(--pp-serif);font-size:17px;line-height:1.45;color:var(--pp-ink);overflow-wrap:anywhere}
.sum-list{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.sum-list li:before{content:"✈";display:inline-block;margin-right:8px;font-size:11px;color:var(--pp-gold);transform:translateY(-1px)}
.sum-diets{display:grid;gap:8px}
.sum-diet{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.sum-diet-name{min-width:120px;font-weight:500}
.sum-tags{display:flex;flex-wrap:wrap;gap:5px}
.sum-tag{padding:3px 10px;border-radius:99px;background:#fbf3dc;border:1px solid var(--pp-gold-2);font-family:Inter,-apple-system,"Segoe UI",sans-serif;font-size:12px;color:#5b4512}
.sum-tag.is-none{background:#f6f3ec;border-color:#e2dccb;color:var(--pp-muted)}
.sum-note{display:block;font-style:italic;white-space:pre-line}
@media(max-width:600px){
 .sum-head{padding:14px 16px 12px}
 .sum-table{padding:2px 16px 6px}
 .sum-row{grid-template-columns:1fr;gap:4px;padding:10px 0}
}

/* Beküldés: rejtett spamcsapda és hibaüzenet */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.send-error{margin:18px 0 -8px;padding:12px 14px;border:1px solid #d9a99a;border-radius:10px;background:#fbefea;color:#7a2e1c;font-size:13px;line-height:1.5}

/* Szervezői export ablak */
.export-dialog{width:min(420px,calc(100vw - 32px));padding:30px 28px 24px;border:1px solid var(--pp-sand-line);border-radius:18px;background:var(--pp-pearl);color:var(--pp-ink);text-align:center;box-shadow:0 0 0 5px var(--pp-sand),0 0 0 6px var(--pp-sand-line),0 30px 70px #2a22124d}
.export-dialog::backdrop{background:#2a2414a6}
.export-dialog[open]{animation:exportIn .25s ease-out}
@keyframes exportIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.export-close{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--pp-muted);font-size:24px;line-height:1;cursor:pointer}
.export-close:hover{background:#f3ecd8;color:var(--pp-ink)}
.export-close:focus-visible{outline:2px solid var(--pp-gold);outline-offset:2px}
.export-kicker{font-family:var(--pp-title);font-weight:600;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--pp-gold-deep)}
.export-dialog h2{margin:8px 0 10px;font-family:var(--pp-title);font-weight:500;font-size:22px;letter-spacing:.05em;color:var(--pp-ink)}
.export-count{margin:0 0 20px;font-family:var(--pp-serif);font-size:17px;color:#4a463d}
.export-download{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:15px 18px;border-radius:12px;background:linear-gradient(120deg,#8a6a1f,#a8822a 50%,#8a6a1f);color:#fffdf5;font-family:var(--pp-title);font-weight:600;font-size:13px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;box-shadow:0 10px 22px #a8822a33,inset 0 0 0 4px #8a6a1f,inset 0 0 0 5px #f2dfa966;transition:transform .2s,box-shadow .2s}
.export-download:hover{transform:translateY(-2px);box-shadow:0 14px 28px #a8822a40,inset 0 0 0 4px #8a6a1f,inset 0 0 0 5px #f2dfa9aa}
.export-download:focus-visible{outline:2px solid var(--pp-gold);outline-offset:3px}
.export-download svg{width:18px;height:18px}
.export-hint{margin:12px 0 0;font-size:12px;color:var(--pp-muted)}
.export-link{display:inline-block;margin-top:16px;padding-top:14px;border-top:1.5px dashed var(--pp-sand-line);width:100%;font-family:var(--pp-serif);font-size:17px;font-style:italic;color:var(--pp-gold-deep);text-decoration:none}
.export-link:hover{text-decoration:underline}
@media(prefers-reduced-motion:reduce){.export-dialog[open]{animation:none}}

/* Görgetősáv: pezsgő sín, arany csúszka */
::-webkit-scrollbar{width:13px;height:13px}
::-webkit-scrollbar-track{background:#f1ece0;border-left:1px solid var(--pp-sand-line)}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c8a656,#a8822a);border:3px solid #f1ece0;border-radius:10px;box-shadow:inset 0 0 0 1px #fff3d455}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b8923a,#8f6d20)}
::-webkit-scrollbar-corner{background:#f1ece0}
textarea::-webkit-scrollbar-track{border-left:0;border-radius:8px}
@supports (-moz-appearance:none){html{scrollbar-color:#b8923a #f1ece0;scrollbar-width:thin}}
::selection{background:#e6d6a8;color:var(--pp-ink)}

/* Szövegkijelölés tiltása (az űrlapmezőkben megmarad) */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,select,.summary{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img{-webkit-user-drag:none;user-drag:none}
