/* Ljubav na naslovnici — predložak (izvor dizajna: ChatGPT_template/ljubav-na-naslovnici/v8). */
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ljubav-na-naslovnici/barlow-condensed-400.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/ljubav-na-naslovnici/bodoni-500.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:500;font-display:swap;src:url('../fonts/ljubav-na-naslovnici/bodoni-500-italic.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ljubav-na-naslovnici/newsreader-400.woff2') format('woff2')}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/ljubav-na-naslovnici/newsreader-400-italic.woff2') format('woff2')}
@font-face{font-family:Naslovnica;font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/ljubav-na-naslovnici/naslovnica.woff2') format('woff2')}
:root{--paper:#faf9f6;--ink:#242523;--muted:#6d6c65;--line:#cbc8bf;--soft:#eeece6;--white:#fff;--serif:'Newsreader',Georgia,serif;--ui:'Barlow Condensed',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.5 var(--serif)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.05;text-wrap:balance}a{color:inherit;text-underline-offset:5px}img{display:block;width:100%;height:auto;object-fit:cover}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--ink);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:default}button:disabled{opacity:.5}.wrap{width:min(1080px,calc(100% - 80px));margin:auto}.small{font:10px/1.6 var(--ui);letter-spacing:.16em;text-transform:uppercase}.muted{color:var(--muted)}.skip{position:absolute;top:-80px;left:20px;padding:12px;background:var(--paper);z-index:9}.skip:focus{top:12px}.demo{text-align:center;font:10px/1.6 var(--ui);color:var(--muted);padding:10px 20px;border-bottom:1px solid var(--line)}.edition{display:flex;justify-content:space-between;gap:16px;margin-top:26px}.brand{display:block;text-align:center;font:clamp(34px,6.4vw,74px)/1.3 Naslovnica,Georgia,serif;text-decoration:none;margin:17px 0 23px}.dateline{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:3px double var(--ink);border-bottom:1px solid var(--ink)}.dateline a{text-decoration:none}.dateline a:hover{text-decoration:underline}.hero{text-align:center;padding-top:52px}.hero .small{margin-bottom:18px}.hero h1{font-size:clamp(70px,10.4vw,128px);letter-spacing:-.055em;line-height:.94}.names{font-size:clamp(35px,5vw,57px);font-style:italic;margin:22px 0 9px}.names span{font-size:.67em;margin:0 .22em}.deck{font-size:21px;line-height:1.45;max-width:470px;margin:0 auto 34px}.cover{position:relative;margin-bottom:80px;text-align:left}.cover>img{height:490px;object-position:50% 48%}.caption{display:flex;justify-content:space-between;gap:20px;font:10px/1.6 var(--ui);color:var(--muted);margin-top:11px}.date-ticket{position:absolute;right:35px;bottom:-39px;background:var(--paper);padding:23px 33px 24px;border:1px solid var(--ink);outline:7px solid var(--paper);text-align:center;min-width:190px;transform:rotate(-4deg)}.date-ticket strong{display:block;font-size:48px;font-weight:400;line-height:1.15;letter-spacing:-.04em}.date-ticket .small{margin:0;font-size:9px}.cover .caption{padding-right:260px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;padding:15px 25px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:11px/1.5 var(--ui);letter-spacing:.04em;text-decoration:none;border-radius:0}.button:hover{background:var(--paper);color:var(--ink)}.button.light{background:transparent;color:var(--ink)}.button.light:hover{background:var(--soft)}.arrow{font:20px/1 var(--serif)}.intro{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding:25px 25px 90px}.intro h2{font-size:57px;letter-spacing:-.035em;margin:15px 0 22px}.intro h2 em{font-weight:400}.intro-copy{padding-top:29px}.intro-copy p{margin-bottom:18px}.intro-copy p:first-child::first-letter{float:left;font-size:76px;line-height:.75;padding:10px 9px 0 0}.intro-copy .signature{font-style:italic;font-size:28px;margin:26px 0 0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:34px}.section-top h2{font-size:49px;letter-spacing:-.025em}.section-top .small{padding-bottom:6px}.story{border-top:1px solid var(--line);padding:44px 0 85px}.story-grid{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:70px}.story figure{width:100%;max-width:400px}.story img{aspect-ratio:4/5}.story .caption{justify-content:center}.story-text h3{font-size:53px;letter-spacing:-.03em;margin:15px 0 22px}.story-text p{max-width:400px;margin-bottom:20px}.quote{font-size:26px;font-style:italic;border-top:1px solid var(--line);padding-top:22px;margin-top:26px!important}.program{padding:45px 0 65px;border-top:3px double var(--ink)}.program-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:65px}.program-photo img{aspect-ratio:4/5;object-position:47% 50%}.venue{display:grid;grid-template-columns:72px 1fr;gap:19px;padding:28px 0;border-bottom:1px solid var(--line)}.venue:first-child{padding-top:5px}.venue time{font-size:30px;font-style:italic;line-height:1.15}.venue h3{font-size:28px;margin:6px 0}.venue p:not(.small){font-size:17px;color:var(--muted)}.venue a{font:11px/1.5 var(--ui);display:inline-block;padding:12px 0;min-height:44px}.calendar{margin-top:27px}.countdown{padding:45px 0;text-align:center;border-block:1px solid var(--line)}.countdown h2{font-size:35px;font-style:italic;margin-bottom:24px}.clock{display:flex;justify-content:center;gap:48px}.clock b{display:block;font-size:48px;line-height:1.1;font-weight:400;font-variant-numeric:tabular-nums}.clock span{font:9px/1.6 var(--ui);text-transform:uppercase;letter-spacing:.14em}.moments{padding:65px 0}.moments-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:start}.moments figure:nth-child(2){padding-top:85px}.photo-button{display:block;width:100%;padding:0;border:0;background:none}.photo-button img{transition:opacity .2s}.photo-button:hover img{opacity:.85}.moments figure:first-child img{aspect-ratio:3/2}.moments figure:nth-child(2) img{aspect-ratio:4/5}.moments figcaption{font-size:20px;font-style:italic;margin-top:12px}.closing-quote{text-align:center;font-size:clamp(34px,5vw,54px);line-height:1.15;font-style:italic;max-width:650px;margin:30px auto 78px}.rsvp{background:var(--soft);padding:65px 0}.rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.rsvp h2{font-size:63px;letter-spacing:-.04em;margin:19px 0 24px}.rsvp h2 em{font-weight:400}.rsvp p{margin-bottom:18px}.rsvp .note{font:12px/1.7 var(--ui);color:var(--muted);max-width:330px}.rsvp form{display:grid;gap:10px}.rsvp label,.rsvp legend{font:11px/1.5 var(--ui)}.rsvp input:not([type=radio]),.rsvp select,.rsvp textarea{background:var(--paper);border:1px solid #aaa79e;border-radius:0;width:100%;min-width:0;padding:12px;font:16px/1.5 var(--serif);color:var(--ink);min-height:48px}.rsvp textarea{resize:vertical}.rsvp fieldset{border:0;padding:0;margin:9px 0;min-width:0}.rsvp legend{margin-bottom:6px}.choices{display:flex;flex-wrap:wrap;gap:10px 20px}.choices label{display:flex;align-items:center;gap:8px;min-height:44px}.choices input{accent-color:var(--ink);width:18px;height:18px}.rsvp .button{margin-top:9px}.rsvp [hidden]{display:none}.form-status{font:13px/1.6 var(--ui);margin:4px 0 0!important}.erase{border:0;background:none;padding:10px 0;min-height:44px;text-align:left;text-decoration:underline;font:12px var(--ui);color:var(--muted)}footer{text-align:center;padding:55px 0 25px}footer .brand{font-size:39px;margin:12px 0 24px}footer p{font-style:italic;font-size:22px}footer .small{font-size:9px}.footline{margin-top:45px;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;gap:15px}.footline a{text-decoration:none}dialog{border:0;padding:15px;background:var(--paper);width:min(1000px,94vw);max-height:94vh}dialog::backdrop{background:#171817e6}dialog img{max-height:77vh;object-fit:contain}dialog button{display:block;margin:0 0 12px auto;background:none;border:1px solid var(--ink);padding:10px 15px;color:var(--ink);font:12px var(--ui);min-height:44px}dialog p{font-style:italic;text-align:center;padding-top:10px}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.hero{padding-top:38px}.cover>img{height:400px}.intro{gap:35px;padding-inline:0}.intro h2{font-size:46px}.story-grid{gap:35px}.story-text h3{font-size:43px}.program-grid{gap:32px}.rsvp-grid{gap:35px}.rsvp h2{font-size:52px}.edition{font-size:8px}.section-top h2{font-size:41px}}
@media(max-width:580px){body{font-size:19px}.wrap{width:calc(100% - 36px)}.demo{font-size:9px}.edition{margin-top:19px;letter-spacing:.11em}.edition span:nth-child(2){display:none}.brand{font-size:clamp(28px,8.6vw,48px);margin:20px 0}.dateline{font-size:8px;letter-spacing:.07em;align-items:center}.dateline>span{display:none}.hero{padding-top:34px}.hero>.small{font-size:9px;margin-bottom:15px}.hero h1{font-size:clamp(58px,15.1vw,85px)}.names{font-size:39px;margin-top:19px}.deck{font-size:18px;max-width:300px;margin-bottom:26px}.cover>img{height:330px;object-position:49% 50%}.date-ticket{right:17px;bottom:-32px;padding:15px 21px;min-width:139px;outline-width:5px}.date-ticket strong{font-size:36px}.date-ticket .small{font-size:8px}.cover .caption{padding-right:170px;font-size:8px}.cover .caption span:last-child{display:none}.cover{margin-bottom:68px}.intro{grid-template-columns:1fr;gap:12px;padding:15px 5px 54px}.intro h2{font-size:48px;margin-top:12px}.intro-copy{padding-top:12px}.intro .button{width:100%}.intro-copy .signature{margin-top:18px}.section-top{display:block;margin-bottom:25px}.section-top h2{font-size:38px}.section-top .small{display:block;margin-top:12px;font-size:9px}.story{padding:32px 0 45px}.story-grid{grid-template-columns:1fr;gap:30px}.story figure{max-width:none}.story img{aspect-ratio:4/4.6;object-position:center 57%}.story-text{padding:0 5px}.story-text h3{font-size:45px}.story-text p{max-width:none}.program{padding:35px 0 40px}.program-grid{grid-template-columns:1fr;gap:30px}.program-photo{grid-row:2}.program-photo img{aspect-ratio:3/2}.venue{padding:23px 0;gap:15px;grid-template-columns:64px 1fr}.venue time{font-size:27px}.venue h3{font-size:27px}.calendar{width:100%}.countdown{padding:30px 0}.countdown h2{font-size:30px}.clock{gap:29px}.clock b{font-size:40px}.clock span{font-size:8px}.moments{padding:40px 0}.moments-grid{gap:16px;grid-template-columns:1.1fr 1fr}.moments figure:nth-child(2){padding-top:45px}.moments figure:first-child img{aspect-ratio:4/5}.moments figcaption{font-size:17px;line-height:1.3}.closing-quote{font-size:34px;margin:10px auto 48px;padding:0 12px}.rsvp{padding:40px 0}.rsvp-grid{grid-template-columns:1fr;gap:24px}.rsvp h2{font-size:52px;max-width:300px}.rsvp .note{max-width:none}.rsvp form{gap:10px}footer{padding-top:38px}footer .brand{font-size:32px}.footline{margin-top:32px;font-size:8px;letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.demo,.button,form,.erase{display:none}.wrap{width:100%}.cover>img{height:300px}.rsvp{padding:20px 0}.story,.program,.rsvp{break-inside:avoid}}

/* v2: condensed newspaper headline, Bodoni subheads, Newsreader text. */
body{line-height:1.55}
.small{font-size:12px;letter-spacing:.13em}
.dateline{font-size:12px}
.hero>.small{font-size:13px}
.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(72px,9.4vw,128px);line-height:.96;letter-spacing:-.025em;text-transform:uppercase}
.hero h1 span{display:inline-block}
.names,h2,h3,.date-ticket strong{font-family:'Bodoni Moda',serif;font-optical-sizing:auto;font-weight:500}
h2,h3{line-height:1.12}
.intro h2,.story-text h3,.rsvp h2{letter-spacing:-.045em}
.intro h2 em,.rsvp h2 em{font-weight:500}
.names{font-size:clamp(31px,4vw,48px);margin-top:26px}
.deck{margin-top:14px}
.cover{margin-bottom:145px}
.date-cluster{position:absolute;right:35px;bottom:-98px;width:272px;text-align:center}
.date-ticket{position:static;min-width:0;padding:23px 16px;transform:rotate(-4deg)}
.date-ticket strong{font-size:35px;letter-spacing:-.045em;white-space:nowrap}
.date-cluster .calendar{display:flex;align-items:center;justify-content:center;gap:15px;margin:17px 0 0;min-height:44px;font:15px/1.4 var(--ui);letter-spacing:.035em;text-decoration:underline;text-underline-offset:5px}
.date-cluster .calendar:hover{text-decoration-thickness:2px}
.button,.venue a{font-size:14px}
.rsvp label,.rsvp legend{font-size:15px}
.rsvp .note,.form-status{font-family:var(--ui);font-size:15px}
.demo{font-family:var(--ui);font-size:12px}
.caption{font-family:var(--ui);font-size:12px}
.clock span{font-size:12px}
.footline{font-size:11px}
@media(max-width:800px){.date-cluster{right:26px;width:245px}.date-ticket strong{font-size:32px}.edition{font-size:10px}.intro h2{font-size:43px}.story-text h3{font-size:40px}}
@media(max-width:580px){.edition{font-size:9px}.dateline{font-size:11px}.hero>.small{font-size:11px}.hero h1{font-size:clamp(60px,16.8vw,92px);line-height:.98}.names{font-size:33px;margin-top:22px}.cover{margin-bottom:139px}.date-cluster{right:14px;bottom:-96px;width:211px}.date-ticket{padding:19px 12px}.date-ticket strong{font-size:29px}.date-cluster .calendar{font-size:15px;margin-top:15px}.intro{padding-top:6px}.intro h2{font-size:43px}.story-text h3{font-size:40px}.rsvp h2{font-size:46px}.section-top h2{font-size:34px}.caption{font-size:11px}.clock span{font-size:10px}.footline{font-size:10px}}

/* v3: calendar as a second tilted paper rectangle, offset to the right. */
.date-cluster{bottom:-108px}
.date-cluster .calendar{width:210px;margin:21px -8px 0 auto;min-height:46px;padding:10px 14px;border:1px solid var(--ink);outline:5px solid var(--paper);background:var(--paper);transform:rotate(-4deg);text-decoration:none}
.date-cluster .calendar:hover{background:var(--soft);text-decoration:none}
.cover{margin-bottom:155px}
@media(max-width:580px){.date-cluster{bottom:-106px}.date-cluster .calendar{width:177px;margin:21px -5px 0 auto;padding:10px 12px}.cover{margin-bottom:149px}}

/* v4: the announcement names the couple, in the editorial voice of the reference. */
.hero .wedding-edition{font:400 24px/1.25 var(--ui);letter-spacing:.13em;margin-bottom:26px}
.hero h1{font-size:clamp(62px,7.6vw,108px);line-height:1.02}
.hero h1>span:not(.je-primjer){display:block}
.hero h1 .headline-verb{font-size:.39em;line-height:1.5;font-weight:400;text-transform:none;letter-spacing:.035em}
.hero .deck{margin:27px auto 35px;max-width:510px}
@media(max-width:580px){.hero .wedding-edition{font-size:20px;margin-bottom:23px}.hero h1{font-size:clamp(43px,12.6vw,67px);letter-spacing:-.025em}.hero .deck{font-size:18px;max-width:310px;margin:24px auto 28px}.intro h2{font-size:39px}}


/* v5: handwritten couple names and one tilted date/calendar card. */
.hero h1{font-family:'Pinyon Script',cursive;font-weight:400;font-size:clamp(110px,12vw,160px);line-height:1.07;letter-spacing:0;text-transform:none;padding:0 20px}
.hero h1 .headline-amp{font-size:.48em;line-height:.85;margin:0 0 8px}
.hero .wedding-edition{margin-bottom:21px}
.hero .deck{margin-top:28px}
.date-cluster{bottom:-72px}
.date-ticket{padding:15px 17px 9px}
.date-ticket strong{font-size:32px}
.date-cluster .calendar{width:auto;min-height:44px;margin:3px 0 0;padding:6px 10px;border:0;outline:0;background:none;transform:none;font-size:13px;gap:12px;text-decoration:none}
.date-cluster .calendar:hover{background:none;text-decoration:underline;text-underline-offset:4px}
.cover{margin-bottom:120px}
.venue[hidden]{display:none}
.program-photo{align-self:center}
@media(max-width:580px){.hero h1{font-size:clamp(88px,25vw,115px);padding:0 15px}.hero h1 .headline-amp{margin-bottom:6px}.hero .wedding-edition{font-size:20px}.date-cluster{bottom:-69px}.date-ticket{padding:13px 12px 7px}.date-ticket strong{font-size:27px}.date-cluster .calendar{font-size:12px;margin-top:2px;padding:5px 8px;min-height:44px;width:auto}.cover{margin-bottom:112px}}

/* v6: couple names match the blackletter footer reference. */
.hero h1{font-family:Naslovnica,serif;font-weight:400;font-size:clamp(42px,7.2vw,96px);line-height:1.35;letter-spacing:0;text-transform:none;padding:0;white-space:nowrap}
@media(max-width:580px){.hero h1{font-size:clamp(30px,9vw,49px);padding:0;line-height:1.4}}

/* v7: urednička tipografija (rubrike, inicijal, citat, stupci) i tiskarski motion potpis. */
:root{--ink-soft:#3b3c39;--bodoni:'Bodoni Moda',Georgia,serif}
body{font-kerning:normal;font-feature-settings:"kern","liga"}
p{text-wrap:pretty}
.intro-copy p,.story-text p,.rsvp-grid>div>p{hyphens:auto;-webkit-hyphens:auto}
.dateline time,.date-ticket strong,.venue time,.clock b{font-variant-numeric:lining-nums}
.edition{align-items:baseline}
.edition span:nth-child(2){font-style:normal}
/* naslovni nadnaslov s tankim crtama s obje strane */
.hero .wedding-edition{display:flex;align-items:center;justify-content:center;gap:18px;font-weight:400}
.hero .wedding-edition::before,.hero .wedding-edition::after{content:"";flex:0 1 64px;height:1px;background:currentColor}
.hero .deck{font-style:italic;color:var(--ink-soft);max-width:520px}
/* byline i lede */
.byline{font:400 13px/1.5 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0;padding-top:14px;border-top:1px solid var(--line);display:inline-block}
.intro h2{margin-bottom:20px}
.intro-copy p:first-child{font-size:1.06em}
.intro-copy p:first-child::first-letter{font-family:var(--bodoni);font-size:4.2em;line-height:.78;padding:.07em .09em 0 0}
@media(min-width:900px){.intro{grid-template-columns:1fr 1.25fr;gap:64px}.intro-copy{column-count:2;column-gap:46px;column-rule:1px solid var(--line)}.intro-copy p{break-inside:avoid-column}}
/* rubrike */
.section-top .small{border-left:1px solid var(--line);padding-left:14px}
.story-text>.small{display:inline-block;border-bottom:1px solid var(--ink);padding-bottom:4px}
/* izdvojeni citat */
.quote{font-family:var(--bodoni);font-style:italic;font-size:29px;line-height:1.22;letter-spacing:-.01em;border-top:3px double var(--ink);border-bottom:1px solid var(--ink);padding:22px 0 20px}
/* raspored */
.venue time{font-family:var(--bodoni);font-style:italic;font-weight:500}
.venue a{text-decoration-thickness:1px;transition:text-underline-offset .25s ease}
.venue a:hover{text-underline-offset:8px}
/* odbrojavanje kao tablica rezultata */
.countdown .small{margin-bottom:10px}
.countdown h2{font-family:var(--bodoni);font-style:italic}
.clock{gap:0}
.clock>div{padding:0 30px;border-left:1px solid var(--line)}
.clock>div:first-child{border-left:0}
.clock b{font-family:var(--bodoni);font-weight:500;font-variant-numeric:lining-nums tabular-nums}
/* završni citat s novinskim razdjelnikom */
.closing-quote{text-wrap:balance;font-family:var(--bodoni);font-weight:500;letter-spacing:-.02em}
.closing-quote::before{content:"";display:block;width:64px;height:5px;border-block:1px solid var(--ink);margin:0 auto 28px}
.closing-quote .potpis{display:block;margin-top:20px;font:400 13px/1.5 var(--ui);letter-spacing:.16em;text-transform:uppercase;font-style:normal;color:var(--muted)}
/* kontrole */
.button{transition:background-color .25s ease,color .25s ease}
.button .arrow,.date-cluster .calendar span,.venue a .strelica{display:inline-block;transition:transform .25s ease}
.button:hover .arrow,.date-cluster .calendar:hover span,.venue a:hover .strelica{transform:translate(3px,-3px)}
.button:active{transform:translateY(1px)}

/* v8: uvodna vijest na desktopu/tabletu, bez automatskog rastavljanja riječi, sitne dorade rasporeda. */
.intro-copy p,.story-text p,.rsvp-grid>div>p{hyphens:manual;-webkit-hyphens:manual}
.hero .deck{text-wrap:balance}
@supports (initial-letter:3){.intro-copy p:first-child::first-letter{float:none;initial-letter:3;font-size:inherit;line-height:inherit;padding:0;margin-right:.14em}}
@media(min-width:581px) and (max-width:899px){
 .intro{grid-template-columns:1fr;gap:26px;padding:20px 0 70px}
 .intro h2{font-size:52px}
 .intro-copy{padding-top:0;max-width:34em;font-size:21px}
}
@media(min-width:900px){
 .intro{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:0;padding:30px 0 100px;align-items:start}
 .intro>div:first-child{padding-right:56px}
 .intro h2{font-size:clamp(48px,4.2vw,58px);line-height:1.04}
 .intro-copy{column-count:auto;column-rule:none;padding:34px 0 6px 56px;border-left:1px solid var(--line);font-size:22px;line-height:1.62;max-width:none}
 .intro-copy p{max-width:31em}
 .intro-copy p+p{margin-top:6px}
 .story figure{max-width:none}
 .program-grid .venue:last-child{border-bottom:0}
 .story-text p{max-width:none}
 .venue{padding:22px 0}
}
@media(max-width:580px){.hero .wedding-edition{gap:12px}.hero .wedding-edition::before,.hero .wedding-edition::after{flex-basis:34px}.clock>div{padding:0 14px}.quote{font-size:26px}.byline{font-size:11px}.closing-quote::before{margin-bottom:22px}}

/* v7 motion: 1) uvod kao otisak naslovnice, 2) jednokratno otkrivanje odozgo prema dolje, 3) povratna informacija kontrola.
   Sve skrivene početne vrijednosti postoje samo uz JavaScript i bez zahtjeva za smanjenim kretanjem. */
@media(prefers-reduced-motion:no-preference){
.js .edition{animation:v7-fade .8s .1s both ease-out}
.js .brand:not(footer .brand){animation:v7-ink 1.2s .2s both cubic-bezier(.2,.7,.2,1)}
.js header .dateline{animation:v7-press 1.1s .45s both cubic-bezier(.65,0,.35,1)}
.js .hero .wedding-edition{animation:v7-up .9s .75s both ease-out}
.js .hero .wedding-edition::before,.js .hero .wedding-edition::after{animation:v7-rule 1s 1s both cubic-bezier(.65,0,.35,1)}
.js .hero h1{animation:v7-ink 1.3s .95s both cubic-bezier(.2,.7,.2,1)}
.js .hero .deck{animation:v7-up 1s 1.35s both ease-out}
.js .cover>img{animation:v7-develop 2.4s 1.1s both cubic-bezier(.2,.6,.2,1)}
.js .date-ticket{animation:v7-stamp .65s 2.1s both cubic-bezier(.2,1.3,.35,1)}
.js [data-otkrij]{opacity:0;transform:translateY(18px);transition:opacity 1s ease-out var(--kasni,0s),transform 1s cubic-bezier(.2,.7,.2,1) var(--kasni,0s)}
.js [data-otkrij].vidljivo{opacity:1;transform:none}
.js [data-slog]:not(.slozeno){clip-path:inset(0 100% 0 0)}
.js [data-slog]{transition:clip-path 1.2s cubic-bezier(.65,0,.35,1) calc(var(--kasni,0s) + .1s)}
.js [data-slog].vidljivo:not(.slozeno){clip-path:inset(0 0 0 0)}
.js [data-razvij] img{opacity:0;filter:brightness(1.6) contrast(.55);transition:opacity 1s ease-out var(--kasni,0s),filter 2s cubic-bezier(.2,.6,.2,1) var(--kasni,0s)}
.js [data-razvij].vidljivo img{opacity:1;filter:none}
.js [data-razvij].vidljivo .photo-button:hover img{opacity:.85}
.clock b.tik{animation:v7-tik .45s ease-out}
}
@keyframes v7-fade{from{opacity:0}}
@keyframes v7-up{from{opacity:0;transform:translateY(14px)}}
@keyframes v7-ink{from{opacity:0;filter:blur(7px);transform:translateY(6px)}55%{opacity:1}to{opacity:1;filter:blur(0);transform:none}}
@keyframes v7-press{from{clip-path:inset(0 50% 0 50%)}to{clip-path:inset(0 0 0 0)}}
@keyframes v7-rule{from{transform:scaleX(0)}}
@keyframes v7-develop{from{opacity:0;filter:brightness(1.7) contrast(.5) blur(3px)}35%{opacity:1}to{opacity:1;filter:none}}
@keyframes v7-stamp{from{opacity:0;transform:rotate(-13deg) scale(1.45)}65%{opacity:1}to{opacity:1;transform:rotate(-4deg) scale(1)}}
@keyframes v7-tik{from{opacity:.3;transform:translateY(-4px)}}
@media print{.js [data-otkrij],.js [data-razvij] img{opacity:1!important;transform:none!important;filter:none!important}.js [data-slog]{clip-path:none!important}}

/* ── Aplikacija: dugi podaci, kontakt, stvarni RSVP i završna poruka ── */
.hero h1{white-space:normal;overflow-wrap:break-word;text-wrap:balance}
.ln-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.venue h3,.venue p{overflow-wrap:break-word}
.venue>div{min-width:0}
.countdown-done{margin-top:18px;font-style:italic}
.countdown-done[hidden]{display:none}
.contact{padding:52px 0 58px;border-top:3px double var(--ink);text-align:center}
.contact .small{margin-bottom:10px}
.contact h2{font-family:var(--bodoni);font-size:41px;letter-spacing:-.025em}
.contact-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 34px;margin-top:22px}
.contact-list a,.contact-list span{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:400 17px/1.4 var(--ui);letter-spacing:.05em;text-decoration:none;color:var(--ink)}
.contact-list a{border-bottom:1px solid var(--ink)}
.contact-list a:hover{border-bottom-width:2px}
.contact-list b{font-family:var(--bodoni);font-weight:500;font-size:20px;letter-spacing:0}
.rsvp .honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rsvp label span{color:var(--muted)}
.rsvp .choices input{accent-color:var(--ink);width:18px;height:18px}
.rsvp [aria-invalid=true]{border-color:#8a1c1c!important}
.form-error{margin:0 0 6px!important;padding:12px 14px;border-left:3px solid #8a1c1c;background:var(--paper);font:15px/1.5 var(--ui);color:#7a1717}
.form-error:focus{outline:2px solid #8a1c1c;outline-offset:3px}
.rsvp .privacy{margin:4px 0 0!important;font:14px/1.6 var(--ui);color:var(--muted)}
.rsvp .privacy a{color:inherit}
.rsvp .party-note{margin:0!important;font:14px/1.5 var(--ui);color:var(--muted)}
.rsvp .party-note[hidden]{display:none}
.button[disabled]{opacity:.55;cursor:default}
.button[disabled]:hover{background:var(--ink);color:var(--paper)}
.rsvp-done{padding:26px 24px;border:1px solid var(--ink);background:var(--paper)}
.rsvp-done h3{font-family:var(--bodoni);font-size:34px;line-height:1.15;margin-bottom:12px}
.rsvp-done .button{margin-top:16px}
.closing{padding:64px 0 6px;text-align:center}
.closing .closing-quote{margin:0 auto 26px}
footer{padding-top:44px}
@media(max-width:580px){.contact{padding:40px 0 44px}.contact h2{font-size:34px}.contact-list{flex-direction:column;align-items:center;gap:6px}.rsvp-done h3{font-size:29px}.closing{padding-top:46px}}
/* Pečat datuma u uvodu je nakratko širi od ekrana; bez ovoga se stranica na mobitelu pomakne u stranu. */
main{overflow-x:clip}
@media(max-width:360px){.clock>div{padding:0 9px}.clock b{font-size:34px}.clock span{letter-spacing:.08em}}
@media print{.contact-list a{border:0}.honeypot{display:none}}

/* Kontakti: ime, broj i gumbi Nazovi / Pošalji poruku (2026-10-13), rade i u demu. */
.contact-list{gap:26px 64px;align-items:flex-start}
.contact-card{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:220px}
.contact-card>b{font:500 30px/1.15 var(--bodoni);letter-spacing:-.01em}
.contact-list .contact-number{display:block;min-height:0;font:400 16px/1.5 var(--ui);letter-spacing:.06em;color:var(--ink)}
.contact-actions{display:flex;gap:10px;margin-top:10px}
.contact-list .contact-actions a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;border:1px solid var(--ink);border-bottom-width:1px;font:400 14px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;transition:background-color .2s ease,color .2s ease}
.contact-list .contact-actions a:hover{background:var(--ink);color:var(--paper,#faf9f6);border-bottom-width:1px}
.contact-actions svg{width:18px;height:18px;flex:0 0 18px}
@media(max-width:580px){.contact-card{min-width:0;width:100%}.contact-card>b{font-size:27px}.contact-actions{width:100%;max-width:330px}.contact-list .contact-actions a{flex:1;justify-content:center;padding:8px 10px;font-size:13px}}
.contact-list .contact-actions a span{display:inline;min-height:0;font:inherit;letter-spacing:inherit;color:inherit;gap:0}
.contact-list .contact-actions a{white-space:nowrap}@media(max-width:580px){.contact-list .contact-actions a{letter-spacing:.04em;gap:6px}}

/* Kontakti ispod RSVP obrasca (2026-10-13): dva stupca jedan pored drugog, i na mobitelu. */
.rsvp .contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line);justify-content:stretch;align-items:start}
.rsvp .contact-list:only-child{max-width:560px;margin:0 auto;border-top:0;padding-top:0}
.rsvp .contact-card{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;width:auto;text-align:center}
.rsvp .contact-card>b{font:500 28px/1.15 var(--bodoni)}
.rsvp .contact-list .contact-number{margin-bottom:6px}
.rsvp .contact-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px;width:100%;max-width:none}
.rsvp .contact-list .contact-actions a{justify-content:center;width:100%;background:var(--paper)}
.rsvp .contact-list .contact-actions a:hover{background:var(--ink);color:var(--paper)}
@media(max-width:580px){.rsvp .contact-list{gap:12px}.rsvp .contact-card>b{font-size:24px}.rsvp .contact-list .contact-number{font-size:14px;letter-spacing:.03em}.rsvp .contact-list .contact-actions a{font-size:12px;letter-spacing:.03em;padding:8px 6px;gap:6px}.rsvp .contact-actions svg{width:16px;height:16px;flex-basis:16px}}
